Portage navigateur complet de l'app Android HormoneTrack v1.4.10 : - moteur PK fidèle (Estrannaise tables ODS, Transfem Science V3C, WHSAH fit Mona, Bateman) — paramètres identiques, invariants Android préservés (fixes #19-#23, #35, #52-#62), 121 tests Node épinglés - calibration par période d'ester et par modèle affiché (#60/#61) - UI 6 écrans + éditeur, CurveChart Canvas (zoom/pan fractionnaire, prévision, pics/creux, fuseau configurable), rappels web (Notification API), seuils d'alerte, i18n FR/EN - sauvegarde JSON v2 compatible Android bidirectionnelle (rétrocompat v1) - 100 % local : localStorage, aucun serveur applicatif, aucune télémétrie - processus : scripts/check.sh (syntaxe, i18n, tests, E2E navigateur, smoke HTTP), docs séparées (README + DEVELOPPEMENT + CHANGELOG) - dépôt GIT SÉPARÉ de l'Android : historique 100 % propre, versions alignées sur l'Android porté, changelogs indépendants Non porté (impossible dans un navigateur, documenté §12) : agenda récurrent, notifications onglet fermé, montre.
4.5 KiB
4.5 KiB
CHANGELOG — HormoneTrack Web
Journal des versions de l'app web (séparé du CHANGELOG Android —
docs/CHANGELOG.mdà la racine du dépôt). Convention Keep a Changelog : section la plus récente EN PREMIER ; ce fichier est lu par le dialog « Nouveautés » de l'app web (fetchdocs/CHANGELOG.md).
[1.4.10] — 2026-09-08
Version initiale de la version web — portage navigateur de l'app Android v1.4.10, 100 % locale (données dans le localStorage, aucun serveur applicatif, aucune télémétrie).
Moteur PK (fidèle à l'Android, testé)
- Trois modèles superposables : Estrannaise (tables ODS de
pk_profiles.json, même asset que l'app Android), Transfem Science (forme close V3C de la méta-analyse, 7 esters), WHSAH (fit license-free de Mona, 6 esters — PEP non couvert) + Bateman paramétrable (gel/patch/oral). - Pics de l'article TFS épinglés (±2 %) ; équilibre EV 5 mg/7 j = Figure 11 (Cmax 384 / Cmin 142 / Cavg 269) ; fidélité Mona WHSAH (EV 367,5 @ 1,69 j, EEn 187,9 @ 4,99 j, t½ 7,34 j).
- Invariants Android préservés : bisection
computeKadans le bon sens (#19), modèle strict + extrapolation terminale ≥ 1 % du pic (#20/#21), lookup insensible à la casse (#22), conversion des labs T (#23/#26), garde de significativité de calibration (#61), créneaux de prévision passés sautés (#35), rappels sur la grille Posologie (#52). - Calibration par période d'ester et par modèle affiché (#60) : auto-calibration optionnelle (désactivée par défaut) + calibration manuelle par traitement ; k T par période d'ester.
Fonctionnalités
- Accueil : niveau actuel estimé (E2 pg/mL + T ng/mL) avec delta « vs il y a 6 h » réel (fix #53), cartes d'alerte de seuil, carte prochaine dose (jours au-delà de 24 h, fix v1.4.1), log rapide, mini-graphique 24 h.
- Graphiques : 24 h/7 j/30 j, zoom 6 h → 300 j (pinch, molette, boutons, focal du pinch conservée), panoramique avec cumul fractionnaire des deltas (fix #62), prévision avec extension de fenêtre sans saut (fix #54) et horizon borné 30 j–1 an, toggles 3 modèles alignés sur les traitements (fix #58), pics/creux avec valeurs, marqueurs de doses réelles et projetées (fix #55), labels X à minuit local dans le fuseau choisi (v1.4.5), labs T convertis en ng/mL au rendu.
- Doses : historique groupé par jour, Δ jours depuis la dose précédente du même traitement, édition (override d'ester par injection selon le modèle), en-tête « temps sous THS » (3 placeholders, bug #47 épinglé).
- Analyses : prise de sang E2 + T en une entrée, groupement par timestamp, suppression par prise entière, unités T multiples (ng/mL, ng/dL, ng/L, nmol/L).
- Traitements : 22 presets, éditeur complet (ester/modèle/Bateman, calibration, Posologie, rappel), traitement inactif = drapeau administratif (la simulation reste, bug v1.2.4).
- Rappels web : notifications navigateur tant que la page est ouverte (bannière in-app + actions « Loguer maintenant » / « Reporter 1 h »). Limite documentée : pas de notification onglet fermé.
- Seuils d'alerte : évaluation du niveau estimé, notification web, anti-spam par état persisté (même codec que l'app Android).
- Sauvegarde JSON compatible Android dans les deux sens (BackupData v2, rétrocompat v1, import en mode écrasement avec IDs conservés) ; paramètres utilisateur transportés (langue, auto-cal, seuils).
- Logs de diagnostic exportables (buffer 500 lignes, même format que l'app Android).
- FR + EN (langue par app, indépendante du système), dialog « Nouveautés » après mise à jour.
Processus
- 121 tests Node (
node --test) : profils ODS (pins ODS identiques à l'Android), fidélité TFS/WHSAH, moteur, calibration, backup (dont import des exports Android réels delocal-test-data/si présents), helpers du graphique, alertes, rappels, changelog, store. scripts/check.sh: syntaxe de tous les modules + cohérence i18n FR/EN + tests + smoke HTTP optionnel.- Dépôt GIT SÉPARÉ de l'app Android (HormoneTrack-web) — historique 100 % propre (aucune dette de confidentialité), versions alignées sur l'Android, changelogs totalement indépendants.
Non porté (impossible ou hors périmètre navigateur)
- Événements d'agenda récurrents (pas de CalendarProvider dans un navigateur) — l'éditeur affiche une note explicative.
- Notifications quand l'onglet est fermé (aucun scheduler système côté web).
- Verrou biométrique, widget — non implémentés non plus côté Android v1.