maj
This commit is contained in:
196
CHANGELOG_2025-12-13.md
Normal file
196
CHANGELOG_2025-12-13.md
Normal file
@@ -0,0 +1,196 @@
|
||||
# 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_at` n'é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/stats` gé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](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 `isLoading` pour é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](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 :
|
||||
|
||||
```bash
|
||||
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](BUGFIXES_2025-12-13.md) - Détails des bugs corrigés
|
||||
- [FRONTEND_IMPROVEMENTS_2025-12-13.md](FRONTEND_IMPROVEMENTS_2025-12-13.md) - Détails des améliorations frontend
|
||||
- [README.md](README.md) - Documentation principale
|
||||
- [PROJECT_SUMMARY.md](PROJECT_SUMMARY.md) - Vue d'ensemble du projet
|
||||
|
||||
---
|
||||
|
||||
## ✅ Validation
|
||||
|
||||
- [x] Tous les bugs backend corrigés
|
||||
- [x] Toutes les features frontend implémentées
|
||||
- [x] Tests manuels effectués
|
||||
- [x] Documentation mise à jour
|
||||
- [x] Services Docker redémarrés
|
||||
- [x] 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* 🚀
|
||||
Reference in New Issue
Block a user