reveal.js : thèmes, export et comparaison avec les alternatives
reveal.js est le framework de présentation HTML open source aux 71,9k étoiles sur GitHub — vous rédigez vos diapositives en HTML ou en Markdown et vous les présentez dans n'importe quel navigateur. Voici un guide sans détour : comment fonctionnent les thèmes, les modèles et les exemples, comment se comporte réellement l'export en PDF et PowerPoint, comment il se compare à Slidev et Marp, et où trouve sa place un espace de design agent-native.
Si vous écrivez du code et que vous devez faire une présentation, vous êtes probablement déjà tombé sur reveal.js. C'est le framework open source derrière une grande part des diapositives de conférences de développeurs que vous avez regardées : vous rédigez chaque diapositive en HTML ou en Markdown, et elle s'exécute comme une page web dans n'importe quel navigateur — avec thèmes, transitions, animations de fragments, notes de présentateur et export PDF natif intégrés. Avec 71,9k étoiles sur GitHub et une licence MIT, c'est la réponse par défaut à « comment faire des diapositives sans ouvrir PowerPoint ».
Ce guide en dresse une carte honnête. Ce qu'est réellement reveal.js, comment thèmes, modèles et exemples s'articulent, comment se comporte réellement l'export vers PDF et PowerPoint (il y a un piège), comment il se situe face aux autres prétendants open source, et — la partie que la plupart des articles ignorent — le moment où un framework de ce genre cesse d'être le bon outil et où quelque chose d'autre prend le relais. Si vous pesez vos options pour un workflow de présentation assisté par IA et agent, il est utile de savoir exactement ce que reveal.js est et n'est pas.
Ce qu'est reveal.js
reveal.js se présente comme « The HTML Presentation Framework », et cette description est précise. Ce n'est pas une application que vous ouvrez et dans laquelle vous cliquez — c'est une bibliothèque JavaScript que vous déposez dans un fichier HTML. Chaque diapositive est un élément <section> ; imbriquez des sections et vous obtenez des diapositives verticales. Vous stylez tout en CSS, câblez transitions et fragments avec des attributs data, et présentez en ouvrant la page dans un navigateur. Comme la sortie est une page web, tout ce que le web sait faire — code en direct, vidéo intégrée, iframes, WebGL, vos propres composants — peut vivre sur une diapositive.
Le compromis est inscrit dans la définition même : c'est un framework pour développeurs, pas une interface graphique. Vos outils sont un éditeur de code et un navigateur, pas un canevas avec des poignées de glissement. C'est précisément pour cela que les développeurs l'adorent — contrôle de version complet, contrôle CSS complet, aucun format de fichier propriétaire — et précisément pour cela qu'un non-codeur rebondira dessus. C'est aussi vraiment gratuit : pas de compte, pas de filigrane, pas de plafond d'export, pas de tarif au siège. Le HTML vous appartient.
Thèmes, modèles et exemples
La plupart des recherches autour de reveal.js visent en réalité à le rendre beau sans partir de zéro, alors voici comment les pièces s'emboîtent.
Les thèmes reveal.js sont le point de départ intégré. Le framework est livré avec un ensemble de thèmes prêts à l'emploi — Black, White, League, Beige, Sky, Night, Serif, Simple, Solarized et d'autres — que vous changez en modifiant un seul lien de feuille de style. Un thème n'est que du CSS, donc un « thème reveal.js personnalisé » signifie écrire (ou forker) un fichier Sass/CSS qui définit vos polices, vos couleurs et vos styles de titres. Il n'y a pas de boutique de thèmes ; vous éditez des feuilles de style.
Les modèles et exemples reveal.js vivent surtout dans la communauté plutôt que dans une galerie officielle unique. Le dépôt fournit des présentations d'exemple, le site de documentation (revealjs.com) est lui-même une présentation reveal.js dont vous pouvez lire la source, et GitHub regorge de modèles de démarrage, de boilerplates et de wrappers de framework. Si vous cherchez « reveal js examples », le plus riche en signal est la source du site officiel lui-même — il démontre presque chaque fonctionnalité en situation. Le piège pour les débutants : un « modèle » est ici un dépôt de code à cloner et à éditer, pas un fichier de design à remplir.
Export vers PowerPoint et PDF
L'export PDF est une fonctionnalité de premier ordre, intégrée, et elle fonctionne bien. Ajoutez ?print-pdf à l'URL de votre présentation, ouvrez la boîte de dialogue d'impression de votre navigateur, choisissez « Enregistrer au format PDF », et reveal.js réagence chaque diapositive sur sa propre page. C'est la voie propre et prise en charge — le PDF obtenu ressemble exactement à vos diapositives.
Exporter reveal.js vers PowerPoint, c'est là qu'il faut gérer les attentes. Il n'existe pas d'« Enregistrer sous .pptx » natif qui produise un fichier PowerPoint modifiable. La voie pratique est la conversion PDF → PPTX, et cette conversion est avec perte : chaque diapositive arrive dans PowerPoint sous forme d'image plate, et non de zones de texte, de formes et de mises en page modifiables. Donc si, en aval, quelqu'un doit ouvrir votre présentation dans PowerPoint et la modifier — retaper un titre, restyler un graphique, réagencer une puce — reveal.js n'est pas l'outil qui le lui permet. Il est conçu pour être présenté depuis le navigateur, et sa source modifiable est le HTML, pas le .pptx. Le savoir avant de commencer vous épargne une mauvaise surprise le jour où un collègue réclame « le PowerPoint ».
Les alternatives à reveal.js et la comparaison
reveal.js n'est pas la seule façon d'écrire des diapositives sous forme de code. Les deux alternatives open source les plus proches — celles que les gens désignent par « alternative à reveal.js » — sont Slidev et Marp, et il faut être honnête : Open Design se situe dans une tout autre couche plutôt que de rivaliser frontalement.
| Outil | Rédaction | .pptx modifiable | Gabarits | Licence |
|---|---|---|---|---|
| reveal.js | HTML ou Markdown | Non (PDF→PPTX en images avec perte) | Thèmes = CSS/Sass ; modèles communautaires | MIT |
| Slidev | Markdown + Vue | Non (export image/PDF) | Composants Vue + thèmes | MIT |
| Marp | Markdown uniquement | Non (PDF/PPTX en images) | Thèmes Markdown (CSS) | MIT |
| Open Design | Décrivez-la à votre agent | Oui — sortie modifiable appuyée sur un design system | Modèles de présentation propriétaires | Apache-2.0 |
Slidev est le cousin le plus proche sur le plan philosophique : Markdown d'abord, avec des composants Vue en dessous, il troque une partie de la liberté HTML brute de reveal.js contre un flux de rédaction plus structuré et plus ergonomique pour les développeurs. Si vous vivez dans le monde Vue/Vite et voulez des démos de code en direct, Slidev est le choix naturel. Marp va dans l'autre sens — uniquement Markdown, délibérément minimal, sans composants — ce qui en fait la voie la plus rapide quand vos diapositives sont surtout du texte et que vous ne voulez jamais penser à un framework.
Tous trois sont des frameworks code-first partageant la même forme fondamentale : vous écrivez la présentation, vous présentez dans un navigateur, et la sortie PowerPoint modifiable n'est pas vraiment le but. Choisir entre eux tient surtout à la surface de rédaction que vous voulez (HTML brut, Markdown Vue ou Markdown pur) — et non à des capacités que l'un aurait et que les autres n'auraient pas.
La place d'Open Design
Voici la frontière honnête. reveal.js vous demande d'écrire la présentation — chaque diapositive, dans le code. C'est un atout si vous voulez un contrôle HTML fait main, et rien ici ne le remplace si c'est votre objectif.
Open Design est une autre couche, et c'est un produit que nous concevons, alors lisez ceci en le gardant à l'esprit. C'est un Agent-Native Design Workspace open source (Apache-2.0), local-first et bring-your-own-key, qui se place en dehors de l'agent de code que vous utilisez déjà — Claude Code, Codex ou Cursor. Au lieu de rédiger le HTML à la main, vous décrivez la présentation voulue et l'agent en génère une version modifiable appuyée sur un design system, si bien qu'elle sort conforme à la marque et reste modifiable plutôt que figée en artefact rendu. Open Design fournit aussi ses propres modèles de présentation pour démarrer.
Ce n'est pas un remplacement de reveal.js si ce que vous voulez, c'est écrire des diapositives sous forme de code avec un contrôle CSS total — c'est le terrain de reveal.js, et il y excelle. Open Design est pour le cas où vous préférez briefer un agent plutôt qu'écrire du balisage, où vous voulez que la sortie corresponde à un design system sur de nombreuses présentations, et où vous voulez, au bout du compte, des fichiers modifiables qui vous appartiennent. Tournez-vous vers reveal.js quand la présentation est le code que vous écrivez ; tournez-vous vers un espace de travail quand la présentation est l'une des nombreuses sorties conformes à la marque qu'un agent produit pour vous.
FAQ
reveal.js est-il gratuit ? Oui. reveal.js est open source sous licence MIT — utilisable gratuitement à des fins commerciales, sans compte, sans filigrane et sans limites d'export. Vous hébergez le HTML vous-même.
Comment ajouter ou changer un thème reveal.js ? reveal.js est livré avec des thèmes intégrés (Black, White, League, Sky, Night, Serif et d'autres) que vous échangez en modifiant un lien de feuille de style. Un thème personnalisé consiste à écrire ou forker un fichier CSS/Sass avec vos propres polices et couleurs — il n'y a pas de boutique de thèmes à parcourir.
Puis-je exporter reveal.js vers PowerPoint ? Pas vers un .pptx modifiable. reveal.js s'exporte proprement en PDF (ajoutez ?print-pdf et imprimez en PDF depuis votre navigateur). Convertir ce PDF en PowerPoint est possible mais avec perte — chaque diapositive atterrit comme une image plate, non comme du texte et des formes modifiables. Si vous avez besoin d'un PowerPoint modifiable, reveal.js n'est pas la bonne source.
reveal.js vs Slidev vs Marp — lequel choisir ? Tous trois sont open source, code-first et sous licence MIT. Choisissez reveal.js pour le contrôle HTML brut, Slidev pour Markdown plus composants Vue (parfait pour les démos en direct), et Marp pour les présentations les plus simples en Markdown seul. Aucun ne vise la sortie PowerPoint modifiable.
Faut-il savoir coder pour utiliser reveal.js ? En pratique, oui. reveal.js est un framework pour développeurs — vous travaillez dans un éditeur de texte avec HTML, Markdown et CSS, pas dans une interface graphique glisser-déposer. Si vous préférez décrire une présentation en langage naturel, c'est le vide que comble un espace de travail agent-native comme Open Design.
À retenir
reveal.js mérite ses 71,9k étoiles : c'est une façon gratuite, sous licence MIT et native au HTML de construire des diapositives qui tournent partout où tourne un navigateur, avec de vrais thèmes, un export PDF propre et un contrôle CSS total. Allez-y simplement en connaissance de cause — c'est un framework dans lequel vous écrivez, pas une application où vous cliquez, et « exporter vers un PowerPoint modifiable » n'est pas quelque chose qu'il fait. Si vous voulez rédiger des présentations sous forme de code, reveal.js (ou Slidev / Marp) est un excellent point d'ancrage. Si vous préférez décrire une présentation et laisser votre agent en générer une, modifiable, conforme à la marque et qui vous appartient, c'est là qu'un Agent-Native Design Workspace prend le relais.