- 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>
116 lines
4.1 KiB
Bash
Executable File
116 lines
4.1 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Script de vérification du port pour le dashboard RPA Vision V3
|
|
# Vérifie si le port 5001 est disponible et propose des alternatives
|
|
#
|
|
|
|
set -e
|
|
|
|
# Couleurs
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
RED='\033[0;31m'
|
|
NC='\033[0m'
|
|
|
|
echo "╔══════════════════════════════════════════════════════════════╗"
|
|
echo "║ VÉRIFICATION DES PORTS - DASHBOARD RPA VISION V3 ║"
|
|
echo "╚══════════════════════════════════════════════════════════════╝"
|
|
echo ""
|
|
|
|
# Port par défaut
|
|
DEFAULT_PORT=5001
|
|
|
|
# Fonction pour vérifier si un port est utilisé
|
|
check_port() {
|
|
local port=$1
|
|
if ss -tuln | grep -q ":${port} "; then
|
|
return 1 # Port occupé
|
|
else
|
|
return 0 # Port libre
|
|
fi
|
|
}
|
|
|
|
# Fonction pour trouver le processus utilisant un port
|
|
get_process_on_port() {
|
|
local port=$1
|
|
lsof -i :${port} 2>/dev/null | grep LISTEN | awk '{print $2}' | head -1
|
|
}
|
|
|
|
# Vérifier le port par défaut (5001)
|
|
echo -e "${YELLOW}[1/3]${NC} Vérification du port ${DEFAULT_PORT}..."
|
|
if check_port ${DEFAULT_PORT}; then
|
|
echo -e "${GREEN}✓${NC} Port ${DEFAULT_PORT} disponible"
|
|
PORT_STATUS="available"
|
|
else
|
|
echo -e "${RED}✗${NC} Port ${DEFAULT_PORT} occupé"
|
|
PID=$(get_process_on_port ${DEFAULT_PORT})
|
|
if [ -n "$PID" ]; then
|
|
PROCESS=$(ps -p $PID -o comm= 2>/dev/null || echo "inconnu")
|
|
echo -e " Processus: ${PROCESS} (PID: ${PID})"
|
|
echo -e " Commande: ${YELLOW}kill ${PID}${NC} pour libérer le port"
|
|
fi
|
|
PORT_STATUS="occupied"
|
|
fi
|
|
|
|
# Vérifier les ports alternatifs
|
|
echo ""
|
|
echo -e "${YELLOW}[2/3]${NC} Vérification des ports alternatifs..."
|
|
|
|
ALTERNATIVE_PORTS=(5000 3000 8000 8080 8888 9000)
|
|
AVAILABLE_PORTS=()
|
|
|
|
for port in "${ALTERNATIVE_PORTS[@]}"; do
|
|
if check_port $port; then
|
|
echo -e "${GREEN}✓${NC} Port ${port} disponible"
|
|
AVAILABLE_PORTS+=($port)
|
|
else
|
|
echo -e "${RED}✗${NC} Port ${port} occupé"
|
|
fi
|
|
done
|
|
|
|
# Résumé et recommandations
|
|
echo ""
|
|
echo -e "${YELLOW}[3/3]${NC} Résumé et recommandations..."
|
|
echo ""
|
|
|
|
if [ "$PORT_STATUS" = "available" ]; then
|
|
echo -e "${GREEN}✅ PRÊT${NC} - Le port par défaut (${DEFAULT_PORT}) est disponible"
|
|
echo ""
|
|
echo "Lancement du dashboard:"
|
|
echo -e " ${GREEN}cd rpa_vision_v3${NC}"
|
|
echo -e " ${GREEN}./run.sh --dashboard${NC}"
|
|
echo ""
|
|
echo "Accès: http://localhost:${DEFAULT_PORT}"
|
|
else
|
|
echo -e "${YELLOW}⚠️ ATTENTION${NC} - Le port ${DEFAULT_PORT} est occupé"
|
|
echo ""
|
|
|
|
if [ ${#AVAILABLE_PORTS[@]} -gt 0 ]; then
|
|
echo "Ports alternatifs disponibles:"
|
|
for port in "${AVAILABLE_PORTS[@]}"; do
|
|
echo -e " • Port ${port}: ${GREEN}disponible${NC}"
|
|
done
|
|
echo ""
|
|
echo "Pour utiliser un port alternatif:"
|
|
echo -e " ${YELLOW}export FLASK_PORT=${AVAILABLE_PORTS[0]}${NC}"
|
|
echo -e " ${YELLOW}cd rpa_vision_v3${NC}"
|
|
echo -e " ${YELLOW}./run.sh --dashboard${NC}"
|
|
echo ""
|
|
echo "Ou modifier web_dashboard/app.py ligne 165:"
|
|
echo -e " ${YELLOW}app.run(debug=True, host='0.0.0.0', port=${AVAILABLE_PORTS[0]})${NC}"
|
|
else
|
|
echo -e "${RED}❌ PROBLÈME${NC} - Aucun port web standard n'est disponible"
|
|
echo ""
|
|
echo "Actions recommandées:"
|
|
echo " 1. Arrêter les serveurs web inutilisés"
|
|
echo " 2. Vérifier les processus: ps aux | grep python"
|
|
echo " 3. Libérer le port 5001: kill \$(lsof -t -i:5001)"
|
|
fi
|
|
fi
|
|
|
|
echo ""
|
|
echo "╔══════════════════════════════════════════════════════════════╗"
|
|
echo "║ VÉRIFICATION TERMINÉE ║"
|
|
echo "╚══════════════════════════════════════════════════════════════╝"
|
|
|