---
suivi: 1079
date: 2026-07-30
sujet: Module Foncier — reprise formulaire propriétaire + sélecteur commune
chantier: module-foncier
type: feature
statut: poussé
hash: 9e3fd57a
fichiers:
  - database/migrations/2026_07_30_190000_add_communes_search_indexes.php
  - app/Services/Foncier/CommuneSearchService.php
  - app/Http/Controllers/Foncier/CommuneSearchController.php
  - resources/js/Components/Foncier/CommuneSelect.vue
  - resources/js/Pages/Foncier/Proprietaires/Form.vue
  - resources/js/Pages/Foncier/Parcelles/Form.vue
  - resources/js/Pages/Foncier/Dossiers/Form.vue
  - tests/Feature/Foncier/FoncierFormProprietaireCommunesTest.php
  - docs/suivi/SUIVI_1079_foncier_form_proprietaire_communes.md
---

## PROMPT ENVOYÉ

SUIVI #1079 — reprise formulaire propriétaire (D-A…D-E) + recherche commune
locale (pas d'API externe) + composant réutilisable. Un commit, push.

## SYNTHÈSE

### Parcelle AVANT modification
`Parcelles/Form.vue` : champ libre « Code INSEE commune » (InputText maxlength=5).
Remplacé par `CommuneSelect` (nom / CP → code_insee posté).

### Champ technique D-E
Identifié : `rgpd_canal` (valeur `prospection_fonciere`). Était un InputText
éditable en bas du formulaire. Désormais fixé côté serveur à la création
(`FoncierReferentiels::RGPD_CANAL_PROSPECTION`), jamais posté ni affiché.

### Index recherche
- `nom_ascii` + index préfixe (accents : Beziers → Béziers)
- `code_postal` index (recherche CP)
Justification : 34 900 lignes ; LIKE préfixe sur colonnes indexées.

### Mapping type propriétaire
| Libellé UI | Valeur | Colonne | Affichage identité |
|------------|--------|---------|-------------------|
| Personne physique | physique | type | Nom, Prénom |
| Personne morale / SCI / … | morale, sci… | type | Raison sociale, SIRET |
| Indivision | indivision | type | Nom (+ RS optionnelle) |

### Mapping sélecteur commune
| Libellé affiché | Valeur postée | Colonne DB |
|-----------------|---------------|------------|
| Nom (CP) — dép. XX | code_insee | code_insee_commune / PK communes |

## DÉPLOIEMENT / TEST
1. git pull && migrate --force && view:clear && route:clear && journal:sync
2. Créer propriétaire : chargé = soi, pas de RGPD / canal / INSEE
3. Parcelle : chercher « Clapiers » ou « 34830 »
4. Changer type physique→SCI : prénom encore en base

## LEÇON
Le premier retour d'usage montre que la friction de saisie (code INSEE, RGPD
inadapté, champs hors type, défaut « soi ») bloque plus vite qu'un manque de
fonctionnalité : le prospecteur entre deux RDV abandonne le formulaire.
