On en était à définir les fonctionnalités de notre système d’identification pérenne. Faisons une petite liste de courses (librement inspirée de : RFC 1737 – Functional Requirements for Uniform Resource Names)
Unicité. Un identifiant doit bien sûr être unique pour garantir qu’il désigne une ressource et pas une autre. Mais unique à quelle échelle ? Il y a les identifiants qui sont uniques au sein d’un système, qui conviennent parfaitement pour un usage interne, bien circonscrit. Par contre, quand on se préoccupe de diffusion ouverte, d’échange, de référence, on cherche l’unicité à l’échelle du réseau, donc du monde. La même ressource, située à différents endroits, devrait avoir le même identifiant. Cela peut supposer une organisation plus ou moins centralisée à l’échelle internationale.
Pérennité. La pérennité est la clef de la stabilité de la référence et la principale problématique de l’utilisation des identifiants. Si on ne peut pas se contenter des URL, c’est qu’elles ne sont pas pérennes : si la ressource se déplace, son URL change. On peut comparer cela à une adresse postale : si on ne vous identifie que par votre adresse, et que vous déménagez, on ne peut plus vous retrouver. On identifie plus généralement les gens par leur nom, et ce nom, c’est l’identifiant. En général, la pérennité du système d’identification est garantie par la pérennité de l’institution qui donne les identifiants. Les institutions ou acteurs appelés à durer peuvent ainsi devenir des "autorités nommantes", à l’échelle d’une organisation locale, d’un pays, ou du monde.
Granularité. Les identifiants doivent être applicables à n’importe quelle échelle de la ressource : la ressource elle-même mais aussi la collection dont elle fait partie, les articles qu’elle rassemble, et pourquoi pas, le paragraphe de l’article (ou le commentaire du billet), et également différentes versions d’une même ressource. Il faut donc définir les différents niveaux de granularité de l’information qui doivent être identifiés, et comment cela va se décliner dans le système d’identification : le choix peut aller de l’attribution d’identifiants complètement indépendants à chaque niveau, jusqu’à un système hiérarchisé qui reflète l’organisation de la collection.
Adaptabilité. Les identifiants peuvent être capables d’intégrer des modèles préexistants pour le fournissur qui les utilise. Par exemple, les ISBN et ISSN, les cotes d’une bibliothèque, un système de nommage préexistant utilisé pour les URL ou les fichiers.
Extensibilité. On doit pouvoir les étendre et les adapter au fur et à mesure des évolutions du réseau, des standards du Web, des capacités des navigateurs.
Indépendance. Celui qui donne les identifiants doit pouvoir avoir une complète liberté et un complet contrôle sur ce qu’il fait de son système.
Résolution. Les identifiants doivent fonctionner, autrement dit, être compréhensibles pour un navigateur puisque c’est l’outil que nous utilisons pour parcourir le Web. A l’heure actuelle, les navigateurs ne savent pas interpréter tout seuls les URN, DOI et autres. Ils ont besoin qu’on leur fournisse, quelque part, la correspondance avec des URL : c’est le rôle du "résolveur".
Nous avons donc une autorité nommante mondialement reconnue, qui dispose de la liberté et de l’indépendance nécessaires pour attribuer à des ressources des identifiants pérennes, uniques, et capables de s’adapter à toutes sortes de situations, que les navigateurs interprètent à l’aide d’un résolveur. Il existe déjà, aujourd’hui, un certain nombre de systèmes qui répondent à ces critères. J’aborderai leurs caractéristiques dans le prochain billet.