---
suivi: 1922
date: 2026-10-15
sujet: Filtre Statut unique de la liste des parcelles
chantier: module-foncier
type: evolution
statut: poussé
hash: 35feb6e5e
fichiers:
  - app/Support/Foncier/FoncierReferentiels.php
  - app/Services/Foncier/ParcelleProspectionQuery.php
  - app/Services/Foncier/ParcelleDetentionGroupeService.php
  - app/Http/Controllers/Foncier/ProspectionController.php
  - app/Http/Controllers/Foncier/ParcelleController.php
  - routes/web.php
  - resources/js/Pages/Foncier/Prospection/Index.vue
  - resources/js/Components/Foncier/Prospection/ListeEntonnoir.vue
  - resources/js/Components/Foncier/ApercuParcelleDialog.vue
  - resources/js/Components/Foncier/ParcelleMap.vue
  - resources/js/Pages/Foncier/Parcelles/Show.vue
  - resources/js/visites/index.js
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - tests/Unit/ParcelleFiltreStatut1922Test.php
  - public/build/manifest.json
  - docs/suivi/SUIVI_1922_filtre_statut_parcelles.md
---

# SUIVI #1922 — filtre Statut unique

## PROMPT ENVOYÉ

Un seul endroit pour les statuts de la liste des parcelles. Retirer les cases « Afficher les parcelles remplacées » et « Afficher les parcelles vendues ». Le défaut exclut Vendue, Remplacée, Sans issue et Explorée, défini une seule fois. Traduire les anciennes URL. Déplacer Périmètre dans + Filtre. KPI, groupes, facettes, export et carte suivent la même sélection. Œil à côté de la référence : carte de la parcelle. Visite incrémentée.

## Fiches lues

- #1899 : le filtre des vendues doit vivre dans applyFilters, sinon l'export et les facettes l'ignorent. L'ancienne case décochée excluait le statut Vendue. Le compteur de facette tombait à 0 parce que le préfiltre passait avant.
- #1562 : le total de surface exclut déjà les parcelles remplacées au cadastre. Le préfiltre cadastral actif ne doit pas être recopié ailleurs.
- #1876 : l'entonnoir poste etats[]. poserListe reçoit la référence.
- #1569 : le statut est calculé. Le filtre de liste est une condition SQL.
- #1917 : la carte utilise la même requête filtrée que la liste. Le lien Patrimoine ne porte pas de sélection de statuts : les parcelles détenues sont dans le défaut.
- #1918 : récupérer le contour exige le droit de modifier. L'import existant renvoie vers la fiche.
- #1921 : le message après une vente déclarée ne doit plus citer la case d'Options.

## SYNTHÈSE

Une seule définition du défaut : FoncierReferentiels::statutsListeParDefaut(), tous les statuts sauf Vendue, Remplacée, Sans issue, Explorée. Absence du paramètre etats : ce défaut. Présence : la liste postée. La facette Statut retire la clé pour compter chaque statut, y compris ceux décochés. Les autres surfaces la gardent.

Remplacée suit le cadastre (statut_cadastral), pas seulement le statut calculé. Sans Remplacée, la requête exige une parcelle active au cadastre. Avec Remplacée, elle inclut les parcelles remplacées au cadastre.

Le menu Options est retiré : il ne restait plus rien d'affichage. Périmètre (Tous / Groupe / Hors groupe) est dans + Filtre. Colonnes et export restent. Le lien Patrimoine « Voir sur la carte » n'ajoute pas de statuts.

L'œil charge GET /foncier/parcelles/{id}/apercu (droit de voir). Le contour n'est pas dans chaque ligne de la liste. « Récupérer le contour » poste la route d'import déjà en place, si l'utilisateur peut modifier.

| Affiché | URL | Condition | Pastille |
| --- | --- | --- | --- |
| Défaut : tout sauf Vendue, Remplacée, Sans issue, Explorée | pas de etats | statuts du défaut ; Remplacée absente donc parcelle active au cadastre | non |
| Tout cocher | etats = tous les statuts | tous les statuts ; Remplacée via le cadastre | oui |
| Effacer ou Rétablir | paramètre retiré | retour au défaut | non |
| Vendue cochée en plus du défaut | etats explicite | défaut + Vendue | oui |
| Ancienne URL sans etats, inclure_vendues=1 | traduit : tous sauf Remplacée | population d'alors | oui |
| Ancienne URL sans etats, inclure_remplacees=1 | traduit : tous sauf Vendue | population d'alors | oui |
| Les deux anciennes cases | traduit : tous les statuts | population d'alors | oui |
| etats déjà présent et case ancienne à 0 | le statut correspondant est retiré de la liste postée | intersection | selon écart au défaut |

Les formules des KPI ne changent pas. Seule la population filtrée change. Le total de surface continue d'exclure les remplacées au cadastre.

## DÉPLOIEMENT-TEST

git pull origin main
php artisan optimize:clear
php artisan view:clear
php artisan route:clear
php artisan journal:sync

Pas de migration.

1. Arrivée sur la liste : Vendue, Remplacée, Sans issue, Explorée décochées, pas de pastille.
2. Cocher Vendue : les vendues apparaissent, les chiffres et la carte suivent. Rétablir revient au défaut.
3. Ancienne adresse inclure_vendues=1 : Vendue cochée.
4. Plus de cases dans Options. Périmètre est dans + Filtre.
5. Œil : fenêtre avec contour. Sans contour : message, et récupération si le droit de modifier est là.
6. Export : même population que la liste.

## LEÇON

Le défaut et la traduction des anciennes adresses ne sont pas la même liste. Une adresse nue applique le nouveau défaut. Une adresse qui porte encore les anciennes cases reconstitue l'ancienne population, y compris Sans issue et Explorée. La facette Statut ne doit pas appliquer sa propre sélection, sinon un statut décoché affiche un compteur à zéro.
