---
suivi: 1217
date: 2026-08-05
sujet: Prospection mode commune — dépliage parcelles
chantier: foncier / prospection
type: feature
statut: poussé
hash: 54d61e83
fichiers:
    - app/Http/Controllers/Foncier/ProspectionController.php
    - app/Services/Foncier/ParcelleProspectionQuery.php
    - routes/web.php
    - resources/js/Pages/Foncier/Prospection/Index.vue
    - resources/js/Components/Foncier/Prospection/ProspectionParcellesSublist.vue
    - tools/diag/diag_prospection_commune_depliage_1217.php
    - tests/Feature/Foncier/FoncierProspectionSourceTest.php
    - database/data/journal_mises_a_jour_post_2026_06_12.php
    - public/build/
    - docs/suivi/SUIVI_1217_prospection_commune_depliage.md
---

# SUIVI #1217 — Dépliage parcelles (mode commune)

## PROMPT ENVOYÉ

« + » sur chaque commune → sous-liste à la demande, grammaire mode parcelle,
multi-ouvert, filtres + ACL identiques, perf CONSTANT, diag + journal.

Décisions : Q1=A, Q2=A, Q3=A, Q4=A.

## Fiches lues

- #1208 — grille, eager, colonne 1, 7 req commune.
- #1215 — HelpHint État déjà sur Index.vue (rebasé main).
- #1204 — `preference()` jamais `getPreference()`.
- #1199 — agrégats communes avec ≥1 parcelle.

## Mapping route

| Libellé action | Route nommée | Paramètres | Filtres transmis | Service ACL |
|----------------|--------------|------------|------------------|-------------|
| Déplier parcelles commune | `foncier.prospection.communes.parcelles` | `codeInsee` (URL) | `mon_secteur`, `etats[]`, `constructible`, `risque_inondable`, `occupee`, `departement`, `inclure_remplacees` (query) ; `q` ignoré côté dépliage | `ParcelleProspectionQuery::listForCommune` → `Parcelle::query()` (scope #1116) + `applyFilters` |

## Perf

- Liste principale : **aucun** préchargement ; `query_count` pied de page inchangé.
- Dépliage : `listForCommune` — COUNT + SELECT(+withCount) + commune + proprietaires +
  responsables → **~5, CONSTANT** (3 vs 100). Plafond **200**.
- Stub local Cursor sans `parcelle_occupations` → chiffres dépliage à confirmer OVH
  (`diag_prospection_commune_depliage_1217.php`).

## LEÇON

Troisième fois cette semaine : tout consommateur de parcelles doit passer par le scope /
`ParcelleProspectionQuery` (#1204, #1205, #1211). Le dépliage n’est pas une exception.

## DÉPLOIEMENT-TEST

```
git pull origin main
php artisan route:clear
php artisan view:clear
php artisan journal:sync
php tools/diag/diag_prospection_commune_depliage_1217.php
```
