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:
Dom
2026-01-29 11:23:51 +01:00
parent 21bfa3b337
commit a27b74cf22
1595 changed files with 412691 additions and 400 deletions

View File

@@ -0,0 +1,328 @@
# Scripts de Gestion du Serveur Backend
Ce dossier contient des scripts shell pour faciliter la gestion du serveur backend Flask.
## Scripts Disponibles
### 🚀 start.sh
Démarre le serveur backend en arrière-plan.
```bash
./start.sh
```
**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 l'URL et les informations de démarrage
**Sortie:**
```
==========================================
Visual Workflow Builder - Backend Server
==========================================
Starting backend server...
- Port: 5001
- Log file: /path/to/server.log
- PID file: /path/to/.server.pid
✓ Server started successfully!
- PID: 12345
- URL: http://localhost:5001
- Health check: http://localhost:5001/health
To view logs: tail -f /path/to/server.log
To stop server: ./stop.sh
```
---
### 🛑 stop.sh
Arrête le serveur backend proprement.
```bash
./stop.sh
```
**Fonctionnalités:**
- Arrêt gracieux du serveur (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 si nécessaire
- Fonctionne même si le fichier PID n'existe pas
**Sortie:**
```
==========================================
Visual Workflow Builder - Stop Server
==========================================
Stopping server (PID: 12345)...
✓ Server stopped gracefully
```
---
### 📊 status.sh
Affiche l'état actuel du serveur.
```bash
./status.sh
```
**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
**Sortie:**
```
==========================================
Visual Workflow Builder - Server Status
==========================================
PID File: /path/to/.server.pid
PID: 12345
Status: RUNNING ✓
Process Information:
PID PPID USER %CPU %MEM ELAPSED COMMAND
12345 1234 user 0.5 1.2 00:05:23 python app.py
Port 5001 Status:
Port 5001: IN USE
Process(es) using port 5001:
python 12345 user 5u IPv4 0x... TCP *:5001 (LISTEN)
Health Check:
HTTP Response: 200 OK ✓
Server is responding correctly
Recent Log Entries (last 10 lines):
-----------------------------------
[log entries...]
```
---
### 🔄 restart.sh
Redémarre le serveur (stop + start).
```bash
./restart.sh
```
**Fonctionnalités:**
- Arrête le serveur proprement
- Attend 2 secondes
- Redémarre le serveur
---
## Fichiers Générés
### .server.pid
Fichier contenant le PID du processus serveur. Utilisé pour gérer le serveur.
**Emplacement:** `visual_workflow_builder/backend/.server.pid`
**Contenu:** Un seul nombre (le PID)
```
12345
```
### server.log
Fichier de log contenant toutes les sorties du serveur (stdout et stderr).
**Emplacement:** `visual_workflow_builder/backend/server.log`
**Utilisation:**
```bash
# Voir les logs en temps réel
tail -f server.log
# Voir les 50 dernières lignes
tail -n 50 server.log
# Rechercher des erreurs
grep -i error server.log
# Vider le fichier de log
> server.log
```
---
## Exemples d'Utilisation
### Démarrage Normal
```bash
# Démarrer le serveur
./start.sh
# Vérifier qu'il fonctionne
./status.sh
# Tester l'API
curl http://localhost:5001/health
```
### Développement avec Logs
```bash
# Démarrer le serveur
./start.sh
# Ouvrir un autre terminal et suivre les logs
tail -f server.log
# Faire des requêtes API et voir les logs en temps réel
curl -X POST http://localhost:5001/api/workflows/ \
-H "Content-Type: application/json" \
-d '{"name": "Test", "created_by": "user"}'
```
### Redémarrage Après Modifications
```bash
# Après avoir modifié le code
./restart.sh
# Ou manuellement
./stop.sh
./start.sh
```
### Debugging
```bash
# Vérifier l'état
./status.sh
# Si le serveur ne répond pas
./stop.sh
./start.sh
# Voir les erreurs récentes
tail -n 100 server.log | grep -i error
```
### Nettoyage Complet
```bash
# Arrêter le serveur
./stop.sh
# Supprimer les fichiers temporaires
rm -f .server.pid server.log
```
---
## Dépannage
### Le serveur ne démarre pas
```bash
# Vérifier si le port est déjà utilisé
lsof -i:5001
# Tuer le processus sur le port 5001
kill $(lsof -ti:5001)
# Réessayer
./start.sh
```
### Le serveur ne s'arrête pas
```bash
# Forcer l'arrêt
./stop.sh
# Si ça ne fonctionne pas, tuer manuellement
kill -9 $(cat .server.pid)
rm .server.pid
```
### Fichier PID obsolète
```bash
# Supprimer le fichier PID
rm .server.pid
# Vérifier l'état
./status.sh
# Redémarrer si nécessaire
./start.sh
```
### Logs trop volumineux
```bash
# Vider le fichier de log
> server.log
# Ou le supprimer
rm server.log
# Le fichier sera recréé au prochain démarrage
```
---
## Intégration avec les Tests
### Lancer les tests avec le serveur
```bash
# Démarrer le serveur
./start.sh
# Attendre qu'il soit prêt
sleep 2
# Lancer les tests
python test_api_manual.py
# Arrêter le serveur
./stop.sh
```
### Script de test complet
```bash
#!/bin/bash
./start.sh
sleep 2
python test_api_manual.py
TEST_RESULT=$?
./stop.sh
exit $TEST_RESULT
```
---
## Notes Importantes
1. **Environnement Virtuel**: Les scripts utilisent automatiquement `../../venv_v3`
2. **Port**: Le serveur écoute sur le port 5001 (configurable dans `app.py`)
3. **Logs**: Les logs sont écrits dans `server.log` (rotation manuelle nécessaire)
4. **PID**: Le fichier `.server.pid` est automatiquement nettoyé à l'arrêt
5. **Permissions**: Les scripts doivent être exécutables (`chmod +x *.sh`)
---
## Commandes Rapides
```bash
# Démarrer
./start.sh
# Arrêter
./stop.sh
# État
./status.sh
# Redémarrer
./restart.sh
# Logs en temps réel
tail -f server.log
# Health check
curl http://localhost:5001/health
```