Aller au contenu

Carte interactive

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.

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) │

La carte peut être ajoutée à n’importe quelle page WordPress en utilisant un shortcode ou un bloc Gutenberg.

[irisolaris_map]
[irisolaris_map height="600px" width="100%"]
[irisolaris_map filter_status="En service"]
[irisolaris_map filter_region="Île-de-France"]
AttributPar défautDescription
height500pxHauteur du conteneur de la carte
width100%Largeur du conteneur de la carte
filter_statusPré-filtrer par statut de centrale
filter_powerPré-filtrer par catégorie de puissance
filter_regionPré-filtrer par région

Le bloc irisolaris-map/map est également disponible. Le shortcode est la méthode d’intégration recommandée.

Une fois chargée, la carte affiche les centrales à l’aide de trois couches MapLibre sur une source GeoJSON unique avec le clustering activé :

CoucheTypeFonction
clusterscircleCercles de regroupement (dimensionnés par nombre de points)
cluster-countsymbolÉtiquettes numériques indiquant le nombre de centrales par cluster
unclustered-pointcircleMarqueurs 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.

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.

À 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.

Les paramètres par défaut de la carte sont contrôlés par les options WordPress :

OptionPar défautDescription
irisolaris_map_default_lat46.603354Latitude du centre de la carte
irisolaris_map_default_lng1.888334Longitude du centre de la carte
irisolaris_map_default_zoom5Niveau de zoom par défaut
irisolaris_map_tile_urlOpenStreetMap URLURL du service de tuiles
irisolaris_map_attributionOSM contributorsTexte d’attribution de la carte

Ces valeurs sont transmises au frontend via wp_localize_script.