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:
@ -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
|
||||
|
||||
35
.ideai/memory/gametime-ux-exercise-default-targets.md
Normal file
35
.ideai/memory/gametime-ux-exercise-default-targets.md
Normal 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).
|
||||
@ -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
|
||||
---
|
||||
|
||||
@ -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.
|
||||
6
.ideai/tickets/39/carnet.md
Normal file
6
.ideai/tickets/39/carnet.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
issueRef: "#39"
|
||||
version: 3
|
||||
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
updatedAt: 1784362685685
|
||||
---
|
||||
16
.ideai/tickets/39/issue.md
Normal file
16
.ideai/tickets/39/issue.md
Normal 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.
|
||||
6
.ideai/tickets/40/carnet.md
Normal file
6
.ideai/tickets/40/carnet.md
Normal file
@ -0,0 +1,6 @@
|
||||
---
|
||||
issueRef: "#40"
|
||||
version: 4
|
||||
updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"}
|
||||
updatedAt: 1784362686414
|
||||
---
|
||||
16
.ideai/tickets/40/issue.md
Normal file
16
.ideai/tickets/40/issue.md
Normal 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.
|
||||
@ -1,3 +1,3 @@
|
||||
{
|
||||
"nextNumber": 39
|
||||
"nextNumber": 41
|
||||
}
|
||||
@ -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
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user