362 lines
12 KiB
YAML
362 lines
12 KiB
YAML
# ============================================================
|
||
# LAYOUTS V2 — Design System "PR Editorial"
|
||
# ============================================================
|
||
# CHANGEMENT MAJEUR vs v1 :
|
||
# - plus de top_cm / height_cm par zone : le moteur applique
|
||
# la grille (theme.grid) et centre verticalement chaque layout
|
||
# - chaque layout déclare uniquement ses paramètres spécifiques
|
||
# - noms de layouts et agent_hints CONSERVÉS (compat agents P3)
|
||
# ============================================================
|
||
|
||
layouts:
|
||
|
||
cover_split:
|
||
id: L01
|
||
famille: "Ouverture"
|
||
mode: dark # fond navy + motif cercles
|
||
agent_hint: >
|
||
Slide de couverture. titre = titre de la présentation,
|
||
sous_titre = tagline en une phrase.
|
||
champs: [titre, sous_titre]
|
||
champs_requis: [titre]
|
||
|
||
executive_summary:
|
||
id: L05
|
||
famille: "Synthèse"
|
||
mode: light
|
||
agent_hint: >
|
||
Synthèse SCR. Titre = So What. 3 cartes pleine largeur :
|
||
situation, complication, resolution (1-2 phrases chacune).
|
||
champs: [titre, situation, complication, resolution]
|
||
champs_requis: [titre, situation, complication, resolution]
|
||
labels: ["SITUATION", "COMPLICATION", "RÉSOLUTION"]
|
||
|
||
section_divider:
|
||
id: L03
|
||
famille: "Structure"
|
||
mode: dark # navy + numéro géant ghost
|
||
agent_hint: >
|
||
Transition de section. titre = nom de la section.
|
||
Le numéro est incrémenté automatiquement par le moteur.
|
||
champs: [titre]
|
||
champs_requis: [titre]
|
||
|
||
big_stat:
|
||
id: L10
|
||
famille: "Données"
|
||
mode: light
|
||
agent_hint: >
|
||
Un chiffre héro plein écran. valeur = le chiffre (ex "78%"),
|
||
description = ce qu'il signifie, source = référence.
|
||
champs: [titre, valeur, description, source]
|
||
champs_requis: [titre, valeur]
|
||
|
||
two_cols_text:
|
||
id: L07
|
||
famille: "Comparaison"
|
||
mode: light
|
||
agent_hint: >
|
||
Deux colonnes en cartes avec en-tête coloré.
|
||
left/right = {titre, bullets[]}. Gauche = navy, droite = corail.
|
||
champs: [titre, left, right]
|
||
champs_requis: [titre, left, right]
|
||
|
||
kpi_grid:
|
||
id: L09
|
||
famille: "Données"
|
||
mode: light
|
||
agent_hint: >
|
||
2 à 6 cartes KPI. items = [{label, valeur, description}].
|
||
valeur en grand corail, label en en-tête, description en source.
|
||
champs: [titre, items]
|
||
champs_requis: [titre, items]
|
||
|
||
key_message:
|
||
id: L08
|
||
famille: "Message"
|
||
mode: dark # citation sur navy + guillemet corail
|
||
agent_hint: >
|
||
Message clé en citation plein écran.
|
||
message = la phrase forte, detail = sous-texte optionnel.
|
||
champs: [message, detail]
|
||
champs_requis: [message]
|
||
|
||
circular_diagram:
|
||
id: L17
|
||
famille: "Concept"
|
||
mode: light
|
||
agent_hint: >
|
||
3 à 6 valeurs en cercles + légende à droite.
|
||
segments = [{label, description, couleur?}].
|
||
champs: [titre, segments]
|
||
champs_requis: [titre, segments]
|
||
|
||
default_bullets:
|
||
id: L06
|
||
famille: "Texte structuré"
|
||
mode: light
|
||
agent_hint: >
|
||
Liste de points clés. Si texte au format "Mot : explication",
|
||
le moteur met le mot en gras navy. Max 5 bullets.
|
||
bullets = [{niveau, texte}].
|
||
champs: [titre, bullets]
|
||
champs_requis: [titre, bullets]
|
||
|
||
numbered_steps:
|
||
id: L19
|
||
famille: "Process"
|
||
mode: light
|
||
agent_hint: >
|
||
Étapes en cartes pleine largeur avec badge rond numéroté.
|
||
steps = [{numero, titre, description}].
|
||
champs: [titre, steps]
|
||
champs_requis: [titre, steps]
|
||
|
||
phases_timeline:
|
||
id: L23
|
||
famille: "Planning"
|
||
mode: light
|
||
agent_hint: >
|
||
Phases reliées par une ligne pointillée.
|
||
phases = [{label, periode}]. Couleurs du cycle theme.
|
||
champs: [titre, phases]
|
||
champs_requis: [titre, phases]
|
||
|
||
recommendation_card:
|
||
id: L28
|
||
famille: "Acteurs & décision"
|
||
mode: panel # sidebar navy 30% + corps light
|
||
agent_hint: >
|
||
Carte de recommandation. Sidebar = numero + titre + cta.
|
||
Corps = headline + bullets.
|
||
champs: [numero, titre, cta, headline, bullets]
|
||
champs_requis: [titre, headline, bullets]
|
||
sidebar_width_cm: 9.9 # ~30% de 33.87
|
||
|
||
end_slide:
|
||
id: L30
|
||
famille: "Clôture"
|
||
mode: dark
|
||
agent_hint: >
|
||
Slide de fin. message = phrase de conclusion.
|
||
champs: [message]
|
||
champs_requis: [message]
|
||
|
||
from_to_pairs:
|
||
id: L31
|
||
famille: "Transformation"
|
||
mode: light
|
||
agent_hint: >
|
||
Transformation avant/après en paires alignées.
|
||
pairs = [{from, to}]. label_from/label_to = en-têtes colonnes.
|
||
Max 5 paires. Idéal pour tangibiliser un changement.
|
||
champs: [titre, pairs, label_from, label_to]
|
||
champs_requis: [titre, pairs]
|
||
|
||
gantt_timeline:
|
||
id: L32
|
||
famille: "Planning"
|
||
mode: light
|
||
agent_hint: >
|
||
Gantt par workstreams. periods = liste de labels (ex ["Juin","Juil"]).
|
||
workstreams = [{label, tasks: [{label, start, end}]}].
|
||
start/end = index dans periods (0-based). Max 3 workstreams, 4 tâches chacun.
|
||
champs: [titre, periods, workstreams]
|
||
champs_requis: [titre, periods, workstreams]
|
||
|
||
yearly_timeline:
|
||
id: L33
|
||
famille: "Historique"
|
||
mode: light
|
||
agent_hint: >
|
||
Frise chronologique horizontale. milestones = [{annee, label, actif?}].
|
||
actif = true pour le jalon courant (corail). Labels alternent haut/bas.
|
||
Max 6 jalons.
|
||
champs: [titre, milestones]
|
||
champs_requis: [titre, milestones]
|
||
|
||
comparison_table:
|
||
id: L34
|
||
famille: "Comparaison"
|
||
mode: light
|
||
agent_hint: >
|
||
Tableau structuré multi-critères. headers = liste de colonnes (1ère = critères).
|
||
rows = [{label, values: []}] ou listes plates. Max 5 colonnes, 8 lignes.
|
||
champs: [titre, headers, rows]
|
||
champs_requis: [titre, headers, rows]
|
||
|
||
raci_table:
|
||
id: L35
|
||
famille: "Gouvernance"
|
||
mode: light
|
||
agent_hint: >
|
||
Matrice RACI. roles = liste de rôles. tasks = [{label, raci: [R/A/C/I]}].
|
||
R=Responsable(corail), A=Autorité(navy), C=Consulté(slate), I=Informé(muted).
|
||
Max 4 rôles, 8 tâches.
|
||
champs: [titre, roles, tasks]
|
||
champs_requis: [titre, roles, tasks]
|
||
|
||
process_arrow:
|
||
id: L36
|
||
famille: "Process"
|
||
mode: light
|
||
agent_hint: >
|
||
Flux horizontal de 3 à 6 étapes. steps = [{titre, description}].
|
||
Badges numérotés corail, couleurs cycle alternées. Max 6 étapes.
|
||
champs: [titre, steps]
|
||
champs_requis: [titre, steps]
|
||
|
||
org_chart:
|
||
id: L37
|
||
famille: "Organisation"
|
||
mode: light
|
||
agent_hint: >
|
||
Organigramme hiérarchique max 3 niveaux.
|
||
root = {label, children: [{label, children?: [{label}]}]}.
|
||
Max 4 enfants directs, 3 petits-enfants par enfant.
|
||
champs: [titre, root]
|
||
champs_requis: [titre, root]
|
||
|
||
matrix_2x2:
|
||
id: L38
|
||
famille: "Priorisation"
|
||
mode: light
|
||
agent_hint: >
|
||
Matrice effort/impact. axis_x/axis_y = {label, low, high}.
|
||
quadrants = {top_left, top_right, bottom_left, bottom_right}.
|
||
items = [{label, x, y}] avec x/y de 0 à 100. Max 8 items.
|
||
champs: [titre, axis_x, axis_y, quadrants, items]
|
||
champs_requis: [titre, items]
|
||
|
||
# ── Chantier C4 — layouts images ──────────────────────────────────
|
||
image_split:
|
||
id: L50
|
||
famille: Visuel
|
||
mode: light
|
||
champs: [titre, image, bullets, side, legende]
|
||
champs_requis: [titre, image, bullets]
|
||
agent_hint: >-
|
||
Image d'appui sur 40 % de la slide (side: left par défaut, right
|
||
possible) + titre et points clés (max 4 bullets). À utiliser quand
|
||
une image du dossier assets/ du projet illustre le propos ;
|
||
image = nom de fichier exact tel que listé par /lire.
|
||
legende (optionnelle) s'affiche sur un bandeau navy sous l'image.
|
||
|
||
image_full:
|
||
id: L51
|
||
famille: Visuel
|
||
mode: dark
|
||
champs: [titre, image, sous_titre]
|
||
champs_requis: [titre, image]
|
||
agent_hint: >-
|
||
Ouverture de chapitre visuelle : image plein cadre + voile navy +
|
||
titre display blanc. Alternative à section_divider quand un asset
|
||
du projet s'y prête. image = nom de fichier exact de assets/.
|
||
|
||
# ── Chantier C5 lot 1 — charts natifs (éditables dans PowerPoint) ──
|
||
bar_chart:
|
||
id: L42
|
||
famille: Données
|
||
mode: light
|
||
champs: [titre, categories, series, unite, source, horizontal]
|
||
champs_requis: [titre, categories, series]
|
||
agent_hint: >-
|
||
Comparaison de valeurs par catégories — graphique NATIF éditable.
|
||
Max 8 catégories × 3 séries. series = liste de {label, values} ;
|
||
values = nombres SANS guillemets, alignés sur categories.
|
||
horizontal: true pour des barres (libellés longs). unite (ex M€)
|
||
et source optionnels. Couleurs imposées : navy, coral, glacier.
|
||
|
||
line_chart:
|
||
id: L43
|
||
famille: Données
|
||
mode: light
|
||
champs: [titre, points_x, series, unite, source]
|
||
champs_requis: [titre, points_x, series]
|
||
agent_hint: >-
|
||
Évolution temporelle — graphique NATIF éditable. Max 12 points ×
|
||
3 séries. points_x = libellés d'axe (mois, années...) ; series =
|
||
{label, values}, nombres sans guillemets. Le dernier point de la
|
||
première série est automatiquement mis en valeur (corail).
|
||
|
||
donut_split:
|
||
id: L44
|
||
famille: Données
|
||
mode: light
|
||
champs: [titre, segments, valeur_centrale, source]
|
||
champs_requis: [titre, segments]
|
||
agent_hint: >-
|
||
Répartition d'un tout : anneau à gauche + légende détaillée à
|
||
droite. 2 à 6 segments = {label, valeur} (nombres sans
|
||
guillemets). valeur_centrale (optionnelle) s'affiche au centre de
|
||
l'anneau (ex : total « 120 M€ »). Couleurs = cycle PR imposé.
|
||
|
||
# ── Chantier C5 lot 2 — data & structure ──────────────────────────
|
||
waterfall:
|
||
id: L45
|
||
famille: Données
|
||
mode: light
|
||
champs: [titre, depart, marches, arrivee, unite, source]
|
||
champs_requis: [titre, depart, marches, arrivee]
|
||
agent_hint: >-
|
||
Pont de valeur (waterfall) : expliquer un écart entre deux
|
||
montants par des variations successives. depart et arrivee =
|
||
{label, valeur} ; marches = liste de {label, delta} SIGNÉ
|
||
(positif ou négatif, max 8). Le moteur calcule les cumuls —
|
||
ne jamais fournir de cumul. Idéal pour : évolution de budget,
|
||
pont d'effectifs, décomposition d'un résultat.
|
||
|
||
heatmap_table:
|
||
id: L46
|
||
famille: Comparaison
|
||
mode: light
|
||
champs: [titre, headers, rows, legende]
|
||
champs_requis: [titre, headers, rows]
|
||
agent_hint: >-
|
||
Tableau à intensité : évaluer plusieurs items sur plusieurs
|
||
critères. headers = colonnes (max 6) ; rows = {label,
|
||
scores} avec score ENTIER de 0 (faible) à 4 (fort), max
|
||
8 lignes. Le moteur traduit chaque score en teinte de navy —
|
||
aucune autre donnée. Idéal pour : maturité, couverture
|
||
fonctionnelle, cartographie de risques.
|
||
|
||
funnel:
|
||
id: L47
|
||
famille: Process
|
||
mode: light
|
||
champs: [titre, etapes, source]
|
||
champs_requis: [titre, etapes]
|
||
agent_hint: >-
|
||
Entonnoir de conversion : volumes décroissants d'étape en
|
||
étape. etapes = {label, valeur, description?} du haut vers le
|
||
bas, 3 à 5 étages. Largeurs proportionnelles aux valeurs
|
||
(plancher de lisibilité), dernier étage corail. Idéal pour :
|
||
pipeline commercial, adoption, qualification progressive.
|
||
|
||
# ── Chantier C5 lot 3 — retours v1 restylés ───────────────────────
|
||
agenda:
|
||
id: L40
|
||
famille: Structure
|
||
mode: light
|
||
champs: [titre, sections]
|
||
champs_requis: [titre, sections]
|
||
agent_hint: >-
|
||
Sommaire du deck : à placer en slide 2 pour toute présentation
|
||
de plus de 15 minutes. sections = liste de {label, numero?,
|
||
duree?, actif?}, 2 à 8 entrées. actif: true met la section en
|
||
corail (utile pour les rappels d'agenda en cours de deck).
|
||
duree (ex "10 min") s'affiche à droite en discret.
|
||
|
||
pyramid:
|
||
id: L41
|
||
famille: Concept
|
||
mode: light
|
||
champs: [titre, niveaux]
|
||
champs_requis: [titre, niveaux]
|
||
agent_hint: >-
|
||
Argumentation pyramidale : la conclusion au sommet, les
|
||
fondations à la base. niveaux = liste de {label, description?},
|
||
EXACTEMENT 3 ou 4 niveaux, du sommet vers la base. Largeurs
|
||
d'étages fixes gérées par le moteur. Idéal pour : message clé
|
||
et ses appuis, hiérarchie stratégie/tactiques/moyens.
|