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 3 parties (la section comment-faire contient les 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