Guide complet de Markdown vers HTML : De la syntaxe de base aux techniques de mise en page avancées
Documents
Pourquoi Markdown ?
Markdown est le standard de facto pour la documentation technique — GitHub, Stack Overflow, Notion et VS Code le prennent en charge nativement.
| Comparaison | Markdown | Word | HTML |
|---|---|---|---|
| Courbe d'apprentissage | Faible | Moyenne | Élevée |
| Contrôle de version | ✅ Texte brut | ❌ Binaire | ✅ Texte brut |
| Lisibilité | ✅ Le source est le document | ❌ | ❌ |
| Capacité expressive | Moyenne (forte avec extensions) | Forte | Forte |
| Cohérence du rendu | Moyenne | ❌ Varie selon la plateforme | ✅ |
Référence rapide de la syntaxe de base
Titres
# Titre H1
## Titre H2
### Titre H3
#### Titre H4
##### Titre H5
###### Titre H6
Mise en valeur
**Gras** → <strong>Gras</strong>
*Italique* → <em>Italique</em>
~~Barré~~ → <del>Barré</del>
`Code en ligne` → <code>Code en ligne</code>
Listes
- Élément de liste non ordonnée 1
- Élément de liste non ordonnée 2
- Élément imbriqué
1. Élément de liste ordonnée 1
2. Élément de liste ordonnée 2
1. Ordonné imbriqué
- [ ] Tâche (incomplète)
- [x] Tâche (complétée)
Liens et images
[Texte du lien](https://example.com)
[Lien avec titre](https://example.com "Titre")


Citations et lignes horizontales
> Texte de citation
> > Citation imbriquée
---
Syntaxe étendue GFM
Tableaux
| Aligné à gauche | Centré | Aligné à droite |
|:-------|:----:|-------:|
| Contenu | Contenu | Contenu |
| Contenu long | Court | Moyen |
Résultat du rendu :
| Aligné à gauche | Centré | Aligné à droite |
|---|---|---|
| Contenu | Contenu | Contenu |
| Contenu long | Court | Moyen |
Listes de tâches
- [x] Analyse des besoins
- [x] Conception technique
- [ ] Développement
- [ ] Tests et recette
Blocs de code clôturés
```javascript
function hello() {
console.log('Hello, Markdown!');
}
```
```python
def hello():
print("Hello, Markdown!")
```
Notes de bas de page
Ceci est un texte[^1], et une autre partie[^note].
[^1]: Ceci est le contenu de la première note de bas de page.
[^note]: Ceci est une note de bas de page avec un identifiant personnalisé.
Techniques de mise en page avancées
1. Formules mathématiques (KaTeX/MathJax)
Formule en ligne : $E = mc^2$
Formule en bloc :
$$
\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi}
$$
Matrice :
$$
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
$$
2. Diagrammes Mermaid
```mermaid
graph TD
A[Requête utilisateur] --> B{Vérification d'authentification}
B -->|Authentifié| C[Obtenir les données]
B -->|Non authentifié| D[Retourner 401]
C --> E[Afficher la page]
```
Types de diagrammes pris en charge :
| Type | Mot-clé | Utilisation |
|---|---|---|
| Organigramme | graph |
Processus métier, arbre de décision |
| Diagramme de séquence | sequenceDiagram |
Appels API, flux d'interaction |
| Diagramme de classes | classDiagram |
Conception orientée objet |
| Diagramme d'états | stateDiagram |
Machine à états |
| Diagramme de Gantt | gantt |
Planification de projet |
| Diagramme circulaire | pie |
Répartition des données |
3. Table des matières (TOC)
<!-- Générer la table des matières automatiquement -->
[[toc]]
<!-- Ou manuellement -->
- [Installer](#installer)
- [Configurer](#configurer)
- [Utiliser](#utiliser)
4. Listes de définitions
Terme 1
: Définition 1
Terme 2
: Définition 2
5. Abréviations
*[HTML]: Hyper Text Markup Language
*[W3C]: World Wide Web Consortium
HTML est un standard développé par le W3C.
Utiliser ToolsKu pour convertir le Markdown
Étapes de fonctionnement
- Ouvrez l'Éditeur Markdown
- Saisissez le Markdown dans la zone d'édition à gauche
- L'aperçu du rendu HTML s'affiche en temps réel à droite
- Vous pouvez basculer en mode « code source » pour voir le HTML généré
- L'exportation en fichier HTML est prise en charge
Extensions prises en charge
| Extension | Description | Exemple |
|---|---|---|
| GFM | Tableaux, listes de tâches, notes de bas de page | Style GitHub |
| Formules mathématiques | Rendu avec KaTeX | $E=mc^2$ |
| Mermaid | Rendu de diagrammes | Organigramme, diagramme de séquence |
| Coloration syntaxique | Prism.js/highlight.js | Coloration des blocs de code |
| Émoji | :smile: → 😄 |
Remplacement de codes courts |
Principes de conversion du Markdown en HTML
Flux d'analyse
Texte Markdown
↓
Analyse lexicale (Lexer) → Flux de tokens
↓
Analyse syntaxique (Parser) → AST (Arbre syntaxique abstrait)
↓
Rendu (Renderer) → Chaîne HTML
Bibliothèques d'analyse principales
| Bibliothèque | Langage | Caractéristiques | Taille |
|---|---|---|---|
| marked | JS | La plus rapide, la plus populaire | 40KB |
| markdown-it | JS | Plugins riches, extensible | 60KB |
| remark | JS | Écosystème AST, base de MDX | 100KB+ |
| CommonMark | JS | Conformité stricte au standard | 50KB |
| pulldown-cmark | Rust | Performance extrême | WASM 200KB |
Utilisation de base de marked
import { marked } from 'marked';
const html = marked.parse('# Hello **Markdown**');
// <h1>Hello <strong>Markdown</strong></h1>
markdown-it + plugins
import MarkdownIt from 'markdown-it';
import mk from 'markdown-it-mark';
import footnote from 'markdown-it-footnote';
import tasklist from 'markdown-it-task-lists';
const md = new MarkdownIt({ html: true, linkify: true })
.use(mk)
.use(footnote)
.use(tasklist);
const result = md.render('# Hello Markdown');
MDX : Markdown + JSX
MDX permet d'utiliser des composants React dans le Markdown :
---
title: "Mon article"
---
import { Chart } from './components/Chart';
import { Callout } from './components/Callout';
# Rapport d'analyse de données
<Callout type="warning">
Les données suivantes sont basées sur l'échantillonnage du Q1 2026.
</Callout>
## Tendance de croissance des utilisateurs
<Chart data={growthData} type="line" />
| Mois | Utilisateurs | Taux de croissance |
|------|--------|--------|
| Jan | 10,000 | - |
| Fév | 12,500 | 25% |
| Mar | 15,000 | 20% |
Bonnes pratiques
1. Organisation des fichiers
docs/
├── getting-started.md
├── configuration.md
├── api/
│ ├── authentication.md
│ ├── endpoints.md
│ └── errors.md
└── guides/
├── deployment.md
└── troubleshooting.md
2. Conventions de rédaction
- Une phrase par ligne : Compatible avec Git diff, facilite la revue des modifications
- Ne pas sauter de niveaux de titres : H1 → H2 → H3, pas H1 → H3
- Spécifier le langage dans les blocs de code : ````javascript` au lieu de `````
- Utiliser les liens en style référence : Dans les documents longs,
[texte][ref]est plus propre que[texte](url) - Ajouter un texte alternatif aux images :
améliore l'accessibilité
3. Outils Lint
# Installer markdownlint
npm install -g markdownlint-cli
# Vérifier
markdownlint docs/**/*.md
# Corriger automatiquement
markdownlint docs/**/*.md --fix
Questions fréquentes
Le HTML dans le Markdown ne fonctionne pas ?
Certains analyseurs désactivent le HTML brut par défaut, vous devez activer l'option html: true.
Les tableaux ne prennent pas en charge la fusion de cellules ?
Les tableaux Markdown standard ne prennent pas en charge la fusion de cellules. Utilisez des tableaux HTML si nécessaire :
<table>
<tr>
<th>Nom</th>
<th>Description</th>
</tr>
<tr>
<td rowspan="2">Projet A</td>
<td>Sous-élément 1</td>
</tr>
<tr>
<td>Sous-élément 2</td>
</tr>
</table>
La syntaxe Markdown dans les blocs de code est analysée ?
Utilisez plus d'accents graves pour l'imbrication :
````markdown
```javascript
console.log('Ne sera pas analysé par la couche externe');
```
---
## Résumé
Markdown est le meilleur format pour la rédaction technique — concis, contrôlable en version, écosystème riche. Maîtrisez la syntaxe de base + les extensions GFM + les formules mathématiques + les diagrammes Mermaid, et vous pourrez rédiger une documentation technique de niveau professionnel. L'[Éditeur Markdown](/fr/docs/markdown) de ToolsKu offre un aperçu en temps réel et l'exportation, vous permettant de vous concentrer sur le contenu plutôt que sur la mise en page.
#Markdown#HTML转换#文档编写#排版#教程