Selon l’union in­ter­na­tio­nale des té­lé­com­mu­ni­ca­tions (ITU pour In­ter­na­tio­nal Te­le­com­mu­ni­ca­tion Union en anglais), plus de trois milliards de gens profitent des pos­si­bi­li­tés du World Wide Web dans le monde, et de plus en plus souvent dans leur langue ma­ter­nelle. Ces noms de domaine in­ter­na­tio­na­li­sés (IDN) sont dis­po­nibles pour les in­ter­nautes depuis 2003. Découvrez leur fonc­tion­ne­ment dans la suite de cet article.

Qu’est-ce qu’un nom de domaine in­ter­na­tio­na­lisé (IDN) ?

L’IETF (Internet En­gi­nee­ring Task Force) désigne les IDN comme des noms de domaine qui, au-delà des lettres de l’alphabet latin, con­tien­nent des ca­rac­tères spéciaux. Il peut par exemple s’agir des trémas ou de ca­rac­tères d’autres alphabets. Ces noms de domaine ne sont toutefois pas compris par le Domain Name System (DNS), qui est chargé de trans­for­mer les URL en adresses IP. Le DNS est basé sur l’ensemble limité de ca­rac­tères standards ASCII.

Afin de rendre les IDN com­pré­hen­sibles pour le DNS et les autres pro­to­coles Internet, la norme Internet « In­ter­na­tio­na­li­zing Domain Names in Ap­pli­ca­tions » (IDNA) a été créée en 2003. Cette norme définit une tra­duc­tion stan­dar­di­sée d’Unicode en ASCII et permet ainsi l’uti­li­sa­tion de ca­rac­tères non ASCII dans les noms de domaine.

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

Mode de fonc­tion­ne­ment de l’IDNA

Pour s’assurer que les noms de domaine in­ter­na­tio­na­li­sés puissent être aussi utilisés par les nombreux systèmes sur Internet qui ne prennent en charge que les ca­rac­tères définis par l’ASCII, chaque IDN sous la forme d’Unicode est traduit en ACE-String, modèle qui repose sur les ca­rac­tères ASCII. Les URLs sont ainsi par exemple affichées avec un tréma dans votre na­vi­ga­teur, tandis que le serveur assimile ex­clu­si­ve­ment les adresses com­pa­tibles avec ASCII. Cette procédure a été spécifiée par le standard Internet IDNA2003 en 2003, re­tra­vaillé en 2010 : IDNA2008. La tra­duc­tion d’UNICODE selon l’ASCII se fait du côté du client (na­vi­ga­teur Web, client email, etc.) en raison d’un processus de codage stan­dar­disé appelé Punycode.

Punycode

Punycode est une syntaxe de coding stan­dar­di­sée, dé­ve­lop­pée selon la RFC 3492 dans le but de re­pré­sen­ter des séries de ca­rac­tères Unicode en ASCII, ex­pli­ci­te­ment et sans perte. Pour cela, tous les ca­rac­tères ne faisant pas partie du standard ASCII sont retirés du nom de domaine, codés puis raccordés sé­pa­ré­ment par un trait d’union. Cette suite de code nous renseigne sur le caractère spécial en question, tout comme sa position dans le nom de domaine. Chaque ACE-String ainsi créé se verra doté d’un préfixe « xn », ca­rac­té­ri­sant la suite de code comme com­por­tant des ca­rac­tères IDN selon l’IDNA et le Punycode. Dans notre article sur le Punycode, vous trouverez une ex­pli­ca­tion détaillée de la procédure de codage ainsi que quelques exemples.

Conseil

Avec un con­ver­tis­seur de domaine IDN en ligne, vous pouvez convertir les IDN en leurs chaînes ACE cor­res­pon­dantes selon la méthode punycode.

Dif­fé­rences entre IDNA2003 et IDNA2008

Dans le procédé initial de 2003, les URLs in­ter­na­tio­na­li­sées avant le codage en Punycode étaient nor­ma­li­sées avec le procédé appelé Nameprep. Les ma­jus­cules ont été trans­for­mées en mi­nus­cules, les ca­rac­tères de contrôle ont été supprimés et les ca­rac­tères équi­va­lents ont été uni­for­mi­sés. Depuis IDNA2008, Nameprep ne fait plus partie du procédé d’in­ter­pré­ta­tion. IDNA ne fixe par con­sé­quent plus aucune nor­ma­li­sa­tion à l’avance, mais re­com­mande cependant un al­go­rithme trans­for­mant les ma­jus­cules en mi­nus­cules.

Environ 8 000 ca­rac­tères qui étaient uti­li­sables dans les noms de domaine avec IDNA2003 ne sont plus com­pa­tibles avec IDNA2008. Quatre ca­rac­tères sont in­ter­pré­tés dif­fé­rem­ment suivant les deux procédés, tels que l’eszett allemand (« ß »). Une dis­cus­sion détaillée sur les dif­fé­rences entre IDNA2003 et IDNA2008 est dis­po­nible sur la page Unicode Technical Standard #46. Le tableau suivant résume les prin­ci­pales dif­fé­rences :

IDNA2003 IDNA2008
Procédure Nameprep exigée Pas de nor­ma­li­sa­tion par défaut
Valable pour Unicode 3.2 Valable pour les versions Unicode à partir de 5.2
Règles strictes pour les polices de ca­rac­tères en sens inverse Règles plus claires pour les polices de ca­rac­tères en sens inverse
Les ma­jus­cules et les mi­nus­cules sont con­si­dé­rées comme des ca­rac­tères dif­fé­rents Les ma­jus­cules sont con­ver­ties en mi­nus­cules
De nombreux symboles sont interdits, par exemple les symboles gra­phiques qui n’ap­par­tien­nent à aucun système d’écriture, ainsi que certains signes de ponc­tua­tion
Sup­pres­sion du « remappage » de certains ca­rac­tères Unicode, qui pouvait entraîner des ir­ré­gu­la­ri­tés

Problèmes avec IDNs

Entre-temps, tous les pro­grammes courants d’Internet doivent com­prendre et être capables d’in­ter­pré­ter ces IDNs. Le chan­ge­ment entre IDNA2003 et IDNA2008 n’a pas été pris en compte de façon con­sé­quente sur Internet, ce qui a abouti à des problèmes avec les noms de domaine in­ter­na­tio­na­li­sés. Pour l’espace Web ger­ma­no­phone par exemple, une source d’erreur est l’in­ter­pré­ta­tion dif­fé­rente du « ß », tel qu’IDNA2003 trans­forme au­to­ma­ti­que­ment en double « s » tandis qu’il est utilisé avec IDNA2008. Un système utilisant l’ancien modèle IDNA2003 ne pourrait ainsi pas trouver le nom de domaine approprié com­por­tant un « ß ». Les ad­mi­nis­tra­teurs de sites Web ont pu entre-temps con­tour­ner ce problème en proposant une re­di­rec­tion sur une variante du nom de domaine dirigeant l’uti­li­sa­teur vers la seconde variante, composée de l’écriture de référence.

Domain-Checker
Aller au menu principal