diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 81f42292752b29c8085967c72a176146d36755ff..a6c355c0b76d8ec9155ef4696c7caf34915a2bd7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -9,8 +9,8 @@ before_script:
    ## Install ssh-agent if not already installed, it is required by Docker.
    ## (change apt-get to yum if you use an RPM-based image)
    ##
-   - 'which ssh-agent || (pacman -S --noconfirm openssh)'
-   - 'which rsync || (pacman -S --noconfirm rsync)'
+   - 'which ssh-agent || (apk add --update openssh-client)'
+   - 'which rsync || (apk add --update rsync)'
 
 
    ##
diff --git a/slides/.puppeteer.json b/slides/.puppeteer.json
new file mode 100644
index 0000000000000000000000000000000000000000..5de4752f0cc5ab97cd3b7391827c2ebe37a75ee8
--- /dev/null
+++ b/slides/.puppeteer.json
@@ -0,0 +1,4 @@
+{
+    "executablePath": "/usr/bin/chromium-browser",
+    "args": ["--no-sandbox"]
+}
diff --git a/slides/Makefile b/slides/Makefile
index 647558be17ea2420577d613dfa74e1be2f21f987..74dc5223cc159f55b73de9fc04c1322bd7a5f256 100644
--- a/slides/Makefile
+++ b/slides/Makefile
@@ -26,6 +26,13 @@ markdown: $(MARKDOWN) # La markdown les cibles %.markdown
 %.pdf: %.md metadata.yaml # %.pdf (chaque fichier %.md génère un fichier avec le même nom mais l'extension .pdf et la dépendance metadata.yaml)
 	pandoc -s $(OPTIONS) $(PDFOPTIONS) -o $@ $^
 
+# %.pdf: %.md metadata.yaml # %.pdf (chaque fichier %.md génère un fichier avec le même nom mais l'extension .pdf et la dépendance metadata.yaml)
+# ifeq ($(PANDOC),pandoc)
+# 	pandoc -s $(OPTIONS) $(PDFOPTIONS) -o $@ $^
+# else
+# 	-s $(OPTIONS) $(PDFOPTIONS) -o $@ $^
+# endif
+
 %.markdown: %.md metadata.yaml yq
 	sed '1 { /^---/ { :a N; /\n---/! ba; d} }' $< > no_header
 	grep -v -F -x -f  no_header $< > header.yaml
diff --git a/slides/cours_15.md b/slides/cours_15.md
index fe1d4167a691faa57bf26b294301a3787c3b6671..684a1cfc97a23d238f36c98a64cddac0d1d727b6 100644
--- a/slides/cours_15.md
+++ b/slides/cours_15.md
@@ -413,7 +413,8 @@ graph TD;
 
 ## Remarques
 
-* L'arbre est **hétérogène**: le genre d'info est pas le même sur chaque noeud.
+* L'arbre est **hétérogène**: le genre d'info est pas le même sur chaque noeud
+  (opérateur, opérande).
     * Les feuilles contiennent les opérandes.
     * Les noeuds internes contiennent les opérateurs.
 
diff --git a/slides/docker-compose.yml b/slides/docker-compose.yml
index 07bdfda3b9716c196287b7c0930d6d8e754a55bd..36c90f3f8a8e5b24e865b32c93282b6ac946ff0f 100644
--- a/slides/docker-compose.yml
+++ b/slides/docker-compose.yml
@@ -8,5 +8,7 @@ services:
             GROUP: 1000
         container_name: slides
         volumes:
-            - ./:/mnt/slides
-        working_dir: /mnt/slides/
+            - ./:/data
+        entrypoint: ["make", "all"]
+        working_dir: /data
+        # user: "$(id -u):$(id -g)"
diff --git a/slides/figs/.gitignore b/slides/figs/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..75a9b37147f282bed209d5de7685018f810483bf
--- /dev/null
+++ b/slides/figs/.gitignore
@@ -0,0 +1 @@
+diagram*