Aussi disponible en : English · Español · Português · العربية
Codes pays
L’ISO 3166-1, la zone racine des domaines et les indicatifs de l’UIT, avec une recherche et sans masquer leurs contradictions.
Que sont les codes pays ?
« Le » code pays n’existe pas, et c’est la première chose utile à savoir. L’expression désigne au moins trois registres distincts, tenus par trois organisations différentes à trois fins différentes, et qui ne s’accordent pas entre eux sur ce qui compte comme pays.
L’ISO 3166-1 est la norme à laquelle presque tout le monde pense. Elle attribue à chaque pays trois codes : un alpha-2 de deux lettres (FR), un alpha-3 de trois lettres (FRA) et un code numérique à trois chiffres (250). On y compte 249 entrées officiellement attribuées. L’alpha-2 est celui que l’on croise tous les jours, dans les étiquettes de langue, les formulaires d’expédition et le système des noms de domaine.
Le système des domaines est le deuxième registre. L’IANA délègue depuis la zone racine des domaines de premier niveau à deux lettres, et il y en a 248 : un nombre différent, parce que les deux registres divergent sur quatre cas dans un sens et cinq dans l’autre. Le troisième est l’UIT, qui attribue les indicatifs téléphoniques. On compte 205 indicatifs distincts pour 249 pays, ce qui dit d’emblée que la relation n’est pas biunivoque.
Ce tableau les réunit tous, engendré depuis les sources primaires plutôt que recopié d’un autre tableau : les codes sont recoupés avec l’Unicode CLDR, les domaines viennent du fichier quotidien de la zone racine de l’IANA, et les noms de pays dans les cinq langues proviennent du CLDR et non d’une passe de traduction.
Comment utiliser cette page
- Tapez dans la recherche ce que vous savez déjà. Elle trouve par nom de pays, alpha-2, alpha-3, code numérique, domaine avec ou sans point, et indicatif téléphonique. Les correspondances exactes de code passent en premier : chercher « fr » place donc la France en tête plutôt que de l’enfouir sous les noms qui contiennent ces deux lettres.
- Cliquez sur un code pour le copier. Tous les codes du tableau sont des boutons de copie. Rien n’est envoyé nulle part au passage : le tableau entier se trouve déjà dans votre navigateur.
- Lorsqu’un code vous surprend, descendez aux trois sections suivantes. Elles recensent les quatre domaines qui ne sont pas des codes ISO, les cinq codes ISO sans domaine, et tous les indicatifs qui atteignent plus d’un pays. Ce sont les cas qui cassent le code écrit trop vite, et la raison d’être de cette page.
Là où les registres divergent, et pourquoi
Une règle tient sans la moindre exception : lorsqu’un pays possède un domaine à deux lettres délégué, ce domaine est son alpha-2 en minuscules. Aucun pays n’a pour domaine le code d’un autre. Il vaut la peine de le dire nettement, car les exceptions se trouvent toutes de l’autre côté de la relation : des domaines sans code ISO derrière eux.
Il y en a exactement quatre, et le frappant est qu’aucune paire ne partage la même explication. Le domaine .ac dessert l’île de l’Ascension, dont le code est réservé à titre exceptionnel dans l’ISO 3166-1 au lieu d’être officiellement attribué. Le domaine .eu désigne l’Union européenne, qui est un ensemble de pays et non un pays. Le domaine .su était celui de l’Union soviétique et reste délégué plus de trente ans après la disparition de cet État. Quant à .uk, ce n’est pas du tout un code ISO : celui du Royaume-Uni est GB, et UK n’est réservé que pour ne jamais pouvoir être attribué à quelqu’un d’autre.
Ce dernier point est l’erreur la plus répandue dans les logiciels qui manipulent des codes pays, car .uk est l’un des domaines les plus visibles de l’internet tandis que GB est la valeur qui figurera réellement dans vos données. Un système qui tient le domaine et le code ISO pour interchangeables a raison 244 fois et se trompe sur le Royaume-Uni.
Dans l’autre sens, cinq codes officiellement attribués n’ont aucun domaine délégué : Saint-Barthélemy, Bonaire, le Sahara occidental, Saint-Martin et les Îles mineures éloignées des États-Unis. La base de la zone racine de l’IANA porte pour chacun la mention explicite « Not assigned », ce qui est un fait différent de l’absence : l’entrée existe et consigne que rien n’a été délégué.
Ces deux listes se referment exactement, et c’est ainsi que les données de cette page sont vérifiées. Prenez les 249 codes officiellement attribués, retirez les cinq sans domaine : il en reste 244. Prenez les 248 domaines délégués, retirez les quatre qui ne sont pas des codes ISO : il en reste encore 244. Les deux registres s’accordent sur exactement 244 entrées, et chacune des neuf lignes restantes a une raison documentée.
Un indicatif téléphonique n’est pas un pays
Le versant téléphonique a son propre piège, et il fait davantage de dégâts parce qu’il a l’air de fonctionner. L’UIT attribue les indicatifs à des plans de numérotation et non à des pays, si bien que la relation va de plusieurs à un : 56 des 249 pays présents ici, soit 22,5 %, partagent leur indicatif avec au moins un autre.
Le cas extrême est le +1, qui atteint 25 territoires ISO distincts. Les États-Unis et le Canada sont les deux évidents, mais Porto Rico, la Jamaïque, la Barbade, les Bahamas, la République dominicaine et dix-huit autres en font partie, tous membres du plan de numérotation nord-américain. Tout ce qui déduit un pays d’un +1 initial choisit entre vingt-cinq réponses.
Les collisions plus petites sont tout aussi réelles et plus faciles à manquer. Le +44 couvre le Royaume-Uni, Guernesey, l’île de Man et Jersey. Le +39 couvre l’Italie et le Vatican. Le +7 couvre la Russie et le Kazakhstan. Le +212 couvre le Maroc et le Sahara occidental. S’il vous faut savoir à quel pays appartient un numéro, l’indicatif ne suffit pas, et aucune consultation de table n’y suffira : il faut aussi le numéro national.
Un territoire n’a aucun indicatif. Les Îles mineures éloignées des États-Unis ont un code ISO officiellement attribué et figurent dans toutes les listes de pays, et l’UIT n’a pas d’entrée pour elles. C’est un vrai trou et non une donnée manquante, et cette page l’affiche comme tel au lieu d’inventer une valeur vraisemblable.
Limites honnêtes
Ce tableau est un instantané. Le fichier de zone racine dont il est issu porte son propre numéro de version et l’IANA le met à jour quotidiennement ; l’ISO révise la 3166-1 quand des pays changent de nom ou de statut. Rien ici n’est téléchargé à l’exécution : si un code a changé après la construction de la page, la page l’ignore. Le générateur qui l’a produite se trouve dans le dépôt, si bien que la régénérer tient en une commande.
La norme ISO 3166-1 elle-même est un document payant, ce qui constitue un obstacle réel à la vérification d’une page comme celle-ci. Les codes ont été recoupés champ par champ avec les tables de l’Unicode CLDR — les 249 valeurs alpha-3 et les 249 valeurs numériques, sans un seul écart — ils coïncident donc avec la copie qu’utilisent effectivement les navigateurs et les systèmes d’exploitation. C’est une vérification solide, mais c’est une vérification contre l’Unicode et non contre le document normatif, et il vaut mieux préciser laquelle on reçoit.
Les indicatifs téléphoniques ont été comparés région par région avec une bibliothèque de numéros de téléphone très répandue, et cette comparaison a mis au jour deux lignes où les données d’origine avaient laissé filer des appels de note dans la valeur : une lettre isolée après les chiffres. Elles sont nettoyées ici. C’est peu de chose, mais c’est le genre de défaut qui survit indéfiniment dans les tableaux recopiés, et c’est pourquoi le générateur retire tout ce qui n’est pas un chiffre au lieu de se fier au champ.
Enfin, les codes numériques comptent trois chiffres et plusieurs commencent par un zéro : le Bangladesh est 050 et non 50. Tout tableur par lequel ces données seraient passées aura mangé ces zéros. Ils sont conservés ici, ce qui signifie aussi que chercher « 44 » trouve à la fois l’indicatif du Royaume-Uni et les Bahamas, dont le code numérique est 044. Taper un plus devant restreint la recherche aux indicatifs.
Pourquoi est-ce gratuit ?
Parce que c’est un tableau. L’ensemble des données se trouve dans la page que vous avez déjà téléchargée, la recherche s’exécute dans votre navigateur et rien de ce que vous tapez n’en sort : aucun serveur n’intervient pour consulter un code pays.
Il n’y a donc ni compte, ni inscription, ni rien de réservé derrière. Le générateur qui construit ces données depuis l’Unicode CLDR et la zone racine de l’IANA se trouve dans le dépôt, à côté de la page, avec les 1 342 vérifications qui contrôlent les codes, la relation de fermeture entre les deux registres et les groupes d’indicatifs — y compris les contrôles négatifs qui empêchent ces tests de passer pour la mauvaise raison.