Localités statiques

Dernière édition : Avril 2021

Le Script utilise la puissance des APIs de géolocalisation pour automatiquement, d'une adresse (ville ou code postal) saisie par l'utilisateur, en déduire le localisation incluant région, département, ville, code postal et coordonnées GPS.

Cependant, dans certains cas on souhaite autoriser des annonces uniquement sur une liste de villes (localités) prédéfinies. Uniquemenet ces villes seront proposées aussi bien lors de la création d'un annonce ou d'une recherche.

site-locale-formstatic

Pour activer ce mode, allez dans ADMIN > CONFIG > LOCALISATION et choisir l'option statique

admin-locale-static

Barre de recherche : Recherche limitée à la liste prédéfinie

Dans ce mode, la barre de recherche affichera aussi la liste limitée. 2 modes sont possibles :

  • recherche par saisie libre assistée : site-locale-search

  • recherche par étapes : site-locale-search site-locale-search site-locale-search

Gestion dans les formulaires

Pour le formulaire de création d'annonce (ou d'usager), 2 options sont possible pour choisir le ville :

  • Option A : saisie libre assistée de l'adresse : l'utilisateur est assisté lors de la saisie de la ville ou du code postal. site-locale-formautoc

  • Option B : Saisie par étapes en choisissant tour à tour : la région, puis le département, puis la ville.
    site-locale-form3steps

Pour choisir l'option, allez dans ADMIN > CONFIG > LOCALISATION : admin-locale-staticmode

Gestion des localités autorisées

La liste des villes / département et régions autorisées est configurable via ADMIN > CATEGORIES/CHAMPS > Localités Statiques. admin-menu-staticloc

Une interface permet d'entrer des nouvelles villes et code postaux. admin-statloc-list1

admin-statloc-list1

En cliquant sur geocoder les entrées,

admin-statloc-list1

le Script va automatiquement compléter les champs région, département, ville (réelle) et code postal (réel) en utilisant une API de géolocalisation. L'API utilise simplement la ville (in) et le code postal (in). Les autres champs sont automatiquement complété par les résultats de l'API. Pour qu'une nouvelle entrée soit traitée, il faut que la ville (in) soit non vide et que le champ coordonnées GPS soit vide.

Le nom du service API est indiqué dans le champ encoded. admin-statloc-listgeoloc

Il est configurable ici : admin-loc-apisrc Pour les APIs MapBox et OpenCage, il est nécessaire de saisir une clé secréte que vous fournira cet opérateur aprés inscription chez lui. Pour l'API google map, on urilisera la clé générale renseignée ci-dessous: admin-loc-apisrc

Si la géolocalisation s'est bien passée, les coordonnées GPS sont indiquées. On veut alors vérifier l'emplacement sur une carte en cliquant sur les coordonnées : admin-statloc-latdisplay

Il est bien sur possible de renseigner à la main l'ensemble des champs pour un résultat identique.

Une fois la géolocalisation effectuée, on peut générer le fichier tampon (CACHE) qui sera utilisé par le site principal comme localités autorisées. Cliquez sur mettre à jour le cache : admin-statloc-createjson

Le fichier tampon ([CODE]_cache.json) contenant toutes les villes autorisées ainsi que les détails de localisation. Le CODE du fichier aura le nom du champ renseigné dans sous-code pays admin-locale-subcountrycode

Le fichier contient les détails suivants et est stocké dans le repertoire phpsvr/locations/ admin-locale-staticjson

Il est possible de le modifier avec un éditeur de texte pour plus de rapidité mais en case de rafraichissement via la commande mettre à jour le cache, il sera écrasé par les données de la table.

Vérifications

L'administration des localités, permet de faire des vérifications d'incohérences ou de manque de données sur la liste. admin-locale-staticjson

Par exemple : vérification si les villes saisie (in) sont identiques aux villes trouvées par l'API admin-locale-staticjson

Outil de test des APIs.

Un outil de test des APIs de localisation est disponible à l'adresse {votre domaine}/pages/test-geoloc.php. Il perment, pour une ville ou un code postal donnée de voir les résultats des différentes APIs possible disponibles avec le Script.

admin-locale-staticjson