---
suivi: 1119
date: 2026-07-31
sujet: Foncier — occupation du terrain (bail, préavis, éviction)
chantier: module-foncier
type: feature
statut: poussé
hash: aced16b8
fichiers:
  - database/migrations/2026_07_31_130000_create_parcelle_occupations_table.php
  - app/Models/ParcelleOccupation.php
  - app/Models/Parcelle.php
  - app/Http/Controllers/Foncier/ParcelleOccupationController.php
  - app/Http/Controllers/Foncier/ParcelleController.php
  - app/Services/Foncier/ParcelleProspectionQuery.php
  - app/Services/Foncier/FoncierAlerteEvaluationService.php
  - app/Support/Foncier/Alertes/Types/ParcelleOccupationPreavisType.php
  - app/Support/Foncier/Alertes/FoncierAlerteTypeRegistry.php
  - app/Support/Foncier/FoncierReferentiels.php
  - resources/js/Pages/Foncier/Parcelles/Show.vue
  - resources/js/Pages/Foncier/Parcelles/Index.vue
  - routes/web.php
  - tests/Feature/Foncier/FoncierParcelleOccupationSourceTest.php
  - tests/Feature/Foncier/FoncierParcelleOccupationTest.php
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - public/build/
---

## PROMPT ENVOYÉ

SUIVI #1119 — Occupation parcelle, filtre liste, alerte préavis sur socle #1077.

## SOCLE #1077 — SIGNALÉ

`peutRecevoir` n’acceptait que `DossierFoncier`. Une alerte Parcelle
était silencieuse. Extension minimale : `Parcelle` → `userCanViewReferentiel`
(#1116). Pas de contournement (pas d’alertable dossier fictif).

## CALCUL PRÉAVIS

butoir = date_fin_bail − preavis_mois. Ex. fin 2027-07-31, préavis 18 →
butoir 2026-01-31 → remaining négatif au 2026-07-31 → palier `atteint`.

## DÉPLOIEMENT

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