Vérification d'éligibilité
Vue d’ensemble
Section intitulée « Vue d’ensemble »La vérification d’éligibilité détermine si un utilisateur à une adresse donnée peut participer à l’autoconsommation collective depuis une centrale photovoltaïque à proximité. Les règles sont basées sur :
- Proximité géographique — distance entre l’adresse de l’utilisateur et la centrale
- Densité de population — la classification de densité communale INSEE détermine la distance maximale autorisée
Niveaux de distance basés sur la densité
Section intitulée « Niveaux de distance basés sur la densité »La distance d’éligibilité dépend du champ dens7 de la grille de densité INSEE :
Valeur dens7 | Classification | Distance maximale |
|---|---|---|
| 1 | Très peu dense (rural) | 2 km |
| 2 | Peu dense | 2 km |
| 3 | Densité intermédiaire basse | 10 km |
| 4 | Densité intermédiaire haute | 10 km |
| 5 | Dense | 20 km |
| 6 | Très dense | 20 km |
| 7 | Extrêmement dense (urban) | 20 km |
Flux d’éligibilité
Section intitulée « Flux d’éligibilité »Browser (JS) REST API Density DB │ │ │ ├── User types address ──> BAN API (direct from browser) │ │<── Geocode result (lat, lng, citycode) │ │ │ │ ├── checkEligibility() ────────> │ │ │ │ │ ├── fetch /density/{citycode} ──> │ ───── SELECT ──────────> │ │<── dens7 value ─────────────── response <── density row ── │ │ │ │ ├── findNearbyPlants() │ │ │ (Haversine within 20km) │ │ │ │ │ ├── For each plant: │ │ │ isPlantEligible() │ │ │ ├── dens7 <= 2: max 2km │ │ │ ├── dens7 3-4: max 10km │ │ │ └── dens7 >= 5: max 20km │ │ │ │ │ ├── highlightEligiblePlants() │ │ ├── addUserAddressMarker() │ │ └── updatePlantList(filtered) │ │Étapes détaillées
Section intitulée « Étapes détaillées »-
Géocodage de l’adresse — L’utilisateur saisit une adresse. L’API BAN (Base Adresse Nationale) retourne les coordonnées (
lat,lng) et uncitycodeINSEE. -
Recherche de densité — Le frontend appelle
GET /density/{citycode}pour récupérer la valeurdens7de la commune depuis la table de densité. -
Recherche de centrales à proximité —
findNearbyPlants()utilise la formule de Haversine pour trouver toutes les centrales dans un rayon de 20 km autour des coordonnées de l’utilisateur. -
Éligibilité par centrale —
isPlantEligible()applique le seuil du niveau de densité :- Si
dens7 <= 2→ la centrale doit être à moins de 2 km - Si
dens7vaut 3 ou 4 → la centrale doit être à moins de 10 km - Si
dens7 >= 5→ la centrale doit être à moins de 20 km
- Si
-
Retour visuel — Les centrales éligibles sont mises en surbrillance sur la carte, un marqueur est placé à l’adresse de l’utilisateur, et la liste latérale est filtrée pour n’afficher que les centrales éligibles.
Données de la grille de densité
Section intitulée « Données de la grille de densité »Les données de densité sont stockées dans la table personnalisée {prefix}irisolaris_density, importées depuis les fichiers de classification communale INSEE (voir Import de densité).
Champs clés pour l’éligibilité :
codgeo— Code commune INSEE (clé primaire, correspond aucitycodede l’API BAN)dens7— Classification de densité à 7 niveaux (indexée pour des recherches rapides)libdens7— Libellé de densité lisible
Configuration
Section intitulée « Configuration »| Option | Par défaut | Description |
|---|---|---|
irisolaris_map_max_distance | 2 (km) | Distance maximale d’éligibilité par défaut |
Les règles par niveaux de densité (2/10/20 km) sont définies à la fois dans le JS frontend et dans Plugin.php.