v1.0 - Version stable: multi-PC, détection UI-DETR-1, 3 modes exécution

- Frontend v4 accessible sur réseau local (192.168.1.40)
- Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard)
- Ollama GPU fonctionnel
- Self-healing interactif
- Dashboard confiance

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Dom
2026-01-29 11:23:51 +01:00
parent 21bfa3b337
commit a27b74cf22
1595 changed files with 412691 additions and 400 deletions

76
stop_dev_server.py Normal file
View File

@@ -0,0 +1,76 @@
#!/usr/bin/env python3
"""
Arrête le serveur de développement.
"""
import os
import json
import signal
from pathlib import Path
def stop_dev_server():
"""Arrête le serveur de développement"""
print("🛑 === ARRÊT SERVEUR DÉVELOPPEMENT ===")
info_file = Path("dev_server_info.json")
if not info_file.exists():
print("❌ Fichier dev_server_info.json non trouvé")
print(" Le serveur n'est peut-être pas démarré ou a été arrêté manuellement")
return False
try:
with open(info_file, 'r') as f:
info = json.load(f)
pid = info.get("pid")
port = info.get("port")
temp_script = info.get("temp_script")
print(f"📋 Informations serveur:")
print(f" PID: {pid}")
print(f" Port: {port}")
print(f" Démarré: {info.get('started_at', 'N/A')}")
# Arrêter le processus
if pid:
try:
os.kill(pid, signal.SIGTERM)
print(f"✅ Processus {pid} arrêté")
except ProcessLookupError:
print(f"⚠️ Processus {pid} déjà arrêté")
except PermissionError:
print(f"❌ Permission refusée pour arrêter le processus {pid}")
return False
# Nettoyer le script temporaire
if temp_script:
temp_path = Path(temp_script)
if temp_path.exists():
try:
temp_path.unlink()
print(f"✅ Script temporaire supprimé: {temp_script}")
except Exception as e:
print(f"⚠️ Erreur suppression script temporaire: {e}")
# Supprimer le fichier d'informations
info_file.unlink()
print("✅ Fichier d'informations supprimé")
print("\\n🎉 Serveur de développement arrêté avec succès")
return True
except Exception as e:
print(f"❌ Erreur lecture fichier d'informations: {e}")
return False
def main():
"""Arrêt du serveur"""
if not stop_dev_server():
print("❌ Échec de l'arrêt du serveur")
return False
return True
if __name__ == "__main__":
success = main()
exit(0 if success else 1)