Files
rpa_vision_v3/web_dashboard
Dom 4f61741420
Some checks failed
security-audit / Bandit (scan statique) (push) Successful in 14s
security-audit / pip-audit (CVE dépendances) (push) Successful in 10s
security-audit / Scan secrets (grep) (push) Successful in 8s
tests / Lint (ruff + black) (push) Successful in 13s
tests / Tests unitaires (sans GPU) (push) Failing after 14s
tests / Tests sécurité (critique) (push) Has been skipped
feat: journée 17 avril — tests E2E validés, dashboard fleet+audit, VWB bridge, cleaner C2
Pipeline E2E complet validé :
  Capture VM → streaming → serveur → cleaner → replay → audit trail
  Mode apprentissage supervisé fonctionne (Léa échoue → humain → reprise)

Dashboard :
  - Cleanup 14→10 onglets (RCE supprimée)
  - Fleet : enregistrer/révoquer agents, tokens, ZIP pré-configuré téléchargeable
  - Audit trail MVP (/audit) : filtres, tableau, export CSV, conformité AI Act/RGPD
  - Formulaire Fleet simplifié (nom + email, machine_id auto)

VWB bridge Léa→VWB :
  - Compound décomposés en N steps (saisie + raccourci visibles)
  - Layout serpentin 3 colonnes (plus colonne verticale)
  - Badge OS 🪟/🐧, filtre OS retiré (admin Linux voit Windows)
  - Fix import SQLite readonly

Cleaner intelligent :
  - Descriptions lisibles (UIA/C2) + détection doublons
  - Logique C2 : UIElement identifié = jamais parasite
  - Patterns parasites resserrés
  - Message Léa : "Je n'y arrive pas, montrez-moi comment faire"

Config agent (INC-1 à INC-7) :
  - SERVER_URL + SERVER_BASE unifiés
  - RPA_OLLAMA_HOST séparé
  - allow_redirects=False sur POST
  - Middleware réécriture URL serveur

CI Gitea : fix token + Flask-SocketIO + ruff propre
Fleet endpoints : /agents/enroll|uninstall|fleet + agent_registry SQLite
Backup : script quotidien workflows.db + audit

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 17:46:40 +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