Aller au contenu

Intégrer la documentation aux processus de développement

Découvrez pourquoi la documentation technique doit être livrée, versionnée et contrôlée en même temps que le produit, grâce aux formats texte comme DocBook, DITA XML et reStructuredText.

, 4 min de lecture

Voir en Markdown

La documentation fait partie du logiciel. Fournie avec le produit, elle doit :

  • sortir en même temps que chaque version logicielle, pour éviter les guides obsolètes au lancement ;
  • suivre les mêmes cycles de vie, des spécifications initiales des fonctionnalités jusqu’aux tags de publication ;
  • faire l’objet des mêmes processus de production et de contrôle qualité, incluant tests automatisés, relectures par les pairs et intégration continue.

L’intégration de la documentation à l’ingénierie repose sur une chaîne d’outils interconnectée où le contenu traverse les mêmes étapes que le code source :

Intégration de la documentation modulaire dans le pipeline de développementSchéma montrant les sources de documentation modulaires alimentées par la gestion de bugs, reliées à la gestion des versions, et profilées vers les formats PDF, HTML, JavaHelp et ePUB.Gestion de bugsSources de documentationmodulairesGestion des versionsProfilagePDFHTMLJavaHelpePUB

Sources de documentation modulaires au format texte

Ce pipeline articule quatre grandes étapes :

  1. Gestion des tickets et des bugs : les besoins documentaires, les manques signalés et les correctifs sont consignés dans le même outil que les anomalies logicielles, alignant ainsi les rédacteurs sur le backlog des développeurs.
  2. Sources modulaires au format texte : les contenus sont rédigés dans des formats texte (MarkdownLangage de balisage léger en texte brut, où la mise en forme s'exprime par une ponctuation simple, par exemple un # en début de ligne pour un titre. Facile à rédiger et à relire sous gestion de versions, il n'impose aucun schéma : les équipes docs-as-code compensent par des modèles et des contrôles automatisés. Ce manuel est rédigé en MDX, une variante de Markdown.Voir dans le glossaire →, DocBookLangage de balisage XML sémantique destiné à la documentation technique, organisé en livres, chapitres et sections plutôt qu'en topics typés. Antérieur à DITA XML, il sert de point de comparaison habituel lors du choix d'un format structuré.Voir dans le glossaire →, DITA XML ou reStructuredTextLangage de balisage en texte brut issu de l'écosystème Python, plus riche que Markdown (directives, rôles, renvois) et format source natif du générateur de documentation Sphinx.Voir dans le glossaire →), découpés en modules réutilisables plutôt qu’en documents monolithiques.
  3. Gestion des versions : les fichiers sources sont suivis dans un gestionnaire de versions comme Git ou Subversion, ce qui autorise le travail sur des branches parallèles, la comparaison fine des modifications (diffs) et le retour en arrière sécurisé.
  4. Profilage et publication automatisée : les moteurs de génération appliquent un filtrage conditionnel (profilage) pour produire des livrables adaptés sous différents formats - HTML, PDF, JavaHelp ou ePUB - à partir d’une source unique.

Documentation traditionnelle et documentation intégrée

Section intitulée « Documentation traditionnelle et documentation intégrée »

Le passage de la publication bureautique isolée à un pipeline intégré résout des blocages historiques de synchronisation et de qualité :

DimensionDocumentation traditionnelleDocumentation intégrée (Docs-as-codeTraiter la documentation comme du code source : formats texte, gestion de versions, revue de code et CI/CD, plutôt qu'un processus de publication séparé.Voir dans le glossaire →)
Format de stockageFichiers binaires propriétaires (Word, InDesign, FrameMaker)Fichiers texte brut (Markdown, XML, reStructuredText)
Gestion des versionsRépertoires partagés ou renommage manuel de fichiersSystèmes de Gestion de versionsEnregistrement de chaque modification d'un ensemble de fichiers, qui permet de restaurer n'importe quel état antérieur, de comparer les changements et de travailler à plusieurs en parallèle. Git est le logiciel de gestion de versions le plus répandu ; en docs-as-code, la documentation est placée sous gestion de versions à côté du code du produit.Voir dans le glossaire → (Git, Subversion)
CollaborationVerrouillage exclusif des fichiers, écrasements fréquentsBranches concurrentes, requêtes de fusion (pull requests) et relectures
PublicationMise en page manuelle, exports manuels par livrablePipelines CI/CD (intégration continue et livraison continue)Automatisation qui vérifie chaque modification dès qu'elle est proposée (intégration continue), puis publie le résultat une fois les contrôles réussis (livraison continue). En docs-as-code, un pipeline CI/CD compile la documentation, exécute des tests, comme la vérification des liens et des schémas, et déploie le site.Voir dans le glossaire → automatisés et profilage programmatique
Synchronisation des sortiesDécalée de plusieurs semaines ou mois par rapport au logicielSynchronisée et livrée simultanément avec le produit

Pour inscrire une documentation intégrée dans la durée, le dispositif doit idéalement répondre à trois critères :

  • Pas de vendor lock-in : indépendance du format et de l’éditeur de contenu. Les sources étant en texte brut, les rédacteurs peuvent travailler avec n’importe quel outil - du simple éditeur de texte aux IDE complets - sans dépendance envers un logiciel propriétaire.
  • Chaînes de publication libres et gratuites : s’appuyer sur des standards ouverts et des compilateurs libres garantit que la documentation peut être compilée partout, notamment sur des serveurs d’intégration continue sans interface graphique.
  • Mise en page totalement automatisée : séparation stricte du fond et de la forme. Les règles de présentation sont gérées de manière centralisée par des feuilles de style et des scripts de compilation, sans intervention manuelle répétée.

Il y a quelques années encore, les seuls outils permettant de fournir des livrables de qualité au format PDF ou HTML reposaient sur des formats binaires et propriétaires qui s’intégraient mal aux systèmes de gestion de versions des équipes de développement.

Résultat : réalisée à part, la documentation technique répondait difficilement aux mêmes exigences de qualité et de délai de mise sur le marché que les produits.

DocBook, puis DITA XML et reStructuredText ont changé la donne : ces formats texte peuvent être modifiés avec tout type de programme, du simple éditeur de texte à l’IDE graphique, et s’intègrent parfaitement sous Subversion, Git ou tout autre système de gestion de versions.

Pour passer du concept à la mise en œuvre pratique, appuyez-vous sur les ressources suivantes de la boîte à outils :

  • Évaluer la maturité et préparer la migration : suivez la check-list d’adoption du docs-as-code pour valider formats, outillage et compétences d’équipe.
  • Automatiser le pipeline : découvrez l’exemple concret de pipeline CI/CD illustrant les tests automatisés, la vérification des liens et le déploiement de prévisualisations.
  • Structurer le flux de travail : explorez l’exemple de workflow docs-as-code pour voir comment branches, requêtes de fusion et revues documentaires s’articulent au quotidien.