---
suivi: 1664
date: 2026-09-22
sujet: Assiette — lien vers la fiche parcelle (nouvel onglet)
chantier: Foncier / Faisabilité
type: feature
statut: poussé
hash: 3b21dba7
fichiers:
  - resources/js/Pages/Foncier/Scenarios/Show.vue
  - tests/Unit/LienFicheParcelleAssiette1664SourceTest.php
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - public/build/
  - docs/suivi/SUIVI_1664_lien_fiche_parcelle_assiette.md
---

# SUIVI #1664 — lien fiche parcelle dans l'assiette

## PROMPT ENVOYÉ

Lot d'AFFICHAGE. Tableau assiette du scénario : la référence
cadastrale devient un vrai lien `<a href>` vers la fiche
parcelle, `target="_blank"` `rel="noopener"`. Nouvel onglet
pour ne pas perdre la saisie. Aucun calcul. Rebase origin/main
avant Vite.

## FICHES LUES

- **#1645 LEÇON** — `scenario_parcelle` n'a pas de `deleted_at` ;
  `parcelle_id` en `restrictOnDelete` mais SoftDeletes sur
  `parcelles` : le restrict ne se déclenche jamais. L'assiette
  n'entre dans aucun calcul. Conservé : pas de `withTrashed()`
  (changerait les totaux d'affichage).
- **#1641** — tableau assiette compact, colonne Parcelle =
  `row.reference`. Payload front `parcelle_id: p.id`.
- **#1655** — infobulle d'assiette du dossier : texte simple,
  non modifiée (tooltip qui se ferme au survol).
- **#1633** — fiche = `Parcelles/Show.vue` ; liste =
  `/foncier/prospection?mode=parcelle`.
- **#1649 / #1652** — clic lien ne doit pas marquer dirty ni
  recalculer : `<a>` natif + `@click.stop`, hors watch profond.

Anti-collision : dernier numéro = **#1663**. **#1664 est libre.**

## SYNTHÈSE

### Cellule avant

`Show.vue:2278-2279` — `{{ row.reference || row.label }}`.
Payload `serializeScenario` L680 : `'id' => $p->id` déjà présent.
Front : `parcelle_id: p.id`. Aucun PHP ajouté.

### Route

`GET /foncier/parcelles/{parcelle}` — `foncier.parcelles.show`
(`routes/web.php` L864-866).

### Parcelle supprimée

BelongsToMany respecte SoftDeletes : une parcelle en corbeille
n'apparaît plus dans le tableau. Lien seulement si
`row.parcelle_id`. Pas de `withTrashed` (V1 11 parcelles / 991 m²
inchangé). SQL lecture seule dans le livrable.

### Autres écrans (non modifiés)

Infobulle #1655 ; Offres/Show ; Patrimoine/Index ; labels
promesse. Onglet FONCIER dossier : déjà un `Link`. Synthèse
dossier : déjà `target="_blank"`.

## DÉPLOIEMENT-TEST

```
git pull origin main
php artisan optimize:clear
php artisan view:clear
php artisan journal:sync
```

Pas de migrate. `route:clear` inutile.

## LEÇON

L'`id` était déjà dans le payload d'assiette (#1142 /
serializeScenario) : un lien d'affichage n'exige pas de
nouvelle sérialisation. Ne pas `withTrashed()` « pour
afficher les supprimées » : SoftDeletes les retire déjà
du compteur d'assiette, et les réintroduire changerait
les totaux. Infobulle PrimeVue ≠ lieu pour un lien.
