diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..5f0fe386ec883fa98c19ee5b32902f3e01ed21a8
--- /dev/null
+++ b/.gitlab-ci.yml
@@ -0,0 +1,40 @@
+include:
+  - local: 'TP2/.gitlab-ci.yml'
+
+## my_folder/build.yml
+# the `.` (dot) before build means that we don't want it run alone, we must
+# extends to run this part
+.build:
+  variables:
+    SOFTWARE_ROOT: ""
+  script:
+    - build ${SOFTWARE_ROOT}
+
+build_tp_2:
+  extends: .build
+  variables:
+    SOFTWARE_ROOT: "TP2/"
+
+
+.test:
+  variables:
+    SOFTWARE_ROOT: ""
+  script:
+    - test ${SOFTWARE_ROOT}
+
+test_tp_2:
+  extends: .test
+  variables:
+    SOFTWARE_ROOT: "TP2/"
+
+
+.coverage:
+  variables:
+    SOFTWARE_ROOT: ""
+  script:
+    - coverage ${SOFTWARE_ROOT}
+
+coverage_tp_2:
+  extends: .coverage
+  variables:
+    SOFTWARE_ROOT: "TP2/"
\ No newline at end of file
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..13566b81b018ad684f3a35fee301741b2734c8f4
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# Default ignored files
+/shelf/
+/workspace.xml
+# Editor-based HTTP Client requests
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/CR-TP2/.gitkeep b/CR-TP2/.gitkeep
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391