Tous les articles

Punycode : comment les domaines internationalisés fonctionnent dans le DNS

L'Afnic, le registre des domaines .fr, n'a autorisé les caractères accentués — é, è, ç, œ — dans les noms de domaine qu'à partir de 2012, bien après l'ouverture du .fr lui-même : jusque-là, un domaine comme café.fr était tout simplement impossible à déposer tel quel, faute d'un mécanisme pour le transmettre au DNS.

Ce que devient un accent dans le DNS

Un domaine comme café.fr est aujourd'hui encodé sous une forme xn--... avant de partir vers le DNS — la version affichée dans la barre d'adresse et celle qui transite réellement sur le réseau sont deux chaînes différentes. Le « é » lui-même n'existe nulle part dans la requête DNS effective ; seul son équivalent Punycode y circule.

Pourquoi ne pas simplement autoriser l'UTF-8 dans le DNS

Modifier le DNS pour qu'il accepte l'UTF-8 nativement aurait exigé une mise à jour synchronisée de tous les serveurs de noms de la planète. Punycode contourne ce problème : seuls le navigateur et le bureau d'enregistrement doivent comprendre l'encodage, pendant que l'infrastructure DNS sous-jacente continue de ne voir que de l'ASCII.

Cas d'usage courants

  • Vérifier quel domaine réel se cache derrière une chaîne xn--... reçue par e-mail ou message.
  • Convertir un domaine accentué en sa forme Punycode avant de le configurer dans un panneau DNS qui n'accepte que l'ASCII.
  • Diagnostiquer des certificats ou adresses e-mail utilisant l'IDN.

Le risque des homoglyphes existe aussi en français

Le « а » cyrillique et le « a » latin sont visuellement identiques dans la plupart des polices, ce qui permet d'enregistrer des domaines comme « аpple.com » avec une lettre cyrillique pour imiter une marque légitime. En détectant ce mélange suspect d'alphabets dans une même étiquette, les navigateurs modernes affichent directement la forme xn-- plutôt que de la décoder, précisément pour éviter ce type de piège.

Essayer l'outil