Convention de documentation Quantis¶
Cette page est la convention : une codification de documentation partagée par tous les modules Quantis, pour une navigation homogène d'un module à l'autre et une exploitation à l'échelle de la plateforme. ActuaryLab en est l'implémentation de référence (modèle doc-as-service) ; les modules suivants la copient.
Les quatre piliers¶
1. Taxonomie — Diátaxis¶
Toute doc se range dans quatre catégories (jamais d'autres) :
| Catégorie | Question | Dossier |
|---|---|---|
| Tutoriels | « Comment j'apprends en faisant ? » | docs/tutorials/ |
| Guides pratiques | « Comment je résous cette tâche ? » | docs/how-to/ |
| Référence | « Quel est le détail factuel ? » | docs/specs/, docs/reference/ |
| Explication | « Pourquoi c'est ainsi ? » | docs/explanation/, docs/plan/, docs/formalisation/ |
Plus une rubrique À propos (docs/about/) pour la méta (cette page, provenance).
2. Outil — MkDocs Material + charte BFEV¶
mkdocs.ymlà la racine du dépôt, thème Material, langue fr.- Charte commune :
docs/assets/extra.css(palette vert #237227 / ambre #ffaa00), Roboto. La palette est identique pour tous les modules — seulssite_nameetlogochangent (unité visuelle Quantis). arithmatex+ MathJax pour les formules (utile aux modules à contenu mathématique).
3. Déploiement — doc-as-service¶
La doc est un service du stack Compose du module (docs/Dockerfile → nginx), géré
au même titre que backend / frontend, pas un déploiement séparé.
Leçon de bfev (module 1)
Le module bfev déploie sa doc séparément — considéré rétrospectivement comme une erreur. ActuaryLab corrige le tir : doc = service du module. À répliquer partout, et à rétrofiter sur bfev.
Domaine : docs.<module>.nedcore.net (ici docs.quantis-actuarylab.nedcore.net), aux
côtés de app. et api..
4. Cycle de vie¶
La doc suit le versionnage du code : même dépôt, même cycle de release. Travail
terminé → maj docs/ → commit + push → Dokploy redéploie → page à jour. Multi-versions
via mike si/quand le besoin apparaît.
Adopter la convention dans un nouveau module¶
- Copier
mkdocs.yml,docs/assets/,docs/Dockerfile,docs/nginx.conf,requirements-docs.txt; ajustersite_nameet le logo. - Ajouter le service
docsaudocker-compose.ymldu module. - Ranger le contenu dans les quatre dossiers Diátaxis.
- Ajouter le domaine
docs.<module>.nedcore.netdans Dokploy.
Dette connue (à durcir)¶
- Build en
mkdocs buildnon-strict : les specs importées portent des liens relatifs hérités. Passer à--strictune fois les liens nettoyés. - Mutualisation : la machinerie est aujourd'hui copiée par module. Quand un 3ᵉ
module arrive, extraire un outil partagé
quantis-docs(le coût DRY justifiera alors le refactor — durcissement juste-à-temps).