---
suivi: 1882
date: 2026-10-14
sujet: Agence, département et chambres des fiches prospects
chantier: monprojet
type: evolution
statut: poussé
hash: db8fa8a26
fichiers:
  - config/monprojet_agences.php
  - app/Support/Monprojet/MonprojetAgences.php
  - app/Support/Monprojet/MonprojetAffichage.php
  - app/Support/Monprojet/MonprojetVocabulaire.php
  - app/Services/Monprojet/MonprojetEnveloppeControle.php
  - app/Http/Controllers/MonprojetFicheController.php
  - app/Models/MonprojetFiche.php
  - database/migrations/2026_10_14_181000_monprojet_fiches_agence_departement.php
  - resources/js/Pages/Monprojet/Index.vue
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - tests/Unit/MonprojetAgences1882Test.php
  - public/build/
  - docs/suivi/SUIVI_1882_monprojet_agences.md
---

# SUIVI #1882 — agence, département et chambres des fiches prospects

## PROMPT ENVOYÉ

Le site ajoute au contrat v2 (signature inchangée) departement, agence_attribuee, agences_alertees, parmi_chambres. Hectarion les stocke, les affiche sur la fiche et filtre la liste par agence. Les anciennes fiches restent « Non attribuée ». Une valeur inconnue ne rejette pas la fiche.

## FICHES LUES

- #1864 LEÇON : une valeur fermée inconnue s’affiche « Autre : … » et la fiche est créée. La v1 reste lisible.
- #1873 LEÇON : un champ facultatif illisible est ignoré, jamais mis en quarantaine. Les listes du parcours vont dans details.
- #1879 (annexes) : parmi_chambres est une liste à part. Le code chambres reste le total. La phrase du site est « , dont une suite parentale ».
- #1886 (annexes, commit 9613328) : table des adresses d’agence. Montpellier et Nîmes produisent deux alertes, la réponse va vers montpellier@.

La signature, la quarantaine, le retraitement et la relève ne sont pas modifiés. pieces_en_plus n’est pas réinterprété sur les fiches déjà lues.

## MAPPING

| clé du contrat | colonne / JSON | libellé affiché | valeur du filtre |
|---|---|---|---|
| departement | colonne departement | à côté de la commune, ex. Vendargues (34327) — 34 | — |
| agence_attribuee.adresse | colonne agence_adresse (index mp_fiches_agence_idx) | Agence attribuée : Agence Montpellier (montpellier@hectare.fr) | l’adresse, ex. montpellier@hectare.fr |
| agence_attribuee.libelle | colonne agence_libelle | le nom reçu, sinon le libellé de la configuration | — |
| agences_alertees | details.agences_alertees | Agences alertées : Agence Montpellier (montpellier@hectare.fr), … | — |
| parmi_chambres | details.parmi_chambres | intégré à Chambres : Deux chambres, dont une suite parentale | — |
| (absente) | agence_adresse nulle | liste : Non attribuée ; la fiche omet les lignes d’agence | non_attribuee |

Filtre Agence : montpellier@hectare.fr Agence Montpellier, nimes@hectare.fr Agence Nîmes, cabries@hectare.fr Agence Marseille, perpignan@hectare.fr Agence Perpignan, labege@hectare.fr Agence Labège, carcassonne@hectare.fr Agence Carcassonne, narbonne@hectare.fr Agence Narbonne, non_attribuee Non attribuée.

## SYNTHÈSE

Colonnes indexées pour l’agence attribuée parce que la liste filtre dessus. Le département est une colonne courte affichée à côté de la commune. Les listes (alertes, parmi ces chambres) restent dans details, comme les autres champs du parcours.

Une adresse d’agence inconnue mais valide est stockée et affichée avec le libellé reçu, ou « Autre : … » si le libellé manque. Un département illisible court est affiché « Autre : … » sans colonne. Un code de chambre inconnu reste sur la ligne Chambres (« Autre : … »). Rien de cela ne rejette la fiche.

## DÉPLOIEMENT-TEST

git pull origin main
php artisan migrate --force
php artisan optimize:clear
php artisan view:clear
php artisan journal:sync

Tests : MonprojetAgences1882Test, MonprojetContratV2Test, MonprojetSignatureTest. Écran non vérifié dans le navigateur (connexion Microsoft).

## LEÇON

Le filtre d’agence est la liste fermée du site plus « Non attribuée ». Une adresse hors liste ne devient pas une option de filtre : elle s’affiche telle quelle. parmi_chambres ne déplace pas les pièces en plus déjà enregistrées.
