diff --git a/slides/.gitignore b/slides/.gitignore
index 91e17a152282ed6dfc0d3eae137860db59e11550..c360c6f30cec1e7d515f0e8223273ae2df0c2166 100644
--- a/slides/.gitignore
+++ b/slides/.gitignore
@@ -1 +1,2 @@
 mermaid-filter.err
+index.md
diff --git a/slides/figs/matrix_qr.png b/slides/figs/matrix_qr.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce2c45261290e5dc508c661a2c66b3545776e553
Binary files /dev/null and b/slides/figs/matrix_qr.png differ
diff --git a/slides/gen_index.sh b/slides/gen_index.sh
new file mode 100755
index 0000000000000000000000000000000000000000..d518e4a8f5ce90846e2e2b8319cd8300f205137f
--- /dev/null
+++ b/slides/gen_index.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+set -e
+
+function get_info() {
+    local field=$(echo "$fullName" | sed "$2q;d" $1);
+    IFS=$3;
+    local field=($field); 
+    if [ "${field}" != $5 ]; then
+        return 1
+    fi
+    local field=${field[1]};
+    IFS=$4;
+    local field=($field);
+    local field=${field[1]};
+    echo "$field"
+}
+
+function fail() {
+    printf '%s\n' "$1" >&2 ## Send message to stderr.
+    exit "${2-1}" ## Return a code specified by $2, or 1 by default.
+}
+
+OIFS=$IFS
+NUM_LINE=2
+PREFIX=""
+# PREFIX=cours/algo/slides/
+
+classes=()
+for i in *.md; do
+    [ -f "$i" ] || break
+    date="$(get_info $i 3 ":" '"' "date")"
+    if [ "$date" == 1 ]; then
+        fail "Error date field not found"
+    fi
+    comp="$(get_info $i 2 ":" '"' "title")"
+    if [ "$comp" == 1 ]; then
+        fail "Error title field not found"
+    fi
+    i="${i%.*}"
+    class="[${date} ${comp}](${PREFIX}${i}.pdf)"
+    classes+=("$class")
+done
+IFS=$'\n'
+classes=($(sort <<<"${classes[*]}"))
+date=$(date '+%Y-%m-%d')
+echo "---" >> index.md
+echo "title: Slides du cours de programmation séquentielle" >> index.md
+echo "date: ${date}" >> index.md
+echo "---" >> index.md
+echo "" >> index.md
+echo "# Tous les slides du cours de programmation séquentielle" >> index.md
+echo "" >> index.md
+for i in ${classes[*]}; do
+    echo "* $i" >> index.md
+done
+
+
+IFS=$OIFS
diff --git a/slides/intro.md b/slides/intro.md
index 616a42432734d98ecc43088f9f649bcd84776494..a220d2d6ffe28856f6225125ee1188e9c3c28b4a 100644
--- a/slides/intro.md
+++ b/slides/intro.md
@@ -14,6 +14,7 @@ Nom                    Mél                               Bureau
 --------------------   ------------------------------    --------------------
 Kevin Heirich          kevin.heirich@hesge.ch            A403
 Michaël El Kharroubi   michael.el-kharroubi@hesge.ch     A403
+Pierre Kunzli          pierre.kunzli@hesge.ch            
 Paul Albuquerque       paul.albuquerque@hesge.ch         B410
 Orestis Malaspinas     orestis.malaspinas@hesge.ch       A401
 --------------------   ------------------------------    --------------------
@@ -21,7 +22,7 @@ Orestis Malaspinas     orestis.malaspinas@hesge.ch       A401
 Utilisez le libre service (pas encore commencé):
 
 * lundi: 12h-13h, mecredi: 12h-13h;
-* jeudi: 13h-14h, vendredi: 17h-18h.
+* jeudi: 12h-13h, vendredi: 17h-18h.
 
 
 # Communication
@@ -45,12 +46,13 @@ Tout le contenu de ce qu'on raconte se trouve sur cyberlearn:
 
 ## But: Illustration des concepts vus au cours d'algorithmique
 
-- Salle A501-2 pour la "théorie" (présentation langage et TPs).
+- Salle A502 pour la "théorie" (présentation langage et TPs).
 - Salles A406-A432-A433 pour la "pratique".
 
 ## Le bâton
 
-- Présence en cours **obligatoire** (13h-16h45 tous les mercredis).
+- Présence en cours **obligatoire** (13h-16h45 tous les mardis).
+- P. Albuquerque note les présences.
 
 ## La carotte
 
@@ -86,7 +88,6 @@ Tout le contenu de ce qu'on raconte se trouve sur cyberlearn:
 
 - on verra au deuxième semestre
 
-
 # Sondage: expérience de programmation
 
 ## [Sondage: expérience de linux](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1291283)
diff --git a/slides_2021/.gitignore b/slides_2021/.gitignore
index 91e17a152282ed6dfc0d3eae137860db59e11550..c360c6f30cec1e7d515f0e8223273ae2df0c2166 100644
--- a/slides_2021/.gitignore
+++ b/slides_2021/.gitignore
@@ -1 +1,2 @@
 mermaid-filter.err
+index.md