# Format de fichier Presenter (.pres.md)
> Documentation technique — ProAppli Presenter

---

## Vue d'ensemble

Un fichier `.pres.md` est un fichier Markdown étendu avec une syntaxe inspirée de **Marp**.  
Chaque présentation commence par un **front matter YAML**, puis les slides sont séparées par `---`.

```
[Front Matter YAML]
---

[Slide 1]

---

[Slide 2]

---

[Slide 3]
```

---

## 1. Front Matter (entête YAML)

Obligatoire en début de fichier, délimité par `---` :

```yaml
---
theme: corporate-blue
style: professional
title: Mon titre de présentation
subject: Description du sujet
font: 'Roboto, sans-serif'
created: 2025-01-15
---
```

| Champ | Valeurs possibles | Description |
|-------|-------------------|-------------|
| `theme` | `corporate-blue`, `emerald`, `sunset`, `midnight`, `rose`, `slate` | Palette de couleurs |
| `style` | `professional`, `creative`, `minimal`, `bold`, `elegant` | Style de génération IA et typographie |
| `title` | texte libre | Titre de la présentation |
| `subject` | texte libre | Sujet ou description |
| `font` | police CSS | Police principale |
| `created` | date ISO | Date de création |

---

## 2. Typographie de base

Syntaxe Markdown standard :

```markdown
# Titre principal (H1) — grand titre de slide
## Sous-titre (H2) — titre de section
### Titre de bloc (H3) — titre de colonne ou bloc

Paragraphe de texte normal, corps de slide.

- Point de liste niveau 1
- Autre point
  - Sous-point (2 espaces + tiret)
  - Autre sous-point

1. Liste numérotée
2. Deuxième item

> Citation en bloc, mise en avant d'une phrase clé.

`code inline`
```

---

## 3. Layouts de slides

### 3.1 Slide titre centré (slide de couverture)

Le contenu est automatiquement centré si la slide ne contient qu'un H1 et un H2 sans autres éléments.

```markdown
# Titre de ma présentation
## Sous-titre ou accroche
```

---

### 3.2 Slide titre + texte (layout standard)

```markdown
# Titre de la slide

Introduction en un paragraphe court.

- Premier point important
- Deuxième point
- Troisième point avec détail
  - Sous-détail A
  - Sous-détail B
```

---

### 3.3 Layout 2 colonnes

Utilise des balises HTML dans le Markdown. Les deux blocs `slide-column` sont affichés côte à côte.

```markdown
# Titre de la slide

<div class="slide-columns">
  <div class="slide-column">

### Colonne gauche

- Point A
- Point B
- Point C

  </div>
  <div class="slide-column">

### Colonne droite

- Point D
- Point E
- Point F

  </div>
</div>
```

---

### 3.4 Layout 3 colonnes

```markdown
# Comparaison en 3 parties

<div class="slide-columns">
  <div class="slide-column">

### Option A
Texte descriptif de l'option A.

  </div>
  <div class="slide-column">

### Option B
Texte descriptif de l'option B.

  </div>
  <div class="slide-column">

### Option C
Texte descriptif de l'option C.

  </div>
</div>
```

---

### 3.5 Layout 4 blocs (2×2)

```markdown
# Vue d'ensemble en 4 points

<div class="slide-blocks">
  <div class="slide-block">

### 🎯 Bloc 1
Description courte du premier bloc.

  </div>
  <div class="slide-block">

### 📊 Bloc 2
Description courte du deuxième bloc.

  </div>
  <div class="slide-block">

### 🚀 Bloc 3
Description courte du troisième bloc.

  </div>
  <div class="slide-block">

### 💡 Bloc 4
Description courte du quatrième bloc.

  </div>
</div>
```

---

## 4. Syntaxe d'images (style Marp étendu)

### 4.1 Image standard (inline Markdown)

Image centrée dans le contenu de la slide, taille automatique.

```markdown
# Ma slide avec image

Texte d'introduction.

![description de l'image](https://exemple.com/image.jpg)
```

---

### 4.2 Image avec largeur fixe `![w:Npx](url)`

Affiche une image à une largeur précise en pixels. Utile pour contrôler la taille.

```markdown
# Slide avec image dimensionnée

![w:500](https://exemple.com/photo.jpg)

Texte sous l'image.
```

---

### 4.3 Deux images côte à côte `![w:Npx](url)` × 2

Deux (ou plus) images `w:` consécutives sont automatiquement placées en ligne horizontale.

```markdown
# Comparaison visuelle

![w:400](https://exemple.com/avant.jpg)
![w:400](https://exemple.com/apres.jpg)
```

---

