#!/bin/bash # Script de déploiement - Dashboard Fix Phase 1 # Corrections : chemins screenshots + route API screen_states set -e echo "==========================================" echo "DASHBOARD FIX - PHASE 1" echo "==========================================" echo "" # Couleurs GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' # No Color DEV_FILE="/home/dom/ai/rpa_vision_v3/web_dashboard_app.py" PROD_FILE="/opt/rpa_vision_v3/web_dashboard/app.py" BACKUP_DIR="/opt/rpa_vision_v3/web_dashboard" echo -e "${YELLOW}Modifications appliquées :${NC}" echo " 1. Fix chemin screenshots : session_dir/{session_id}/shots/*.png" echo " 2. Ajout route /api/screen_states (liste les 236 screen_states)" echo " 3. Ajout route /api/screen_states/ (détails par session)" echo "" # Vérifier que le fichier dev existe if [ ! -f "$DEV_FILE" ]; then echo -e "${RED}❌ Fichier dev non trouvé: $DEV_FILE${NC}" exit 1 fi echo -e "${YELLOW}Étape 1/4 : Sauvegarde du fichier prod...${NC}" BACKUP_FILE="${BACKUP_DIR}/app.py.backup_phase1_$(date +%Y%m%d_%H%M%S)" sudo cp "$PROD_FILE" "$BACKUP_FILE" echo -e "${GREEN}✓ Sauvegarde créée : $BACKUP_FILE${NC}" echo "" echo -e "${YELLOW}Étape 2/4 : Déploiement du fichier modifié...${NC}" sudo cp "$DEV_FILE" "$PROD_FILE" sudo chown rpa:rpa "$PROD_FILE" sudo chmod 644 "$PROD_FILE" echo -e "${GREEN}✓ Fichier déployé${NC}" echo "" echo -e "${YELLOW}Étape 3/4 : Redémarrage du service dashboard...${NC}" sudo systemctl restart rpa-vision-v3-dashboard.service sleep 2 echo -e "${GREEN}✓ Service redémarré${NC}" echo "" echo -e "${YELLOW}Étape 4/4 : Vérification du service...${NC}" if sudo systemctl is-active --quiet rpa-vision-v3-dashboard.service; then echo -e "${GREEN}✓ Service actif${NC}" else echo -e "${RED}❌ Service non actif !${NC}" echo "" echo "Logs d'erreur :" sudo journalctl -u rpa-vision-v3-dashboard -n 20 --no-pager exit 1 fi echo "" echo "==========================================" echo -e "${GREEN}DÉPLOIEMENT RÉUSSI !${NC}" echo "==========================================" echo "" echo "Tests à effectuer :" echo " 1. curl http://localhost:5001/api/screen_states | python3 -m json.tool | head -50" echo " 2. curl http://localhost:5001/api/agent/sessions | python3 -m json.tool | head -50" echo " 3. Ouvrir http://localhost:5001 dans le navigateur" echo "" echo "Attendu :" echo " - Screenshots count > 0 pour les sessions non nettoyées" echo " - /api/screen_states retourne 236 screen_states" echo " - Aucune erreur dans les anciennes routes" echo ""