Géolocalisation est une fonctionnalité importante pour un site Web car elle permet aux entreprises en ligne de fournir un contenu ciblé aux utilisateurs potentiels en fonction de leur emplacement géographique. En utilisant les données de géolocalisation, le propriétaire du site Web peut fournir un contenu localisé, tels que les actualités locales, la météo et les événements, et afficher le contenu dans la langue maternelle. Cela peut également aider à prévenir la fraude en permettant aux entreprises de détecter et de bloquer les activités suspectes provenant de certaines régions géographiques. C’est un outil important pour les propriétaires de sites Web et les développeurs pour améliorer l’expérience utilisateur et prévenir la fraude.
La géolocalisation peut être mise en œuvre de différentes manières, telles qu’au niveau du serveur Web, du niveau de la langue de programmation ou par l’utilisation d’un SDK. Dans notre article précédent, nous avons montré comment installer la géolocalisation sur le serveur Apache. Dans cet article, je vais explorer une autre approche en installant la géolocalisation dans le langage PHP en utilisant l’installation PECL. Pour cette démonstration, nous utiliserons IP2Location, le même fournisseur de géolocalisation, afin que vous puissiez comprendre comment fonctionne la géolocalisation dans différents environnements.
Présentation d’IP2Location
IP2Location est une base de données qui contient des informations sur les adresses IP et leurs emplacements associés. La base de données contient une gamme d’informations, notamment le pays, la région, la ville, la latitude, la longitude, le fuseau horaire, le code postal, le code régional, les informations mobiles, le type d’utilisation, et bien d’autres concernant l’adresse IP.
Pour utiliser IP2Location, vous devez obtenir une copie de la base de données et la charger dans votre application. Une fois que la base de données est chargée, vous pouvez l’utiliser pour géolocaliser les adresses IP et récupérer des informations sur leurs emplacements associés.
Note: Différentes versions des bases de données ont une granularité différente des informations de localisation. Vous devez obtenir la bonne version pour votre implémentation.
Aperçu de l’installation PECL
PECL (PHP Extension Community Library) est un dépôt d’extensions PHP qui vous permet d’ajouter des fonctionnalités supplémentaires à votre application PHP. L’extension IP2Location est l’une des extensions disponibles dans PECL, et elle vous permet d’utiliser IP2Location dans votre application PHP.
Pour utiliser l’extension IP2Location, vous devez l’installer sur votre serveur à l’aide de PECL. Une fois que l’extension est installée, vous pouvez l’utiliser dans votre code PHP pour géolocaliser les adresses IP et récupérer des informations sur leurs emplacements associés. Dans ce tutoriel, je suppose que vous avez déjà Apache et PHP installés, et que vous connaissez Debian 11.
Guide étape par étape pour mettre en œuvre la géolocalisation IP en PHP à l’aide de PECL
Étape 1: Installer PECL
La première étape pour mettre en œuvre IP2Location en PHP consiste à installer PECL. Pour installer PECL, vous devez avoir les en-têtes de développement PHP et les outils installés sur votre système. Vous pouvez installer ces éléments en utilisant votre gestionnaire de paquets si vous ne les avez pas déjà configurés. Par exemple, sur Ubuntu ou Debian, vous pouvez exécuter la commande suivante :
sudo apt-get install php-dev php-pear
Étape 2 : Installer la bibliothèque C IP2Location
Vous avez besoin de la bibliothèque C IP2Location pour compiler le module PHP. Pour ce faire, exécutez simplement la commande suivante :
sudo apt-get install git
Cela installera la commande git. Ensuite, exécutez la commande ci-dessous pour cloner le projet github IP2Location :
sudo git clone https://github.com/chrislim2888/IP2Location-C-Library
Ensuite, à l’intérieur du dossier du projet, exécutez la commande suivante :
autoreconf -i -v --force
./configure
make
make install
La commande ci-dessus installera la bibliothèque C IP2Location.
Étape 3 : Installer l’extension IP2Location
Maintenant que vous avez PECL installé, vous pouvez installer l’extension IP2Location. Pour ce faire, exécutez simplement la commande suivante :
sudo pecl install ip2location
Cela téléchargera et installera l’extension IP2Location pour PHP.
Étape 4 : Configurer PHP pour utiliser l’extension IP2Location
Maintenant que vous avez installé l’extension IP2Location, vous devez configurer PHP pour l’utiliser. Pour ce faire, vous devrez ajouter une ligne à votre fichier php.ini
.
Pour trouver votre fichier php.ini
, vous pouvez exécuter la commande suivante :
php -i | grep php.ini
Ceci va produire le chemin vers votre fichier php.ini
. Une fois que vous avez le chemin, vous pouvez ouvrir le fichier dans l’éditeur de texte de votre choix.
Ensuite, ajoutez la ligne suivante à votre fichier php.ini
:
extension=ip2location.so
Cela indiquera à PHP de charger l’extension IP2Location.
Étape 5: Redémarrer Apache
Vous devez redémarrer le serveur Apache pour rafraîchir la liste des modules PHP. Pour ce faire, veuillez exécuter la commande suivante:
sudo service apache2 restart
Ensuite, vous pouvez entrer la commande suivante pour vérifier si le module IP2Location a été installé et chargé avec succès:
php -m | grep ip2location
Vous devriez remarquer IP2Location après avoir exécuté la commande ci-dessus.
Étape 6: Télécharger la base de données IP2Location
Avant de pouvoir utiliser IP2Location pour identifier l’emplacement d’une adresse IP, vous devrez télécharger la base de données IP2Location. Cette base de données contient des informations sur l’emplacement géographique de chaque adresse IP.
Vous pouvez télécharger la base de données gratuite depuis le site Web IP2Location LITE. Il existe plusieurs versions différentes de bases de données disponibles, assurez-vous donc de choisir celle qui convient à vos besoins.
Étape 7: Écrire votre code PHP
Maintenant que vous avez installé l’extension IP2Location et téléchargé la base de données, vous êtes prêt à commencer à utiliser IP2Location dans votre code PHP. Voici un exemple :
// Charger la base de données
ip2location_open('path/to/database.bin');
Une fois que vous avez chargé la base de données, vous pouvez utiliser la classe IP2Location pour identifier l’emplacement d’une adresse IP. Voici un exemple :
// Afficher les informations de localisation
echo 'Country code: ' . ip2location_get_country_short(‘8.8.8.8’) . “\n”';
echo 'Country name: ' . ip2location_get_country_long(‘8.8.8.8’) . “\n”;
Vous verrez le résultat ci-dessous :
Avantages et inconvénients de l’installation de PECL pour la géolocalisation
L’installation de PHP PECL est relativement facile comparativement aux modules Apache, car elle nécessite uniquement l’installation des en-têtes et outils de développement PHP nécessaires. De plus, elle est plus flexible car elle n’est pas liée à un serveur web spécifique, elle peut être utilisée sur n’importe quel support compatible avec PHP.
Cependant, il y a des inconvénients à utiliser cette solution. Pour utiliser PHP PECL, vous devez avoir quelques connaissances en PHP, en commandes Linux et dans les bases du processus de construction de paquet. PHP PECL peut ne pas être aussi performant qu’un module Apache pour les sites web à fort trafic, car il ajoute une couche de traitement supplémentaire à PHP.
Conclusion
Il est important d’évaluer attentivement les avantages et les inconvénients de chaque approche d’implémentation de géolocalisation pour déterminer celui qui convient le mieux à vos besoins spécifiques. Des facteurs tels que vos compétences techniques, la plateforme de serveur et les exigences de performance doivent tous être pris en compte lors de la prise de décision.
Source:
https://dzone.com/articles/implementing-ip-geolocation-in-php-using-the-pecl-install