Le geofencing transforme un lieu en déclencheur. Vous tracez sur une carte une frontière virtuelle, le geofence, et le système réagit quand quelque chose la franchit. Quand une camionnette de livraison entre dans la rue du client, l'application de suivi indique « arrive bientôt ». Quand le smartphone d'un technicien quitte le chantier, la feuille de temps s'arrête. Quand un drone dérive vers une zone interdite de survol, le contrôleur de vol le ramène. Ces trois cas sont des geofences qui font le même travail : transformer une position en événement.
Ce guide explique ce qu'est le geofencing, comment fonctionne le test sous-jacent, quelle taille doit avoir un geofence pour la précision de localisation réellement obtenue, ce qu'autorisent Android et iOS, et comment exécuter le geofencing côté serveur pour toute une flotte. Les tableaux de précision et le benchmark point dans polygone sont nos propres calculs et mesures ; la méthode figure à la fin de chaque section.
Qu'est-ce que le geofencing ?
Le geofencing, que l'on traduit parfois par géorepérage, repose sur deux éléments : une forme et une règle.
La forme est une zone de la surface terrestre. Les deux variantes courantes sont le cercle, défini par une coordonnée centrale et un rayon en mètres, et le polygone, défini par une liste ordonnée de points de latitude et de longitude qui tracent un contour. Un cercle suffit pour « à moins de 200 mètres de ce magasin ». Un polygone est nécessaire pour « dans cette zone de livraison » ou « dans les limites de la commune », là où la frontière est irrégulière.
La règle définit ce qui se passe quand quelque chose franchit la forme. Les deux événements essentiels sont l'entrée (un objet suivi passe de l'extérieur à l'intérieur) et la sortie (de l'intérieur à l'extérieur). La plupart des plateformes en ajoutent un troisième, le dwell (temps de présence), qui ne se déclenche que si l'objet reste dans la zone pendant une durée fixée. Utilisez le dwell quand l'entrée se déclencherait trop souvent, par exemple pour des passants qui longent une boutique.
Comment fonctionne le geofencing
À chaque mise à jour de position, le système exécute un test d'appartenance : cette coordonnée se trouve-t-elle dans cette forme ?
Pour un cercle, le test est un calcul de distance. Mesurez la distance orthodromique entre l'appareil et le centre ; si elle est inférieure au rayon, l'appareil est à l'intérieur. Pour un polygone, la méthode standard est le test point dans polygone par lancer de rayon (ray casting) : tracez une ligne imaginaire depuis le point dans une direction et comptez combien de fois elle coupe les arêtes du polygone. Un nombre impair signifie à l'intérieur, un nombre pair à l'extérieur.
La géométrie coûte peu. Les difficultés sont ailleurs :
- Précision. Un relevé de position est une estimation. Un smartphone immobile renvoie des positions qui se déplacent, ce qui provoque de fausses entrées et sorties près d'une frontière. La section suivante chiffre le phénomène.
- Batterie. Interroger le GPS en continu vide la batterie. Les systèmes mobiles proposent des API de geofencing économes qui s'appuient sur le Wi-Fi et le réseau mobile et ne réveillent l'application que lorsqu'un franchissement est probable.
- État. Un événement d'entrée n'a de sens que si l'état précédent était « à l'extérieur ». Le moteur doit mémoriser, pour chaque objet et chaque geofence, le dernier état connu.
Quelle taille pour un geofence : la précision, calculée
Android exprime la précision de localisation comme le rayon dans lequel se trouve la position réelle avec une confiance de 68 % (Location.getAccuracy()). Les plateformes donnent elles-mêmes des valeurs typiques : les smartphones équipés du GPS sont généralement précis à 4,9 m en ciel dégagé, selon GPS.gov, et le guide geofencing d'Android indique que la localisation Wi-Fi est généralement précise à 20 à 50 m, et peut se dégrader à plusieurs centaines de mètres, voire plusieurs kilomètres, sans Wi-Fi.
Nous avons modélisé l'erreur de position comme une loi normale à deux dimensions ayant ce rayon à 68 %, puis calculé la fréquence à laquelle un relevé tombe hors d'un geofence circulaire quand le smartphone se trouve exactement en son centre :
| Source de localisation (précision à 68 %) | Geofence de 25 m | 50 m | 100 m | 150 m | 250 m | 500 m |
|---|---|---|---|---|---|---|
| GPS, ciel dégagé (5 m) | 0 % | 0 % | 0 % | 0 % | 0 % | 0 % |
| Wi-Fi, bon (20 m) | 16,9 % | 0,08 % | 0 % | 0 % | 0 % | 0 % |
| Wi-Fi, typique (50 m) | 75,2 % | 32,0 % | 1,05 % | 0,004 % | 0 % | 0 % |
| Sans Wi-Fi, réseau mobile (300 m) | 99,2 % | 96,9 % | 88,1 % | 75,2 % | 45,3 % | 4,2 % |
« 0 % » signifie moins de 0,001 %. La règle qui en découle : donnez au rayon au moins deux fois la précision à 68 %. Un smartphone placé au centre reste alors à l'intérieur dans 99 % des relevés, et dans 99,9 % avec un facteur 2,5. Pour une précision Wi-Fi typique, cela donne 100 à 125 m, ce qui correspond au rayon minimal de 100 à 150 m recommandé par Android.
Le centre est le cas le plus favorable. Un appareil proche du bord, comme une camionnette garée dans un dépôt à 10 m à l'intérieur de la clôture, se retrouve bien plus souvent du mauvais côté :
| Source de localisation | 5 m à l'intérieur du bord | 10 m | 25 m | 50 m | 100 m |
|---|---|---|---|---|---|
| GPS, ciel dégagé (5 m) | 6,6 % | 0,13 % | 0 % | 0 % | 0 % |
| Wi-Fi, bon (20 m) | 35,3 % | 22,5 % | 3,0 % | 0,01 % | 0 % |
| Wi-Fi, typique (50 m) | 44,0 % | 38,1 % | 22,5 % | 6,6 % | 0,13 % |
| Sans Wi-Fi, réseau mobile (300 m) | 49,0 % | 48,0 % | 45,0 % | 40,1 % | 30,7 % |
La parade est l'hystérésis : n'acceptez un changement d'état que si la position dépasse le bord d'une marge donnée. Avec une marge égale à la valeur de précision, le cas Wi-Fi à 10 m du bord passe de 38,1 % des relevés du mauvais côté à 3,5 %, et le cas GPS à zéro. Combinée à une durée de dwell, cette marge empêche un relevé isolé de produire un événement.
Méthode. Écart type par axe = précision / 1,5096, le rayon à 68 % d'une loi normale à deux dimensions. Part hors d'un cercle de rayon R pour un appareil en son centre = exp(-R² / 2σ²). Part du mauvais côté d'un bord rectiligne à la distance d = Φ(-d/σ), avec une marge h : Φ(-(d+h)/σ). Les relevés sont traités comme indépendants, ce que ne sont pas les récepteurs réels, dont l'erreur dérive lentement. Lisez donc ces chiffres comme une part des relevés, et non comme un nombre d'événements par heure. Script : scripts/seo/blog-keyword-research/what-is-a-geofence.mjs, résultats : docs/blog-keyword-research/what-is-a-geofence-2026-09-30.json.
Le geofencing sur Android et iOS : les limites des plateformes
Sur un smartphone, vous exécutez rarement le test vous-même. Vous enregistrez les geofences auprès du système d'exploitation, qui les surveille en arrière-plan avec une localisation économe et réveille l'application lors d'une transition. Cela s'accompagne de limites à prendre en compte dès la conception :
| Android (API Geofencing) | iOS (surveillance de conditions Core Location) | |
|---|---|---|
| Geofences par application | 100 par application et par utilisateur de l'appareil | 20 conditions de tout type |
| Forme | Cercle | Cercle |
| Événements | Entrée, sortie, dwell (avec délai de présence) | Satisfaite, non satisfaite |
| Latence | Généralement moins de 2 minutes ; 2 à 3 minutes avec les limites de localisation en arrière-plan ; jusqu'à 6 minutes pour un appareil immobile depuis longtemps | Aucune valeur chiffrée |
| Rayon minimal recommandé | 100 à 150 m | Aucune valeur chiffrée |
Sources : le guide geofencing d'Android et la documentation d'Apple sur la surveillance de conditions, selon laquelle Core Location empêche une application de surveiller plus de 20 conditions de tout type simultanément.
Deux conséquences pratiques en découlent. D'abord, les deux plateformes surveillent des cercles : un geofence polygonal sur smartphone est donc un cercle englobant, complété par votre propre test de polygone quand l'application se réveille. Ensuite, les plafonds empêchent une enseigne de 500 magasins de tous les enregistrer. Conservez la liste complète sur un serveur, enregistrez les 20 (iOS) ou 100 (Android) plus proches, et renouvelez cet ensemble quand l'utilisateur s'est suffisamment déplacé, par exemple à la sortie d'un grand geofence de « rafraîchissement » placé autour de sa position.
Le geofencing côté serveur à grande échelle : point dans polygone avec un préfiltre H3
Les flottes et le suivi d'actifs font généralement tourner le geofencing côté serveur : chaque véhicule envoie ses positions, et le backend les teste contre de nombreuses zones. Le coût du test compte alors, et il croît avec le nombre de sommets du polygone.
Nous l'avons mesuré sur une frontière réelle : la commune d'Amsterdam dans OpenStreetMap, deux anneaux extérieurs totalisant 7 677 sommets. Nous avons généré 1 000 000 de points aléatoires dans son rectangle englobant et testé chacun deux fois.
| Méthode | Temps par point | Total pour 1 000 000 de points |
|---|---|---|
| Lancer de rayon sur le polygone complet | 13,3 µs | 13,3 s |
| Préfiltre H3 en résolution 9, lancer de rayon seulement près de la frontière | 2,3 µs | 2,3 s |
Le préfiltre couvre le polygone d'hexagones H3 d'environ 0,1 km². Les 464 cellules traversées par la frontière sont marquées « à vérifier », les 2 520 cellules entièrement intérieures « dedans », et tout le reste est dehors. Pour chaque point, vous calculez sa cellule H3, une opération en temps constant, et n'exécutez le test complet que si la cellule est « à vérifier ». C'était le cas de 9,2 % des points. Les réponses concordaient avec le test complet pour les 1 000 000 de points, et la construction de la table de correspondance a pris 135 ms.
Le préfiltre a été 5,9 fois plus rapide sur ce polygone, et le gain augmente avec le nombre de sommets, car la plupart des points n'atteignent jamais la boucle sur les sommets. Utilisez-le quand vous testez des milliers de véhicules contre de nombreuses zones toutes les quelques secondes.
Méthode. @turf/boolean-point-in-polygon pour le lancer de rayon, h3-js 3.7.2, Node 23 sur un Apple M2 Pro. Cellules de frontière obtenues en échantillonnant chaque arête du polygone tous les 5 m ; cellules intérieures issues du polyfill H3, moins les cellules de frontière. Même script que ci-dessus ; données de frontière © OpenStreetMap contributors (ODbL), relation 47811, récupérées le 30 septembre 2026. Les temps dépendent de la machine ; c'est le rapport qui compte.
D'où viennent les coordonnées
Un test de geofence ne vaut que par la coordonnée qu'on lui fournit, et cette coordonnée arrive rarement sous forme de latitude et longitude propres.
En pratique, vous partez d'une adresse (« 12 rue de Rivoli, Paris »), d'un nom de lieu (« l'entrepôt central ») ou d'un signal brut. Les convertir en [lng, lat], le format qu'attend un test de geofence, est le rôle du géocodage et du géocodage inverse :
- Le géocodage convertit une adresse ou un nom de lieu en coordonnées, pour tracer un geofence autour du site d'un client ou vérifier si la destination d'une commande se trouve dans une zone de livraison.
- Le géocodage inverse convertit des coordonnées en adresse, pour qu'un événement d'entrée indique « arrivé au 12 rue de Rivoli » plutôt que « arrivé à 48.8566, 2.3522 ».
- Les données de lieux (POI) permettent d'ancrer les geofences sur des points d'intérêt connus plutôt que sur des formes dessinées à la main.
Exemples de geofencing
- Livraison et logistique. Déclencher les événements « en cours de livraison » et « arrivé » ; alerter quand un véhicule quitte son itinéraire prévu.
- Interventions et gestion des équipes. Pointage automatique à l'arrivée et au départ d'un chantier.
- Commerce et marketing. Envoyer une offre pertinente à un client qui a donné son accord quand il est près d'un magasin.
- Gestion de flotte et suivi d'actifs. Recevoir une alerte dès qu'un équipement quitte une zone autorisée.
- Sécurité et conformité. Avertir quand un appareil entre dans une zone dangereuse ou un espace aérien interdit.
- Maison connectée. Allumer le chauffage quand le dernier smartphone du foyer prend le chemin du retour.
Geofencing marketing et vie privée
Le geofencing marketing exploite les mêmes événements d'entrée et de dwell pour afficher un message ou une publicité : un bon de réduction à l'entrée d'un centre commercial, une bannière pour les visiteurs d'un salon. Il s'appuie sur des données de localisation qui identifient une personne, et dans l'UE le RGPD cite les « données de localisation » dans sa définition des données à caractère personnel (article 4, point 1). Une campagne de geofencing a donc besoin d'une base légale pour ce traitement, ce qui revient en pratique, pour les notifications d'application et la publicité, à un consentement que l'utilisateur peut retirer.
Les historiques de localisation intéressent aussi les forces de l'ordre. Un geofence warrant demande à un détenteur de données tous les appareils présents dans une zone pendant une plage horaire. Dans l'arrêt United States v. Smith (9 août 2024), la cour d'appel fédérale des États-Unis pour le cinquième circuit a jugé que les geofence warrants sont des mandats généraux modernes, contraires au quatrième amendement, même si les preuves de cette affaire ont été admises au titre de l'exception de bonne foi. En décembre 2023, Google a annoncé que Vos trajets, son historique de localisation, serait enregistré sur l'appareil de l'utilisateur. Pour votre propre produit, la leçon vaut pour toute donnée personnelle : évaluez les geofences là où les données se trouvent déjà, ne conservez les historiques de positions bruts que le temps nécessaire, et stockez des événements plutôt que des traces quand le cas d'usage le permet.
Le geofencing pour les agents IA
Les agents IA qui gèrent la logistique, les interventions ou les voyages doivent répondre à des questions comme « ce chauffeur est-il déjà dans la zone du dépôt ? » ou « lesquels de ces magasins le client peut-il atteindre en 15 minutes ? ». Pour cela, l'agent a besoin de deux choses : des données de localisation propres et une frontière à tester. Il peut obtenir une coordonnée via une API de géocodage, charger un geofence sous forme de polygone GeoJSON et exécuter le test d'appartenance par un appel d'outil. Associez le geofencing à une isochrone, une frontière en temps de trajet plutôt qu'une forme fixe, et l'agent peut raisonner sur l'accessibilité, ce qui se rapproche de la façon dont on pense « à proximité ».
Construire un geofence fiable
Un geofence fiable repose sur quatre points :
- Dimensionnez-le selon la précision disponible. Au moins deux fois la précision à 68 %, soit 100 à 150 m avec une localisation de niveau Wi-Fi.
- Ajoutez hystérésis et dwell. Une marge au-delà du bord et une durée minimale de présence éliminent la plupart des faux événements.
- Stockez les frontières proprement. GeoJSON est le standard de fait ; simplifiez les polygones complexes avant de les envoyer à un appareil.
- Obtenez des coordonnées précises. Une bonne API de géocodage et de géocodage inverse compte davantage que le code géométrique.
MapAtlas propose la Geocoding API, avec géocodage direct et inverse, et l'Isochrone API pour les frontières en temps de trajet, avec un traitement dans l'UE. Pour vérifier des coordonnées et des adresses à la main, utilisez l'outil de coordonnées, et pour tracer une zone à rayon fixe, la carte de rayon.
Pour aller plus loin
- Qu'est-ce qu'un géocode ? Géocodage direct et inverse
- Qu'est-ce qu'une isochrone ?
- Qu'est-ce que GeoJSON ?
- Qu'est-ce qu'une matrice de distances ?
Questions fréquemment posées
Qu'est-ce que le geofencing ?
Le geofencing, ou géorepérage, consiste à entourer une zone réelle d'une frontière virtuelle, le geofence, qui déclenche une action quand un appareil, un véhicule ou un agent logiciel y entre ou en sort. La frontière est un cercle (un centre et un rayon) ou un polygone tracé autour d'un bâtiment, d'une zone de livraison ou d'un quartier. Quand une position suivie franchit la frontière, le système émet un événement : une notification, un pointage, un webhook ou une mise à jour de base de données. Le geofencing est l'une des briques de base des services géolocalisés.
Comment fonctionne le geofencing ?
Une source de localisation (GPS, Wi-Fi, antennes relais ou IP) transmet une position. Un test d'appartenance détermine si cette position se trouve dans chaque geofence : un calcul de distance pour les cercles, un test point dans polygone pour les polygones. Quand le résultat passe de l'extérieur à l'intérieur, le système émet un événement d'entrée, et dans l'autre sens un événement de sortie. La géométrie coûte peu. Le vrai travail porte sur la précision de localisation, la consommation de batterie et l'élimination des faux déclenchements près de la limite.
Quelle taille doit avoir un geofence ?
Au moins deux fois la précision de localisation attendue, et davantage si les faux déclenchements coûtent cher. Le guide geofencing d'Android recommande un rayon minimal de 100 à 150 mètres, car la localisation Wi-Fi est généralement précise à 20 à 50 mètres. Notre calcul le confirme : avec une précision de 50 mètres, un smartphone placé au centre d'un geofence de 100 mètres de rayon renvoie une position hors de la zone dans environ 1 % des relevés, et dans 0,004 % à 150 mètres. Avec le GPS en ciel dégagé, soit 5 mètres de précision, un geofence de 25 mètres est déjà stable.
Combien de geofences une application peut-elle surveiller sur Android et iOS ?
Android autorise 100 geofences actifs par application et par utilisateur de l'appareil. Sur iOS, Core Location empêche une application de surveiller plus de 20 conditions à la fois, régions géographiques comprises. Les applications qui en ont besoin de davantage conservent la liste complète sur un serveur et n'enregistrent sur l'appareil que les geofences les plus proches, qu'elles renouvellent au fil des déplacements de l'utilisateur.
Qu'est-ce que le geofencing marketing ?
Le geofencing marketing envoie un message ou affiche une publicité quand une personne entre dans une zone, par exemple un magasin, un salon professionnel ou le parking d'un concurrent. Dans l'UE, les données de localisation concernées sont des données personnelles au sens du RGPD, qui cite explicitement les données de localisation dans sa définition des données à caractère personnel. Une telle campagne exige donc une base légale, en pratique le consentement pour les notifications d'application et la publicité. La même technique sans consentement est précisément ce que contestent les autorités et les tribunaux.
Quelle est la différence entre un geofence et un geofence warrant ?
Un geofence, en développement logiciel, est une frontière que vous définissez pour déclencher un comportement d'application, comme une alerte de livraison ou un pointage. Un geofence warrant est une réquisition judiciaire qui demande à un détenteur de données quels appareils se trouvaient dans une zone pendant une plage horaire. Dans l'arrêt United States v. Smith (9 août 2024), la cour d'appel fédérale des États-Unis pour le cinquième circuit a jugé que les geofence warrants sont des mandats généraux modernes, contraires au quatrième amendement. Cet article traite du geofence au sens technique.

