---
suivi: 1149
date: 2026-08-03
sujet: Import zonages Pinel / social depuis matrice FI (INSEE)
chantier: module-foncier
type: feature
statut: poussé
hash: c77a3d03
fichiers:
  - app/Services/Foncier/CommunesZonageImportService.php
  - app/Http/Controllers/Admin/ReferentielCommunesController.php
  - resources/js/Pages/Admin/ReferentielCommunes.vue
  - tests/Feature/Admin/ReferentielCommunesZonageImportTest.php
  - docs/suivi/SUIVI_1148_diag_zonages.md
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - public/build/
---

## PROMPT ENVOYÉ

SUIVI #1149 — import zonages Pinel/social depuis exports matrice FI (INSEE).
Corriger diagnostic #1148 (INSEE présents). Abandon match par nom. Rapports
persistants. data.gouv = source primaire Pinel.

## FICHES LUES (consultation-suivi)

- #1122 — socle service INSEE-only, UI Admin, data.gouv ; réutilisé / étendu
- #1148 — diagnostic erroné « sans INSEE » → bloc CORRECTION ajouté (historique conservé)

## CHANGEMENTS

- Colonnes matrice / exports Robin : `code_insee`, `libelle_source`, `zonage` +
  en-têtes Excel d’origine (CODGEO, Code Géographique, Zonage A/B/C, Zonage I/II/III)
- INSEE toujours en chaîne 5 car. (padding zéro de tête, jamais cast int)
- Social stocké `1`/`2`/`3` (fichier `01`/`02`/`03` ou I/II/III) — aligné #1122
- Rapport : lignes lues, appariés écrits, introuvables (code+libellé), valeurs
  non reconnues, divergences Pinel ; persisté en session (consultable après reload)
- Matrice Pinel n’écrase pas une valeur data.gouv déjà présente si différente
- Boutons Admin : Matrice Pinel / Matrice social / fichier libre / data.gouv

## MAPPING SOCIAL

| Fichier | Stocké | Affiché |
|---------|--------|---------|
| 01 / 1 / I | 1 | Social 1 |
| 02 / 2 / II | 2 | Social 2 |
| 03 / 3 / III | 3 | Social 3 |

## LEÇON

- Ne jamais conclure sur la structure d’un fichier source sans l’ouvrir (#1148).
- Absence dans un extrait régional ≠ zone C / III : laisser NULL.
- Catch qui renvoie des zéros (#1043) : le rapport d’import ne doit pas être avalé.
