Convertisseur Markdown vers HTML
Convertissez le Markdown en HTML propre avec un aperçu en direct — titres, listes, liens, blocs de code et plus, le tout dans votre navigateur.
1 116 vues
Comment ça fonctionne
Ce convertisseur suit la spécification CommonMark — une version rigoureusement définie du Markdown qui lève les ambiguïtés laissées ouvertes par la description originale de 2004 (comment les listes imbriquées interagissent avec des paragraphes espacés, ce qui se passe quand un marqueur de liste se trouve à l'intérieur d'une citation, etc.). L'analyse se déroule en deux passes distinctes. La première passe est de niveau bloc : le texte brut est découpé en unités structurelles — paragraphes, titres ATX (# à ######), blocs de code balisés, citations, listes ordonnées et non ordonnées, lignes horizontales — en lisant uniquement la structure des lignes et l'indentation, sans encore regarder ce que chaque bloc contient. La seconde passe est de niveau en ligne : à l'intérieur de chaque bloc, l'analyseur recherche les marqueurs d'emphase (*italique*, **gras**), les segments de code en ligne (`code`), et la syntaxe de lien ou d'image ([texte](url)), puis les réécrit sous forme des balises HTML correspondantes. Cette conception en deux phases explique pourquoi un astérisque situé à l'intérieur d'un bloc de code balisé reste intact — les blocs de code sont entièrement résolus dès la première passe, avant que les règles d'emphase en ligne n'atteignent jamais leur contenu.
Exemple : avec ## Notes de version suivi d'une ligne vide puis de - **v2.1** : corrections, l'analyse de niveau bloc identifie d'abord un titre et une liste à un élément ; l'analyse en ligne transforme ensuite **v2.1** en <strong>v2.1</strong> à l'intérieur du <li>. Les tableaux suivent l'extension GFM (GitHub Flavored Markdown) ajoutée par-dessus CommonMark : une ligne d'en-tête, une ligne séparatrice --- dont le positionnement des deux-points (:--, :-:, --:) fixe l'alignement de la colonne, et autant de lignes de données que nécessaire en dessous.
Ce qu'il faut savoir
- Le HTML brut est échappé, pas exécuté — coller une balise script ou un gestionnaire d'événement en ligne s'affiche comme du texte visible au lieu de s'exécuter, un choix de sécurité délibéré pour du contenu collé ou non fiable.
- Listes serrées et listes aérées changent le résultat — une ligne vide entre les éléments d'une liste force CommonMark à envelopper chaque élément dans son propre <p> (liste « aérée ») ; l'absence de ligne vide garde les éléments en contenu en ligne simple (liste « serrée »), ce qui modifie l'espacement vertical du HTML rendu.
- L'imbrication très profonde a un plafond pratique — quatre niveaux ou plus de listes imbriquées, ou des définitions de liens par référence, sont du CommonMark valide, mais relèvent davantage d'un analyseur dédié à la compilation que d'un aperçu en direct dans le navigateur.
Questions fréquentes
Les tableaux sont-ils pris en charge ?
Oui, via l'extension de tableaux GFM (GitHub Flavored Markdown) : une ligne d'en-tête, une ligne séparatrice ---, et autant de lignes de données que voulu, délimitées par des barres verticales. Placer un deux-points à l'une des extrémités des cellules de séparation (:--, :-:, --:) fixe l'alignement à gauche, au centre ou à droite pour cette colonne — c'est une extension ajoutée par-dessus le CommonMark de base, pas une partie de la spécification originale.
Pourquoi ma balise HTML s'affiche-t-elle comme du texte au lieu d'être rendue ?
C'est voulu. Le HTML brut présent dans la saisie est échappé plutôt que transmis tel quel à la sortie, donc une balise <script> collée ou un attribut onclick s'affiche comme du texte littéral au lieu de s'exécuter — c'est ce qui rend sûr le fait de coller du contenu non fiable. Écrivez plutôt l'équivalent en syntaxe Markdown, ou déséchappez manuellement ensuite si vous faites entièrement confiance à la source.
L'espacement des lignes suit-il exactement les règles Markdown ?
Oui : une ligne vide entre des lignes de texte sépare les paragraphes, et terminer une ligne par deux espaces avant le saut de ligne produit un <br> au lieu d'une séparation de paragraphe. Un simple retour à la ligne au milieu d'un paragraphe est simplement rattaché à la même ligne, exactement comme le spécifie CommonMark — ce qui déroute souvent les personnes venant d'éditeurs de texte brut où chaque retour à la ligne compte.
Pourquoi le formatage à l'intérieur d'une liste imbriquée ou d'un bloc de code paraît-il parfois inattendu ?
Parce que l'analyse se fait en deux phases : la structure des blocs (listes, blocs de code balisés, citations) est résolue en premier, uniquement à partir de l'indentation et des marqueurs de ligne, avant que le formatage en ligne (gras, italique, liens) ne soit appliqué à l'intérieur de chaque bloc. Le contenu d'un bloc de code balisé n'est jamais touché par la passe en ligne, donc **ceci** y reste du texte littéral au lieu de devenir gras — c'est le comportement attendu de CommonMark, pas un bug.
Quelle est la différence entre le CommonMark de base et les fonctionnalités « GitHub Flavored » ?
Le CommonMark de base définit précisément les titres, l'emphase, les listes, les citations, les blocs de code et les liens. Les tableaux, le texte barré (~~texte~~) et les cases à cocher de listes de tâches ([ ] / [x]) sont des extensions GFM ajoutées par-dessus — largement prises en charge par des convertisseurs comme celui-ci, mais non garanties dans chaque implémentation strictement CommonMark où vous pourriez coller le résultat par la suite.
Outils similaires
Signaler un problème
Convertisseur Markdown vers HTML
Commentaires
Pas encore de commentaires — soyez le premier à en écrire un !