Blog Emmanuel Orchanian

astuce bdd bureautique codage culture débat design énigme français hacking html mathématiques méthodologie santé typographie 

❓⌨️ D’où vient l’underscore ?

 

 [549 vues] 2021-12-28 Emmanuel Orchanian

Définition

L'underscore désigne le signe  _ 
voici différentes appellations :

  • l'underscore
  • le tiret du 8
  • le tiret du bas
  • le souligné. Son nom en français est "le souligné", si on y réfléchit c'est la traduction pure et dure de l'anglais du mot underscore.
  • le caractère de soulignement
  • _

D'où vient l'underscore ?

Le signe _ servait à souligner sur les machines à écrire, et les créateurs du clavier d'ordinateur l'ont repris.

La machine à écrire

Sur la machine à écrire, l’ancêtre de l’ordinateur, à chaque fois qu’on tapait une lettre, un tampon écrivait sur le papier et le papier se décalait d’un cran pour écrire la lettre suivante.

L’utilisateur pouvait re-décaler le papier de l’autre côté pour écrire de nouveau sur les mêmes lettres !

Ainsi s’il revenait sur ce qu'il avait déjà écrit et qu'il tapotait plusieurs fois le _ alors cela soulignait le texte ! Et c’est aussi pour ça que le nom en français du signe _ est "un souligné".

Reprise sur clavier d'ordinateur

Sur ordinateur, le caractère de soulignement a perdu son sens et se contente d'être un simple tiret. À cause de cela il fait partit d'un des mystères du clavier...

Reprise dans l'ASCII

L'ASCII est "l'alphabet des codeurs", il contient la liste des seuls caractères que la majorité des langages utilisent, et l'underscore en fait partie !

    !"#$%&'()*+,-./
    0123456789:;<=>?
    @ABCDEFGHIJKLMNO
    PQRSTUVWXYZ[\]^_
    `abcdefghijklmno
    pqrstuvwxyz{|}~

Utilisation banale

Créer des lignes de séparation

En tapotant plusieurs fois le signe _
On peut obtenir une ligne séparatrice de cette manière
_____________________________________________

Créer des champs de formulaire

Votre prénom : ____________ Votre date de naissance : __ /__ / _____

Utilisation en codage

Écriture en serpent

Les informaticiens l’utilisent beaucoup pour écrire en "serpent", ça consiste à tout écrire avec les lettre de l'alphabet latin ou les chiffres arabes, et utiliser _ pour espacer.

bonjour_monsieur_voici_l_ecriture_en_serpent

La même version en majuscules
BONJOUR_MADAME_VOICI_L_ECRITURE_EN_SERPENT

En PHP, les noms des variables et des fonctions se veulent être écrits en serpent, et les noms des constantes en serpent majuscule.

Ne l'utilisez pas pour les liens et les textes soulignés

Je recommande de ne pas l'utiliser pour des liens internet URL sinon il se confond avec la ligne de soulignement qui distingue les liens.

Exemple_SANS_soulignement _ _ _
Exemple_AVEC_soulignement _ _ _

À la place préférez l'écriture dite "en kebab", c'est-à-dire en remplaçant par des traits d'union
bonjour-monsieur-voici-l-ecriture-en-kebab

Double underscore

Et le "double-underscore" est également utilisé, par exemple la constante __LINE__ en PHP (indique le numéro de la ligne dans le code)

Personnellement je détestais son utilisation quand j'étais débutant parce ce que j'avais du mal à distinguer un seul ou deux underscores _ et __ (au bout d'un temps l'œil s'habitue), je préférait ainsi des polices d'écritures qui font bien une petite séparation visuel entre les deux underscores.

double undercore séparé separated roboto mono
La police Roboto Mono permet de distinguer visuellement deux underscores

Préfixage par un underscore

Le PHP le fait naturellement pour les noms des variables superglobales : $_SESSION $_GET $_POST

Certains l'utilisent pour préciser qu'une variable est le paramètre d'une fonction :

    function ecrire_prenom(_prenom, $_civilite){
        $salut = "Bonjour" ;
        return "$salut $_civilite $_prenom" ;
    }

    echo ecrire_prenom("Matthieu", "Monsieur") ; // Bonjour Monsieur Matthieu

Certains l'utilisent pour préciser qu'ils ont refait une fonction.

    // obtenir le scandir en enlevant . et .. de la liste du contenu d'un dossier
    function _scandir($chemin){
        return array_diff(scandir($chemin), ['.','..']);
    }

Inclu dans le double-clic

Voici une information subtile et destiné plus aux codeurs :
Dans la plupart des éditeurs de code (Atom, Visual Studio Code, Bracket, Dremvewer etc.), si on double-clic sur un mot écrit en serpent, alors cela sélectionne tout le mot, contrairement à si on double-clic sur un mot écrit en kébab.

  • si-on-double-clic-sur-moi-ca-ne-selectionne-pas-tout
  • si_on_double_clic_sur_moi_ca_selectionne_tout

ATTENTION cela ne fonctionne peut-être pas sur internet, mais je parle bel et bien de logiciels d'éditeur de code.
Et encore, ça dépend aussi du langage utilisé (PHP et CSS sur Atom par exemple)

Mais comment l'appeler ?

Personnellement je connaissais toujours "underscore", en entreprise informatique nous appelions ça "un souligné", car c'est son vrai nom, et je peux vous dire que la toute première fois je ne comprenais rien à ce que mon collège demandait "écrit en souligné", mais comment le faire dans le code !?

Mais au téléphone, le classique "tiret du 8" se fait bien comprendre, pour les utilisateur de Mac, puisque le signe en question n'est pas sur le 8, on préférera "tiret du bas".

Merci d'avoir lu !
Si en général vous avez une question, une curiosité, n'hésitez pas me contacter.