diff --git a/BUILD b/BUILD
index 42dcbda637c0ac9b50867f44a166f160d4ba23cb..d637e584edefc169396e86eb5bc4219444b4c913 100644
--- a/BUILD
+++ b/BUILD
@@ -26,3 +26,17 @@ github_repo(
     build_file = "upstream.BUILD",
     hashes = "36f90d77ab3951b6185e631a1fc847bd8563d8bd",
 )
+
+subinclude(":rules")
+
+filegroup(
+    name = "pages",
+    srcs = [
+        pandoc(
+            src = "README.md",
+            out = "index.html",
+        ),
+        "sample.BUILD",
+        ":reveal.js",
+    ],
+)
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..4099df2557f22decfa57914498b887f6d0a218ce
--- /dev/null
+++ b/README.md
@@ -0,0 +1,131 @@
+---
+title: Présentations HTML avec reveal.js
+author: "[Guillaume Perréal](mailto:guillaume.perreal@inrae.fr?subject=reveal.js)"
+date: 2020-03-10
+keywords: reveal.js, markdown, pandoc, slideshows, presentations, please-build
+---
+
+# Introduction
+
+## reveal.js
+
+[reveal.js](https://github.com/hakimel/reveal.js) est un framework pour
+construire des présentations HTML.
+
+-   Un navigateur est suffisant pour l'afficher.
+-   Contenu écrit en HTML et/ou en [Markdown](https://fr.wikipedia.org/wiki/Markdown)
+-   Ce n'est pas WYSIWIG.
+
+## pandoc
+
+[pandoc](https://pandoc.org/) est un convertisseur de document d'un language
+de markup vers un autre.
+
+En l'occurence, il peut être utilisé pour générer le contenu d'une [présentation
+reveal.js](https://pandoc.org/MANUAL.html#producing-slide-shows-with-pandoc)
+à partir de fichiers [Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown).
+
+## [pole-is/tools/reveal.js](https://gitlab.irstea.fr/pole-is/tools/reveal.js)
+
+Fournit :
+
+-   une version de reveal.js intégrant un thème INRAE (circa 2020),
+-   des scripts basés sur le système de construction [Please](https://please.build/),
+-   de la configuration pour générer automatiquement les présentations avbec Gitlab-CI,
+    voire les publier automatiquement avec Gitlab-Pages.
+
+# Utilisation
+
+## En local (Linux)
+
+-   [Installez Please](https://please.build/quickstart.html)
+-   Créez un dossier pour votre présentation.
+-   Installez-y le script de build Please [sample.BUILD](sample.BUILD) et renommez le en `BUILD`
+-   Créez un dossier pour le contenu de votre présentation, e.g. `ma_presentation` (éditez
+    le fichier BUILD si vous changez le nom du répertoire) avec un fichier pour les slides `index.md`.
+
+Vous pouvez en suite créer votre présentation:
+
+```bash
+plz build :ma_presentation
+```
+
+Vous devriez avoir ceci :
+
+-   BUILD
+-   ma_presentation/
+    -   index.md
+
+## Avec intégration continue
+
+# Détails
+
+## Outils utilisés
+
+Le projet reconstruit le framework reveal.js à partir des sources en utilisant
+[minify](https://github.com/tdewolff/minify) et [sass-dart](https://github.com/sass/dart-sass)
+pour traiter les fichiers. Il ajoute au passage le thème INRAE avec les images et polices nécessaires.
+
+Tous les outils sont téléchargés automatiquement, avec vérification de hash.
+
+[reveal.js](https://github.com/hakimel/reveal.js) est un framework pour
+construire des présentations HTML.
+
+-   Un navigateur est suffisant pour l'afficher.
+-   Contenu écrit en HTML et/ou en [Markdown](https://fr.wikipedia.org/wiki/Markdown)
+-   Ce n'est pas WYSIWIG.
+
+## pandoc
+
+[pandoc](https://pandoc.org/) est un convertisseur de document d'un language
+de markup vers un autre.
+
+En l'occurence, il peut être utilisé pour générer le contenu d'une [présentation
+reveal.js](https://pandoc.org/MANUAL.html#producing-slide-shows-with-pandoc)
+à partir de fichiers [Markdown](https://pandoc.org/MANUAL.html#pandocs-markdown).
+
+## [pole-is/tools/reveal.js](https://gitlab.irstea.fr/pole-is/tools/reveal.js)
+
+Fournit :
+
+-   une version de reveal.js intégrant un thème INRAE (circa 2020),
+-   des scripts basés sur le système de construction [Please](https://please.build/),
+-   de la configuration pour générer automatiquement les présentations avbec Gitlab-CI,
+    voire les publier automatiquement avec Gitlab-Pages.
+
+# Utilisation
+
+## En local (Linux)
+
+-   [Installez Please](https://please.build/quickstart.html)
+-   Créez un dossier pour votre présentation.
+-   Installez-y le script de build Please [sample.BUILD](sample.BUILD) et renommez le en `BUILD`
+-   Créez un dossier pour le contenu de votre présentation, e.g. `ma_presentation` (éditez
+    le fichier BUILD si vous changez le nom du répertoire) avec un fichier pour les slides `index.md`.
+
+Vous pouvez en suite créer votre présentation:
+
+```bash
+plz build :ma_presentation
+```
+
+Vous devriez avoir ceci :
+
+-   BUILD
+-   ma_presentation/
+    -   index.md
+
+## Avec intégration continue
+
+# Sous le capot
+
+## Outils
+
+-   Please: https://please.build
+
+Les outils suivants sont téléchargés et vérifiés automatiquement par Please :
+
+-   reveal.js: https://github.com/hakimel/reveal.js
+-   sass-dart: https://github.com/sass/dart-sass
+-   minify: https://github.com/tdewolff/minify
+-   pandoc: https://github.com/jgm/pandoc
diff --git a/sample.BUILD b/sample.BUILD
new file mode 100644
index 0000000000000000000000000000000000000000..ab64ae54f0a038a0bf74d366220464fad52180fb
--- /dev/null
+++ b/sample.BUILD
@@ -0,0 +1,11 @@
+REVEALJS_VERSION = "v1.0.0"
+
+http_archive(
+    name = "reveal.js",
+    urls = ["https://gitlab.irstea.fr/pole-is/tools/reveal.js/-/archive/%s/reveal.js-%s.zip" % (REVEALJS_VERSION, REVEALJS_VERSION)],
+    strip_prefix = "reveal.js-%s" % REVEALJS_VERSION,
+)
+
+subinclude("///reveal.js//:rules")
+
+presentation("ma_presentation")