---
suivi: 1118
date: 2026-07-31
sujet: Foncier — avenants de promesse (prorogation, révision de prix)
chantier: module-foncier
type: feature
statut: poussé
hash: bc8e0d10
fichiers:
  - database/migrations/2026_07_31_110000_create_promesse_avenants_table.php
  - app/Models/PromesseAvenant.php
  - app/Models/PromesseFonciere.php
  - app/Services/Foncier/PromesseAvenantService.php
  - app/Support/Foncier/Alertes/Types/PromesseExpirationType.php
  - app/Support/Foncier/Alertes/FoncierAlerteTypeRegistry.php
  - app/Support/Foncier/FoncierReferentiels.php
  - app/Support/Foncier/FoncierDocumentProfile.php
  - app/Services/Foncier/FoncierEntityDocumentService.php
  - app/Services/Foncier/FoncierEntityDocumentAccess.php
  - app/Http/Controllers/Foncier/PromesseAvenantController.php
  - app/Http/Controllers/Foncier/PromesseFonciereController.php
  - app/Http/Controllers/Foncier/ActeFoncierController.php
  - app/Http/Controllers/Foncier/DossierFoncierController.php
  - resources/js/Pages/Foncier/Promesses/Show.vue
  - routes/web.php
  - tests/Feature/Foncier/FoncierPromesseAvenantsSourceTest.php
  - tests/Feature/Foncier/FoncierPromesseAvenantsTest.php
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - docs/suivi/SUIVI_1118_foncier_promesse_avenants.md
  - public/build/
---

## PROMPT ENVOYÉ

SUIVI #1118 — Avenants de promesse (empilement, pas d’écrasement). Valeurs
effectives. Alerte expiration sur date effective. Verrou = 403. Prix sensibles.
Documents via #1117.

## AUDIT date_expiration / date_acte_prevue (avant code)

| Lieu | Usage | Action #1118 |
|------|-------|--------------|
| `promesses` colonnes | Origine | Conservées |
| `PromesseFonciereController::serialize*` | Affichage | + effectives |
| `DossierFoncierController` liste | Expiration | Lit effective |
| `ActeFoncierController` écart | Comparaison | Lit effective |
| `PromesseFonciereService` | Aucun (pas de caduc auto) | Inchangé |
| Alertes | Pas de type promesse | Créé `promesse_expiration` sur effective |
| CS (#1090) | `date_butoir` CS | Hors scope |

## SYNTHÈSE

Table `promesse_avenants` empilée. Effectives = dernier avenant non null sinon
origine. Alerte `promesse_expiration` (registre #1077). Caps docs avenant = 5.
Verrou → 403 création avenant. Prix avenant filtrés sans `foncier.prix`.

## LEÇON

Ne jamais recopier un avenant dans la promesse : l’origine est la preuve ; les
alertes et écarts doivent lire l’effectif dérivé.

## DÉPLOIEMENT / TEST

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