TMaps - Mapping API Tunisia

TMaps blog

Autocomplétion d'adresse en Tunisie : moins de colis perdus

October 23, 2026 • Géocodage

Français, arabe, arabizi : un champ d'adresse qui comprend vos clients tunisiens réduit les abandons au checkout et les livraisons ratées.

Une commande arrive à 22 h avec, dans le champ adresse : « zan9et el bacha 9rib el jem3a ». Le lendemain, le livreur tourne dans le quartier, appelle le client qui ne répond pas, repart avec le colis. Deuxième tentative le surlendemain, ou retour à l'expéditeur. Au bout du compte, vous avez payé deux trajets, mobilisé un service client, et peut-être perdu un acheteur qui ne reviendra pas.

Ce scénario, tous les e-commerçants tunisiens le connaissent. Il ne vient presque jamais d'un client de mauvaise foi. Il vient d'un champ d'adresse qui n'a pas été conçu pour la façon dont les gens écrivent ici. Cet article explique pourquoi, et comment une autocomplétion bien pensée corrige le problème à la source. Les développeurs qui veulent le code complet le trouveront dans notre tutoriel pas à pas avec tout le code, sur dev.to.

Le champ adresse, maillon faible du checkout

Au moment de payer, le client a déjà choisi son produit. Tout ce qui le ralentit à cette étape est une occasion de fermer l'onglet. Un champ d'adresse qui ne propose rien, ou qui propose des résultats absurdes, en fait partie.

Deux réactions sont alors possibles. Soit le client abandonne, et la vente est perdue. Soit il tape son adresse en texte libre, comme il l'aurait écrite dans un SMS, et le problème est simplement repoussé jusqu'au livreur. Dans les deux cas, vous payez.

Une autocomplétion qui reconnaît l'adresse dès les premières lettres change la donne : le client choisit une suggestion existante, vous récupérez des coordonnées propres, et le livreur sait où aller. Encore faut-il qu'elle comprenne ce que le client tape.

Comment les Tunisiens écrivent vraiment leur adresse

Demandez à dix personnes de Tunis d'écrire la même adresse, et vous verrez passer trois écritures.

Il y a d'abord le français, celui des factures et des plaques bilingues : « Rue de Marseille, Tunis ». Puis l'arabe : « نهج مرسيليا ». Et enfin l'arabizi, le tunisien écrit en lettres latines, très répandu sur téléphone. Là, les chiffres remplacent les sons que l'alphabet latin ne sait pas noter : le 3 pour le « aïn » (ع), le 5 pour le « kh » (خ), le 7 pour le h aspiré (ح), le 9 pour le « q » (ق). Ksar Said devient 9asr said, Hammamet devient 7ammamet, Khayreddine devient 5ayreddine.

S'y ajoutent les mots du dialecte pour désigner les voies : nahj pour la rue, zan9a pour l'impasse, chare3 pour l'avenue, 7ay pour la cité. Un même client peut d'ailleurs mélanger tout cela dans une seule ligne.

Ces habitudes ne sont pas des fautes à corriger. Ce sont les vraies données d'entrée de votre formulaire. Notre article sur les pièges du géocodage d'adresses en Tunisie traite des autres difficultés (rues numérotées des zones industrielles, cités sans numéro, repères). Ici, on se concentre sur le moment précis de la saisie.

Ce que l'API comprend déjà, et ce qui coince

Avant de construire quoi que ce soit, nous avons testé de vraies requêtes tunisiennes sur l'API de géocodage TMaps, avec lang=fr et country=TN. Voici le premier résultat obtenu pour chacune.

Requête tapéePremier résultatVerdict
نهج مرسيلياRue de MarseilleBon
nahj marseilleRue de Marseille, TunisBon
9asr saidKsar Said, Le BardoBon
7ammametHammametBon
5ayreddineRue KhayreddineBon
3in zaghouanaucun résultatÉchec
zan9et el bachaKhaireddine Pacha (pas une impasse)Approximatif

Le bilan est plutôt encourageant. L'arabe, le mot nahj et les chiffres 7, 9 et 5 passent déjà sans aide. Le chiffre 3 et certains mots du dialecte, en revanche, ont besoin d'un coup de pouce. Et c'est justement ce qu'on peut apporter sans rien changer côté serveur.

La stratégie, en trois idées simples

1. Traduire l'arabizi dans le navigateur

