Format texte

Arthur Perret (Université Bordeaux Montaigne)

🚧 Page en construction — Dernière mise à jour : 30/03/2022

Cette page explique ce qu’est le format texte et donne des arguments en faveur de son utilisation. Elle ouvre vers d’autres ressources pour explorer l’écosystème du format texte.

Qu’est-ce que le format texte ?

Vous avez probablement déjà vu un fichier dont le nom finit par .txt. Vous avez peut-être aussi ouvert un jour un logiciel comme Bloc-notes (Windows) ou TextEdit (Mac). Ce que vous avez croisé à ces occasions, c’est le format texte.

Je traduis l’anglais « plain text » par « format texte » et pas par « texte brut », comme c’est souvent le cas, ni par « format texte brut » comme on le trouve parfois, et encore moins par « texte simple » ou « texte pur ». Je n’aime pas les connotations de ces adjectifs. Je préfère mettre en avant le mot « format », beaucoup plus important malgré (ou à cause de) sa polysémie. En effet, ce mot est lié à une tradition en SHS : l’analyse et la critique des logiques de formatage, cadrage, contrôle, etc. C’est un petit cheval de Troie qui embarque potentiellement la question de l’aliénation et de l’émancipation.

Un fichier au format texte est un fichier dont le code binaire (suite de 0 et de 1) se traduit par des caractères textuels uniquement (par opposition à des pixels ou des sons par exemple).

Voici un exemple extrait d’un fichier au format texte :

LE VICOMTE:
Personne ?
Attendez ! Je vais lui lancer un de ces traits !...
(Il s'avance vers Cyrano qui l'observe, et se campant devant lui d'un
air fat):
Vous... vous avez un nez... heu... un nez... très grand.

CYRANO (gravement):
Très !

LE VICOMTE (riant):
Ha !

CYRANO (imperturbable):
C'est tout ?...

LE VICOMTE:
Mais...

CYRANO:
Ah ! non ! c'est un peu court, jeune homme !
On pouvait dire... Oh ! Dieu !... bien des choses en somme...

Toutefois, qu’un fichier soit au format texte ne signifie pas qu’il ne contienne que du texte au sens littéraire. Avec des caractères textuels, on peut exprimer toutes sortes de choses. Voici un autre exemple :

Date,Open,High,Low,Close,Volume,Adj Close
2018-06-01,569.16,590.00,548.50,584.00,14077000,581.50
2018-05-01,584.90,596.76,522.18,577.73,18827900,575.26
2018-04-02,601.83,644.00,555.00,583.98,28759100,581.48

Si vous utilisez régulièrement un tableur, vous aurez peut-être reconnu un fichier CSV : ici, le format texte est utilisé pour exprimer des données tabulaires.

Voici un autre exemple, toujours extrait d’un fichier au format texte mais cette fois écrit dans un langage de balisage :

<figure>
  <img src="cyrano.jpg" alt="Portrait de Cyrano">
  <figcaption>
    Cyrano de Bergerac interprété par Gérard Depardieu.
  </figcaption>
</figure>

Ici, on a un extrait d’un fichier HTML. Les caractères alphabétiques côtoient d’autres caractères comme <, = et /. Si on ouvre ce fichier texte dans un navigateur, on verra une image avec une légende.

Un dernier exemple :

<svg style="display: none;">
    <symbol viewBox="-3 -3 30 30" id="soleil">
        <circle cx="12" cy="12" r="5"></circle>
        <line x1="12" y1="1" x2="12" y2="3"></line>
        <line x1="12" y1="21" x2="12" y2="23"></line>
        <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
        <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
        <line x1="1" y1="12" x2="3" y2="12"></line>
        <line x1="21" y1="12" x2="23" y2="12"></line>
        <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
        <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
    </symbol>
</svg>

Ici, on a un extrait d’un fichier SVG. Un seul « mot » se détache, « soleil », noyé dans ce qui semble être un ensemble de coordonnées. Si on ouvre ce fichier dans un logiciel de dessin vectoriel, on verra l’image d’un soleil.


Ces quelques exemples montrent bien la nature du format texte. Ce n’est pas un format au sens du format PDF, ou du format DOCX, ou des noms de formats cités ci-dessus (CSV, HTML, SVG). Ces formats sont spécifiques, là où le format texte est générique : il est défini par le fait que les fichiers ne contiennent que des caractères textuels ; on peut l’utiliser pour créer des fichiers dans toutes sortes de formats spécifiques. Le format texte est donc une matérialité, un régime sémiotique, un mode d’existence de l’information, transversal à de nombreuses catégories d’objets et d’environnements logiciels.

De cette transversalité découle un avantage : les outils qui permettent de manipuler du format texte sont par définition capables de manipuler tout ce qui est exprimable avec le format texte – littérature, hypertexte, données chiffrées, images vectorielles et bien d’autres choses. C’est pourquoi je parle d’écosystème du format texte pour désigner l’ensemble des formats, outils et pratiques qui s’y rattachent.

