212 lines
5.3 KiB
Markdown
Executable File
212 lines
5.3 KiB
Markdown
Executable File
# ✅ 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
|