GeoAbri est une application web permettant de localiser rapidement les refuges à proximité en cas de conditions climatiques extrêmes, telles que les tempêtes. Grâce à une interface simple et intuitive, l'utilisateur peut géolocaliser les points d'abri les plus proches de lui en quelques clics.
L'application est déployée sur Render grâce à un conteneur Docker.
git clone https://github.com/ar7dx/GeoAbri.git
cd GeoAbri
mysql -u root -p < db.sql
# composer config -g disable-tls true
composer install --optimize-autoloader
php -S localhost:8000 -t public La carte interactive permet de visualiser des milliers d'équipements sportifs sur toute la France avec des performances optimales.
- Leaflet.js : Bibliothèque JavaScript pour cartes interactives OpenStreetMap
- Leaflet.markercluster : Regroupement automatique des marqueurs proches
- Nominatim API : Géocodage et recherche de lieux
- Wikimedia Commons API : Récupération d'images des équipements
- Échantillonnage Spatial : Division en grille (~5.5 km par cellule) avec une limite de 50 équipements par cellule
- Limite : Maximum 3000 équipements affichés simultanément
- Cache : Mémorisation des 10 dernières requêtes + cache HTTP 60s
- Chunked Loading : Ajout par lots de 200 marqueurs via
requestAnimationFrame - Seuil de déplacement : Rafraîchissement si mouvement > 30% ou zoom ≥ 1 niveau
- Debouncing : 300ms d'attente après arrêt du mouvement
- AbortController : Annulation des requêtes en cours
- Écran de chargement : Blocage des interactions pendant le chargement
- Filtres avancés (catégorie, PMR, état, accès, commune)
- Géolocalisation automatique
- Affichage des zones géographiques des villes
- Autocomplétion de recherche
- Fiches détaillées avec itinéraire et images
Ce module n'est indispensable que si vous cherchez à remplir la base de données avec les données du fichier source data-es-equipement.json.
Si vous recherchez des informations concernant le module "mysql.connector", merci de consulter le fichier mysql_connector.md.
Le fichier .htaccess contient déjà certaines règles qui permettent de changer le point d'entrée. Cela suffit pour le serveur de développement, mais en local il faut quand même modifier un autre fichier où l'on doit spécifier d'autoriser la prise en compte de notre fichier .htaccess.
Pour ce faire, il faut modifier le fichier /etc/apache2/sites-available/000-default.conf :
sudo nano /etc/apache2/sites-available/000-default.confIl faut obtenir une structure comme celle ci-dessous dans le fichier mentionné. Souvent, il suffit de rajouter le bloc Directory :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/
<Directory /var/www/html/>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>Ensuite, entrez ces commandes pour recharger Apache avec la nouvelle configuration :
sudo a2enmod rewrite
sudo systemctl restart apache2

