diff --git a/slides/.gitignore b/slides/.gitignore
index cdcc08162bc939cc8f1fd032d94c25c8449db702..2000f8a63a7707b72e472719255b506fcc21b692 100644
--- a/slides/.gitignore
+++ b/slides/.gitignore
@@ -2,3 +2,4 @@
 *.err
 *.markdown
 *.html
+index.md
diff --git a/slides/Makefile b/slides/Makefile
index ae7adbfc2aaa8fbb0094424bf2eef75e3595a235..efaeb0c7970489b0ae44d4abc7997e06de4fd6cc 100644
--- a/slides/Makefile
+++ b/slides/Makefile
@@ -31,7 +31,8 @@ docker_clean: docker-compose.yml
 	docker-compose run slides make clean -k || true
 
 index:
-	@echo $(MD)
+	rm -f index.md
+	./gen_index.sh
 
 markdown: $(MARKDOWN) # La markdown les cibles %.markdown
 
diff --git a/slides/gen_index.sh b/slides/gen_index.sh
new file mode 100755
index 0000000000000000000000000000000000000000..d56ff25e004845c0ca032738aa920bea9316b45e
--- /dev/null
+++ b/slides/gen_index.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+OIFS=$IFS
+NUM_LINE=2
+PREFIX=algo/cours/slides/
+
+classes=()
+for i in *.md; do
+    [ -f "$i" ] || break
+    comp=$(echo "$fullName" | sed "${NUM_LINE}q;d" $i)
+    date=$(echo "$fullName" | sed "3q;d" $i)
+    IFS=':' 
+    comp=($comp); 
+    comp=${comp[1]}
+    date=($date); 
+    date=${date[1]}
+    # echo $comp
+    IFS='"'
+    comp=($comp)
+    comp=${comp[1]}
+    date=($date); 
+    date=${date[1]}
+    # echo $comp | awk '{ print substr( $0, 1, length($0)-1 ) }'
+    # echo $comp
+    # date=sed "${NUM_LINE}q;d" $i
+    i="${i%.*}"
+    class="[${date} ${comp}](${PREFIX}${i}.pdf)"
+    classes+=($class)
+    echo "[${date} ${comp}](${PREFIX}${i}.pdf)" >> index.md
+done
+IFS=$'\n'
+classes=($(sort <<<"${classes[*]}"))
+for i in ${classes[*]}; do
+    echo $i
+done
+
+
+IFS=$OIFS
diff --git a/slides/intro.md b/slides/intro.md
index 5b75c151f4f666d34599632fc172f6b1cb6d0d7d..5dc3246ee382521a65a0581f591cf669dc61b44b 100644
--- a/slides/intro.md
+++ b/slides/intro.md
@@ -1,6 +1,6 @@
 ---
-title: Introduction générale
-date: 2020-09-16
+title: "Introduction générale"
+date: "2020-09-16"
 ---
 
 # La hotline