Carte interactive
Vue d’ensemble
Section intitulée « Vue d’ensemble »La carte interactive affiche toutes les centrales photovoltaïques actives sur une carte MapLibre GL JS. Les utilisateurs peuvent parcourir les centrales, filtrer par statut/région, rechercher des adresses et vérifier leur éligibilité à l’autoconsommation collective.
Flux d’affichage
Section intitulée « Flux d’affichage »Browser WordPress MapLibre │ │ │ ├── Page load ──────────────────> │ │ │ wp_enqueue_scripts │ │ │ wp_localize_script │ │ │ (geojson_url, map_theme_url, │ │ │ geocode_url, defaults) │ │ │ │ │ ├── fetch(map_theme_url) ────────> REST /data/map-theme │ │<── map-theme.json ────────────── (from assets/json/) │ │ │ │ ├── new maplibregl.Map(theme) ─────────────────────────────────>│ │ │ │ ├── fetch(geojson_url) ──────────> REST /plants │ │ │ ├── check transient cache │ │ │ ├── if miss: query posts │ │ │ ├── build GeoJSON │ │ │ ├── set_transient (7d) │ │ │ └── ETag + Cache-Control │ │<── GeoJSON FeatureCollection ── │ │ │ │ │ ├── addClusteredMarkersToMap() ────────────────────────────────>│ │ (source + 3 layers: │ │ │ clusters, cluster-count, │ │ │ unclustered-point) │ │ │ │ │ ├── updatePlantList() ──────────── (sidebar list rendering) │Intégration de la carte
Section intitulée « Intégration de la carte »La carte peut être ajoutée à n’importe quelle page WordPress en utilisant un shortcode ou un bloc Gutenberg.
Shortcode
Section intitulée « Shortcode »[irisolaris_map][irisolaris_map height="600px" width="100%"][irisolaris_map filter_status="En service"][irisolaris_map filter_region="Île-de-France"]| Attribut | Par défaut | Description |
|---|---|---|
height | 500px | Hauteur du conteneur de la carte |
width | 100% | Largeur du conteneur de la carte |
filter_status | — | Pré-filtrer par statut de centrale |
filter_power | — | Pré-filtrer par catégorie de puissance |
filter_region | — | Pré-filtrer par région |
Bloc Gutenberg
Section intitulée « Bloc Gutenberg »Le bloc irisolaris-map/map est également disponible. Le shortcode est la méthode d’intégration recommandée.
Couches de la carte
Section intitulée « Couches de la carte »Une fois chargée, la carte affiche les centrales à l’aide de trois couches MapLibre sur une source GeoJSON unique avec le clustering activé :
| Couche | Type | Fonction |
|---|---|---|
clusters | circle | Cercles de regroupement (dimensionnés par nombre de points) |
cluster-count | symbol | Étiquettes numériques indiquant le nombre de centrales par cluster |
unclustered-point | circle | Marqueurs individuels des centrales |
Le clustering est géré côté client par MapLibre, réduisant le nombre d’éléments DOM pour les 2 000+ centrales.
Popups des centrales
Section intitulée « Popups des centrales »Un clic sur le marqueur d’une centrale individuelle ouvre un popup affichant :
- Nom de la centrale
- Ville et code postal
- Région
- Puissance de sortie (kW)
- Statut (avec code couleur)
Un clic sur un cluster effectue un zoom avant pour le déployer.
Liste latérale des centrales
Section intitulée « Liste latérale des centrales »À côté de la carte, un panneau latéral liste toutes les centrales visibles avec :
- Nom de la centrale, ville et statut
- Chargement progressif (lazy loading) pour la performance
- Synchronisation du défilement avec la fenêtre de la carte
- Mises à jour en temps réel lors des changements de filtres ou de la vérification d’éligibilité
Les utilisateurs peuvent affiner les centrales affichées selon deux dimensions de filtrage.
La carte supporte le filtrage par :
- Statut — En construction, En service, En développement
- Région — 18 régions françaises
Les filtres mettent à jour simultanément les marqueurs de la carte et la liste latérale en temps réel. Les requêtes GeoJSON filtrées utilisent un cache transient séparé avec un TTL de 1 jour.
Configuration
Section intitulée « Configuration »Les paramètres par défaut de la carte sont contrôlés par les options WordPress :
| Option | Par défaut | Description |
|---|---|---|
irisolaris_map_default_lat | 46.603354 | Latitude du centre de la carte |
irisolaris_map_default_lng | 1.888334 | Longitude du centre de la carte |
irisolaris_map_default_zoom | 5 | Niveau de zoom par défaut |
irisolaris_map_tile_url | OpenStreetMap URL | URL du service de tuiles |
irisolaris_map_attribution | OSM contributors | Texte d’attribution de la carte |
Ces valeurs sont transmises au frontend via wp_localize_script.