---
suivi: 1890
date: 2026-10-14
sujet: Tuile accueil montant et lien selon le droit facture
chantier: accueil
type: evolution
statut: poussé
hash: 8d39363e0
fichiers:
  - app/Support/FactureEtatPublicPresenter.php
  - app/Http/Resources/FactureEtatPublicResource.php
  - app/Services/FactureEtatPublicRechercheService.php
  - app/Http/Controllers/FactureEtatPublicController.php
  - app/Http/Controllers/Admin/RechercheEtatFactureController.php
  - app/Models/RechercheEtatFacture.php
  - database/migrations/2026_10_14_190000_recherches_etat_facture_montants_montres.php
  - resources/js/Components/Dashboard/OuEnEstFactureWidget.vue
  - resources/js/Pages/Admin/RecherchesEtatFacture/Index.vue
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - tests/Unit/FactureEtatPublic1887Test.php
  - public/build/
  - docs/suivi/SUIVI_1890_ou_en_est_facture_confidentialite.md
---

# SUIVI #1890 — montant et lien selon le droit facture

## PROMPT ENVOYÉ

Cinq résultats au plus, les plus récents. Mention « Plus de 5 factures : précisez le numéro », sans le nombre exact. Montant TTC et lien vers la fiche seulement si l’utilisateur peut ouvrir cette facture. Plus de date de paiement prévue. Le journal note si des montants ont été montrés.

## FICHES LUES

- #1887 LEÇON : le statut public ne relit pas Sage. La liste blanche est dans la ressource, pas dans le composant. WHENPAID seul n’est pas un paiement.

Le contrôle repris est `FactureVisibility::userCanViewFacturePage` (`app/Support/FactureVisibility.php`, ligne 68), le même que `FactureController::abortUnlessCanViewFacture` (ligne 699).

## SYNTHÈSE

La constante `FactureEtatPublicRechercheService::LIMITE` vaut 5. La ressource omet `montant_ttc` et `lien` quand la fiche n’est pas consultable : la clé n’est pas envoyée. `date_paiement` ne sort que pour une facture payée, et la tuile n’affiche plus « Prévu le ». Le stade « Payée le … » reste le libellé. La colonne `montants_montres` du journal est vraie si au moins un montant non vide a été renvoyé.

## DÉPLOIEMENT

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

## LEÇON

Le montant ne se masque pas dans la tuile. S’il ne doit pas être vu, la clé est absente du JSON. Le lien suit la même décision, sinon l’identifiant de la fiche fuit par l’adresse.
