Sépare la notion de Durée (paramètre configuré) de Temps réalisé (résultat
mesuré au chronomètre), renomme le champ « Temps par défaut (s) » en
« Durée par défaut (s) » dans la bibliothèque d'exercices, et limite
l'exécution à un seul chrono visible à la fois. Le mode Score chrono est
conservé tel quel comme mode du score.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Refonte de workout_execution_screen.dart cadrée UX+Architect ; résout au passage la dette de tests du ticket #90 (3 échecs préexistants désormais verts).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Affiche la dernière performance et le meilleur score par exercice
pendant l'exécution de séance (écran d'exécution), ainsi que les
points d'accès associés dans l'accueil, la séance-modèle et
l'historique, en s'appuyant sur ExercisePerformanceReferenceUseCase.
Validé GO par Main : dart analyze propre, 178 tests (4 échecs
préexistants sans rapport, identiques à ceux déjà documentés sur #80).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Réorganise l'écran d'exécution autour d'une carte "Exercice actif" sous
le compteur SÉRIE X/Y (nom, médias, temps de série, action "Démarrer
l'exercice"). Le timer de série devient un état persistant dédié (plus
un DateTime UI volatile), pause-aware, et "Démarrer l'exercice" lance
en une action tous les chronos qui doivent démarrer en début de série
(série, première étape temps, score chrono si stopwatch).
Implémentation restée non commitée depuis sa réalisation ; QA a validé
les vérifications statiques exécutables en sandbox (dart analyze,
git diff --check). flutter analyze / flutter test restent à relancer
dans un environnement avec cache Flutter SDK accessible.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute l'état "Chrono suivant prêt" sur workout_execution_screen.dart
pour l'auto-enchaînement des chronos d'étapes. Corrige
_startCurrentStepTimerIfNeeded() qui forçait à tort startTimer() : il
se contente maintenant de rafraîchir le ticker d'affichage, laissant
le backend (#76) seul décisionnaire du démarrage automatique ou de
l'attente du chrono suivant. flutter pub get OK, dart format appliqué
(aucun changement), analyze propre (mêmes infos préexistantes),
153/153 tests verts (dont le test de non-régression pour
l'enchaînement automatique activé par défaut), build APK debug
validé. Dernier ticket de développement du chantier
"auto-enchaînement des chronos d'étapes" (#73) — il ne reste que la
QA finale (#79).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Affiche le plan de séance et l'historique avec les résultats par
étape sur workout_execution_screen.dart et history_screen.dart.
flutter pub get OK, dart format appliqué (3 fichiers reformatés),
analyze propre (mêmes infos préexistantes), 102/102 tests verts,
build APK debug validé. Dernier ticket UI du chantier "Exercice à
plusieurs étapes" (#54) — il ne reste que la QA finale (#62).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Relance le timer de l'étape en cours si son état restauré est en
pause, au lieu de rester bloqué en pause après une reprise de séance.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute le lecteur de bips d'étapes (presentation/exercise_step_audio.dart,
port ExerciseStepAudioCuePlayer injectable en test, jamais le vrai
audioplayers en test) et les fichiers audio associés
(assets/audio/step_countdown_short.wav, step_completion_long.wav).
Câble ActiveExerciseStepUseCases dans app_bootstrap.dart et l'expose à
WorkoutExecutionScreen. Les appels audio réels sont protégés par un
try/catch qui log sans jamais bloquer la progression d'étape. flutter
pub get OK (ajout audioplayers), analyze propre (mêmes infos
préexistantes + 2 nouvelles use_build_context_synchronously, non
bloquantes), 100/100 tests verts, build APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Autorise un score par défaut à 0 (#44) et corrige l'affichage des
répétitions à 0 pendant l'exécution au lieu de la vraie cible (#45),
sur exercise_library_screen.dart et workout_execution_screen.dart,
avec les ajustements domain/use cases associés. flutter analyze
propre (mêmes 8 infos préexistantes), 79/79 tests verts, build APK
debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Corrige l'affichage des images (#41) et de la vidéo (#42) dans le
carrousel de médias, et le format du chrono de score qui n'affichait
que les secondes (#43) sur workout_execution_screen.dart. Ajoute la
dépendance video_player (2.13.0) pour la lecture vidéo. Ajuste
home_screen.dart, history_screen.dart et workout_template_screen.dart
en conséquence. flutter analyze propre, flutter test 77/77 vert (plus
aucun hang), pub get résolu.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Affiche le chrono du score chronométré sur workout_execution_screen.dart
(plan de séance) et history_screen.dart (historique). flutter analyze
propre, 77/77 tests verts, build APK debug validé. Dernier ticket du
backlog — clôture aussi le ticket parent #18 (score chronométré).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute le chrono du score chronométré (fondation domain/config des
tickets #25/#26) sur workout_execution_screen.dart, avec les use
cases associés. flutter analyze propre, 75/75 tests verts, build APK
debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Expose la galerie d'images d'exercice (backend du ticket #35) pendant
l'exécution de séance sur workout_execution_screen.dart et
program_screen.dart, avec les ajustements domain/use cases/repositories
nécessaires. flutter analyze propre, 67/67 tests verts, build APK
debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Affiche le compteur de série en cours sur workout_execution_screen.dart.
flutter analyze propre, 58/58 tests verts, build APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Corrige le blocage empêchant de terminer une série sur
workout_execution_screen.dart. flutter analyze propre, 42/42 tests
verts, build APK debug validé. Ticket laissé en QA : validation
manuelle sur APK par l'utilisateur avant clôture.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Corrige la flèche de retour sur workout_execution_screen.dart : elle
ouvre désormais le choix pause/abandon ou quitter-et-sauvegarder au
lieu de ne rien faire. flutter analyze propre, 36/36 tests verts,
build APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Expose l'édition ponctuelle des séries (backend du ticket #21) sur
workout_execution_screen.dart, sans impacter le modèle de séance.
flutter analyze propre, 33/33 tests verts, build APK debug validé.
Clôture le lot navigation libre / programme simplifié (tickets #20 à #23).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Permet de circuler librement entre les exercices/séries du plan de
séance sur workout_execution_screen.dart, au lieu d'un déroulé
strictement linéaire. flutter analyze propre, 31/31 tests verts, build
APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute le thème centralisé (presentation/theme.dart) basé sur les
polices Anton/Archivo et l'applique à tous les écrans (accueil,
bibliothèque d'exercices, programme, séance-modèle, exécution de
séance, historique). flutter analyze propre, 27/27 tests verts, build
APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Corrige la reprise de séance sur workout_execution_screen.dart suite
aux retours de QA. flutter analyze propre, 26/26 tests verts, build
APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute l'écran d'historique des séances (presentation/history_screen.dart),
avec les ajustements application/domaine/repositories nécessaires et la
navigation depuis l'accueil. Complète le dernier écran du périmètre UI.
flutter analyze propre, 18/18 tests verts, build APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Ajoute l'écran d'exécution de séance (presentation/workout_execution_screen.dart),
avec les ajustements application/domaine/repositories nécessaires et la
navigation depuis l'accueil et l'écran séance-modèle. flutter analyze
propre, 15/15 tests verts, build APK debug validé.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>