---
suivi: 1080
date: 2026-07-30
sujet: Module Foncier — saisie rapide parcelle + allègement formulaire
chantier: module-foncier
type: feature
statut: poussé
hash: 80371bf0
fichiers:
  - app/Http/Controllers/Foncier/ParcelleController.php
  - app/Http/Middleware/HandleInertiaRequests.php
  - resources/js/Pages/Foncier/Parcelles/Index.vue
  - resources/js/Pages/Foncier/Parcelles/Form.vue
  - tests/Feature/Foncier/FoncierSaisieRapideParcelleTest.php
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - docs/suivi/SUIVI_1080_foncier_saisie_rapide_parcelle.md
  - public/build/ (Index-Dyt3a4_b.js, Form-BWyVaAtV.js)
---

## PROMPT ENVOYÉ

SUIVI #1080 — saisie inline 4 champs, valeurs serveur (reperee/active/false),
doublon avec lien fiche, Form création allégé / édition complète. Consomme
CommuneSelect #1079. Un commit, push.

## SYNTHÈSE

### Rebase avant build
Confirmé : `git log --oneline -3` montrait #1079 en tête
(`f1c0c3dd` / `9e3fd57a`) avant `npm run build`.

### Audit CommuneSelect #1079
`Index.vue` et `Form.vue` importent `@/Components/Foncier/CommuneSelect.vue`.
Aucune duplication d’implémentation. Pas de champ « Code INSEE » libre.

### Surface cadastrale
**Optionnelle** à la création : le cadastre l’affiche, mais l’exiger bloque
la saisie rapide si le chiffre n’est pas sous les yeux ; complétable en édition.

### CTA prospection
Bouton principal = bascule « + Nouvelle parcelle » / « Masquer la saisie »
(inline). Pas de lien primaire vers le formulaire plein-écran (route create
reste accessible, réduite à 4 champs).

### Mapping création
| Libellé | Posté | Colonne DB | Imposé serveur |
|---------|-------|------------|----------------|
| Section | section_cadastrale | section_cadastrale | — |
| Numéro | numero | numero | — |
| Commune | code_insee_commune | code_insee_commune | — |
| Surface cad. | surface_cadastrale_m2 | surface_cadastrale_m2 | optionnel |
| — | (ignoré si posté) | etat_foncier | reperee |
| — | (ignoré si posté) | statut_cadastral | active |
| — | (ignoré si posté) | risque_inondable | false |

### Closures PHP (ParcelleController)
Aucune closure avec `use (...)`. Arrow fns L221, L230, L563 : variables libres
issues du scope lexical PHP (`$d`, `$q`, `$u` / `$parcelle`) — pas de `use` à auditer.

### Bundles
Index=`assets/Index-Dyt3a4_b.js` · Form=`assets/Form-BWyVaAtV.js`

## DÉPLOIEMENT / TEST
1. `git pull origin main` puis `php artisan view:clear` + `route:clear` + `journal:sync` (pas de migration)
2. Prospection : 3 parcelles à la suite, commune conservée, compteurs à jour
3. Doublon → message + lien fiche, 0 insert
4. POST `etat_foncier=acquise` → SELECT `reperee`
5. Fiche édition : 8 champs D-C persistants

## LEÇON
Deux retours d’usage consécutifs (#1079 puis #1080) montrent que les
formulaires fonciers doivent suivre le rythme du terrain : déclarer d’abord
(repérage cadastre), instruire ensuite (géomètre, PLU, risque). Chaque champ
« pour plus tard » à la création est une friction qui suggère à tort une
donnée manquante et ralentit le chargé de développement.
