diff --git a/slides/cours_17.md b/slides/cours_17.md
index 5b2049bc92f348626b6da2e0087fadf99e951008..9612e8faa48fe7a36f57bb0ffdff956d80700d62 100644
--- a/slides/cours_17.md
+++ b/slides/cours_17.md
@@ -1343,7 +1343,7 @@ graph TD;
 
 ## Cas 2a
 
-* `v1`, `v2`, `u`, `w` ont la même hauteur.
+* `v1`, `v2`, `u`, `w` même hauteur.
 * déséquilibre en `C` après insertion dans `v2`
 
 ![Après insertion](figs/cas2a_gauche.png)
@@ -1397,3 +1397,115 @@ graph TD;
 
 :::
 
+# Le facteur d'équilibre (balance factor)
+
+## Définition
+
+```
+fe(arbre) = hauteur(droite(arbre)) - hauteur(gauche(arbre))
+```
+
+## Valeurs possibles?
+
+. . .
+
+```
+fe = {-1, 0, 1} // arbre AVL
+fe = {-2, 2}    // arbre déséquilibré
+```
+
+![Illustration du `fe`](figs/facteur_equilibre.png){width=40%}
+
+# Algorithme d'insertion
+
+* Insérer le noeud comme d'habitude.
+* Mettre à jour les facteurs d'équilibre jusqu'à la racine (ou au premier
+  noeud déséquilibré).
+* Rééquilibrer le noeud si nécessaire.
+
+## Cas possibles
+
+::: columns
+
+:::: column
+
+## Sous-arbre gauche (avant)
+
+```
+fe(P) =  1 
+fe(P) =  0 
+fe(P) = -1 
+```
+
+::::
+
+:::: column
+
+## Sous-arbre gauche (après)
+
+. . .
+
+```
+=> fe(P) =  0 
+=> fe(P) = -1 
+=> fe(P) = -2 // Rééquilibrer P
+```
+
+::::
+
+:::
+
+# Algorithme d'insertion
+
+* Insérer le noeud comme d'habitude.
+* Mettre à jour les facteurs d'équilibre jusqu'à la racine (ou au premier
+  noeud déséquilibré).
+* Rééquilibrer le noeud si nécessaire.
+
+## Cas possibles
+
+::: columns
+
+:::: column
+
+## Sous-arbre droit (avant)
+
+```
+fe(P) =  1 
+fe(P) =  0 
+fe(P) = -1 
+```
+
+::::
+
+:::: column
+
+## Sous-arbre droit (après)
+
+. . .
+
+```
+=> fe(P) =  0 
+=> fe(P) = +1 
+=> fe(P) = +2 // Rééquilibrer P
+```
+
+::::
+
+:::
+
+# Rééquilibrage
+
+## Lien avec les cas vus plus tôt
+
+```
+fe(P) = -2 && fe(gauche(P)) = -1 => cas 1a
+fe(P) = -2 && fe(gauche(P)) = +1 => cas 2a
+
+fe(P) = +2 && fe(gauche(P)) = -1 => cas 1b
+fe(P) = +2 && fe(gauche(P)) = +1 => cas 2b
+```
+
+## Dessiner les différents cas, sur le dessin ci-dessous
+
+![On verra un peu après les rotations.](figs/rotation_gauche_droite.png)
diff --git a/slides/figs/cas1b_gauche.png b/slides/figs/cas1b_gauche.png
index a5c2a9c8825f137a4eaa441419103fd5339f242a..050eceea5d8a28b24d7c2684ccb4f0f5a0b10cd8 100644
Binary files a/slides/figs/cas1b_gauche.png and b/slides/figs/cas1b_gauche.png differ
diff --git a/slides/figs/cas2a_gauche.png b/slides/figs/cas2a_gauche.png
index ececa19ebcec20f93cfb7856dfc6a1408a492474..3ef07573f717b27cc49e97209bb34811c16a5319 100644
Binary files a/slides/figs/cas2a_gauche.png and b/slides/figs/cas2a_gauche.png differ
diff --git a/slides/figs/cas2b_droite.png b/slides/figs/cas2b_droite.png
index 6ac1f9fed77d593dd4b70846a9cf2a8f3ff036b3..f61d56e332600f56aade1584dc579dd1708e1791 100644
Binary files a/slides/figs/cas2b_droite.png and b/slides/figs/cas2b_droite.png differ
diff --git a/slides/figs/cas2b_gauche.png b/slides/figs/cas2b_gauche.png
index 5b7fbfd3bca0ea88fb566b7e0fada8c52f675f1a..96474155d1814f0f945f1dfe19cf9bb6508ef148 100644
Binary files a/slides/figs/cas2b_gauche.png and b/slides/figs/cas2b_gauche.png differ
diff --git a/slides/figs/facteur_equilibre.png b/slides/figs/facteur_equilibre.png
new file mode 100644
index 0000000000000000000000000000000000000000..df60e129ff990ed2ae13647d5e1ca56ae739a9ef
Binary files /dev/null and b/slides/figs/facteur_equilibre.png differ
diff --git a/slides/figs/rotation_gauche_droite.png b/slides/figs/rotation_gauche_droite.png
new file mode 100644
index 0000000000000000000000000000000000000000..28f7476188fc858ecd5fc37b32b933b2956f9d27
Binary files /dev/null and b/slides/figs/rotation_gauche_droite.png differ