Skip to content

Comment ça marche ​

DWA repose sur trois couches indépendantes : le contenu, le langage et le thème. Comprendre leur séparation, c’est comprendre tout l’outil.

Les trois couches ​

text
┌───────────────────────────────┐
│ Contenu    : Markdown         │  ← l’auteur
├───────────────────────────────┤
│ Langage    : classes Core v1  │  ← contrat stable (content, cols-3, color-2…)
├───────────────────────────────┤
│ Thème      : CSS (@theme …)   │  ← la charte de l’organisation
└───────────────────────────────┘
          rendu par Marp

1. Le contenu : du Markdown ​

Une présentation est un fichier .md lu par Marp. Les slides sont séparées par ---. Titres, paragraphes, listes, tableaux, images et citations s’écrivent comme partout ailleurs.

md
---
marp: true
theme: DWA
paginate: true
---

# Première slide

---

# Deuxième slide

2. Le langage : des classes ​

Chaque slide reçoit une directive Marp qui liste des classes :

md
<!-- _class: content cols-2 cards with-title medium color-4 -->

Ces mots ne sont pas du CSS libre : ils forment un vocabulaire fermé, le Core v1, avec une grammaire simple (un layout, au plus une composition, des options). Le guide du langage les décrit tous.

Le préfixe _ limite la directive à la slide courante. Sans lui (class:), la directive s’applique aussi aux slides suivantes, comme le prévoit Marp.

3. Le thème : la charte ​

Le thème est un fichier CSS qui déclare son nom (/* @theme DWA */) et implémente les classes du langage. Il fournit les couleurs, les polices, les fonds graphiques et les dimensions (16:9, 1280 × 720 pixels pour le thème DWA).

Le nom du thème est libre. theme: Client-A ou theme: Formation fonctionnent dès lors que le CSS correspondant implémente le Core v1. Changer de thème change l’apparence, jamais la structure du Markdown.

Pourquoi des classes plutôt que du HTML ? ​

ApprocheCe que l’auteur écritConséquence
HTML/CSS dans la slide<div style="display:grid;…">Chaque présentation réinvente la mise en page ; la charte dérive.
Classes DWAcontent cols-3 cardsLa mise en page est décidée une fois, dans le thème ; l’outil peut vérifier.

Un vocabulaire fermé a un autre avantage : il est vérifiable. L’extension sait que gallery-bento attend six images, que color-1 color-2 est ambigu ou qu’un with-legend sans paragraphe final prendra le mauvais texte. Elle peut donc vous le dire.

Le parcours d’une slide ​

  1. Vous écrivez la directive et le contenu dans VS Code. L’extension propose les classes compatibles et préremplit la structure.
  2. Le serveur de langage analyse le Markdown : classes inconnues, combinaisons ambiguës, structure attendue par la composition.
  3. Le rendu est mesuré dans un Chromium local, avec Marp Core et le CSS choisi : un texte qui sort de sa carte est signalé.
  4. Vous prévisualisez avec Marp for VS Code, puis exportez en HTML, PDF (Marp) ou PowerPoint éditable (DWA).

Où intervient le portail ? ​

Le portail des thèmes ne touche pas aux présentations. Il distribue le thème : une personne habilitée publie une version, qui passe d’abord le validateur des thèmes, et la destine à l’organisation ou à un groupe. L’extension des personnes concernées la télécharge, vérifie son empreinte et l’installe une fois pour tout VS Code : toutes leurs présentations peuvent l’utiliser. Les nouvelles versions sont proposées discrètement, jamais imposées.

Ce qui est stable, ce qui peut évoluer ​

Le Core v1 fixe le vocabulaire public : les layouts, les compositions, les options, les valeurs admises et leur sens. Les couleurs exactes, polices, espacements et motifs appartiennent au thème et peuvent évoluer sans modifier le Markdown. Une extension future du langage ajoutera des noms ; elle ne changera pas silencieusement le sens d’un nom existant.

Documentation du langage DWA Core v1, de l’extension VS Code, du CLI et du portail des thèmes.