# Test du script bench.sh avec corrections ## Corrections appliquées 1. ✅ **Migration 002 appliquée** - Ajout de la colonne `network_results_json` à la table `benchmarks` 2. ✅ **Payload RAM corrigé** - Ajout de `used_mb`, `free_mb`, `shared_mb` dans le payload JSON 3. ✅ **Mode debug implémenté** - Variable `DEBUG_PAYLOAD=1` pour afficher le payload complet ## Comment tester ### Test normal (sans debug) ```bash sudo bash /home/gilles/Documents/vscode/serv_benchmark/scripts/bench.sh ``` ### Test avec debug (affiche le payload) ```bash DEBUG_PAYLOAD=1 sudo bash /home/gilles/Documents/vscode/serv_benchmark/scripts/bench.sh ``` Le mode debug va : 1. Afficher le payload JSON complet formaté 2. Sauvegarder le fichier dans `/tmp/bench_payload_YYYYMMDD_HHMMSS.json` 3. Demander confirmation avant d'envoyer ## Problèmes résolus ### 1. Erreur HTTP 500 **Cause** : Colonne `network_results_json` manquante dans la base de données **Solution** : Migration SQL appliquée directement via Docker ```sql ALTER TABLE benchmarks ADD COLUMN network_results_json TEXT; ``` ### 2. Données RAM manquantes dans le payload **Cause** : Le script collectait les données (used_mb, free_mb, shared_mb) mais ne les incluait pas dans le payload JSON **Solution** : Ajout des champs dans la construction du payload (lignes 869-871 du script) **Avant** : ```javascript ram: { total_mb: .total_mb, slots_total: .slots_total, // ... manque used_mb, free_mb, shared_mb } ``` **Après** : ```javascript ram: { total_mb: .total_mb, used_mb: .used_mb, // ✅ AJOUTÉ free_mb: .free_mb, // ✅ AJOUTÉ shared_mb: .shared_mb, // ✅ AJOUTÉ slots_total: .slots_total, // ... } ``` ### 3. Debug du payload **Implémentation** : Mode debug avec variable d'environnement ```bash # Activer le debug DEBUG_PAYLOAD=1 sudo bash scripts/bench.sh # Le script affichera : # ════════════════════════════════════════════════════════ # DEBUG: Payload JSON complet # ════════════════════════════════════════════════════════ # { # "device_identifier": "lenovo-bureau", # "bench_script_version": "1.1.0", # "hardware": { # "cpu": { ... }, # "ram": { # "total_mb": 7771, # "used_mb": 4530, // ✅ Maintenant présent # "free_mb": 1291, // ✅ Maintenant présent # "shared_mb": 1950, // ✅ Maintenant présent # ... # }, # ... # }, # "results": { # "network": { # "upload_mbps": 427.86, # "download_mbps": 398.94, # "ping_ms": 44.16, # ... # } # } # } # ════════════════════════════════════════════════════════ # ✓ Payload sauvegardé dans: /tmp/bench_payload_20251207_233745.json # # Appuyez sur Entrée pour continuer l'envoi ou Ctrl+C pour annuler... ``` ## Vérification frontend Après un nouveau benchmark réussi, vérifier dans l'interface web : 1. **Section RAM** : Doit afficher le pourcentage d'utilisation et les détails ``` 💾 RAM: 8 GB (58% utilisé) Utilisée: 4GB • Libre: 1GB • Partagée: 2GB 4 / 4 slots ``` 2. **Section Réseau** : Doit afficher les interfaces avec WoL et les résultats iperf3 ``` 🔌 eno1 (ethernet) [WoL ✓] IP: 10.0.1.169 MAC: xx:xx:xx:xx:xx:xx Vitesse: 1000 Mbps 📈 Résultats Benchmark Réseau (iperf3) ↑ 427.86 ↓ 398.94 44.16 41.34 Upload Mbps Download Mbps Ping ms Score ``` ## Prochaines étapes 1. Lancer un nouveau benchmark : `sudo bash scripts/bench.sh` 2. Vérifier qu'il n'y a plus d'erreur HTTP 500 3. Consulter la page device detail dans l'interface web 4. Vérifier l'affichage des nouvelles données RAM et réseau