# Connecteur Cerema - Portail national de l'artificialisation

Ce prototype branche le bloc **Consommation foncière** sur les données de consommation d'espaces naturels, agricoles et forestiers (ENAF) produites par le Cerema pour le Portail national de l'artificialisation.

## Sources prévues

1. **data.gouv.fr / ecologie.data.gouv.fr**
   - Dataset : `consommation-despaces-naturels-agricoles-et-forestiers`
   - Niveau : commune, EPCI, département, région selon les ressources disponibles
   - Mode recommandé en production : téléchargement + filtrage sur le périmètre AULA + cache CSV local

2. **Couche ArcGIS REST optionnelle**
   - Source déclarée : Cerema / Esri France
   - Usage : interrogation ponctuelle par commune ou par EPCI si le cache CSV n'existe pas encore
   - Champs utilisés : `idcom`, `idcomtxt`, `epci24`, `epci24txt`, `flux_secteur`, `flux_periode`, `flux_artificialisation`

## Endpoints ajoutés

```text
GET  /api/external/artificialisation/metadata
GET  /api/external/artificialisation/status
GET  /api/external/artificialisation/consumption?territoire=62001&niveau=commune
GET  /api/external/artificialisation/consumption?territoire=62001&niveau=commune&live=true
GET  /api/indicators?territoire=62001&niveau=commune&conso_live=true
POST /api/external/artificialisation/refresh?level=commune&force=true
POST /api/external/artificialisation/refresh?level=epci&force=true
```

## Commandes de cache

Rafraîchir le référentiel communes/EPCI AULA :

```powershell
.\.venv\Scripts\python.exe scripts/refresh_external_cache.py --source geo --force
```

Rafraîchir le cache Cerema au niveau EPCI :

```powershell
.\.venv\Scripts\python.exe scripts/refresh_external_cache.py --source artificialisation --level epci --force
```

Rafraîchir le cache Cerema au niveau commune :

```powershell
.\.venv\Scripts\python.exe scripts/refresh_external_cache.py --source artificialisation --level commune --force
```

Le niveau commune peut télécharger un fichier national volumineux. Pour les premiers tests, commencer par `level=epci` ou utiliser l'appel live sur une commune.

## Logique d'affichage

L'application suit cet ordre :

1. lecture du CSV Cerema filtré dans `data/cache/artificialisation_<niveau>_aula.csv` ;
2. lecture du cache JSON d'un appel live déjà effectué ;
3. si `live=true`, interrogation de la couche FeatureServer ;
4. sinon, maintien d'une série de démonstration avec message explicite `cache Cerema absent`.

## Points d'attention métier

- La consommation ENAF n'est pas l'emprise bâtie de la carte bâtimentaire.
- La source doit être affichée avec son millésime, sa période et sa méthode.
- La donnée communale/EPCI officielle doit être privilégiée pour les bilans de consommation.
- Les croisements spatiaux fins restent à faire côté PostGIS AULA si l'on veut croiser bâtiment, zonage ou contraintes.
