Commit Graph

270 Commits

Author SHA1 Message Date
c10e8f9085 merge(main): schéma PostgreSQL sync-ready (ticket #49)
Fusionne feature/server-49-postgres-schema — dart analyze clean, dart
test vert (test PostgreSQL réel skip faute de Docker disponible ; SQL
de migration revu manuellement). Posé avant #48 pour que son adapter
d'auth s'appuie sur la table users déjà en place.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 10:05:28 +02:00
79d994bdd7 feat(server): schéma PostgreSQL sync-ready (ticket #49)
Ajoute la migration initiale (migrations/0001_initial_schema.sql,
incluant la table users nécessaire à l'adapter d'auth du ticket #48),
le runner de migration (bin/migrate.dart) et l'accès Postgres
(infrastructure/postgres/postgres_database.dart). dart pub get OK,
dart analyze clean, dart test vert (le test PostgreSQL réel est skip
faute de TEST_DATABASE_URL/Docker disponible dans ce sandbox ; SQL de
migration revu manuellement).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 10:05:24 +02:00
e06de40428 merge(main): scaffolding du serveur Dart headless hexagonal (ticket #47)
Fusionne feature/server-47-scaffolding — dart analyze clean, dart
test 1/1 vert, serveur démarré et GET /health validé (200
{"status":"ok"}). Premier ticket du chantier serveur (#47 à #53).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 00:04:44 +02:00
c3158f665e docs(ideai): mémoire architecture serveur, tickets #44/#45 en QA, cadrage #47-#53
Ajoute la note mémoire d'architecture serveur (sync/sharing), passe les
tickets #44/#45 en QA, ajoute le cadrage du chantier serveur (tickets
#47 à #53).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 00:04:40 +02:00
cc1388cc9e feat(server): scaffolding du serveur Dart headless hexagonal (ticket #47)
Ajoute le nouveau paquet server/ (architecture hexagonale : api,
domain, application, infrastructure/postgres, infrastructure/security,
migrations, scripts) avec un premier endpoint GET /health. dart pub
get OK, dart analyze clean, dart test 1/1 vert, serveur démarré
manuellement et validé (GET /health -> 200 {"status":"ok"}).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-19 00:04:34 +02:00
8d9d4f0cd3 merge(main): score par défaut à 0 et affichage des répétitions en séance (tickets #44, #45)
Fusionne feature/bugsprint-score-zero-reps-display — 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>
2026-07-18 22:36:03 +02:00
80e6f8558e docs(ideai): passe les tickets #41/#42/#43 en QA
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 22:35:59 +02:00
1aa2304328 fix(exercice): score par défaut à 0 et affichage des répétitions en séance (tickets #44, #45)
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>
2026-07-18 22:35:52 +02:00
d3b93cb131 merge(main): correctifs carrousel de médias et chrono du score (tickets #41, #42, #43)
Fusionne feature/bugsprint-medias-chrono — analyze propre, 77/77
tests verts (plus aucun hang), pub get résolu avec video_player 2.13.0,
build APK validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 22:29:02 +02:00
1c5f2d50ee docs(ideai): met à jour les tickets après le correctif médias/chrono
Clôture les tickets #41, #42, #43, ajoute le cadrage des tickets
#44/#45/#46.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 22:28:58 +02:00
3605b3d99a fix(execution): carrousel de médias et chrono du score (tickets #41, #42, #43)
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>
2026-07-18 22:28:52 +02:00
1489db6a18 merge(main): affichage du chrono de score dans le plan et l'historique (ticket #28)
Fusionne feature/#28-affichage-chrono-plan-historique — 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>
2026-07-18 14:40:49 +02:00
fef5c78b0d docs(ideai): met à jour les tickets #18/#28 — score chronométré clos, backlog terminé
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:40:43 +02:00
1a315d586f feat(ui): affichage du chrono de score dans le plan et l'historique (ticket #28)
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>
2026-07-18 14:40:37 +02:00
a1b27fdcbc merge(main): chrono du score chronométré en exécution (ticket #27)
Fusionne feature/#27-chrono-score-execution — analyze propre, 75/75
tests verts, build APK debug validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:34:44 +02:00
bfca201f7a docs(ideai): met à jour le ticket #27 après le chrono en exécution
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:34:40 +02:00
cdcb0beead feat(exécution): chrono du score chronométré pendant la séance (ticket #27)
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>
2026-07-18 14:34:36 +02:00
b8ac8658f3 merge(main): icône d'exercice (ticket #38)
Fusionne feature/#38-icone-exercice — analyze propre, 72/72 tests
verts, build APK debug validé. Dernier ticket du backlog, clôturé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:25:33 +02:00
50fa817bf2 docs(ideai): met à jour le ticket #38 après l'icône d'exercice — backlog clos
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:25:29 +02:00
bdd7877ea5 feat(exercice): icône d'exercice (ticket #38)
Étend le modèle Drift (tables.dart, app_database.dart/.g.dart), les
entités/use cases/repositories et les écrans bibliothèque d'exercices
et programme pour associer une icône à chaque exercice. flutter
analyze propre, 72/72 tests verts, build APK debug validé. Dernier
ticket du backlog.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:25:26 +02:00
c92bded211 merge(main): affichage des médias pendant l'exécution (ticket #36)
Fusionne feature/#36-affichage-medias-exercice — analyze propre,
67/67 tests verts, build APK debug validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:16:43 +02:00
93ff1a06e0 docs(ideai): met à jour la mémoire et le ticket #36 après l'affichage des médias
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:16:39 +02:00
ff6b79b66e feat(exercice): affichage des médias pendant l'exécution (ticket #36)
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>
2026-07-18 14:16:31 +02:00
7385c96517 merge(main): galerie de 5 images par exercice (ticket #35)
Fusionne feature/#35-plusieurs-images-exercice — analyze propre,
63/63 tests verts, build APK debug validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:02:53 +02:00
a3f8a1970b docs(ideai): met à jour le ticket #35 après la galerie d'images d'exercice
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:02:49 +02:00
8bda4758f2 feat(exercice): galerie de 5 images par exercice (ticket #35)
Étend le modèle Drift (tables.dart, app_database.dart/.g.dart), les
entités/use cases/repositories et exercise_library_screen.dart pour
supporter jusqu'à 5 images par exercice au lieu d'une seule. flutter
analyze propre, 63/63 tests verts, build APK debug validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 14:02:40 +02:00
6419e2d9cc merge(main): compteur de série visible pendant l'exécution (ticket #34)
Fusionne feature/#34-compteur-serie-visible — analyze propre, 58/58
tests verts, build APK debug validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 10:38:56 +02:00
9995e44f34 docs(ideai): met à jour la mémoire et le ticket #34 après le compteur de série
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 10:38:52 +02:00
d1efb41844 feat(ui): compteur de série visible pendant l'exécution (ticket #34)
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>
2026-07-18 10:38:46 +02:00
7238045526 merge(main): suppression en cascade exercice/programme/séance-modèle (ticket #37)
Fusionne feature/#37-suppression-programme-seance-exercice — analyze
propre, 58/58 tests verts, build APK debug validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 10:33:12 +02:00
79a1d8ba3c docs(ideai): met à jour le ticket #37 après la suppression en cascade
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 10:33:09 +02:00
1a0d01f038 feat(gestion): suppression en cascade exercice/programme/séance-modèle (ticket #37)
Ajoute la suppression avec gestion des dépendances en cascade sur les
écrans bibliothèque d'exercices, programme et séance-modèle, avec les
use cases et le bootstrap applicatif associés. flutter analyze propre,
58/58 tests verts, build APK debug validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 10:33:06 +02:00
7434790da2 merge(main): valeurs par défaut d'exercice (tickets #39/#40, parent #30)
Fusionne feature/#30-valeurs-defaut-exercice — analyze propre, 51/51
tests verts, build APK debug validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 10:18:44 +02:00
552072ec3d docs(ideai): met à jour la mémoire et les tickets après les valeurs par défaut d'exercice
Ajoute la note mémoire UX sur les valeurs par défaut d'exercice,
clôture les tickets #39/#40 et le parent #30.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 10:18:39 +02:00
88af0387da feat(exercice): valeurs par défaut d'exercice (tickets #39/#40, parent #30)
Étend le modèle Drift (tables.dart, app_database.dart/.g.dart), les
entités/use cases/repositories et les écrans bibliothèque d'exercices
et programme pour supporter des valeurs par défaut par exercice
(répétitions/temps/poids proposés à la création d'une série).
flutter analyze propre, 51/51 tests verts, build APK debug validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 10:18:31 +02:00
6ee06fef01 merge(main): popup séance déjà en cours (ticket #33)
Fusionne feature/#33-popup-seance-deja-en-cours — analyze propre,
46/46 tests verts, build APK debug validé. Ticket laissé en statut QA :
validation manuelle sur APK par l'utilisateur avant clôture. Clôture
le sprint Bug resolution (tickets #24, #29, #31, #32, #33).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:57:15 +02:00
6345f6d405 docs(ideai): met à jour le ticket #33 — correctif appliqué, en attente de validation QA utilisateur
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:57:10 +02:00
82226677a9 fix(ui): popup séance déjà en cours (ticket #33)
Corrige le popup averti quand une séance est déjà en cours sur
workout_template_screen.dart. flutter analyze propre, 46/46 tests
verts, build APK debug validé. Ticket laissé en QA : validation
manuelle sur APK par l'utilisateur avant clôture. Clôture le sprint
Bug resolution (tickets #24, #29, #31, #32, #33).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:57:07 +02:00
53db73eacd merge(main): bandeau de reprise de séance en cours (ticket #32)
Fusionne feature/#32-bandeau-reprise — analyze propre, 45/45 tests
verts, build APK debug validé. Ticket laissé en statut QA :
validation manuelle sur APK par l'utilisateur avant clôture.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:52:50 +02:00
7fa992fed5 docs(ideai): met à jour le ticket #32 — correctif appliqué, en attente de validation QA utilisateur
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:52:44 +02:00
212418e062 fix(ui): bandeau de reprise de séance en cours (ticket #32)
Ajoute/corrige le bandeau de reprise sur home_screen.dart, avec les
ajustements de bootstrap applicatif nécessaires, et sa couverture de
tests. flutter analyze propre, 45/45 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>
2026-07-18 09:52:40 +02:00
40a543d450 merge(main): popup de confirmation d'ajout d'exercice (ticket #24)
Fusionne feature/#24-popup-exercice-ajoute — analyze propre, 43/43
tests verts, build APK debug validé. Ticket laissé en statut QA :
validation manuelle sur APK par l'utilisateur avant clôture.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:23:20 +02:00
834b222a17 docs(ideai): met à jour le ticket #24 — correctif appliqué, en attente de validation QA utilisateur
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:23:15 +02:00
3a2d26ac49 fix(ui): popup de confirmation d'ajout d'exercice (ticket #24)
Corrige le popup de confirmation quand un exercice est ajouté sur
program_screen.dart. flutter analyze propre, 43/43 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>
2026-07-18 09:23:12 +02:00
6b59c0fa33 merge(main): correctif série non terminable (ticket #29)
Fusionne feature/#29-serie-non-terminable — analyze propre, 42/42
tests verts, build APK debug validé. Ticket laissé en statut QA :
validation manuelle sur APK par l'utilisateur avant clôture.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:12:53 +02:00
d55d12e7ac docs(ideai): met à jour le ticket #29 — correctif appliqué, en attente de validation QA utilisateur
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:12:48 +02:00
1e402a55c6 fix(execution): série qu'on ne pouvait pas terminer (ticket #29)
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>
2026-07-18 09:12:44 +02:00
116017bda6 merge(main): configuration du score chronométré (ticket #26)
Fusionne feature/#26-score-chrono-config — analyze propre, 41/41
tests verts, build APK debug validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:08:27 +02:00
57475f238b docs(ideai): met à jour la mémoire et les tickets après la config score chronométré
Ajoute le plan de reprise mémoire, clôture le ticket #26, reflète le
ticket #35, ajoute le cadrage des tickets #37/#38.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:08:23 +02:00
2f732aa1b1 feat(ui): configuration du score chronométré (ticket #26)
Ajoute la configuration du score chronométré sur exercise_library_screen.dart
et program_screen.dart, s'appuyant sur les fondations domain du ticket
#25. flutter analyze propre, 41/41 tests verts, build APK debug validé.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-18 09:08:16 +02:00