This commit is contained in:
Gilles Soulier
2026-01-05 16:08:01 +01:00
parent dcba044cd6
commit c67befc549
2215 changed files with 26743 additions and 329 deletions

211
docs/README_MISE_A_JOUR.md Executable file
View File

@@ -0,0 +1,211 @@
# ✅ Mise à Jour Complète - 14 décembre 2025
## 📋 Résumé
L'application a été mise à jour avec des **correctifs critiques** pour résoudre les problèmes d'affichage des données hardware.
## 🔧 Problèmes Résolus
### 1. Nombre de Cores CPU Incorrect
**Symptôme** : Le frontend affichait "?" pour les cores CPU, et la base de données contenait `cpu_cores: 0`.
**Cause** : Le script benchmark collectait le nombre de **threads logiques** au lieu des **cores physiques**.
**Solution** : Modification du script [bench.sh](scripts/bench.sh#L241-L245) pour calculer :
```
cpu_cores = Core(s) per socket × Socket(s)
```
**Exemple** :
- Intel i5-2400 : `2 cores × 1 socket = 2 cores` ✅ (au lieu de 4)
- AMD Ryzen 9 5900X : `12 cores × 1 socket = 12 cores` ✅ (au lieu de 24)
### 2. RAM Utilisée/Libre Manquante
**Symptôme** : Le frontend affichait "N/A" pour RAM utilisée et RAM libre.
**Cause** : Les données étaient `null` dans la base de données (ancien benchmark).
**Solution** :
- Le script collecte déjà ces données correctement
- Nécessite simplement un **nouveau benchmark** pour les remplir
### 3. Affichage Frontend Incorrect
**Symptôme** : Valeur `0` affichée comme "N/A" et valeur `null` affichée comme "0 GB".
**Solution** : Amélioration de [device_detail.js](frontend/js/device_detail.js#L129-L193) pour distinguer :
- `0` → Affiche "0" (valeur technique valide)
- `null` → Affiche "N/A" (données manquantes)
## 📦 Fichiers Modifiés
| Fichier | Lignes | Description |
|---------|--------|-------------|
| [scripts/bench.sh](scripts/bench.sh) | 241-245 | Calcul correct des cores CPU |
| [frontend/js/device_detail.js](frontend/js/device_detail.js) | 129-130 | Affichage CPU corrigé |
| [frontend/js/device_detail.js](frontend/js/device_detail.js) | 183-193 | Affichage RAM corrigé |
## ✅ Vérification
### Services Actifs
```bash
✓ Backend: http://localhost:8007 (UP)
✓ Frontend: http://localhost:8087 (UP - redémarré)
✓ iPerf3: Port 5201 (UP)
```
### Correctifs Appliqués
```bash
✓ Script bench.sh : Correctif CPU cores
✓ Frontend JS : Amélioration affichage CPU
✓ Frontend JS : Amélioration affichage RAM
```
### Test de Collecte (machine actuelle)
```
Cores physiques: 2
Threads logiques: 4
```
Vous pouvez exécuter le script de vérification :
```bash
bash VERIFIER_MISE_A_JOUR.sh
```
## 🎯 Action Requise
Pour que les changements soient visibles dans l'interface web, **vous devez lancer un nouveau benchmark** :
```bash
cd /home/gilles/Documents/vscode/serv_benchmark
sudo bash scripts/bench.sh
```
### Ce que le benchmark va faire :
1. ✅ Collecter le nombre de **cores physiques** (corrigé)
2. ✅ Collecter **RAM utilisée**, **RAM libre**, **RAM partagée**
3. ✅ Collecter les **données SMART** des disques
4. ✅ Collecter le **layout détaillé** de la RAM (barrettes DIMM)
5. ✅ Envoyer toutes les données au backend
**Durée estimée** : 3-5 minutes
## 📊 Avant vs Après
### Avant le Benchmark (Données Actuelles)
**API** :
```json
{
"cpu_cores": 0,
"cpu_threads": 4,
"ram_used_mb": null,
"ram_free_mb": null
}
```
**Frontend** :
```
Cores / Threads: ? / 4
RAM Utilisée: N/A
RAM Libre: N/A
```
### Après le Benchmark (Données Attendues)
**API** :
```json
{
"cpu_cores": 2,
"cpu_threads": 4,
"ram_used_mb": 6818,
"ram_free_mb": 379
}
```
**Frontend** :
```
Cores / Threads: 2 / 4
RAM Utilisée: 7 GB (87%)
RAM Libre: 0 GB
```
## 🌐 Tester l'Interface
### Avant le Benchmark
```
http://localhost:8087/device_detail.html?id=1
```
→ Affichera "N/A" pour les données manquantes (comportement correct)
### Après le Benchmark
```
http://localhost:8087/device_detail.html?id=1
```
→ Affichera toutes les données avec les **valeurs correctes**
## 📚 Documentation
- **Guide détaillé** : [CHANGELOG_2025-12-14.md](CHANGELOG_2025-12-14.md)
- **Frontend restructuré** : [FRONTEND_RESTRUCTURE_2025-12-14.md](FRONTEND_RESTRUCTURE_2025-12-14.md)
- **Test rapide** : [TEST_RAPIDE.md](TEST_RAPIDE.md)
- **Instructions benchmark** : [INSTRUCTIONS_BENCHMARK.md](INSTRUCTIONS_BENCHMARK.md)
## 🔍 Dépannage
### Le frontend n'affiche toujours pas les bonnes données
1. Vérifier que le benchmark a bien été exécuté :
```bash
curl http://localhost:8007/api/devices/1 | jq '.last_hardware_snapshot.cpu_cores'
```
2. Vider le cache du navigateur :
```
Ctrl + Shift + R (ou Cmd + Shift + R sur Mac)
```
3. Redémarrer le frontend si nécessaire :
```bash
docker compose restart frontend
```
### Le script benchmark échoue
```bash
# Vérifier les permissions sudo
sudo -v
# Vérifier les dépendances
which sysbench fio iperf3 smartctl
# Voir les logs backend
docker compose logs backend --tail 50
```
## 🎉 Résultat Final
Une fois le benchmark exécuté avec succès :
**8 sections distinctes** dans l'interface :
1. ⚡ Carte Mère
2. 🔲 Processeur (CPU) - avec le **bon nombre de cores**
3. 💾 Mémoire (RAM) - avec **usage réel**
4. 💿 Stockage (Disques)
5. 🎮 Carte Graphique (GPU)
6. 🌐 Réseau (Network)
7. 🐧 Système d'exploitation
8. 📊 Résultats Benchmarks
**Toutes les données affichées correctement**
**Distinction claire entre 0, null et valeurs réelles**
**Frontend responsive et organisé**
---
**Version Script** : 1.2.0
**Version Frontend** : 2.0.1
**Date** : 14 décembre 2025, 03:00
**Status** : ✅ Prêt pour le benchmark