PunyCode : comprendre les domaines en ASCII
Auteur : Rédaction Domeny.ForSale Publié le
En bref : Punycode permet de représenter des caractères Unicode, comme les lettres polonaises « ł » ou « ó », à l’aide des caractères de base ASCII. Pour les noms de domaine, il transforme une adresse contenant des lettres propres à une langue en une forme technique reconnaissable à son préfixe xn--. Par exemple, bücher.de s’écrit xn--bcher-kva.de : ce sont deux représentations du même domaine, et non deux adresses distinctes à enregistrer.
Pourquoi les domaines ont-ils besoin de Punycode ?
Unicode est une norme qui couvre les caractères de nombreuses langues et de nombreux alphabets. ASCII est un jeu de caractères beaucoup plus restreint : il comprend notamment les lettres latines de base, les chiffres et le trait d’union, mais pas « ą », « ę » ou « ż ». La représentation traditionnelle des noms d’hôte utilisés sur Internet repose sur ce jeu limité.
Pour permettre l’utilisation de noms contenant des caractères propres à différentes langues, le mécanisme IDNA a été développé. Il définit les règles de prise en charge des noms de domaine internationalisés dans les applications. Un domaine contenant ces caractères est appelé IDN, c’est-à-dire un nom de domaine internationalisé. Punycode fait partie de ce mécanisme : il assure la conversion des caractères en une représentation ASCII.
Punycode n’est ni un chiffrement ni une protection de l’adresse. C’est un encodage réversible : à partir d’une représentation correcte, on peut retrouver les caractères d’origine sans mot de passe ni clé. La présence du préfixe xn-- ne signifie pas non plus que le site est dangereux.
À quoi ressemble un domaine encodé ?
La conversion porte sur les différentes parties du nom séparées par des points, appelées étiquettes. Pour l’adresse bücher.de, la partie bücher est convertie, tandis que l’extension de reste inchangée. Si plusieurs étiquettes contiennent des caractères absents du jeu ASCII, chacune peut nécessiter un encodage distinct.
Dans cet exemple :
bücherest le nom lisible par l’utilisateur ;bcher-kvaest le résultat de l’encodage Punycode ;xn--bcher-kvaest l’étiquette accompagnée du préfixe utilisé par IDNA ;xn--bcher-kva.deest le domaine complet sous sa forme ASCII.
Punycode conserve les caractères de base présents dans le nom et représente les autres par une séquence encodée. Il ne faut toutefois pas ajouter manuellement des éléments à la fin du nom ni tenter de deviner le résultat : la conversion se fait avec des outils prenant en charge IDNA.
L’encodage ne supprime pas les signes diacritiques. Le domaine żaba.pl ne devient pas zaba.pl : ce sont des noms différents, qui peuvent appartenir à des titulaires différents. En revanche, la variante avec des caractères polonais et sa représentation correcte xn--… désignent le même domaine.
Quand faut-il utiliser la forme xn– ?
L’utilisateur saisit généralement le nom avec les lettres propres à sa langue, et le navigateur effectue la conversion nécessaire. Lors de la gestion d’un domaine, certains formulaires peuvent toutefois exiger la forme ASCII, par exemple dans une interface de gestion DNS, un panneau d’hébergement, un outil de surveillance ou la configuration d’un serveur.
Il n’existe pas de règle commune à toutes les interfaces. Certaines acceptent le nom Unicode et le convertissent automatiquement ; d’autres attendent une représentation avec xn--. Consultez la documentation du service concerné pour connaître le format requis.
Voici une procédure de configuration sûre :
- Copiez le nom exact du domaine depuis l’interface du bureau d’enregistrement, c’est-à-dire l’entreprise qui gère son enregistrement.
- Vérifiez sa forme ASCII dans cette interface ou dans un outil prenant en charge IDNA.
- Saisissez le format exigé par le service, sans modifier les points ni les traits d’union.
- Après la configuration, testez le site, HTTPS et, si vous l’utilisez, la messagerie.
Le fait qu’un texte puisse être encodé ne signifie pas qu’il peut être enregistré comme nom de domaine. Le registre qui gère l’extension concernée définit les caractères autorisés et leurs combinaisons. La longueur des étiquettes est également limitée : c’est donc leur longueur après conversion qui compte, et pas seulement le nombre de lettres visibles. Vérifiez la disponibilité du nom et les règles d’enregistrement auprès du bureau d’enregistrement ou de l’opérateur de l’extension.
Pourquoi le navigateur affiche-t-il parfois le code plutôt que les lettres ?
Les navigateurs appliquent leurs propres règles d’affichage des domaines internationalisés. Ils peuvent afficher le nom avec les caractères propres à la langue ou conserver sa forme technique xn--. Ce choix dépend notamment des alphabets utilisés et des mécanismes de protection contre l’usurpation d’autres adresses.
Le problème vient des caractères qui se ressemblent tout en ayant des codes Unicode différents. Par exemple, le « a » latin et le « а » cyrillique peuvent être difficiles à distinguer. L’exploitation de cette ressemblance à des fins frauduleuses est appelée attaque par homographes.
L’affichage en Punycode peut rendre cette différence plus difficile à dissimuler pour un fraudeur, mais il ne dispense pas de vérifier l’adresse. Pour vous connecter à votre banque ou à votre messagerie, utilisez un favori enregistré ou saisissez vous-même une adresse que vous connaissez. HTTPS confirme que la connexion avec le domaine est chiffrée, et non que ce domaine appartient à l’entreprise que l’apparence du site laisse supposer.
Faut-il choisir un domaine avec des caractères polonais ?
Un domaine respectant l’orthographe du nom de la marque peut être facile à lire pour un public polonais. Il peut toutefois être moins pratique pour les personnes qui ne disposent pas d’un clavier polonais, ainsi que dans les systèmes qui prennent moins bien en charge les noms internationalisés. Pour faire votre choix, tenez donc compte non seulement de l’apparence de l’adresse, mais aussi de la façon dont vous la communiquerez et des outils utilisés.
Si vous enregistrez une variante avec des caractères polonais et une autre sans ces caractères, choisissez une adresse principale et redirigez l’autre vers celle-ci. La redirection du site ne configure pas automatiquement la messagerie. Par ailleurs, la prise en charge d’un domaine internationalisé dans une adresse e-mail est une question distincte de celle des caractères Unicode placés avant le symbole @.
Avant d’acheter le domaine, vérifiez auprès de votre fournisseur d’hébergement et de messagerie qu’il prend en charge le nom choisi et demandez quel format il exige. Vous pourrez ainsi évaluer son utilité pratique avant d’imprimer des cartes de visite et de publier l’adresse.
Voir aussi : Qu’est-ce que ASCII ?
