---
suivi: 1670
date: 2026-09-23
sujet: Barre KPI — palette pastel, polices réduites, ancres au-dessus
chantier: Foncier / Faisabilité
type: feature
statut: poussé
hash: 3364f3b6
fichiers:
    - resources/js/utils/seuilsIndicateursEtudeFi.js
    - resources/js/Components/Foncier/ScenarioKpiBar.vue
    - app/Support/Foncier/Faisabilite/SeuilsIndicateursEtudeFi.php
    - tests/Unit/ScenarioKpiBarPastelAncres1670SourceTest.php
    - tests/Unit/ScenarioSeuilsCouleurBarreKpi1654SourceTest.php
    - tests/Unit/ScenarioKpiBarLisere1658SourceTest.php
    - tests/Unit/ScenarioKpiBarCompacte1663SourceTest.php
    - tests/Unit/ScenarioKpiBarJauges1668SourceTest.php
    - tests/Unit/ScenarioKpiBarJaugesLisibles1669SourceTest.php
    - tests/Unit/ScenarioFaisabiliteExportPdf1659SourceTest.php
    - tests/Feature/Foncier/FoncierScenarioExportPdf1659Test.php
    - database/data/journal_mises_a_jour_post_2026_06_12.php
    - public/build/
    - docs/suivi/SUIVI_1670_palette_pastel_polices_et_ancres.md
---

# SUIVI #1670 — palette pastel, polices, ancres

## PROMPT ENVOYÉ

Lot PUREMENT VISUEL. Trois ajustements de la barre #1668/#1669 :
polices réduites (32→24, 24→18, 11→10) ; cinq teintes pastel y compris
le rouge, dans la SOURCE UNIQUE (étude Fi + tableau + PDF) ; ancres
AU-DESSUS des indicateurs, boutons à droite. Convention curseur #1668
inchangée. Aucun verdict. AppShell intouché. #1667 en attente.

## FICHES LUES

- **#1669 LEÇON** — `overflow-hidden` interdit (clip du curseur) ;
  2 px de blanc entre segments ; positions 62,9 / 80 / 80,6 (convention
  #1668, pas la spec à vue). Conservé tel quel.
- **#1668 LEÇON** — plafond 2 × dernière borne. Conservé.
- **#1658 / #1654** — deux jeux `CLASSES_PALIER_SEUIL` (fonds pleins)
  et `CLASSES_PALIER_LISERE` (filets). Les DEUX adoucis. 2e palier
  ORANGE (lot) vs VERT-JAUNE (%), non uniformisé.
- **CHANTIER** — `ObjectSubNavBar` `tone="surface"` dans
  `SuiviChantier/Index.vue` : nav flex-1 + trailing à droite, fond
  blanc, `borderBottom 1px #E5E7EB`. Repris : structure et filet.
  Non repris : soulignement or, `overflow-x-auto`.

Anti-collision : dernier poussé = **#1669**. **#1667** journal en
attente → rebase avant Vite. **#1670 est libre.**

## SYNTHÈSE

### Polices
Résultat consolidé 24 px / 700. Jauges 18 px / 700. Libellés 10 px /
600 / 0,08 em. Bénéfice brut 10 px / 12 px (échelle 0,75).

### Palette (source unique)
SEUIL : *100 inchangé (déjà pastel) sauf `vert_fonce` →
`bg-emerald-200 text-emerald-900` (plus de blanc sur emerald-600).
LISERE.filet : red-300, amber-200, green-200, emerald-200, emerald-300.
Miroir PDF `vert_fonce` : `#A7F3D0` / `#064E3B`.

### Contraste
Étude Fi : 8,20 / 8,15 / 6,49 / 8,57 / **7,58** (vert_fonce ; l’ancien
blanc/emerald-600 n’était qu’à 3,77). Curseur marine sur segments :
7,41 à 11,60. **Liseré blanc** : 1,21–1,90 — trop faible sur pastel ;
le trait marine reste le lisible. Dit ici.

### Hauteur
Avant #1669 ≈ 118 px. Après ≈ **102 px**.

### Show.vue / AppShell
Aucun. Teleport inchangé.

## 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

Adoucir une palette saturée dans la source unique change l’étude Fi,
le tableau et le PDF d’un coup : le miroir PHP des hex doit partir
dans le même commit. Un pavé `text-white` sur fond pastel devient
illisible ; passer au texte sombre. Le liseré blanc du curseur, conçu
pour du rouge-600, disparaît sur du *200/*300 : le contraste du
**trait marine** doit rester le critère de visibilité, et le dire.
Les ancres au-dessus copient la structure d’`ObjectSubNavBar`
(tone=surface), pas son filet or ni son `overflow-x-auto`.
