Comment Faire Parler Votre Terminal en Couleur (avec les Codes ANSI)

Comment Faire Parler Votre Terminal en Couleur (avec les Codes ANSI)

[Dernière mise à jour: 23 mai 2026]
Table des matières

Transformez un terminal gris et monotone en texte coloré et lisible qui parle vraiment votre langage.

Vous êtes déjà resté plissé devant un mur de logs monochromes ? Vous savez à quel point il est facile de passer à côté de l’essentiel.

Votre terminal n’a pas besoin d’être un bruit gris. Quelques codes simples suffisent pour le faire parler — succès en vert, avertissements en jaune, progression en cyan.

Transformons votre terminal basique en un affichage clair et expressif grâce aux codes d’échappement ANSI — un petit truc que tout développeur devrait connaître.

Qu’est-ce que les codes d’échappement ANSI ?

Les codes d’échappement ANSI sont de petites instructions cachées dans votre texte. Bien qu’ils puissent être utilisés pour déplacer le curseur ou effacer l’écran, nous allons nous concentrer ici sur le formatage du texte.

Ils indiquent à votre terminal comment afficher ce qui suit — en appliquant des couleurs, du texte en gras, des soulignements ou des surbrillances de fond.

Pour le style de base, le motif le plus courant ressemble à ceci :

Ils ressemblent à ceci :

