diff --git a/slides/cours_8.md b/slides/cours_8.md
index 475bdaaa1f7b8bd53a425a12e983c82c86341367..2cfa2a3b115ca5eda52941bc0d446a703ad90b67 100644
--- a/slides/cours_8.md
+++ b/slides/cours_8.md
@@ -279,145 +279,3 @@ void prises_devant(int n, bool board[n][n], int li, int co) {
 }
 ```
 
-# Les piles (1/N)
-
-## Qu'est-ce donc?
-
-* Structure de données abstraite...
-
-. . .
-
-* de type `LIFO` (*Last in first out*).
-
-![Une pile où on ajoute A, puis B avant de les retirer. Source:
-[Wikipedia](https://upload.wikimedia.org/wikipedia/commons/e/e1/Stack_%28data_structure%29_LIFO.svg)](figs/Stack.svg){width=70%}
-
-## Des exemples de la vraie vie
-
-. . .
-
-* Pile d'assiettes, de livres, ...
-* Adresses visitées par un navigateur web.
-* Les calculatrices du passé (en polonaise inverse).
-* Les boutons *undo* de vos éditeurs de texte (aka *u* dans vim).
-
-# Les piles (2/N)
-
-## Fonctionnalités
-
-. . .
-
-1. Empiler (push): ajouter un élément sur la pile.
-2. Dépiler (pop): retirer l'élément du sommet de la pile et le retrouver.
-3. Liste vide? (is_empty?).
-
-. . .
-
-4. Jeter un œil (peek): retourner l'élément du sommet de la pile (sans le dépiler).
-5. Nombre d'éléments (length).
-
-## Comment faire les 4,5 à partir de 1 à 3?
-
-. . .
-
-4. Dépiler l'élément, le copier, puis l'empiler à nouveau.
-5. Dépiler jusqu'à ce que la pile soit vide, puis empiler à nouveau.
-
-. . .
-
-## Existe en deux gouts
-
-* Pile avec ou sans limite de capacité (à concurrence de la taille de la
-mémoire).
-
-# Les piles (3/N)
-
-## Implémentation
-
-* Jusqu'ici on n'a pas du tout parlé d'implémentation (d'où le nom de structure
-  abstraite).
-* Pas de choix unique d'implémentation.
-
-## Quelle structure de données allons nous utiliser?
-
-. . .
-
-Et oui vous avez deviné: un tableau!
-
-## La structure: de quoi avons-nous besoin (pile de taille fixe)?
-
-. . .
-
-```C
-#define MAX_CAPACITY 500
-typedef struct _stack {
-    int data[MAX_CAPACITY]; // les données
-    int top;                // indice du sommet
-} stack;
-```
-
-# Les piles (4/N)
-
-## Initialisation
-
-. . .
-
-```C
-void stack_init(stack *s) {
-    s->top = -1;
-}
-```
-
-## Est vide?
-
-. . .
-
-```C
-bool stack_is_empty(stack s) {
-    return s.top == -1;
-} 
-```
-
-## Empiler (ajouter un élément au sommet)
-
-. . .
-
-```C
-void stack_push(stack *s, int val) {
-    s->top += 1;
-    s->data[s->top] = val;
-}
-```
-
-# Les piles (5/N)
-
-## Dépiler (enlever l'élément du sommet)
-
-. . .
-
-```C
-int stack_pop(stack *s) {
-    s->top -= 1;
-    return s->data[s->top+1];
-}
-```
-
-## Jeter un œil (regarder le sommet)
-
-. . .
-
-```C
-int stack_peek(stack *s) {
-    return s->data[s->top];
-}
-```
-
-## Voyez-vous des problèmes potentiels avec cette implémentation?
-
-. . .
-
-* Empiler avec une pile pleine.
-* Dépiler avec une pile vide.
-* Jeter un œil au sommet d'une pile vide.
-
-