Skip to content

docs(site): une section « Cas d'usage », et une chose entière dedans - #265

Open
gplanchat wants to merge 5 commits into
mainfrom
docs/section-use-cases
Open

docs(site): une section « Cas d'usage », et une chose entière dedans#265
gplanchat wants to merge 5 commits into
mainfrom
docs/section-use-cases

Conversation

@gplanchat

@gplanchat gplanchat commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Pourquoi

Les dix-sept sections de documentation/user/ sont toutes de la référence de fonctionnalité : await ici, les signaux là, Nexus plus loin. Il n'existe aucun créneau pour « voici une chose entière construite avec Durable ».

Conséquence, mesurée avant d'écrire quoi que ce soit :

  • seize scénarios sous symfony/src/Samples/Workflow/, portés de temporalio/samples-php — mentionnés nulle part sur le site ;
  • la maquette Nexus à quatre applications — trois frameworks, quatre namespaces — enterrée dans un paragraphe de nexus/.

Cette PR ouvre le créneau. Elle ne construit pas un contenant pour du contenu espéré : elle en construit un pour du contenu déjà écrit qui n'a pas d'adresse.

Ce qu'il y a dedans

use-cases/_index ce qu'est une entrée, et les cinq choses qu'une page doit dire — dont « ce qui n'est pas prouvé », sans quoi c'est une brochure
use-cases/nexus-demo quatre applications qui s'appellent : ce que Durable apporte, et que l'ordre des appels est la seule compensation qu'il y ait

Une entrée, pas deux

L'entrée sur l'agent IA interruptible a été retirée en cours de route, et c'est le point qui mérite d'être lu.

Elle décrivait un convertisseur écrit à la main et un pont fournisseur absent. Les deux sont devenus faux : le spike a fusionné spike/agent-questionnaires, le convertisseur maison est supprimé au profit du vrai pont Mistral — et ce pont refuse par un 422 (Extra inputs are not permitted) le reasoning_content que la page présentait comme la forme du raisonnement.

Elle n'avait de toute façon pas de chemin de lancement, ce que son propre avertissement disait. Une entrée qui renvoie vers quelque chose qu'on ne peut pas démarrer n'est pas une entrée — c'est la règle que le _index de la section pose lui-même. Elle reviendra quand son prototype sera posé.

Les seize scénarios de Samples/ restent dehors aussi : ce sont des vignettes de fonctionnalité, pas des applications entières. Les faire entrer parce que les deux manquent serait la mauvaise raison.

Sur le nom

« Cas d'usage » et pas « Advanced use cases » : l'adjectif décrit une difficulté, alors que la propriété qui distingue ces entrées est la complétude. La maquette Nexus n'est pas difficile — elle est entière. Et « advanced » décourage.

Vérification

