Boutisme

Définition, exemples et bonnes pratiques

À retenir

  • C'est l'ordre de rangement des octets en mémoire.
  • Le grand-boutisme met le plus important en premier (sens de lecture humain).
  • Le petit-boutisme met le moins important en premier (courant sur PC).
  • Une mauvaise gestion du boutisme rend les données incohérentes lors d'un transfert.

Le boutisme désigne la convention utilisée par un ordinateur pour organiser l'ordre des octets qui composent une donnée numérique complexe (comme un nombre entier) en mémoire. Pour imager, c'est comme décider si l'on écrit une date en commençant par le jour (petit bout) ou par l'année (grand bout) : l'information reste la même, mais l'ordre de lecture change radicalement l'interprétation.

Étymologie

Dérivé du mot « bout » avec le suffixe « -isme », il s'agit d'une adaptation française du terme anglais endianness. Ce dernier a été emprunté par l'informaticien Danny Cohen au roman Les Voyages de Gulliver, où deux peuples s'affrontent pour décider s'il faut casser les œufs à la coque par le gros bout (Big-Endians) ou par le petit bout (Little-Endians).

Exemples d'usage

  • Petit-boutisme (Little-endian) : Utilisé par les processeurs Intel et AMD (x86), où l'octet de poids faible (le « petit bout ») est stocké en premier.
  • Grand-boutisme (Big-endian) : Utilisé par les protocoles réseau (comme le protocole IP) ou certains processeurs anciens, où l'octet de poids fort est stocké en premier.

Cas d'usage

Le boutisme intervient principalement lors du développement système, de la communication entre deux ordinateurs sur un réseau, ou lors de la lecture de fichiers binaires (images, sons) créés sur une architecture différente. Si deux machines ne parlent pas le même boutisme, les données transmises deviennent illisibles sans une conversion préalable.

Bonnes pratiques

Lors de la programmation d'échanges réseau ou de formats de fichiers, il est crucial de ne jamais supposer que le destinataire utilise le même boutisme que l'émetteur. Il est recommandé d'utiliser des fonctions de conversion standard (comme htons ou ntohl en langage C) pour garantir que les données sont interprétées correctement quel que soit le matériel.

Synonymes

endianisme endianness ordonnancement des octets

Conseil

Si vous débutez en programmation de bas niveau, gardez en tête que le processeur de votre PC (souvent un Intel ou AMD) est probablement petit-boutiste. Si vous essayez de lire un fichier créé sur une machine différente et que vos nombres semblent n'avoir aucun sens, vérifiez si vous ne devez pas inverser l'ordre des octets !

Questions fréquentes

Le boutisme concerne-t-il l'ordre des bits ?

Non, le boutisme s'applique presque toujours à l'ordre des octets au sein d'un mot mémoire, et non à l'ordre des bits à l'intérieur d'un même octet.

Un processeur peut-il supporter les deux ?

Oui, certains processeurs sont dits 'bi-endian', ce qui signifie qu'ils peuvent basculer entre les deux modes selon les besoins du système d'exploitation.