diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..aa5dbeaea760060633c955d33951eec0b954d016
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,3 @@
+*.cmi
+*.cmo
+build/*
\ No newline at end of file
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..01e24a1554809291de7fd09c404d1a60c3aa081b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,17 @@
+# $@ nom de la cible
+# $< nom de la première dépendance
+# $^ liste des dépendances
+# $? liste des dépendances plus récentes que la cible
+# $* Le nom du fichier sans suffixe
+
+all: phase1 phase2
+
+phase1:
+
+phase2: 
+
+clean:
+	rm -rf *.cmi *.cmo
+
+archive: src/ rapport.pdf
+	tar zcvf DUBARD_LOIC_IPF_S3.tar.gz $^
\ No newline at end of file
diff --git a/phase1/input.txt b/phase1/input.txt
new file mode 100644
index 0000000000000000000000000000000000000000..c15a4b59e0f94296c32a32af9481c007bd62e309
--- /dev/null
+++ b/phase1/input.txt
@@ -0,0 +1,12 @@
+source
+puits
+9
+source source
+source a
+source a_b
+a_b e
+a a_b
+a c
+c puits
+d puits
+e puits
diff --git a/phase1/output.txt b/phase1/output.txt
new file mode 100644
index 0000000000000000000000000000000000000000..a5c618f93f6018541061fb7603d857beb309ece6
--- /dev/null
+++ b/phase1/output.txt
@@ -0,0 +1,2 @@
+source a c puits
+source a_b e puits
diff --git a/phase2/input.txt b/phase2/input.txt
new file mode 100644
index 0000000000000000000000000000000000000000..924c22ea286cb938138368b6ab4f8dd79813cef3
--- /dev/null
+++ b/phase2/input.txt
@@ -0,0 +1,12 @@
+source
+puits
+9
+source source 10
+source a 10
+source a_b 5
+a_b e 7
+a a_b 4
+a c 3
+c puits 7
+d puits 12
+e puits 28
diff --git a/phase2/output.txt b/phase2/output.txt
new file mode 100644
index 0000000000000000000000000000000000000000..dcb01a93f563cea7f08e031da0d69e251460bcee
--- /dev/null
+++ b/phase2/output.txt
@@ -0,0 +1,9 @@
+10
+7
+source a 5
+source a_b 5
+a_b e 7
+a a_b 2
+a c 3
+c puits 3
+e puits 7