Audit et corrections du Web Dashboard (port 5001) :
- Désactiver le bouton "Restaurer" (rollback) car la route /api/version/rollback
n'est pas implémentée côté serveur
- Corriger le parsing de /api/version : les données sont dans version.version (dict),
pas directement dans version (string)
- Corriger le parsing de /api/version/system-info : données imbriquées dans
system_info.system, pas directement à la racine
- Corriger le parsing de /api/backup/stats : utiliser stats.*.file_count au lieu
de categories.*.count qui n'existe pas
- Corriger le fallback correction packs pour utiliser le bon format de stats
- Corriger le parsing de faiss.total_vectors dans l'onglet Apprentissage
- Remplacer les données simulées dans loadActionTypeStats() par un placeholder honnête
- Corriger le HTML invalide (double attribut style sur configTestResults)
- Rendre switchTab() plus robuste avec event.target.closest('.tab')
- Réduire le polling services de 5s à 15s pour limiter la charge
- Mettre à jour SERVICES_CONFIG (ports corrects, .venv/ au lieu de venv_v3/)
- Ajouter le proxy streaming et 4 services manquants dans la config
- Ajouter 19 tests unitaires pour les routes du dashboard
Co-Authored-By: Claude Opus 4.6 <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