
- API FastAPI complète pour le traitement de documents notariaux - Pipeline OCR avec correction lexicale notariale - Classification automatique des documents (règles + LLM) - Extraction d'entités (identités, adresses, biens, montants) - Intégration de 6 APIs externes (Cadastre, Géorisques, BODACC, etc.) - Système de vérification et score de vraisemblance - Analyse contextuelle via LLM (Ollama) - Interface web moderne avec drag & drop - Tests complets et documentation exhaustive - Scripts de déploiement automatisés Types de documents supportés: - Acte de vente, donation, succession - CNI avec détection du pays - Contrats divers Fonctionnalités: - Upload et traitement asynchrone - Vérifications externes automatiques - Score de vraisemblance (0-1) - Recommandations personnalisées - Tableaux de bord et statistiques Prêt pour la production avec démarrage en une commande.
161 lines
3.6 KiB
Bash
Executable File
161 lines
3.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "🛑 Arrêt du Système Notarial 4NK"
|
|
echo "================================="
|
|
echo
|
|
|
|
# Couleurs pour les messages
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
print_status() {
|
|
echo -e "${BLUE}[INFO]${NC} $1"
|
|
}
|
|
|
|
print_success() {
|
|
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
|
}
|
|
|
|
print_warning() {
|
|
echo -e "${YELLOW}[WARNING]${NC} $1"
|
|
}
|
|
|
|
print_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# Arrêt de l'API
|
|
stop_api() {
|
|
print_status "Arrêt de l'API Notariale..."
|
|
|
|
if [ -f "logs/api.pid" ]; then
|
|
API_PID=$(cat logs/api.pid)
|
|
if kill -0 $API_PID 2>/dev/null; then
|
|
kill $API_PID
|
|
print_success "API arrêtée (PID: $API_PID)"
|
|
else
|
|
print_warning "API déjà arrêtée"
|
|
fi
|
|
rm -f logs/api.pid
|
|
else
|
|
print_warning "Fichier PID de l'API non trouvé"
|
|
fi
|
|
}
|
|
|
|
# Arrêt de l'interface web
|
|
stop_web_interface() {
|
|
print_status "Arrêt de l'interface web..."
|
|
|
|
if [ -f "logs/web.pid" ]; then
|
|
WEB_PID=$(cat logs/web.pid)
|
|
if kill -0 $WEB_PID 2>/dev/null; then
|
|
kill $WEB_PID
|
|
print_success "Interface web arrêtée (PID: $WEB_PID)"
|
|
else
|
|
print_warning "Interface web déjà arrêtée"
|
|
fi
|
|
rm -f logs/web.pid
|
|
else
|
|
print_warning "Fichier PID de l'interface web non trouvé"
|
|
fi
|
|
}
|
|
|
|
# Arrêt des services Docker
|
|
stop_docker_services() {
|
|
print_status "Arrêt des services Docker..."
|
|
|
|
cd infra
|
|
|
|
# Arrêt des services
|
|
docker-compose down
|
|
|
|
print_success "Services Docker arrêtés"
|
|
|
|
cd ..
|
|
}
|
|
|
|
# Nettoyage des processus orphelins
|
|
cleanup_orphaned_processes() {
|
|
print_status "Nettoyage des processus orphelins..."
|
|
|
|
# Recherche et arrêt des processus uvicorn
|
|
UVICORN_PIDS=$(pgrep -f "uvicorn.*app:app")
|
|
if [ ! -z "$UVICORN_PIDS" ]; then
|
|
echo $UVICORN_PIDS | xargs kill
|
|
print_success "Processus uvicorn orphelins arrêtés"
|
|
fi
|
|
|
|
# Recherche et arrêt des processus Python de l'interface web
|
|
WEB_PIDS=$(pgrep -f "start_web.py")
|
|
if [ ! -z "$WEB_PIDS" ]; then
|
|
echo $WEB_PIDS | xargs kill
|
|
print_success "Processus interface web orphelins arrêtés"
|
|
fi
|
|
}
|
|
|
|
# Affichage du statut final
|
|
show_final_status() {
|
|
echo
|
|
echo "✅ Système Notarial 4NK arrêté"
|
|
echo "==============================="
|
|
echo
|
|
echo "📊 Statut des services:"
|
|
|
|
# Vérification de l'API
|
|
if curl -s http://localhost:8000/api/health &> /dev/null; then
|
|
echo " • API: ${RED}Encore actif${NC}"
|
|
else
|
|
echo " • API: ${GREEN}Arrêté${NC}"
|
|
fi
|
|
|
|
# Vérification de l'interface web
|
|
if curl -s http://localhost:8080 &> /dev/null; then
|
|
echo " • Interface Web: ${RED}Encore actif${NC}"
|
|
else
|
|
echo " • Interface Web: ${GREEN}Arrêté${NC}"
|
|
fi
|
|
|
|
# Vérification des services Docker
|
|
cd infra
|
|
if docker-compose ps | grep -q "Up"; then
|
|
echo " • Services Docker: ${RED}Encore actifs${NC}"
|
|
else
|
|
echo " • Services Docker: ${GREEN}Arrêtés${NC}"
|
|
fi
|
|
cd ..
|
|
|
|
echo
|
|
echo "🔧 Pour redémarrer: ./start_notary_system.sh"
|
|
echo
|
|
}
|
|
|
|
# Fonction principale
|
|
main() {
|
|
echo "Arrêt du système à $(date)"
|
|
echo
|
|
|
|
# Arrêt de l'API
|
|
stop_api
|
|
|
|
# Arrêt de l'interface web
|
|
stop_web_interface
|
|
|
|
# Arrêt des services Docker
|
|
stop_docker_services
|
|
|
|
# Nettoyage des processus orphelins
|
|
cleanup_orphaned_processes
|
|
|
|
# Attente pour que les processus se terminent
|
|
sleep 2
|
|
|
|
# Affichage du statut final
|
|
show_final_status
|
|
}
|
|
|
|
# Exécution du script principal
|
|
main "$@"
|