Files
rpa_vision_v3/web_dashboard
Dom f541bb8ce4 feat: Léa chat + IRBuilder enrichi (stratégies V4 complètes)
Aspect 2/4 Léa : interface conversationnelle
- chat_interface.py : ChatSession thread-safe, états idle/planning/awaiting/executing/done
- 5 endpoints REST : /api/v1/chat/* (session, message, history, confirm, sessions)
- web_dashboard/chat.html + chat.js : UI minimaliste, polling 2s, pas de framework
- Proxy Flask /api/chat/* → serveur streaming
- 34 tests (happy path, abandon, refus, erreurs, gemma4 down)

IRBuilder enrichi pour plans V4 complets
- _event_to_action() appelle enrich_click_from_screenshot() quand session_dir dispo
- Chaque clic porte _enrichment (by_text OCR, anchor_image_base64, vlm_description)
- ExecutionCompiler consomme l'enrichissement pour produire 3 stratégies par clic
  Avant : [ocr] uniquement, target="unknown_window"
  Après : [ocr, template, vlm] avec vrai texte OCR ("Rechercher", "Ouvrir")

Validé sur session réelle : 10/10 clics enrichis (by_text + anchor + vlm_description)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 09:01:13 +02: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