Ce qu'on peut faire avec des formats de texte brut
Categories:
Introduction au monde du texte brut
Les contenus numériques sont aujourd’hui créés sous les formes les plus variées : sites web, documentations, présentations ou diagrammes techniques. Traditionnellement, de tels contenus sont souvent créés avec des outils graphiques – tels que Word, PowerPoint ou des logiciels de dessin. Ces outils sont intuitifs mais présentent un inconvénient majeur : les contenus sont généralement stockés dans des formats de fichier propriétaires et sont difficiles à automatiser, à versionner ou à traiter ultérieurement.
Une alternative à cela est les formats en texte brut (Plain Text). Dans ce cas, les contenus ne sont pas décrits visuellement mais via une syntaxe simple, basée sur le texte. Ces fichiers peuvent être édités avec n’importe quel éditeur de texte, facilement versionnés et traités automatiquement.
C’est pourquoi, particulièrement dans le développement logiciel, les environnements DevOps et les processus de documentation modernes, une approche s’est imposée, souvent appelée « Documentation as Code » : les contenus sont traités comme du code source – écrits en texte brut, versionnés dans Git et publiés automatiquement.
Que sont exactement les formats en texte brut ?
Les formats en texte brut sont des formats de fichier dont le contenu consiste en un texte normalement lisible. Ils ne nécessitent aucun logiciel spécifique pour être lus et peuvent être ouverts avec n’importe quel éditeur simple.
Les caractéristiques typiques des formats en texte brut sont :
- Lisibilité humaine – même sans logiciel spécifique
- Structure simple grâce à une syntaxe de balisage légère
- Contrôle de version avec des systèmes comme Git
- Automatisabilité via des pipelines de build
- Portabilité à travers différents systèmes
Un exemple est un simple fichier Markdown :
# Titre
Ceci est un paragraphe.
- Point 1
- Point 2
Le texte reste lisible même s'il n'a pas encore été rendu.
Cette propriété distingue fondamentalement les formats en texte brut de formats comme .docx, .pptx ou .vsdx, qui contiennent en interne des structures XML complexes et ne peuvent être édités de manière significative qu’avec un logiciel spécifique.
Quels formats existent ?
Les formats en texte brut peuvent être grossièrement divisés en deux catégories :
- Formats pour structurer le texte
- Formats pour décrire des visualisations
Les deux suivent le même principe : les contenus sont décrits via une syntaxe simple puis automatiquement rendus.
Formats pour le traitement de texte
Markdown
Markdown est probablement le format en texte brut le plus répandu. Il a été développé pour structurer le texte aussi simplement que possible sans compromettre sa lisibilité.
Les cas d’utilisation typiques incluent :
- Les fichiers README
- La documentation technique
- Les sites web
- Les bases de connaissances
Markdown utilise une syntaxe très simple :
# Titre
## Sous-titre
**Gras**
*italique*
- Liste
- Liste
La force de Markdown réside dans sa simplicité et son large soutien. Des plateformes comme GitHub, GitLab ou de nombreux systèmes CMS prennent directement en charge le Markdown.
L’inconvénient : la fonctionnalité est volontairement limitée. Des structures de documents plus complexes sont plus difficiles à mettre en œuvre avec.
AsciiDoc
AsciiDoc est un format de texte nettement plus puissant que Markdown. Il s’adresse principalement à la documentation technique et aux contenus volumineux.
Par rapport à Markdown, AsciiDoc offre notamment :
- Des structures de documents complexes
- Des tables des matières
- Des références
- Des tableaux
- Des variables et attributs
- Des fonctions extensibles
Exemple :
= Titre du document
Auteur
:toc:
== Chapitre
Un paragraphe.
=== Sous-chapitre
* Liste
* Liste
AsciiDoc est particulièrement adapté pour :
- La documentation technique extensive
- Les manuels
- Les livres
- La documentation d’architecture
Surtout en combinaison avec des outils comme Antora ou Asciidoctor, il permet de générer des portails de documentation très professionnels.
Autres formats connus
Outre Markdown et AsciiDoc, il existe d’autres langages de balisage basés sur le texte :
reStructuredText (reST)
Fréquemment utilisé dans l’écosystème Python, par exemple pour la documentation avec Sphinx.
Org Mode
Un format très puissant issu de l’environnement Emacs, qui combine notes, gestion des tâches et documentation.
LaTeX
Un système de composition à orientation scientifique, particulièrement utilisé pour les contenus mathématiques et les publications scientifiques.
Textile
Un ancien format de balisage qui était auparavant utilisé dans de nombreux wikis.
Formats pour la visualisation
Outre le texte, les diagrammes et visualisations peuvent également être décrits en texte brut.
Ici, on ne dessine pas, mais on décrit la structure d’un diagramme de manière textuelle.
Mermaid
Mermaid est un langage largement répandu pour créer des diagrammes en texte brut. Il est désormais directement pris en charge par de nombreuses plateformes, dont GitHub, GitLab et de nombreux systèmes de documentation.
Un exemple simple :
graph TD
A[Démarrage] --> B{Décision}
B -->|Oui| C[Action]
B -->|Non| D[Fin]
Cela donne :
graph TD
A[Démarrage] --> B{Décision}
B -->|Oui| C[Action]
B -->|Non| D[Fin]
Mermaid prend en charge, entre autres :
- Les organigrammes (Flowcharts)
- Les diagrammes de séquence
- Les diagrammes de Gantt
- Les diagrammes d’état
- Les diagrammes ER (Entité-Relation)
Le grand avantage de Mermaid est sa syntaxe simple et son intégration large dans les plateformes de documentation modernes.
PlantUML
PlantUML est un langage puissant pour décrire des diagrammes UML et de nombreux autres types de diagrammes.
Exemple d’un diagramme de séquence :
@startuml
Alice -> Bob: Requête
Bob --> Alice: Réponse
@enduml
Le résultat:
PlantUML prend en charge :
- Les diagrammes UML
- Les diagrammes de séquence
- Les diagrammes de composants
- Les diagrammes de déploiement
- Les modèles C4
- Les diagrammes d’architecture
PlantUML est particulièrement populaire dans le contexte de l’architecture et de la conception logicielle.
Autres formats connus
Outre Mermaid et PlantUML, il existe d’autres langages de visualisation basés sur le texte :
Graphviz / DOT
L’un des plus anciens langages de description de diagrammes pour les graphes.
D2
Un langage de diagramme moderne axé sur une lisibilité simple.
Structurizr DSL
Un langage spécifiquement conçu pour décrire des diagrammes d’architecture selon le modèle C4.
TikZ
Un langage de diagramme très puissant issu du monde LaTeX.
Possibilités d’application
Les formats en texte brut sont extrêmement polyvalents et peuvent être utilisés dans de nombreux domaines.
Notes
De nombreux systèmes de prise de notes modernes sont basés sur Markdown ou des formats similaires. Les exemples incluent les systèmes de connaissances, les wikis personnels ou les notes structurées.
L’avantage : les notes restent lisibles à long terme et indépendantes d’un logiciel spécifique.
Sites web
De nombreux sites web modernes sont générés à partir de formats en texte brut. Les générateurs de sites statiques transforment automatiquement les fichiers Markdown ou AsciiDoc en pages HTML.
Les outils connus incluent :
- Hugo
- Jekyll
- MkDocs
- Antora
Ce principe est fréquemment utilisé pour les sites web de documentation et les blogs.
Documents
Les documents classiques peuvent également être générés à partir de texte brut :
- Word
- HTML
- Présentations
Des outils comme Pandoc permettent la conversion entre de nombreux formats.
Documentations
La documentation technique profite particulièrement des formats en texte brut.
Ils permettent :
- La gestion de version
- La collaboration via Git
- Des builds automatiques
- Des portails de documentation structurés
Cette approche est souvent appelée Docs-as-Code.
Livres / eBooks
De nombreux livres sont aujourd’hui générés à partir de sources en texte brut. Le même contenu peut ainsi être transformé en différents formats de sortie :
- EPUB
- HTML
Cette approche est très répandue, notamment dans le domaine technique.
Présentations
Les présentations peuvent également être entièrement générées à partir de formats en texte brut aujourd’hui. Au lieu de concevoir directement les diapositives dans des programmes comme PowerPoint ou Keynote, le contenu est d’abord écrit dans un langage de description basé sur le texte, puis automatiquement converti en présentation.
Un exemple simple en Markdown pourrait ressembler à ceci :
# Titre de la présentation
---
## Problématique
- Point 1
- Point 2
---
## Solution
Une approche structurée.
Des frameworks de présentation spécialisés interprètent cette structure et génèrent des diapositives finies.
Les outils typiques incluent :
- Reveal.js – un framework de présentation HTML très répandu, souvent combiné avec Markdown
- Marp – un système de présentation basé sur Markdown, axé sur la création simple et l’export vers PDF ou PowerPoint
- Slidev – un framework de présentation moderne pour les développeurs, basé sur Markdown et Vue.js
- Pandoc – peut convertir Markdown ou AsciiDoc en formats de présentation comme Reveal.js ou Beamer
Un avantage de cette approche est que les présentations peuvent être traitées de la même manière que le code source ou la documentation :
- Les contenus sont versionnables
- Les changements sont traçables
- Les présentations peuvent être générées automatiquement
- Les contenus peuvent être facilement réutilisés
Cette approche est de plus en plus utilisée dans les environnements techniques, par exemple pour :
- Les présentations d’architecture
- Les formations techniques
- Les conférences
- Les présentations de projets
Comme les présentations sont basées sur du texte brut, elles peuvent également être facilement combinées avec d’autres artefacts – par exemple avec des diagrammes générés automatiquement à partir de PlantUML ou Mermaid.
Images
Les images et les diagrammes peuvent également être générés à partir de texte brut, par exemple :
- Diagrammes d’architecture
- Diagrammes de processus
- Diagrammes UML
L’avantage : les modifications peuvent être facilement apportées dans le texte et versionnées.
Outils utiles
Le travail avec les formats en texte brut est soutenu par une multitude d’outils.
Éditeurs de texte
En principe, un simple éditeur suffit. Cependant, les éditeurs spécialisés avec coloration syntaxique et aperçu sont particulièrement confortables.
Les exemples populaires incluent :
- Visual Studio Code
- Obsidian
- Typora
- Sublime Text
Beaucoup de ces outils prennent en charge des plugins pour Markdown, AsciiDoc, Mermaid ou PlantUML.
Convertisseurs
Les convertisseurs permettent la transformation entre différents formats de documents.
Un outil particulièrement puissant est Pandoc, qui peut convertir des centaines de formats les uns dans les autres.
Les conversions typiques incluent :
- Markdown → PDF
- Markdown → Word
- AsciiDoc → HTML
- Markdown → Présentation
Gestion de version
Un grand avantage des formats en texte brut est leur intégration avec les systèmes de gestion de version.
Avec des outils comme Git, les changements peuvent être :
- Traçables
- Comparés
- Édités en collaboration
- Publiés automatiquement
C’est un avantage majeur pour les équipes de documentation par rapport aux documents Office classiques.
Conclusion
Les formats en texte brut offrent une base flexible et pérenne pour la création de contenus numériques. Ils permettent de structurer facilement les textes, les documentations et les diagrammes et de les traiter automatiquement.
Grâce à leur lisibilité, leur ouverture et leur bonne capacité d’intégration, ils s’inscrivent parfaitement dans les processus de développement et de documentation modernes.
Quiconque souhaite rendre les contenus maintenables, versionnables et automatisables à long terme trouvera dans les formats en texte brut une alternative puissante aux outils Office classiques.