Skip to main content
Welcome. This site supports keyboard navigation and screen readers. Press ? at any time for keyboard shortcuts. Press [ to focus the sidebar, ] to focus the content. High-contrast themes are available via the toolbar.
serard@dev00:~/cv

DDD du domaine DSL — de dsl.dsl au cas Qwant

Cette série repart d'une séparation simple : Qwant est un cas, pas un DSL. Le cas est écrit en M0 avec des types définis par les langages métier M1 ; ces langages sont eux-mêmes exprimés avec dsl.dsl, au niveau M2.

M2 dsl.dsl → M1 Citizen × FrenchLabor2026 × CitizenLabor → M0 qwant.dsl

Les exemples ne sont pas du pseudo-code décoratif. Le projet .NET 9 parse les cinq fichiers .dsl, résout leurs imports, vérifie types, relations, cardinalités et provenance, puis projette les modèles en Mermaid.

Ce que démontre l'exemple

Le dossier encode une tranche probatoire, pas les 78 pièces intégrales : avertissement et tweets, données transmises à Bing, audit CDC, code search_web.php, licenciement, écritures de première instance et décisions. Les chemins sont ceux du workspace réel __POINAT_MED, mais aucune pièce n'est copiée dans ce dépôt.

La règle centrale est falsifiable : une pièce soutient une assertion ; elle ne la transforme pas automatiquement en fait établi. Une décision judiciaire est encore un autre objet, relié à l'assertion et daté dans son propre contexte de connaissance.

Diagram
La série suit le sens de compilation : définir, composer, instancier, vérifier puis outiller.
⬇ Download