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