---
suivi: 1734
date: 2026-09-28
sujet: Valorisation cible d'une parcelle
chantier: module-foncier
type: feature
statut: poussé
hash:
fichiers:
  - database/migrations/2026_09_28_173400_add_valorisation_cible_to_parcelles.php
  - app/Models/Parcelle.php
  - app/Services/Foncier/ParcelleValorisationService.php
  - app/Http/Controllers/Foncier/ParcelleValorisationController.php
  - app/Services/Foncier/ParcelleProspectionQuery.php
  - app/Services/Foncier/ProspectionListeExportService.php
  - app/Http/Controllers/Foncier/ProspectionController.php
  - resources/js/Pages/Foncier/Parcelles/Show.vue
  - resources/js/Pages/Foncier/Prospection/Index.vue
  - routes/web.php
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - tests/Unit/ValorisationCible1734SourceTest.php
  - public/build/manifest.json
  - docs/suivi/SUIVI_1734_valorisation_cible_parcelle.md
---

# SUIVI #1734 — valorisation cible

Une valorisation cible par parcelle, à côté de l’actuelle. Départ `edec276f` (#1733).

## PROMPT ENVOYÉ

Prix cible en euros au mètre carré et explication obligatoire. Carte Valorisations : actuelle et cible, totaux, gain. Même surface que l’actuelle. Liste triable. Export : trois colonnes, en nombres pour les montants. Calculs côté serveur. Droits identiques à la saisie de l’actuelle.

## FICHES LUES

- **#1131** — `parcelle_valorisations` empile des réévaluations. `valeur` est un montant, pas un prix au mètre carré.
- **#1134** — édition et suppression auditées. La cible n’entre pas dans cette table : la courante est la dernière ligne par date.
- **#1698** — `prixAcquisitionReference` ignore les actes de vente. L’écart actuelle / acquisition reste ce calcul, inchangé.

## SYNTHÈSE

Stockage : deux colonnes nullables sur `parcelles` (`valorisation_cible_eur_m2`, `valorisation_cible_explication`). Une ligne « cible » dans `parcelle_valorisations` serait lue comme valorisation courante par la sous-requête de la liste.

La valeur historisée reste le total en euros. Le prix au mètre carré actuel est ce total divisé par `surface_cadastrale_m2` (colonne affichée sur la fiche et dans la liste ; la valorisation actuelle ne multiplie aucune surface). Total cible = prix cible × cette surface. Gain = (cible − actuelle) × surface, absent s’il n’y a pas d’actuelle ou pas de surface.

Saisie : `foncier.gestion` et `foncier.prix`, comme l’ajout d’une valorisation. Prix sans explication : refus. L’historique de la parcelle trace les deux colonnes (le prix est masqué sans le droit prix).

## DÉPLOIEMENT

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

## LEÇON

Ne pas typer une ligne « cible » dans `parcelle_valorisations` : `sousRequeteValorisationRecente` et `synthetiserPourParcelle` prennent la dernière date, sans filtre de méthode. La surface du gain est `surface_cadastrale_m2`, pas `COALESCE(arpentée, cadastrale)` : ce COALESCE ne sert qu’au filtre et au tri Surface.
