Saisissez d’abord le code postal
(zipcodefirst.com)- Bien que les 5 chiffres du code ZIP américain permettent d’identifier automatiquement la ville, l’État et le pays, la plupart des sites web n’en tirent toujours pas parti
- Les utilisateurs doivent encore saisir manuellement l’adresse, la ville, l’État et le pays, en passant notamment par des menus déroulants inefficaces pour choisir l’État et le pays
- La seule saisie du code ZIP permet un remplissage automatique ; en réduisant le périmètre de recherche, elle améliore la vitesse et la précision tout en rehaussant la qualité des données
- Alors que cela peut être implémenté avec une API gratuite et quelques lignes de code simples, de nombreux sites utilisent encore des formulaires obsolètes
- L’article souligne que les développeurs et responsables produit doivent corriger l’inefficacité des formulaires de saisie d’adresse
- Le haut de l’article contient la phrase suivante
Vous venez de Corée du Sud, n’est-ce pas ? La Corée du Sud a complètement refondu son système de codes postaux en 2015, et il est désormais vraiment excellent. Nous, nous utilisons encore des codes postaux de l’époque de l’administration Kennedy.
Efficacité du code ZIP et remise en question du problème
- Un code ZIP est composé de 5 chiffres, qui permettent d’identifier la ville, l’État et le pays
- Par exemple, si l’on saisit
90210, cela détermine automatiquement Beverly Hills, California, United States
- Par exemple, si l’on saisit
- La plupart des sites web sont encore conçus pour que l’utilisateur saisisse dans l’ordre adresse → ville → État → ZIP → pays
- Pour choisir un État, il faut retrouver un élément parmi 50, et pour choisir un pays, faire défiler une liste de plus de 200 entrées, ce qui est inefficace
- L’article critique cette UX anachronique avec une formule du type : « On est en 2026, et on fait encore comme ça ? »
Avantages de l’autocomplétion basée sur le code ZIP
- La simple saisie du code ZIP permet de remplir automatiquement 3 champs (ville, État, pays)
- Après autocomplétion, le périmètre de recherche de l’adresse est réduit à quelques milliers d’options, ce qui améliore la vitesse et la précision
- L’utilisateur a moins de saisie à faire, et le fournisseur de service obtient des données plus propres
- Cette fonctionnalité n’a rien de nouveau et peut être implémentée simplement avec une API gratuite
- Dans l’exemple de code, l’appel à
https://api.zippopotam.us/us/${zip}remplit automatiquement la ville et l’État
- Dans l’exemple de code, l’appel à
Types de mauvaise conception de formulaires
- Étape 1 : placer le ZIP à la fin — de grands sites comme Amazon, Target ou Walmart entrent dans cette catégorie
- Étape 2 : collecter le ZIP sans rien en faire — il est uniquement stocké en base de données sans être exploité
- Étape 3 : faire défiler la liste déroulante des pays — il faut parcourir 240 pays sans recherche, et il arrive même que les États-Unis soient rangés à la lettre « T »
- Étape 4 : réinitialiser le formulaire lorsqu’on revient en arrière — après un échec de paiement, toutes les saisies disparaissent, ce qui provoque de la fatigue côté utilisateur
Suggestions d’amélioration supplémentaires
- Optimisation du champ de saisie numérique : lors de la saisie du code ZIP, utiliser
inputmode="numeric"pour afficher un clavier numérique sur mobile - Exploiter l’autocomplétion du navigateur : il faut définir correctement les attributs
autocomplete(postal-code,address-line1,country) - Autoriser la saisie du pays en premier : comme les codes postaux peuvent se chevaucher à l’échelle mondiale, on peut aussi définir d’abord le pays à partir de l’IP, puis saisir le ZIP
Conclusion et appel à l’action
- La structure optimale consiste à saisir d’abord le code ZIP, à autocompléter la ville, l’État et le pays, puis à saisir l’adresse postale en dernier
- Le problème est déjà résolu technologiquement, et peut être traité avec 5 lignes de code
- Si rien ne change encore, c’est à cause de l’inertie qui consiste à réutiliser tels quels d’anciens templates
- L’article se termine par la question « Pourquoi le code ZIP est-il tout en bas ? » et insiste sur le fait que tous les concepteurs de formulaires doivent corriger cela
1 commentaires
Avis Hacker News
L’affirmation selon laquelle on peut déduire la ville, l’État et le pays à partir des seuls 5 chiffres d’un code ZIP américain repose sur une hypothèse erronée
Un code ZIP peut couvrir plusieurs villes ou même traverser les frontières d’un État
Il existe aussi des collisions de codes entre pays, donc s’en servir pour l’autocomplétion risque de produire une UX catastrophique
Il vaut bien mieux concevoir le site pour tirer parti de la fonction d’autofill du navigateur
Même lorsqu’un ZIP couvre plusieurs villes, l’USPS traite les adresses à partir du ZIP, donc les limites administratives n’ont pas d’importance
À cause de cela, l’utilisateur peut voir s’autocompléter un nom différent de la ville où il habite
Pour vérifier les noms de ville associés à chaque ZIP, on peut consulter USPS ZIP Code Lookup
Au final, il est plus sûr de demander la ville, l’État et le ZIP séparément
Les cas d’exception peuvent être saisis manuellement, donc faire entrer le ZIP en premier reste selon moi efficace
Il faut simplement laisser la possibilité de corriger manuellement
<FORM>de l’époque Netscape dans les années 1990 et les fonctionnalités HTML de base étaient presque meilleuresLes formulaires web actuels nuisent parfois à l’utilisabilité avec du JavaScript superflu et des menus déroulants inutiles
C’est une approche centrée sur les États-Unis
En entrant un code postal mexicain, le système l’a interprété comme venant de l’État américain du Maine
Déduire le pays à partir du seul ZIP est une hypothèse totalement fausse
Les codes postaux norvégiens ont 4 chiffres, mais certains formulaires en exigent 5, ou refusent les lettres norvégiennes ø, å, æ comme si c’étaient des caractères spéciaux
Ces problèmes sont fréquents, même si le système postal norvégien tolère certaines graphies alternatives
Une fois le code postal saisi, on peut trier les pays possibles en tête de liste, tout en laissant tous les champs modifiables
Mais en combinant cela avec les données de géolocalisation du client, on atteindrait sans doute 99 % de précision, hors cas particuliers comme les utilisateurs de VPN
Ce type de cas vient du fait que des entreprises américaines partent du principe que le reste du monde fonctionne comme elles
Certains pays proposent des services d’autocomplétion basés sur leur propre base de données postale,
mais cela ne fonctionne toujours pas pour les adresses sans code postal
Faire saisir le code ZIP en premier est gênant pour plus de 95 % de la population mondiale
Quand j’ai saisi mon code postal, le système m’a placé aux États-Unis
En entrant mon ZIP, j’ai obtenu le Wisconsin, et il était impossible de changer le pays pour la Grèce
L’idée d’améliorer l’UX est bonne, mais il ne faut pas oublier les 95 % restants de la planète
Hors des États-Unis, beaucoup de régions n’ont pas de ZIP, ont un format différent, ou utilisent des codes qui se recoupent
Il faut donc choisir d’abord le pays, puis saisir le code postal
Même dans des pays comme l’Allemagne, qui utilisent un PLZ à 5 chiffres, il est difficile d’identifier précisément la ville à partir du seul code postal
Pour les personnes vivant hors des États-Unis, saisir un ZIP donne un résultat absurde, puis oblige à effacer les champs pour recommencer
En pratique, il n’est donc presque jamais nécessaire de saisir l’adresse à la main
L’un des malentendus fréquents des développeurs américains au sujet des adresses est de penser qu’« en dehors des États-Unis, il n’existe pas de pays »
Concevoir un système qui ne fonctionne pas dans plus de 90 % du monde sans même le tester pose problème
L’idée de saisir d’abord le ZIP ne s’applique pas aux utilisateurs hors des États-Unis
On peut se demander comment un utilisateur d’un pays sans ZIP, comme le Turkménistan, est censé s’inscrire
Le code ZIP n’est pas une norme internationale, donc des règles propres aux États-Unis ne peuvent pas fonctionner partout
Un code ZIP ne sert pas tant à identifier parfaitement une ville qu’à jouer le rôle de checksum de validité pour l’adresse
Je pense donc qu’une solution de compromis réaliste consiste à proposer ZIP, ville et État sous forme d’autocomplétion ou de suggestions
En entrant un code ZIP allemand, le système a identifié le mauvais pays
En Allemagne, plusieurs localités peuvent partager le même ZIP, donc le code postal seul ne permet pas de déterminer précisément la ville
Au final, c’est une méthode qui ne fonctionne pas à l’échelle mondiale