Files
rpa_vision_v3/visual_workflow_builder/SCRIPTS_COMPLETE.md
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

6.6 KiB

Scripts de Gestion du Serveur - Complétés

Date

2 décembre 2024

Résumé

Création de scripts shell pour faciliter la gestion du serveur backend Flask du Visual Workflow Builder.

Scripts Créés

1. start.sh

Fonction: Démarre le serveur backend en arrière-plan

Fonctionnalités:

  • Vérifie si le serveur est déjà en cours d'exécution
  • Démarre le serveur sur le port 5001
  • Crée un fichier PID (.server.pid)
  • Redirige les logs vers server.log
  • Affiche les informations de démarrage
  • Vérifie que le démarrage a réussi

Utilisation:

cd visual_workflow_builder/backend
./start.sh

2. stop.sh

Fonction: Arrête le serveur backend proprement

Fonctionnalités:

  • Arrêt gracieux (SIGTERM)
  • Force l'arrêt si nécessaire (SIGKILL après 5 secondes)
  • Nettoie le fichier PID
  • Tue tous les processus sur le port 5001
  • Fonctionne même sans fichier PID

Utilisation:

cd visual_workflow_builder/backend
./stop.sh

3. status.sh

Fonction: Affiche l'état actuel du serveur

Fonctionnalités:

  • Vérifie si le processus est en cours d'exécution
  • Affiche les informations du processus (CPU, mémoire, durée)
  • Vérifie l'état du port 5001
  • Effectue un health check HTTP
  • Affiche les 10 dernières lignes du log

Utilisation:

cd visual_workflow_builder/backend
./status.sh

4. restart.sh

Fonction: Redémarre le serveur (stop + start)

Fonctionnalités:

  • Arrête le serveur proprement
  • Attend 2 secondes
  • Redémarre le serveur

Utilisation:

cd visual_workflow_builder/backend
./restart.sh

5. SCRIPTS_USAGE.md

Fonction: Documentation complète des scripts

Contenu:

  • Description détaillée de chaque script
  • Exemples d'utilisation
  • Guide de dépannage
  • Intégration avec les tests
  • Commandes rapides

Tests Effectués

Test 1: Démarrage du Serveur

./start.sh

Résultat: Serveur démarré avec succès (PID: 1236514)

Test 2: Vérification du Statut

./status.sh

Résultat: Affichage correct de toutes les informations

  • Status: RUNNING ✓
  • Process info: OK
  • Port 5001: IN USE
  • Health check: 200 OK ✓

Test 3: Arrêt du Serveur

./stop.sh

Résultat: Serveur arrêté gracieusement

Test 4: Vérification Après Arrêt

./status.sh

Résultat: Confirmation de l'arrêt

  • Status: NOT RUNNING
  • Port 5001: FREE
  • Health check: Server not responding

Test 5: Redémarrage

./restart.sh

Résultat: Serveur redémarré avec succès (nouveau PID: 1237497)

Fichiers Générés par les Scripts

.server.pid

  • Emplacement: visual_workflow_builder/backend/.server.pid
  • Contenu: PID du processus serveur
  • Gestion: Créé au démarrage, supprimé à l'arrêt

server.log

  • Emplacement: visual_workflow_builder/backend/server.log
  • Contenu: Tous les logs du serveur (stdout + stderr)
  • Gestion: Créé au premier démarrage, append aux démarrages suivants

Avantages

Pour le Développement

  1. Démarrage Rapide: Un seul script au lieu de commandes complexes
  2. Logs Centralisés: Tous les logs dans un seul fichier
  3. Gestion Facile: Scripts intuitifs et bien documentés
  4. Debugging Simplifié: Script status pour diagnostiquer rapidement

Pour les Tests

  1. Automatisation: Facile d'intégrer dans des scripts de test
  2. Fiabilité: Gestion propre du démarrage/arrêt
  3. Isolation: Chaque test peut démarrer/arrêter le serveur

Pour la Production

  1. Gestion de Processus: PID file pour monitoring
  2. Logs Persistants: Historique complet des événements
  3. Arrêt Gracieux: Pas de perte de données
  4. Health Checks: Vérification automatique de l'état

Exemples d'Utilisation

Développement Quotidien

# Matin - Démarrer le serveur
./start.sh

# Pendant la journée - Vérifier l'état
./status.sh

# Après modifications - Redémarrer
./restart.sh

# Soir - Arrêter le serveur
./stop.sh

Tests Automatisés

# Script de test complet
./start.sh
sleep 2
python test_api_manual.py
./stop.sh

Debugging

# Démarrer et suivre les logs
./start.sh
tail -f server.log

# Dans un autre terminal
curl http://localhost:5001/api/workflows/

Monitoring

# Vérifier périodiquement
watch -n 5 './status.sh'

Intégration avec le Projet

Structure des Fichiers

visual_workflow_builder/backend/
├── start.sh              ✅ Script de démarrage
├── stop.sh               ✅ Script d'arrêt
├── status.sh             ✅ Script de statut
├── restart.sh            ✅ Script de redémarrage
├── SCRIPTS_USAGE.md      ✅ Documentation
├── .server.pid           (généré au runtime)
├── server.log            (généré au runtime)
├── app.py                (serveur Flask)
└── ...

Workflow de Développement

  1. Démarrage: ./start.sh
  2. Développement: Modifier le code
  3. Redémarrage: ./restart.sh
  4. Tests: python test_api_manual.py
  5. Arrêt: ./stop.sh

Compatibilité

Systèmes d'Exploitation

  • Linux (testé sur Ubuntu/Debian)
  • macOS (devrait fonctionner)
  • Windows (nécessite WSL ou Git Bash)

Dépendances

  • Bash shell
  • Python 3.x dans venv_v3
  • lsof (pour vérifier les ports)
  • curl (optionnel, pour health checks)
  • ps (pour vérifier les processus)

Améliorations Futures Possibles

Court Terme

  • Support de variables d'environnement pour le port
  • Rotation automatique des logs
  • Notifications de démarrage/arrêt

Moyen Terme

  • Support de plusieurs instances
  • Intégration avec systemd
  • Dashboard de monitoring

Long Terme

  • Support Docker
  • Déploiement automatisé
  • Clustering

Notes Techniques

Gestion des Processus

  • Utilisation de nohup pour détacher le processus
  • Fichier PID pour tracking
  • Signaux SIGTERM puis SIGKILL si nécessaire

Gestion des Ports

  • Vérification avec lsof
  • Nettoyage automatique des processus zombies
  • Support de plusieurs processus sur le même port

Logs

  • Redirection stdout et stderr vers fichier
  • Pas de rotation automatique (à faire manuellement)
  • Format standard Flask

Conclusion

Les scripts de gestion du serveur sont maintenant opérationnels et testés. Ils facilitent grandement le développement et les tests du Visual Workflow Builder en fournissant une interface simple et fiable pour gérer le serveur backend.

Prochaine étape: Continuer avec la Phase 2 du projet (Interface Canvas de Base).