Caractères et codage

Par caractères textuels, on entend les caractères d’imprimerie – chiffres, lettres, caractères d’espacement – mais aussi potentiellement des symboles, des emoji, etc. Ce qu’on inclut là-dedans dépend en fait du codage.

Un codage est une norme qui définit par quelle suite de 0 et de 1 on va traduire tel ou tel caractère.

Toutes les normes ne codent pas les mêmes caractères. Le codage ASCII par exemple est une norme américano-centrée et assez ancienne qui ne code que 128 caractères, excluant non seulement les caractères accentués mais également tous les alphabets non latins (arabe, cyrillique, hébreu, idéogrammes…). À l’inverse, le codage UTF-8 est une norme internationale récente qui code tous les caractères Unicode, incluant les caractères codés par l’ASCII et bien d’autres (alphabets non latins, symboles, emoji…).

Vous avez sûrement consulté un jour une page web à l’apparence un peu étrange, avec des mots comme « numérique » et « caractères ». C’est un problème de codage : la page est codée suivant une certaine norme (par exemple UTF-8) mais le navigateur essaye de la décoder suivant une autre norme (par exemple Latin-1) qui n’inclut pas certains caractères ; ces derniers sont alors mal affichés.

Éditeurs de texte

De la même manière qu’on ouvre une image dans un logiciel fait pour afficher des médias audiovisuels, un PDF dans un lecteur de PDF, ou une page web dans un navigateur, le format texte a son type d’environnement dédié : les éditeurs de texte.

Il ne faut pas confondre éditeurs de texte et traitements de texte. Les éditeurs de texte (text editors) sont capables d’afficher le contenu de fichiers au format texte uniquement. C’est une catégorie large, qui inclut des utilitaires, des logiciels pour développeurs, des environnements conçus pour l’écriture, etc. Les traitements de texte (word processors), eux, appartiennent plutôt à la bureautique. Ils sont capables d’afficher des fichiers au format texte mais sont principalement utilisés pour ouvrir des formats comme DOCX ou ODT.

Arguments en faveur du format texte

La page que vous consultez actuellement existe parce que le format texte souffre d’un déficit de notoriété. Or cette notoriété est inverse à son utilité, et notamment à son potentiel éducatif et émancipateur. Mais alos, s’il est si utile, pourquoi est-ce qu’il est si peu connu ? Eh bien le problème, c’est qu’il est difficile de faire de l’argent avec. Le format texte fait partie de ces choses en informatique qui sont à la fois simples, efficaces et peu coûteuses. Or c’est précisément parce que ça ne coûte rien de l’utiliser que peu de gens sont susceptibles d’investir du temps et des moyens pour le « vendre ». D’où l’importance pour moi de le faire connaître dans le cadre de mes recherches.

Voici mes principaux arguments en faveur du format texte, synthétisés d’après quelques sources détaillées à la fin de cette pageDescy, Plain Text Productivity, 2021 ; Sivers, « Write plain text files », 2 mars 2022.
.

Performances

Portabilité

Tous les systèmes d’exploitation (operating systems, OS) modernes savent interpréter le format texte, vous ne serez donc jamais confronté à un problème d’incompatibilité entre deux OS.

Simplicité/complexité, facilité/difficulté

Propriété intellectuelle

Le format texte n’est pas propriétaire : on peut librement l’utiliser, le diffuser, connaître son fonctionnement et le modifier. Les codages les plus utilisés, comme ASCII et UTF-8, sont des normes internationales adoptées par l’ISO et l’IETF, utilisables librement. Le format texte relève donc du logiciel libre et ceci a plusieurs conséquences qui avantagent les utilisateurs.

D’abord, cela favorise la libre concurrence dans l’offre logicielle. Il en résulte une grande diversité d’outils, ce qui permet une plus grande liberté de choix.

Ensuite, cela accroît la durée de vie des données. Il y aura toujours un outil libre et gratuit pour remplacer un outil propriétaire. Ceci diminue les risques d’être enfermé hors de ses données parce que le seul outil qui permettait de les interpréter devient payant ou bien disparaît.

Polyvalence

Le format texte est incroyablement flexible dans les usages qu’il permet. J’ai déjà mentionné quelques exemples en introduction mais il y en a beaucoup d’autres. C’est un peu comme XML, avec tous ses langages dérivés : on a une grande expressivité à partir d’une technique générique.

Le format texte facilite les conversions entre formats spécifiques.

Liens utiles

Page « Liens » du Plain Text Project

Bibliographie

Descy, Michael. Plain Text Productivity. 2021. http://plaintext-productivity.net.
Sivers, Derek. « Write plain text files ». Dans : sive.rs. 2 mars 2022. https://sive.rs/plaintext.