diff --git a/slides/cours_17.md b/slides/cours_17.md
index 0822f9758b49223991e61b112b40b9d6ac2a4ba9..1b829866c1259172c5e4e2d51fafa227cd8702a4 100644
--- a/slides/cours_17.md
+++ b/slides/cours_17.md
@@ -286,42 +286,47 @@ arbre parent(tree, noeud)
 
 \footnotesize
 
-## Pour un seul enfant (5min -> matrix)
+## S'il y a un enfant à gauche (5min -> matrix)
 
 . . .
 
 ```
-arbre suppression(tree, clé)
-    sub_tree = position(tree, clé)
-    si est_vide(gauche(sub_tree)) ou est_vide(droite(sub_tree))
-        parent = parent(tree, sub_tree)
-        si est_vide(gauche(sub_tree))
-            si droite(parent) == sub_tree
-                droite(parent) = droite(sub_tree)
-            sinon
-                gauche(parent) = droite(sub_tree)
-        sinon
-            si droite(parent) == sub_tree
-                droite(parent) = gauche(sub_tree)
-            sinon
-                gauche(parent) = gauche(sub_tree)
-        retourne sub_tree
+booléen suppression(tree, clé)
+    noeud = position(tree, clé)
+    subtree = position(gauche(noeud), clé)
+    val_proche = clé(subtree)
+    si est_vide(droite(gauche(noeud))
+        gauche(noeud) = gauche(subtree)
+    sinon
+        suppression(tree, val_proche)
+    clé(noeud) = val_proche
+    retourne vrai
 ```
 
 
-# Le pseudo-code  de la suppression
+# Le pseudo-code de la suppression
 
 \footnotesize
 
-## Pour au moins deux enfants (ensemble)
+## Bilan (ensemble)
 
 ```
-arbre suppression(tree, clé)
-    sub_tree = position(tree, clé) # on ne revérifie pas que c'est bien la clé
-    si est_non_vide(gauche(sub_tree)) et est_non_vide(droite(sub_tree))
-        max_gauche = position(gauche(sub_tree), clé)
-        échange(clé(max_gauche), clé(sub_tree))
-        suppression(gauche(sub_tree), clé)
+bool suppression(tree, clé)
+    noeud = position(tree, clé) # on ne revérifie pas que c'est bien la clé
+    si est_vide(noeud) ou clé(noeud) != clé
+        retourne faux
+    si est_feuille(noeud))
+        noeud_parent = parent(tree, noeud)
+        ...
+        retourne vrai
+    si est_non_vide(gauche(noeud))
+        subtree = position(gauche(noeud), clé)
+        ...
+        retourne vrai
+    si est_non_vide(gauche(noeud))
+        subtree = position(droite(noeud), clé)
+        ...
+        retourne vrai
 ```
 
 # Exercices (poster sur matrix)
@@ -362,8 +367,7 @@ booléen recherche(tree, clé)
 
 # Exercices (à la maison)
 
-3. Écrire une fonction qui insère des mots dans un arbre et ensuite affiche
-   l'arbre.
+3. Écrire une fonction qui insère des mots dans un arbre et ensuite affiche l'arbre.
 
 
 # Trier un tableau à l'aide d'un arbre binaire