Modèle de données
Le plugin Irisolaris Map stocke ses données en combinant des structures natives WordPress (types de contenu personnalisés, taxonomies, options, transients) et deux tables de base de données personnalisées. Cette page catalogue chaque structure de données utilisée par le plugin.
Types de contenu personnalisés
Section intitulée « Types de contenu personnalisés »| CPT | Slug | Public | REST | Archive | Icône de menu | Supports |
|---|---|---|---|---|---|---|
irisolaris_plant | centrale-pv | Oui | Oui | Oui | dashicons-admin-site | title, editor, thumbnail, custom-fields |
irisolaris_lead | demande-eligibilite | Non | Oui | Non | (sous le menu centrales) | title, custom-fields |
Compteurs en production : 2k+ centrales, 0 leads, 23 pages, 5 articles.
Taxonomies
Section intitulée « Taxonomies »Les centrales sont classifiées au moyen de deux taxonomies hiérarchiques pour le statut et la région géographique.
| Taxonomie | Slug | Types de contenu | Hiérarchique | Colonne admin |
|---|---|---|---|---|
irisolaris_status | statut-centrale | irisolaris_plant | Oui | Oui |
irisolaris_region | region-centrale | irisolaris_plant | Oui | Oui |
Termes de taxonomie par défaut
Section intitulée « Termes de taxonomie par défaut »Statut (irisolaris_status) :
- En construction
- En service
- En développement
Région (irisolaris_region) :
18 régions françaises (13 métropolitaines + 5 territoires d’outre-mer)
Clés meta des contenus
Section intitulée « Clés meta des contenus »Chaque type de contenu personnalisé possède un ensemble de clés meta qui stockent ses données métier. Les meta des centrales sont réparties entre les champs exposés publiquement et les champs sensibles réservés à un usage côté serveur.
Meta des centrales (17 clés)
Section intitulée « Meta des centrales (17 clés) »| Clé meta | Type | Description |
|---|---|---|
_irisolaris_plant_name | text | Nom de la centrale |
_irisolaris_plant_lat | float | Latitude |
_irisolaris_plant_lng | float | Longitude |
_irisolaris_plant_address | text | Adresse postale |
_irisolaris_plant_city | text | Ville |
_irisolaris_plant_postcode | text | Code postal |
_irisolaris_plant_region | text | Région |
_irisolaris_plant_power | text | Puissance (kW) |
_irisolaris_plant_status | text | Statut de la centrale |
_irisolaris_plant_active | checkbox (1/0) | Indicateur de visibilité |
_irisolaris_plant_work_id | text | Identifiant chantier unique (clé d’import) |
_irisolaris_plant_project_name | text | Nom du projet |
_irisolaris_plant_spv | text | SPV (Special Purpose Vehicle) |
_irisolaris_plant_department | text | Département |
_irisolaris_plant_perimeter | text | Périmètre (km) |
_irisolaris_plant_tariff | text | Tarif |
_irisolaris_plant_prm | text | PRM (référence compteur) |
Meta des leads (11 clés)
Section intitulée « Meta des leads (11 clés) »| Clé meta | Type | Description |
|---|---|---|
_irisolaris_lead_name | text | Nom de la personne |
_irisolaris_lead_email | text | |
_irisolaris_lead_phone | text | Téléphone |
_irisolaris_lead_address | text | Adresse |
_irisolaris_lead_lat | float | Latitude |
_irisolaris_lead_lng | float | Longitude |
_irisolaris_lead_city | text | Ville |
_irisolaris_lead_postcode | text | Code postal |
_irisolaris_lead_eligible | checkbox (1/0) | Résultat d’éligibilité |
_irisolaris_lead_date | datetime | Date de création |
_irisolaris_lead_expiration | date | Date d’expiration RGPD |
Options WordPress
Section intitulée « Options WordPress »Le plugin enregistre 10 options pour contrôler l’affichage de la carte, les seuils d’éligibilité et le comportement du système. Toutes sont configurables via la page de paramètres d’administration.
| Option | Valeur par défaut | Description |
|---|---|---|
irisolaris_map_max_distance | 2 (km) | Distance maximale d’éligibilité |
irisolaris_map_lead_expiration | 180 (jours) | Durée de conservation des leads (RGPD) |
irisolaris_map_default_lat | 46.603354 | Latitude du centre de la carte (centre de la France) |
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 | URL OpenStreetMap | URL du service de tuiles |
irisolaris_map_attribution | OSM contributors | Texte d’attribution de la carte |
irisolaris_map_notification_email | admin_email | E-mail de notification d’éligibilité |
irisolaris_plants_cache_version | 1 | Compteur de version du cache (auto-incrémenté) |
irisolaris_map_remove_data_on_uninstall | false | Supprimer les données de densité à la désinstallation |
Valeurs en production : La plupart des options utilisent les valeurs par défaut du code. La version du cache est auto-incrémentée (chaque sauvegarde/suppression de centrale l’incrémente). La durée de conservation des leads est fixée à 180 jours.
Patterns de cache par transients
Section intitulée « Patterns de cache par transients »Au-delà des options ci-dessus, le plugin fait un usage intensif des transients WordPress pour mettre en cache les opérations coûteuses et suivre les processus d’import de longue durée.
| Pattern | TTL | Rôle |
|---|---|---|
irisolaris_plants_geojson_{md5} | 7 jours (complet), 1 jour (filtré) | Cache des données GeoJSON des centrales |
irisolaris_import_{id} | 1 heure | État du lot d’import de centrales |
irisolaris_import_finalize_{id} | 1 heure | État de finalisation de l’import |
irisolaris_removal_{id} | 1 heure | État du lot de suppression en masse |
irisolaris_density_import_{id} | 1 heure | État du lot d’import de densité |
irisolaris_density_finalize_{id} | 1 heure | État de finalisation de la densité |
Tables de base de données personnalisées
Section intitulée « Tables de base de données personnalisées »En complément des tables WordPress standard, le plugin crée deux tables personnalisées pour les données qui ne s’intègrent pas bien dans le modèle post/meta.
{prefix}irisolaris_import_logs
Section intitulée « {prefix}irisolaris_import_logs »Stocke l’historique des opérations d’import.
| Colonne | Type | Description |
|---|---|---|
id | mediumint(9) AUTO_INCREMENT | Clé primaire |
import_date | datetime | Date d’exécution de l’import |
import_type | varchar(50) | Type d’import |
file_name | varchar(255) | Nom du fichier original |
items_count | int(11) | Nombre total d’éléments |
success_count | int(11) | Imports réussis |
error_count | int(11) | Imports échoués |
errors | longtext | Détails des erreurs (sérialisés) |
user_id | bigint(20) | ID utilisateur WordPress |
{prefix}irisolaris_density
Section intitulée « {prefix}irisolaris_density »Stocke les données de classification de densité des communes INSEE.
| Colonne | Type | Description |
|---|---|---|
codgeo | varchar(10) PK | Code commune INSEE |
libgeo | varchar(255) | Nom de la commune |
dens | decimal(10,2) | Densité de population |
libdens | varchar(255) | Libellé de la catégorie de densité |
pmun22 | decimal(10,2) | Population municipale 2022 |
p1 | decimal(10,2) | Indicateur de population p1 |
p2 | decimal(10,2) | Indicateur de population p2 |
p3 | decimal(10,2) | Indicateur de population p3 |
dens_aav | decimal(10,2) | Densité AAV |
libdens_aav | varchar(255) | Libellé de densité AAV |
dens7 | decimal(10,2) INDEXED | Classification de densité à 7 niveaux |
libdens7 | varchar(255) | Libellé de densité à 7 niveaux |
La colonne dens7 est le champ principal utilisé pour le calcul des seuils de distance d’éligibilité.
Capacités de rôle
Section intitulée « Capacités de rôle »Enfin, le plugin étend le système de rôles natif de WordPress plutôt que de créer des rôles personnalisés. Les capacités sont ajoutées aux rôles existants lors de l’activation du plugin.
Administrateur — CRUD complet sur irisolaris_plant et irisolaris_lead (11 capacités chacun) :
edit_irisolaris_plants,edit_others_irisolaris_plants,publish_irisolaris_plants,read_private_irisolaris_plants,delete_irisolaris_plants,delete_others_irisolaris_plants,delete_published_irisolaris_plants,delete_private_irisolaris_plants,edit_published_irisolaris_plants,edit_private_irisolaris_plants,read_irisolaris_plants- Même pattern pour
irisolaris_leads
Éditeur — Lecture/édition de irisolaris_plant (6 capacités), lecture seule de irisolaris_lead (2 capacités).