Ouvrir le Studio

HTML to Markdown

Le node HTML to Markdown convertit du contenu HTML en Markdown propre, idéal pour préparer du texte structuré avant un LLM ou un traitement en aval.

Node HTML to Markdown sur le canevas avec entrée HTML en amont

À quoi sert le node HTML to Markdown ?

Le node HTML to Markdown prend du HTML brut (une page complète, un fragment, ou une liste de chaînes HTML) et le convertit en Markdown propre. Le résultat est une représentation bien plus compacte et lisible du même contenu, en préservant la structure du document (titres, listes, liens, emphases).

Il est particulièrement utile lorsque l’étape suivante de votre workflow est un LLM : le Markdown réduit la consommation de tokens, supprime le bruit de mise en page (scripts, styles, attributs inline) et donne au modèle une structure claire sur laquelle raisonner.

Cas d’usage typiques :

  • Nettoyer le HTML renvoyé par un Web Scraper avant de le transmettre à un LLM pour résumé ou extraction.
  • Normaliser du contenu rich-text (issu d’un CMS, d’un email, d’un export Google Doc) en Markdown pour stockage ou traitement ultérieur.
  • Préparer des pages pour un pipeline RAG afin que les chunks restent sémantiquement structurés (titres, puces, tableaux).

Configuration rapide

Suivez ces étapes pour ajouter et configurer le node HTML to Markdown dans votre workflow.

Ajouter le node au canevas

Ouvrez la bibliothèque de nodes (Node Library), naviguez dans la catégorie Tools > Data Transformation, puis glissez-déposez le node HTML to Markdown sur votre espace de travail.

Connecter l’entrée

Reliez le point de connexion d’entrée (à gauche du node) à la sortie du node précédent qui produit du HTML — typiquement un Web Scraper, un node HTTP Request, ou tout node renvoyant du HTML brut sous forme de texte.

Ajuster le nom et la description

Ouvrez les paramètres du node. Mettez à jour le Name (ex : Nettoyage page scrapée) et la Description afin d’identifier facilement le node lors de l’exécution et du débogage du workflow.

Connecter la sortie

Reliez le point de sortie (à droite du node) au node suivant. Dans ce node suivant, définissez le nom de la variable de réception pour exploiter le contenu Markdown converti.

Paramètres de configuration

Panneau de configuration avec champs nom et description du node

Le node HTML to Markdown a une configuration minimale : vous définissez uniquement l’identité du node. Le HTML à convertir est fourni via la connexion d’entrée, pas via un champ statique.

Champs requis

Name string required default: HTML to Markdown

Nom du node — Important pour identifier rapidement le rôle de ce node (ex : “Convertir article scrapé”) lors de l’exécution et du débogage du workflow.

Description string required default: A tool for converting HTML to Markdown

Description du node — Une courte phrase décrivant quel contenu ce node convertit dans votre workflow.

Champs optionnels

HTML string

Entrée HTML — Le contenu HTML à convertir. Cette valeur est fournie via la connexion d’entrée depuis un node précédent (elle ne se saisit pas manuellement dans les paramètres du node). Le node accepte également une liste de chaînes HTML, auquel cas chaque élément est converti indépendamment.

Tip

Branchez ce node directement après un Web Scraper pour transformer une page HTML bruyante en document Markdown prêt pour un LLM, sans écrire une seule ligne de code.

Que renvoie le node ?

Le node renvoie un texte Markdown (string) correspondant au HTML d’entrée, avec les éléments structurels préservés :

  • <h1><h6> deviennent des titres #, ##, …
  • <strong>/<b> deviennent **gras**, <em>/<i> deviennent *italique*.
  • <ul> / <ol> / <li> deviennent des listes Markdown à puces ou numérotées.
  • <a href="..."> deviennent des liens [label](url).
  • Les scripts inline, les styles et la plupart des attributs de mise en page sont supprimés.

Lorsque l’entrée est une liste de chaînes HTML, le node renvoie une liste de chaînes Markdown dans le même ordre.

Comment récupérer l’output ?

