UUID expliqués : v1 vs v4 vs v7 et quand utiliser chacun
Un UUID est une étiquette de 128 bits écrite en 32 chiffres hexadécimaux en cinq groupes — 8, 4, 4, 4 et 12 caractères — conçue pour que chacun puisse en créer un partout sans demander à une autorité centrale. Ils identifient lignes, fichiers, sessions et clés API entre des systèmes qui ne se parlent jamais.
1. v1 : le temps plus la machine
La version 1 embarque un horodatage et un identifiant de nœud, généralement dérivé de la carte réseau. Les ID se trient à peu près par heure de création, ce que les bases de données adorent, mais ils révèlent quand et où ils ont été créés — un indice de confidentialité qui a éloigné la plupart des nouveaux systèmes de v1.
2. v4 : hasard pur
La version 4 remplit 122 des 128 bits depuis une source aléatoire cryptographique, avec quatre bits fixes qui marquent la version. Les probabilités de collision sont absurdement faibles — générer un milliard d’ID par seconde pendant un siècle laisse la chance d’un seul doublon bien en dessous des taux de panne matérielle — mais le hasard disperse les index de base de données, ce qui ralentit les insertions dans les tables énormes.
3. v7 : le standard moderne
La version 7 place un horodatage en millisecondes en premier et remplit le reste aléatoirement, donnant des ID ordonnés dans le temps sans révéler l’identité de la machine. Les nouveaux projets qui ont besoin d’identifiants triables et adaptés aux index devraient choisir v7 ; c’est ce que produit notre générateur d’UUID aux côtés du classique v4.
4. Quand ne pas utiliser d’UUID
Les codes courts lisibles par l’homme, les numéros de facture et tout ce que les utilisateurs tapent à la main sont mieux servis par des compteurs ou des encodages compacts — les UUID sont longs, imprononçables et sujets aux fautes de frappe. N’utilise jamais un UUID comme secret : ils sont uniques, pas imprévisibles, car v1 et v7 contiennent des horodatages et v4, bien qu’aléatoire, est souvent journalisé ou exposé dans des URL.