diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 16330128272867173549b95b4601e174a89bb26d..6253b9c46b91ef5f6e2766f2aa30a35fac808423 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,33 +2,39 @@ stages:
   - build
   - test
   - package
-
-variables:
- MAVEN_OPTS: "-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository"
+  - quality
 
 cache:
-  key: maven
-  paths:
-    - .m2/repository/
+  key: npm
+  image: node:lts-slim
 
-construire:
+build:
   stage: build
   script:
-    - mvn clean package
+    - npm ci
+    - npm run build
   artifacts:
     paths:
-      - target/
+      - dist
     expire_in: 1 hour
-  
-tester:
-  stage: test
-  script:
-    - mvn test
 
-empaqueter:
-  stage: package
-  script:
-    - mvn package
-  artifacts:
+build-sonar:
+  stage: quality
+
+  image: leadrien/isc-sonar-scanner-cli:latest
+  
+  cache:
+    policy: pull-push
+    key: "sonar-cache-$CI_COMMIT_REF_SLUG"
     paths:
-      - target/*.jar
\ No newline at end of file
+      - "${SONAR_USER_HOME}/cache"
+      - sonar-scanner/
+      
+  script: 
+    - sonar-scanner -Dsonar.host.url="${SONAR_HOST_URL}"
+  allow_failure: true
+  rules:
+    - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
+    - if: $CI_COMMIT_BRANCH == 'master'
+    - if: $CI_COMMIT_BRANCH == 'main'
+    - if: $CI_COMMIT_BRANCH == 'develop'
\ No newline at end of file
diff --git a/sonar-project.properties b/sonar-project.properties
new file mode 100644
index 0000000000000000000000000000000000000000..9ba9f644ff740f903a424d876d738b4343cd7e2b
--- /dev/null
+++ b/sonar-project.properties
@@ -0,0 +1,2 @@
+sonar.projectKey=cyril.rouiller_breakout_d929c1ae-3f65-4e95-9e4f-527e30e697e9
+sonar.qualitygate.wait=true