Coach Adaptatif
La science du sport, sans la complexité — en production sur coach.jjoly.eu
le probleme
La plupart des apps de musculation donnent un programme rigide et un compteur de séries. Les modèles que les chercheurs en sciences du sport utilisent depuis 50 ans — fitness-fatigue, estimation bayésienne du 1RM, landmarks de volume — ne sont accessibles nulle part pour un pratiquant normal.
la solution
Un coach auto-hébergé qui fait tourner ces modèles en arrière-plan et adapte chaque séance (charge, volume, repos, exercices) à ce que le corps a réellement vécu :
- Modèle Banister (1975) : fitness long terme (CTL 42 j) vs fatigue court terme (ATL 7 j) → Training Stress Balance, l'approche des athlètes pro.
- Filtre de Kalman 2D bayésien : estimation du 1RM avec intervalle de confiance et projection de trajectoire.
- Volumes MEV/MAV/MRV (Israetel / Renaissance Periodization), calibrés sur les méta-analyses Schoenfeld 2017.
- Périodisation par blocs (Issurin) et charge interne session-RPE (Foster 1998).
- Swap d'exercice à la volée en cas de douleur déclarée, étirements guidés ciblés sur les sous-muscles travaillés, test de temps de réaction post-série.
choix techniques
- Backend Go mono-binaire (~200 Mo de RAM), frontend sans framework, image Docker distroless.
- Souveraineté des données : 100 % auto-hébergé, conformité RGPD native (consentement explicite art. 9, droits art. 15-22, audit log rotation 12 mois).
- Sécurité : 2FA TOTP obligatoire, tokens d'intégration chiffrés AES-GCM, conteneur read-only sans capability.
- Intégration Strava (OAuth + webhooks), import/export complet des données.
en production
déploiement k3s + Flux CD (GitOps) — voir l'étude de cas infra
pipeline push main → tests → build → scan Trivy → GHCR → staging
tag vX.Y.Z → prod (rollback = git revert)
supervision probes k8s natives, backups chiffrés quotidiens