diff --git a/bakefile.jar b/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/bakefile.jar differ
diff --git a/build/fr/monlouyan/bakefile/BakeCLI.class b/build/fr/monlouyan/bakefile/BakeCLI.class
new file mode 100644
index 0000000..8035fbb
Binary files /dev/null and b/build/fr/monlouyan/bakefile/BakeCLI.class differ
diff --git a/build/fr/monlouyan/bakefile/BakeEngine.class b/build/fr/monlouyan/bakefile/BakeEngine.class
new file mode 100644
index 0000000..e21dd3b
Binary files /dev/null and b/build/fr/monlouyan/bakefile/BakeEngine.class differ
diff --git a/build/fr/monlouyan/bakefile/BakefileParser.class b/build/fr/monlouyan/bakefile/BakefileParser.class
new file mode 100644
index 0000000..0fe35c0
Binary files /dev/null and b/build/fr/monlouyan/bakefile/BakefileParser.class differ
diff --git a/build/fr/monlouyan/bakefile/CommandExecutor.class b/build/fr/monlouyan/bakefile/CommandExecutor.class
new file mode 100644
index 0000000..315f218
Binary files /dev/null and b/build/fr/monlouyan/bakefile/CommandExecutor.class differ
diff --git a/build/fr/monlouyan/bakefile/DependencyResolver.class b/build/fr/monlouyan/bakefile/DependencyResolver.class
new file mode 100644
index 0000000..de48c58
Binary files /dev/null and b/build/fr/monlouyan/bakefile/DependencyResolver.class differ
diff --git a/build/fr/monlouyan/bakefile/Main.class b/build/fr/monlouyan/bakefile/Main.class
new file mode 100644
index 0000000..2cb4f3b
Binary files /dev/null and b/build/fr/monlouyan/bakefile/Main.class differ
diff --git a/build/fr/monlouyan/bakefile/Rule.class b/build/fr/monlouyan/bakefile/Rule.class
new file mode 100644
index 0000000..fb76a6c
Binary files /dev/null and b/build/fr/monlouyan/bakefile/Rule.class differ
diff --git a/build/fr/monlouyan/bakefile/TimestampManager.class b/build/fr/monlouyan/bakefile/TimestampManager.class
new file mode 100644
index 0000000..60990a3
Binary files /dev/null and b/build/fr/monlouyan/bakefile/TimestampManager.class differ
diff --git a/tests/C/bakefile.jar b/tests/C/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/bakefile.jar differ
diff --git a/tests/C/test-01-from-nothing/bake/README.md b/tests/C/test-01-from-nothing/README.md
similarity index 100%
rename from tests/C/test-01-from-nothing/bake/README.md
rename to tests/C/test-01-from-nothing/README.md
diff --git a/tests/C/test-01-from-nothing/bake/bakefile.jar b/tests/C/test-01-from-nothing/bake/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-01-from-nothing/bake/bakefile.jar differ
diff --git a/tests/C/test-01-from-nothing/bakefile.jar b/tests/C/test-01-from-nothing/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-01-from-nothing/bakefile.jar differ
diff --git a/tests/C/test-01-from-nothing/make/README.md b/tests/C/test-01-from-nothing/make/README.md
deleted file mode 100644
index 6e14f57..0000000
--- a/tests/C/test-01-from-nothing/make/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Test 1 : Compilation depuis rien
-
-## Description
-Ce test vérifie que lorsque les fichiers objets et exécutables sont absents, 
-le programme Bake compile correctement le fichier source `main.c` en `main`.
-
-## Fichiers utilisés
-- `main.c` : Fichier source en C.
-- `Bakefile` : Contient les règles de compilation.
-
-## Résultat attendu
-La compilation doit se faire.
diff --git a/tests/C/test-01-from-nothing/make/bakefile.jar b/tests/C/test-01-from-nothing/make/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-01-from-nothing/make/bakefile.jar differ
diff --git a/tests/C/test-02-already-exist/bake/README.md b/tests/C/test-02-already-exist/README.md
similarity index 100%
rename from tests/C/test-02-already-exist/bake/README.md
rename to tests/C/test-02-already-exist/README.md
diff --git a/tests/C/test-02-already-exist/bake/bakefile.jar b/tests/C/test-02-already-exist/bake/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-02-already-exist/bake/bakefile.jar differ
diff --git a/tests/C/test-02-already-exist/bakefile.jar b/tests/C/test-02-already-exist/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-02-already-exist/bakefile.jar differ
diff --git a/tests/C/test-02-already-exist/make/bakefile.jar b/tests/C/test-02-already-exist/make/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-02-already-exist/make/bakefile.jar differ
diff --git a/tests/C/test-03-circular/bake/bakefile.jar b/tests/C/test-03-circular/bake/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-03-circular/bake/bakefile.jar differ
diff --git a/tests/C/test-03-circular/bakefile.jar b/tests/C/test-03-circular/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-03-circular/bakefile.jar differ
diff --git a/tests/C/test-03-circular/make/bakefile.jar b/tests/C/test-03-circular/make/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-03-circular/make/bakefile.jar differ
diff --git a/tests/C/test-02-already-exist/make/README.md b/tests/C/test-04-edited/README.md
similarity index 100%
rename from tests/C/test-02-already-exist/make/README.md
rename to tests/C/test-04-edited/README.md
diff --git a/tests/C/test-04-edited/bake/README.md b/tests/C/test-04-edited/bake/README.md
deleted file mode 100644
index 6910a2c..0000000
--- a/tests/C/test-04-edited/bake/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Test 2 : Compilation où le résultat existe déjà
-
-## Description
-Ce test vérifie que si l'exécutable `main` est déjà présent et que `main.c` 
-n'a pas été modifié, alors `Bake` ne tente pas de recompiler.
-
-## Fichiers utilisés
-- `main.c` : Fichier source inchangé.
-- `Bakefile` : Contient les règles de compilation.
-- `main` : Exécutable déjà généré.
-
-## Résultat attendu
-Aucun message indiquant la compilation ne doit apparaître.
diff --git a/tests/C/test-04-edited/bake/bakefile.jar b/tests/C/test-04-edited/bake/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-04-edited/bake/bakefile.jar differ
diff --git a/tests/C/test-04-edited/bake/main b/tests/C/test-04-edited/bake/main
index a65d3dd..5dc7fbc 100755
Binary files a/tests/C/test-04-edited/bake/main and b/tests/C/test-04-edited/bake/main differ
diff --git a/tests/C/test-04-edited/bake/main.c b/tests/C/test-04-edited/bake/main.c
index dee38e7..476466d 100644
--- a/tests/C/test-04-edited/bake/main.c
+++ b/tests/C/test-04-edited/bake/main.c
@@ -2,6 +2,6 @@
 
 int main(void) {
     printf("Ceci est un programme de test du Bakefile !\n");
-    printf("test\n");
+    printf("On essaye de faire si le programme recompile après une modification....\n");
     return 0;
 }
