Files
rpa_vision_v3/visual_workflow_builder/start_simple.py
Dom a27b74cf22 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>
2026-01-29 11:23:51 +01:00

129 lines
4.1 KiB
Python
Executable File

#!/usr/bin/env python3
"""
Script de démarrage simple pour Visual Workflow Builder
Auteur : Dom, Alice, Kiro - 8 janvier 2026
"""
import os
import sys
import subprocess
import time
import requests
from pathlib import Path
def verifier_environnement():
"""Vérifie que l'environnement virtuel est activé"""
print("🔍 Vérification de l'environnement...")
# Vérifier Python
python_path = sys.executable
print(f"Python utilisé : {python_path}")
if "venv_v3" not in python_path:
print("⚠️ ATTENTION : Environnement virtuel venv_v3 non détecté")
return False
# Vérifier les dépendances critiques
try:
import flask
import mss
print(f"✅ Flask : {flask.__version__}")
print("✅ MSS : Disponible")
return True
except ImportError as e:
print(f"❌ Dépendance manquante : {e}")
return False
def tester_backend():
"""Teste la connectivité du backend"""
print("\n🔍 Test du backend...")
try:
response = requests.get("http://localhost:5003/api/real-demo/capture/status", timeout=5)
if response.status_code == 200:
print("✅ Backend accessible sur le port 5003")
data = response.json()
print(f" - Moniteurs détectés : {data['status']['monitors_count']}")
print(f" - Capture active : {data['status']['is_capturing']}")
return True
else:
print(f"❌ Backend répond avec le code : {response.status_code}")
return False
except requests.exceptions.RequestException as e:
print(f"❌ Backend inaccessible : {e}")
return False
def tester_frontend():
"""Teste la connectivité du frontend"""
print("\n🔍 Test du frontend...")
try:
response = requests.get("http://localhost:3000", timeout=5)
if response.status_code == 200:
print("✅ Frontend accessible sur le port 3000")
return True
else:
print(f"❌ Frontend répond avec le code : {response.status_code}")
return False
except requests.exceptions.RequestException as e:
print(f"❌ Frontend inaccessible : {e}")
return False
def demarrer_services():
"""Démarre les services si nécessaire"""
print("\n🚀 Démarrage des services...")
# Changer vers le répertoire du projet
os.chdir(Path(__file__).parent)
# Démarrer le backend si nécessaire
if not tester_backend():
print("Démarrage du backend...")
backend_cmd = [sys.executable, "backend/app.py"]
subprocess.Popen(backend_cmd, env={**os.environ, "PORT": "5003"})
time.sleep(3)
# Démarrer le frontend si nécessaire
if not tester_frontend():
print("Démarrage du frontend...")
frontend_cmd = ["npm", "start"]
subprocess.Popen(frontend_cmd, cwd="frontend")
time.sleep(5)
def main():
"""Fonction principale"""
print("🎯 Visual Workflow Builder - Diagnostic et Démarrage")
print("=" * 50)
# Vérifications
if not verifier_environnement():
print("\n❌ Environnement non conforme")
sys.exit(1)
# Tests de connectivité
backend_ok = tester_backend()
frontend_ok = tester_frontend()
if backend_ok and frontend_ok:
print("\n✅ Tous les services sont opérationnels !")
print("\n🌐 Accès utilisateur :")
print(" Frontend : http://localhost:3000")
print(" Backend : http://localhost:5003")
print("\n📋 Navigation :")
print(" 1. Ouvrir http://localhost:3000")
print(" 2. Naviguer vers 'Démonstration Réelle'")
print(" 3. Sélectionner 'Capture d'Écran Réelle'")
else:
print("\n⚠️ Certains services ne répondent pas")
demarrer_services()
# Re-test après démarrage
time.sleep(5)
if tester_backend() and tester_frontend():
print("\n✅ Services démarrés avec succès !")
else:
print("\n❌ Échec du démarrage des services")
sys.exit(1)
if __name__ == "__main__":
main()