diff --git a/slides/make_avance.md b/slides/make_avance.md
index 035659e5ccee1ac341c37c3458bd2e582776f617..009efa4b3434c49e670fb46be3fad1ca091258cd 100644
--- a/slides/make_avance.md
+++ b/slides/make_avance.md
@@ -189,12 +189,20 @@ OBJECTS := $(patsubst %.c,%.o,$(wildcard *.c))
 
 # That escalated quickly: `*`, `%`, `:=`, ...
 
+```makefile
+# version "longue"
+SOURCES = $(wildcard *.c)
+OBJECTS = $(SOURCES:.c=.o)
+# version "courte"
+OBJECTS := $(patsubst %.c,%.o,$(wildcard *.c))
+```
+
 Let's take one step at a time:
 
-* Les `*`,
-* Les `%`, et leurs différences.
-* Les fonctions, ici `wildcard` et `patsubst`.
-* Le symbole `:=` vs `=`.
+* Les `*`{.makefile},
+* Les `%`{.makefile}, et leurs différences.
+* Les fonctions, ici `wildcard`{.makefile} et `patsubst`{.makefile}.
+* Le symbole `:=`{.makefile} vs `=`{.makefile}.
 
 # Le symbole `*`
 
@@ -221,7 +229,35 @@ OBJECTS = *.o
 OBJECTS := $(wildcard *.o) # retourne tous les fichier .o
 ```
 
-# Le symbole `:=` vs `=` (1/2)
+# La différence entre `*` et `%`
+
+* Le symbole `*`{.makefile} sert à générer une *liste* d'objets.
+* Le symbole `%`{.makefile} sert comme *emplacement* (placeholder).
+
+## Exemple
+
+```makefile
+%.o: %.c # % est la partie avant .c 
+    $(CC) -o $@ -c $< $(CFLAGS) # la règle pour chaque `%.c`
+# équivalent à
+galaxy.o: galaxy.c
+stars.o: stars.c
+vec.o: vec.c
+
+```
+
+## Application
+
+```makefile
+$(patsubst # Substitution de texte pour chaque
+    %.c,\ # Le pattern "avant" le .c
+    %.o,\ # Le pattern "avant" le .o
+    $(wildcard *.c)\ # Tous les fichiers .c
+    )
+```
+
+
+# Le symbole `:=`{.makefile} vs `=`{.makefile} (1/2)
 
 Deux façon (flavors) d'assigner des variables (voir [ce lien](https://www.gnu.org/software/make/manual/html_node/Flavors.html#Flavors)):