Guide de la documentation technique¶

La documentation technique est entretenue dans le code, dans le dossier docs Ă  la racine du projet

Elle suit la convention DIATAXIS et met en application, tant que faire se peut, les guidelines de documentation définies par Google

Organisation de la documentation selon diataxis

TL;PL : Diataxis¶

On découpe la documentation en 4 parties:

  • TUTORIELS : Apprentissage pas Ă  pas de l’utilisation de l’outil, ex : installer l’application sur un poste de dĂ©veloppeur (docs/tutoriels)

  • COMMENT-FAIRE : Guide l’utilisateur pour rĂ©soudre un problĂšme, ex : copie de la base de donnĂ©es de prod vers preprod (docs/comment-faire)

  • EXPLICATIONS : Description de comment ça marche et des prises de dĂ©cision, ex : architecture des donnĂ©es Acteurs et de leur revision (docs/explications))

  • REFERENCE : Description technique, ex : Architecture du dossier data (docs/reference)

Spécificité de la documentation du projet¶

Pour toute affirmation dans la documentation, il est possible d’ajouter un Statut qui dĂ©crit si la dĂ©cision est appliquĂ©e.

  • ❓ À approuver : l’équipe technique doit approuver la documentation avant de l’appliquer

  • 🔄 En cours d’application : la proposition a Ă©tĂ© adoptĂ©e, et doit ĂȘtre appliquĂ©e pour tout futur dĂ©veloppement

Si aucun statut n’est prĂ©cisĂ©, la documentation est valide et appliquĂ©e.

Une documentation refusĂ©e par l’équipe sera supprimĂ©e

Chaque modification de code qui dĂ©sapprouve la documentation doit faire l’objet d’une modification de la documentation qui doit ĂȘtre approuvĂ©e en rĂ©union de dĂ©veloppeurs ou directement via la pull request.

Publication¶

Statut : ❓ À approuver

La documentation devra ĂȘtre propulsĂ©e par une bibliothĂšque de publication de documentation, Ă  dĂ©finir.

Candidats:

  • Docsify (JS)

  • Sphinx (python) - A priori, la solution prĂ©fĂ©rĂ©e Ă  ce jour

Convention¶

Statut : ❓ À approuver

Liens vers les fichiers¶

On fera attention d’utiliser les chemins complets vers les fichiers cibles pour une compatibilitĂ© de navigations dans les Ă©diteurs tels que vscode et dans l’interface github.com. Parmi les chemins suivants, on n’autorisera que le format whitelistĂ© (✅):

  • [chemin vers le README.md du dossier](./<dossier>/README.md) ✅

  • [chemin vers le README.md du dossier](/<dossier>/README.md) ❌

  • [chemin vers le README.md du dossier](./<dossier>/) ❌

  • [chemin vers le README.md du dossier](/<dossier>/) ❌

RÚgles de nommage des fichiers dans un dossier¶

Pour garantir l’ordre d’apparition des fichiers dans la barre de dĂ©filement Ă  gauche, on prĂ©fixe le fichier par un numĂ©ro de 3 chiffres qui dĂ©termine l’ordre d’apparition dans le menu

On groupera les sujets grùce au chiffre des centaines, puis des dizaines, et enfin on ordonnera les sous rubriques dans la barre de défilement latérale par ordre croisant des noms de fichiers

Ex : dans le dossier REFERENCE

  • 101-coding-guidelines.md : en 1xx, les rĂšgles gĂ©nĂ©rales

  • 201-frontend.md : en 2xx les rĂšgles frontend

  • 311-db-guidelines.md : en 3xx les rĂšgles de donnĂ©es, 31x relatif Ă  la base de donnĂ©es

  • 322-organisations-des-fichiers-data.md : 32x relatif Ă  la plateforme data

  • 901-documentation-technique.md : 9xx les rĂšgles de documentation, volontairement en 9xx pour qu’elle soient affichĂ©es Ă  la fin de la section