diff --git a/Makefile b/Makefile
index 80c1c832f96bfad4726beb81774f30b53cd6aef5..ee2decd3b96844a64fa3f2784c1d9bd357d57e76 100755
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,12 @@ VPATH:=vec2 gfx planet
 HDR:=gfx/gfx.h planet/constants.h planet/planet.h vec2/vec2.h
 
 
+all: main doc
+
+exec: main
+	make -C doc read
+	./main
+
 main: main.o vec2.o gfx.o planet.o
 	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
 
@@ -25,5 +31,11 @@ vec2.o: ${HDR}
 
 gfx.o: ${HDR}
 
+.PHONY: clean doc exec
+
+doc:
+	make -C doc
+
 clean:
 	rm -f *.o main tests
+	make -C doc clean
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..4f5018d5012aaff04e89205c43a70698620f832e
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,12 @@
+READER:=firefox
+
+all: rapport.pdf
+
+read: rapport.pdf
+	${READER} rapport.pdf
+
+rapport.pdf: rapport.md constants.png system.png
+	pandoc -H disable_float.tex -s -o $@ $<
+
+clean:
+	rm -f rapport.pdf
diff --git a/doc/constants.png b/doc/constants.png
new file mode 100644
index 0000000000000000000000000000000000000000..0140df387e34a29f1e80bfbbb6dd89c61d598b0c
Binary files /dev/null and b/doc/constants.png differ
diff --git a/doc/disable_float.tex b/doc/disable_float.tex
new file mode 100644
index 0000000000000000000000000000000000000000..92bd004fead9d226284596a623acafc10ef93150
--- /dev/null
+++ b/doc/disable_float.tex
@@ -0,0 +1,8 @@
+\usepackage{float}
+\let\origfigure\figure
+\let\endorigfigure\endfigure
+\renewenvironment{figure}[1][2] {
+    \expandafter\origfigure\expandafter[H]
+} {
+    \endorigfigure
+}
diff --git a/doc/rapport.md b/doc/rapport.md
index 15a8ebef24c469286a7086325450f7d23889981b..0fe27c3d5210f00ec9be7a3f3a28e0dc76f02f4e 100644
--- a/doc/rapport.md
+++ b/doc/rapport.md
@@ -30,6 +30,8 @@ Nous avons créé le fichier **constants.h** pour contenir les valeurs des
 de chaque planète étudiée.
 Ces valeurs ont été recueillies sur internet et dans les tables CRM.
 
+![recueil des constantes réelles](constants.png){ width=60% margin=auto }
+
 ## Completion des fonctions relatives aux planètes
 Compléter le fichier **planet.c** s'est fait par simple traduction des formules
 fournies, en code C. A part quelques considérations dues à la gestion des
@@ -73,6 +75,8 @@ a été corrigée dans la minute.
 Nous avons obtenu un système fonctionnel. Ce dernier a été testé pendant plus
 d'une heure sans produire de résultat qui semblait physiquement incohérent.
 
+![le système en cours de simulation](system.png)
+
 ## Améliorations possibles
 Si toutes les contraintes physiques ont été gérées, il serait souhaitable de
 simplifier l'utilisation de ce programme et de le rendre plus dynamique:
diff --git a/doc/system.png b/doc/system.png
new file mode 100644
index 0000000000000000000000000000000000000000..f213b6ce6ae87b02a98f1c1a75b5d13fcc61ad5d
Binary files /dev/null and b/doc/system.png differ
diff --git a/main.c b/main.c
index f3e36496d22a88c19027a28dc5a5d5581d6f8801..078b99a43ecc040a6706f0690c08202644e6dc9e 100755
--- a/main.c
+++ b/main.c
@@ -8,10 +8,11 @@
 
 #define SCREEN_WIDTH 1000
 #define SCREEN_HEIGHT 1000
+#define DELTA_T 5000.0
 
-#define SUN_RADIUS 50
 
-#define DELTA_T 8000.0
+double delta_t = DELTA_T;
+
 
 int main() {
 	srand(time(NULL));
@@ -21,24 +22,16 @@ int main() {
 		return EXIT_FAILURE;
 	}
 
-	// begin : create your system
-	system_t sys = create_system(DELTA_T);
-	// end : create system
+	system_t sys = create_system(delta_t);
 	while (true) {
 		gfx_present(ctxt);
 		gfx_clear(ctxt, COLOR_BLACK);
-		// begin : draw the current state of your system
 		show_system(ctxt, &sys);
-		// end : draw state of system
-		// begin : update your system
-		update_system(&sys, DELTA_T);
-		// end : update system
+		update_system(&sys, delta_t);
 		if (gfx_keypressed() == SDLK_ESCAPE) { break; }
 	}
 
-	// begin : Free your system
 	free_system(&sys);
-	// end : free system
 	gfx_destroy(ctxt);
 	return EXIT_SUCCESS;
 }