diff --git a/tests/C/test-04-edited/bakefile.jar b/tests/C/test-04-edited/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-04-edited/bakefile.jar differ
diff --git a/tests/C/test-04-edited/make/README.md b/tests/C/test-04-edited/make/README.md
deleted file mode 100644
index 6910a2c..0000000
--- a/tests/C/test-04-edited/make/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Test 2 : Compilation où le résultat existe déjà
-
-## Description
-Ce test vérifie que si l'exécutable `main` est déjà présent et que `main.c` 
-n'a pas été modifié, alors `Bake` ne tente pas de recompiler.
-
-## Fichiers utilisés
-- `main.c` : Fichier source inchangé.
-- `Bakefile` : Contient les règles de compilation.
-- `main` : Exécutable déjà généré.
-
-## Résultat attendu
-Aucun message indiquant la compilation ne doit apparaître.
diff --git a/tests/C/test-04-edited/make/bakefile.jar b/tests/C/test-04-edited/make/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-04-edited/make/bakefile.jar differ
diff --git a/tests/C/test-04-edited/make/main b/tests/C/test-04-edited/make/main
index a65d3dd..5dc7fbc 100755
Binary files a/tests/C/test-04-edited/make/main and b/tests/C/test-04-edited/make/main differ
diff --git a/tests/C/test-04-edited/make/main.c b/tests/C/test-04-edited/make/main.c
index dee38e7..476466d 100644
--- a/tests/C/test-04-edited/make/main.c
+++ b/tests/C/test-04-edited/make/main.c
@@ -2,6 +2,6 @@
 
 int main(void) {
     printf("Ceci est un programme de test du Bakefile !\n");
-    printf("test\n");
+    printf("On essaye de faire si le programme recompile après une modification....\n");
     return 0;
 }
