---
suivi: 1290
date: 2026-08-12
sujet: marche_synthese_presentation
chantier: marches
type: presentation
statut: poussé
hash: 6b624f22
fichiers:
  - app/Services/MarcheSyntheseFinanciereService.php
  - resources/js/Components/Marches/MarcheSyntheseFinanciere.vue
  - database/data/journal_mises_a_jour_post_2026_06_12.php
---

## PROMPT ENVOYÉ

AJUSTEMENT DE PRÉSENTATION de l’onglet Synthèse du marché (suite #1284 / #1287). Aucun changement de calcul, aucune écriture en base, aucune migration. Cinq demandes Robin : infobulles « ? », bloc haut compact, 13 colonnes toujours, badge Historique, libellés HT.

## SYNTHÈSE

### D1 — Annotations → « ? » au clic
Textes déplacés derrière un bouton `?` (ouverture clic, fermeture clic extérieur + Échap) : note TMA, notes retenues prévues (RG / CIE / pénalités / finitions), note plafond, note historique réécrite.

### D2 — Haut en un bloc
Marché (initial, avenants ligne à ligne, total, actualisé) + retenues prévues + plafond « Montant réel à verser aux entreprises » regroupés dans un seul cadre, interlignes réduits.

### D3 — Inversion du masquage #1284
Le #1284 masquait les colonnes de retenue « si toutes à zéro » → forme du tableau variable d’un marché à l’autre (marché 32 : CIE / pénalités / finitions / CP absents). **#1290 affiche systématiquement** : PÉRIODE · ÉMISSION · PAIEMENT · HT · RG · CP · CIE · OPC · PÉNALITÉS · FINITIONS · NET · STATUT · FACTURE. Nul = `0,00 €`. Technique #1271 : `min-w-0`, `overflow-x-auto` (jamais `overflow-x-hidden`), `truncate` + `title`, colonnes PÉRIODE / NET / STATUT / FACTURE sticky.

### D4 — Factures historiques
Détection : `saisie_historique` OU `type_source === historique` (même périmètre que badge H Retenues & Pénalités / `auto_historique`). Affichage badge lisible « Historique » + infobulle. Mentions « écritures non renseignées » **retirées du STATUT** ; conservées uniquement dans l’infobulle du badge si le flag diagnostic est vrai.

### D5 — HT / TTC
Libellés HT sur marché / retenues / plafond / totaux de pied. HT principal + TTC secondaire discret (lignes historique et totaux si TTC disponible).

### Inchangé
Valeurs et calculs ; états retenue #1287 ; cumuls Retenues & Pénalités ; alertes ; lien facture nouvel onglet ; onglet Résumé / bandeau.

## DÉPLOIEMENT-TEST

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

Validation manuelle Robin (sqlite skipped) : marché 32 (13 cols + Historique + alerte RG) ; marché 109 (valeurs + situation 6 « En cours ») ; 1280 px ; grep production.ERROR.

## LEÇON

Masquer une colonne « parce que tout est à zéro » fait croire qu’elle n’existe pas. Une retenue nulle doit rester visible (`0,00 €`). Une mention technique (« écritures non renseignées ») sur la même ligne qu’un état métier dilue le signal utile : le badge « Historique » porte l’explication ; le détail diagnostic reste en infobulle.
