diff --git a/Makefile b/Makefile
index e31a95a9c35f70a5ce6b7b209b79886dc135aadc..fa6e8f44c6ff76b09bd90f002ad8ace5a638e381 100644
--- a/Makefile
+++ b/Makefile
@@ -15,13 +15,16 @@ REVEALOPTIONS += --self-contained
 REVEALOPTIONS += -V revealjs-url=./reveal.js
 REVEALOPTIONS += -V theme=white
 
-all: base_4.pdf base_3.pdf base_2.pdf base_1.pdf intro.pdf index.html 
+all: base_4.pdf base_3.pdf base_2.pdf base_1.pdf intro.pdf command_line.pdf index.html 
 
-all_html: base_1.html base_2.html base_3.html base_4.html
+all_html: intro.html base_1.html base_2.html base_3.html base_4.html command_line.html
 
 intro.pdf: intro.md metadata.yaml
 	pandoc $(PDFOPTIONS) -o $@ $^
 
+intro.html: intro.md metadata.yaml
+	pandoc $(REVEALOPTIONS) -o $@ $^
+
 base_1.pdf: base_1.md metadata.yaml
 	pandoc $(PDFOPTIONS) -o $@ $^
 
@@ -46,30 +49,12 @@ base_4.pdf: base_4.md metadata.yaml
 base_4.html: base_4.md metadata.yaml
 	pandoc $(REVEALOPTIONS) -o $@ $^
 
-make.pdf: make.md metadata.yaml
-	pandoc $(PDFOPTIONS) -o $@ $^
-
-tests_assertions.pdf: tests_assertions.md metadata.yaml
-	pandoc $(PDFOPTIONS) -o $@ $^
-
-strings.pdf: strings.md metadata.yaml
-	pandoc $(PDFOPTIONS) -o $@ $^
-
-ligne_commande.pdf: ligne_commande.md metadata.yaml
-	pandoc $(PDFOPTIONS) -o $@ $^
-
-oral.pdf: oral.md metadata.yaml
-	pandoc $(PDFOPTIONS) -o $@ $^
-
-pointeurs_avances.pdf: pointeurs_avances.md metadata.yaml
-	pandoc $(PDFOPTIONS) -o $@ $^
-
-delaunay.pdf: delaunay.md metadata.yaml
-	pandoc $(PDFOPTIONS) -o $@ $^
-
 command_line.pdf: command_line.md metadata.yaml
 	pandoc $(PDFOPTIONS) -o $@ $^
 
+command_line.html: command_line.md metadata.yaml
+	pandoc $(REVEALOPTIONS) -o $@ $^
+
 index.html: index.md
 	pandoc -s $(OPTIONS) $(HTMLOPTIONS) -o $@ $<
 
diff --git a/index.md b/index.md
index 7d0dce8e1294b1d3919dedcc23e814295c609d19..3222c3cb1100f1c463088dabc8dbbea32843be9b 100644
--- a/index.md
+++ b/index.md
@@ -24,20 +24,20 @@ corrige: false
 
 # Cours de programmation séquentielle
 
-## Introduction [PDF](intro.pdf)
+## Introduction [PDF](intro.pdf), [HTML](intro.pdf)
 
 - Organisation du cours.
 - Évaluations.
 - Contacts.
 
-## Introduction à la ligne de commande [PDF](command_line.pdf)
+## Introduction à la ligne de commande [PDF](command_line.pdf), [HTML](command_line.html)
 
 - L'interface en ligne de commande.
 - Le terminal.
 - Quelques commandes utiles.
 - Les éditeurs de texte.
 
-## Base 1 [PDF](base_1.pdf)
+## Base 1 [PDF](base_1.pdf), [HTML](base_1.html)
 
 - Introduction générale au C.
 - Qu'est-ce qu'un programme?
@@ -46,14 +46,14 @@ corrige: false
 - Structures de contrôle.
 - Les variables.
 
-## Base 2 [PDF](base_2.pdf)
+## Base 2 [PDF](base_2.pdf), [HTML](base_2.html)
 
 - Représentation variables en mémoire.
 - Les pointeurs.
 - Les fonctions.
 - Les tableaux.
 
-## Base 3 [PDF](base_3.pdf)
+## Base 3 [PDF](base_3.pdf), [HTML](base_3.html)
 
 - Structures.
 - Allocation dynamique de mémoire.
@@ -61,35 +61,9 @@ corrige: false
 - Génération d'un exécutable.
 - Préprocesseur.
 
-## Introduction à `make` [PDF](make.pdf)
+## Base 4 [PDF](base_4.pdf), [HTML](base_4.html)
 
 - Représentation variables en mémoire.
 - Les pointeurs.
 - Les fonctions.
 - Les tableaux.
-
-## Tests unitaires et assertions [PDF](tests_assertions.pdf)
-
-- Tests unitaires.
-- Assertions.
-
-## Chaînes de caractères [PDF](strings.pdf)
-
-- Le type `char *`.
-- Les fonctions de manipulation de chaînes de caractères.
-
-## Ligne de commande [PDF](ligne_commande.pdf)
-
-- Point d’entrée d’un programme.
-- Conversion des arguments.
-
-## Pointeurs avancés [PDF](pointeurs_avances.pdf)
-
-- Pointeurs de fonctions.
-- Pointeurs et `const`.
-
-## Algorithme de triangulation [PDF](delaunay.pdf)
-
-- Qu'est-ce qu'une triangulation?
-- La triangulation de Delaunay.
-- L'algorithme de Bowyer--Watson.
\ No newline at end of file