Files
Dom a27b74cf22 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>
2026-01-29 11:23:51 +01:00

4.9 KiB

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