diff --git a/slides/cours_25.md b/slides/cours_25.md
index ed8ee2b7b4b6b57242601496540c5bf526388309..7052768a9312ea941e09e64a45064a2f16e8fc13 100644
--- a/slides/cours_25.md
+++ b/slides/cours_25.md
@@ -2,17 +2,17 @@
 title: "Graphes - Généralités"
 date: "2022-05-03"
 patat:
-  eval:
-    tai:
-      command: fish
-      fragment: false
-      replace: true
-    ccc:
-      command: fish
-      fragment: false
-      replace: true
-  images:
-    backend: auto
+    eval:
+        tai:
+            command: fish
+            fragment: false
+            replace: true
+        ccc:
+            command: fish
+            fragment: false
+            replace: true
+    images:
+      backend: auto
 ---
 
 # Questions
@@ -135,21 +135,14 @@ $$
 
 # Algorithme de Dijkstra
 
-## Avez-vous une idée de comment chercher pour un plus court chemin?
-
-```
-
-
-
-
-
-
-
-
-
+## Comment chercher pour un plus court chemin?
 
+. . .
 
 ```
+si distance(u,v) > distance(u,w) + distance(w,v)
+    on passe par w plutôt qu'aller directement
+```
 
 # Algorithme de Dijkstra
 
@@ -222,4 +215,167 @@ tab, tab dijkstra(graph, s, t)
     retourne distance, précédent
 ```
 
-## Comment faire pour avoir toutes les plus petites distances à tous les autres noeuds?
\ No newline at end of file
+# Algorithme de Dijkstra
+
+## Comment faire pour avoir toutes les plus petites distances à tous les autres noeuds?
+
+. . .
+
+```C
+pile parcours(précédent, s, t)
+    sommets = vide
+    u = t
+    si u != s || précédent[u] != indéfini // on a atteint t
+        tant que vrai // la source est atteinte
+            sommets = empiler(sommets, u)
+            u = précédent[u]
+            si u == s
+                retourne sommets
+    retourne sommets
+```
+
+# Algorithme de Dijkstra
+
+::: columns
+
+:::: column
+
+![Initialisation.](figs/dijkstra_0.png)
+
+::::
+
+:::: column
+
+. . .
+
+![1 visité, `D[2]=1`, `D[4]=3`.](figs/dijkstra_1.png)
+
+::::
+
+:::
+
+# Algorithme de Dijkstra
+
+::: columns
+
+:::: column
+
+![Plus court est 2.](figs/dijkstra_1.png)
+
+
+::::
+
+:::: column
+
+. . .
+
+![2 visité, `D[3]=2`, `D[7]=3`.](figs/dijkstra_2.png)
+
+::::
+
+:::
+
+# Algorithme de Dijkstra
+
+::: columns
+
+:::: column
+
+![Plus court est 3.](figs/dijkstra_2.png)
+
+
+::::
+
+:::: column
+
+. . .
+
+![3 visité, `D[7]=3` inchangé, `D[6]=6`.](figs/dijkstra_3.png)
+
+::::
+
+:::
+
+# Algorithme de Dijkstra
+
+
+::: columns
+
+:::: column
+
+![Plus court est 4 ou 7.](figs/dijkstra_3.png)
+
+
+::::
+
+:::: column
+
+. . .
+
+![4 visité, `D[7]=3` inchangé, `D[5]=9`.](figs/dijkstra_4.png)
+
+::::
+
+:::
+
+# Algorithme de Dijkstra
+
+::: columns
+
+:::: column
+
+![Plus court est `7`.](figs/dijkstra_4.png)
+
+
+::::
+
+:::: column
+
+. . .
+
+![7 visité, `D[5]=7`, `D[6]=6` inchangé.](figs/dijkstra_5.png)
+
+::::
+
+:::
+
+# Algorithme de Dijkstra
+
+::: columns
+
+:::: column
+
+![Plus court est 6.](figs/dijkstra_5.png)
+
+
+::::
+
+:::: column
+
+. . .
+
+![`6` visité, `D[5]=7` inchangé.](figs/dijkstra_6.png)
+
+::::
+
+:::
+
+# Algorithme de Dijkstra
+
+::: columns
+
+:::: column
+
+![Plus court est 5 et c'est la cible.](figs/dijkstra_6.png)
+
+::::
+
+:::: column
+
+. . .
+
+![The end, tous les sommets ont été visités.](figs/dijkstra_7.png)
+
+::::
+
+:::
\ No newline at end of file