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>
This commit is contained in:
271
web_dashboard/README.md
Normal file
271
web_dashboard/README.md
Normal file
@@ -0,0 +1,271 @@
|
||||
# Dashboard Web RPA Vision V3
|
||||
|
||||
Interface web pour visualiser les logs et lancer les tests unitaires de RPA Vision V3.
|
||||
|
||||
## 🚀 Lancement Rapide
|
||||
|
||||
```bash
|
||||
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 :
|
||||
|
||||
```bash
|
||||
# 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 :
|
||||
|
||||
```python
|
||||
# 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 :
|
||||
|
||||
```python
|
||||
# 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"
|
||||
|
||||
```bash
|
||||
pip install Flask==3.0.0
|
||||
```
|
||||
|
||||
### Erreur "Port 5001 already in use"
|
||||
|
||||
Tuer le processus existant :
|
||||
|
||||
```bash
|
||||
lsof -ti:5001 | xargs kill -9
|
||||
```
|
||||
|
||||
Ou changer le port dans `app.py`.
|
||||
|
||||
### Logs vides
|
||||
|
||||
Vérifier que le dossier `logs/` existe :
|
||||
|
||||
```bash
|
||||
mkdir -p rpa_vision_v3/logs
|
||||
```
|
||||
|
||||
### Tests non trouvés
|
||||
|
||||
Vérifier la structure des dossiers :
|
||||
|
||||
```bash
|
||||
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 :**
|
||||
```json
|
||||
{
|
||||
"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 :**
|
||||
```json
|
||||
{
|
||||
"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 :**
|
||||
```json
|
||||
{
|
||||
"test_path": "tests/unit/test_fusion_engine.py"
|
||||
}
|
||||
```
|
||||
|
||||
**Réponse :**
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"returncode": 0,
|
||||
"stdout": "...",
|
||||
"stderr": "..."
|
||||
}
|
||||
```
|
||||
|
||||
### POST /api/tests/run-all
|
||||
Lance tous les tests d'un type.
|
||||
|
||||
**Requête :**
|
||||
```json
|
||||
{
|
||||
"type": "unit" // ou "integration", "performance", "all"
|
||||
}
|
||||
```
|
||||
|
||||
**Réponse :**
|
||||
```json
|
||||
{
|
||||
"success": true,
|
||||
"returncode": 0,
|
||||
"stdout": "...",
|
||||
"stderr": "..."
|
||||
}
|
||||
```
|
||||
|
||||
### GET /api/logs
|
||||
Récupère les logs récents.
|
||||
|
||||
**Réponse :**
|
||||
```json
|
||||
{
|
||||
"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** :
|
||||
|
||||
```bash
|
||||
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
|
||||
Reference in New Issue
Block a user