Configuration de la recherche d'adresse postale

Paheko permet depuis la version 1.3.7 de rechercher une adresse dans la base de données BANO de OpenStreetMap.

Cette recherche n'utilise aucun service externe, permettant de préserver la confidentialité des adresses postales de vos membres.

Pour utiliser cette fonctionnalité il est nécessaire de télécharger, ou créer une base de données des adresses postales, et de la placer dans un répertoire.

Limitations

  • Ne fonctionne qu'avec les adresses de France à ce stade.
  • Une base de données locale est requise. Cette base fait environ 360 Mo.
  • La recherche ne se fait que sur des mots complets : rue du havr ne donnera aucun résultat
  • Ne fonctionne que sur le champ "adresse postale"
  • Ne fonctionne que si les champs "ville", "code postal" et "pays" sont présents dans la fiche de membre

Pré-requis

Commencer par créer un répertoire data/local_addresses dans l'installation de Paheko. C'est ici que seront placées les bases de données.

Méthode 1 : télécharger la base de données

Paheko.cloud fournit la base de données des adresses locales, par simplicité pour les associations auto-hébergées.

La base de données des adresses locales peut être téléchargée ici : https://paheko.cloud/addresses/fr.sqlite

Elle devrait normalement être mise à jours tous les mois.

Méthode 2 : création de la base de données

Alternativement, cette méthode permet de créer le fichier fr.sqlite manuellement.

Vous aurez besoin d'au moins 5 Go d'espace disque, ainsi que d'avoir installé wget et php en ligne de commande (Debian/Ubuntu : sudo apt install wget php-cli php-sqlite3).

  1. Télécharger le script build_address_database_fr.php
  2. Exécuter ce script : php build_address_database_fr.php, il va télécharger le fichier CSV contenant toutes les adresses postales de France, puis va construire la base de données SQLite (environ 360 Mo), sous le nom fr.sqlite.

Configuration finale

  1. Recopier le fichier fr.sqlite dans le répertoire créé au début
  2. Éditer le fichier config.local.php et y ajouter la ligne suivante :
const LOCAL_ADDRESSES_ROOT = __DIR__ . '/data/local_addresses';

Vérifier désormais qu'en tapant une adresse dans le champ "Adresse postale" quand on ajoute un membre, des suggestions apparaissent bien.