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>
This commit is contained in:
2026-07-18 10:18:39 +02:00
parent 88af0387da
commit 552072ec3d
10 changed files with 114 additions and 10 deletions

View File

@ -10,3 +10,4 @@
- [gametime-ux-score-chrono](gametime-ux-score-chrono.md) — memory note gametime-ux-score-chrono
- [gametime-architecture-score-chrono](gametime-architecture-score-chrono.md) — memory note gametime-architecture-score-chrono
- [gametime-resume-plan-2026-07-18](gametime-resume-plan-2026-07-18.md) — memory note gametime-resume-plan-2026-07-18
- [gametime-ux-exercise-default-targets](gametime-ux-exercise-default-targets.md) — memory note gametime-ux-exercise-default-targets

View File

@ -0,0 +1,35 @@
---
name: gametime-ux-exercise-default-targets
description: memory note gametime-ux-exercise-default-targets
metadata:
type: project
---
# GameTime — Valeurs cibles par défaut à la création d'exercice (ticket #30, UX 2026-07-18)
Décision : ajouter les valeurs cibles par défaut au niveau **Exercice**, obligatoires pour les mesures activées (sauf Score chrono, optionnel).
## Formulaire exercice
- Temps activé → champ "Temps par défaut (s)", obligatoire, validation "Saisis un temps supérieur à 0."
- Répétitions activé → champ "Répétitions par défaut", obligatoire, validation "Saisis un nombre de répétitions supérieur à 0."
- Score activé + mode Saisie libre → nouveau champ "Score par défaut" en plus de "Score à saisir"/"Unité", validation "Saisis un score supérieur à 0."
- Score activé + mode Chrono intégré → PAS de "Score par défaut" ; à la place "Objectif de chrono par défaut (optionnel)", validation seulement si rempli ("Saisis un objectif supérieur à 0.").
- Mesure désactivée → son champ disparaît, pas de validation dessus. Réactivée → champ revient, doit être rempli avant sauvegarde.
## Champs domaine à ajouter sur Exercise
- `defaultTargetTimeSeconds` (obligatoire si hasTimeMeasure)
- `defaultTargetReps` (obligatoire si hasRepsMeasure)
- `defaultTargetScore` (obligatoire si hasScoreMeasure et scoreInputMode manual)
- `defaultTargetScoreTimeMs` (optionnel, seulement si scoreInputMode stopwatch)
Contrainte : valeur obligatoire toujours > 0 ; optionnelle (score chrono) mais si présente > 0.
## Utilisation dans programme
Quand un exercice est ajouté à un programme (ticket #20), les cibles sont préremplies depuis les valeurs par défaut de l'exercice au lieu des valeurs génériques actuelles :
- targetTimeSeconds ← defaultTargetTimeSeconds
- targetReps ← defaultTargetReps
- targetScore ← defaultTargetScore (score libre)
- targetScoreTimeMs ← defaultTargetScoreTimeMs si présent (score chrono)
Tout reste modifiable ensuite dans "Personnaliser l'exercice".
## Migration
Exercices existants sans valeurs par défaut : l'utilisateur devra compléter les champs manquants au prochain enregistrement de l'exercice (pas de blocage rétroactif immédiat, mais validation bloquante dès la prochaine sauvegarde).

View File

@ -1,6 +1,6 @@
---
issueRef: "#30"
version: 2
updatedBy: {"kind":"user"}
updatedAt: 1784328751807
version: 4
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
updatedAt: 1784362687149
---

View File

@ -2,15 +2,15 @@
id: "d4793c3f-a308-42f3-89e6-335cb2f95310"
number: 30
title: "Ajouter ajouter des valeurs par défaut à la création d'un exercice"
status: "open"
status: "closed"
priority: "critical"
sprint: null
links: []
agentRefs: []
createdBy: {"kind":"user"}
updatedBy: {"kind":"user"}
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
createdAt: 1784328704260
updatedAt: 1784328751807
version: 2
updatedAt: 1784362687149
version: 4
---
Il faut qu'a la création d'un exercice, il soit obligatoire de donner des valeurs par défaut pour les cibles choisies pour l'exercice. Il faut que ces valeurs oient positives et différentes de 0 pour éviter tout soucis.

View File

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

View File

@ -0,0 +1,16 @@
---
id: "8f581a08-3963-495a-863c-22e8a58b3867"
number: 39
title: "[DevBackend] Valeurs cibles par défaut sur Exercise"
status: "closed"
priority: "critical"
sprint: null
links: [{"target":"#30","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: 1784361529389
updatedAt: 1784362685685
version: 3
---
Ajouter defaultTargetTimeSeconds/defaultTargetReps/defaultTargetScore/defaultTargetScoreTimeMs sur Exercise (migration Drift), avec validation domaine : valeur obligatoire >0 si la mesure correspondante est active (sauf score chrono où l'objectif par défaut reste optionnel mais >0 si renseigné). Cf. mémoire "gametime-ux-exercise-default-targets" pour le détail complet.

View File

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

View File

@ -0,0 +1,16 @@
---
id: "6bb171cc-2a3a-45b2-a952-5453de1cf1fc"
number: 40
title: "[DevFrontend] Formulaire exercice : champs de valeurs par défaut + préremplissage programme"
status: "closed"
priority: "critical"
sprint: null
links: [{"target":"#30","kind":"relatesTo"},{"target":"#39","kind":"dependsOn"}]
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: 1784361532790
updatedAt: 1784362686414
version: 4
---
Ajouter les champs de valeur par défaut dans le formulaire de création/édition d'exercice (Temps par défaut, Répétitions par défaut, Score par défaut, Objectif de chrono par défaut optionnel), avec validation bloquante >0. Utiliser ces valeurs par défaut pour préremplir les cibles quand l'exercice est ajouté à un programme (au lieu des valeurs génériques actuelles). Cf. mémoire "gametime-ux-exercise-default-targets" pour le détail complet.

View File

@ -1,3 +1,3 @@
{
"nextNumber": 39
"nextNumber": 41
}

View File

@ -337,11 +337,11 @@
"issueRef": "#30",
"path": "30",
"title": "Ajouter ajouter des valeurs par défaut à la création d'un exercice",
"status": "open",
"status": "closed",
"priority": "critical",
"sprint": null,
"assignedAgentIds": [],
"updatedAt": 1784328751807
"updatedAt": 1784362687149
},
{
"issueRef": "#31",
@ -436,6 +436,30 @@
"57695b92-24d0-4876-837c-76116e70a6ae"
],
"updatedAt": 1784330204091
},
{
"issueRef": "#39",
"path": "39",
"title": "[DevBackend] Valeurs cibles par défaut sur Exercise",
"status": "closed",
"priority": "critical",
"sprint": null,
"assignedAgentIds": [
"10ee045b-1c41-479e-ba03-dceed9edd495"
],
"updatedAt": 1784362685685
},
{
"issueRef": "#40",
"path": "40",
"title": "[DevFrontend] Formulaire exercice : champs de valeurs par défaut + préremplissage programme",
"status": "closed",
"priority": "critical",
"sprint": null,
"assignedAgentIds": [
"9933c93a-b8a1-4164-a3bb-7063fdad747d"
],
"updatedAt": 1784362686414
}
]
}