Première section du guide à avoir des sous-pages : les dix-sept autres sont un _index plat. Vérifié sur un build --minify servi en HTTP (public/ et file:// mentent) :

  • la nav imbrique les enfants sous la section, dans l'ordre des poids, y compris depuis une autre page ;
  • la section arrive en dernier (poids 45), après Testing ;
  • la table des matières est complète — les sept h2, accents compris ;
  • les tableaux rendent, les liens croisés relatifs résolvent, dans les deux langues ;
  • /docs/use-cases/ et /fr/docs/use-cases/ répondent 200, enfant compris.

Un correctif que le build a signalé : le shortcode hint du thème est déprécié en Hugo 0.165. Les avertissements passeraient par les alertes Markdown (> [!WARNING]), que le thème habille toujours en book-hint warning — vérifié avant que la page concernée ne soit retirée. Aucune autre page ne l'utilisait.

Hors périmètre

  • La consolidation du paragraphe démo de nexus/ avec la nouvelle entrée — nexus/ n'est pas touché.
  • Une page de catalogue pour les seize scénarios.
  • Tout ce qu'un showcase communautaire demanderait : règles de soumission, gabarit de contribution, mise en page de galerie. Le modèle de données de la section est déjà celui d'un showcase ; il n'y a rien à construire avant que quelqu'un se présente.

gplanchat and others added 3 commits September 3, 2026 19:18
Les dix-sept sections de documentation/user/ sont de la référence de
fonctionnalité : une page par mécanisme. Il n'existait aucun créneau pour
« voici une chose entière construite avec Durable » — d'où seize scénarios sous
symfony/src/Samples/ mentionnés nulle part, et la maquette Nexus à quatre
applications enterrée dans un paragraphe de nexus/.

Deux entrées au jour un : la maquette Nexus, et l'agent IA interruptible. Les
scénarios de Samples/ restent dehors — ce sont des vignettes de fonctionnalité,
pas des applications entières, et les fusionner parce que les deux manquent
serait la mauvaise raison.

« Cas d'usage » et pas « Advanced use cases » : l'adjectif décrit une
difficulté, alors que ce qui distingue ces entrées est la complétude. La
maquette Nexus n'est pas difficile, elle est entière.

La page de l'agent porte un avertissement : son code n'est pas fusionné, et il
n'a pas de chemin de démarrage documenté. Elle publie le motif — les quatre
coutures, la classification par effet, la clé d'idempotence dérivée du workflow,
l'approbation par signal — qui s'applique à n'importe quel agent Symfony AI.
Pas un paquet : symfony/ai est en 0.x, treize mineures, sans promesse de BC.

Première section du guide à avoir des sous-pages. Vérifié sur un build --minify
servi en HTTP : la nav imbrique, la table des matières est complète, les liens
croisés relatifs résolvent, et les deux langues rendent. Le shortcode `hint` du
thème est déprécié en 0.165 — les avertissements passent par les alertes
Markdown, que le thème habille toujours en `book-hint`.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…ehors

L'ancienne version disait « le convertisseur les laisserait tomber » et
s'arrêtait là. Elle sous-estimait le sujet sur trois points, tous vérifiés
depuis dans le code de symfony/ai v0.13.0 :

- la perte est **silencieuse** — pas d'exception, un tour d'après amputé ;
- le `signature` que porte `Thinking` existe, dit son docblock, pour vérifier
  les blocs « when they are replayed on a subsequent turn » : chez un
  fournisseur qui l'exige, l'appel échoue au deuxième tour ;
- combler le trou est un **point de changement**, pas un correctif — le journal
  garde le même JSON, le nouveau convertisseur en extrait davantage, et la
  charge du tour suivant cesse de correspondre à celle qui avait été envoyée.

Le code du prototype le fait maintenant traverser (branche spike). Reste
dehors : la signature, qu'aucun normaliseur de `ai-platform` n'écrit sur le fil.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… posé

La page décrivait un convertisseur écrit à la main et un pont fournisseur
absent. Les deux sont faux depuis que le spike a fusionné : le convertisseur est
supprimé, le pont Mistral est installé — et il refuse par un 422 le
`reasoning_content` que la page présentait comme la forme du raisonnement.

Elle n'avait de toute façon pas de quoi la lancer, ce que son propre
avertissement disait. Une entrée qui renvoie vers quelque chose qu'on ne peut
pas démarrer n'est pas une entrée ; c'est la règle que le `_index` de la section
pose lui-même.

La section tient avec `nexus-demo`, qui est exact et qui démarre. L'entrée de
l'agent reviendra avec son chemin de lancement.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@gplanchat
gplanchat force-pushed the docs/section-use-cases branch from bf318ad to 761ea76 Compare September 3, 2026 17:18
@gplanchat gplanchat changed the title docs(site): une section « Cas d'usage », et deux choses entières dedans docs(site): une section « Cas d'usage », et une chose entière dedans Sep 3, 2026
gplanchat and others added 2 commits September 3, 2026 23:11
« Comment on la lance » ne la lançait pas. La page donnait `demo/lancer.sh` et ses deux options,
et taisait `bin/demo-nexus`, qui crée les namespaces et les endpoints Nexus. Les huit workers se
connectent à des endpoints qui n'existent pas tant qu'il n'est pas passé : un lecteur qui suit la
page obtient huit workers qui échouent à se connecter, sur un message qui ne nomme pas l'étape
manquante. `demo/README.md:147-148` porte la séquence complète depuis toujours ; c'est la page
publiée qui n'en reprenait que la seconde moitié.

Les décalages de ligne entre `nexus-demo.md` et `nexus-demo.fr.md` sont inchangés.

Non repris, faute d'avoir pu le reproduire : la relecture signalait une collision entre
`/docs/use-cases/` et une URL existante du site publié. Aucune recherche dans `hugo-docs/` ne
trouve de cible portant ce chemin, et le mount ne monte que `../documentation/user`. Le constat
reste peut-être vrai sur un build complet — il n'est pas vérifié, donc il n'est pas corrigé ici.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant