---
suivi: 1317
date: 2026-08-13
sujet: marche_resume_presentation
chantier: marches_compta
type: presentation
statut: poussé
hash: c6a95101
fichiers:
  - resources/js/Pages/Marches/Show.vue
  - resources/js/Components/Marches/MarcheResumeWidgets.vue
  - resources/js/Components/ObjectSubNavBar.vue
  - database/data/journal_mises_a_jour_post_2026_06_12.php
  - public/build/
  - docs/suivi/SUIVI_1317_resume_presentation.md
---

## PROMPT ENVOYÉ

Présentation onglet RÉSUMÉ : barre blanche pleine largeur (corriger chevauchement
sticky -mt-8), ligne identité, 4 indicateurs = Synthèse, bandeau alertes #1312,
grille infos + dates groupées, type masqué si forfait, retenues à date (CIE),
compteurs nav. HEAD attendu 0114e77e (#1316). Aucun calcul.

## SYNTHÈSE

### Fiches lues
- `#1316` LEÇON : sticky local + ObjectSubNavBar plutôt qu’AppShell ; trailing hors overflow.
  **AppShell non modifié.**
- `#1315` : défaut RÉSUMÉ, PATCH unique, dates NULL, confirmation — **non défait**.
- `#1314` / `#1313` / `#1312` : triangle Documents, KPI flag false, libellés alertes tels quels.

### Barre (chevauchement)
`-mx-8 -mt-8` conservé pour coller la barre sous la nav programme (breakout du `p-8` AppShell).
Le `-mt-8` réduit la hauteur dans le flux : `pt-10` sur le bloc suivant restitue cet espace
pour que badge + référence + rubrique restent entièrement visibles (pas d’`overflow-x-hidden`).

- `ObjectSubNavBar` `tone="surface"` (défaut `gold` inchangé pour programme / dépôt / foncier).
- Flèche `←` = `marches.index`. Lien texte sous onglets **supprimé**.
- Onglet barre : `RETENUES` ; titre interne inchangé `RETENUES & PÉNALITÉS`.

### Poste du bilan
Visible sur la ligne d’identité **et conservé éditable** dans le bloc Informations
(seule voie d’écriture `marches.patch`). Pas d’orphelin.

### Type (OBJET 6)
Masqué si `marches.type === 'forfait'`. Affiché + modifiable sinon.
Référence du marché bordereau : **non lue ici** (MySQL local : connexion refusée).
Mesure Robin : 1 marché en `bordereau` en production.

### Valeurs réutilisées (pas de recalcul)
- Indicateurs : `synthese.montant_actualise_ht`, `totaux.total_facture_ht`,
  `totaux.total_paye_ht`, `totaux.total_en_circuit_ht`, `totaux.reste_a_facturer_ht`
  (mêmes fallbacks que `MarcheSyntheseFinanciere.vue`),
  `synthese.montant_reel_a_verser_ht` (plafond #1292).
- Retenues : `retenues.rg.theorique`, `retenues.cp.base_eligible`, `retenues.cie.*`.
- Alertes : `retenues.alertes` (#1312) tels quels.

### Infos déplacées (non perdues)
- « Impact cumulé −8 400 € » → sous-titre carte Marché actualisé (`total_avenants_ht`).
- « Dernière facture » + « N payée(s) · M en cours » → méta de la carte Factures.

### Accès REPRISE
Toujours `Show.vue` commentaire `#1316 TEMPORAIRE`.

### Vérification écran
**NON** — MySQL local refusé, pas d’écran prod depuis cet agent. Lot **non validé**
écran / base (tests 8 et 9 non exécutés).

## DÉPLOIEMENT-TEST

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

## LEÇON

Un sticky avec `margin-top` négatif réduit la hauteur dans le flux : le contenu suivant
occupe l’espace visuel de la barre et se retrouve tronqué. Compenser le `-mt-8` par un
`padding-top` au moins égal sur le bloc suivant (ici `pt-10`). Masquer (`overflow-x-hidden`)
n’est pas corriger. Deux chiffres pour la même notion (Résumé vs Synthèse) : lire le
payload Synthèse, ne pas recalculer. `ObjectSubNavBar` partagé : toute nouvelle prop
(`tone`) doit avoir un défaut rétrocompatible.
