{"title":"Géolocalisation avec GeoIP2","version":"5.1","locale":"fr","docname":"ref/contrib/gis/geoip2","url":"/fr/5.1/ref/contrib/gis/geoip2/","canonical":"https://djangodocs.dev/fr/5.1/ref/contrib/gis/geoip2/","summary":"L’objet GeoIP2 est une adaptation de la bibliothèque Python geoip2 de MaxMind . [ 1 ] Afin de pouvoir procéder à la géolocalisation basée sur l’adresse IP, l’objet…","html":"<span id=\"geolocation-with-geoip2\"></span><h1>Géolocalisation avec GeoIP2<a class=\"heading-anchor\" href=\"#module-django.contrib.gis.geoip2\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>L’objet <a class=\"reference internal\" href=\"#django.contrib.gis.geoip2.GeoIP2\" title=\"django.contrib.gis.geoip2.GeoIP2\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GeoIP2</span></code></a> est une adaptation de la <a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/geoip2/\">bibliothèque Python geoip2 de MaxMind</a>. <a class=\"footnote-reference brackets\" href=\"#id5\" id=\"id1\" role=\"doc-noteref\"><span class=\"fn-bracket\">[</span>1<span class=\"fn-bracket\">]</span></a></p>\n<p>Afin de pouvoir procéder à la géolocalisation basée sur l’adresse IP, l’objet <a class=\"reference internal\" href=\"#django.contrib.gis.geoip2.GeoIP2\" title=\"django.contrib.gis.geoip2.GeoIP2\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GeoIP2</span></code></a> a besoin du paquet Python <a class=\"extlink-pypi reference external\" href=\"https://pypi.org/project/geoip2/\">geoip2</a> et d’un des jeux de données GeoIP <code class=\"docutils literal notranslate\"><span class=\"pre\">Country</span></code> ou <code class=\"docutils literal notranslate\"><span class=\"pre\">City</span></code> en format binaire (les fichiers CSV ne fonctionneront pas !), téléchargé à partir des sites web <a class=\"reference external\" href=\"https://dev.maxmind.com/geoip/geolite2-free-geolocation-data\">MaxMind</a> ou <a class=\"reference external\" href=\"https://db-ip.com/db/lite.php\">DB-IP</a>. Récupérez les fichiers <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoLite2-Country.mmdb.gz</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoLite2-City.mmdb.gz</span></code> et décompressez-les dans un répertoire correspondant au réglage <a class=\"reference internal\" href=\"#std-setting-GEOIP_PATH\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">GEOIP_PATH</span></code></a>.</p>\n<p>En outre, il est recommandé d’installer la <a class=\"reference external\" href=\"https://github.com/maxmind/libmaxminddb/\">bibliothèque C libmaxminddb</a>, afin que <code class=\"docutils literal notranslate\"><span class=\"pre\">geoip2</span></code> puisse tirer parti de la vitesse plus rapide de la bibliothèque C.</p>\n<section id=\"example\">\n<h2>Exemple<a class=\"heading-anchor\" href=\"#example\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Voici un exemple de son utilisation :</p>\n<div class=\"code-block\" data-language=\"pycon\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Python console</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Python console code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span><span class=\"w\"> </span><span class=\"nn\">django.contrib.gis.geoip2</span><span class=\"w\"> </span><span class=\"kn\">import</span> <span class=\"n\">GeoIP2</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">g</span> <span class=\"o\">=</span> <span class=\"n\">GeoIP2</span><span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">g</span><span class=\"o\">.</span><span class=\"n\">country</span><span class=\"p\">(</span><span class=\"s2\">&quot;google.com&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">{&#39;continent_code&#39;: &#39;NA&#39;,</span>\n<span class=\"go\"> &#39;continent_name&#39;: &#39;North America&#39;,</span>\n<span class=\"go\"> &#39;country_code&#39;: &#39;US&#39;,</span>\n<span class=\"go\"> &#39;country_name&#39;: &#39;United States&#39;,</span>\n<span class=\"go\"> &#39;is_in_european_union&#39;: False}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">g</span><span class=\"o\">.</span><span class=\"n\">city</span><span class=\"p\">(</span><span class=\"s2\">&quot;72.14.207.99&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">{&#39;accuracy_radius&#39;: 1000,</span>\n<span class=\"go\"> &#39;city&#39;: &#39;Mountain View&#39;,</span>\n<span class=\"go\"> &#39;continent_code&#39;: &#39;NA&#39;,</span>\n<span class=\"go\"> &#39;continent_name&#39;: &#39;North America&#39;,</span>\n<span class=\"go\"> &#39;country_code&#39;: &#39;US&#39;,</span>\n<span class=\"go\"> &#39;country_name&#39;: &#39;United States&#39;,</span>\n<span class=\"go\"> &#39;is_in_european_union&#39;: False,</span>\n<span class=\"go\"> &#39;latitude&#39;: 37.419200897216797,</span>\n<span class=\"go\"> &#39;longitude&#39;: -122.05740356445312,</span>\n<span class=\"go\"> &#39;metro_code&#39;: 807,</span>\n<span class=\"go\"> &#39;postal_code&#39;: &#39;94043&#39;,</span>\n<span class=\"go\"> &#39;region_code&#39;: &#39;CA&#39;,</span>\n<span class=\"go\"> &#39;region_name&#39;: &#39;California&#39;,</span>\n<span class=\"go\"> &#39;time_zone&#39;: &#39;America/Los_Angeles&#39;,</span>\n<span class=\"go\"> &#39;dma_code&#39;: 807,</span>\n<span class=\"go\"> &#39;region&#39;: &#39;CA&#39;}</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">g</span><span class=\"o\">.</span><span class=\"n\">lat_lon</span><span class=\"p\">(</span><span class=\"s2\">&quot;salon.com&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">(39.0437, -77.4875)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">g</span><span class=\"o\">.</span><span class=\"n\">lon_lat</span><span class=\"p\">(</span><span class=\"s2\">&quot;uh.edu&quot;</span><span class=\"p\">)</span>\n<span class=\"go\">(-95.4342, 29.834)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span><span class=\"n\">g</span><span class=\"o\">.</span><span class=\"n\">geos</span><span class=\"p\">(</span><span class=\"s2\">&quot;24.124.1.80&quot;</span><span class=\"p\">)</span><span class=\"o\">.</span><span class=\"n\">wkt</span>\n<span class=\"go\">&#39;POINT (-97 38)&#39;</span>\n</code></pre></div>\n</section>\n<section id=\"api-reference\">\n<h2>Référence de l’API<a class=\"heading-anchor\" href=\"#api-reference\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geoip2.GeoIP2\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">class</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GeoIP2</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">path</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">cache</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">0</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">country</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">city</span></span><span class=\"o\"><span class=\"pre\">=</span></span><span class=\"default_value\"><span class=\"pre\">None</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geoip2.GeoIP2\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>L’objet <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoIP</span></code> n’a besoin d’aucun paramètre s’il utilise les réglages par défaut. Cependant, il faut au minimum définir le réglage <a class=\"reference internal\" href=\"#std-setting-GEOIP_PATH\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">GEOIP_PATH</span></code></a> en indiquant le chemin vers l’emplacement des jeux de données GeoIP. Les paramètres nommés suivants peuvent être utilisés pour personnaliser les réglages par défaut lors de l’initialisation.</p>\n<div class=\"table-scroll\" role=\"region\" tabindex=\"0\" aria-label=\"Table\"><table class=\"docutils align-default\">\n<thead>\n<tr class=\"row-odd\"><th class=\"head\"><p>Paramètres nommés</p></th>\n<th class=\"head\"><p>Description</p></th>\n</tr>\n</thead>\n<tbody>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">path</span></code></p></td>\n<td><p>Répertoire de base où sont stockées les données GeoIP ou chemin complet de l’emplacement des fichiers de données (.mmdb) de villes et de pays. On suppose que les jeux de données des villes et des pays se trouvent dans ce même répertoire ; ce paramètre surcharge le réglage <a class=\"reference internal\" href=\"#std-setting-GEOIP_PATH\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">GEOIP_PATH</span></code></a>.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">cache</span></code></p></td>\n<td><p>Les réglages de cache lors de l’ouverture des jeux de données GeoIP. Il peut s’agir d’un nombre entier dans (0, 1, 2, 4, 8) correspondant respectivement aux réglages <code class=\"docutils literal notranslate\"><span class=\"pre\">MODE_AUTO</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">MODE_MMAP_EXT</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">MODE_MMAP</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">GEOIP_INDEX_CACHE</span></code> des réglages <code class=\"docutils literal notranslate\"><span class=\"pre\">MODE_MEMORY</span></code> de l’API C. La valeur par défaut est 0 (<code class=\"docutils literal notranslate\"><span class=\"pre\">MODE_AUTO</span></code>).</p></td>\n</tr>\n<tr class=\"row-even\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">country</span></code></p></td>\n<td><p>Le nom du fichier de données des pays GeoIP. La valeur par défaut est <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoLite2-Country.mmdb</span></code>. L’attribution d’une valeur à ce paramètre surcharge la valeur du réglage <a class=\"reference internal\" href=\"#std-setting-GEOIP_COUNTRY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">GEOIP_COUNTRY</span></code></a>.</p></td>\n</tr>\n<tr class=\"row-odd\"><td><p><code class=\"docutils literal notranslate\"><span class=\"pre\">city</span></code></p></td>\n<td><p>Le nom du fichier de données des villes GeoIP. La valeur par défaut est <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoLite2-City.mmdb</span></code>. L’attribution d’une valeur à ce paramètre surcharge la valeur du réglage <a class=\"reference internal\" href=\"#std-setting-GEOIP_CITY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">GEOIP_CITY</span></code></a>.</p></td>\n</tr>\n</tbody>\n</table>\n</div>\n</section>\n<section id=\"methods\">\n<h2>Méthodes<a class=\"heading-anchor\" href=\"#methods\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"instantiating\">\n<h3>Instanciation<a class=\"heading-anchor\" href=\"#instantiating\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geoip2.GeoIP2.open\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">classmethod</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">GeoIP2.</span></span><span class=\"sig-name descname\"><span class=\"pre\">open</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">path</span></span></em>, <em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">cache</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geoip2.GeoIP2.open\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Cette méthode de classe crée une instance d’objet GeoIP à partir du chemin de base de données indiqué et du réglage de cache.</p>\n<aside class=\"version-note version-deprecated\" data-version=\"5.1\">\n<p class=\"version-note-title\">Deprecated since Django 5.1</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 5.1: </span>Utilisez le constructeur <a class=\"reference internal\" href=\"#django.contrib.gis.geoip2.GeoIP2\" title=\"django.contrib.gis.geoip2.GeoIP2\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GeoIP2()</span></code></a> à la place.</p>\n</aside>\n</section>\n<section id=\"querying\">\n<h3>Interrogation<a class=\"heading-anchor\" href=\"#querying\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Toutes les routines d’interrogation suivantes acceptent une instance de <a class=\"reference external\" href=\"https://docs.python.org/3/library/ipaddress.html#ipaddress.IPv4Address\" title=\"(disponible dans Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">IPv4Address</span></code></a> ou de <a class=\"reference external\" href=\"https://docs.python.org/3/library/ipaddress.html#ipaddress.IPv6Address\" title=\"(disponible dans Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">IPv6Address</span></code></a>, une chaîne d’adresse IP ou un nom de domaine entièrement qualifié (FQDN). Par exemple, <code class=\"docutils literal notranslate\"><span class=\"pre\">IPv4Address(&quot;205.186.163.125&quot;)</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;205.186.163.125&quot;</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;djangoproject.com&quot;</span></code>  seraient tous des paramètres d’interrogation valables.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geoip2.GeoIP2.city\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GeoIP2.</span></span><span class=\"sig-name descname\"><span class=\"pre\">city</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">query</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geoip2.GeoIP2.city\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Renvoie un dictionnaire d’informations sur une ville correspondant à la requête donnée. Certaines valeurs du dictionnaire peuvent rester indéfinies (<code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>).</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geoip2.GeoIP2.country\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GeoIP2.</span></span><span class=\"sig-name descname\"><span class=\"pre\">country</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">query</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geoip2.GeoIP2.country\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Renvoie un dictionnaire contenant le pays et son code correspondant à la requête donnée.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geoip2.GeoIP2.country_code\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GeoIP2.</span></span><span class=\"sig-name descname\"><span class=\"pre\">country_code</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">query</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geoip2.GeoIP2.country_code\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Renvoie le code de pays correspondant à la requête donnée.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geoip2.GeoIP2.country_name\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GeoIP2.</span></span><span class=\"sig-name descname\"><span class=\"pre\">country_name</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">query</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geoip2.GeoIP2.country_name\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Renvoie le nom de pays correspondant à la requête donnée.</p>\n</section>\n<section id=\"coordinate-retrieval\">\n<h3>Obtention de coordonnées<a class=\"heading-anchor\" href=\"#coordinate-retrieval\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geoip2.GeoIP2.coords\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GeoIP2.</span></span><span class=\"sig-name descname\"><span class=\"pre\">coords</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">query</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geoip2.GeoIP2.coords\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Renvoie un tuple de coordonnées <code class=\"docutils literal notranslate\"><span class=\"pre\">(longitude,</span> <span class=\"pre\">latitude)</span></code>.</p>\n<aside class=\"version-note version-deprecated\" data-version=\"5.1\">\n<p class=\"version-note-title\">Deprecated since Django 5.1</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 5.1: </span>Utilisez plutôt <a class=\"reference internal\" href=\"#django.contrib.gis.geoip2.GeoIP2.lon_lat\" title=\"django.contrib.gis.geoip2.GeoIP2.lon_lat\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">GeoIP2.lon_lat()</span></code></a>.</p>\n</aside>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geoip2.GeoIP2.lon_lat\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GeoIP2.</span></span><span class=\"sig-name descname\"><span class=\"pre\">lon_lat</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">query</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geoip2.GeoIP2.lon_lat\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Renvoie un tuple de coordonnées <code class=\"docutils literal notranslate\"><span class=\"pre\">(longitude,</span> <span class=\"pre\">latitude)</span></code>.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geoip2.GeoIP2.lat_lon\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GeoIP2.</span></span><span class=\"sig-name descname\"><span class=\"pre\">lat_lon</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">query</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geoip2.GeoIP2.lat_lon\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Renvoie un tuple de coordonnées <code class=\"docutils literal notranslate\"><span class=\"pre\">(latitude,</span> <span class=\"pre\">longitude)</span></code>.</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geoip2.GeoIP2.geos\">\n<span class=\"sig-prename descclassname\"><span class=\"pre\">GeoIP2.</span></span><span class=\"sig-name descname\"><span class=\"pre\">geos</span></span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"n\"><span class=\"pre\">query</span></span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geoip2.GeoIP2.geos\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Renvoie un objet <a class=\"reference internal\" href=\"/fr/5.1/ref/contrib/gis/geos/#django.contrib.gis.geos.Point\" title=\"django.contrib.gis.geos.Point\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Point</span></code></a> correspondant à la requête.</p>\n</section>\n</section>\n<section id=\"settings\">\n<h2>Réglages<a class=\"heading-anchor\" href=\"#settings\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<section id=\"geoip-path\">\n<span id=\"std-setting-GEOIP_PATH\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">GEOIP_PATH</span></code><a class=\"heading-anchor\" href=\"#geoip-path\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Une chaîne ou objet <a class=\"reference external\" href=\"https://docs.python.org/3/library/pathlib.html#pathlib.Path\" title=\"(disponible dans Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">pathlib.Path</span></code></a> indiquant le répertoire où se trouvent les fichiers de données GeoIP. Ce réglage est <em>obligatoire</em> sauf dans le cas où vous indiquez manuellement le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">path</span></code> lors de l’initialisation des objets <a class=\"reference internal\" href=\"#django.contrib.gis.geoip2.GeoIP2\" title=\"django.contrib.gis.geoip2.GeoIP2\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GeoIP2</span></code></a>.</p>\n</section>\n<section id=\"geoip-country\">\n<span id=\"std-setting-GEOIP_COUNTRY\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">GEOIP_COUNTRY</span></code><a class=\"heading-anchor\" href=\"#geoip-country\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Le nom de base à utiliser pour le fichier de données des pays GeoIP. <code class=\"docutils literal notranslate\"><span class=\"pre\">'GeoLite2-Country.mmdb'</span></code> par défaut.</p>\n</section>\n<section id=\"geoip-city\">\n<span id=\"std-setting-GEOIP_CITY\"></span><h3><code class=\"docutils literal notranslate\"><span class=\"pre\">GEOIP_CITY</span></code><a class=\"heading-anchor\" href=\"#geoip-city\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Le nom de base à utiliser pour le fichier de données des villes GeoIP. <code class=\"docutils literal notranslate\"><span class=\"pre\">'GeoLite2-City.mmdb'</span></code> par défaut.</p>\n</section>\n</section>\n<section id=\"exceptions\">\n<h2>Exceptions<a class=\"heading-anchor\" href=\"#exceptions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.gis.geoip2.GeoIP2Exception\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">GeoIP2Exception</span></span><a class=\"heading-anchor\" href=\"#django.contrib.gis.geoip2.GeoIP2Exception\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception levée quand une erreur survient dans la classe enveloppeuse <a class=\"reference internal\" href=\"#django.contrib.gis.geoip2.GeoIP2\" title=\"django.contrib.gis.geoip2.GeoIP2\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GeoIP2</span></code></a>. Les exceptions provenant de la bibliothèque sous-jacente <code class=\"docutils literal notranslate\"><span class=\"pre\">geoip2</span></code> ne sont pas interceptées et sont transmises telles quelles.</p>\n</dd></dl>\n\n<p class=\"rubric\">Notes de bas de page</p>\n<aside class=\"footnote-list brackets\">\n<aside class=\"footnote brackets\" id=\"id5\" role=\"doc-footnote\">\n<span class=\"label\"><span class=\"fn-bracket\">[</span><a role=\"doc-backlink\" href=\"#id1\">1</a><span class=\"fn-bracket\">]</span></span>\n<p>GeoIP(R) est une marque déposée de MaxMind, Inc.</p>\n</aside>\n</aside>\n</section>","rootId":"module-django.contrib.gis.geoip2","toc":[{"title":"Exemple","anchor":"example","children":[]},{"title":"Référence de l’API","anchor":"api-reference","children":[]},{"title":"Méthodes","anchor":"methods","children":[{"title":"Instanciation","anchor":"instantiating","children":[]},{"title":"Interrogation","anchor":"querying","children":[]},{"title":"Obtention de coordonnées","anchor":"coordinate-retrieval","children":[]}]},{"title":"Réglages","anchor":"settings","children":[{"title":"GEOIP_PATH","anchor":"geoip-path","children":[]},{"title":"GEOIP_COUNTRY","anchor":"geoip-country","children":[]},{"title":"GEOIP_CITY","anchor":"geoip-city","children":[]}]},{"title":"Exceptions","anchor":"exceptions","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Référence de l’API","url":"/fr/5.1/ref/"},{"docname":"ref/contrib/index","title":"Paquets contrib","url":"/fr/5.1/ref/contrib/"},{"docname":"ref/contrib/gis/index","title":"GeoDjango","url":"/fr/5.1/ref/contrib/gis/"}],"prev":{"docname":"ref/contrib/gis/gdal","title":"API de GDAL","url":"/fr/5.1/ref/contrib/gis/gdal/"},"next":{"docname":"ref/contrib/gis/utils","title":"Utilitaires GeoDjango","url":"/fr/5.1/ref/contrib/gis/utils/"},"formats":{"html":"/fr/5.1/ref/contrib/gis/geoip2/","markdown":"/fr/5.1/ref/contrib/gis/geoip2.md","json":"/fr/5.1/ref/contrib/gis/geoip2.json"},"source":"https://github.com/django/django/blob/stable/5.1.x/docs/ref/contrib/gis/geoip2.txt","official":"https://docs.djangoproject.com/fr/5.1/ref/contrib/gis/geoip2/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}