Un client tape « immeuble Ennour, route de la Marsa, à côté de la pharmacie » dans votre formulaire de commande. Votre livreur, lui, a besoin d'un point sur une carte. Entre les deux, il y a le géocodage : transformer un texte d'adresse en coordonnées. Sur le papier, c'est un appel d'API. Sur le terrain tunisien, c'est rarement aussi simple, et la plupart des projets de livraison ou d'e-commerce que nous voyons passer butent dessus à un moment ou à un autre.
Ce que fait vraiment le géocodage
Le géocodage direct prend une chaîne de caractères (« 12 avenue Habib Bourguiba, Tunis ») et renvoie une latitude, une longitude et, en général, un score de confiance. L'opération dans l'autre sens, du point vers l'adresse, s'appelle le géocodage inverse ; nous lui avons consacré un article à part.
À côté de ces deux services, il y a l'autocomplétion : au fur et à mesure que l'utilisateur tape, le service propose des adresses existantes. Ce n'est pas un gadget de confort. C'est souvent la brique qui fait la différence entre une base d'adresses propre et une base pleine de textes libres impossibles à exploiter. On y revient plus bas.
Pourquoi les adresses tunisiennes résistent
Un géocodeur pensé pour Paris ou Berlin part du principe qu'une adresse se compose d'un numéro, d'un nom de rue, d'un code postal et d'une ville. En Tunisie, ce schéma existe, mais il est loin d'être la norme.
Deux langues, plusieurs orthographes
La même rue s'écrit en arabe sur la plaque, en français sur la facture, et en translittération approximative dans le SMS du client. « Rue de Marseille », « نهج مرسيليا » et « nahj marsilia » désignent le même endroit. Ajoutez les variantes : Ennasr ou El Nasr, Mégrine ou Megrine, Sidi Bou Saïd avec ou sans tréma. Un service qui ne connaît pas ces équivalences renverra soit rien du tout, soit un résultat à l'autre bout du pays.
Les rues numérotées des zones industrielles
Dans la zone industrielle de Ben Arous, à Mégrine ou à Sfax, une bonne partie des voies portent un numéro plutôt qu'un nom : rue 8601, rue 8610 et ainsi de suite. Pour un moteur de recherche textuel, « 8601 » ressemble à un code postal ou à un numéro de porte, pas à un nom de rue. Résultat : le géocodeur comprend de travers, ou propose la rue 8601 d'une autre zone industrielle.
Les cités et les immeubles sans numéro
« Cité El Khadra, bloc 14, appartement 3 » ou « immeuble Amal, Lac 2 ». Pas de numéro de rue, parfois pas de nom de rue du tout. L'adresse repose sur un nom de cité ou d'immeuble que seuls les habitants et les facteurs connaissent. Si votre référentiel ne contient pas ces noms, l'adresse est perdue.
Les repères
Et puis il y a la façon dont les gens s'orientent vraiment : « après le rond-point, à côté du café, en face de l'école ». On l'a vu chez un client livreur à Sousse : une bonne partie des adresses saisies par ses clients contenaient un repère de ce type plutôt qu'un numéro. Ces adresses sont parfaitement compréhensibles pour un chauffeur du quartier. Pour une machine, c'est du bruit, sauf si la base de points d'intérêt est assez riche pour reconnaître le café en question.
De l'adresse tapée à la localisation GPS : quatre stratégies
Il n'y a pas de solution miracle, mais quelques pratiques qui, combinées, font passer un taux de réussite médiocre à quelque chose de tout à fait exploitable.
Normaliser avant de chercher
Avant d'envoyer l'adresse au service, nettoyez-la. Retirez les mentions inutiles (« appartement 3 », « 2e étage », le numéro de téléphone collé à la fin), harmonisez les abréviations (av. et avenue, imm. et immeuble, ZI et zone industrielle), et détectez les motifs connus comme « rue » suivi de quatre chiffres. Une bonne partie des échecs vient de bruit qu'un traitement de vingt lignes de code suffit à éliminer.
Mettre l'autocomplétion au moment de la saisie
C'est la mesure qui a le plus d'effet. Quand l'utilisateur voit s'afficher « Rue 8601, zone industrielle Ben Arous » dès qu'il tape « 8601 », il sélectionne une adresse existante au lieu d'écrire un texte libre. Vous récupérez des coordonnées propres à la source, et vous n'aurez rien à géocoder après coup. Dans la pratique, il faut que le service accepte l'arabe et le français indifféremment, sinon une partie de vos utilisateurs contournera le champ et reviendra au texte libre.
Faire valider par une carte
Même avec une bonne autocomplétion, il reste des cas où le résultat est approximatif : une cité étalée sur plusieurs centaines de mètres, une rue longue de deux kilomètres. Montrez un marqueur sur la carte et laissez l'utilisateur le déplacer. Le client qui commande sait exactement où est sa porte ; il vous le dira en trois secondes si vous lui en donnez le moyen. Ce petit ajustement manuel vaut tous les algorithmes du monde.
Basculer sur le géocodage inverse en secours
Quand l'adresse texte ne donne rien, mais que l'utilisateur est chez lui avec son téléphone, la position de l'appareil est souvent votre meilleure information. Vous prenez le point, vous le passez au géocodage inverse pour obtenir une adresse lisible, et vous la faites confirmer. C'est le chemin inverse de celui prévu au départ, mais c'est celui qui marche dans les quartiers récents où les noms de rues n'existent pas encore sur beaucoup de cartes. Pour creuser ce sujet, lisez notre article sur la localisation GPS en Tunisie.
Ce que ça change pour l'e-commerce et la livraison
Pour un site marchand, une adresse mal localisée se paie deux fois : un appel du livreur au client pour se faire guider, puis, dans les mauvais cas, un colis retourné. Sur quelques centaines de commandes par jour, ces minutes perdues finissent par représenter un poste de coût bien réel, sans parler de l'expérience client.
À l'inverse, une adresse propre dès la commande permet des choses qui étaient impossibles avant : regrouper les colis par zone, calculer un vrai temps de trajet plutôt qu'une estimation au doigt mouillé, et alimenter une optimisation de tournées qui tient la route. Le géocodage n'est pas la fin de la chaîne, c'est son premier maillon.
Une remarque pour finir : le taux de réussite dépend au moins autant de la qualité de la base d'adresses que de l'algorithme. Un moteur mondial très bien conçu, mais qui ne connaît ni les rues numérotées de Ben Arous ni les noms de cités de Kairouan, restera moins utile qu'un service plus modeste construit sur des données locales.
Si vous voulez tester ces approches sur vos propres adresses, le service de géocodage TMaps gère l'arabe et le français, l'autocomplétion et le géocodage inverse, avec une base couvrant les 24 gouvernorats. Et si un cas précis vous résiste, écrivez-nous : ce sont souvent les exemples les plus tordus qui nous aident à améliorer les données.