Géolocaliser les utilisateurs à partir de leur adresse IP avec l’API GeoIp2

Récupération de la base de donnée

Elle se trouve ici, sur le site de MaxMind. Téléchargez dans la colonne MaxMind DB binary, gzipped les fichiers des villes (GeoLite2 City) et des pays (GeoLite2 Country)

Installer l’API GeoIp2 avec Composer

Rendez-vous sur Github pour obtenir toute la documentation. Nous allons utiliser Composer pour installer la bibliothèque. Si vous n’êtes pas familier avec cette méthode, pas de panique, c’est très simple.

1 / D’abord créons notre dossier sur notre disque dur, par exemple geoloc. Copiez les bases de données préalablement téléchargées dans ce dossier.

2/ Ouvrez votre terminal, et localisez votre dossier, par exemple :

cd /Applications/MAMP/htdocs/geoloc/

3/ Téléchargez Composer :

curl -sS https://getcomposer.org/installer | php

4/ Enfin, téléchargez les fichiers de l’API

php composer.phar require geoip2/geoip2:~2.0

A ce stade, notre dossier geoloc contient cela :

Utiliser l’API

1/ Créer un fichier index.php que vous placez à la racine. Veillez à adapter le chemin de votre base de donnée. Vous pouvez choisir d’utiliser l’une ou l’autre (city ou country) :

Ce script retournera tout plein d’information utiles sur votre localisation, par exemple :

IP : XX.XX.XX.XX
isoCode : FR
Pays : France
Ville : Lyon
Code postal : 69004
latitude : 45.7500
longitude : 4.8300

Et voila ! Vous pouvez maintenant rediriger un utilisateur en fonction de son pays, pré-remplir vos formulaires de contact ou afficher un contenu différent en fonction de sa localité…


Si cet article "Géolocaliser les utilisateurs à partir de leur adresse IP avec l’API GeoIp2" vous a aidé, si vous avez des questions ou des améliorations à proposer, n'hésitez pas à me laisser un commentaire en bas de page !
Charlie Stram,
Développeur web freelance

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *