diff --git a/slides/cours_22.md b/slides/cours_22.md
index 7ed396dde9046f085452921dd4e9afa895fd1c4d..06fb1a27a2a36440324d2da3cfce6035f63f2f2f 100644
--- a/slides/cours_22.md
+++ b/slides/cours_22.md
@@ -15,12 +15,6 @@ patat:
backend: auto
---
-# Le cours précédent
-
-* Questions:
-
-
-
# Les B-arbres
## Problématique
@@ -391,7 +385,7 @@ P_0 | K_1 | P_1 | K_2 | | P_i | K_{i+1} | | P_{m-1} | K_m | P_m
```C
struct page
- int ordre, nb
+ entier ordre, nb
element tab[2*ordre + 2]
```
@@ -403,6 +397,57 @@ struct element
# Les B-arbres
+## Les fonctions utilitaires (5min matrix)
+
+```C
+booléen est_feuille(page) // la page est elle une feuille?
+entier position(page, valeur) // à quelle indice on insère?
+```
+
+. . .
+
+```C
+booléen est_feuille(page)
+ retourne (page.tab[0] == vide)
+entier position(page, valeur)
+ i = 0
+ tant que i < page.nb && val >= page.tab[i]
+ i += 1
+ retourne i
+```
+
+# Les B-arbres
+
+\footnotesize
+
+## Les fonctions utilitaires (5min matrix)
+
+```C
+page nouvelle_page(ordre) // creer une page
+rien liberer_memoire(page) // liberer tout un arbre!
+```
+. . .
+
+```C
+page nouvelle_page(ordre)
+ page = allouer(page)
+ page.ordre = ordre
+ page.nb = 0
+ page.tab = allouer(2*ordre+2)
+ retourner page
+rien liberer_memoire(page)
+ si est_feuille(page)
+ liberer(page.tab)
+ liberer(page)
+ sinon
+ pour fille dans page.tab
+ liberer_memoire(fille)
+ liberer(page.tab)
+ liberer(page)
+```
+
+# Les B-arbres
+
<!-- # Les B-arbres -->