diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f17e6e71f87f29ce293530934871252b86b080e5..d7e1d58f30207dfa553f35a779c41c8fb988d2c1 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,6 +4,7 @@ image: gcc
 stages:
   - build
   - test
+  - clean
 
 build:
   stage: build
@@ -32,3 +33,9 @@ test_smart_ai:
   script:
     - echo "Running smart_ai tests..."
     - make -C testbed/smart_ai
+
+clean:
+  stage: clean
+  script:
+    - echo "Cleaning the project..."
+    - make clean
diff --git a/Makefile b/Makefile
index ba6483509642795056843b989f9b896852da77ab..6ef90701a8c16638b3ab48fbc13dfd6593028711 100644
--- a/Makefile
+++ b/Makefile
@@ -9,6 +9,7 @@ puissance4: puissance4.c
 clean:
 	@echo "this rule must clean everything up (including candidate files in testbed)"
 	$(MAKE) -C testbed clean
+	$(RM) -f puissance4 *.o *.cand
 
 run: puissance4 
 	./$<