1744 lines
45 KiB
YAML
1744 lines
45 KiB
YAML
|
|
# =============================================================================
|
|||
|
|
# layouts.yaml — 28 layouts Pernod Ricard Sliding
|
|||
|
|
# Projet : Sliding Design System
|
|||
|
|
# Usage : lu par render_engine.py pour assembler composants + positions
|
|||
|
|
# Dépend : theme.yaml (couleurs, typo, spacing) + components.yaml (briques)
|
|||
|
|
# =============================================================================
|
|||
|
|
# CONVENTION DE COORDONNÉES
|
|||
|
|
# Origine : coin supérieur gauche du slide
|
|||
|
|
# Unité : centimètres (cm)
|
|||
|
|
# Slide : 33.87 cm × 19.05 cm (16:9)
|
|||
|
|
# Zone utile (hors footer) : 33.87 × 17.85 cm
|
|||
|
|
# Footer : y = 18.35 cm, hauteur 0.70 cm
|
|||
|
|
#
|
|||
|
|
# ZONES PRÉDÉFINIES (calculées depuis theme.yaml)
|
|||
|
|
# TITLE_ZONE : left=1.80, top=0.45, width=30.00, height=1.90
|
|||
|
|
# CONTENT_ZONE: left=1.50, top=2.80, width=30.87, height=14.85
|
|||
|
|
# FULL_ZONE : left=1.50, top=0.45, width=30.87, height=17.20
|
|||
|
|
#
|
|||
|
|
# STRUCTURE D'UN LAYOUT
|
|||
|
|
# meta : infos catalogue (famille, rôles narratifs, source)
|
|||
|
|
# background : paramètres C01 slide_background
|
|||
|
|
# signature : éléments PR fixes (accent_bar, logo, footer)
|
|||
|
|
# title_zone : paramètres C02 slide_title
|
|||
|
|
# content_zones: liste de zones nommées avec composant + position
|
|||
|
|
# json_schema : champs attendus dans le JSON Agent (validation Agent 3)
|
|||
|
|
# constraints : règles min/max pour Agent 3
|
|||
|
|
# agent_hint : conseil narratif pour Agent 1/2
|
|||
|
|
# =============================================================================
|
|||
|
|
|
|||
|
|
meta_global:
|
|||
|
|
version: "1.0"
|
|||
|
|
date: "2026-05-14"
|
|||
|
|
total_layouts: 28
|
|||
|
|
slide_width_cm: 33.87
|
|||
|
|
slide_height_cm: 19.05
|
|||
|
|
content_zone_top_cm: 2.80 # sous le titre
|
|||
|
|
content_zone_bottom_cm: 18.05 # au-dessus du footer
|
|||
|
|
content_height_cm: 15.25
|
|||
|
|
footer_top_cm: 18.35
|
|||
|
|
footer_height_cm: 0.70
|
|||
|
|
|
|||
|
|
|
|||
|
|
layouts:
|
|||
|
|
|
|||
|
|
# ===========================================================================
|
|||
|
|
# FAMILLE 1 — COUVERTURE & NAVIGATION (L01-L05)
|
|||
|
|
# ===========================================================================
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L01 — cover_split
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
cover_split:
|
|||
|
|
id: L01
|
|||
|
|
famille: "Couverture & navigation"
|
|||
|
|
source: "PR Template p.1, Data Awareness"
|
|||
|
|
roles_narratifs: [accroche]
|
|||
|
|
agent_hint: >
|
|||
|
|
Réservé au slide 1. Titre fort et accrocheur, sous-titre contextualisé.
|
|||
|
|
Pas de bullets. Message = raison d'être de la présentation en 1 phrase.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "theme.colors.primary.dark_blue"
|
|||
|
|
diagonal_split: true
|
|||
|
|
color_right: "theme.colors.primary.mid_blue"
|
|||
|
|
diagonal_angle_deg: 15
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: false
|
|||
|
|
logo_topbar: false
|
|||
|
|
footer: false
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 6.50
|
|||
|
|
width_cm: 18.00
|
|||
|
|
height_cm: 4.00
|
|||
|
|
font_override:
|
|||
|
|
size_pt: 40
|
|||
|
|
color: "#ffffff"
|
|||
|
|
bold: true
|
|||
|
|
subtitle:
|
|||
|
|
margin_top_cm: 0.50
|
|||
|
|
size_pt: 20
|
|||
|
|
color: "theme.colors.primary.bright_blue"
|
|||
|
|
|
|||
|
|
content_zones: [] # pas de contenu — cover pur
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
- accroche
|
|||
|
|
constraints:
|
|||
|
|
titre_max_chars: 70
|
|||
|
|
sous_titre_max_chars: 80
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L02 — section_divider
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
section_divider:
|
|||
|
|
id: L02
|
|||
|
|
famille: "Couverture & navigation"
|
|||
|
|
source: "PR Template p.8-9"
|
|||
|
|
roles_narratifs: [transition]
|
|||
|
|
agent_hint: >
|
|||
|
|
Slide de transition entre parties. Titre = nom de la section, percutant.
|
|||
|
|
Numéro de section bien visible. Pas de contenu textuel.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "theme.colors.primary.dark_blue"
|
|||
|
|
diagonal_split: true
|
|||
|
|
color_right: "#fdfcf9"
|
|||
|
|
diagonal_angle_deg: 18
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: false
|
|||
|
|
logo_topbar: false
|
|||
|
|
footer: false
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 7.50
|
|||
|
|
width_cm: 17.00
|
|||
|
|
height_cm: 3.00
|
|||
|
|
font_override:
|
|||
|
|
size_pt: 32
|
|||
|
|
color: "#ffffff"
|
|||
|
|
bold: true
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: section_number
|
|||
|
|
component: C01 # forme cercle rendu par render_engine
|
|||
|
|
type: section_circle
|
|||
|
|
center_x_cm: 25.50
|
|||
|
|
center_y_cm: 9.50
|
|||
|
|
diameter_cm: 2.80
|
|||
|
|
fill: "theme.colors.primary.dark_blue"
|
|||
|
|
text_color: "#ffffff"
|
|||
|
|
font: "theme.typography.display"
|
|||
|
|
size_pt: 32
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- numero_section
|
|||
|
|
optional:
|
|||
|
|
- image
|
|||
|
|
constraints:
|
|||
|
|
titre_max_chars: 60
|
|||
|
|
numero_section_type: integer
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L03 — agenda
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
agenda:
|
|||
|
|
id: L03
|
|||
|
|
famille: "Couverture & navigation"
|
|||
|
|
source: "PR Template p.4-7"
|
|||
|
|
roles_narratifs: [transition, contexte]
|
|||
|
|
agent_hint: >
|
|||
|
|
Sommaire de la présentation. Items = titres des sections, pas des bullets de contenu.
|
|||
|
|
Présenter l'ossature narrative, pas le détail.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: agenda_items
|
|||
|
|
component: C06 # bullet_list en mode agenda (cercles numérotés)
|
|||
|
|
type: agenda_numbered # variante spéciale : cercles au lieu de puces
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
cols: 2 # 2 colonnes si items > 3
|
|||
|
|
col_gap_cm: 2.00
|
|||
|
|
circle_diameter_cm: 0.80
|
|||
|
|
circle_fill: "theme.colors.primary.dark_blue"
|
|||
|
|
item_height_cm: 1.40
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- items
|
|||
|
|
optional: []
|
|||
|
|
constraints:
|
|||
|
|
items_min: 2
|
|||
|
|
items_max: 6
|
|||
|
|
item_schema:
|
|||
|
|
required: [numero, titre]
|
|||
|
|
optional: [presentateur]
|
|||
|
|
titre_max_chars: 50
|
|||
|
|
presentateur_max_chars: 30
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L04 — content_marker
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
content_marker:
|
|||
|
|
id: L04
|
|||
|
|
famille: "Couverture & navigation"
|
|||
|
|
source: "Best practice 01 p.2-25"
|
|||
|
|
roles_narratifs: [transition]
|
|||
|
|
agent_hint: >
|
|||
|
|
Rappel de l'agenda en cours de présentation. current_index indique
|
|||
|
|
l'item actif (en orange). Identique à agenda en structure.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "theme.colors.primary.dark_blue"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: false
|
|||
|
|
logo_topbar: false
|
|||
|
|
footer: false
|
|||
|
|
|
|||
|
|
title_zone: null # pas de titre — le marqueur fait office de titre
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: marker_items
|
|||
|
|
component: C06
|
|||
|
|
type: agenda_marker # variante : item actif en rose, autres atténués
|
|||
|
|
left_cm: 3.00
|
|||
|
|
top_cm: 4.00
|
|||
|
|
width_cm: 26.00
|
|||
|
|
height_cm: 12.00
|
|||
|
|
active_fill: "theme.colors.primary.rose"
|
|||
|
|
inactive_fill: "rgba(255,255,255,0.25)"
|
|||
|
|
active_text: "#ffffff"
|
|||
|
|
inactive_text: "rgba(255,255,255,0.5)"
|
|||
|
|
item_height_cm: 1.60
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- items
|
|||
|
|
- current_index
|
|||
|
|
optional: []
|
|||
|
|
constraints:
|
|||
|
|
items_min: 2
|
|||
|
|
items_max: 6
|
|||
|
|
current_index_type: integer
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L05 — end_slide
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
end_slide:
|
|||
|
|
id: L05
|
|||
|
|
famille: "Couverture & navigation"
|
|||
|
|
source: "Data Awareness V2 p.20"
|
|||
|
|
roles_narratifs: [conclusion, next-steps]
|
|||
|
|
agent_hint: >
|
|||
|
|
Dernier slide obligatoire. Titre = message de clôture fort.
|
|||
|
|
Next steps = 2-4 actions concrètes. Contact optionnel.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "theme.colors.primary.dark_blue"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: false
|
|||
|
|
logo_topbar: false
|
|||
|
|
footer: false
|
|||
|
|
accent_bar_left_full: # barre rose pleine hauteur côté gauche
|
|||
|
|
color: "theme.colors.primary.rose"
|
|||
|
|
width_cm: 0.40
|
|||
|
|
left_cm: 0.00
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 2.50
|
|||
|
|
top_cm: 5.50
|
|||
|
|
width_cm: 22.00
|
|||
|
|
height_cm: 3.00
|
|||
|
|
font_override:
|
|||
|
|
size_pt: 32
|
|||
|
|
color: "#ffffff"
|
|||
|
|
bold: true
|
|||
|
|
subtitle:
|
|||
|
|
size_pt: 18
|
|||
|
|
color: "theme.colors.primary.bright_blue"
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: next_steps
|
|||
|
|
component: C06
|
|||
|
|
type: bullet_list
|
|||
|
|
left_cm: 2.50
|
|||
|
|
top_cm: 10.00
|
|||
|
|
width_cm: 22.00
|
|||
|
|
height_cm: 5.00
|
|||
|
|
font_override:
|
|||
|
|
color: "rgba(255,255,255,0.85)"
|
|||
|
|
size_pt: 12
|
|||
|
|
- id: contact
|
|||
|
|
component: C07
|
|||
|
|
type: text_paragraph
|
|||
|
|
left_cm: 2.50
|
|||
|
|
top_cm: 16.00
|
|||
|
|
width_cm: 22.00
|
|||
|
|
height_cm: 1.80
|
|||
|
|
font_override:
|
|||
|
|
color: "rgba(255,255,255,0.60)"
|
|||
|
|
size_pt: 10
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
- message
|
|||
|
|
- next_steps
|
|||
|
|
- contacts
|
|||
|
|
constraints:
|
|||
|
|
titre_max_chars: 70
|
|||
|
|
next_steps_max: 4
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ===========================================================================
|
|||
|
|
# FAMILLE 2 — TEXTE STRUCTURÉ (L06-L09)
|
|||
|
|
# ===========================================================================
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L06 — default_bullets
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
default_bullets:
|
|||
|
|
id: L06
|
|||
|
|
famille: "Texte structuré"
|
|||
|
|
source: "PR Template p.10"
|
|||
|
|
roles_narratifs: [contexte, solution, preuve]
|
|||
|
|
agent_hint: >
|
|||
|
|
Layout texte par défaut. Titre = So What affirmatif.
|
|||
|
|
Bullets L1 = arguments principaux, L2 = preuves/détails, L3 = exemples.
|
|||
|
|
Max 5 bullets L1 pour rester lisible.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: main_bullets
|
|||
|
|
component: C06
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.07
|
|||
|
|
height_cm: 14.85
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- bullets
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
bullets_min: 1
|
|||
|
|
bullets_max: 10
|
|||
|
|
bullet_l1_max: 5
|
|||
|
|
bullet_max_chars: 120
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L07 — two_cols_text
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
two_cols_text:
|
|||
|
|
id: L07
|
|||
|
|
famille: "Texte structuré"
|
|||
|
|
source: "Best practice 03 p.2.2-3.2"
|
|||
|
|
roles_narratifs: [contexte, comparaison, solution]
|
|||
|
|
agent_hint: >
|
|||
|
|
Deux colonnes de texte en parallèle. Idéal pour mise en contraste :
|
|||
|
|
Objectifs / Approche, Problème / Solution, Avant / Après conceptuel.
|
|||
|
|
Chaque colonne a un titre-couleur distinct.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: col_left
|
|||
|
|
component: C07
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 14.80
|
|||
|
|
height_cm: 14.85
|
|||
|
|
titre_couleur: "theme.colors.primary.bright_blue"
|
|||
|
|
- id: separator
|
|||
|
|
type: vertical_line
|
|||
|
|
x_cm: 16.93
|
|||
|
|
top_cm: 3.00
|
|||
|
|
height_cm: 14.00
|
|||
|
|
color: "theme.signature.footer.border_top_color"
|
|||
|
|
width_cm: 0.03
|
|||
|
|
- id: col_right
|
|||
|
|
component: C07
|
|||
|
|
left_cm: 17.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 14.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
titre_couleur: "theme.colors.primary.rose"
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- left
|
|||
|
|
- right
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
left_schema:
|
|||
|
|
required: [titre, contenu]
|
|||
|
|
titre_max_chars: 40
|
|||
|
|
contenu_max_chars: 500
|
|||
|
|
right_schema:
|
|||
|
|
required: [titre, contenu]
|
|||
|
|
titre_max_chars: 40
|
|||
|
|
contenu_max_chars: 500
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L08 — key_message
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
key_message:
|
|||
|
|
id: L08
|
|||
|
|
famille: "Texte structuré"
|
|||
|
|
source: "Data Awareness V2, Best practice 02"
|
|||
|
|
roles_narratifs: [accroche, solution, conclusion]
|
|||
|
|
agent_hint: >
|
|||
|
|
Un seul message clé, occupant presque tout le slide. Style quote.
|
|||
|
|
Fond crème, guillemets décoratifs. Pas de bullets.
|
|||
|
|
Utiliser pour marteler une recommandation ou un So What décisif.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "theme.colors.primary.bright_warm"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: false
|
|||
|
|
logo_topbar: false
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone: null # pas de titre — le message est le titre
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: message_block
|
|||
|
|
component: C08
|
|||
|
|
left_cm: 3.00
|
|||
|
|
top_cm: 3.50
|
|||
|
|
width_cm: 27.87
|
|||
|
|
height_cm: 12.00
|
|||
|
|
guillemet_left_cm: 3.00
|
|||
|
|
guillemet_top_cm: 3.50
|
|||
|
|
text_left_cm: 5.00
|
|||
|
|
text_top_cm: 5.00
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- message
|
|||
|
|
optional:
|
|||
|
|
- auteur
|
|||
|
|
- fonction
|
|||
|
|
constraints:
|
|||
|
|
message_max_chars: 220
|
|||
|
|
auteur_max_chars: 60
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L09 — executive_summary
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
executive_summary:
|
|||
|
|
id: L09
|
|||
|
|
famille: "Texte structuré"
|
|||
|
|
source: "Best practice 02 p.2"
|
|||
|
|
roles_narratifs: [contexte, solution]
|
|||
|
|
agent_hint: >
|
|||
|
|
Synthèse SCR en 3 blocs. Situation = état des lieux factuel.
|
|||
|
|
Complication = le problème ou la tension. Résolution = la réponse.
|
|||
|
|
Standard McKinsey/BCG pour ouvrir un deck stratégique.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: bloc_situation
|
|||
|
|
component: C07
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 4.50
|
|||
|
|
titre_couleur: "theme.colors.primary.dark_blue"
|
|||
|
|
- id: separator_1
|
|||
|
|
type: horizontal_line
|
|||
|
|
left_cm: 1.50
|
|||
|
|
y_cm: 7.50
|
|||
|
|
width_cm: 30.87
|
|||
|
|
color: "theme.signature.footer.border_top_color"
|
|||
|
|
- id: bloc_complication
|
|||
|
|
component: C07
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 7.70
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 4.50
|
|||
|
|
titre_couleur: "theme.colors.primary.rose"
|
|||
|
|
- id: separator_2
|
|||
|
|
type: horizontal_line
|
|||
|
|
left_cm: 1.50
|
|||
|
|
y_cm: 12.40
|
|||
|
|
width_cm: 30.87
|
|||
|
|
color: "theme.signature.footer.border_top_color"
|
|||
|
|
- id: bloc_resolution
|
|||
|
|
component: C07
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 12.60
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 4.50
|
|||
|
|
titre_couleur: "theme.colors.primary.bright_blue"
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- situation
|
|||
|
|
- complication
|
|||
|
|
- resolution
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
situation_max_chars: 300
|
|||
|
|
complication_max_chars: 300
|
|||
|
|
resolution_max_chars: 300
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ===========================================================================
|
|||
|
|
# FAMILLE 3 — DONNÉES & KPIs (L10-L14)
|
|||
|
|
# ===========================================================================
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L10 — kpi_grid
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
kpi_grid:
|
|||
|
|
id: L10
|
|||
|
|
famille: "Données & KPIs"
|
|||
|
|
source: "Data Awareness V2 p.4-8"
|
|||
|
|
roles_narratifs: [preuve, contexte]
|
|||
|
|
agent_hint: >
|
|||
|
|
Grille de KPIs. Chaque carte = 1 indicateur avec sa valeur et son contexte.
|
|||
|
|
La grille s'adapte automatiquement selon le nombre d'items (2-6).
|
|||
|
|
Valeurs = chiffres impactants, pas des phrases.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: kpi_cards
|
|||
|
|
component: C09
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
grid_rules: "component.kpi_card.grid_rules"
|
|||
|
|
card_gap_cm: 0.40
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- items
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
items_min: 2
|
|||
|
|
items_max: 6
|
|||
|
|
item_schema:
|
|||
|
|
required: [titre, valeur]
|
|||
|
|
optional: [sous_titre, couleur]
|
|||
|
|
titre_max_chars: 30
|
|||
|
|
valeur_max_chars: 12
|
|||
|
|
sous_titre_max_chars: 60
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L11 — big_stat
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
big_stat:
|
|||
|
|
id: L11
|
|||
|
|
famille: "Données & KPIs"
|
|||
|
|
source: "Standard MBB"
|
|||
|
|
roles_narratifs: [preuve, accroche]
|
|||
|
|
agent_hint: >
|
|||
|
|
Un seul chiffre énorme, centré, pour un effet de choc.
|
|||
|
|
Utiliser pour un indicateur décisif qui mérite d'être seul sur le slide.
|
|||
|
|
Le label contextualise en 1 ligne max.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: stat_display
|
|||
|
|
component: C10
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
vertical_center: true
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- valeur
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
- label
|
|||
|
|
- source
|
|||
|
|
constraints:
|
|||
|
|
valeur_max_chars: 10
|
|||
|
|
label_max_chars: 80
|
|||
|
|
source_max_chars: 60
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L12 — comparison_table
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
comparison_table:
|
|||
|
|
id: L12
|
|||
|
|
famille: "Données & KPIs"
|
|||
|
|
source: "Best practice 01 p.22"
|
|||
|
|
roles_narratifs: [preuve, comparaison]
|
|||
|
|
agent_hint: >
|
|||
|
|
Tableau comparatif structuré. Header = noms des critères ou acteurs.
|
|||
|
|
Rows = lignes de données. Max 6 colonnes × 8 lignes pour rester lisible.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: table
|
|||
|
|
component: C11
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- headers
|
|||
|
|
- rows
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
- col_widths
|
|||
|
|
- highlight_col
|
|||
|
|
constraints:
|
|||
|
|
headers_min: 2
|
|||
|
|
headers_max: 6
|
|||
|
|
rows_min: 1
|
|||
|
|
rows_max: 8
|
|||
|
|
header_max_chars: 30
|
|||
|
|
cell_max_chars: 60
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L13 — chart_callout
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
chart_callout:
|
|||
|
|
id: L13
|
|||
|
|
famille: "Données & KPIs"
|
|||
|
|
source: "Best practice 03 (data viz)"
|
|||
|
|
roles_narratifs: [preuve]
|
|||
|
|
agent_hint: >
|
|||
|
|
Graphique à gauche + encadré d'insight à droite. Le chart illustre,
|
|||
|
|
le callout conclut. Suivre la règle BCG : le message clé se lit
|
|||
|
|
sans regarder le graphique.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: chart_area
|
|||
|
|
component: C12
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 19.50
|
|||
|
|
height_cm: 14.85
|
|||
|
|
- id: insight_callout
|
|||
|
|
component: C13
|
|||
|
|
left_cm: 22.00
|
|||
|
|
top_cm: 4.50
|
|||
|
|
width_cm: 10.37
|
|||
|
|
height_cm: 8.00
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- chart_type
|
|||
|
|
- data
|
|||
|
|
- insight
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
- axis_x_label
|
|||
|
|
- axis_y_label
|
|||
|
|
- couleurs
|
|||
|
|
- titre_insight
|
|||
|
|
constraints:
|
|||
|
|
chart_type_values: [bar, line, pie, donut]
|
|||
|
|
data_min: 2
|
|||
|
|
data_max: 8
|
|||
|
|
insight_max_chars: 200
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L14 — benchmark
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
benchmark:
|
|||
|
|
id: L14
|
|||
|
|
famille: "Données & KPIs"
|
|||
|
|
source: "Data Days 2022 p.11"
|
|||
|
|
roles_narratifs: [contexte, comparaison]
|
|||
|
|
agent_hint: >
|
|||
|
|
Benchmark concurrents. Critères en lignes, acteurs en colonnes de barres.
|
|||
|
|
Max 4 acteurs. Utiliser pour positionner PR vs marché ou comparer des options.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: benchmark_bars
|
|||
|
|
component: C14
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
critere_col_width_cm: 5.00
|
|||
|
|
bars_area_width_cm: 25.87
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- criteria
|
|||
|
|
- actors
|
|||
|
|
- scores
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
- couleurs_acteurs
|
|||
|
|
constraints:
|
|||
|
|
criteria_min: 2
|
|||
|
|
criteria_max: 6
|
|||
|
|
actors_min: 2
|
|||
|
|
actors_max: 4
|
|||
|
|
critere_max_chars: 40
|
|||
|
|
actor_max_chars: 20
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ===========================================================================
|
|||
|
|
# FAMILLE 4 — FRAMEWORKS VISUELS (L15-L19)
|
|||
|
|
# ===========================================================================
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L15 — matrix_2x2
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
matrix_2x2:
|
|||
|
|
id: L15
|
|||
|
|
famille: "Frameworks visuels"
|
|||
|
|
source: "PR Template p.20"
|
|||
|
|
roles_narratifs: [contexte, solution]
|
|||
|
|
agent_hint: >
|
|||
|
|
Matrice 2×2 pour priorisation (impact/effort, urgence/importance…).
|
|||
|
|
Chaque item = une bulle positionnée par coordonnées normalisées [0-100].
|
|||
|
|
Nommer les 2 axes clairement. Max 8 bulles pour ne pas surcharger.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: matrix
|
|||
|
|
component: C15
|
|||
|
|
left_cm: 3.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 26.87
|
|||
|
|
height_cm: 14.50
|
|||
|
|
axis_x_label_bottom_cm: 0.30
|
|||
|
|
axis_y_label_left_cm: 0.30
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- axis_x
|
|||
|
|
- axis_y
|
|||
|
|
- items
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
axis_schema:
|
|||
|
|
required: [label]
|
|||
|
|
optional: [min_label, max_label]
|
|||
|
|
items_min: 2
|
|||
|
|
items_max: 8
|
|||
|
|
item_schema:
|
|||
|
|
required: [label, x, y]
|
|||
|
|
optional: [taille, couleur]
|
|||
|
|
label_max_chars: 25
|
|||
|
|
x_range: [0, 100]
|
|||
|
|
y_range: [0, 100]
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L16 — pyramid
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
pyramid:
|
|||
|
|
id: L16
|
|||
|
|
famille: "Frameworks visuels"
|
|||
|
|
source: "PR Template p.44"
|
|||
|
|
roles_narratifs: [contexte, solution]
|
|||
|
|
agent_hint: >
|
|||
|
|
Pyramide hiérarchique. Niveau 1 = sommet (plus petit, plus rare/premium).
|
|||
|
|
Niveau N = base (plus large, plus fondamental). Callouts latéraux optionnels.
|
|||
|
|
3 niveaux minimum, 5 maximum.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: pyramid_shape
|
|||
|
|
component: C16
|
|||
|
|
center_x_cm: 16.93
|
|||
|
|
top_cm: 3.00
|
|||
|
|
max_width_cm: 18.00
|
|||
|
|
height_cm: 13.50
|
|||
|
|
callout_left_area_cm: 5.00 # zone pour callouts côté gauche
|
|||
|
|
callout_right_area_cm: 5.00 # zone pour callouts côté droit
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- levels
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
levels_min: 3
|
|||
|
|
levels_max: 5
|
|||
|
|
level_schema:
|
|||
|
|
required: [label]
|
|||
|
|
optional: [description, couleur]
|
|||
|
|
label_max_chars: 30
|
|||
|
|
description_max_chars: 80
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L17 — circular_diagram
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
circular_diagram:
|
|||
|
|
id: L17
|
|||
|
|
famille: "Frameworks visuels"
|
|||
|
|
source: "PR Template p.46-47"
|
|||
|
|
roles_narratifs: [contexte, solution]
|
|||
|
|
agent_hint: >
|
|||
|
|
Diagramme circulaire avec logo PR central. Idéal pour écosystème,
|
|||
|
|
dimensions complémentaires, cycle vertueux. Légende numérotée à droite.
|
|||
|
|
Ne pas utiliser pour montrer des proportions — utiliser chart_callout.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: circle
|
|||
|
|
component: C17
|
|||
|
|
center_x_cm: 10.00
|
|||
|
|
center_y_cm: 10.50
|
|||
|
|
outer_radius_cm: 3.50
|
|||
|
|
- id: legend
|
|||
|
|
component: C17
|
|||
|
|
type: legend_only
|
|||
|
|
left_cm: 16.50
|
|||
|
|
top_cm: 3.50
|
|||
|
|
width_cm: 15.87
|
|||
|
|
height_cm: 13.50
|
|||
|
|
item_height_cm: 1.60
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- segments
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
segments_min: 3
|
|||
|
|
segments_max: 6
|
|||
|
|
segment_schema:
|
|||
|
|
required: [label, description]
|
|||
|
|
optional: [couleur, poids]
|
|||
|
|
label_max_chars: 30
|
|||
|
|
description_max_chars: 80
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L18 — from_to
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
from_to:
|
|||
|
|
id: L18
|
|||
|
|
famille: "Frameworks visuels"
|
|||
|
|
source: "PR Template p.23"
|
|||
|
|
roles_narratifs: [solution, contexte]
|
|||
|
|
agent_hint: >
|
|||
|
|
Transformation FROM → TO. Chaque paire = un changement concret.
|
|||
|
|
Bloc gauche optionnel pour contexte. Bloc jaune en overlap à droite
|
|||
|
|
pour le résumé de la transformation ou le bénéfice attendu.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: description_bloc
|
|||
|
|
component: C07
|
|||
|
|
optional: true
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 8.00
|
|||
|
|
height_cm: 12.00
|
|||
|
|
accent_top_color: "theme.colors.semantic.arrow_color"
|
|||
|
|
accent_top_height: 0.12
|
|||
|
|
- id: pairs_area
|
|||
|
|
component: C18
|
|||
|
|
left_cm: 10.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 14.00
|
|||
|
|
height_cm: 12.00
|
|||
|
|
from_label_top_cm: 0.00 # en-tête FROM/TO au-dessus des paires
|
|||
|
|
from_label_text: "FROM"
|
|||
|
|
to_label_text: "TO"
|
|||
|
|
arrow_x_offset_cm: 7.50
|
|||
|
|
- id: summary_box
|
|||
|
|
component: C13
|
|||
|
|
left_cm: 24.00
|
|||
|
|
top_cm: 5.00
|
|||
|
|
width_cm: 8.87
|
|||
|
|
height_cm: 7.00
|
|||
|
|
overlap: true # le box déborde légèrement sur pairs_area
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- pairs
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
- description
|
|||
|
|
- titre_summary
|
|||
|
|
- summary
|
|||
|
|
constraints:
|
|||
|
|
pairs_min: 2
|
|||
|
|
pairs_max: 5
|
|||
|
|
pair_schema:
|
|||
|
|
required: [from, to]
|
|||
|
|
from_max_chars: 60
|
|||
|
|
to_max_chars: 60
|
|||
|
|
description_max_chars: 200
|
|||
|
|
summary_max_chars: 150
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L19 — boxes_grid
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
boxes_grid:
|
|||
|
|
id: L19
|
|||
|
|
famille: "Frameworks visuels"
|
|||
|
|
source: "PR Template p.17"
|
|||
|
|
roles_narratifs: [preuve, contexte]
|
|||
|
|
agent_hint: >
|
|||
|
|
Matrice analytique dense. Colonne label (wheat yellow) + colonne KPI
|
|||
|
|
+ 3-4 colonnes de contenu. Pour analyse multi-critères, roadmap détaillée,
|
|||
|
|
ou comparaison de scenarios.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: grid
|
|||
|
|
component: C11
|
|||
|
|
type: boxes_grid_variant # variante avec col label wheat + col KPI
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.50
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 15.15
|
|||
|
|
label_col_width_cm: 4.50
|
|||
|
|
kpi_col_width_cm: 2.00
|
|||
|
|
header_height_cm: 0.70
|
|||
|
|
row_height_cm: 2.80
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- columns
|
|||
|
|
- rows
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
columns_min: 3
|
|||
|
|
columns_max: 5
|
|||
|
|
rows_min: 2
|
|||
|
|
rows_max: 5
|
|||
|
|
column_max_chars: 25
|
|||
|
|
row_schema:
|
|||
|
|
required: [label, kpi, contents]
|
|||
|
|
label_max_chars: 30
|
|||
|
|
kpi_max_chars: 8
|
|||
|
|
content_max_chars: 80
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ===========================================================================
|
|||
|
|
# FAMILLE 5 — PROCESS & ROADMAP (L20-L24)
|
|||
|
|
# ===========================================================================
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L20 — numbered_steps
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
numbered_steps:
|
|||
|
|
id: L20
|
|||
|
|
famille: "Process & roadmap"
|
|||
|
|
source: "Data Awareness V2 p.10"
|
|||
|
|
roles_narratifs: [solution, methodologie]
|
|||
|
|
agent_hint: >
|
|||
|
|
Étapes numérotées verticalement. Idéal pour méthodologie, bonnes pratiques,
|
|||
|
|
checklist d'implémentation. Titre de step = verbe d'action.
|
|||
|
|
Description = résultat attendu, pas la procédure.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: steps
|
|||
|
|
component: C19
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
badge_left_cm: 0.00
|
|||
|
|
title_left_cm: 1.20
|
|||
|
|
desc_left_cm: 1.20
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- steps
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
steps_min: 2
|
|||
|
|
steps_max: 6
|
|||
|
|
step_schema:
|
|||
|
|
required: [numero, titre]
|
|||
|
|
optional: [description]
|
|||
|
|
titre_max_chars: 50
|
|||
|
|
description_max_chars: 120
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L21 — process_arrow
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
process_arrow:
|
|||
|
|
id: L21
|
|||
|
|
famille: "Process & roadmap"
|
|||
|
|
source: "Best practice 03"
|
|||
|
|
roles_narratifs: [solution, next-steps]
|
|||
|
|
agent_hint: >
|
|||
|
|
Chevrons horizontaux pour une roadmap phasée. Étape active = dark blue.
|
|||
|
|
Dernier chevron = triangle fermé (→). Bullets sous chaque phase.
|
|||
|
|
Max 5 étapes. Pas de numéro dans les labels.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: chevrons
|
|||
|
|
component: C20
|
|||
|
|
left_cm: 0.50
|
|||
|
|
top_cm: 2.90
|
|||
|
|
width_cm: 32.87
|
|||
|
|
chevron_height_cm: 1.00
|
|||
|
|
bullets_top_cm: 4.20 # bullets commencent ici sous les chevrons
|
|||
|
|
bullets_height_cm: 11.00
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- phases
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
phases_min: 2
|
|||
|
|
phases_max: 5
|
|||
|
|
phase_schema:
|
|||
|
|
required: [label]
|
|||
|
|
optional: [duree, actif, bullets, terminal]
|
|||
|
|
label_max_chars: 20
|
|||
|
|
duree_max_chars: 15
|
|||
|
|
bullets_max: 4
|
|||
|
|
bullet_max_chars: 60
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L22 — gantt_timeline
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
gantt_timeline:
|
|||
|
|
id: L22
|
|||
|
|
famille: "Process & roadmap"
|
|||
|
|
source: "Best practice 03 p.2.1"
|
|||
|
|
roles_narratifs: [next-steps, solution]
|
|||
|
|
agent_hint: >
|
|||
|
|
Gantt simplifié. Workstreams à gauche (optionnel), barres colorées sur
|
|||
|
|
la timeline. Une couleur par workstream. Dates au format YYYY-MM.
|
|||
|
|
Idéal pour présenter une roadmap opérationnelle sur 6-12 mois.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: gantt
|
|||
|
|
component: C21
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
label_col_width_cm: 5.50 # colonne labels workstream (optionnelle)
|
|||
|
|
header_height_cm: 0.60 # ligne des mois
|
|||
|
|
workstream_height_cm: 2.80 # hauteur par workstream (2 lignes max)
|
|||
|
|
label_optional: true
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- period
|
|||
|
|
- workstreams
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
period_schema:
|
|||
|
|
required: [start, end]
|
|||
|
|
format: "YYYY-MM"
|
|||
|
|
workstreams_min: 1
|
|||
|
|
workstreams_max: 5
|
|||
|
|
workstream_schema:
|
|||
|
|
optional: [label]
|
|||
|
|
required: [tasks]
|
|||
|
|
label_max_chars: 30
|
|||
|
|
tasks_min: 1
|
|||
|
|
tasks_max: 4
|
|||
|
|
task_schema:
|
|||
|
|
required: [start, end]
|
|||
|
|
optional: [label, couleur, row]
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L23 — yearly_timeline
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
yearly_timeline:
|
|||
|
|
id: L23
|
|||
|
|
famille: "Process & roadmap"
|
|||
|
|
source: "PR Template p.37"
|
|||
|
|
roles_narratifs: [contexte]
|
|||
|
|
agent_hint: >
|
|||
|
|
Timeline horizontale de jalons annuels. Idéal pour historique ou prospective.
|
|||
|
|
Jalon actif en rose. Labels années au-dessus, descriptions courtes en dessous.
|
|||
|
|
Ne pas mettre plus de 6 jalons pour garder la lisibilité.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: timeline
|
|||
|
|
component: C22
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
axis_y_cm: 10.00 # position de l'axe horizontal
|
|||
|
|
milestones_spacing: auto # espacement calculé automatiquement
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- milestones
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
milestones_min: 3
|
|||
|
|
milestones_max: 6
|
|||
|
|
milestone_schema:
|
|||
|
|
required: [annee, label]
|
|||
|
|
optional: [description, actif]
|
|||
|
|
annee_max_chars: 10
|
|||
|
|
label_max_chars: 40
|
|||
|
|
description_max_chars: 80
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L24 — phases_timeline
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
phases_timeline:
|
|||
|
|
id: L24
|
|||
|
|
famille: "Process & roadmap"
|
|||
|
|
source: "Data Days 2022 p.7"
|
|||
|
|
roles_narratifs: [solution, methodologie]
|
|||
|
|
agent_hint: >
|
|||
|
|
Timeline en phases horizontales contiguës. Largeur proportionnelle à la durée.
|
|||
|
|
Chaque phase = un bandeau coloré + période + livrables en bullets.
|
|||
|
|
Pour projets séquentiels avec chevauchements possibles.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: phase_bars
|
|||
|
|
component: C22
|
|||
|
|
type: phases_variant # variante : bandes contiguës horizontales
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
phase_bar_height_cm: 0.65
|
|||
|
|
period_row_height_cm: 0.50
|
|||
|
|
bullets_area_top_cm: 4.20
|
|||
|
|
bullets_area_height_cm: 10.00
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- phases
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
phases_min: 2
|
|||
|
|
phases_max: 5
|
|||
|
|
phase_schema:
|
|||
|
|
required: [label, periode]
|
|||
|
|
optional: [items]
|
|||
|
|
label_max_chars: 15
|
|||
|
|
periode_max_chars: 15
|
|||
|
|
items_max: 4
|
|||
|
|
item_max_chars: 60
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ===========================================================================
|
|||
|
|
# FAMILLE 6 — ACTEURS & DÉCISION (L25-L28)
|
|||
|
|
# ===========================================================================
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L25 — org_chart
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
org_chart:
|
|||
|
|
id: L25
|
|||
|
|
famille: "Acteurs & décision"
|
|||
|
|
source: "Best practice 03 (Operating model)"
|
|||
|
|
roles_narratifs: [acteurs, contexte]
|
|||
|
|
agent_hint: >
|
|||
|
|
Organigramme hiérarchique. Niveau 1 = leadership (dark blue).
|
|||
|
|
Nœuds distribués automatiquement. Max 4 niveaux, max 20 nœuds total.
|
|||
|
|
Utile pour présenter le modèle opérationnel Data Governance.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: org_tree
|
|||
|
|
component: C23
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
layout_algorithm: top_down # distribution automatique top-down
|
|||
|
|
node_min_width_cm: 2.50
|
|||
|
|
node_height_cm: 0.65
|
|||
|
|
level_gap_cm: 1.20
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- root
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
max_total_nodes: 20
|
|||
|
|
max_levels: 4
|
|||
|
|
node_schema:
|
|||
|
|
required: [label]
|
|||
|
|
optional: [sous_label, children]
|
|||
|
|
label_max_chars: 35
|
|||
|
|
sous_label_max_chars: 30
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L26 — raci_table
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
raci_table:
|
|||
|
|
id: L26
|
|||
|
|
famille: "Acteurs & décision"
|
|||
|
|
source: "Standard project management"
|
|||
|
|
roles_narratifs: [acteurs, solution]
|
|||
|
|
agent_hint: >
|
|||
|
|
Matrice RACI. Tâches en lignes, acteurs en colonnes header (R/A/C/I).
|
|||
|
|
R = Responsible (fait), A = Accountable (décide), C = Consulté, I = Informé.
|
|||
|
|
Chaque tâche a exactement 1 R et 1 A. Pas de cellule vide obligatoire pour C/I.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: raci_grid
|
|||
|
|
component: C24
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
task_col_width_cm: 8.00
|
|||
|
|
role_col_width_cm: auto # distribué sur le reste
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- roles
|
|||
|
|
- tasks
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
roles_min: 3
|
|||
|
|
roles_max: 6
|
|||
|
|
tasks_min: 2
|
|||
|
|
tasks_max: 8
|
|||
|
|
role_max_chars: 25
|
|||
|
|
task_schema:
|
|||
|
|
required: [label, raci]
|
|||
|
|
label_max_chars: 50
|
|||
|
|
raci_values: ["R", "A", "C", "I", ""]
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L27 — decision_tree
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
decision_tree:
|
|||
|
|
id: L27
|
|||
|
|
famille: "Acteurs & décision"
|
|||
|
|
source: "Best practice 02 p.16"
|
|||
|
|
roles_narratifs: [decision, solution]
|
|||
|
|
agent_hint: >
|
|||
|
|
Arbre de décision binaire. Question centrale → 2 branches YES/NO
|
|||
|
|
→ 2 options par branche. Branche recommandée en rose.
|
|||
|
|
Pour structurer un arbitrage stratégique avec ses implications concrètes.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: true
|
|||
|
|
logo_topbar: true
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone:
|
|||
|
|
component: C02
|
|||
|
|
left_cm: 1.80
|
|||
|
|
top_cm: 0.45
|
|||
|
|
width_cm: 30.00
|
|||
|
|
height_cm: 1.90
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: decision_tree
|
|||
|
|
component: C25
|
|||
|
|
left_cm: 1.50
|
|||
|
|
top_cm: 2.80
|
|||
|
|
width_cm: 30.87
|
|||
|
|
height_cm: 14.85
|
|||
|
|
question_node:
|
|||
|
|
width_cm: 6.00
|
|||
|
|
height_cm: 3.00
|
|||
|
|
left_cm: 1.50 # relatif à la zone
|
|||
|
|
center_y_cm: 7.40
|
|||
|
|
branch_node:
|
|||
|
|
width_cm: 5.50
|
|||
|
|
height_cm: 2.50
|
|||
|
|
option_node:
|
|||
|
|
width_cm: 5.00
|
|||
|
|
height_cm: 1.60
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- titre
|
|||
|
|
- question
|
|||
|
|
- branches
|
|||
|
|
optional:
|
|||
|
|
- sous_titre
|
|||
|
|
constraints:
|
|||
|
|
question_max_chars: 80
|
|||
|
|
branches_schema:
|
|||
|
|
required: [yes, no]
|
|||
|
|
branch_schema:
|
|||
|
|
required: [label, options]
|
|||
|
|
label_max_chars: 60
|
|||
|
|
options_min: 1
|
|||
|
|
options_max: 2
|
|||
|
|
option_max_chars: 60
|
|||
|
|
|
|||
|
|
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
# L28 — recommendation_card
|
|||
|
|
# ---------------------------------------------------------------------------
|
|||
|
|
recommendation_card:
|
|||
|
|
id: L28
|
|||
|
|
famille: "Acteurs & décision"
|
|||
|
|
source: "Best practice 02 p.14 (Fewer.Better)"
|
|||
|
|
roles_narratifs: [solution, decision, next-steps]
|
|||
|
|
agent_hint: >
|
|||
|
|
Carte de recommandation unique et cadrée. Sidebar gauche jaune =
|
|||
|
|
numéro + titre court + résumé + CTA. Corps droit = headline + bullets détaillés.
|
|||
|
|
Format "Fewer. Better." — une recommandation précise par slide.
|
|||
|
|
|
|||
|
|
background:
|
|||
|
|
component: C01
|
|||
|
|
color: "#ffffff"
|
|||
|
|
|
|||
|
|
signature:
|
|||
|
|
accent_bar: false # la sidebar remplace la barre d'accent
|
|||
|
|
logo_topbar: false
|
|||
|
|
footer: true
|
|||
|
|
|
|||
|
|
title_zone: null # le titre est dans la sidebar (numero + titre)
|
|||
|
|
|
|||
|
|
content_zones:
|
|||
|
|
- id: sidebar
|
|||
|
|
component: C26
|
|||
|
|
left_cm: 0.00
|
|||
|
|
top_cm: 0.00
|
|||
|
|
width_cm: 8.00
|
|||
|
|
height_cm: 18.35 # pleine hauteur (hors footer)
|
|||
|
|
- id: main_header
|
|||
|
|
type: header_band
|
|||
|
|
left_cm: 8.50
|
|||
|
|
top_cm: 1.00
|
|||
|
|
width_cm: 24.87
|
|||
|
|
height_cm: 1.20
|
|||
|
|
background: "theme.colors.primary.dark_blue"
|
|||
|
|
text_color: "#ffffff"
|
|||
|
|
font: "theme.typography.body"
|
|||
|
|
size_pt: 11
|
|||
|
|
bold: true
|
|||
|
|
letter_spacing: 0.15 # style "FEWER. BETTER."
|
|||
|
|
- id: main_content
|
|||
|
|
component: C06
|
|||
|
|
left_cm: 8.50
|
|||
|
|
top_cm: 2.50
|
|||
|
|
width_cm: 24.37
|
|||
|
|
height_cm: 14.85
|
|||
|
|
|
|||
|
|
json_schema:
|
|||
|
|
required:
|
|||
|
|
- numero
|
|||
|
|
- titre
|
|||
|
|
- headline
|
|||
|
|
- bullets
|
|||
|
|
optional:
|
|||
|
|
- subtitle
|
|||
|
|
- resume
|
|||
|
|
- cta
|
|||
|
|
constraints:
|
|||
|
|
numero_type: integer
|
|||
|
|
numero_min: 1
|
|||
|
|
numero_max: 9
|
|||
|
|
titre_max_chars: 30
|
|||
|
|
headline_max_chars: 40
|
|||
|
|
bullets_min: 2
|
|||
|
|
bullets_max: 6
|
|||
|
|
bullet_max_chars: 100
|
|||
|
|
resume_max_chars: 120
|
|||
|
|
cta_max_chars: 30
|