diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index eb088d13d1ba8119972da49c3eb052fa9306c9b2..21f026239e894e8da927235fb8df8ddae76e97c2 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -17,9 +17,46 @@ variables:
   GIT_DEPTH: 0
 
 stages:
+  - import-convert-assets
   - quality
   - build
 
+import-convert-assets:
+  image: alpine:3.16.2
+  stage: import-convert-assets
+  before_script:
+    - apk add inkscape curl
+  script:
+    - cd ~
+    # Fetch and convert email assets
+    - curl "https://forge.grandlyon.com/api/v4/projects/409/repository/archive?path=src/assets/icons/email" --output email.tar.gz
+    - tar -xf email.tar.gz
+    - cd *-email/src/assets/icons/email
+    - for file in *.svg; do inkscape --export-type="png" -w 200 -h 200 $file; done
+    - rm *.svg
+    - cd ~
+    # Fetch and convert ecogesture assets
+    - curl "https://forge.grandlyon.com/api/v4/projects/409/repository/archive?path=src/assets/icons/visu/ecogesture" --output ecogesture.tar.gz
+    - tar -xf ecogesture.tar.gz
+    - cd *-ecogesture/src/assets/icons/visu/ecogesture
+    - for file in *.svg; do inkscape --export-type="png" -w 200 -h 200 $file; done 
+    - rm *.svg
+    # Cleanup
+    - cd ~
+    - rm -rf ./image-lib
+    - mv *-email/src/assets/icons/email ./image-lib
+    - mv *-ecogesture/src/assets/icons/visu/ecogesture ./image-lib/ecogesture
+    - rm -rf email.tar.gz ecogesture.tar.gz *-email *-ecogesture
+    # Copy into project folder
+    - cp -r image-lib $CI_PROJECT_DIR/image-lib
+  artifacts:
+    paths:
+        - $CI_PROJECT_DIR/image-lib
+
+  only: 
+    - master
+  when: manual
+
 build-dev-master:
   image: docker:18.09
   services:
@@ -92,3 +129,5 @@ sonarqube-mr:
       -Dsonar.login=${SONAR_MR_TOKEN}
       -Dsonar.cpd.exclusions=internal/mocks/**,internal/**/*_test.go
       -Dsonar.qualitygate.wait=true
+
+