docs(ideai): met à jour les tickets #13/#14/#15 après le correctif repositories

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-17 22:14:10 +02:00
parent 9f9d0dbe3b
commit 66c8491e79
8 changed files with 105 additions and 1 deletions

View File

@ -0,0 +1,6 @@
---
issueRef: "#13"
version: 3
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedAt: 1784319234004
---

View File

@ -0,0 +1,16 @@
---
id: "da27e09c-79d2-43fa-90e5-3e8ef32e789f"
number: 13
title: "[DevBackend] Use cases de persistance et reprise du minuteur de repos"
status: "closed"
priority: "high"
sprint: null
links: [{"target":"#9","kind":"relatesTo"}]
agentRefs: [{"agentId":"10ee045b-1c41-479e-ba03-dceed9edd495","role":"assigned"}]
createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
createdAt: 1784318990378
updatedAt: 1784319234004
version: 3
---
Ajouter les use cases manquants pour que l'ajustement du minuteur de repos (±15s) soit persisté et que l'écran d'exécution puisse retrouver l'état de repos en cours après une fermeture d'app. lib/application/use_cases.dart expose déjà startRestAfterSet, mais aucun moyen de mettre à jour adjustedRestSeconds ou de marquer skippedAt après création. Le repository (lib/application/ports.dart / lib/infrastructure/local/drift_repositories.dart) expose déjà saveRestState et listRestStates — à réutiliser.

View File

@ -0,0 +1,6 @@
---
issueRef: "#14"
version: 2
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedAt: 1784319234693
---

View File

@ -0,0 +1,18 @@
---
id: "bf12e886-4849-4095-afc9-aa37c61fa257"
number: 14
title: "[DevFrontend] Repos persistant/reprenable + temps réel par série"
status: "inProgress"
priority: "high"
sprint: null
links: [{"target":"#9","kind":"relatesTo"}]
agentRefs: [{"agentId":"9933c93a-b8a1-4164-a3bb-7063fdad747d","role":"assigned"}]
createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
createdAt: 1784318996196
updatedAt: 1784319234693
version: 2
---
Deux corrections sur lib/presentation/workout_execution_screen.dart, trouvées par QA (ticket #11) :
1. Les ajustements ±15s du minuteur de repos ne sont modifiés qu'en mémoire (_remainingRestSeconds) et jamais re-persistés — après un kill d'app pendant un repos, l'écran redémarre sur l'exercice actif au lieu de reprendre le décompte de repos exact. À l'ouverture de l'écran, il faut relire l'état de repos actif éventuel (listRestStates / le nouveau use case du ticket dédié) et calculer le temps restant depuis les horodatages persistés, pas repartir de zéro.
2. `actualTimeMs` est toujours enregistré à 0 (ligne ~315) même quand la mesure Temps est active pour la série — il faut chronométrer réellement le temps passé sur la série (depuis son démarrage jusqu'à "Terminer la série") et transmettre cette valeur réelle à recordCurrentSetResult.

View File

@ -0,0 +1,6 @@
---
issueRef: "#15"
version: 1
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedAt: 1784318999121
---

View File

@ -0,0 +1,16 @@
---
id: "3463569f-e837-4af9-8156-4968e178d4e1"
number: 15
title: "[DevFrontend] Sélecteur de fichier pour l'import média (remplace la saisie manuelle de chemin)"
status: "open"
priority: "medium"
sprint: null
links: [{"target":"#6","kind":"relatesTo"}]
agentRefs: [{"agentId":"9933c93a-b8a1-4164-a3bb-7063fdad747d","role":"assigned"}]
createdBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
createdAt: 1784318999121
updatedAt: 1784318999121
version: 1
---
L'écran de création/édition d'exercice (lib/presentation/exercise_library_screen.dart) fait actuellement saisir manuellement un chemin de fichier pour importer une image/vidéo. Remplacer par un vrai sélecteur de fichiers via le package `image_picker` (à ajouter en dépendance dans pubspec.yaml — nouvelle dépendance, signalée et acceptée par l'utilisateur). Garder MediaUseCases.importMedia tel quel côté logique métier, seul le déclenchement du chemin source change (sélection graphique au lieu de TextField).

View File

@ -1,3 +1,3 @@
{
"nextNumber": 13
"nextNumber": 16
}

View File

@ -144,6 +144,42 @@
"10ee045b-1c41-479e-ba03-dceed9edd495"
],
"updatedAt": 1784301400489
},
{
"issueRef": "#13",
"path": "13",
"title": "[DevBackend] Use cases de persistance et reprise du minuteur de repos",
"status": "closed",
"priority": "high",
"sprint": null,
"assignedAgentIds": [
"10ee045b-1c41-479e-ba03-dceed9edd495"
],
"updatedAt": 1784319234004
},
{
"issueRef": "#14",
"path": "14",
"title": "[DevFrontend] Repos persistant/reprenable + temps réel par série",
"status": "inProgress",
"priority": "high",
"sprint": null,
"assignedAgentIds": [
"9933c93a-b8a1-4164-a3bb-7063fdad747d"
],
"updatedAt": 1784319234693
},
{
"issueRef": "#15",
"path": "15",
"title": "[DevFrontend] Sélecteur de fichier pour l'import média (remplace la saisie manuelle de chemin)",
"status": "open",
"priority": "medium",
"sprint": null,
"assignedAgentIds": [
"9933c93a-b8a1-4164-a3bb-7063fdad747d"
],
"updatedAt": 1784318999121
}
]
}