diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cee6215c9090477b350610e20e0f3f215fda1bb4..b538742b1c7f8ae2598c0892fa0e2b3254ebb97a 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -4,68 +4,76 @@ stages:
   - deploy
   - post-deploy
 
-test_development:
+test:
   stage: test
   only: 
-    - master
+    - development
   script:
-    - docker-compose --project-name data-reloaded-dev-testing -f docker-compose-development.tests.yml build
-    - docker-compose --project-name data-reloaded-dev-testing -f docker-compose-development.tests.yml up -d
+    - docker-compose -f docker-compose-development.tests.yml build
+    - docker-compose --project-name portail-data-dev-testing -f docker-compose-development.tests.yml up -d
 
 build_development:
   stage: build
   only:
-    - master
-    - sandbox
+    - development
   script:
-    - export NODE_ENV=DEV
+    - export TAG=dev
     - export NGINX_PORT=8081
-    - docker-compose --project-name data-reloaded-dev build --build-arg env=dev nginx-app
+    - docker-compose build --build-arg env=dev nginx-app
+    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+    - docker-compose push
+
+build_staging:
+  stage: build
+  only:
+    - development
+  when: manual
+  script:
+    - export TAG=staging
+    - export NGINX_PORT=8080
+    - docker-compose build --build-arg env=staging nginx-app
+    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+    - docker-compose push
 
 deploy_development:
   stage: deploy
   only:
-    - master
-    - sandbox
+    - development
   script:
-    - export NODE_ENV=DEV
+    - export TAG=dev
     - export NGINX_PORT=8081
     - export MATOMO_SITE_ID=1
     - export MATOMO_SERVER_URL=https://matomo-intothesky.alpha.grandlyon.com
-    - docker-compose --project-name data-reloaded-dev up -d
+    - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+    - docker-compose pull
+    - docker-compose --project-name portail-data-${TAG} up -d
   environment:
     name: development
     url: https://data-reloaded-dev.alpha.grandlyon.com
 
+deploy_staging:
+  stage: deploy
+  only:
+    - development
+  when: manual
+  script:
+  - export TAG=staging
+  - export NGINX_PORT=8080
+  - export MATOMO_SITE_ID=3
+  - export MATOMO_SERVER_URL=https://matomo-intothesky.alpha.grandlyon.com
+  - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
+  - docker-compose pull
+  - docker-compose --project-name portail-data-${TAG} up -d
+  environment:
+    name: staging
+    url: https://data-reloaded-rec.alpha.grandlyon.com
+
 code_analysis:
   stage: post-deploy
   only:
-    - master
+    - development
   before_script:
     - export PATH=$PATH:/usr/local/bin/sonar-scanner-3.2.0.1227-linux/bin/
     - export NODE_PATH=$NODE_PATH:`npm root -g`
   script:
-    - sonar-scanner -D sonar.projectKey=data-reloaded-1-neo-dgl2018 -D sonar.sources=.
-
-build_staging:
-  stage: build
-  only:
-    - staging
-  script:
-    - export NODE_ENV=REC
-    - export NGINX_PORT=8080
-    - docker-compose --project-name data-reloaded-rec build --build-arg env=rec nginx-app
-
-deploy_staging:
-  stage: deploy
-  only:
-    - staging
-  script:
-    - export NODE_ENV=REC
-    - export NGINX_PORT=8080
-    - export MATOMO_SITE_ID=3
-    - export MATOMO_SERVER_URL=https://matomo-intothesky.alpha.grandlyon.com
-    - docker-compose --project-name data-reloaded-rec up -d
-  environment:
-    name: staging
-    url: https://data-reloaded-rec.alpha.grandlyon.com
\ No newline at end of file
+    - sonar-scanner -D sonar.projectKey=data-reloaded-1-neo-dgl2018 -D sonar.sources=.
\ No newline at end of file
diff --git a/angular.json b/angular.json
index 9f079276c2b7cca96aa7d88ddc7b35689352bf96..976d9dbb9a541002ec30b1da7835899d5b44e46f 100644
--- a/angular.json
+++ b/angular.json
@@ -85,7 +85,7 @@
               "fileReplacements": [
                 {
                   "replace": "src/environments/environment.ts",
-                  "with": "src/environments/environment.rec.ts"
+                  "with": "src/environments/environment.staging.ts"
                 }
               ]
             },
