6.5 KiB
6.5 KiB
Changelog - 13 Décembre 2025
Version : 1.1.0 (Backend 1.0.1 + Frontend 1.1.0) Date : 13 décembre 2025
📋 Résumé des Changements
Cette mise à jour apporte des corrections de bugs critiques dans le backend et des améliorations majeures d'UX dans le frontend.
🐛 Backend - Corrections de Bugs (v1.0.1)
Bug #1 : Timestamp de mise à jour non fonctionnel ⚠️ CRITIQUE
- Fichier :
backend/app/api/devices.py:270 - Problème : Le champ
updated_atn'était jamais mis à jour lors de modifications - Fix : Utilisation de
datetime.utcnow()au lieu de requête SQL inutile - Impact : Les timestamps sont maintenant correctement mis à jour
Bug #2 : Gestion incorrecte des sessions DB ⚠️ CRITIQUE
- Fichier :
backend/app/main.py:71 - Problème : L'endpoint
/api/statsgérait manuellement la session DB - Fix : Utilisation du pattern FastAPI standard avec
Depends(get_db) - Impact : Pas de fuites de connexions, meilleure cohérence du code
Bug #3 : Gestion d'erreurs limitée dans l'API frontend
- Fichier :
frontend/js/api.js:11 - Problème : Messages d'erreur génériques, pas de détection des erreurs réseau
- Fix : Erreurs détaillées avec status, endpoint, et messages en français
- Impact : Meilleur débogage et messages clairs pour l'utilisateur
Bug #4 : Validation manquante des scores
- Fichier :
backend/app/schemas/benchmark.py:10 - Problème : Aucune validation des plages de valeurs (scores négatifs possibles)
- Fix : Ajout de validations Pydantic avec
Field(ge=0, le=100) - Impact : Données plus fiables, rejet automatique des valeurs invalides
📄 Documentation détaillée : BUGFIXES_2025-12-13.md
✨ Frontend - Améliorations UX (v1.1.0)
Fonctionnalité #1 : Recherche en Temps Réel 🔍
- Fichiers :
frontend/index.html,frontend/js/dashboard.js - Barre de recherche avec filtrage instantané (debounced 300ms)
- Filtre sur hostname, description, et location
- Bouton "Effacer" pour réinitialiser
- Bénéfice : Trouve un device parmi des dizaines en quelques secondes
Fonctionnalité #2 : Bouton d'Actualisation Manuelle 🔄
- Fichiers :
frontend/index.html,frontend/js/dashboard.js - Bouton "🔄 Actualiser" avec état visuel pendant le chargement
- Horodatage de dernière mise à jour
- Désactivation automatique pendant le chargement
- Bénéfice : Contrôle total sur le rafraîchissement des données
Fonctionnalité #3 : Gestion d'Erreurs avec Retry 🔄
- Fichier :
frontend/js/dashboard.js:132 - Messages d'erreur clairs avec détails
- Bouton "🔄 Réessayer" sur chaque erreur
- Message spécifique pour erreurs réseau
- Bénéfice : Résolution autonome des problèmes temporaires
Fonctionnalité #4 : Skeleton Loaders 💫
- Fichier :
frontend/css/components.css:3 - Animations de chargement professionnelles
- Styles réutilisables (
.skeleton,.skeleton-text,.skeleton-card) - Transitions fluides avec
.fade-in - Bénéfice : Perception de chargement plus rapide
Fonctionnalité #5 : Protection Anti-Spam ⛔
- Fichier :
frontend/js/dashboard.js:11 - Flag
isLoadingpour éviter les requêtes multiples - Désactivation du bouton pendant le chargement
- Bénéfice : Meilleure performance, pas de concurrence de données
📄 Documentation détaillée : FRONTEND_IMPROVEMENTS_2025-12-13.md
📊 Statistiques
Code modifié
- Backend : 4 fichiers, ~60 lignes
- Frontend : 3 fichiers, ~160 lignes
- Total : ~220 lignes de code ajoutées/modifiées
Tests effectués
- ✅ Endpoint
/api/stats- Fonctionne - ✅ Endpoint
/api/health- Fonctionne - ✅ Endpoint
/api/devices- Fonctionne - ✅ Recherche frontend - Fonctionne
- ✅ Bouton actualiser - Fonctionne
- ✅ Gestion d'erreurs - Fonctionne
🚀 Migration
Pour appliquer cette mise à jour :
cd /home/gilles/Documents/vscode/serv_benchmark
# 1. Rebuild backend (pour les corrections de bugs)
docker compose build backend
# 2. Redémarrer les services
docker compose restart backend frontend
# 3. Vérifier que tout fonctionne
curl http://localhost:8007/api/health
curl http://localhost:8087/ | grep searchInput
# 4. Tester dans le navigateur
# Ouvrir http://localhost:8087/
Aucune migration de base de données requise ✅
📝 Fichiers Modifiés
Backend (v1.0.1)
| Fichier | Type | Description |
|---|---|---|
backend/app/api/devices.py |
Bug fix | Correction timestamp update |
backend/app/main.py |
Bug fix | Fix session DB management |
frontend/js/api.js |
Amélioration | Meilleure gestion d'erreurs |
backend/app/schemas/benchmark.py |
Validation | Ajout validations Pydantic |
Frontend (v1.1.0)
| Fichier | Type | Description |
|---|---|---|
frontend/index.html |
Feature | Ajout toolbar avec recherche |
frontend/js/dashboard.js |
Feature | Recherche, refresh, retry |
frontend/css/components.css |
UI | Skeleton loaders, animations |
🎯 Prochaines Étapes Recommandées
Priorité Haute
- Tests sur navigateurs différents (Chrome, Firefox, Safari)
- Tests sur mobile/tablet
- Ajouter des tests unitaires backend (pytest)
Priorité Moyenne
- Graphiques d'évolution des scores (Chart.js)
- Filtres avancés (par score, date, type)
- Mode sombre/clair
Priorité Basse
- Export CSV/JSON
- Dashboard temps réel (WebSockets)
- Notifications push
🔗 Liens Utiles
- BUGFIXES_2025-12-13.md - Détails des bugs corrigés
- FRONTEND_IMPROVEMENTS_2025-12-13.md - Détails des améliorations frontend
- README.md - Documentation principale
- PROJECT_SUMMARY.md - Vue d'ensemble du projet
✅ Validation
- Tous les bugs backend corrigés
- Toutes les features frontend implémentées
- Tests manuels effectués
- Documentation mise à jour
- Services Docker redémarrés
- Changelog créé
Status : ✅ PRODUCTION READY
Versions :
- Backend : 1.0.0 → 1.0.1
- Frontend : 1.0.0 → 1.1.0
- Global : 1.0.0 → 1.1.0
Date de release : 13 décembre 2025 Auteurs : Assistant AI + Gilles @ maison43
Linux BenchTools - Benchmarking simplifié pour votre infrastructure Linux 🚀