diff --git a/tests/C/test-05-variables/bake/README.md b/tests/C/test-05-variables/README.md
similarity index 100%
rename from tests/C/test-05-variables/bake/README.md
rename to tests/C/test-05-variables/README.md
diff --git a/tests/C/test-05-variables/bake/Bakefile b/tests/C/test-05-variables/bake/Bakefile
index 736f996..ce381e7 100644
--- a/tests/C/test-05-variables/bake/Bakefile
+++ b/tests/C/test-05-variables/bake/Bakefile
@@ -1,4 +1,8 @@
 FLAGS = -ansi -pedantic
+COMPILATEUR = gcc 
+OPTIONS = -o
+EXECUTABLE = main
+SOURCE = main.c
 
 main: main.c
-	gcc $(FLAGS) -o main main.c
+	 $(COMPILATEUR) $(FLAGS) $(OPTIONS) $(EXECUTABLE) $(SOURCE)
diff --git a/tests/C/test-05-variables/bake/bakefile.jar b/tests/C/test-05-variables/bake/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-05-variables/bake/bakefile.jar differ
diff --git a/tests/C/test-05-variables/bakefile.jar b/tests/C/test-05-variables/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-05-variables/bakefile.jar differ
diff --git a/tests/C/test-05-variables/make/Makefile b/tests/C/test-05-variables/make/Makefile
index 736f996..65fb3ef 100644
--- a/tests/C/test-05-variables/make/Makefile
+++ b/tests/C/test-05-variables/make/Makefile
@@ -1,4 +1,8 @@
 FLAGS = -ansi -pedantic
+COMPILATEUR = gcc
+OPTIONS = -o
+EXECUTABLE = main
+SOURCE = main.c
 
-main: main.c
-	gcc $(FLAGS) -o main main.c
+$(EXECUTABLE): $(SOURCE)
+	 $(COMPILATEUR) $(FLAGS) $(OPTIONS) $(EXECUTABLE) $(SOURCE)
diff --git a/tests/C/test-05-variables/make/README.md b/tests/C/test-05-variables/make/README.md
deleted file mode 100644
index 28b2bdc..0000000
--- a/tests/C/test-05-variables/make/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# Test 5 : Utilisation de variables
diff --git a/tests/C/test-05-variables/make/bakefile.jar b/tests/C/test-05-variables/make/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-05-variables/make/bakefile.jar differ
diff --git a/tests/C/test-06-variables-on-cascade/bake/README.md b/tests/C/test-06-variables-on-cascade/README.md
similarity index 100%
rename from tests/C/test-06-variables-on-cascade/bake/README.md
rename to tests/C/test-06-variables-on-cascade/README.md
diff --git a/tests/C/test-06-variables-on-cascade/bake/Bakefile b/tests/C/test-06-variables-on-cascade/bake/Bakefile
index 8c7779b..5b5430d 100644
--- a/tests/C/test-06-variables-on-cascade/bake/Bakefile
+++ b/tests/C/test-06-variables-on-cascade/bake/Bakefile
@@ -1,6 +1,10 @@
 FLAGS = -ansi -pedantic
 FLAGSS = $(FLAGS)
 FLAGSSS = $(FLAGSS)
+FLAGSSSS = $(FLAGSSS)
+FLAGSSSSS = $(FLAGSSSS)
+FLAGSSSSSS = $(FLAGSSSSS)
+FLAGSSSSSSS = $(FLAGSSSSSS)
 
 main: main.c
