4NK_IA_back/stop_notary_system.sh
ncantu 447357d41a feat: Implémentation complète du système notarial 4NK avec IA
- 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.
2025-09-09 03:48:56 +02:00

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 "$@"