Salut à tous,
Avec plusieurs développeurs, nous avons fait le constat que la documentation n'était pas toujours le point fort des entreprises en matière de projet informatique.
Il est assez courant de voir de la documentation liée à un même projet éparpillée entre des Google Docs, des PDFs stockés sur un NAS, des commentaires dans du code ainsi que des wiki GitLab ou wiki Redmine.
Dans ces cas-là, la documentation est souvent partielle et rarement à jour. Il est donc difficile de s'y retrouver et elle n'apporte pas l'aide attendue.
Si vous êtes en charge d'un projet informatique ou que vous travaillez sur du code partagé, quels outils conseillez-vous pour maintenir une documentation technique et non-technique (guide utilisateur) à jour ?
Quelles sont les bonnes pratiques en matière de documentation ? Existe-t-il des conventions ? Comment hiérarchisez-vous les informations qui s'y trouvent ?
A quel moment la rédigez-vous ? En fin de sprint ou à la fin d'un projet ?
Pour les schemas, le langage de modélisation graphique UML fait souvent référence. Un versionnement de la documentation liée au versionnement du projet semble également indispensable !
Pour être rapide et efficace, il me semble que l'outil idéal doit disposer d'une fonctionnalité de recherche au sein de la documentation unifiée. Il est important que la présentation des résultats soit claire.
J'ai fait une petite enquête et voici une liste d'outils utilisés :
- Read The Docs
- VuePress
- Microsoft SharePoint
- Documentation brute en markdown dans le projet
- Microsoft OneNote
Parmi les avantages de Read The Docs, je remarque la possibilité d'exporter automatiquement l'ensemble de la documentation au format pdf (pour une lecture hors ligne ou sur eBook). Il est compatible avec Sphinx :
https://readthedocs.org/La documentation technique peut être automatisée grâce aux commentaires dans le code.
Pour PHP, il y le projet phpDocumentor.
Pour Javascript, il y a JSDoc ou YUIDoc.
Pour Java, il y a JavaDoc.
Pour Python, il y a PyDoc.
En connaissez-vous d'autres ?
Au quotidien, lequel de ces outils vous parait vraiment utile et facilement navigable ?
Je mentionne @artlef qui peut être intéressé par le sujet.