### 4.4 Image centrée avec largeur `![center w:N](url)`

Image centrée horizontalement avec largeur explicite. Le texte se place au-dessous.

```markdown
# Diagramme centré

![center w:700](https://exemple.com/schema.png)

Légende ou explication sous le diagramme.
```

---

### 4.5 Image à gauche + texte à droite `![bg left:N%](url)`

**Layout split** : l'image occupe N% de la largeur à gauche, le texte remplit le reste à droite.

```markdown
![bg left:40%](https://exemple.com/photo.jpg)

# Titre à droite

- Point clé numéro 1
- Point clé numéro 2
- Point clé numéro 3
```

> `40%` est la largeur de l'image. Valeurs typiques : `30%` à `60%`.

---

### 4.6 Image à droite + texte à gauche `![bg right:N%](url)`

Même principe, image à droite.

```markdown
![bg right:45%](https://exemple.com/illustration.jpg)

# Titre à gauche

Paragraphe de présentation avec le texte
positionné à gauche et l'image à droite.

- Avantage A
- Avantage B
```

---

### 4.7 Image plein écran (fond) + texte par-dessus `![bg](url)`

L'image couvre toute la slide. Le texte s'affiche par-dessus avec un fond semi-transparent.

```markdown
![bg](https://exemple.com/fond-paysage.jpg)

# Titre en surimpression

Texte affiché par-dessus l'image de fond.
```

---

### 4.8 Image en haut (40%) + texte en bas `![center w:N](url)` seul

Quand la slide contient **uniquement** une image `center w:`, elle occupe 40% en haut et le texte suit en bas.

```markdown
![center w:900](https://exemple.com/graphique.png)

# Titre sous l'image

Explication ou analyse du graphique ci-dessus.
```

---

## 5. Exemple de présentation complète

```markdown
---
theme: corporate-blue
style: professional
title: Stratégie 2025
subject: Présentation annuelle
created: 2025-01-15
---

# Stratégie 2025
## Vision, Objectifs et Plan d'action

---

# Contexte

Notre marché évolue rapidement sur trois axes majeurs :

- Digitalisation accélérée des usages
- Pression croissante sur les coûts
  - Énergie +30% en 2 ans
  - Main d'œuvre en tension
- Nouvelles réglementations européennes

---

![bg left:40%](https://exemple.com/equipe.jpg)

# Notre équipe

Forte de 120 collaborateurs répartis sur 4 sites.

- Pôle R&D : 35 personnes
- Pôle Commercial : 40 personnes
- Pôle Support : 25 personnes
- Direction : 20 personnes

---

# Nos 3 piliers stratégiques

<div class="slide-columns">
  <div class="slide-column">

### 🎯 Innovation
Investir 15% du CA en R&D pour rester leader technologique.

  </div>
  <div class="slide-column">

### 🤝 Partenariats
Développer 5 nouveaux partenariats stratégiques en Europe.

  </div>
  <div class="slide-column">

### 📈 Croissance
Atteindre 25M€ de CA avec une marge nette de 12%.

  </div>
</div>

---

# Résultats comparatifs

![w:420](https://exemple.com/graphe-2024.png)
![w:420](https://exemple.com/graphe-2025.png)

Progression de 18% entre 2024 et 2025 (cibles).

---

# Plan d'action 2025

<div class="slide-blocks">
  <div class="slide-block">

### Q1 — Lancement
Déploiement de la nouvelle plateforme client.

  </div>
  <div class="slide-block">

### Q2 — Expansion
Ouverture des marchés Allemagne et Espagne.

  </div>
  <div class="slide-block">

### Q3 — Consolidation
Revue mi-parcours et ajustements stratégiques.

  </div>
  <div class="slide-block">

### Q4 — Bilan
Clôture exercice et préparation feuille de route 2026.

  </div>
</div>

---

![bg](https://exemple.com/fond-ville.jpg)

# Merci !
## Questions & Discussion

---
```

---

## 6. Règles importantes

- Les slides sont séparées par `---` seul sur une ligne (avec lignes vides avant et après).
- Le front matter utilise aussi `---` mais uniquement au tout début du fichier.
- À l'intérieur des `<div class="slide-column">` ou `<div class="slide-block">`, laisser une ligne vide avant et après le Markdown pour qu'il soit correctement interprété.
- Les syntaxes `![bg left:N%]`, `![bg right:N%]` et `![bg]` doivent être placées **en début de slide**, avant le texte.
- Pour les images `![w:N]` côte à côte, les placer sur des **lignes consécutives** sans ligne vide entre elles.
- Ne pas mélanger `![bg]` et `![w:]` ou colonnes HTML dans la même slide.
