diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6826f472783e2fb3bcbffa71e5a8c5f12705f44f..71edfcb3eae7084674187b01307733cf9b45bb94 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -14,6 +14,7 @@ cache:
   - ldap_connexion_config.json
 
 stages:
+  - install
   - build
   - test
   - deploy
@@ -22,22 +23,30 @@ stages:
 
 # Install dependencies, compile the bundle.js,
 # make migrations on and seed the db
+install-dependencies:
+  stage: install
+  script:
+    - npm install
+  artifacts:
+    paths:
+      - build/
+      - node_modules/
+    expire_in: 240 min
+  tags:
+    - build
+
 build:
   stage: build
   script:
-    - npm install
     - npm run build
     - knex migrate:latest
     - knex seed:run
   artifacts:
     paths:
-      - ldap_connexion_config.json
       - build/
-      - node_modules/
-    expire_in: 240 min
   tags:
-    - database
     - build
+    - database
 
 # Run ESLint to analyse our JS code
 test:lint:
@@ -47,7 +56,7 @@ test:lint:
   tags:
     - lint
 
-deploy_staging:
+deploy-staging:
   stage: deploy
   only:
     - master