Guide

Générateur UUID : Guide Complet

Les UUID (Universally Unique Identifiers) sont des valeurs 128 bits garanties uniques à travers l'espace et le temps. Ils sont essentiels pour les systèmes distribués, les clés primaires de base de données et partout où des identifiants uniques sans coordination sont nécessaires.

Qu'est-ce qu'un UUID ?

Un UUID est un identifiant 128 bits représenté au format canonique comme 32 chiffres hexadécimaux, affichés en cinq groupes séparés par des tirets : 8-4-4-4-12. Par exemple : 550e8400-e29b-41d4-a716-446655440000. La beauté des UUID réside dans leur génération décentralisée. Chaque système peut générer des UUID indépendamment sans contacter un serveur central, et les collisions sont pratiquement impossibles. Cela rend les UUID parfaits pour les systèmes distribués, les applications hors ligne et les architectures de microservices. UUID signifie "Universally Unique Identifier" et est également appelé GUID (Globally Unique Identifier) dans les systèmes Microsoft. Ils sont fonctionnellement identiques. La norme UUID (RFC 4122) définit plusieurs versions, chacune avec des méthodes de génération différentes : La version 1 est basée sur le temps, la version 4 est aléatoire, et les versions 3/5 sont basées sur les noms. La version 4 est la plus couramment utilisée dans les applications modernes. 128 bits offrent un espace d'adressage énorme - 2^128 valeurs possibles ou environ 3,4 × 10^38. Le nombre est si grand que même la génération de milliards d'UUID par seconde pendant des milliards d'années ne créerait pas de probabilité de collision pratique.

Versions UUID

UUID Version 1 combine un horodatage avec l'adresse MAC de la machine. Elle garantit l'unicité mais révèle quand et où elle a été générée. Utilisez-la lorsque l'ordre temporel est important et que les préoccupations de confidentialité n'existent pas. Rare dans les applications modernes. UUID Version 4 est généré entièrement à partir de nombres aléatoires. C'est la version la plus populaire, n'offre aucune information d'ordre, est parfaite pour un usage général et est ce que notre outil génère par défaut. UUID Version 3 crée des UUID déterministes à partir d'un espace de noms et d'un nom en utilisant le hachage MD5. Les mêmes entrées produisent toujours le même UUID. Utilisez-le lorsque vous avez besoin d'UUID cohérents pour les mêmes entrées. La version 5 est le même concept mais utilise SHA-1 au lieu de MD5 - choisissez v5 plutôt que v3 pour les nouvelles applications. Le format révèle la version. Le 13ème caractère (premier chiffre du troisième groupe) indique la version. Dans 550e8400-e29b-41d4-a716-446655440000, le '4' indique que c'est un UUID v4. Les propositions plus récentes comme UUIDv7 ajoutent la possibilité de tri par horodatage tout en conservant l'aléatoire. Elle gagne en popularité pour les clés primaires de base de données où les insertions triées ont des avantages de performance.

Quand Utiliser les UUID

Les clés primaires de base de données peuvent utiliser des UUID au lieu d'entiers auto-incrémentés. Avantages : les clés peuvent être générées côté client, le sharding de base de données est trivial, aucune information sur le nombre d'enregistrements n'est révélée. Inconvénients : stockage plus important (16 octets vs. 4-8), légères pénalités de performance lors de l'indexation. Les systèmes distribués bénéficient énormément des UUID. Les microservices peuvent créer des identifiants indépendamment. Les systèmes d'event sourcing ont besoin d'ID d'événements globalement uniques. Les files d'attente de messages ont besoin de déduplication sans coordination. Les ID de session peuvent être générés sans assignation centrale. Les ID de ressources API devraient souvent être des UUID. Ils empêchent les attaques par énumération (l'attaquant ne peut pas deviner /users/1, /users/2). Ils ne révèlent aucune information commerciale. Ils sont fusionnables à travers différents schémas d'ID. Les identifiants de fichiers et d'actifs sont de bons cas d'usage UUID. Les systèmes de téléchargement peuvent assigner des identifiants avant le stockage. Pas besoin d'attendre les séquences de base de données. Collisions impossibles entre plusieurs serveurs de téléchargement. Quand ne pas utiliser les UUID : Lorsque la lisibilité humaine est importante (les UUID sont difficiles à communiquer). Lorsque le stockage est fortement contraint (16 octets vs. 4 pour int). Lorsque l'ordre de tri basé sur le temps de création est nécessaire (utilisez alors UUIDv7 ou ULID). Lorsque la séquence ou l'ordre est important pour l'affichage.

Essayer l'Outil

Générateur UUID

Générateur UUID

FAQ

Générateur UUID

FAQ