diff --git a/slides/Makefile b/slides/Makefile
index 7067a6bb63b80693d59f4ccb53c2f2af0531c2a7..04c8b3be8f0c3cf60fda4649f1fa9478427380a9 100644
--- a/slides/Makefile
+++ b/slides/Makefile
@@ -4,7 +4,7 @@ PDFOPTIONS += --highlight-style my_highlight.theme
 PDFOPTIONS += --pdf-engine pdflatex
 PDFOPTIONS += -V theme:metropolis
 PDFOPTIONS += -V themeoptions:numbering=none -V themeoptions:progressbar=foot
-PDFOPTIONS += -V fontsize=smaller
+# PDFOPTIONS += -V fontsize=smaller
 PDFOPTIONS += -V urlcolor=blue
 
 REVEALOPTIONS = -t revealjs
diff --git a/slides/variables_fonctions.md b/slides/variables_fonctions.md
index eb2f783c7a2d3ae4debcab01a0948c1410f90361..84d6be091e13c3300fde708fde511f0366dae770 100644
--- a/slides/variables_fonctions.md
+++ b/slides/variables_fonctions.md
@@ -29,33 +29,39 @@ patat:
 * Un **type** (`int`, `double`, ...);
 * une **adresse mémoire** (voir ci-après).
 
-# Représentation des variables en mémoire (1/2)
+# Représentation des variables en mémoire (1/3)
 
-## La mémoire
+## La mémoire est :
 
-* La mémoire est:
-    - ... un ensemble de bits,
-    - ... accessible via des adresses,
+- ... un ensemble de bits,
+- ... accessible via des adresses,
 
   +------+----------+----------+------+----------+------+------+
   | bits | 00110101 | 10010000 | .... | 00110011 | .... | .... |
   +======+==========+==========+======+==========+======+======+
   | addr | 2000     | 2001     | .... | 4000     | .... | .... |
   +------+----------+----------+------+----------+------+------+
+- ... gérée par le système d'exploitation.
+- ... séparée en deux parties: **la pile** et **le tas**.
 
-    - ... gérée par le système d'exploitation.
-    - ... séparée en deux parties: **la pile** et **le tas**.
+## Pile vs tas
 
-## Une variable
+* Pile structurée, tas non-structuré;
+* Pile ordonnée, tas amas informe;
+* Pile taille connue à la compilation, tas dynamique.
 
-* Une variable, `type a = valeur`{.C}, possède:
-    - un type (`char`{.C}, `int`{.C}, ...),
-    - un contenu (une séquence de bits qui encode `valeur`{.C}),
-    - une adresse mémoire (accessible via `&a`{.C}),
-    - une portée.
+# Représentation des variables en mémoire (2/3)
 
+## Une variable, `type a = valeur`{.C}, possède:
 
-# Représentation des variables en mémoire (2/2)
+- un type (`char`{.C}, `int`{.C}, ...),
+- un contenu (une séquence de bits qui encode `valeur`{.C}),
+- une adresse mémoire (accessible via `&a`{.C}),
+- une portée.
+
+## En fonction du **type** les bits ne représentent pas la même chose!
+
+# Représentation des variables en mémoire (3/3)
 
 ![Les variables en mémoire.](figs/memory.svg){width=100%}
 
@@ -140,10 +146,8 @@ int main() {
     void set_to_two(int a) { // a: nouvelle variable
         // valeur de a est une copie de x
         // lorsque la fonction est appelée, ici -1
-
         a = 2; // la valeur de a est fixée à 2
     } // a est détruite
-
     int main() {
         int x = -1;
         set_to_two(x); // -1 est passé en argument