Dans Draft & Goal, vous n’avez pas besoin de chercher un nom de variable complexe généré par le système. Pour exploiter le résultat :

  1. Tirez un lien depuis la sortie du node HTML to Markdown.
  2. Connectez-le à l’entrée du node suivant.
  3. Dans ce node suivant, créez et nommez votre propre variable (par exemple, markdown_content). Le Markdown converti y sera automatiquement injecté.
Markdown string

La version Markdown du HTML d’entrée, avec titres, listes, liens et emphases préservés.

Exemples d’utilisation

Cas 1 : Nettoyer une page scrapée avant un LLM

Vous avez scrapé un article de blog et souhaitez qu’un LLM le résume. Lui transmettre du HTML brut gaspille des tokens et perturbe le modèle avec le balisage.

Donnée d’entrée (HTML provenant d’un Web Scraper) :

<h1>Title</h1>
<p>This is a <strong>paragraph</strong> with a <a href="https://example.com">link</a>.</p>
<ul>
  <li>Item 1</li>
  <li>Item 2</li>
</ul>

Output généré (Markdown) :

# Title

This is a **paragraph** with a [link](https://example.com).

- Item 1
- Item 2

Le node LLM suivant reçoit alors une entrée compacte et bien structurée — moins de tokens, de meilleures réponses.

Cas 2 : Conversion par lot de plusieurs pages

Vous avez scrapé une liste de pages produit et voulez les convertir toutes d’un coup avant de les stocker en base ou de les envoyer à une étape d’indexation RAG.

Donnée d’entrée (liste de chaînes HTML, une par page scrapée) :

[
  "<h2>Product A</h2><p>Description A</p>",
  "<h2>Product B</h2><p>Description B</p>"
]

Output généré (liste de chaînes Markdown, dans le même ordre) :

[
  "## Product A\n\nDescription A",
  "## Product B\n\nDescription B"
]

Vous pouvez ensuite brancher le résultat sur un node Loop ou directement sur un node aval qui accepte une liste.

Problèmes courants

L'output est vide ou ne contient que des espaces

Cause : La valeur d’entrée n’est pas réellement du HTML — par exemple, c’est déjà du texte brut, ou c’est un objet JSON qui n’a pas été extrait avant d’être connecté au node.

Solution : Inspectez la sortie du node précédent. S’il renvoie un objet, utilisez un JSON Path Extractor pour extraire d’abord le champ HTML, puis connectez ce champ au node HTML to Markdown.

Une partie de la structure est perdue (tableaux, composants custom)

Cause : La conversion se concentre sur les éléments HTML standards (titres, paragraphes, listes, liens, emphases). Du balisage très custom, du contenu rendu par JavaScript ou des balises non-standard peuvent ne pas avoir d’équivalent Markdown.

Solution : Pré-nettoyez le HTML avec un node HTML Cleaner pour retirer les balises non supportées, ou simplifiez le balisage source avant la conversion. Pour des besoins très spécifiques, un Find and Replace peut corriger les tokens résiduels après la conversion.

Bonnes pratiques et pièges à éviter

Tip

Placez le node HTML to Markdown le plus tôt possible dans la chaîne après la source HTML. Chaque node en aval (LLM, extracteur, classifieur) bénéficiera d’une entrée plus petite et structurée.

Warning

Ne transmettez pas de HTML rendu par JavaScript directement : si votre scraper renvoie la coquille HTML d’une Single Page Application avant l’exécution du JS, le contenu utile ne s’y trouvera pas. Utilisez un scraper avec rendu JS activé, ou interrogez directement l’API consommée par la page, avant de brancher HTML to Markdown.

Comment s’intègre-t-il dans un workflow ?

HTML to Markdown est typiquement une étape de prétraitement entre l’acquisition de contenu et sa compréhension. Le motif le plus fréquent est : scraper, convertir, puis raisonner ou extraire.

graph LR
    Scraper[Web Scraper
<br/>récupère le HTML] --> H2M[HTML to Markdown
<br/>nettoie et convertit]
    H2M --> LLM[Node LLM
<br/>résume / extrait]
    LLM --> Extractor[JSON Path Extractor
<br/>parse l'output structuré]

Nodes complémentaires