@@ -149,7 +149,7 @@
               "i18nLocale": "en",
               "baseHref": "/en/"
             },
-            "recette-fr": {
+            "staging-fr": {
               "optimization": true,
               "outputHashing": "all",
               "sourceMap": false,
@@ -162,7 +162,7 @@
               "fileReplacements": [
                 {
                   "replace": "src/environments/environment.ts",
-                  "with": "src/environments/environment.rec.ts"
+                  "with": "src/environments/environment.staging.ts"
                 },
                 {
                   "replace": "src/i18n/geosource/geosource.ts",
@@ -187,7 +187,7 @@
               "i18nLocale": "fr",
               "baseHref": "/fr/"
             },
-            "recette-en": {
+            "staging-en": {
               "optimization": true,
               "outputHashing": "all",
               "sourceMap": false,
@@ -200,7 +200,7 @@
               "fileReplacements": [
                 {
                   "replace": "src/environments/environment.ts",
-                  "with": "src/environments/environment.rec.ts"
+                  "with": "src/environments/environment.staging.ts"
                 }
               ],
               "outputPath": "dist/en",
diff --git a/docker-compose-development.tests.yml b/docker-compose-development.tests.yml
index 5d6a0a9737820ead473af5b6aa41a374f409e7e7..283078837410f90cf1ef8b050b97be0f2fa6c1c3 100644
--- a/docker-compose-development.tests.yml
+++ b/docker-compose-development.tests.yml
@@ -1,4 +1,4 @@
-version: "2"
+version: "3"
 
 services:
   nginx-test:
diff --git a/docker-compose.yml b/docker-compose.yml
index 86cb7bff61c99dce84f39ef2d4853baf0b1f6467..eced16982be81ccced71c19576160b705ab46ef3 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -1,11 +1,11 @@
-version: "2"
+version: "3"
 
 services:
   nginx-app:
-    container_name: nginx-app-${NODE_ENV}
+    container_name: nginx-app-${TAG}
     restart: unless-stopped
-    build:
-      context: ./
+    build: .
+    image: registry.alpha.grandlyon.com/refonte-data/portail-data:${TAG}
     volumes: 
       - ./nginx.conf.template:/etc/nginx/nginx.conf.template
     ports: 
diff --git a/package.json b/package.json
index 88eeef014394f062ad2a2ba015f5cfbf8554d8c8..dfd1652e4625afd462e1001ef26cc5102eff6d19 100644
--- a/package.json
+++ b/package.json
@@ -7,9 +7,9 @@
     "start-aot-fr": "ng serve --configuration=aot-fr",
     "start-aot-en": "ng serve --configuration=aot-en",
     "build-i18n:dev": "for lang in en fr; do ng build --prod --build-optimizer --configuration=development-$lang; done",
-    "build-i18n:rec": "for lang in en fr; do ng build --prod --build-optimizer --configuration=recette-$lang; done",
-    "win-build-i18n:fr": "ng build --prod --build-optimizer --configuration=recette-fr",
-    "win-build-i18n:en": "ng build --prod --build-optimizer --configuration=recette-en",
+    "build-i18n:rec": "for lang in en fr; do ng build --prod --build-optimizer --configuration=staging-$lang; done",
+    "win-build-i18n:fr": "ng build --prod --build-optimizer --configuration=staging-fr",
+    "win-build-i18n:en": "ng build --prod --build-optimizer --configuration=staging-en",
     "win-build-i18n": "npm run win-build-i18n:en && npm run win-build-i18n:fr",
     "test": "ng test --browsers=Chrome --code-coverage=true",
     "test:ci": "ng test --browsers=ChromeHeadlessCI --code-coverage=true --watch=false",
diff --git a/src/environments/environment.rec.ts b/src/environments/environment.staging.ts
similarity index 100%
rename from src/environments/environment.rec.ts
rename to src/environments/environment.staging.ts