Capsule : Fichiers de texte

Qu’est-ce qu’un fichier de texte ?

Un fichier de texte est un fichier dont le contenu est une suite de codes de caractère. Comme il ne contient rien d’autre que des codes de caractère, un fichier de texte ne contient aucune information relative à la norme d’encodage utilisée pour coder les caractères. Il n’existe donc pas de méthode universelle permettant de décoder correctement n’importe quel fichier de texte.

Quelles sont les applications des fichiers de texte ?

Les fichiers de texte peuvent bien sûr être utilisés pour stocker des textes écrits dans une langue naturelle comme le français, l’allemand ou l’anglais. On parle alors de texte brut (plain text) par opposition à du texte formaté que l’on peut obtenir avec un logiciel de traitement de texte. Le texte brut ne contient aucune information à propos de la typographie, de la structure du texte ou de la mise en page.

Le Web et la facilité d’accès aux logiciels de traitement de texte font que le texte brut a aujourd’hui beaucoup moins d’importance qu’il n’en a eu par le passé. Les fichiers de texte ont toutefois une multitude d’autres applications :

  • Le code source d’un programme écrit avec un langage de programmation (p. ex. Java).
  • Le code source d’un document écrit avec un langage de description (p. ex. TeX).
  • Un texte formaté crée avec un logiciel de traitement et décrit à l’aide d’un langage spécialisé (p. ex. OpenXML, ODF, etc.)
  • Un document HTML ou une feuille de style en CSS.
  • Le journal (log) d’erreurs ou le fichier de configuration d’un serveur HTTP.
  • Un fichier CSV pour échanger des données sous forme de table.
  • Une image vectorielle au format SVG.
  • Les fichiers passwd et group sous Linux.

Quel logiciel doit-on utiliser pour manipuler un fichier de texte ?

Pour manipuler directement un fichier de texte, on utilise un éditeur de texte. Parmi les plus courants, on trouve : Notepad++, Visual Studio Code ou Vim. Dans le domaine de la programmation, l’éditeur de texte est l’outil central d’un environnement de développement intégré (IDE) comme NetBeans, Eclipse, ou Visual Studio. Les fonctionnalités généralement offertes par un éditeur de texte sont :

  • Sélection et modification de la norme d’encodage.
  • Édition de texte (insérer, supprimer, copier, couper, coller, etc.).
  • Sélection et édition de texte avancées (selection par bloc, curseur multiple, etc.)
  • Recherche et remplacement de texte avancés (expression régulière, traitement de plusieurs fichiers, etc.).
  • Gestionnaire de fichiers.
  • Coloration syntaxique, formatage automatique et autocomplétion pour des langages de description (XML, HTML, etc.) ou de programmation (Java, JavaScript, PHP, etc.).
Fonctionnalités d’un éditeur de texte (Visual Studio Code)
Fig. 3 – Fonctionnalités d’un éditeur de texte (Visual Studio Code)

Lorsqu’on utilise un éditeur de texte, l’alignement des caractères d’une ligne à l’autre est généralement important, c’est pourquoi on utilise de préférence une police de caractère à chasse fixe (monospaced). Il était d’usage d’utiliser Courier ou Courier New, mais plusieurs polices de bien meilleure qualité sont désormais disponibles. On peut citer, par exemple : * Consolas (Windows)

  • Menlo (macOS)
  • Deja Vu Sans Mono
  • Inconsolata

Comment peut-on déterminer la norme d’encodage d’un fichier de texte ?

Il n’existe aucune méthode universelle pour déterminer la norme d’encodage d’un fichier de texte. Dans la plupart des cas, l’utilisateur du fichier dispose de cette information soit parce qu’il a lui-même créé le fichier, soit parce qu’on la lui a donnée, soit parce qu’il est d’usage d’utiliser telle ou telle norme. Cette information doit être communiquée d’une manière ou d’une autre au programme qui va traiter le fichier (éditeur de texte, compilateur, tableur, etc.).

On peut également profiter du fait que les 128 premiers caractères de la plupart des norme d’encodage sont ceux de l’ASCII en réalisant un en-tête dans lequel on spécifie la norme d’encodage du fichier en n’utilisant que les caractères définis par l’ASCII. Ainsi l’en-tête peut être décodé avec n’importe quelle norme pour peu que celle-ci soit compatible avec l’ASCII. Cette technique est mise en œuvre dans les fichiers XML dont l’en-tête contient l’attribut « encoding » ou dans les fichiers HTML avec l’élément <meta>.

Éditeur de texte et métadonnées

Les informations contenues dans l’en-tête XML ou l’élément <meta> du HTML sont destinées au programme chargé de traiter ces données (un parseur ou un navigateur Web). Un éditeur de texte n’est pas forcément capable d’utiliser ces métadonnées. On doit donc s’assurer d’ouvrir et d’enregistrer le fichier en utilisant la même norme que celle qui est déclarée dans l’en-tête. D’une manière générale, lorsqu’on utilise un éditeur de texte, on doit toujours se demander quelle norme d’encodage a été utilisée pour coder le fichier. Pour les éditeurs de textes récents, la norme par défaut est le plus souvent UTF‑8, mais sous Windows, beaucoup d’éditeurs utilisent encore la norme Windows‑1252.