-	gcc $(FLAGSSS) -o main main.c
+	gcc $(FLAGSSSSSSS) -o main main.c
diff --git a/tests/C/test-06-variables-on-cascade/bake/Makefile b/tests/C/test-06-variables-on-cascade/bake/Makefile
deleted file mode 100644
index 8c7779b..0000000
--- a/tests/C/test-06-variables-on-cascade/bake/Makefile
+++ /dev/null
@@ -1,6 +0,0 @@
-FLAGS = -ansi -pedantic
-FLAGSS = $(FLAGS)
-FLAGSSS = $(FLAGSS)
-
-main: main.c
-	gcc $(FLAGSSS) -o main main.c
diff --git a/tests/C/test-06-variables-on-cascade/bake/bakefile.jar b/tests/C/test-06-variables-on-cascade/bake/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-06-variables-on-cascade/bake/bakefile.jar differ
diff --git a/tests/C/test-06-variables-on-cascade/bakefile.jar b/tests/C/test-06-variables-on-cascade/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-06-variables-on-cascade/bakefile.jar differ
diff --git a/tests/C/test-06-variables-on-cascade/make/Bakefile b/tests/C/test-06-variables-on-cascade/make/Bakefile
deleted file mode 100644
index 8c7779b..0000000
--- a/tests/C/test-06-variables-on-cascade/make/Bakefile
+++ /dev/null
@@ -1,6 +0,0 @@
-FLAGS = -ansi -pedantic
-FLAGSS = $(FLAGS)
-FLAGSSS = $(FLAGSS)
-
-main: main.c
-	gcc $(FLAGSSS) -o main main.c
diff --git a/tests/C/test-06-variables-on-cascade/make/Makefile b/tests/C/test-06-variables-on-cascade/make/Makefile
index 8c7779b..5b5430d 100644
--- a/tests/C/test-06-variables-on-cascade/make/Makefile
+++ b/tests/C/test-06-variables-on-cascade/make/Makefile
@@ -1,6 +1,10 @@
 FLAGS = -ansi -pedantic
 FLAGSS = $(FLAGS)
 FLAGSSS = $(FLAGSS)
+FLAGSSSS = $(FLAGSSS)
+FLAGSSSSS = $(FLAGSSSS)
+FLAGSSSSSS = $(FLAGSSSSS)
+FLAGSSSSSSS = $(FLAGSSSSSS)
 
 main: main.c
-	gcc $(FLAGSSS) -o main main.c
+	gcc $(FLAGSSSSSSS) -o main main.c
diff --git a/tests/C/test-06-variables-on-cascade/make/README.md b/tests/C/test-06-variables-on-cascade/make/README.md
deleted file mode 100644
index 0baeab4..0000000
--- a/tests/C/test-06-variables-on-cascade/make/README.md
+++ /dev/null
@@ -1 +0,0 @@
-# Test 6 : Gestion des variables en cascade
diff --git a/tests/C/test-06-variables-on-cascade/make/bakefile.jar b/tests/C/test-06-variables-on-cascade/make/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/C/test-06-variables-on-cascade/make/bakefile.jar differ
diff --git a/tests/Java/bakefile.jar b/tests/Java/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/Java/bakefile.jar differ
diff --git a/tests/Java/test-01-from-nothing/bake/bakefile.jar b/tests/Java/test-01-from-nothing/bake/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/Java/test-01-from-nothing/bake/bakefile.jar differ
diff --git a/tests/Java/test-01-from-nothing/bakefile.jar b/tests/Java/test-01-from-nothing/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/Java/test-01-from-nothing/bakefile.jar differ
diff --git a/tests/Java/test-01-from-nothing/make/bakefile.jar b/tests/Java/test-01-from-nothing/make/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/Java/test-01-from-nothing/make/bakefile.jar differ
diff --git a/tests/Java/test-03-circular/bake/bakefile.jar b/tests/Java/test-03-circular/bake/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/Java/test-03-circular/bake/bakefile.jar differ
diff --git a/tests/Java/test-03-circular/bakefile.jar b/tests/Java/test-03-circular/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/Java/test-03-circular/bakefile.jar differ
diff --git a/tests/Java/test-03-circular/make/bakefile.jar b/tests/Java/test-03-circular/make/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/Java/test-03-circular/make/bakefile.jar differ
diff --git a/tests/bakefile.jar b/tests/bakefile.jar
new file mode 100644
index 0000000..38c6291
Binary files /dev/null and b/tests/bakefile.jar differ