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.
- package/.agents/skills/decision-architecture/SKILL.md +15 -13
- package/.agents/skills/decision-architecture/assets/ADR.md +18 -17
- package/.agents/skills/decision-architecture/references/api-contracts.md +21 -16
- package/.agents/skills/decision-architecture/references/backend-boundaries.md +21 -18
- package/.agents/skills/decision-architecture/references/product-decisions.md +14 -17
- package/.agents/skills/design-to-code/SKILL.md +18 -11
- package/.agents/skills/design-to-code/assets/UI_ACCEPTANCE.md +13 -12
- package/.agents/skills/design-to-code/references/ux-contract.md +20 -15
- package/.agents/skills/design-to-code/references/visual-creation.md +37 -0
- package/.agents/skills/project-foundation/SKILL.md +39 -30
- package/.agents/skills/project-foundation/assets/AGENTS.foundation.md +16 -15
- package/.agents/skills/project-foundation/assets/PROJECT_PROFILE.md +24 -23
- package/.agents/skills/project-foundation/assets/START_HERE.md +17 -14
- package/.agents/skills/project-foundation/references/mission-context.md +30 -0
- package/.agents/skills/project-foundation/references/operating-commands.md +49 -34
- package/.agents/skills/project-foundation/references/profiles/README.md +18 -0
- package/.agents/skills/project-foundation/references/profiles/ci.md +11 -0
- package/.agents/skills/project-foundation/references/profiles/cloud-delivery.md +13 -0
- package/.agents/skills/project-foundation/references/profiles/messaging.md +11 -0
- package/.agents/skills/project-foundation/references/profiles/mongodb.md +11 -0
- package/.agents/skills/project-foundation/references/profiles/node-nest.md +11 -0
- package/.agents/skills/project-foundation/references/profiles/postgres-drizzle.md +11 -0
- package/.agents/skills/project-foundation/references/profiles/react-next.md +11 -0
- package/.agents/skills/project-foundation/references/profiles/typescript.md +11 -0
- package/.agents/skills/project-foundation/references/work-sizing.md +31 -0
- package/.agents/skills/react-feature-engineering/SKILL.md +26 -22
- package/.agents/skills/react-feature-engineering/references/review-and-sources.md +41 -37
- package/.agents/skills/reliable-ai-integration/SKILL.md +13 -10
- package/.agents/skills/reliable-ai-integration/assets/AI_EVALUATION.md +19 -18
- package/.agents/skills/reliable-ai-integration/references/evidence-and-media.md +22 -18
- package/.agents/skills/reliable-ai-integration/references/jobs-and-costs.md +20 -15
- package/.agents/skills/scoped-delivery/SKILL.md +25 -18
- package/.agents/skills/scoped-delivery/assets/CHECKPOINT.md +22 -11
- package/.agents/skills/scoped-delivery/assets/MISSION.md +35 -0
- package/.agents/skills/scoped-delivery/assets/SLICE.md +15 -14
- package/.agents/skills/scoped-delivery/assets/VERIFICATION.md +19 -0
- package/.agents/skills/scoped-delivery/references/verification-and-cost.md +21 -18
- package/COMPATIBILITY.md +3 -3
- package/CONTRIBUTING.md +13 -0
- package/README.md +94 -9
- package/START_HERE.md +24 -0
- package/VALIDATION.md +37 -0
- package/dist/checkpoint.js +171 -0
- package/dist/cli.js +118 -17
- package/dist/doctor.js +113 -0
- package/dist/filesystem.js +32 -0
- package/dist/init.js +38 -34
- package/dist/mission.js +85 -0
- package/dist/planner.js +65 -0
- package/dist/records.js +76 -0
- package/dist/update.js +57 -0
- package/docs/ADR-001-distribution.md +13 -0
- package/docs/ADR-002-read-only-diagnostics.md +25 -0
- package/docs/ADR-003-installation-provenance.md +15 -0
- package/docs/ADR-004-checkpoint-resumption.md +23 -0
- package/docs/ADR-005-mission-context.md +11 -0
- package/docs/ADR-006-opt-in-native-pilot.md +15 -0
- package/docs/BMAD-COMPARISON.md +34 -0
- package/docs/CODEX-ADAPTER-VALIDATION.md +20 -0
- package/docs/COMPARISON-ITERATION.md +25 -0
- package/docs/DOCTOR.md +23 -0
- package/docs/EVALUATION.md +39 -0
- package/docs/EVOLUTION.md +34 -0
- package/docs/GREENFIELD-VALIDATION.md +36 -0
- package/docs/MILESTONES.md +39 -0
- package/docs/MISSIONS.md +47 -0
- package/docs/NATIVE-PILOT-RESULTS.md +22 -0
- package/docs/NATIVE-PILOT.md +17 -0
- package/docs/ORCHESTRATION.md +11 -0
- package/docs/RC2-VALIDATION.md +50 -0
- package/docs/RELEASE-0.1.0.md +60 -0
- package/docs/RELEASE-0.2.0.md +37 -0
- package/docs/RELEASE-CHECKLIST.md +13 -0
- package/docs/RELEASE-NOTES-0.1.0-rc.2.md +32 -0
- package/docs/RELEASE-NOTES-0.1.0.md +11 -0
- package/docs/RESUMPTION.md +87 -0
- package/docs/ROADMAP.md +39 -0
- package/docs/STACK-PROFILES.md +9 -0
- package/docs/TROUBLESHOOTING.md +16 -0
- package/docs/UPDATES.md +30 -0
- package/docs/VISUAL-CREATION-PROPOSAL.md +21 -0
- package/docs/VISUAL-WORKFLOW.md +75 -0
- package/docs/images/devmethod-delivery.svg +10 -0
- package/docs/images/devmethod-flow.svg +13 -0
- package/docs/media/from-zero/README.md +17 -0
- package/docs/media/from-zero/devmethod-demo.fr.srt +59 -0
- package/docs/media/from-zero/scenes.json +50 -0
- package/docs/media/full-chain-4k/README.md +37 -0
- package/docs/media/full-chain-4k/devmethod-chaine-complete.fr.srt +435 -0
- package/docs/media/full-chain-4k/scenes.json +173 -0
- package/docs/media/full-chain-4k/transcripts.fr.md +315 -0
- package/docs/media/visual-chain/README.md +44 -0
- package/docs/media/visual-chain/assets/add-book-v1.png +0 -0
- package/docs/media/visual-chain/assets/completed-v1.png +0 -0
- package/docs/media/visual-chain/devmethod-du-besoin-au-produit.fr.srt +147 -0
- package/docs/media/visual-chain/execution.fr.md +30 -0
- package/docs/media/visual-chain/image-prompts.json +9 -0
- package/docs/media/visual-chain/reference-hashes.json +5 -0
- package/docs/media/visual-chain/scenes.json +232 -0
- package/docs/media/visual-chain/video-preview.jpg +0 -0
- package/docs/missions/visual-workflow.md +46 -0
- package/evaluation/COMPARISONS.md +33 -0
- package/evaluation/README.md +35 -0
- package/evaluation/candidate-setup.json +33 -0
- package/evaluation/comparison-v2-readiness.json +18 -0
- package/evaluation/comparison-v2-results.json +58 -0
- package/evaluation/fixtures/dependency/CONTRIBUTING.md +3 -0
- package/evaluation/fixtures/dependency/TICKET.md +3 -0
- package/evaluation/fixtures/dependency/acceptance.test.mjs +4 -0
- package/evaluation/fixtures/dependency/api.mjs +1 -0
- package/evaluation/fixtures/failing-verification/CONTRIBUTING.md +3 -0
- package/evaluation/fixtures/failing-verification/acceptance.test.mjs +4 -0
- package/evaluation/fixtures/failing-verification/total.mjs +1 -0
- package/evaluation/fixtures/stale-handoff/CHECKPOINT.md +3 -0
- package/evaluation/fixtures/stale-handoff/CONTRACT.md +3 -0
- package/evaluation/fixtures/stale-handoff/CONTRIBUTING.md +3 -0
- package/evaluation/fixtures/stale-handoff/acceptance.test.mjs +4 -0
- package/evaluation/fixtures/stale-handoff/label.mjs +1 -0
- package/evaluation/fixtures/update-customization/README.md +13 -0
- package/evaluation/fixtures.json +85 -0
- package/evaluation/greenfield/acceptance.test.mjs +57 -0
- package/evaluation/greenfield/security.test.mjs +28 -0
- package/evaluation/native-pilot-results.json +155 -0
- package/examples/README.md +36 -0
- package/examples/bugfix/acceptance.test.mjs +17 -0
- package/examples/bugfix/page-size.mjs +4 -0
- package/examples/clair-from-zero/AGENT-EVALUATION.md +15 -0
- package/examples/clair-from-zero/MISSION.md +41 -0
- package/examples/clair-from-zero/README.md +24 -0
- package/examples/clair-from-zero/app/app.mjs +69 -0
- package/examples/clair-from-zero/app/domain.mjs +30 -0
- package/examples/clair-from-zero/app/index.html +20 -0
- package/examples/clair-from-zero/app/storage.mjs +4 -0
- package/examples/clair-from-zero/app/styles.css +128 -0
- package/examples/clair-from-zero/browser-check.cjs +2 -0
- package/examples/clair-from-zero/tests/domain.test.mjs +37 -0
- package/examples/fullstack/CONTRACT.md +23 -0
- package/examples/fullstack/DEPENDENCIES.md +18 -0
- package/examples/fullstack/README.md +100 -0
- package/examples/fullstack/api/application/tasks.ts +13 -0
- package/examples/fullstack/api/domain/task.ts +12 -0
- package/examples/fullstack/api/http.ts +26 -0
- package/examples/fullstack/api/infrastructure/migrate.ts +15 -0
- package/examples/fullstack/api/infrastructure/postgres.ts +18 -0
- package/examples/fullstack/api/infrastructure/schema.ts +6 -0
- package/examples/fullstack/api/main.ts +17 -0
- package/examples/fullstack/api/tsconfig.json +17 -0
- package/examples/fullstack/compose.yaml +14 -0
- package/examples/fullstack/migrations/0000_tasks.sql +5 -0
- package/examples/fullstack/migrations/meta/_journal.json +13 -0
- package/examples/fullstack/mission.json +34 -0
- package/examples/fullstack/package-lock.json +2661 -0
- package/examples/fullstack/package.json +45 -0
- package/examples/fullstack/tests/e2e.test.cjs +54 -0
- package/examples/fullstack/tests/http.test.cjs +33 -0
- package/examples/fullstack/tests/postgres.test.cjs +29 -0
- package/examples/fullstack/tests/unit.test.cjs +20 -0
- package/examples/fullstack/tests/web-model.test.cjs +23 -0
- package/examples/fullstack/web/app/layout.tsx +4 -0
- package/examples/fullstack/web/app/page.tsx +11 -0
- package/examples/fullstack/web/features/tasks/components/task-list.tsx +11 -0
- package/examples/fullstack/web/features/tasks/hooks/use-task-filter.ts +7 -0
- package/examples/fullstack/web/features/tasks/model/tasks.ts +12 -0
- package/examples/fullstack/web/features/tasks/server/list-tasks.ts +8 -0
- package/examples/fullstack/web/next.config.mjs +2 -0
- package/examples/fullstack/web/tsconfig.json +36 -0
- package/examples/mission/CONTRACT.md +3 -0
- package/examples/mission/mission.json +18 -0
- package/examples/mission/plan.json +11 -0
- package/examples/pocket-tasks/BRIEF.md +21 -0
- package/examples/pocket-tasks/PROJECT_PROFILE.md +19 -0
- package/examples/pocket-tasks/README.md +43 -0
- package/examples/pocket-tasks/docs/ADR-001.md +7 -0
- package/examples/pocket-tasks/docs/HANDOFF.md +16 -0
- package/examples/pocket-tasks/docs/MISSION.md +15 -0
- package/examples/pocket-tasks/docs/VERIFICATION.md +58 -0
- package/examples/pocket-tasks/package.json +1 -0
- package/examples/pocket-tasks/public/app.js +84 -0
- package/examples/pocket-tasks/public/index.html +12 -0
- package/examples/pocket-tasks/public/styles.css +1 -0
- package/examples/pocket-tasks/server.mjs +79 -0
- package/examples/pocket-tasks/src/domain.mjs +31 -0
- package/examples/pocket-tasks/src/store.mjs +49 -0
- package/examples/pocket-tasks/tests/app.test.mjs +132 -0
- package/examples/pocket-tasks/tests/ui-errors.test.mjs +49 -0
- package/examples/visual-pilot/README.md +11 -0
- package/examples/visual-pilot/app/app.js +10 -0
- package/examples/visual-pilot/app/index.html +1 -0
- package/examples/visual-pilot/app/reference.png +0 -0
- package/examples/visual-pilot/app/style.css +3 -0
- package/examples/visual-pilot/browser-check.cjs +3 -0
- package/examples/visual-pilot/desktop-actual.png +0 -0
- package/examples/visual-pilot/directions-prompt.txt +1 -0
- package/examples/visual-pilot/directions-v1.png +0 -0
- package/examples/visual-pilot/editorial-mockup-prompt.txt +1 -0
- package/examples/visual-pilot/editorial-mockup-v1.png +0 -0
- package/examples/visual-pilot/mismatch-probe.png +0 -0
- package/examples/visual-pilot/mobile-actual.png +0 -0
- package/examples/visual-pilot/quick-filter/AGENT-RESULT.md +25 -0
- package/examples/visual-pilot/quick-filter/baseline.log +42 -0
- package/examples/visual-pilot/quick-filter/filter.mjs +3 -0
- package/examples/visual-pilot/quick-filter/filter.test.mjs +9 -0
- package/package.json +15 -3
- package/scripts/check-codex-git.mjs +20 -0
- package/scripts/check-docs.mjs +14 -0
- package/scripts/check-native-sandbox.mjs +11 -0
- package/scripts/comparison-readiness.mjs +26 -0
- package/scripts/comparison.mjs +42 -0
- package/scripts/evaluation.mjs +64 -0
- package/scripts/fullstack-mission.mjs +30 -0
- package/scripts/hosts/checks.mjs +13 -0
- package/scripts/hosts/codex-meter.mjs +17 -0
- package/scripts/hosts/codex-rpc.mjs +44 -0
- package/scripts/hosts/codex-task.mjs +29 -0
- package/scripts/hosts/codex.mjs +28 -0
- package/scripts/media/demo-actions.cjs +16 -0
- package/scripts/media/encode-demo.py +22 -0
- package/scripts/media/record-demo.cjs +30 -0
- package/scripts/media/visual-short/check.cjs +1 -0
- package/scripts/media/visual-short/encode.py +16 -0
- package/scripts/media/visual-short/record.cjs +4 -0
- package/scripts/media/visual-short/story.py +34 -0
- package/scripts/native-host.mjs +55 -0
- package/scripts/package-smoke.mjs +64 -0
- package/scripts/probe-codex-children.mjs +41 -0
- package/scripts/run-comparison-v2.mjs +45 -0
- package/scripts/run-native-pilot.mjs +76 -0
- 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
|
+
]
|