feat(web): pages locales aide / statistiques / réglages (serveur HTTP 127.0.0.1)
Nouveau module webserver.nim : mini-serveur HTTP local (port libre a partir de 38943) qui sert des pages HTML generes en Nim - aide (nouvelle entree de menu tray), statistiques et reglages. La page reglages enregistre via POST (config.json) et l'application recharge la configuration au tick suivant. Menu Aide/Statistiques/Reglages ouvrent le navigateur par defaut, avec repli sur les dialogues natifs si le serveur est indisponible. Refactor config/stats (loadConfigFrom/saveConfigTo, loadStatsFrom/saveStatsTo) pour tester sans toucher aux fichiers reels. 8 suites de tests (60 tests), ajout de test_webserver avec integration HTTP reelle.
This commit is contained in:
+12
-1
@@ -34,6 +34,17 @@ concret effectué, et le résultat observé.
|
||||
| 15 | Mise à jour (comparaison de versions) | `tests/test_updater.nim` (5 tests) | 5 tests **OK** |
|
||||
| 16 | Fenêtre flottante (toujours au-dessus, texte agrandi) | `tests/test_floating.nim` (show/update/hide une vraie fenêtre Win32) + `floatingWindow` round-trip | **OK** (fenêtre créée/mise à jour/détruite sans erreur) |
|
||||
|
||||
## Fonctionnalité ajoutée (pages web locales)
|
||||
|
||||
| # | Exigence | Contrôle concret | Résultat observé |
|
||||
|---|----------|------------------|------------------|
|
||||
| 17 | Section Aide expliquant le fonctionnement | menu tray « Aide » (`IdHelpPage`) + page `/help` générée (fr/en) | **OK** (`tests/test_webserver.nim` : page rendue, GET HTTP réel) |
|
||||
| 18 | Statistiques présentées en page web locale | page `/stats` (jour/semaine/streak/total, 7 jours) servie par le serveur local | **OK** (GET réel via `httpclient` dans le test d'intégration) |
|
||||
| 19 | Réglages en page web locale avec sauvegarde | page `/settings` (formulaire + rappels santé) ; POST `/settings` écrit `config.json` et pose le drapeau de rechargement | **OK** (POST réel : valeurs relues dans le fichier, page mise à jour) |
|
||||
| 20 | Serveur local 127.0.0.1, port libre à partir de 38943 | `startWebServer()` dans `tests/test_webserver.nim` | **OK** (port 38943, requêtes GET/POST traitées) |
|
||||
| 21 | Aucune donnée ne quitte l'ordinateur | serveur lié à `127.0.0.1` uniquement | **OK** (relecture de code) |
|
||||
| 22 | Repli sur les dialogues natifs si serveur indisponible | branche `gServerPort > 0` dans `nimpulse.nim` | Compile ; logique vérifiée par relecture |
|
||||
|
||||
## Contraintes techniques
|
||||
|
||||
| Contrainte | Contrôle concret | Résultat observé |
|
||||
@@ -77,4 +88,4 @@ run_tests.cmd
|
||||
|
||||
(ou `nim c -d:release --app:gui src/nimpulse.nim` pour le binaire)
|
||||
|
||||
51 tests au total, tous verts (7 suites).
|
||||
60 tests au total, tous verts (8 suites).
|
||||
|
||||
Reference in New Issue
Block a user