devmethod-ai 0.1.0-rc.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (228) hide show
  1. package/.agents/skills/decision-architecture/SKILL.md +15 -13
  2. package/.agents/skills/decision-architecture/assets/ADR.md +18 -17
  3. package/.agents/skills/decision-architecture/references/api-contracts.md +21 -16
  4. package/.agents/skills/decision-architecture/references/backend-boundaries.md +21 -18
  5. package/.agents/skills/decision-architecture/references/product-decisions.md +14 -17
  6. package/.agents/skills/design-to-code/SKILL.md +18 -11
  7. package/.agents/skills/design-to-code/assets/UI_ACCEPTANCE.md +13 -12
  8. package/.agents/skills/design-to-code/references/ux-contract.md +20 -15
  9. package/.agents/skills/design-to-code/references/visual-creation.md +37 -0
  10. package/.agents/skills/project-foundation/SKILL.md +39 -30
  11. package/.agents/skills/project-foundation/assets/AGENTS.foundation.md +16 -15
  12. package/.agents/skills/project-foundation/assets/PROJECT_PROFILE.md +24 -23
  13. package/.agents/skills/project-foundation/assets/START_HERE.md +17 -14
  14. package/.agents/skills/project-foundation/references/mission-context.md +30 -0
  15. package/.agents/skills/project-foundation/references/operating-commands.md +49 -34
  16. package/.agents/skills/project-foundation/references/profiles/README.md +18 -0
  17. package/.agents/skills/project-foundation/references/profiles/ci.md +11 -0
  18. package/.agents/skills/project-foundation/references/profiles/cloud-delivery.md +13 -0
  19. package/.agents/skills/project-foundation/references/profiles/messaging.md +11 -0
  20. package/.agents/skills/project-foundation/references/profiles/mongodb.md +11 -0
  21. package/.agents/skills/project-foundation/references/profiles/node-nest.md +11 -0
  22. package/.agents/skills/project-foundation/references/profiles/postgres-drizzle.md +11 -0
  23. package/.agents/skills/project-foundation/references/profiles/react-next.md +11 -0
  24. package/.agents/skills/project-foundation/references/profiles/typescript.md +11 -0
  25. package/.agents/skills/project-foundation/references/work-sizing.md +31 -0
  26. package/.agents/skills/react-feature-engineering/SKILL.md +26 -22
  27. package/.agents/skills/react-feature-engineering/references/review-and-sources.md +41 -37
  28. package/.agents/skills/reliable-ai-integration/SKILL.md +13 -10
  29. package/.agents/skills/reliable-ai-integration/assets/AI_EVALUATION.md +19 -18
  30. package/.agents/skills/reliable-ai-integration/references/evidence-and-media.md +22 -18
  31. package/.agents/skills/reliable-ai-integration/references/jobs-and-costs.md +20 -15
  32. package/.agents/skills/scoped-delivery/SKILL.md +25 -18
  33. package/.agents/skills/scoped-delivery/assets/CHECKPOINT.md +22 -11
  34. package/.agents/skills/scoped-delivery/assets/MISSION.md +35 -0
  35. package/.agents/skills/scoped-delivery/assets/SLICE.md +15 -14
  36. package/.agents/skills/scoped-delivery/assets/VERIFICATION.md +19 -0
  37. package/.agents/skills/scoped-delivery/references/verification-and-cost.md +21 -18
  38. package/COMPATIBILITY.md +3 -3
  39. package/CONTRIBUTING.md +13 -0
  40. package/README.md +94 -9
  41. package/START_HERE.md +24 -0
  42. package/VALIDATION.md +37 -0
  43. package/dist/checkpoint.js +171 -0
  44. package/dist/cli.js +118 -17
  45. package/dist/doctor.js +113 -0
  46. package/dist/filesystem.js +32 -0
  47. package/dist/init.js +38 -34
  48. package/dist/mission.js +85 -0
  49. package/dist/planner.js +65 -0
  50. package/dist/records.js +76 -0
  51. package/dist/update.js +57 -0
  52. package/docs/ADR-001-distribution.md +13 -0
  53. package/docs/ADR-002-read-only-diagnostics.md +25 -0
  54. package/docs/ADR-003-installation-provenance.md +15 -0
  55. package/docs/ADR-004-checkpoint-resumption.md +23 -0
  56. package/docs/ADR-005-mission-context.md +11 -0
  57. package/docs/ADR-006-opt-in-native-pilot.md +15 -0
  58. package/docs/BMAD-COMPARISON.md +34 -0
  59. package/docs/CODEX-ADAPTER-VALIDATION.md +20 -0
  60. package/docs/COMPARISON-ITERATION.md +25 -0
  61. package/docs/DOCTOR.md +23 -0
  62. package/docs/EVALUATION.md +39 -0
  63. package/docs/EVOLUTION.md +34 -0
  64. package/docs/GREENFIELD-VALIDATION.md +36 -0
  65. package/docs/MILESTONES.md +39 -0
  66. package/docs/MISSIONS.md +47 -0
  67. package/docs/NATIVE-PILOT-RESULTS.md +22 -0
  68. package/docs/NATIVE-PILOT.md +17 -0
  69. package/docs/ORCHESTRATION.md +11 -0
  70. package/docs/RC2-VALIDATION.md +50 -0
  71. package/docs/RELEASE-0.1.0.md +60 -0
  72. package/docs/RELEASE-0.2.0.md +37 -0
  73. package/docs/RELEASE-CHECKLIST.md +13 -0
  74. package/docs/RELEASE-NOTES-0.1.0-rc.2.md +32 -0
  75. package/docs/RELEASE-NOTES-0.1.0.md +11 -0
  76. package/docs/RESUMPTION.md +87 -0
  77. package/docs/ROADMAP.md +39 -0
  78. package/docs/STACK-PROFILES.md +9 -0
  79. package/docs/TROUBLESHOOTING.md +16 -0
  80. package/docs/UPDATES.md +30 -0
  81. package/docs/VISUAL-CREATION-PROPOSAL.md +21 -0
  82. package/docs/VISUAL-WORKFLOW.md +75 -0
  83. package/docs/images/devmethod-delivery.svg +10 -0
  84. package/docs/images/devmethod-flow.svg +13 -0
  85. package/docs/media/from-zero/README.md +17 -0
  86. package/docs/media/from-zero/devmethod-demo.fr.srt +59 -0
  87. package/docs/media/from-zero/scenes.json +50 -0
  88. package/docs/media/full-chain-4k/README.md +37 -0
  89. package/docs/media/full-chain-4k/devmethod-chaine-complete.fr.srt +435 -0
  90. package/docs/media/full-chain-4k/scenes.json +173 -0
  91. package/docs/media/full-chain-4k/transcripts.fr.md +315 -0
  92. package/docs/media/visual-chain/README.md +44 -0
  93. package/docs/media/visual-chain/assets/add-book-v1.png +0 -0
  94. package/docs/media/visual-chain/assets/completed-v1.png +0 -0
  95. package/docs/media/visual-chain/devmethod-du-besoin-au-produit.fr.srt +147 -0
  96. package/docs/media/visual-chain/execution.fr.md +30 -0
  97. package/docs/media/visual-chain/image-prompts.json +9 -0
  98. package/docs/media/visual-chain/reference-hashes.json +5 -0
  99. package/docs/media/visual-chain/scenes.json +232 -0
  100. package/docs/media/visual-chain/video-preview.jpg +0 -0
  101. package/docs/missions/visual-workflow.md +46 -0
  102. package/evaluation/COMPARISONS.md +33 -0
  103. package/evaluation/README.md +35 -0
  104. package/evaluation/candidate-setup.json +33 -0
  105. package/evaluation/comparison-v2-readiness.json +18 -0
  106. package/evaluation/comparison-v2-results.json +58 -0
  107. package/evaluation/fixtures/dependency/CONTRIBUTING.md +3 -0
  108. package/evaluation/fixtures/dependency/TICKET.md +3 -0
  109. package/evaluation/fixtures/dependency/acceptance.test.mjs +4 -0
  110. package/evaluation/fixtures/dependency/api.mjs +1 -0
  111. package/evaluation/fixtures/failing-verification/CONTRIBUTING.md +3 -0
  112. package/evaluation/fixtures/failing-verification/acceptance.test.mjs +4 -0
  113. package/evaluation/fixtures/failing-verification/total.mjs +1 -0
  114. package/evaluation/fixtures/stale-handoff/CHECKPOINT.md +3 -0
  115. package/evaluation/fixtures/stale-handoff/CONTRACT.md +3 -0
  116. package/evaluation/fixtures/stale-handoff/CONTRIBUTING.md +3 -0
  117. package/evaluation/fixtures/stale-handoff/acceptance.test.mjs +4 -0
  118. package/evaluation/fixtures/stale-handoff/label.mjs +1 -0
  119. package/evaluation/fixtures/update-customization/README.md +13 -0
  120. package/evaluation/fixtures.json +85 -0
  121. package/evaluation/greenfield/acceptance.test.mjs +57 -0
  122. package/evaluation/greenfield/security.test.mjs +28 -0
  123. package/evaluation/native-pilot-results.json +155 -0
  124. package/examples/README.md +36 -0
  125. package/examples/bugfix/acceptance.test.mjs +17 -0
  126. package/examples/bugfix/page-size.mjs +4 -0
  127. package/examples/clair-from-zero/AGENT-EVALUATION.md +15 -0
  128. package/examples/clair-from-zero/MISSION.md +41 -0
  129. package/examples/clair-from-zero/README.md +24 -0
  130. package/examples/clair-from-zero/app/app.mjs +69 -0
  131. package/examples/clair-from-zero/app/domain.mjs +30 -0
  132. package/examples/clair-from-zero/app/index.html +20 -0
  133. package/examples/clair-from-zero/app/storage.mjs +4 -0
  134. package/examples/clair-from-zero/app/styles.css +128 -0
  135. package/examples/clair-from-zero/browser-check.cjs +2 -0
  136. package/examples/clair-from-zero/tests/domain.test.mjs +37 -0
  137. package/examples/fullstack/CONTRACT.md +23 -0
  138. package/examples/fullstack/DEPENDENCIES.md +18 -0
  139. package/examples/fullstack/README.md +100 -0
  140. package/examples/fullstack/api/application/tasks.ts +13 -0
  141. package/examples/fullstack/api/domain/task.ts +12 -0
  142. package/examples/fullstack/api/http.ts +26 -0
  143. package/examples/fullstack/api/infrastructure/migrate.ts +15 -0
  144. package/examples/fullstack/api/infrastructure/postgres.ts +18 -0
  145. package/examples/fullstack/api/infrastructure/schema.ts +6 -0
  146. package/examples/fullstack/api/main.ts +17 -0
  147. package/examples/fullstack/api/tsconfig.json +17 -0
  148. package/examples/fullstack/compose.yaml +14 -0
  149. package/examples/fullstack/migrations/0000_tasks.sql +5 -0
  150. package/examples/fullstack/migrations/meta/_journal.json +13 -0
  151. package/examples/fullstack/mission.json +34 -0
  152. package/examples/fullstack/package-lock.json +2661 -0
  153. package/examples/fullstack/package.json +45 -0
  154. package/examples/fullstack/tests/e2e.test.cjs +54 -0
  155. package/examples/fullstack/tests/http.test.cjs +33 -0
  156. package/examples/fullstack/tests/postgres.test.cjs +29 -0
  157. package/examples/fullstack/tests/unit.test.cjs +20 -0
  158. package/examples/fullstack/tests/web-model.test.cjs +23 -0
  159. package/examples/fullstack/web/app/layout.tsx +4 -0
  160. package/examples/fullstack/web/app/page.tsx +11 -0
  161. package/examples/fullstack/web/features/tasks/components/task-list.tsx +11 -0
  162. package/examples/fullstack/web/features/tasks/hooks/use-task-filter.ts +7 -0
  163. package/examples/fullstack/web/features/tasks/model/tasks.ts +12 -0
  164. package/examples/fullstack/web/features/tasks/server/list-tasks.ts +8 -0
  165. package/examples/fullstack/web/next.config.mjs +2 -0
  166. package/examples/fullstack/web/tsconfig.json +36 -0
  167. package/examples/mission/CONTRACT.md +3 -0
  168. package/examples/mission/mission.json +18 -0
  169. package/examples/mission/plan.json +11 -0
  170. package/examples/pocket-tasks/BRIEF.md +21 -0
  171. package/examples/pocket-tasks/PROJECT_PROFILE.md +19 -0
  172. package/examples/pocket-tasks/README.md +43 -0
  173. package/examples/pocket-tasks/docs/ADR-001.md +7 -0
  174. package/examples/pocket-tasks/docs/HANDOFF.md +16 -0
  175. package/examples/pocket-tasks/docs/MISSION.md +15 -0
  176. package/examples/pocket-tasks/docs/VERIFICATION.md +58 -0
  177. package/examples/pocket-tasks/package.json +1 -0
  178. package/examples/pocket-tasks/public/app.js +84 -0
  179. package/examples/pocket-tasks/public/index.html +12 -0
  180. package/examples/pocket-tasks/public/styles.css +1 -0
  181. package/examples/pocket-tasks/server.mjs +79 -0
  182. package/examples/pocket-tasks/src/domain.mjs +31 -0
  183. package/examples/pocket-tasks/src/store.mjs +49 -0
  184. package/examples/pocket-tasks/tests/app.test.mjs +132 -0
  185. package/examples/pocket-tasks/tests/ui-errors.test.mjs +49 -0
  186. package/examples/visual-pilot/README.md +11 -0
  187. package/examples/visual-pilot/app/app.js +10 -0
  188. package/examples/visual-pilot/app/index.html +1 -0
  189. package/examples/visual-pilot/app/reference.png +0 -0
  190. package/examples/visual-pilot/app/style.css +3 -0
  191. package/examples/visual-pilot/browser-check.cjs +3 -0
  192. package/examples/visual-pilot/desktop-actual.png +0 -0
  193. package/examples/visual-pilot/directions-prompt.txt +1 -0
  194. package/examples/visual-pilot/directions-v1.png +0 -0
  195. package/examples/visual-pilot/editorial-mockup-prompt.txt +1 -0
  196. package/examples/visual-pilot/editorial-mockup-v1.png +0 -0
  197. package/examples/visual-pilot/mismatch-probe.png +0 -0
  198. package/examples/visual-pilot/mobile-actual.png +0 -0
  199. package/examples/visual-pilot/quick-filter/AGENT-RESULT.md +25 -0
  200. package/examples/visual-pilot/quick-filter/baseline.log +42 -0
  201. package/examples/visual-pilot/quick-filter/filter.mjs +3 -0
  202. package/examples/visual-pilot/quick-filter/filter.test.mjs +9 -0
  203. package/package.json +15 -3
  204. package/scripts/check-codex-git.mjs +20 -0
  205. package/scripts/check-docs.mjs +14 -0
  206. package/scripts/check-native-sandbox.mjs +11 -0
  207. package/scripts/comparison-readiness.mjs +26 -0
  208. package/scripts/comparison.mjs +42 -0
  209. package/scripts/evaluation.mjs +64 -0
  210. package/scripts/fullstack-mission.mjs +30 -0
  211. package/scripts/hosts/checks.mjs +13 -0
  212. package/scripts/hosts/codex-meter.mjs +17 -0
  213. package/scripts/hosts/codex-rpc.mjs +44 -0
  214. package/scripts/hosts/codex-task.mjs +29 -0
  215. package/scripts/hosts/codex.mjs +28 -0
  216. package/scripts/media/demo-actions.cjs +16 -0
  217. package/scripts/media/encode-demo.py +22 -0
  218. package/scripts/media/record-demo.cjs +30 -0
  219. package/scripts/media/visual-short/check.cjs +1 -0
  220. package/scripts/media/visual-short/encode.py +16 -0
  221. package/scripts/media/visual-short/record.cjs +4 -0
  222. package/scripts/media/visual-short/story.py +34 -0
  223. package/scripts/native-host.mjs +55 -0
  224. package/scripts/package-smoke.mjs +64 -0
  225. package/scripts/probe-codex-children.mjs +41 -0
  226. package/scripts/run-comparison-v2.mjs +45 -0
  227. package/scripts/run-native-pilot.mjs +76 -0
  228. package/scripts/summarize-native-pilot.mjs +7 -0
