Files
rpa_vision_v3/web_dashboard
Dom 463f1dd95e fix(dashboard): corriger les routes mortes, parsing API et liens cassés
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>
2026-03-14 22:05:11 +01:00
..

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 :

  1. Améliorer l'interface (CSS, JavaScript)
  2. Ajouter des graphiques de métriques
  3. Ajouter des filtres de logs
  4. Améliorer la gestion des erreurs

Créé pour RPA Vision V3 - Dashboard de monitoring et de tests