Dillinger, éditeur Markdown en ligne

Qu'est-ce que Dillinger ?

Dillinger est un éditeur Markdown en ligne qui affiche le texte source dans un volet et son rendu HTML dans un second, mis à jour à chaque frappe. Il s'utilise sans compte ni installation : le document est conservé dans le stockage local du navigateur. Le projet est open source sous licence MIT, publié par Joe McCann, et l'instance publique est hébergée sur dillinger.io.

À quoi sert Dillinger ?

Dillinger sert à rédiger et vérifier un document Markdown sans ouvrir d'IDE : README de dépôt, page de documentation, note technique, prompt structuré pour un LLM. Il exporte le document en Markdown brut, en HTML stylé ou en PDF en un clic. Des intégrations OAuth permettent d'ouvrir et de réenregistrer un fichier directement sur GitHub, Dropbox, Google Drive, OneDrive ou Bitbucket, sans passer par un téléchargement intermédiaire.

Comment fonctionne Dillinger ?

L'application actuelle repose sur Next.js 14, l'éditeur Monaco (le moteur de VS Code), Tailwind CSS et Zustand pour l'état. Le rendu se fait entièrement côté navigateur, ce qui explique que l'édition et l'aperçu continuent de fonctionner hors connexion une fois la page chargée ; seule la synchronisation cloud exige le réseau.

À noter pour qui a connu l'outil il y a quelques années : la base de code a été réécrite. La version historique reposait sur AngularJS et l'éditeur Ace, ce qui rend obsolètes la plupart des tutoriels d'auto-hébergement antérieurs.

Quand faut-il utiliser Dillinger ?

Adapté Pas adapté
Rédiger un README ou une page de doc isolée Gérer une base de connaissances de centaines de notes
Vérifier un rendu Markdown avant commit Reproduire le rendu exact d'un moteur précis, GFM strict ou markdown-it configuré
Exporter vite un PDF propre depuis du Markdown Stocker un contenu client confidentiel dans une application tierce
Poste sans droits d'installation Édition multi-fichiers avec liens internes
Écrire un prompt structuré pour un LLM Versionner finement avec branches et revues

Le stockage local est le point de vigilance : vider les données du navigateur ou changer de machine efface les brouillons non synchronisés.

Dillinger, StackEdit, Typora ou Obsidian ?

Critère Dillinger StackEdit Typora Obsidian
Support Navigateur Navigateur Application desktop Application desktop
Prix Gratuit Gratuit Payant Gratuit en usage personnel
Licence code Open source, MIT Open source Propriétaire Propriétaire
Stockage par défaut Navigateur plus cloud OAuth Navigateur plus cloud Fichiers locaux Fichiers locaux
Usage type Document ponctuel Document ponctuel Rédaction longue Base de connaissances liée

Dillinger se place sur le créneau du document unique et rapide, pas sur celui du second cerveau : pour un coffre de notes reliées, un outil à fichiers locaux reste plus adapté.

Comment héberger Dillinger soi-même ?

Stack requise : Node.js 18 ou supérieur.

git clone https://github.com/joemccann/dillinger.git
cd dillinger
npm install
cp .env.local.example .env.local
# renseigner les identifiants OAuth des fournisseurs souhaités
npm run dev
# http://localhost:3000

Sans clés OAuth, l'éditeur et l'aperçu fonctionnent : seules les intégrations cloud restent inactives. Chaque fournisseur exige une application déclarée de son côté avec l'URL de rappel /api/{provider}/callback.

Ce que j'ai appris en l'utilisant

[EXPÉRIENCE À COMPLÉTER : suggestion, « J'utilise Dillinger pour relire le rendu d'un README avant push, quand je n'ai pas envie d'ouvrir l'IDE. » Alternative 1, « Je me suis fait avoir par le stockage local : brouillon perdu après un nettoyage du navigateur, depuis je synchronise sur GitHub dès la première sauvegarde. » Alternative 2, « J'ai comparé l'export PDF de Dillinger et celui de X sur le document Y : voici ce que ça donne sur les tableaux et les blocs de code. »]

Sources

Voir aussi

  • Wiki : Mermaid, pour les diagrammes intégrés à un document Markdown.
  • Dictionnaire : Prompt engineering, le Markdown comme format de rédaction de prompts.
  • Projet : jonathan-jodar.fr, dont le contenu Wiki est rédigé en Markdown avant synchronisation.