#!/bin/bash """ Script de Démarrage VWB - Palette d'Outils Corrigée Auteur : Dom, Alice, Kiro - 10 janvier 2026 Ce script démarre le Visual Workflow Builder avec la palette d'outils complètement fonctionnelle, incluant les 3 actions VisionOnly RPA. RÉSOLUTION APPLIQUÉE: - Backend VWB sur le port 5005 avec Flask et routes catalogue - Frontend React avec service catalogue corrigé - 3 actions VisionOnly disponibles dans la palette """ set -e # Arrêter en cas d'erreur echo "============================================================" echo " DÉMARRAGE VWB - PALETTE D'OUTILS CORRIGÉE" echo "============================================================" echo "Auteur : Dom, Alice, Kiro - 10 janvier 2026" 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 # Fonction pour afficher les messages colorés print_info() { echo -e "${BLUE}ℹ️ $1${NC}" } print_success() { echo -e "${GREEN}✅ $1${NC}" } print_warning() { echo -e "${YELLOW}⚠️ $1${NC}" } print_error() { echo -e "${RED}❌ $1${NC}" } # Vérifier que nous sommes dans le bon répertoire if [ ! -f "visual_workflow_builder/backend/app_lightweight.py" ]; then print_error "Script doit être exécuté depuis le répertoire racine rpa_vision_v3" exit 1 fi print_info "Vérification de l'environnement..." # Vérifier l'environnement virtuel if [ ! -d "venv_v3" ]; then print_error "Environnement virtuel venv_v3 non trouvé" print_info "Créez l'environnement avec: python3 -m venv venv_v3" exit 1 fi print_success "Environnement virtuel trouvé" # Activer l'environnement virtuel print_info "Activation de l'environnement virtuel..." source venv_v3/bin/activate # Vérifier Flask print_info "Vérification des dépendances..." if ! python3 -c "import flask, flask_cors" 2>/dev/null; then print_warning "Installation des dépendances Flask..." pip install flask flask-cors fi print_success "Dépendances Flask disponibles" # Vérifier si le port 5005 est libre print_info "Vérification du port 5005..." if lsof -Pi :5005 -sTCP:LISTEN -t >/dev/null 2>&1; then print_warning "Port 5005 déjà utilisé - tentative d'arrêt du processus..." pkill -f "app_lightweight.py" || true sleep 2 fi # Démarrer le backend VWB print_info "Démarrage du backend VWB sur le port 5005..." echo "" echo "🚀 Backend VWB - Catalogue d'Actions VisionOnly" echo " URL: http://localhost:5005" echo " API Catalogue: http://localhost:5005/api/vwb/catalog/actions" echo " Santé: http://localhost:5005/api/vwb/catalog/health" echo "" # Démarrer le backend en arrière-plan PORT=5005 python3 visual_workflow_builder/backend/app_lightweight.py & BACKEND_PID=$! # Attendre que le backend démarre print_info "Attente du démarrage du backend..." sleep 3 # Vérifier que le backend est accessible for i in {1..10}; do if curl -s http://localhost:5005/health >/dev/null 2>&1; then print_success "Backend VWB démarré avec succès" break fi if [ $i -eq 10 ]; then print_error "Backend VWB n'a pas démarré dans les temps" kill $BACKEND_PID 2>/dev/null || true exit 1 fi sleep 1 done # Tester l'API catalogue print_info "Test de l'API catalogue..." CATALOG_RESPONSE=$(curl -s http://localhost:5005/api/vwb/catalog/actions) ACTION_COUNT=$(echo "$CATALOG_RESPONSE" | python3 -c "import sys, json; data=json.load(sys.stdin); print(len(data.get('actions', [])))" 2>/dev/null || echo "0") if [ "$ACTION_COUNT" -ge 3 ]; then print_success "API catalogue fonctionnelle - $ACTION_COUNT actions VisionOnly disponibles" echo "" echo "📋 Actions VisionOnly disponibles:" echo "$CATALOG_RESPONSE" | python3 -c " import sys, json try: data = json.load(sys.stdin) for action in data.get('actions', []): print(f' - {action[\"id\"]}: {action[\"name\"]} ({action[\"category\"]})') except: pass " 2>/dev/null || echo " (Détails non disponibles)" else print_warning "API catalogue accessible mais nombre d'actions insuffisant: $ACTION_COUNT" fi echo "" print_success "BACKEND VWB PRÊT" echo "" echo "🎯 RÉSOLUTION APPLIQUÉE:" echo " ✅ Backend VWB démarré sur le port 5005" echo " ✅ Routes du catalogue VWB enregistrées" echo " ✅ Service catalogService.ts corrigé (port 5005)" echo " ✅ 3 actions VisionOnly RPA disponibles" echo "" echo "📱 PALETTE D'OUTILS VWB:" echo " La palette devrait maintenant afficher:" echo " 📂 Actions Web (par défaut) - 2 actions" echo " 📂 Vision UI (VisionOnly) - 2 actions" echo " 📂 Contrôle Vision (VisionOnly) - 1 action" echo " 📂 Logique (par défaut) - 1 action" echo " 📂 Données (par défaut) - 1 action" echo " 📂 Contrôle (par défaut) - 1 action" echo "" # Instructions pour le frontend print_info "INSTRUCTIONS FRONTEND:" echo "" echo "1. Ouvrir un nouveau terminal" echo "2. Naviguer vers: visual_workflow_builder/frontend/" echo "3. Installer les dépendances: npm install" echo "4. Démarrer le frontend: npm start" echo "5. Ouvrir: http://localhost:3000" echo "" echo "La palette d'outils devrait maintenant afficher toutes les actions VisionOnly !" echo "" # Fonction de nettoyage cleanup() { print_info "Arrêt du backend VWB..." kill $BACKEND_PID 2>/dev/null || true print_success "Backend arrêté" } # Capturer Ctrl+C pour nettoyer trap cleanup EXIT INT TERM print_info "Backend VWB en cours d'exécution (PID: $BACKEND_PID)" print_info "Appuyez sur Ctrl+C pour arrêter" # Attendre que l'utilisateur arrête le script wait $BACKEND_PID