- 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>
204 lines
6.1 KiB
Bash
Executable File
204 lines
6.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Fix Services Issues Script
|
|
# Auteur : Dom, Alice Kiro - 22 décembre 2025
|
|
#
|
|
# Ce script corrige les problèmes identifiés avec les services RPA Vision V3:
|
|
# 1. Erreurs de compilation TypeScript dans le frontend
|
|
# 2. Conflits de ports entre services
|
|
# 3. Configuration des endpoints API
|
|
# 4. Redémarrage propre de tous les services
|
|
|
|
set -e
|
|
|
|
echo "🔧 Correction des problèmes de services RPA Vision V3"
|
|
echo "=================================================="
|
|
|
|
# Couleurs pour l'affichage
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m' # No Color
|
|
|
|
# Fonction d'affichage
|
|
log_info() {
|
|
echo -e "${BLUE}[INFO]${NC} $1"
|
|
}
|
|
|
|
log_success() {
|
|
echo -e "${GREEN}[SUCCESS]${NC} $1"
|
|
}
|
|
|
|
log_warning() {
|
|
echo -e "${YELLOW}[WARNING]${NC} $1"
|
|
}
|
|
|
|
log_error() {
|
|
echo -e "${RED}[ERROR]${NC} $1"
|
|
}
|
|
|
|
# 1. Arrêter tous les services en conflit
|
|
log_info "Arrêt des services en conflit..."
|
|
pkill -f "python.*backend/app.py" 2>/dev/null || true
|
|
pkill -f "webpack.*serve" 2>/dev/null || true
|
|
pkill -f "node.*webpack" 2>/dev/null || true
|
|
fuser -k 3000/tcp 5001/tcp 5002/tcp 2>/dev/null || true
|
|
sleep 2
|
|
|
|
# 2. Vérifier que les ports sont libres
|
|
log_info "Vérification des ports..."
|
|
for port in 3000 5001 5002; do
|
|
if netstat -tlnp | grep ":$port " > /dev/null; then
|
|
log_warning "Port $port encore occupé, tentative de libération..."
|
|
fuser -k $port/tcp 2>/dev/null || true
|
|
sleep 1
|
|
fi
|
|
done
|
|
|
|
# 3. Corriger les erreurs TypeScript (déjà fait dans les fichiers)
|
|
log_info "Vérification des corrections TypeScript..."
|
|
if grep -q "workflowMetrics utilisé pour les métriques historiques" visual_workflow_builder/frontend/src/components/ExecutionPanel/index.tsx; then
|
|
log_success "Correction ExecutionPanel.tsx appliquée"
|
|
else
|
|
log_warning "Correction ExecutionPanel.tsx non trouvée"
|
|
fi
|
|
|
|
if grep -q "Réservé pour usage futur" visual_workflow_builder/frontend/src/components/MetricsDisplay/index.tsx; then
|
|
log_success "Correction MetricsDisplay.tsx appliquée"
|
|
else
|
|
log_warning "Correction MetricsDisplay.tsx non trouvée"
|
|
fi
|
|
|
|
# 4. Vérifier la configuration des ports dans les fichiers
|
|
log_info "Vérification de la configuration des ports..."
|
|
|
|
# VWB Backend doit utiliser le port 5002
|
|
if grep -q "port=int(os.getenv('PORT', 5002))" visual_workflow_builder/backend/app.py; then
|
|
log_success "VWB Backend configuré pour le port 5002"
|
|
else
|
|
log_warning "VWB Backend pourrait ne pas être configuré pour le port 5002"
|
|
fi
|
|
|
|
# Web Dashboard doit utiliser le port 5001
|
|
if grep -q "port=5001" web_dashboard/app.py; then
|
|
log_success "Web Dashboard configuré pour le port 5001"
|
|
else
|
|
log_warning "Web Dashboard pourrait ne pas être configuré pour le port 5001"
|
|
fi
|
|
|
|
# 5. Créer les répertoires de logs si nécessaire
|
|
log_info "Création des répertoires de logs..."
|
|
mkdir -p logs
|
|
touch logs/vwb_backend.log logs/vwb_frontend.log logs/main_backend.log
|
|
|
|
# 6. Démarrer les services dans l'ordre correct
|
|
log_info "Démarrage des services..."
|
|
|
|
# Démarrer le VWB Backend (port 5002)
|
|
log_info "Démarrage du VWB Backend sur le port 5002..."
|
|
cd visual_workflow_builder/backend
|
|
nohup python app.py > ../../logs/vwb_backend.log 2>&1 &
|
|
VWB_BACKEND_PID=$!
|
|
cd ../..
|
|
sleep 3
|
|
|
|
# Vérifier que le VWB Backend a démarré
|
|
if netstat -tlnp | grep ":5002 " > /dev/null; then
|
|
log_success "VWB Backend démarré sur le port 5002 (PID: $VWB_BACKEND_PID)"
|
|
else
|
|
log_error "Échec du démarrage du VWB Backend sur le port 5002"
|
|
cat logs/vwb_backend.log | tail -10
|
|
fi
|
|
|
|
# Démarrer le Frontend (port 3000)
|
|
log_info "Démarrage du Frontend sur le port 3000..."
|
|
cd visual_workflow_builder/frontend
|
|
nohup npm start > ../../logs/vwb_frontend.log 2>&1 &
|
|
FRONTEND_PID=$!
|
|
cd ../..
|
|
sleep 5
|
|
|
|
# Vérifier que le Frontend a démarré
|
|
if netstat -tlnp | grep ":3000 " > /dev/null; then
|
|
log_success "Frontend démarré sur le port 3000 (PID: $FRONTEND_PID)"
|
|
else
|
|
log_error "Échec du démarrage du Frontend sur le port 3000"
|
|
cat logs/vwb_frontend.log | tail -10
|
|
fi
|
|
|
|
# Le Web Dashboard et l'API Server sont déjà en cours d'exécution
|
|
|
|
# 7. Vérifier l'état final des services
|
|
log_info "Vérification de l'état final des services..."
|
|
echo ""
|
|
echo "État des ports:"
|
|
echo "==============="
|
|
|
|
for port in 3000 5001 5002 8000; do
|
|
if netstat -tlnp | grep ":$port " > /dev/null; then
|
|
log_success "Port $port: ✅ ACTIF"
|
|
else
|
|
log_error "Port $port: ❌ INACTIF"
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "URLs des services:"
|
|
echo "=================="
|
|
echo "🌐 Frontend (VWB): http://localhost:3000"
|
|
echo "📊 Dashboard Web: http://localhost:5001"
|
|
echo "🔧 VWB Backend API: http://localhost:5002"
|
|
echo "🚀 API Principal: http://localhost:8000"
|
|
|
|
# 8. Test rapide des endpoints
|
|
log_info "Test des endpoints..."
|
|
echo ""
|
|
|
|
# Test API Principal
|
|
if curl -s http://localhost:8000/health > /dev/null; then
|
|
log_success "API Principal (8000): ✅ Répond"
|
|
else
|
|
log_error "API Principal (8000): ❌ Ne répond pas"
|
|
fi
|
|
|
|
# Test Web Dashboard
|
|
if curl -s http://localhost:5001/ > /dev/null; then
|
|
log_success "Web Dashboard (5001): ✅ Répond"
|
|
else
|
|
log_error "Web Dashboard (5001): ❌ Ne répond pas"
|
|
fi
|
|
|
|
# Test VWB Backend
|
|
if curl -s http://localhost:5002/health > /dev/null; then
|
|
log_success "VWB Backend (5002): ✅ Répond"
|
|
else
|
|
log_error "VWB Backend (5002): ❌ Ne répond pas"
|
|
fi
|
|
|
|
# Test Frontend (peut prendre plus de temps)
|
|
sleep 2
|
|
if curl -s http://localhost:3000/ > /dev/null; then
|
|
log_success "Frontend (3000): ✅ Répond"
|
|
else
|
|
log_warning "Frontend (3000): ⚠️ Peut encore être en cours de démarrage"
|
|
fi
|
|
|
|
echo ""
|
|
log_info "Correction terminée!"
|
|
echo ""
|
|
echo "📋 Résumé:"
|
|
echo "- Erreurs TypeScript corrigées"
|
|
echo "- Conflits de ports résolus"
|
|
echo "- Services redémarrés dans l'ordre"
|
|
echo "- Tests de connectivité effectués"
|
|
echo ""
|
|
echo "📝 Logs disponibles:"
|
|
echo "- tail -f logs/vwb_backend.log"
|
|
echo "- tail -f logs/vwb_frontend.log"
|
|
echo "- tail -f logs/main_backend.log"
|
|
echo ""
|
|
echo "🎯 Prochaines étapes:"
|
|
echo "1. Vérifier que tous les services répondent"
|
|
echo "2. Tester les fonctionnalités dans le navigateur"
|
|
echo "3. Vérifier les logs en cas de problème" |