- Onglet "🧹 Nettoyage" dans le dashboard (iframe vers port 5006) - Indicateur d'état + bouton de démarrage si cleaner down - Service systemd rpa-session-cleaner intégré au target rpa-vision - svc.sh et services.conf incluent session-cleaner (port 5006) P0-A — Auth dashboard Flask : - HTTP Basic obligatoire sur tous les endpoints (sauf /health, /healthz) - Credentials via DASHBOARD_USER + DASHBOARD_PASSWORD - 13 tests Nettoyage UI : - Section "Détection Visuelle" OWL retirée (modèle remplacé par pipeline VLM) - Dashboard préfère auto shot_*_blurred.png (avec ?raw=1 pour brut) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Dashboard Web RPA Vision V3
Interface web pour visualiser les logs et lancer les tests unitaires de RPA Vision V3.
🚀 Lancement Rapide
cd rpa_vision_v3
./web_dashboard/start_dashboard.sh
Puis ouvrir dans le navigateur : http://localhost:5001
✨ Fonctionnalités
📊 Statut du Système
- Nombre total de tests (unitaires, intégration, performance)
- État des dépendances (PyTorch, OpenCLIP, FAISS)
- Chemins des répertoires
🧪 Tests Unitaires
- Liste de tous les tests disponibles
- Lancement individuel de chaque test
- Lancement groupé par type (unit, integration, performance)
- Affichage en temps réel de la sortie
📝 Logs en Temps Réel
- Affichage des 50 derniers logs
- Rafraîchissement automatique toutes les 5 secondes
- Scroll automatique vers les nouveaux logs
- Filtrage par fichier de log
📋 Sortie des Tests
- Affichage détaillé de la sortie des tests
- Code retour et statut (✅ RÉUSSI / ❌ ÉCHOUÉ)
- STDOUT et STDERR séparés
- Format console avec coloration
🛠️ Installation Manuelle
Si le script automatique ne fonctionne pas :
# 1. Activer l'environnement virtuel
source venv_v3/bin/activate
# 2. Installer Flask
pip install Flask==3.0.0
# 3. Lancer le dashboard
cd web_dashboard
python3 app.py
📁 Structure
web_dashboard/
├── app.py # Application Flask
├── templates/
│ └── index.html # Interface web
├── requirements.txt # Dépendances
├── start_dashboard.sh # Script de lancement
└── README.md # Ce fichier
🔧 Configuration
Port
Par défaut, le dashboard écoute sur le port 5001. Pour changer :
# Dans app.py, ligne finale
app.run(debug=True, host='0.0.0.0', port=5001) # Changer 5001
Logs
Les logs sont lus depuis rpa_vision_v3/logs/*.log. Pour changer :
# Dans app.py
LOGS_DIR = BASE_DIR / "logs" # Changer le chemin
Tests
Les tests sont lus depuis rpa_vision_v3/tests/. Structure attendue :
tests/
├── unit/ # Tests unitaires
├── integration/ # Tests d'intégration
└── performance/ # Tests de performance
🎨 Interface
Thème
L'interface utilise un thème moderne avec :
- Gradient violet/bleu pour l'en-tête
- Cartes blanches avec ombres
- Console sombre pour les logs et sorties
- Boutons colorés par type de test
Responsive
L'interface s'adapte automatiquement :
- Desktop : 2 colonnes
- Mobile : 1 colonne
🔄 Auto-Refresh
- Logs : Rafraîchissement automatique toutes les 5 secondes
- Statut système : Rafraîchissement toutes les 10 secondes
- Tests : Rafraîchissement manuel uniquement
🐛 Dépannage
Erreur "Flask not found"
pip install Flask==3.0.0
Erreur "Port 5001 already in use"
Tuer le processus existant :
lsof -ti:5001 | xargs kill -9
Ou changer le port dans app.py.
Logs vides
Vérifier que le dossier logs/ existe :
mkdir -p rpa_vision_v3/logs
Tests non trouvés
Vérifier la structure des dossiers :
ls -la rpa_vision_v3/tests/unit/
ls -la rpa_vision_v3/tests/integration/
📝 API Endpoints
GET /api/system/status
Retourne le statut du système.
Réponse :
{
"dependencies_ok": true,
"tests": {
"unit": 10,
"integration": 5,
"performance": 3,
"total": 18
},
"logs_dir": "/path/to/logs",
"base_dir": "/path/to/rpa_vision_v3"
}
GET /api/tests
Liste tous les tests disponibles.
Réponse :
{
"tests": [
{
"name": "test_fusion_engine",
"path": "tests/unit/test_fusion_engine.py",
"type": "unit",
"status": "unknown"
}
]
}
POST /api/tests/run
Lance un test spécifique.
Requête :
{
"test_path": "tests/unit/test_fusion_engine.py"
}
Réponse :
{
"success": true,
"returncode": 0,
"stdout": "...",
"stderr": "..."
}
POST /api/tests/run-all
Lance tous les tests d'un type.
Requête :
{
"type": "unit" // ou "integration", "performance", "all"
}
Réponse :
{
"success": true,
"returncode": 0,
"stdout": "...",
"stderr": "..."
}
GET /api/logs
Récupère les logs récents.
Réponse :
{
"logs": [
{
"timestamp": "2024-11-24T10:30:00",
"file": "app.log",
"message": "Test completed successfully"
}
]
}
🚀 Utilisation en Production
Pour un déploiement en production, utiliser gunicorn :
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5001 app:app
📄 Licence
Même licence que RPA Vision V3.
🤝 Contribution
Pour contribuer :
- Améliorer l'interface (CSS, JavaScript)
- Ajouter des graphiques de métriques
- Ajouter des filtres de logs
- Améliorer la gestion des erreurs
Créé pour RPA Vision V3 - Dashboard de monitoring et de tests