@@ -0,0 +1,37 @@
1
+ # DevMethod — chaîne complète en 4K
2
+
3
+ [Voir ou télécharger le film](https://github.com/montassarkhalloufi/DevMethod/raw/refs/heads/main/docs/media/full-chain-4k/devmethod-chaine-complete-4k.fr.mp4) · [Sous-titres français](devmethod-chaine-complete.fr.srt) · [Code du prototype](https://github.com/montassarkhalloufi/DevMethod/raw/refs/heads/main/docs/media/full-chain-4k/lisiere-source.zip)
4
+
5
+ **10 min 10 s · 3840 × 2160 · 19 chapitres · voix française.**
6
+
7
+ Film pédagogique en français : installation, exploration, cadrage, directions artistiques, choix A, master screen approuvé, design des interactions, architecture, plan, readiness, implémentation, revue, navigateur, comparaison et clôture locale.
8
+
9
+ ## Nature des images
10
+
11
+ Les commandes et sorties proviennent de véritables exécutions de Codex CLI sur un dossier neuf. Elles sont remises en page pour le film, avec les attentes retirées : **ce n'est pas une capture continue de l'interface Codex Desktop**. Les entrées complètes sont conservées dans [les transcriptions](transcripts.fr.md), tandis que le film affiche la commande de chaque étape et sa réponse. Les annotations pédagogiques sont séparées des réponses.
12
+
13
+ La planche des trois directions et le master screen ont réellement été générés dans la session préparatoire du [pilote Lisière](../../../examples/visual-pilot/README.md). Le même utilisateur a choisi « A », puis approuvé la maquette par « oui ». Le film identifie cette provenance ; ces décisions ne sont pas rejouées comme de nouveaux messages en direct. Le nouveau dossier reçoit le brief et ces images, sans le code du pilote précédent.
14
+
15
+ La vidéo est rendue en 3840 × 2160. Les références générées d'origine restent des images 1536 × 1024 ; leur inclusion dans un film 4K ne les transforme pas en images natives 4K. Les interactions de l'application sont enregistrées dans Chrome.
16
+
17
+ ## Exécution et limites
18
+
19
+ Codex CLI 0.147.0, modèle `gpt-5.6-sol`, sessions éphémères successives, même mission canonique persistée sur disque. Le premier essai avec le modèle configuré par défaut était incompatible avec cette CLI ; le modèle a été changé uniquement pour cette exécution, sans modification de configuration globale.
20
+
21
+ La voix française est une synthèse système Thomas. Le texte de synthèse utilise « guit-hub » pour obtenir le g de « guitare » demandé par l'utilisateur ; l'orthographe GitHub reste utilisée dans les sous-titres. Pas de musique, témoignage ou résultat commercial inventé. La narration et les durées sont dans [scenes.json](scenes.json).
22
+
23
+ La livraison de l'application est locale. Les tests couvrent les comportements explicitement rapportés ; ce film ne constitue pas un audit universel. Le [guide source](../../VISUAL-WORKFLOW.md) précise l'installation de cette évolution, plus récente que npm 0.1.0.
24
+
25
+ ## Repères et vérification
26
+
27
+ - 00:30 — installation ; 01:02 — premières commandes et sorties.
28
+ - 02:04 — directions ; 02:41 — choix A ; 03:13 — master screen.
29
+ - 03:49 — design ; 04:22 — architecture ; 04:54 — plan ; 05:23 — ready.
30
+ - 05:55 — implémentation ; 06:26 — revue ; 06:55 — correction.
31
+ - 07:25 — interaction réelle ; 08:01 — comparaison ; 08:33 — vérification ; 09:04 — clôture locale.
32
+
33
+ Le film sélectionne la vérification finale consolidée. Le premier passage de vérification et sa demande de preuves supplémentaires restent dans les transcriptions complètes.
34
+
35
+ MP4 H.264 3840 × 2160, AAC, piste française mov_text, 19 chapitres, durée610,52 secondes, taille30,84 Mo. Narration non silencieuse : moyenne−15,8 dB, pic−0,1 dB. Images des commandes, du master, de la comparaison et une image de l'interaction encodée inspectées ; aucune affirmation d'écoute humaine intégrale. Les sous-titres sont segmentés par phrase avec un minutage proportionnel, pas un alignement phonétique.
36
+
37
+ Le prototype passe27 tests de logique/stockage. Chrome confirme les parcours, les régressions, le clavier et le reflow à720/320px. Le zoom natif navigateur200% reste non vérifié. Voir les preuves incluses dans l'archive source. Le dépôt DevMethod passe72 tests et ses liens documentaires ; l'archive npm a été inspectée, sans publication. Les MP4, ZIP et captures marketing sont exclus du paquet npm pour ne pas alourdir l'installation.
@@ -0,0 +1,435 @@
1
+ 1
2
+ 00:00:00,000 --> 00:00:04,584
3
+ Dans cette démonstration, nous allons suivre toute la chaîne de Dev Method.
4
+
5
+ 2
6
+ 00:00:04,584 --> 00:00:10,512
7
+ Vous verrez les commandes adressées à Codex, ses réponses réelles et la prochaine étape proposée.
8
+
9
+ 3
10
+ 00:00:10,512 --> 00:00:17,113
11
+ Nous prendrons aussi le temps de regarder la direction artistique, le master screen et l'application finale.
12
+
13
+ 4
14
+ 00:00:17,113 --> 00:00:19,618
15
+ Les transcriptions de Codex sont réelles.
16
+
17
+ 5
18
+ 00:00:19,618 --> 00:00:23,897
19
+ Leur mise en page est adaptée au film pour rester lisible en quatre K.
20
+
21
+ 6
22
+ 00:00:23,897 --> 00:00:25,913
23
+ Les temps d'attente sont retirés.
24
+
25
+ 7
26
+ 00:00:29,913 --> 00:00:33,489
27
+ Nous commençons dans un dossier sans code d'application.
28
+
29
+ 8
30
+ 00:00:33,489 --> 00:00:36,936
31
+ L'installation y dépose les compétences de la méthode.
32
+
33
+ 9
34
+ 00:00:36,936 --> 00:00:43,192
35
+ Dev Method est le nom du produit, mais sa commande d'entrée actuelle s'appelle project foundation.
36
+
37
+ 10
38
+ 00:00:43,192 --> 00:00:48,491
39
+ Elle se saisit dans la conversation de l'agent, pas comme une commande du terminal.
40
+
41
+ 11
42
+ 00:00:48,491 --> 00:00:50,981
43
+ Pour ce film, nous utilisons Codex CLI.
44
+
45
+ 12
46
+ 00:00:50,981 --> 00:00:57,557
47
+ Un premier essai incompatible avec la version du modèle a été conservé dans les journaux, puis corrigé.
48
+
49
+ 13
50
+ 00:01:01,557 --> 00:01:04,951
51
+ La première commande est project foundation explore.
52
+
53
+ 14
54
+ 00:01:04,951 --> 00:01:10,106
55
+ Nous donnons le besoin : une bibliothèque personnelle pour suivre ses lectures.
56
+
57
+ 15
58
+ 00:01:10,106 --> 00:01:13,370
59
+ Codex examine le brief et les sources disponibles.
60
+
61
+ 16
62
+ 00:01:13,370 --> 00:01:15,523
63
+ À ce stade, il ne doit pas coder.
64
+
65
+ 17
66
+ 00:01:15,523 --> 00:01:19,309
67
+ Il distingue ce qui est décidé de ce qui reste à préciser.
68
+
69
+ 18
70
+ 00:01:19,309 --> 00:01:24,791
71
+ Regardez la fin de la réponse : elle indique la commande recommandée pour continuer.
72
+
73
+ 19
74
+ 00:01:24,791 --> 00:01:28,968
75
+ La méthode transmet ainsi le contexte d'une étape à la suivante.
76
+
77
+ 20
78
+ 00:01:32,968 --> 00:01:34,755
79
+ Nous envoyons ensuite frame.
80
+
81
+ 21
82
+ 00:01:34,755 --> 00:01:38,904
83
+ Le cadrage transforme l'idée en un résultat limité et vérifiable.
84
+
85
+ 22
86
+ 00:01:38,904 --> 00:01:44,393
87
+ Ajouter un livre, filtrer la bibliothèque et changer son statut font partie du besoin.
88
+
89
+ 23
90
+ 00:01:44,393 --> 00:01:49,372
91
+ Un service de lecture de livres, des comptes ou un serveur ne sont pas inclus.
92
+
93
+ 24
94
+ 00:01:49,372 --> 00:01:55,946
95
+ Ces exclusions comptent : elles évitent que l'agent construise un produit plus vaste que celui demandé.
96
+
97
+ 25
98
+ 00:01:55,946 --> 00:01:59,903
99
+ Le cadrage prépare aussi les critères qui serviront aux tests.
100
+
101
+ 26
102
+ 00:02:03,903 --> 00:02:09,908
103
+ Avant de développer l'interface, nous comparons trois directions appliquées au même contenu.
104
+
105
+ 27
106
+ 00:02:09,908 --> 00:02:13,041
107
+ Éditorial privilégie la typographie et l'espace.
108
+
109
+ 28
110
+ 00:02:13,041 --> 00:02:15,848
111
+ Atelier mise sur une organisation compacte.
112
+
113
+ 29
114
+ 00:02:15,848 --> 00:02:19,960
115
+ Botanique apporte des illustrations et une ambiance plus douce.
116
+
117
+ 30
118
+ 00:02:19,960 --> 00:02:24,594
119
+ Cette planche a réellement été générée pendant la session préparatoire.
120
+
121
+ 31
122
+ 00:02:24,594 --> 00:02:29,751
123
+ Ce ne sont pas trois applications terminées, mais trois propositions visuelles.
124
+
125
+ 32
126
+ 00:02:29,751 --> 00:02:36,539
127
+ Les mettre côte à côte rend le choix concret, plutôt que de demander seulement une préférence abstraite.
128
+
129
+ 33
130
+ 00:02:40,539 --> 00:02:42,233
131
+ L'utilisateur a répondu A.
132
+
133
+ 34
134
+ 00:02:42,233 --> 00:02:48,552
135
+ C'est le choix réel conservé de notre session précédente, pas une réponse inventée pour la vidéo.
136
+
137
+ 35
138
+ 00:02:48,552 --> 00:02:51,354
139
+ Nous retenons donc la direction éditoriale.
140
+
141
+ 36
142
+ 00:02:51,354 --> 00:02:58,129
143
+ Ce choix fixe une intention : fond ivoire, contraste encre, accents rouille et titres avec empattements.
144
+
145
+ 37
146
+ 00:02:58,129 --> 00:03:02,168
147
+ Il ne suffit pas encore à valider tous les détails d'un écran.
148
+
149
+ 38
150
+ 00:03:02,168 --> 00:03:08,879
151
+ L'étape suivante consiste à produire une référence plus précise, que l'on peut examiner avant de coder.
152
+
153
+ 39
154
+ 00:03:12,879 --> 00:03:16,865
155
+ Voici le master screen détaillé, sur ordinateur et sur mobile.
156
+
157
+ 40
158
+ 00:03:16,865 --> 00:03:22,717
159
+ Nous pouvons maintenant examiner la hiérarchie, les cartes, les espacements et les boutons.
160
+
161
+ 41
162
+ 00:03:22,717 --> 00:03:31,012
163
+ Le libellé Lire a été remplacé par Commencer ou Marquer terminé, car le produit suit la lecture sans fournir le texte des livres.
164
+
165
+ 42
166
+ 00:03:31,012 --> 00:03:34,677
167
+ L'utilisateur a ensuite validé cette maquette par un oui.
168
+
169
+ 43
170
+ 00:03:34,677 --> 00:03:39,371
171
+ Cette référence approuvée est réutilisée dans la nouvelle implémentation.
172
+
173
+ 44
174
+ 00:03:39,371 --> 00:03:44,644
175
+ Elle sera le point de comparaison à la fin, et non une simple image d'inspiration.
176
+
177
+ 45
178
+ 00:03:48,644 --> 00:03:52,965
179
+ La commande design relie la référence aux comportements attendus.
180
+
181
+ 46
182
+ 00:03:52,965 --> 00:04:00,877
183
+ Une image ne décrit pas à elle seule la validation du formulaire, le clavier, un filtre vide ou un échec de sauvegarde.
184
+
185
+ 47
186
+ 00:04:00,877 --> 00:04:07,592
187
+ Codex doit préciser ces états, identifier la référence choisie et préserver les décisions existantes.
188
+
189
+ 48
190
+ 00:04:07,592 --> 00:04:12,511
191
+ La génération d'images dépend des outils disponibles dans l'environnement.
192
+
193
+ 49
194
+ 00:04:12,511 --> 00:04:18,296
195
+ Dev Method organise ce travail, mais son installation ne fournit pas un moteur d'image.
196
+
197
+ 50
198
+ 00:04:22,296 --> 00:04:25,720
199
+ L'architecture choisit le minimum nécessaire au besoin.
200
+
201
+ 51
202
+ 00:04:25,720 --> 00:04:30,329
203
+ Ici, une application statique et un stockage dans le navigateur suffisent.
204
+
205
+ 52
206
+ 00:04:30,329 --> 00:04:34,065
207
+ La logique peut être testée séparément des éléments visuels.
208
+
209
+ 53
210
+ 00:04:34,065 --> 00:04:37,988
211
+ Cette étape n'a pas pour objectif d'accumuler des technologies.
212
+
213
+ 54
214
+ 00:04:37,988 --> 00:04:42,845
215
+ Elle permet de clarifier les frontières et les limites avant l'implémentation.
216
+
217
+ 55
218
+ 00:04:42,845 --> 00:04:50,380
219
+ Une évolution ultérieure vers plusieurs utilisateurs demanderait d'autres décisions ; elle ne fait pas partie de ce film.
220
+
221
+ 56
222
+ 00:04:54,380 --> 00:04:58,095
223
+ La commande plan découpe le périmètre en travail réalisable.
224
+
225
+ 57
226
+ 00:04:58,095 --> 00:05:03,667
227
+ Pour ce petit produit, une première tranche peut réunir le parcours utile de bout en bout.
228
+
229
+ 58
230
+ 00:05:03,667 --> 00:05:10,353
231
+ Le plan doit contenir un objectif, des critères d'acceptation, les dépendances et les vérifications prévues.
232
+
233
+ 59
234
+ 00:05:10,353 --> 00:05:14,315
235
+ Une ligne marquée prête n'est pas une preuve que le code existe.
236
+
237
+ 60
238
+ 00:05:14,315 --> 00:05:19,330
239
+ Les statuts doivent rester reliés aux faits et aux résultats réellement observés.
240
+
241
+ 61
242
+ 00:05:23,330 --> 00:05:27,725
243
+ Ready contrôle que la tranche est assez précise pour être implémentée.
244
+
245
+ 62
246
+ 00:05:27,725 --> 00:05:29,985
247
+ Les sources sont-elles disponibles ?
248
+
249
+ 63
250
+ 00:05:29,985 --> 00:05:32,936
251
+ Les comportements importants sont-ils décidés ?
252
+
253
+ 64
254
+ 00:05:32,936 --> 00:05:34,631
255
+ Les tests ont-ils un sens ?
256
+
257
+ 65
258
+ 00:05:34,631 --> 00:05:39,716
259
+ Dans le parcours filmé, nous montrons cette commande séparément pour l'expliquer.
260
+
261
+ 66
262
+ 00:05:39,716 --> 00:05:50,892
263
+ Pour une petite correction déjà claire, Dev Method permet aussi de regrouper cette préparation avec l'implémentation, sans imposer une conversation supplémentaire à chaque étape.
264
+
265
+ 67
266
+ 00:05:54,892 --> 00:05:57,261
267
+ Nous autorisons maintenant implement.
268
+
269
+ 68
270
+ 00:05:57,261 --> 00:06:01,486
271
+ Codex réalise l'application à partir du brief et du master screen.
272
+
273
+ 69
274
+ 00:06:01,486 --> 00:06:05,327
275
+ Aucun code de la première démonstration ne lui a été fourni.
276
+
277
+ 70
278
+ 00:06:05,327 --> 00:06:12,625
279
+ Les attentes de calcul et d'écriture sont retirées du montage ; la réponse montrée provient de l'exécution réelle.
280
+
281
+ 71
282
+ 00:06:12,625 --> 00:06:18,707
283
+ Regardez ce que l'agent dit avoir vérifié, mais aussi ce qu'il laisse explicitement à vérifier.
284
+
285
+ 72
286
+ 00:06:18,707 --> 00:06:22,292
287
+ Un résultat local doit rester distinct d'un déploiement.
288
+
289
+ 73
290
+ 00:06:26,292 --> 00:06:30,464
291
+ La revue confronte les fichiers réalisés aux critères de la tranche.
292
+
293
+ 74
294
+ 00:06:30,464 --> 00:06:35,312
295
+ Elle cherche des défauts concrets, pas seulement une liste de bonnes pratiques.
296
+
297
+ 75
298
+ 00:06:35,312 --> 00:06:39,362
299
+ Nous conservons le résultat de cette revue, y compris ses limites.
300
+
301
+ 76
302
+ 00:06:39,362 --> 00:06:43,964
303
+ Si une correction est nécessaire, elle doit être effectuée puis revérifiée.
304
+
305
+ 77
306
+ 00:06:43,964 --> 00:06:50,591
307
+ Le fait que l'agent relise son travail ne permet pas de prétendre à une validation indépendante universelle.
308
+
309
+ 78
310
+ 00:06:54,591 --> 00:06:56,857
311
+ La revue a trouvé des défauts concrets.
312
+
313
+ 79
314
+ 00:06:56,857 --> 00:07:00,808
315
+ Un ajout pouvait écraser des données qui n’avaient pas été chargées.
316
+
317
+ 80
318
+ 00:07:00,808 --> 00:07:05,863
319
+ Deux autres points concernaient la création des identifiants et les caractères Unicode.
320
+
321
+ 81
322
+ 00:07:05,863 --> 00:07:09,872
323
+ Nous envoyons donc une nouvelle commande implement avec ces constats.
324
+
325
+ 82
326
+ 00:07:09,872 --> 00:07:14,229
327
+ Nous demandons aussi de rétablir les couvertures de la référence approuvée.
328
+
329
+ 83
330
+ 00:07:14,229 --> 00:07:21,433
331
+ Cette boucle fait partie de la chaîne réelle : une première implémentation n’est pas automatiquement une livraison acceptée.
332
+
333
+ 84
334
+ 00:07:25,433 --> 00:07:28,549
335
+ Nous passons maintenant dans le vrai navigateur.
336
+
337
+ 85
338
+ 00:07:28,549 --> 00:07:32,119
339
+ L'application affiche la bibliothèque et ses contrôles.
340
+
341
+ 86
342
+ 00:07:32,119 --> 00:07:40,427
343
+ Le test parcourt les actions importantes : filtrer, ajouter un livre, commencer ou terminer une lecture, puis recharger la page.
344
+
345
+ 87
346
+ 00:07:40,427 --> 00:07:46,398
347
+ C'est cette interaction réelle qui distingue une interface utilisable d'une simple maquette.
348
+
349
+ 88
350
+ 00:07:46,398 --> 00:07:49,968
351
+ Les livres sont fictifs et les données restent locales.
352
+
353
+ 89
354
+ 00:07:49,968 --> 00:07:56,978
355
+ Aucun appel payant à un fournisseur d'intelligence artificielle n'est nécessaire pour utiliser ce prototype.
356
+
357
+ 90
358
+ 00:08:00,978 --> 00:08:05,659
359
+ Nous revenons à la référence approuvée et la comparons à la capture réelle.
360
+
361
+ 91
362
+ 00:08:05,659 --> 00:08:11,964
363
+ La comparaison porte sur la composition, la hiérarchie, les couleurs, les couvertures et les actions.
364
+
365
+ 92
366
+ 00:08:11,964 --> 00:08:18,268
367
+ Les différences de police ou d'espacement doivent être nommées, pas cachées derrière un build réussi.
368
+
369
+ 93
370
+ 00:08:18,268 --> 00:08:21,139
371
+ Le comportement mobile est vérifié séparément.
372
+
373
+ 94
374
+ 00:08:21,139 --> 00:08:28,505
375
+ Une image séduisante n'est donc pas la fin du parcours : elle devient un contrat visuel que l'on confronte au produit.
376
+
377
+ 95
378
+ 00:08:32,505 --> 00:08:36,297
379
+ Verify rassemble les contrôles manquants et leurs résultats.
380
+
381
+ 96
382
+ 00:08:36,297 --> 00:08:41,984
383
+ Les tests de logique et les observations navigateur répondent à des questions différentes.
384
+
385
+ 97
386
+ 00:08:41,984 --> 00:08:46,913
387
+ Une commande réussie ne prouve que le périmètre qu'elle a réellement inspecté.
388
+
389
+ 98
390
+ 00:08:46,913 --> 00:08:50,452
391
+ Les sorties du film permettent de voir cette séparation.
392
+
393
+ 99
394
+ 00:08:50,452 --> 00:08:59,742
395
+ Nous ne prétendons ni à un audit complet d'accessibilité, ni à une compatibilité universelle, ni à une supériorité démontrée sur une autre méthode.
396
+
397
+ 100
398
+ 00:09:03,742 --> 00:09:09,390
399
+ Le dernier point de passage enregistre ce qui est livré, les limites et l'état de reprise.
400
+
401
+ 101
402
+ 00:09:09,390 --> 00:09:12,527
403
+ Pour cette démonstration, la livraison est locale.
404
+
405
+ 102
406
+ 00:09:12,527 --> 00:09:18,865
407
+ Une fusion sur le dépôt de la méthode et une publication du produit seraient des actions différentes.
408
+
409
+ 103
410
+ 00:09:18,865 --> 00:09:23,446
411
+ La commande suivante n'autorise pas automatiquement un nouveau périmètre.
412
+
413
+ 104
414
+ 00:09:23,446 --> 00:09:31,792
415
+ Cette discipline permet de retrouver le travail dans une autre session sans confondre une proposition, une réalisation et une preuve.
416
+
417
+ 105
418
+ 00:09:35,792 --> 00:09:45,056
419
+ Vous avez vu le besoin, les commandes et leurs sorties, les directions artistiques, le master screen approuvé, le code et les vérifications.
420
+
421
+ 106
422
+ 00:09:45,056 --> 00:09:49,755
423
+ Dev Method sert à relier ces étapes en conservant les décisions utiles.
424
+
425
+ 107
426
+ 00:09:49,755 --> 00:09:52,799
427
+ Retrouvez le guide et les exemples sur GitHub.
428
+
429
+ 108
430
+ 00:09:52,799 --> 00:10:01,732
431
+ Pour cette évolution, utilisez la version source documentée : le paquet publié zéro point un n'inclut pas encore toutes ces nouveautés.
432
+
433
+ 109
434
+ 00:10:01,732 --> 00:10:06,430
435
+ Commencez par une petite livraison et jugez la méthode sur le résultat.
@@ -0,0 +1,173 @@
1
+ [
2
+ {
3
+ "kind": "title",
4
+ "title": "DevMethod, du projet vide au produit vérifié",
5
+ "voice": "Dans cette démonstration, nous allons suivre toute la chaîne de Dev Method. Vous verrez les commandes adressées à Codex, ses réponses réelles et la prochaine étape proposée. Nous prendrons aussi le temps de regarder la direction artistique, le master screen et l'application finale. Les transcriptions de Codex sont réelles. Leur mise en page est adaptée au film pour rester lisible en quatre K. Les temps d'attente sont retirés.",
6
+ "stage": null,
7
+ "image": null,
8
+ "speech": "Dans cette démonstration, nous allons suivre toute la chaîne de Dev Method. Vous verrez les commandes adressées à Codex, ses réponses réelles et la prochaine étape proposée. Nous prendrons aussi le temps de regarder la direction artistique, le master screen et l'application finale. Les transcriptions de Codex sont réelles. Leur mise en page est adaptée au film pour rester lisible en quatre K. Les temps d'attente sont retirés.",
9
+ "duration": 29.913469
10
+ },
11
+ {
12
+ "kind": "install",
13
+ "title": "Un dossier neuf, un kit installé",
14
+ "voice": "Nous commençons dans un dossier sans code d'application. L'installation y dépose les compétences de la méthode. Dev Method est le nom du produit, mais sa commande d'entrée actuelle s'appelle project foundation. Elle se saisit dans la conversation de l'agent, pas comme une commande du terminal. Pour ce film, nous utilisons Codex CLI. Un premier essai incompatible avec la version du modèle a été conservé dans les journaux, puis corrigé.",
15
+ "stage": null,
16
+ "image": null,
17
+ "speech": "Nous commençons dans un dossier sans code d'application. L'installation y dépose les compétences de la méthode. Dev Method est le nom du produit, mais sa commande d'entrée actuelle s'appelle project foundation. Elle se saisit dans la conversation de l'agent, pas comme une commande du terminal. Pour ce film, nous utilisons Codex CLI. Un premier essai incompatible avec la version du modèle a été conservé dans les journaux, puis corrigé.",
18
+ "duration": 31.643356
19
+ },
20
+ {
21
+ "kind": "terminal",
22
+ "title": "Explorer le besoin",
23
+ "voice": "La première commande est project foundation explore. Nous donnons le besoin : une bibliothèque personnelle pour suivre ses lectures. Codex examine le brief et les sources disponibles. À ce stade, il ne doit pas coder. Il distingue ce qui est décidé de ce qui reste à préciser. Regardez la fin de la réponse : elle indique la commande recommandée pour continuer. La méthode transmet ainsi le contexte d'une étape à la suivante.",
24
+ "stage": "01",
25
+ "image": null,
26
+ "speech": "La première commande est project foundation explore. Nous donnons le besoin : une bibliothèque personnelle pour suivre ses lectures. Codex examine le brief et les sources disponibles. À ce stade, il ne doit pas coder. Il distingue ce qui est décidé de ce qui reste à préciser. Regardez la fin de la réponse : elle indique la commande recommandée pour continuer. La méthode transmet ainsi le contexte d'une étape à la suivante.",
27
+ "duration": 31.411156
28
+ },
29
+ {
30
+ "kind": "terminal",
31
+ "title": "Cadrer une première livraison",
32
+ "voice": "Nous envoyons ensuite frame. Le cadrage transforme l'idée en un résultat limité et vérifiable. Ajouter un livre, filtrer la bibliothèque et changer son statut font partie du besoin. Un service de lecture de livres, des comptes ou un serveur ne sont pas inclus. Ces exclusions comptent : elles évitent que l'agent construise un produit plus vaste que celui demandé. Le cadrage prépare aussi les critères qui serviront aux tests.",
33
+ "stage": "02",
34
+ "image": null,
35
+ "speech": "Nous envoyons ensuite frame. Le cadrage transforme l'idée en un résultat limité et vérifiable. Ajouter un livre, filtrer la bibliothèque et changer son statut font partie du besoin. Un service de lecture de livres, des comptes ou un serveur ne sont pas inclus. Ces exclusions comptent : elles évitent que l'agent construise un produit plus vaste que celui demandé. Le cadrage prépare aussi les critères qui serviront aux tests.",
36
+ "duration": 30.935147
37
+ },
38
+ {
39
+ "kind": "directions",
40
+ "title": "Trois directions, un même produit",
41
+ "voice": "Avant de développer l'interface, nous comparons trois directions appliquées au même contenu. Éditorial privilégie la typographie et l'espace. Atelier mise sur une organisation compacte. Botanique apporte des illustrations et une ambiance plus douce. Cette planche a réellement été générée pendant la session préparatoire. Ce ne sont pas trois applications terminées, mais trois propositions visuelles. Les mettre côte à côte rend le choix concret, plutôt que de demander seulement une préférence abstraite.",
42
+ "stage": null,
43
+ "image": "directions-v1.png",
44
+ "speech": "Avant de développer l'interface, nous comparons trois directions appliquées au même contenu. Éditorial privilégie la typographie et l'espace. Atelier mise sur une organisation compacte. Botanique apporte des illustrations et une ambiance plus douce. Cette planche a réellement été générée pendant la session préparatoire. Ce ne sont pas trois applications terminées, mais trois propositions visuelles. Les mettre côte à côte rend le choix concret, plutôt que de demander seulement une préférence abstraite.",
45
+ "duration": 36.635646
46
+ },
47
+ {
48
+ "kind": "choice",
49
+ "title": "Le choix humain : A — Éditorial",
50
+ "voice": "L'utilisateur a répondu A. C'est le choix réel conservé de notre session précédente, pas une réponse inventée pour la vidéo. Nous retenons donc la direction éditoriale. Ce choix fixe une intention : fond ivoire, contraste encre, accents rouille et titres avec empattements. Il ne suffit pas encore à valider tous les détails d'un écran. L'étape suivante consiste à produire une référence plus précise, que l'on peut examiner avant de coder.",
51
+ "stage": null,
52
+ "image": "directions-v1.png",
53
+ "speech": "L'utilisateur a répondu A. C'est le choix réel conservé de notre session précédente, pas une réponse inventée pour la vidéo. Nous retenons donc la direction éditoriale. Ce choix fixe une intention : fond ivoire, contraste encre, accents rouille et titres avec empattements. Il ne suffit pas encore à valider tous les détails d'un écran. L'étape suivante consiste à produire une référence plus précise, que l'on peut examiner avant de coder.",
54
+ "duration": 32.339955
55
+ },
56
+ {
57
+ "kind": "master",
58
+ "title": "Le master screen devient la référence",
59
+ "voice": "Voici le master screen détaillé, sur ordinateur et sur mobile. Nous pouvons maintenant examiner la hiérarchie, les cartes, les espacements et les boutons. Le libellé Lire a été remplacé par Commencer ou Marquer terminé, car le produit suit la lecture sans fournir le texte des livres. L'utilisateur a ensuite validé cette maquette par un oui. Cette référence approuvée est réutilisée dans la nouvelle implémentation. Elle sera le point de comparaison à la fin, et non une simple image d'inspiration.",
60
+ "stage": null,
61
+ "image": "editorial-mockup-v1.png",
62
+ "speech": "Voici le master screen détaillé, sur ordinateur et sur mobile. Nous pouvons maintenant examiner la hiérarchie, les cartes, les espacements et les boutons. Le libellé Lire a été remplacé par Commencer ou Marquer terminé, car le produit suit la lecture sans fournir le texte des livres. L'utilisateur a ensuite validé cette maquette par un oui. Cette référence approuvée est réutilisée dans la nouvelle implémentation. Elle sera le point de comparaison à la fin, et non une simple image d'inspiration.",
63
+ "duration": 35.764898
64
+ },
65
+ {
66
+ "kind": "terminal",
67
+ "title": "Design : préciser ce que l’image ne dit pas",
68
+ "voice": "La commande design relie la référence aux comportements attendus. Une image ne décrit pas à elle seule la validation du formulaire, le clavier, un filtre vide ou un échec de sauvegarde. Codex doit préciser ces états, identifier la référence choisie et préserver les décisions existantes. La génération d'images dépend des outils disponibles dans l'environnement. Dev Method organise ce travail, mais son installation ne fournit pas un moteur d'image.",
69
+ "stage": "03",
70
+ "image": null,
71
+ "speech": "La commande design relie la référence aux comportements attendus. Une image ne décrit pas à elle seule la validation du formulaire, le clavier, un filtre vide ou un échec de sauvegarde. Codex doit préciser ces états, identifier la référence choisie et préserver les décisions existantes. La génération d'images dépend des outils disponibles dans l'environnement. Dev Method organise ce travail, mais son installation ne fournit pas un moteur d'image.",
72
+ "duration": 33.651882
73
+ },
74
+ {
75
+ "kind": "terminal",
76
+ "title": "Architecture : rester proportionné",
77
+ "voice": "L'architecture choisit le minimum nécessaire au besoin. Ici, une application statique et un stockage dans le navigateur suffisent. La logique peut être testée séparément des éléments visuels. Cette étape n'a pas pour objectif d'accumuler des technologies. Elle permet de clarifier les frontières et les limites avant l'implémentation. Une évolution ultérieure vers plusieurs utilisateurs demanderait d'autres décisions ; elle ne fait pas partie de ce film.",
78
+ "stage": "04",
79
+ "image": null,
80
+ "speech": "L'architecture choisit le minimum nécessaire au besoin. Ici, une application statique et un stockage dans le navigateur suffisent. La logique peut être testée séparément des éléments visuels. Cette étape n'a pas pour objectif d'accumuler des technologies. Elle permet de clarifier les frontières et les limites avant l'implémentation. Une évolution ultérieure vers plusieurs utilisateurs demanderait d'autres décisions ; elle ne fait pas partie de ce film.",
81
+ "duration": 32.084535
82
+ },
83
+ {
84
+ "kind": "terminal",
85
+ "title": "Plan : une tranche avec des critères",
86
+ "voice": "La commande plan découpe le périmètre en travail réalisable. Pour ce petit produit, une première tranche peut réunir le parcours utile de bout en bout. Le plan doit contenir un objectif, des critères d'acceptation, les dépendances et les vérifications prévues. Une ligne marquée prête n'est pas une preuve que le code existe. Les statuts doivent rester reliés aux faits et aux résultats réellement observés.",
87
+ "stage": "05",
88
+ "image": null,
89
+ "speech": "La commande plan découpe le périmètre en travail réalisable. Pour ce petit produit, une première tranche peut réunir le parcours utile de bout en bout. Le plan doit contenir un objectif, des critères d'acceptation, les dépendances et les vérifications prévues. Une ligne marquée prête n'est pas une preuve que le code existe. Les statuts doivent rester reliés aux faits et aux résultats réellement observés.",
90
+ "duration": 28.949841
91
+ },
92
+ {
93
+ "kind": "terminal",
94
+ "title": "Ready : vérifier avant de construire",
95
+ "voice": "Ready contrôle que la tranche est assez précise pour être implémentée. Les sources sont-elles disponibles ? Les comportements importants sont-ils décidés ? Les tests ont-ils un sens ? Dans le parcours filmé, nous montrons cette commande séparément pour l'expliquer. Pour une petite correction déjà claire, Dev Method permet aussi de regrouper cette préparation avec l'implémentation, sans imposer une conversation supplémentaire à chaque étape.",
96
+ "stage": "06",
97
+ "image": null,
98
+ "speech": "Ready contrôle que la tranche est assez précise pour être implémentée. Les sources sont-elles disponibles ? Les comportements importants sont-ils décidés ? Les tests ont-ils un sens ? Dans le parcours filmé, nous montrons cette commande séparément pour l'expliquer. Pour une petite correction déjà claire, Dev Method permet aussi de regrouper cette préparation avec l'implémentation, sans imposer une conversation supplémentaire à chaque étape.",
99
+ "duration": 31.562086
100
+ },
101
+ {
102
+ "kind": "terminal",
103
+ "title": "Implement : produire du code et des preuves",
104
+ "voice": "Nous autorisons maintenant implement. Codex réalise l'application à partir du brief et du master screen. Aucun code de la première démonstration ne lui a été fourni. Les attentes de calcul et d'écriture sont retirées du montage ; la réponse montrée provient de l'exécution réelle. Regardez ce que l'agent dit avoir vérifié, mais aussi ce qu'il laisse explicitement à vérifier. Un résultat local doit rester distinct d'un déploiement.",
105
+ "stage": "07",
106
+ "image": null,
107
+ "speech": "Nous autorisons maintenant implement. Codex réalise l'application à partir du brief et du master screen. Aucun code de la première démonstration ne lui a été fourni. Les attentes de calcul et d'écriture sont retirées du montage ; la réponse montrée provient de l'exécution réelle. Regardez ce que l'agent dit avoir vérifié, mais aussi ce qu'il laisse explicitement à vérifier. Un résultat local doit rester distinct d'un déploiement.",
108
+ "duration": 31.399546
109
+ },
110
+ {
111
+ "kind": "terminal",
112
+ "title": "Review : examiner la réalisation",
113
+ "voice": "La revue confronte les fichiers réalisés aux critères de la tranche. Elle cherche des défauts concrets, pas seulement une liste de bonnes pratiques. Nous conservons le résultat de cette revue, y compris ses limites. Si une correction est nécessaire, elle doit être effectuée puis revérifiée. Le fait que l'agent relise son travail ne permet pas de prétendre à une validation indépendante universelle.",
114
+ "stage": "08",
115
+ "image": null,
116
+ "speech": "La revue confronte les fichiers réalisés aux critères de la tranche. Elle cherche des défauts concrets, pas seulement une liste de bonnes pratiques. Nous conservons le résultat de cette revue, y compris ses limites. Si une correction est nécessaire, elle doit être effectuée puis revérifiée. Le fait que l'agent relise son travail ne permet pas de prétendre à une validation indépendante universelle.",
117
+ "duration": 28.299683
118
+ },
119
+ {
120
+ "kind": "terminal",
121
+ "title": "Corriger les défauts réellement trouvés",
122
+ "stage": "08b",
123
+ "image": null,
124
+ "voice": "La revue a trouvé des défauts concrets. Un ajout pouvait écraser des données qui n’avaient pas été chargées. Deux autres points concernaient la création des identifiants et les caractères Unicode. Nous envoyons donc une nouvelle commande implement avec ces constats. Nous demandons aussi de rétablir les couvertures de la référence approuvée. Cette boucle fait partie de la chaîne réelle : une première implémentation n’est pas automatiquement une livraison acceptée.",
125
+ "speech": "La revue a trouvé des défauts concrets. Un ajout pouvait écraser des données qui n’avaient pas été chargées. Deux autres points concernaient la création des identifiants et les caractères Unicode. Nous envoyons donc une nouvelle commande implement avec ces constats. Nous demandons aussi de rétablir les couvertures de la référence approuvée. Cette boucle fait partie de la chaîne réelle : une première implémentation n’est pas automatiquement une livraison acceptée.",
126
+ "duration": 30.842268
127
+ },
128
+ {
129
+ "kind": "browser",
130
+ "title": "Le prototype en action",
131
+ "voice": "Nous passons maintenant dans le vrai navigateur. L'application affiche la bibliothèque et ses contrôles. Le test parcourt les actions importantes : filtrer, ajouter un livre, commencer ou terminer une lecture, puis recharger la page. C'est cette interaction réelle qui distingue une interface utilisable d'une simple maquette. Les livres sont fictifs et les données restent locales. Aucun appel payant à un fournisseur d'intelligence artificielle n'est nécessaire pour utiliser ce prototype.",
132
+ "stage": null,
133
+ "image": null,
134
+ "speech": "Nous passons maintenant dans le vrai navigateur. L'application affiche la bibliothèque et ses contrôles. Le test parcourt les actions importantes : filtrer, ajouter un livre, commencer ou terminer une lecture, puis recharger la page. C'est cette interaction réelle qui distingue une interface utilisable d'une simple maquette. Les livres sont fictifs et les données restent locales. Aucun appel payant à un fournisseur d'intelligence artificielle n'est nécessaire pour utiliser ce prototype.",
135
+ "duration": 35.544308
136
+ },
137
+ {
138
+ "kind": "comparison",
139
+ "title": "Comparer au master screen",
140
+ "voice": "Nous revenons à la référence approuvée et la comparons à la capture réelle. La comparaison porte sur la composition, la hiérarchie, les couleurs, les couvertures et les actions. Les différences de police ou d'espacement doivent être nommées, pas cachées derrière un build réussi. Le comportement mobile est vérifié séparément. Une image séduisante n'est donc pas la fin du parcours : elle devient un contrat visuel que l'on confronte au produit.",
141
+ "stage": null,
142
+ "image": null,
143
+ "speech": "Nous revenons à la référence approuvée et la comparons à la capture réelle. La comparaison porte sur la composition, la hiérarchie, les couleurs, les couvertures et les actions. Les différences de police ou d'espacement doivent être nommées, pas cachées derrière un build réussi. Le comportement mobile est vérifié séparément. Une image séduisante n'est donc pas la fin du parcours : elle devient un contrat visuel que l'on confronte au produit.",
144
+ "duration": 31.527256
145
+ },
146
+ {
147
+ "kind": "terminal",
148
+ "title": "Verify : consolider les résultats",
149
+ "voice": "Verify rassemble les contrôles manquants et leurs résultats. Les tests de logique et les observations navigateur répondent à des questions différentes. Une commande réussie ne prouve que le périmètre qu'elle a réellement inspecté. Les sorties du film permettent de voir cette séparation. Nous ne prétendons ni à un audit complet d'accessibilité, ni à une compatibilité universelle, ni à une supériorité démontrée sur une autre méthode.",
150
+ "stage": "09b",
151
+ "image": null,
152
+ "speech": "Verify rassemble les contrôles manquants et leurs résultats. Les tests de logique et les observations navigateur répondent à des questions différentes. Une commande réussie ne prouve que le périmètre qu'elle a réellement inspecté. Les sorties du film permettent de voir cette séparation. Nous ne prétendons ni à un audit complet d'accessibilité, ni à une compatibilité universelle, ni à une supériorité démontrée sur une autre méthode.",
153
+ "duration": 31.237007
154
+ },
155
+ {
156
+ "kind": "terminal",
157
+ "title": "Terminer et préparer la reprise",
158
+ "voice": "Le dernier point de passage enregistre ce qui est livré, les limites et l'état de reprise. Pour cette démonstration, la livraison est locale. Une fusion sur le dépôt de la méthode et une publication du produit seraient des actions différentes. La commande suivante n'autorise pas automatiquement un nouveau périmètre. Cette discipline permet de retrouver le travail dans une autre session sans confondre une proposition, une réalisation et une preuve.",
159
+ "stage": "10",
160
+ "image": null,
161
+ "speech": "Le dernier point de passage enregistre ce qui est livré, les limites et l'état de reprise. Pour cette démonstration, la livraison est locale. Une fusion sur le dépôt de la méthode et une publication du produit seraient des actions différentes. La commande suivante n'autorise pas automatiquement un nouveau périmètre. Cette discipline permet de retrouver le travail dans une autre session sans confondre une proposition, une réalisation et une preuve.",
162
+ "duration": 32.049705
163
+ },
164
+ {
165
+ "kind": "end",
166
+ "title": "Essayez la chaîne sur votre projet",
167
+ "voice": "Vous avez vu le besoin, les commandes et leurs sorties, les directions artistiques, le master screen approuvé, le code et les vérifications. Dev Method sert à relier ces étapes en conservant les décisions utiles. Retrouvez le guide et les exemples sur GitHub. Pour cette évolution, utilisez la version source documentée : le paquet publié zéro point un n'inclut pas encore toutes ces nouveautés. Commencez par une petite livraison et jugez la méthode sur le résultat.",
168
+ "stage": null,
169
+ "image": null,
170
+ "speech": "Vous avez vu le besoin, les commandes et leurs sorties, les directions artistiques, le master screen approuvé, le code et les vérifications. Dev Method sert à relier ces étapes en conservant les décisions utiles. Retrouvez le guide et les exemples sur guit-hub. Pour cette évolution, utilisez la version source documentée : le paquet publié zéro point un n'inclut pas encore toutes ces nouveautés. Commencez par une petite livraison et jugez la méthode sur le résultat.",
171
+ "duration": 34.638729999999995
172
+ }
173
+ ]