maj
This commit is contained in:
192
docs/05_webui_design.md
Normal file
192
docs/05_webui_design.md
Normal file
@@ -0,0 +1,192 @@
|
||||
|
||||
# 05 – Design WebUI (structure, pages, composants)
|
||||
|
||||
Objectif : définir l’interface utilisateur de Linux BenchTools, les pages, les composants, l’organisation 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**
|
||||
- 0–50 : rouge
|
||||
- 51–75 : orange
|
||||
- 76–100 : 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: 2025‑12‑07 |
|
||||
+---------------------------------------------------------------------------+
|
||||
| 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 i7‑6700 (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: 2025‑12‑07 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
|
||||
Reference in New Issue
Block a user