{ "version": 1, "issues": [ { "issueRef": "#1", "path": "1", "title": "[Git] Initialiser le dépôt et la stratégie de branches GameTime", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "8f065f64-ef6e-4a00-af9c-d00be079e3cc" ], "updatedAt": 1784301585782 }, { "issueRef": "#2", "path": "2", "title": "[DevBackend] Scaffolding projet Flutter + architecture hexagonale", "status": "closed", "priority": "critical", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784304100048 }, { "issueRef": "#3", "path": "3", "title": "[DevBackend] Modèle de données Drift complet (entités + migrations)", "status": "closed", "priority": "critical", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784305026425 }, { "issueRef": "#4", "path": "4", "title": "[DevBackend] Couche application : use cases et repositories", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784305595841 }, { "issueRef": "#5", "path": "5", "title": "[DevBackend] Gestion des médias locaux", "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784305875016 }, { "issueRef": "#6", "path": "6", "title": "[DevFrontend] Écran Bibliothèque d'exercices", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784306547848 }, { "issueRef": "#7", "path": "7", "title": "[DevFrontend] Écran Création/édition de programme", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784307099507 }, { "issueRef": "#8", "path": "8", "title": "[DevFrontend] Écran Composition de séance-modèle", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784307587164 }, { "issueRef": "#9", "path": "9", "title": "[DevFrontend] Écran Exécution de séance", "status": "closed", "priority": "critical", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784308091100 }, { "issueRef": "#10", "path": "10", "title": "[DevFrontend] Écran Historique des séances", "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784308662161 }, { "issueRef": "#11", "path": "11", "title": "[QA] Plan et exécution des tests fonctionnels GameTime", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "7efa512f-3b3a-47b5-ade0-a2dd13073055" ], "updatedAt": 1784309299325 }, { "issueRef": "#12", "path": "12", "title": "[DevBackend] Préparation technique de la synchro serveur future", "status": "closed", "priority": "low", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784328818712 }, { "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": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784319492849 }, { "issueRef": "#15", "path": "15", "title": "[DevFrontend] Sélecteur de fichier pour l'import média (remplace la saisie manuelle de chemin)", "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784319755572 }, { "issueRef": "#17", "path": "17", "title": "[DevFrontend] Implémentation de l'identité visuelle \"Court Blazer\" sur toute l'app", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784324772157 }, { "issueRef": "#18", "path": "18", "title": "Ajouter un type de score spécial temps", "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [], "updatedAt": 1784378420355 }, { "issueRef": "#19", "path": "19", "title": "[DevFrontend] Icône d'application Android/iOS \"Court Blazer\"", "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784325166560 }, { "issueRef": "#20", "path": "20", "title": "[DevFrontend] Programme : cartes exercice compactes + écran de personnalisation séparé", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784327055822 }, { "issueRef": "#21", "path": "21", "title": "[DevBackend] Modèle et use cases pour l'édition ponctuelle de séries en séance active", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784326729918 }, { "issueRef": "#22", "path": "22", "title": "[DevFrontend] Exécution : plan de séance consultable", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784327426815 }, { "issueRef": "#23", "path": "23", "title": "[DevFrontend] Exécution : édition ponctuelle d'une série passée ou terminée", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784327862613 }, { "issueRef": "#24", "path": "24", "title": "[Bug] Popup \"Exercie ajouté\" qui ne s'enlève pas quand on ajoute un exercice", "status": "closed", "priority": "high", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784482464083 }, { "issueRef": "#25", "path": "25", "title": "[DevBackend] Domain et migration pour le score chronométré", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784329799370 }, { "issueRef": "#26", "path": "26", "title": "[DevFrontend] Configuration du Score chrono (exercice + programme)", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784358479742 }, { "issueRef": "#27", "path": "27", "title": "[DevFrontend] Chrono score intégré dans l'exécution de séance", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784378061444 }, { "issueRef": "#28", "path": "28", "title": "[DevFrontend] Affichage du Score chrono dans le plan de séance et l'historique", "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784378419582 }, { "issueRef": "#29", "path": "29", "title": "[Bug] Serie qu'on ne peut pas terminer", "status": "closed", "priority": "critical", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [], "updatedAt": 1784482456784 }, { "issueRef": "#30", "path": "30", "title": "Ajouter ajouter des valeurs par défaut à la création d'un exercice", "status": "closed", "priority": "critical", "sprint": null, "assignedAgentIds": [], "updatedAt": 1784362687149 }, { "issueRef": "#31", "path": "31", "title": "[Bug] Fleche retour non fonctionnelle dans une seance en cours", "status": "closed", "priority": "high", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784329139605 }, { "issueRef": "#32", "path": "32", "title": "[Bug] Reprendre séance en cours pas toujours affiché", "status": "closed", "priority": "medium", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784482442930 }, { "issueRef": "#33", "path": "33", "title": "[Bug] Impossible de lancer une seance", "status": "closed", "priority": "medium", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [], "updatedAt": 1784482438271 }, { "issueRef": "#34", "path": "34", "title": "Rendr ele compteur de série plus visible", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784363909962 }, { "issueRef": "#35", "path": "35", "title": "Proposer de mettre plsuieurs images pour un exercice", "status": "closed", "priority": "low", "sprint": null, "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784364636506 }, { "issueRef": "#36", "path": "36", "title": "Afficher les images et les vidéos", "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784376975122 }, { "issueRef": "#37", "path": "37", "title": "Pouvoir supprimer un programme, une séance ou un exercice", "status": "closed", "priority": "high", "sprint": null, "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784363570119 }, { "issueRef": "#38", "path": "38", "title": "Proposer de mettre une image pour l'icone de l'exercice", "status": "closed", "priority": "medium", "sprint": null, "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784377509677 }, { "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 }, { "issueRef": "#41", "path": "41", "title": "[bug] images non affichée dans le caroussel", "status": "closed", "priority": "medium", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784482434770 }, { "issueRef": "#42", "path": "42", "title": "[bug] vidéo non affichée dans le caroussel", "status": "closed", "priority": "medium", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784482429394 }, { "issueRef": "#43", "path": "43", "title": "[Bug] chrono qui n'affiche que les secondes", "status": "closed", "priority": "medium", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784482421672 }, { "issueRef": "#44", "path": "44", "title": "[Bug] Je veux pouvoir mettre un score par défaut à 0.", "status": "closed", "priority": "medium", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784482417515 }, { "issueRef": "#45", "path": "45", "title": "[Bug] Affichage de répétition en séance à 0", "status": "closed", "priority": "medium", "sprint": "abc4f969-b169-45f7-988c-daeeab762201", "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784482408550 }, { "issueRef": "#46", "path": "46", "title": "Créer un serveur headless pour l'application", "status": "qa", "priority": "low", "sprint": "4237adfd-91eb-45ff-9f32-6ce1daa39822", "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784488112374 }, { "issueRef": "#47", "path": "47", "title": "[Server] Scaffolding serveur Dart headless hexagonal", "status": "closed", "priority": "low", "sprint": null, "assignedAgentIds": [], "updatedAt": 1784448362531 }, { "issueRef": "#48", "path": "48", "title": "[Server] Auth comptes utilisateurs et tokens API", "status": "qa", "priority": "low", "sprint": null, "assignedAgentIds": [], "updatedAt": 1784448980586 }, { "issueRef": "#49", "path": "49", "title": "[Server] Schéma PostgreSQL sync-ready GameTime", "status": "qa", "priority": "low", "sprint": null, "assignedAgentIds": [], "updatedAt": 1784448367646 }, { "issueRef": "#50", "path": "50", "title": "[Server] API de synchronisation incrémentale LWW", "status": "qa", "priority": "low", "sprint": null, "assignedAgentIds": [], "updatedAt": 1784449447058 }, { "issueRef": "#51", "path": "51", "title": "[Server] Partage ciblé de programmes et séances entre comptes", "status": "qa", "priority": "low", "sprint": null, "assignedAgentIds": [], "updatedAt": 1784450081385 }, { "issueRef": "#52", "path": "52", "title": "[Server] Packaging Docker Compose et push Gitea Registry", "status": "qa", "priority": "low", "sprint": null, "assignedAgentIds": [], "updatedAt": 1784450444550 }, { "issueRef": "#53", "path": "53", "title": "[Server] Tests API, contrats OpenAPI et vérification d'intégration", "status": "qa", "priority": "low", "sprint": null, "assignedAgentIds": [], "updatedAt": 1784469423570 }, { "issueRef": "#54", "path": "54", "title": "Exercice à plusieurs étapes", "status": "qa", "priority": "medium", "sprint": "1bb8bdf2-9c35-4f53-9a31-1390a47bec63", "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784487430850 }, { "issueRef": "#56", "path": "56", "title": "[DevBackend] Modèle domain + Drift pour exercices à étapes", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784482387469 }, { "issueRef": "#57", "path": "57", "title": "Allimenter la mémoire projet pour l'UI online de l'app", "status": "closed", "priority": "medium", "sprint": "4237adfd-91eb-45ff-9f32-6ce1daa39822", "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784488107329 }, { "issueRef": "#58", "path": "58", "title": "[DevBackend] Exécution persistante des étapes et résultats par passage", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784483616127 }, { "issueRef": "#59", "path": "59", "title": "[DevFrontend] Éditeur d'exercice avec séquence d'étapes", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784483616855 }, { "issueRef": "#60", "path": "60", "title": "[DevFrontend] Exécution de séance avec module séquence et bips", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784484539686 }, { "issueRef": "#61", "path": "61", "title": "[DevFrontend] Plan de séance et historique avec résultats d'étapes", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784485187502 }, { "issueRef": "#62", "path": "62", "title": "[QA] Validation exercices à étapes, persistance et historique", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "7efa512f-3b3a-47b5-ade0-a2dd13073055" ], "updatedAt": 1784487426036 }, { "issueRef": "#63", "path": "63", "title": "Ajouter les features déjà présentes sur le serveur au client", "status": "qa", "priority": "medium", "sprint": "4237adfd-91eb-45ff-9f32-6ce1daa39822", "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784533228302 }, { "issueRef": "#64", "path": "64", "title": "[DevBackend] Client online : session compte, stockage sécurisé et adapter API", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784489186446 }, { "issueRef": "#65", "path": "65", "title": "[DevBackend] Sync client incrémentale LWW vers API serveur", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784490128397 }, { "issueRef": "#66", "path": "66", "title": "[DevBackend] Partage client : use cases, inbox cache et import local", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784490921505 }, { "issueRef": "#67", "path": "67", "title": "[DevFrontend] Profil et écrans auth optionnels", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784490111791 }, { "issueRef": "#68", "path": "68", "title": "[DevFrontend] Statut de synchronisation discret et action manuelle", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784491589721 }, { "issueRef": "#69", "path": "69", "title": "[DevFrontend] Partage sortant et boîte de réception", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784525029743 }, { "issueRef": "#70", "path": "70", "title": "[QA] Validation client online offline-first", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "7efa512f-3b3a-47b5-ade0-a2dd13073055" ], "updatedAt": 1784533224103 }, { "issueRef": "#71", "path": "71", "title": "[Bug] selection de score par défaut à 0", "status": "qa", "priority": "critical", "sprint": null, "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784526657344 }, { "issueRef": "#72", "path": "72", "title": "[Bug] les étapes des exercices ne sont pas affichés pendant la séance", "status": "qa", "priority": "critical", "sprint": null, "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784527867008 }, { "issueRef": "#73", "path": "73", "title": "Pouvoir enchainer les chronos des étapes", "status": "open", "priority": "medium", "sprint": null, "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784493253775 }, { "issueRef": "#74", "path": "74", "title": "[Bug] Serveur non lancable", "status": "qa", "priority": "critical", "sprint": null, "assignedAgentIds": [ "57695b92-24d0-4876-837c-76116e70a6ae" ], "updatedAt": 1784526657602 }, { "issueRef": "#75", "path": "75", "title": "[DevBackend] Modèle et migration pour auto-enchaînement des chronos d'étapes", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784547809520 }, { "issueRef": "#76", "path": "76", "title": "[DevBackend] Résolution effective et auto-advance des chronos d'étapes", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "10ee045b-1c41-479e-ba03-dceed9edd495" ], "updatedAt": 1784548663380 }, { "issueRef": "#77", "path": "77", "title": "[DevFrontend] Réglages auto-enchaînement exercice, programme et séance", "status": "qa", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784548663818 }, { "issueRef": "#78", "path": "78", "title": "[DevFrontend] État d'exécution Chrono suivant prêt", "status": "open", "priority": "medium", "sprint": null, "assignedAgentIds": [ "9933c93a-b8a1-4164-a3bb-7063fdad747d" ], "updatedAt": 1784547239512 }, { "issueRef": "#79", "path": "79", "title": "[QA] Validation auto-enchaînement configurable des chronos d'étapes", "status": "open", "priority": "medium", "sprint": null, "assignedAgentIds": [ "7efa512f-3b3a-47b5-ade0-a2dd13073055" ], "updatedAt": 1784547247343 } ] }