4NK_IA_back/Makefile
root 5d8ad901d1 Initial commit: Pipeline notarial complet
- Infrastructure complète de traitement de documents notariaux
- API FastAPI d'ingestion et d'orchestration
- Pipelines Celery pour le traitement asynchrone
- Support des formats PDF, JPEG, PNG, TIFF, HEIC
- OCR avec Tesseract et correction lexicale
- Classification automatique des documents avec Ollama
- Extraction de données structurées
- Indexation dans AnythingLLM et OpenSearch
- Système de vérifications et contrôles métier
- Base de données PostgreSQL pour le métier
- Stockage objet avec MinIO
- Base de données graphe Neo4j
- Recherche plein-texte avec OpenSearch
- Supervision avec Prometheus et Grafana
- Scripts d'installation pour Debian
- Documentation complète
- Tests unitaires et de performance
- Service systemd pour le déploiement
- Scripts de déploiement automatisés
2025-09-08 22:05:22 +02:00

70 lines
2.2 KiB
Makefile

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"