À l’occasion de la mise à jour de ma page à l’usage, j’ai remis les doigts sur la commande intégrée permettant de générer un « identifiant universellement unique ».
Pouquoi ?
Ma page à l’usage est assemblée par eleventy à partir d’un fichier de données au format JSON[1] : encore une fois, penser / classer. Je ne peux pas concevoir de base de données, même basique, sans clef primaire unique associée à chaque entrée. Pendant longtemps, j’ai employé à cet effet un simple nombre entier positif dont la valeur est celle de celui de l’entrée précédente augmentée de 1[2].
De récentes lectures et expérimentations ont souligné les limites de cette approche, notamment lors du rapprochement de plusieurs sources de données. Pour éviter les collisions d’identifiant il est recommandé d’utiliser une méthode de sérialisation plus complexe s’appuyant sur les UUID[3]. Bon, c’est sans doute superflu dans le contexte de mon humble liste mais c’est la solution que j’ai adoptée.
Reste que, autant faire « plus un » de tête est assez simple, autant l’algorithme de calcul des 32 chiffres hexadecimaux d’un UUID nécessitent, en tous cas pour moi, l’utilisation d’un outil logiciel. Heureusement pour moi et mon souhait de faire le plus d’opérations ou traitement en local sur mes machines, le système d’exploitation de celles-ci, héritier d’Unix, vient avec la commande uuidgen
qui génère l’identifiant en un tournemain.
> uuidgen
905CA61D-C8B7-4B94-82CE-4A0B64D550FF
Rédigé à Toulouges en avril 2025.