1\x1b[<style>;<text_color>;<bg_color>m
PartieSignificationExemple
\x1b[Commence la séquence (\x1b est le caractère ESC)Commence toujours le code
<style>Optionnel : Style de texte (1-7)1 = gras, 4 = souligné
<text_color>Optionnel : Couleur du texte (3037)32 = texte vert
<bg_color>Optionnel : Couleur de fond (4047)41 = fond rouge
mMarque la fin de l’instruction de formatageTermine toujours le code

Puisque les paramètres de style et de couleur sont optionnels, vous avez uniquement besoin d’inclure ceux que vous souhaitez réellement modifier !

Warning

Pensez toujours à réinitialiser :

Vous verrez fréquemment le code d’échappement \x1b[0m. Le paramètre 0 est une réinitialisation complète. Ajoutez-le systématiquement à la fin de votre texte stylisé pour rétablir les paramètres par défaut du terminal.

Si vous l’oubliez, tous les messages affichés par la suite hériteront de vos couleurs personnalisées !

Pour appliquer du style et de la couleur à un texte, il suffit de le précéder des codes ANSI souhaités et d’ajouter le code de réinitialisation à la fin. Par exemple, pour afficher « Hello » en vert, écrivez simplement :

1\x1b[32mBonjour\x1b[0m

Vous n’appelez pas une fonction complexe — vous intégrez simplement des instructions pour votre terminal directement dans votre texte.

Avant / Après : sortie colorée

Voyons comment quelques codes peuvent transformer votre sortie.

Voici une démo côte à côte que vous pouvez tester dans n’importe quel langage :

Sortie SimpleSortie Colorée
Running tests…
✓ test_login passed
✗ test_signup failed: expected 200, got 500
- test_profile skipped
✓ test_logout passed
Running tests…
✓ test_login passed
✗ test_signup failed: expected 200, got 500
- test_profile skipped
✓ test_logout passed

Sans couleur

1print("Running tests...")
2print("✓ test_login passed")
3print("✗ test_signup failed: expected 200, got 500")
4print("- test_profile skipped")
5print("✓ test_logout passed")

Avec couleur ANSI

 1RESET = "\x1b[0m"
 2GREEN = "\x1b[32m"
 3RED = "\x1b[31m"
 4GRAY = "\x1b[90m"
 5CYAN = "\x1b[36m"
 6
 7print(f"{CYAN}Running tests...{RESET}")
 8print(f"{GREEN}✓ test_login passed{RESET}")
 9print(f"{RED}✗ test_signup failed:{RESET} expected 200, got 500")
10print(f"{GRAY}- test_profile skipped{RESET}")
11print(f"{GREEN}✓ test_logout passed{RESET}")

Maintenant, votre terminal ne fait pas que montrer les résultats — il les communique :

  • Vert → Réussi
  • Rouge → Échec
  • Gris → Ignoré
  • Cyan → Contexte ou statut

Lisible en un coup d’œil — même sur fond sombre.

Ça fonctionne partout

Puisque les codes ANSI vivent dans votre texte, ils fonctionnent dans n’importe quel langage qui écrit dans le terminal.

Node.js

1console.log("\x1b[32m✓ Tous les tests réussis\x1b[0m");
2console.log("\x1b[31m✗ 1 test échoué\x1b[0m");

Bash

1echo -e "\x1b[33m[ATTENTION]\x1b[0m Disque presque plein"

Go

1fmt.Println("\x1b[35mRécupération des données...\x1b[0m")

Syntaxe différente, même concept — c’est le terminal qui interprète ces séquences, pas votre code.

Au-delà du débogage et des logs

La couleur n’est pas réservée aux résultats de tests — elle sert à toute sortie terminal :

  • Outils CLI : mettre en avant prompts, options ou erreurs
  • Scripts : faire ressortir les indicateurs de progression
  • Démos et formations : séparer code, sortie et commentaires
  • Monitoring : coder en couleur les messages systèmes ou CI pour une clarté instantanée

Une touche de couleur transforme un texte brut en interface légère et agréable.

Compatibilité des terminaux

Les couleurs ANSI fonctionnent nativement dans presque tous les émulateurs de terminal modernes :

  • macOS : Terminal, iTerm2
  • Linux : GNOME Terminal, Konsole, Alacritty
  • Windows 10+ : Windows Terminal (Le nouveau standard, compatibilité totale)
  • Anciennes versions de Windows La console Windows classique (Invite de commandes / anciennes versions de PowerShell)

Info

Si vous voyez du texte brut étrange comme ^[[32m au lieu de texte coloré, cela signifie que l’analyse syntaxique ANSI est désactivée ou que votre environnement de terminal actuel ne prend pas en charge le stylisage de texte.

Warning

Les codes ANSI sont parfaits pour le terminal, mais faites très attention si vous redirigez cette sortie vers un fichier :

1script.sh > log.txt

Le fichier final contiendra toutes les séquences d’échappement ANSI brutes (par ex. \x1b[32m), ce qui rendra le fichier texte brut désordonné et incroyablement difficile à lire avec des éditeurs de texte normaux.

Si vous devez absolument écrire les logs dans un fichier, vous pouvez supprimer ces caractères plus tard à l’aide de processeurs de texte comme sed ou awk, ou d’utilitaires spécialisés comme ansifilter.

Référence rapide

UtilitéCodeExemple
Réinitialiser0\x1b[0m
Gras1\x1b[1m
Souligné4\x1b[4m
Texte (avant-plan)30–37\x1b[32m = Vert
Fond40–47\x1b[41m = Fond rouge
Gris (atténué)90\x1b[90m = Texte gris

Vous pouvez combiner ces codes — il suffit de les séparer par des points-virgules dans la même séquence \x1b[.

Pour la liste complète des séquences ANSI avancées — mouvement du curseur, palette 256 couleurs et True Color — voir le Cheatsheet ANSI (GitHub Gist) par Conner Will.

Tip

Séquences d’échappement alternatives

J’ai utilisé \x1b tout au long de ce guide car cette séquence est lisible et largement prise en charge. Cependant, vous verrez parfois ce même caractère écrit différemment selon le langage utilisé :

  • C et Bash utilisent fréquemment la forme octale (\033).
  • JavaScript prend également en charge le format Unicode (\u001b).
  • Dans certains langages (par exemple Windows PowerShell), \x1b peut ne pas être interprété directement dans les chaînes de caractères, mais le caractère ESC peut encore être émis (par exemple via $([char]27)).

Préférez les bibliothèques ?

Pas envie de mémoriser les codes ? Utilisez des bibliothèques qui gèrent couleurs, réinitialisations et subtilités des plateformes :

En résumé

  • Les codes ANSI colorent et stylisent la sortie du terminal.
  • Ce sont des séquences texte simples que votre terminal comprend déjà.
  • Elles fonctionnent partout — Python, Node, Go, Bash, etc.
  • Et elles rendent vos outils CLI, logs et scripts beaucoup plus lisibles.

Votre terminal n’est pas juste une sortie — c’est la voix de votre programme.

Quelques caractères ANSI suffisent à transformer une sortie brute en récit lisible d’un coup d’œil.

Assurez-vous qu’il parle clairement — et en couleur.

TL;DR pour les pressés

  • Utilisez les codes \x1b[ pour styliser la sortie du terminal
  • Fonctionne en Python, Node, Go, Bash, et plus
  • Supporté par tous les terminaux modernes
  • Les bibliothèques comme chalk, colorama, rich simplifient le travail

Essayez dès aujourd’hui : Ajoutez une ligne colorée à votre script — vos yeux vous remercieront.

Articles Connexes

La limite du silicium : pourquoi les calculs en virgule flottante et entiers échouent silencieusement

La limite du silicium : pourquoi les calculs en virgule flottante et entiers échouent silencieusement

Choisir le mauvais type de données est un tueur silencieux en logiciel. Explorez les mécanismes du dépassement d’entier et de la perte de précision en …

Lire la suite
Vous Devriez Soigner la Mise en Forme des Noms dans Votre Code

Vous Devriez Soigner la Mise en Forme des Noms dans Votre Code

Dans mon code, je dois créer une variable qui représente mon nouvel item. Mais comment la nommer ? Est-ce que la façon de la formater — ou de formater …

Lire la suite
*Ça marchait avant* : comment une mise à jour de l’OS a cassé mes sockets Rust

Ça marchait avant : comment une mise à jour de l’OS a cassé mes sockets Rust

Je n’ai changé aucune ligne de code. J’ai simplement mis à jour mon système d’exploitation (OS), et soudain mon outil Rust a cessé de fonctionner. …

Lire la suite