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 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 !