Couleurs du terminal

Choisissez une couleur de texte, une couleur de fond et des attributs : l’outil écrit la séquence d’échappement ANSI, prête pour printf, echo -e, tput ou un prompt bash.

Couleurs
Attributs

Aperçu

$

Les teintes exactes dépendent du thème de votre terminal, surtout pour les 16 couleurs de base.

À coller

Codes SGR :

printf (conseillé)

    
      
echo -e

    
      
printf, forme portable (\033, aussi dans sh)

    
      
Dans un script, en variables

    
      
Dans PS1 (le prompt) : entre \[ et \]

    
      
tput (lit les capacités du terminal)

    
  

Voir les vraies couleurs de votre terminal

Collez ceci dans votre terminal : il affiche les 16 et les 256 couleurs telles que votre terminal les dessine, puis un dégradé qui ne reste continu qu’avec la « true color ».

bash

  

Transparence

Les séquences sont calculées dans votre navigateur, par les scripts listés ci-dessous. Rien de ce que vous choisissez ne quitte cette page.

Garanti par votre navigateur
La politique de sécurité du contenu (CSP) de cette page n’autorise qu’une destination, la mesure d’audience du site (connect-src https://stats.r-no.fr, voir plus bas), et interdit tout envoi de formulaire (form-action 'none') : même un bogue ne pourrait envoyer nulle part ce que vous saisissez. Vous pouvez lire cette politique en haut du code source de la page.
Mesure d’audience
Comme toutes les pages du site, celle-ci compte sa visite avec Umami, installé sur le serveur de R-no lui-même (stats.r-no.fr). Il reçoit l’adresse de la page, sans paramètres ni ancre, le site d’où vous venez (son nom de domaine seulement), votre navigateur, votre système, votre langue et la taille de votre écran, ainsi que le pays, la région et la ville déduits de votre adresse IP, qui n’est pas conservée. Il ne reçoit jamais ce que vous saisissez, ni le résultat de l’outil. Aucun cookie, rien d’enregistré dans votre navigateur ; si votre navigateur demande à ne pas être suivi (Do Not Track), rien n’est mesuré. Les données sont effacées au bout de 25 mois.
  • /commun/mesure.js : le filtre appliqué avant chaque envoi, écrit pour R-no Toolbox. 1.4 kB
    SHA-256 225eec74fd12623d82fc05ee7d222be629ce454d081c129e8d1e249ed37ee716
  • https://stats.r-no.fr/m.js : le script de suivi d’Umami, libre (MIT), servi par le serveur de mesure. Son empreinte n’est pas affichée ici : elle change à chaque version d’Umami, et vous ne pouvez pas vérifier depuis votre navigateur qu’il s’agit du code publié. Pour cette partie, il faut faire confiance à R-no.
Ce qui est conservé
Aucun cookie, et rien dans l’adresse. Ce que vous saisissez n’est jamais conservé : tout disparaît quand vous rechargez ou fermez la page. La langue est donnée par l’adresse elle-même (/en/ ou /fr/) : rien n’est conservé pour s’en souvenir. Comme tout site web, le serveur note le téléchargement de la page et de ses fichiers dans ses journaux d’accès (adresse IP, date et heure, adresse demandée, nom du navigateur). Il ne reçoit jamais ce que vous saisissez.
Le code qui s’exécute ici
  • app.js: les tables de couleurs et l’écriture des séquences, écrites pour R-no Toolbox. Non minifié, sans bibliothèque tierce. 13.7 kB
    SHA-256 ecef13414684ac539bc5be54f90830da3346f5056c8886f51abfea094fb0f613
  • textes.js: les messages en français de l’outil, affichés par son script (le reste de la page française est écrit dans son HTML à la construction du site). Il ne fait que définir des textes, sans aucune logique. 6.8 kB
    SHA-256 3f05f035ea8cfa140ac6a0c44e8a05a515bcd02a460fa84ebdc17a965b5bfdf3
  • /commun/langue.js: l’aide à la traduction, la même sur toutes les pages du site. Elle lit la langue de la page et donne à l’outil ses messages dans cette langue. Elle ne conserve rien. 1.6 kB
    SHA-256 80f76f69773ef628d36d09bf8387cfedebda4529210d7120649b6f5603310631
Avant de coller
Cette page ne fait qu’écrire du texte : elle n’exécute rien, ni ici ni sur votre machine. Ce que vous collez dans un terminal ou un fichier de configuration s’exécute avec vos droits : relisez-le d’abord. Le code qu’elle écrit ne télécharge rien et n’appelle aucun service extérieur.
D’où viennent les valeurs
Les codes sont les séquences SGR de la norme ECMA-48, qui fonde les couleurs ANSI (30–37, 90–97, 38;5;n, 38;2;r;g;b). L’aperçu utilise les teintes par défaut de xterm ; le cube de 256 couleurs et les gris sont les mêmes dans tous les terminaux. Les lignes printf, echo et tput ont été passées à bash 5.2 pour vérifier les octets qu’elles écrivent.
Vérifiez vous-même
Téléchargez un script et comparez son empreinte avec celle affichée ci-dessus :
curl -s https://r-no.fr/bash/colors/app.js | shasum -a 256
Limites
Ce qu’un terminal affiche vraiment dépend de lui : l’italique, le clignotement, le barré et la « true color » ne sont pas pris en charge partout (Terminal.app de macOS n’a pas de « true color »), et les 16 couleurs de base suivent son thème. Terminez toujours un texte coloré par \e[0m, sinon la couleur continue. Hors d’un terminal (un fichier, un tube), ces codes ne sont que du bruit : testez [ -t 1 ] avant de les utiliser.