Files
serv_benchmark/docs/05_webui_design.md
2025-12-20 03:47:10 +01:00

193 lines
4.6 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 05 Design WebUI (structure, pages, composants)
Objectif : définir linterface utilisateur de Linux BenchTools, les pages, les composants, lorganisation visuelle et les interactions nécessaires.
---
# 1. Principes généraux
- Interface orientée **observabilité** des performances machines.
- Style sombre **Monokai-like**.
- Pages structurées en **cartes** et **tableaux lisibles**.
- Navigation : **Dashboard**, **Devices**, **Settings**.
- Composants réutilisables : badges score, cartes hardware, tableaux benchmark.
---
# 2. Pages de la WebUI
## 2.1. Dashboard (`/`)
Présente un aperçu du parc machines et un classement global.
### Contenu :
- **Stats globales**
- Nombre de devices
- Nombre total de benchmarks
- Score global moyen
- Dernier bench reçu
- **Tableau Top Devices**
- Rang
- Hostname
- Description
- Score global
- Scores CPU/MEM/DISK/NET/GPU
- Dernier run
- **Bloc “Quick Bench Script”**
- Commande à copier pour exécuter un bench sur une nouvelle machine.
---
## 2.2. Liste Devices (`/devices`)
- Tableau paginé et filtrable
- Colonnes :
- Hostname
- Description
- Location
- Tags
- Dernier Score
- Dernier Bench
- Bouton “Voir”
Barre de recherche : filtre hostname / tags / description.
---
## 2.3. Page Device Détail (`/devices/{id}`)
### Sections :
#### A. Bandeau principal
- Hostname
- Description
- Tags
- Localisation / Owner
#### B. Résumé Hardware
- CPU : modèle, cores, threads, fréquences
- RAM : total, slots utilisés, détail
- GPU
- Stockage (NVMe/SSD/HDD)
- Réseau
- Carte mère / BIOS
- OS / kernel
#### C. Dernier Benchmark
- Score global + badge couleur
- Scores CPU / MEM / DISK / NET / GPU
- Timestamp
- Bouton “Voir JSON complet”
#### D. Onglets
1. **Summary**
2. **Benchmarks**
- Tableau simple
- Évolution future en graphe
3. **Documents**
- Upload PDF/images
- Liste des documents
- Boutons download/delete
4. **Links**
- Liste des liens constructeurs
- Form ajout
- Edit / Delete
---
## 2.4. Settings (`/settings`)
Champs configurables :
- Bench server URL
- Default iperf-server
- Token API (lecture seule)
- Commande bench générée automatiquement
---
# 3. Style visuel (Monokai Dark)
### Couleurs
- Fond général : `#1e1e1e`
- Cartes : `#2d2d2d`
- Texte principal : `#f8f8f2`
- Texte secondaire : `#cccccc`
- Success : `#a6e22e`
- Warning : `#fd971f`
- Danger : `#f92672`
### Composants
- **Badge Score**
- 050 : rouge
- 5175 : orange
- 76100 : vert
- **Cartes Hardware**
- Layout en 2 ou 3 colonnes
- **Tableaux**
- Style striped + hover highlight
---
# 4. Mockups ASCII
## Dashboard
```
+---------------------------------------------------------------------------+
| Linux BenchTools Dashboard |
+---------------------------------------------------------------------------+
| Stats |
| Devices: 12 Benchmarks: 47 Avg Score: 78.4 Last: 20251207 |
+---------------------------------------------------------------------------+
| Top Devices |
+---------------------------------------------------------------------------+
| # | Hostname | Score | CPU | MEM | DISK | NET | GPU | Last Run |
|---------------------------------------------------------------------------|
| 1 | elitedesk-800g3 | 92 | 90 | 95 | 94 | 88 | -- | 10:32 |
+---------------------------------------------------------------------------+
| Quick Bench Script |
| curl -s https://.../bench.sh | bash -s -- --server ... --token XXXX |
+---------------------------------------------------------------------------+
```
## Page Device
```
Device: elitedesk-800g3
Location: Bureau Tags: lab, dev
Hardware Summary:
CPU: Intel i76700 (4C/8T, 3.4 → 4.0 GHz)
RAM: 64GB (4×16GB)
GPU: Intel HD 530
Storage: NVMe 1TB + HDD 2TB
Network: eth0 1Gbps
OS: Debian 12 / Kernel 6.1
Last Benchmark:
Global Score: 92 [GREEN]
CPU 90 | MEM 95 | DISK 94 | NET 88 | GPU --
Run: 20251207 10:32
Tabs: [Summary] [Benchmarks] [Documents] [Links]
```
---
# 5. API utilisée par le frontend
- `/api/devices`
- `/api/devices/{id}`
- `/api/devices/{id}/benchmarks`
- `/api/devices/{id}/docs`
- `/api/docs/{id}/download`
- `/api/devices/{id}/links`
---
# 6. Améliorations futures
- Graphiques dévolution des scores (Chart.js)
- Mode mobile
- Compare devices
- Notifications en cas de baisse anormale de performance