HTML vers Markdown : Quand convertir et ce que vous perdrez
📷 Ilya Pavlov / PexelsHTML vers Markdown : Quand convertir et ce que vous perdrez
Convertir HTML en Markdown n'est pas sans perte. Apprenez ce qui se traduit proprement, ce qui casse, et comment le faire correctement avec des outils gratuits.
Si vous avez passé du temps à travailler avec du contenu sur le web, vous avez probablement rencontré le moment où vous avez une pile de HTML et souhaitez que ce soit du Markdown. Ou l'inverse. Les deux formats coexistent dans le monde du développeur dans une relation instable — HTML est le langage du web, Markdown est le langage des gens qui écrivent pour le web.
Ce guide porte sur cette conversion : quand elle a du sens, ce que vous échangez, et comment la faire efficacement.
Ce qu'est Markdown et pourquoi les développeurs l'adorent
Markdown a été créé par John Gruber et Aaron Swartz en 2004 avec un objectif simple : créer un format en texte brut qui se lit naturellement tel quel, mais qui peut aussi être converti en HTML propre.
Il a réussi avec éclat. Aujourd'hui Markdown alimente les READMEs GitHub, les wikis GitLab, les pages Notion, les vaults Obsidian, les sites de documentation et d'innombrables plateformes de blog. Si vous avez déjà tapé **gras** ou # Titre dans un éditeur de texte, vous avez écrit du Markdown.
L'attrait est réel. Comparez l'écriture en HTML brut :
<h2>Démarrage</h2>
<p>Installez le paquet avec <code>npm install my-package</code> puis importez-le :</p>
<ul>
<li>Importer l'export par défaut</li>
<li>Appeler la fonction <code>init()</code></li>
</ul>
Versus Markdown :
## Démarrage
Installez le paquet avec `npm install my-package` puis importez-le :
- Importer l'export par défaut
- Appeler la fonction `init()`
Les mêmes informations. La version Markdown est plus rapide à écrire, plus facile à lire en forme brute, et moins sujette aux erreurs (pas de balises fermantes oubliées).
Quand vous voudriez réellement convertir HTML en Markdown
La conversion apparaît généralement dans quelques situations spécifiques.
Migration d'un CMS vers un générateur de site statique
C'est le cas le plus important. Vous avez un site WordPress, ou un site Wix, ou un CMS personnalisé qui stocke le contenu en HTML dans une base de données. Vous voulez migrer vers Gatsby, Hugo, Jekyll ou Astro — qui tous fonctionnent nativement avec des fichiers Markdown.
Le contenu existe encore ; il est juste dans le mauvais format. Plutôt que de réécrire des centaines de posts à la main, exportez le HTML et convertissez-le en masse en Markdown.
Écrire des READMEs GitHub et de la documentation
GitHub affiche Markdown magnifiquement, mais parfois votre matériel source existe en HTML. Plutôt que de coller du désordre HTML dans votre README, convertissez-le d'abord en Markdown propre.
Archiver ou réutiliser du contenu web
Disons que vous avez scrapé ou téléchargé une page web et voulez archiver son contenu dans un format lisible et éditable. Le HTML avec toutes ses classes, IDs, scripts et pixels de suivi est un cauchemar à lire. Le Markdown nettoyé de ce bruit est propre et portable.
Nettoyer les collages de texte enrichi
Cela arrive constamment : vous copiez du texte depuis une page web ou Google Doc et le collez dans votre éditeur. Vous vous retrouvez avec du HTML caché ou une mise en forme riche qui cause toutes sortes de problèmes.
Ce qui se perd lors de la conversion
Le style CSS disparaît. Tailles de police, couleurs, espacement personnalisé, bordures, arrière-plans — rien de tout ça ne survit.
Le support des tableaux complexes est partiel. Markdown supporte les tableaux basiques (via l'extension GitHub Flavored Markdown), mais seulement les simples.
Les attributs HTML au-delà de href et src sont supprimés. Les attributs data-*, class, id, style, aria-* ne sont pas portés par les équivalents Markdown.
Les composants personnalisés et les intégrations. iFrames, intégrations vidéo, éléments HTML personnalisés — Markdown n'a pas d'équivalent.
La conversion inverse est sans perte. Markdown vers HTML est une conversion complète. L'autre direction est avec perte. Gardez une sauvegarde.
Comment la conversion fonctionne réellement
Les convertisseurs HTML-vers-Markdown fonctionnent en analysant le HTML en arbre DOM, puis en parcourant chaque élément et en le traduisant en son équivalent Markdown :
<h1>à<h6>deviennent#à######<p>devient un paragraphe avec des lignes vides autour<strong>et<b>deviennent**gras**<em>et<i>deviennent*italique*<a href="...">devient[texte](url)<img src="...">devient<ul>et<ol>deviennent des listes Markdown<code>devient du code entouré de backticks- Les blocs
<pre><code>deviennent des blocs de code délimités
Utiliser notre outil HTML vers Markdown gratuit
Notre convertisseur HTML vers Markdown gère les scénarios de conversion les plus courants sans aucune installation ou configuration.
Comment l'utiliser :
- Collez votre HTML dans le panneau de saisie sur la gauche
- La sortie Markdown apparaît instantanément sur la droite
- Examinez la conversion pour tout ce qui semble anormal
- Copiez le Markdown et utilisez-le où vous en avez besoin
Si vous voulez prévisualiser comment votre Markdown sera rendu, l'outil Markdown Preview vous permet de coller du Markdown et de voir la sortie HTML rendue côte à côte.
Conversion manuelle vs outils automatisés
La conversion manuelle vous donne un contrôle total. Vous pouvez porter des jugements. Le résultat est exactement ce que vous voulez. Mais cela ne passe pas à l'échelle.
Les outils automatisés gèrent les conversions en masse et sont rapides. Vous aurez presque toujours besoin d'un nettoyage, notamment pour :
- Les éléments de navigation inclus dans la conversion
- Le texte boilerplate (avis de cookies, CTA newsletter)
- Les artefacts de mise en forme étranges provenant de mises en page CSS complexes
Outils et bibliothèques spécialisés
Turndown.js (JavaScript) est probablement la bibliothèque HTML-vers-Markdown la plus utilisée dans l'écosystème Node.js.
const TurndownService = require('turndown');
const turndownService = new TurndownService();
const markdown = turndownService.turndown('<h1>Bonjour Monde</h1>');
Pandoc est le couteau suisse de la conversion de documents. Il convertit entre des dizaines de formats : HTML, Markdown, Word, PDF, LaTeX, et plus encore.
html2text (Python) est une bibliothèque Python légère pour convertir HTML en texte brut au style Markdown.
Markdownify est une autre option Python, spécifiquement axée sur HTML-vers-Markdown avec une sortie propre.
Bonnes pratiques pour des conversions propres
Nettoyez votre HTML avant de convertir. Si possible, supprimez la navigation, les pieds de page, les barres latérales et autre contenu boilerplate avant d'alimenter le HTML au convertisseur.
Vérifiez la structure des titres. Si le HTML source avait des niveaux de titres incohérents, le Markdown converti aura le même problème.
Traitez les liens avec soin. Les liens relatifs qui avaient du sens sur le site original n'en auront pas dans vos nouveaux fichiers Markdown.
Vérifiez les chemins d'images. Les références d'images en Markdown doivent pointer vers des URLs accessibles ou des chemins de fichiers locaux.
Testez le rendu après la conversion. Collez votre Markdown converti dans un outil de prévisualisation (Markdown Preview) et comparez-le avec l'original.
Un flux de travail de migration pratique
- Exportez votre contenu depuis le CMS source
- Si vous obtenez des fichiers HTML, passez-les par un convertisseur en masse ou un script utilisant Turndown.js ou pandoc
- Faites une première révision — cherchez les artefacts de conversion évidents
- Mettez à jour les chemins d'images et liens cassés
- Vérifiez la structure des titres et corrigez les problèmes de hiérarchie
- Faites passer les fichiers Markdown finaux par un outil de prévisualisation
- Importez dans votre nouveau site et vérifiez la sortie en direct
Quand ne pas convertir
Si votre page a des composants interactifs complexes — onglets pilotés par JavaScript, accordéons, contenu dynamique — la conversion du shell HTML en Markdown supprimera exactement ce qui rend la page fonctionnelle.
Si une mise en forme visuelle précise est critique (pages d'atterrissage, matériaux marketing), le manque de contrôle de style de Markdown le rend inadapté.
Réflexions finales
HTML et Markdown servent des objectifs différents et des publics différents. HTML est pour les navigateurs. Markdown est pour les humains qui écrivent des choses qui finissent dans les navigateurs.
La conversion entre eux est un problème résolu — les outils existent, ils sont bons, et ils sont gratuits. La vraie compétence est de savoir quand la conversion apporte de la valeur et quand elle n'en apporte pas, et savoir comment nettoyer la sortie pour qu'elle soit réellement utilisable.
Pour des conversions rapides et ponctuelles, notre outil HTML vers Markdown est le chemin le plus rapide. Pour des migrations plus importantes, associez-le à une approche programmatique et un solide processus de révision.
Dans tous les cas, une fois que votre contenu est en Markdown, vous vous demanderez probablement pourquoi vous l'avez jamais gardé en HTML.