diff --git a/.gitignore b/.gitignore
index 5ec39aea287e44cd4581bf532c41dd1be9803fab..5b0e39972b58e9bd56feb0f0ba6d3ed112447914 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,13 @@
 a.out
 obj/*
-*.o
+src/*.o
 *.aux
 *.log
 *.out
 *.toc
 *.gz
-*.cmi
-*.cmo
-*.cmx
-*.o
+src/*.cmi
+src/*.cmo
+src/*.cmx
+src/*.o
 
diff --git a/Makefile b/Makefile
index b31d55e9cb731265c83a9a25439504c87b7f96c2..23df58d4c3d3b59b4588d6e09cb24625cb321f7a 100644
--- a/Makefile
+++ b/Makefile
@@ -12,3 +12,9 @@ main.out: src/main.ml src/user.ml
 
 tests.out: src/main.ml src/tests.ml
 	cd src && $(CC) $(FLAGS) -o ../bin/$@ main.ml tests.ml
+
+clean:
+	rm -rf src/*.cmi src/*.cmo src/*.cmx src/*.o bin/*.out doc/*.aux doc/*.log doc/*.out doc/*.gz doc/*.toc src/*.swp
+
+archive: clean
+	tar zcvf loic_dubard.tar.gz src/ doc/ bin/ Makefile README.md 
diff --git a/bin/main.out b/bin/main.out
deleted file mode 100755
index 913439f0d04ae68cb6fce66b82fb9a3ca8564ce1..0000000000000000000000000000000000000000
Binary files a/bin/main.out and /dev/null differ
diff --git a/src/main.cmi b/src/main.cmi
deleted file mode 100644
index 88e42b934ceb305123c8847bbf5445a2928f4ea7..0000000000000000000000000000000000000000
Binary files a/src/main.cmi and /dev/null differ
diff --git a/src/main.cmo b/src/main.cmo
deleted file mode 100644
index df6721d0e31366cc43906f94b83c077c9a26eb5a..0000000000000000000000000000000000000000
Binary files a/src/main.cmo and /dev/null differ
diff --git a/src/main.cmx b/src/main.cmx
deleted file mode 100644
index a42d1c651113975f6821638f1bef8e4218654256..0000000000000000000000000000000000000000
Binary files a/src/main.cmx and /dev/null differ
diff --git a/src/main.o b/src/main.o
deleted file mode 100644
index b8f3410df97aea6c8cbc59a32fc87345115a8e7a..0000000000000000000000000000000000000000
Binary files a/src/main.o and /dev/null differ