SHELL := /bin/bash ENV ?= infra/.env # Charger les variables d'environnement include $(ENV) export .PHONY: help up down bootstrap logs ps seed-anythingllm clean restart help: ## Afficher l'aide @echo "Commandes disponibles :" @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}' up: ## Démarrer tous les services cd infra && docker compose up -d down: ## Arrêter tous les services cd infra && docker compose down bootstrap: ## Initialiser l'infrastructure bash ops/bootstrap.sh logs: ## Afficher les logs cd infra && docker compose logs -f --tail=200 ps: ## Afficher le statut des services cd infra && docker compose ps seed-anythingllm: ## Créer les workspaces AnythingLLM @echo "Création des workspaces AnythingLLM..." curl -s -X POST "$(ANYLLM_BASE_URL)/api/workspaces" \ -H "Authorization: Bearer $(ANYLLM_API_KEY)" \ -H "Content-Type: application/json" \ -d '{"name":"$(ANYLLM_WORKSPACE_NORMES)"}' || true; \ curl -s -X POST "$(ANYLLM_BASE_URL)/api/workspaces" \ -H "Authorization: Bearer $(ANYLLM_API_KEY)" \ -H "Content-Type: application/json" \ -d '{"name":"$(ANYLLM_WORKSPACE_TRAMES)"}' || true; \ curl -s -X POST "$(ANYLLM_BASE_URL)/api/workspaces" \ -H "Authorization: Bearer $(ANYLLM_API_KEY)" \ -H "Content-Type: application/json" \ -d '{"name":"$(ANYLLM_WORKSPACE_ACTES)"}' || true clean: ## Nettoyer les volumes et images cd infra && docker compose down -v docker system prune -f restart: ## Redémarrer tous les services cd infra && docker compose restart build: ## Reconstruire les images cd infra && docker compose build --no-cache test-api: ## Tester l'API curl -F "file=@tests/data/sample.pdf" \ -F "id_dossier=D-2025-001" \ -F "source=upload" \ -F "etude_id=E-001" \ -F "utilisateur_id=U-123" \ http://localhost:8000/api/import status: ## Vérifier le statut de tous les services @echo "=== Statut des services ===" @make ps @echo "" @echo "=== Test de connectivité ===" @curl -s http://localhost:8000/api/health || echo "API non accessible" @curl -s http://localhost:3001/api/health || echo "AnythingLLM non accessible" @curl -s http://localhost:3000/api/health || echo "Grafana non accessible"