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>
This commit is contained in:
271
visual_workflow_builder/SCRIPTS_COMPLETE.md
Normal file
271
visual_workflow_builder/SCRIPTS_COMPLETE.md
Normal file
@@ -0,0 +1,271 @@
|
||||
# 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**:
|
||||
```bash
|
||||
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**:
|
||||
```bash
|
||||
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**:
|
||||
```bash
|
||||
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**:
|
||||
```bash
|
||||
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
|
||||
```bash
|
||||
./start.sh
|
||||
```
|
||||
**Résultat**: ✅ Serveur démarré avec succès (PID: 1236514)
|
||||
|
||||
### Test 2: Vérification du Statut
|
||||
```bash
|
||||
./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
|
||||
```bash
|
||||
./stop.sh
|
||||
```
|
||||
**Résultat**: ✅ Serveur arrêté gracieusement
|
||||
|
||||
### Test 4: Vérification Après Arrêt
|
||||
```bash
|
||||
./status.sh
|
||||
```
|
||||
**Résultat**: ✅ Confirmation de l'arrêt
|
||||
- Status: NOT RUNNING
|
||||
- Port 5001: FREE
|
||||
- Health check: Server not responding
|
||||
|
||||
### Test 5: Redémarrage
|
||||
```bash
|
||||
./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
|
||||
```bash
|
||||
# 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
|
||||
```bash
|
||||
# Script de test complet
|
||||
./start.sh
|
||||
sleep 2
|
||||
python test_api_manual.py
|
||||
./stop.sh
|
||||
```
|
||||
|
||||
### Debugging
|
||||
```bash
|
||||
# Démarrer et suivre les logs
|
||||
./start.sh
|
||||
tail -f server.log
|
||||
|
||||
# Dans un autre terminal
|
||||
curl http://localhost:5001/api/workflows/
|
||||
```
|
||||
|
||||
### Monitoring
|
||||
```bash
|
||||
# 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).
|
||||
Reference in New Issue
Block a user