Avant d'envoyer la recherche, une petite fonction réécrit ce que le client a tapé dans l'orthographe des adresses officielles : zan9et devient « impasse », chare3 devient « avenue », 3in devient « ain ». Tout se passe dans le navigateur du client, en quelques millisecondes.

Une précaution est indispensable : ne jamais toucher aux numéros ni aux codes de routes. Les adresses tunisiennes en sont pleines, « Rue 4014 », « RN9 », « C27 », et une réécriture trop zélée transformerait des recherches qui marchaient en recherches qui échouent.

2. Chercher deux fois, garder le meilleur

La version réécrite n'est pas toujours meilleure que l'originale. 9asr said fonctionnait très bien tel quel, par exemple. Plutôt que de remplacer la saisie du client, on lance donc les deux recherches en parallèle, la brute et la normalisée, puis on fusionne les résultats en supprimant les doublons.

Pour votre budget, la bonne nouvelle est que cette double recherche ne se déclenche que lorsqu'elle sert. Une saisie en français ou en arabe ressort de la normalisation sans changement : une seule requête. Seules les saisies en arabizi ou en dialecte en coûtent deux.

Le résultat se voit tout de suite. 3in zaghouan, qui ne donnait rien, renvoie désormais la Rue Ain Zaghouane et les localités « Ain » autour de Zaghouan.

La requête arabizi « 3in zaghouan » renvoie maintenant des résultats

Et 9asr said continue de tomber sur Ksar Said, au Bardo.

La requête arabizi « 9asr said » renvoie Ksar Said

3. Ne croire que les résultats sûrs

Pour une livraison, une mauvaise adresse coûte plus cher que pas d'adresse du tout : le livreur part, avec certitude, au mauvais endroit. Chaque résultat de l'API est accompagné d'un score confidence qui permet de trancher. La règle que nous recommandons tient en deux lignes :

if (resultat.confidence >= 0.85) enregistrerCoordonnees(resultat);
else demanderDeVerifierLePin(resultat);

Au-dessus de 0,85, vous enregistrez les coordonnées. En dessous, vous gardez la suggestion, mais vous demandez au client de vérifier la position sur la carte. Trois secondes de son temps contre un aller-retour de livreur : l'échange est vite rentable.

Afficher l'arabe proprement

Si une partie de vos clients préfère l'arabe, le paramètre lang=ar renvoie toute l'adresse en arabe, de la rue jusqu'au gouvernorat. Reste à l'afficher correctement, de droite à gauche.

Une liste de suggestions mélange souvent les écritures : une rue en arabe, un code de route en chiffres latins, un nom de commune en français. Si le sens d'écriture est fixé une fois pour toutes, la ponctuation et les chiffres se retrouvent du mauvais côté et l'adresse devient illisible. La bonne pratique consiste à laisser le navigateur décider pour chaque ligne, avec l'attribut dir="auto", y compris sur le champ de saisie. Le curseur bascule alors à droite dès que le client commence à taper en arabe.

Recherche en arabe avec des adresses affichées de droite à gauche

Le parcours complet, du clavier au pin

L'autocomplétion n'est qu'une étape. La démo du formulaire de commande montre le parcours entier tel que nous le conseillons à nos clients e-commerce. Le client choisit une suggestion ; la commune, la délégation et le gouvernorat se remplissent tout seuls ; il peut ensuite déplacer le pin sur la carte, et l'adresse est affinée par géocodage inverse.

Un réglage mérite une attention particulière : le paramètre proximity. Il existe une Rue de Marseille dans beaucoup de villes tunisiennes, et c'est en favorisant la position du client, ou le centre de sa zone de livraison, que la bonne remonte en premier. Pour un livreur qui ne couvre que le Grand Sfax, inutile de proposer des rues de Bizerte.

Vous trouverez d'autres exemples d'usage dans notre page consacrée à la livraison et à l'e-commerce.

Ce qui reste imparfait

Autant être honnêtes sur les limites. Certains noms de ville tapés en arabe peuvent renvoyer un autre lieu au nom proche. Si vos clients écrivent souvent les villes en arabe, affichez la commune et le gouvernorat dans chaque suggestion pour qu'ils repèrent le bon endroit.

Les homonymes posent aussi problème. Il y a plus d'une El Aouina en Tunisie, et le classement dépend alors beaucoup de proximity. Dès que vous connaissez la vraie position de l'utilisateur, envoyez-la.

Pour tester et aller plus loin

Et vos clients, comment écrivent-ils leur adresse ? Envoyez-nous vos requêtes les plus tordues à support@tmaps.tn, elles nous aident à améliorer la recherche.

Read next