diff --git a/build.ninja b/build.ninja
index 09826ecea0d15753e1f79025a6658c862bf7eb20..53cd72b88215ef25501ad377535ff8f29ca215d5 100644
--- a/build.ninja
+++ b/build.ninja
@@ -38,8 +38,8 @@ build fig/18b-child-exit-done-deadlock-note.pdf: svg_to_pdf fig/18b-child-exit-d
 build fig/19-parent-close.pdf: svg_to_pdf fig/19-parent-close.svg
 build fig/20-parent-close-done.pdf: svg_to_pdf fig/20-parent-close-done.svg
 
-build fig/program/slides-00.pdf: asymptote_program fig/program/slides.asy
-build fig/program/slides-all.pdf: concatenate_pdf fig/program/slides-00.pdf fig/program/slides-01.pdf fig/program/slides-02.pdf fig/program/slides-03.pdf fig/program/slides-04.pdf | fig/program/asm-bg-color.eps fig/program/asm-text-black.eps fig/program/bin-multiline-bg-color.eps fig/program/bin-multiline-text.eps fig/program/bin-singleline-base2-text.eps fig/program/bin-singleline-text.eps fig/program/src-bg-color.eps fig/program/src-text-black.eps fig/program/src-text-color.eps
+build fig/program/slides-all.pdf: concatenate_pdf fig/program/program-00.pdf fig/program/program-01.pdf fig/program/program-02.pdf fig/program/program-03.pdf fig/program/program-04.pdf fig/program/program-05.pdf fig/program/program-06.pdf fig/program/program-07.pdf fig/program/program-08.pdf fig/program/program-09.pdf | fig/program/asm-bg-color.eps fig/program/asm-text-black.eps fig/program/bin-multiline-bg-color.eps fig/program/bin-multiline-text.eps fig/program/bin-singleline-base2-text.eps fig/program/bin-singleline-text.eps fig/program/src-bg-color.eps fig/program/src-text-black.eps fig/program/src-text-color.eps
+build fig/program/program.pdf fig/program/program-00.pdf fig/program/program-01.pdf fig/program/program-02.pdf fig/program/program-03.pdf fig/program/program-04.pdf fig/program/program-05.pdf fig/program/program-06.pdf fig/program/program-07.pdf fig/program/program-08.pdf fig/program/program-09.pdf: asymptote_program fig/program/program.asy
 build fig/program/asm-bg-color.eps: svg_to_eps fig/program/asm-bg-color.svg
 build fig/program/asm-text-black.eps: svg_to_eps fig/program/asm-text-black.svg
 build fig/program/bin-multiline-bg-color.eps: svg_to_eps fig/program/bin-multiline-bg-color.svg
diff --git a/fig/program/slides.asy b/fig/program/program.asy
similarity index 91%
rename from fig/program/slides.asy
rename to fig/program/program.asy
index e6331db1dec3ed55751e6898209f5fe204afff26..44746728405fe7c974e9a11b8ae6f1388b7f6076 100644
--- a/fig/program/slides.asy
+++ b/fig/program/program.asy
@@ -87,7 +87,7 @@ void draw_asm(bool with_background)
 
 draw_background(true);
 label("\textbf{Qu'est-ce qu'un programme ?}", (width/2, height*0.95));
-shipout(format("slides-%02d", ++frame_id));
+shipout(format("program-%02d", ++frame_id));
 save();
 
 picture pic = currentpicture;
@@ -95,37 +95,37 @@ picture pic = currentpicture;
 draw_code(true, false);
 draw_vision_dev(true);
 // TODO: schéma tableau/index/exemple, algorigramme
-shipout(format("slides-%02d", ++frame_id));
+shipout(format("program-%02d", ++frame_id));
 
 draw_mid_separator();
 draw_vision_sysarch();
-shipout(format("slides-%02d", ++frame_id));
+shipout(format("program-%02d", ++frame_id));
 
 pair base_text_problem = (width*0.03, height*0.55);
 label("\textbf{Problème : un processeur ne comprend aucun de ces langages !}", base_text_problem, align=SE, rgb("e00000"));
-shipout(format("slides-%02d", ++frame_id));
+shipout(format("program-%02d", ++frame_id));
 label("Un processeur ne parle que son \textbf{langage machine}, du binaire !", base_text_problem + newline_offset*1, align=SE);
 
 draw(bin_singleline_base2_text, (width*0.03, height*0.4), align=SE);
 draw("la fonction \textit{index\_of} est une suite de 74 octets", (width*0.45, height*0.41), align=SE);
-shipout(format("slides-%02d", ++frame_id));
+shipout(format("program-%02d", ++frame_id));
 
 draw(bin_singleline_text, (width*0.03, height*0.35), align=SE);
 draw("... que l'on peut représenter en base 16", (width*0.45, height*0.36), align=SE);
 draw("(2 caractères = 1 octet)", (width*0.48, height*0.31), align=SE);
-shipout(format("slides-%02d", ++frame_id));
+shipout(format("program-%02d", ++frame_id));
 
 draw_bin_multiline(false);
 draw("... que l'on peut représenter par bloc", (width*0.45, height*0.21), align=SE);
 draw("(1 ligne = 16 octets)", (width*0.48, height*0.16), align=SE);
-shipout(format("slides-%02d", ++frame_id));
+shipout(format("program-%02d", ++frame_id));
 
 restore();
 draw("\textbf{Ce code machine = ce code C ?}", (width*0.03, height*0.55), align=SE, rgb("00a000"));
 save();
 draw_code(true, false);
 draw_bin_multiline(false);
-shipout(format("slides-%02d", ++frame_id));
+shipout(format("program-%02d", ++frame_id));
 
 restore();
 draw_code(false, true);
@@ -133,7 +133,7 @@ draw_bin_multiline(true);
 pair oui_base_text = (width*0.03, height*0.48);
 draw("\textbf{Oui !} Chaque \textit{bout} du code machine", oui_base_text, align=SE);
 draw("vient d'instructions/données du code C", oui_base_text + newline_offset2*1, align=SE);
-shipout(format("slides-%02d", ++frame_id));
+shipout(format("program-%02d", ++frame_id));
 
 pair asm_base_text = (width*0.03, height*0.35);
 draw("- Ce lien est plus clair en \textbf{assembleur}", oui_base_text - (0,0.2) + newline_offset2*2, align=SE);
@@ -142,4 +142,4 @@ draw("~~(code machine $\simeq$ assembleur)", oui_base_text - (0,0.2) + newline_o
 draw("- Explications/détails pas dans ce cours", oui_base_text - (0,0.4) + newline_offset2*4, align=SE);
 draw("~~(ce sera en cours d'archi et de compilation)", oui_base_text - (0,0.4) + newline_offset2*5, align=SE);
 draw_asm(true);
-shipout(format("slides-%02d", ++frame_id));
+shipout(format("program-%02d", ++frame_id));