Conversion de documents Word au format Markdown : un guide complet
Utilisation de pandoc, python ou d'outils en ligne pour la conversion en MD \`\`\`
La conversion de documents Word au format Markdown est une tâche très courante pour les rédacteurs techniques, les développeurs et les créateurs de contenu souhaitant déplacer leur contenu vers des plateformes utilisant Markdown (comme GitHub, GitLab, ou des générateurs de sites statiques comme Hugo).
Ce guide couvre plusieurs approches et outils pour accomplir cette conversion efficacement.
Pourquoi convertir Word en Markdown ?
Markdown offre plusieurs avantages par rapport aux documents Word :
- Amical pour le contrôle de version : Le format texte brut fonctionne bien avec Git
- Indépendant de la plateforme : Lisible sur tout système sans logiciel particulier
- Futuriste : Format de texte simple qui ne deviendra pas obsolète
- Prêt pour le web : Facile à convertir en HTML pour les sites web et blogs
- Léger : Taille de fichiers beaucoup plus petite
- Amical à l’automatisation : Facile à traiter de manière programmée
Ce que Pandoc préserve :
- Titres (convertis en
#
,##
,###
, etc.) - Gras et italique
- Listes (à puces et numérotées)
- Liens et références
- Tableaux (convertis en tableaux Markdown ou HTML)
- Blocs de code et code en ligne
- Images (avec l’option
--extract-media
) - Notes de bas de page
Méthode 1 : Utiliser Pandoc (Recommandé)
Pandoc est un convertisseur universel de documents qui excelle dans la conversion entre différents formats de balisage. C’est l’outil le plus fiable pour la conversion de Word en Markdown.
Installer Pandoc
Sur Ubuntu/Debian :
sudo apt update
sudo apt install pandoc
Sur macOS :
# Avec Homebrew
brew install pandoc
# Ou télécharger depuis le site officiel
# https://pandoc.org/installing.html
Sur Windows :
# Avec Chocolatey
choco install pandoc
# Ou télécharger l'installeur depuis :
# https://github.com/jgm/pandoc/releases
Vérifier l’installation :
pandoc --version
Conversion avec Pandoc
Pour les fichiers DOCX (format Word moderne) :
pandoc document.docx -o document.md
Pour les anciens fichiers DOC :
Pandoc ne peut pas lire directement les fichiers .doc
. Vous devez les convertir en .docx
d’abord avec LibreOffice :
# Première étape : convertir DOC en DOCX
libreoffice --headless --convert-to docx document.doc
# Deuxième étape : convertir DOCX en Markdown
pandoc document.docx -o document.md
Options avancées de Pandoc :
# Convertir avec une variante spécifique de Markdown
pandoc document.docx -t gfm -o document.md # Markdown Flavoureux de GitHub
# Extraire les images dans un dossier
pandoc document.docx --extract-media=./images -o document.md
# Préserver davantage de mise en forme
pandoc document.docx -t markdown+pipe_tables+raw_html -o document.md
# Convertir avec un modèle personnalisé
pandoc document.docx --template=custom.template -o document.md
Méthode 2 : Utiliser LibreOffice + Pandoc (Pour les fichiers DOC)
Lorsque vous avez affaire à des fichiers .doc
anciens, ce processus en deux étapes fonctionne le mieux :
Installer LibreOffice
Sur Ubuntu/Debian :
sudo apt update
sudo apt install libreoffice
Sur macOS :
brew install --cask libreoffice
Sur Windows : Télécharger depuis le site LibreOffice
Processus de conversion :
# Étape 1 : Convertir DOC en DOCX
libreoffice --headless --convert-to docx document.doc
# Étape 2 : Convertir DOCX en Markdown avec Pandoc
pandoc document.docx -o document.md
# Nettoyer le fichier intermédiaire (optionnel)
rm document.docx
Script de conversion en lot avec pandoc :
Créer un script pour convertir plusieurs fichiers :
#!/bin/bash
# convert-docs.sh
for file in *.doc; do
if [ -f "$file" ]; then
echo "Conversion de $file..."
# Convertir DOC en DOCX
libreoffice --headless --convert-to docx "$file"
# Obtenir le nom de fichier sans extension
basename=$(basename "$file" .doc)
# Convertir DOCX en Markdown
pandoc "${basename}.docx" -o "${basename}.md"
# Nettoyer le fichier DOCX intermédiaire
rm "${basename}.docx"
echo "✓ Créé ${basename}.md"
fi
done
Rendre le script exécutable et lancer :
chmod +x convert-docs.sh
./convert-docs.sh
Méthode 3 : Utiliser des convertisseurs en ligne (Rapide et facile)
Pour des conversions occasionnelles, les outils en ligne peuvent être pratiques :
Convertisseurs en ligne populaires :
- Pandoc Try : https://pandoc.org/try/
- Word to Markdown Converter : https://word2md.com/
- Dillinger : https://dillinger.io/ (possède une fonction d’import)
Avantages et inconvénients :
- Avantages : Aucune installation requise, fonctionne sur tout appareil
- Inconvénients : Préoccupations de confidentialité, limites de taille de fichiers, moins de contrôle sur la sortie
Méthode 4 : Utiliser l’export natif de Word (Limité)
Les versions modernes de Microsoft Word peuvent exporter vers du Markdown basique :
- Ouvrez votre document dans Word
- Allez dans Fichier → Exporter → Changer le type de fichier
- Sélectionnez Page Web filtrée (*.html)
- Utilisez un convertisseur HTML → Markdown comme Pandoc :
pandoc document.html -o document.md
Note : Cette méthode produit souvent des résultats moins bons que la conversion directe en DOCX.
Méthode 5 : Solutions de programmation
Python avec python-docx et markdownify :
#!/usr/bin/env python3
import sys
from docx import Document
from markdownify import markdownify
def docx_to_markdown(docx_path, md_path):
# Lire le fichier docx
doc = Document(docx_path)
# Extraire le texte (conversion basique)
full_text = []
for paragraph in doc.paragraphs:
full_text.append(paragraph.text)
# Convertir en markdown (basique)
markdown_content = '\n\n'.join(full_text)
# Écrire dans le fichier
with open(md_path, 'w', encoding='utf-8') as f:
f.write(markdown_content)
if __name__ == "__main__":
if len(sys.argv) != 3:
print("Utilisation : python docx_to_md.py input.docx output.md")
sys.exit(1)
docx_to_markdown(sys.argv[1], sys.argv[2])
print(f"Converti {sys.argv[1]} en {sys.argv[2]}")
Installer les dépendances :
pip install python-docx markdownify
Note : C’est une implémentation basique. Pandoc produira de meilleurs résultats pour les documents complexes.
Gestion des problèmes courants
1. Tableaux complexes
# Utiliser le format de tableaux pipe pour une meilleure compatibilité
pandoc document.docx -t markdown+pipe_tables -o document.md
2. Images non converties
# Extraire les images dans un dossier séparé
pandoc document.docx --extract-media=./images -o document.md
3. Perte de mise en forme
# Préserver davantage de HTML pour une mise en forme complexe
pandoc document.docx -t markdown+raw_html -o document.md
4. Problèmes d’encodage des caractères
# Spécifier l'encodage UTF-8
pandoc document.docx -t markdown -o document.md --from=docx --to=markdown
Bonnes pratiques
1. Préparation avant la conversion
- Nettoyez votre document Word avant la conversion
- Utilisez des styles de titres cohérents (Titre 1, Titre 2, etc.)
- Évitez les formats complexes qui ne se traduisent pas bien en Markdown
- Utilisez la mise en forme de liste native de Word plutôt que des puces manuelles
2. Nettoyage après la conversion
- Vérifiez la sortie pour les problèmes de mise en forme
- Corrigez la mise en forme des tableaux si nécessaire
- Ajustez les chemins d’image et le texte alternatif
- Nettoyez les sauts de ligne ou les problèmes d’espacement supplémentaires
3. Conseils pour l’automatisation
# Créer un raccourci pour une conversion courante
echo 'alias doc2md="pandoc --from=docx --to=markdown"' >> ~/.bashrc
# Fonction pour la conversion en lot
doc2md_batch() {
for file in *.docx; do
pandoc "$file" -o "${file%.docx}.md"
done
}
Comparaison des méthodes
Méthode | Avantages | Inconvénients | Meilleure pour |
---|---|---|---|
Pandoc | Qualité excellente, nombreuses options | Requiert l’installation | Conversions régulières, documents complexes |
LibreOffice + Pandoc | Gère les fichiers DOC | Processus en deux étapes | Fichiers DOC anciens |
Convertisseurs en ligne | Aucune installation requise | Confidentialité, limites de fonctionnalités | Conversions rapides ponctuelles |
Export Word | Natif | Qualité de sortie médiocre | Documents simples uniquement |
Programmation | Personnalisable | Requiert du codage | Flux de travail automatisés |
Petite synthèse
Pour la plupart des utilisateurs, Pandoc est la solution recommandée pour convertir des documents Word en Markdown. Il offre le meilleur équilibre entre qualité, fonctionnalités et fiabilité. Pour les anciens fichiers .doc
, la combinaison LibreOffice + Pandoc fonctionne très bien.
La clé d’une conversion réussie est :
- Préparer votre document Word avec une mise en forme cohérente
- Choisir l’outil adapté à vos besoins spécifiques
- Vérifier et nettoyer la sortie
- Automatiser le processus si vous effectuez des conversions régulières
Avec ces outils et ces techniques, vous pouvez efficacement convertir vos documents Word au format Markdown tout en préservant la plupart de la mise en forme et de la structure originale.
Commandes de référence rapides
# Conversion de base (DOCX à Markdown)
pandoc document.docx -o document.md
# Conversion de DOC à Markdown (deux étapes)
libreoffice --headless --convert-to docx document.doc
pandoc document.docx -o document.md
# Markdown Flavoureux de GitHub
pandoc document.docx -t gfm -o document.md
# Extraire les images
pandoc document.docx --extract-media=./images -o document.md
# Conversion en lot de tous les fichiers DOCX
for file in *.docx; do pandoc "$file" -o "${file%.docx}.md"; done