Derniere mise a jour : 9 fevrier 2026

Convertisseur Markdown

2024 Outil Python

Presentation

Objectif principal : Un convertisseur qui transforme des fichiers Markdown en HTML ou PDF. Utile pour generer de la doc propre ou des rapports a partir de fichiers .md.

Technologies utilisees : Python avec un parser Markdown maison (pour apprendre) puis j'ai compare avec la lib markdown. Pour le PDF, j'utilise weasyprint qui convertit le HTML en PDF.

Fonctionnalites cles : Supporte la syntaxe Markdown courante (titres, gras, italique, liens, images, code, listes), ajout d'un CSS personnalise pour le style, table des matieres auto-generee.

Livrables attendus : Script CLI qui prend un .md et sort un .html ou .pdf. Plusieurs themes CSS inclus (clair, sombre, academique).

Calendrier previsionnel : Une semaine et demie. Parser le Markdown a la main c'etait plus long que prevu, y'a plein de cas particuliers.

Parties prenantes & criteres de succes : Projet perso pour comprendre comment marche un parser. Je l'utilise pour mes notes de cours.

Le Defi

Parser le Markdown correctement. Ca a l'air simple mais y'a plein de pieges : les listes imbriquees, le code inline vs bloc, les liens avec des parentheses dans l'URL. Mon parser maison gere 80% des cas, la lib en gere 99%.

La Solution

J'ai fait un parser en deux passes : d'abord je decoupe en blocs (paragraphes, listes, code), puis je parse l'inline (gras, liens, etc.) dans chaque bloc. Ca evite les conflits entre syntaxes. Pour la prod j'utilise la lib markdown, mon parser c'etait pour apprendre.

Architecture Technique

Module parser.py avec mon parser maison. Module converter.py qui orchestre la conversion. Module pdf_generator.py qui utilise weasyprint. Les themes CSS sont dans un dossier themes/. La table des matieres est generee en extrayant les titres H1-H3.

Points Cles

  • Parser Markdown fait main
  • Export HTML et PDF
  • Themes CSS personnalisables

Apercu

Resultats & Apprentissages

J'ai compris comment fonctionne un parser et pourquoi c'est plus complique qu'on croit. Meme un langage "simple" comme Markdown a des ambiguites. L'outil marche bien, je l'utilise vraiment pour convertir mes notes.

Evolutions Futures

Support des extensions Markdown (tableaux, footnotes, maths LaTeX). Un mode watch qui regenere automatiquement quand le fichier change. Export DOCX pour ceux qui veulent du Word.

Retour aux projets Me contacter