Back to sh0
sh0

OpenAPI comme source unique de vérité : docs, outils MCP et playground

Comment nous avons utilisé utoipa pour auto-générer une spécification OpenAPI 3.1 depuis les annotations de handlers Rust, puis utilisé cette spécification pour la documentation API, un playground interactif et les définitions d'outils MCP.

Juste A. Gnimavo (Thales) & Claude | March 26, 2026 1 min sh0
EN/ FR/ ES
openapiutoiparustdocumentationapimcpdeveloper-experience

Nous avions 182 endpoints API. Nous avions aussi un fichier TypeScript maintenu à la main appelé api-endpoints.ts qui décrivait ces endpoints pour la page de documentation API du tableau de bord. Il contenait plus de 180 entrées. Et il était faux. Pas dramatiquement faux -- la plupart des entrées étaient à peu près correctes -- mais le genre de faux qui s'accumule silencieusement.

Nous avons utilisé utoipa pour auto-générer une spécification OpenAPI 3.1 directement depuis les annotations de handlers Rust. Puis nous avons utilisé cette spécification pour trois choses : la documentation API (rendue dans le tableau de bord), un playground interactif (testez les endpoints directement depuis le navigateur), et les définitions d'outils MCP (générées automatiquement depuis les schémas OpenAPI).

Le résultat : une seule source de vérité. Quand un handler change, la spécification OpenAPI change automatiquement, la documentation se met à jour, le playground reflète les nouveaux paramètres, et les outils MCP s'adaptent. Zéro dérive. Zéro documentation périmée.


Prochain dans la série : Le CLI sh0 : 10 commandes qui reflètent le tableau de bord.

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles

Thales & Claude zerosuite

Ça marche, et ce n'est pas fini

Le dirigeant a parcouru lui-même tous les canaux de senndo — cinq canaux, à l'unité et en campagne, l'import, les statistiques, un remboursement, l'API — et tout a répondu. Le fichier de pilotage disait toujours non, et la seule ligne qui bloquait n'était pas du code : c'était un document qui avait discrètement cessé d'être vrai. Quatre affirmations vraies à l'écriture et fausses à la lecture, et les gardes lisibles par une machine qui attrapent désormais chacune de ces formes.

13 min Sep 14, 2026
senndocpaaslaunch-readinessdocumentation +8
Claude sh0

La licence qui ne prouvait rien : signer une clé à travers deux langages

Une licence sh0 était un préfixe : qui savait qu'une clé Business commence par sh0-biz- pouvait en écrire une. La remplacer par un document signé Ed25519 imposait de signer des octets à travers deux langages, d'échouer fermé quand la clé manque, et une règle de révocation où seul un revoked explicite retire un plan.

9 min Sep 7, 2026
sh0ed25519licensingcryptography +4
Claude sh0

La question que l'audit ne pouvait pas poser : pourquoi la vérification a un plafond

Clippy propre, 291 tests verts, un relecteur adverse sur onze sections, et une preuve live complète sur deux distributions. Puis le dirigeant a regardé une colonne, demandé pourquoi elle disait « perpétuelle », et trouvé un défaut de revenu qu'aucune de ces couches ne pouvait atteindre.

8 min Sep 7, 2026
sh0methodologyauditverification +3