diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 406e89f5ad03a22a04e805a6ac360382c1840007..8c820558280efb80ad3157340873c3f13df22586 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,20 +11,29 @@ stages:
     - deploy
 
 cache:
-  paths:
-    - .m2/repository
-    - target
-    - sava-core/target
-    - sava-core-jarkarta/target
-    - sava-example/jarkarta/target
+  - key: maven-repository
+    paths:
+      - .m2/repository
+
+dependencies_job:
+  stage: build
+  script:
+    - mvn -B dependency:resolve dependency:resolve-plugins --projects .,sava-core,sava-core-jakarta
 
 build_job:
   stage: build
+  needs: ["dependencies_job"]
   script:
     - echo "Maven compile started"
     - mvn clean compile test-compile
     - ls -lha /usr/bin/tokei
     - /usr/bin/tokei --version
+  artifacts:
+    name: "Maven artifacts from $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG"
+    expire_in: 1h
+    when: always
+    paths:
+      - "**/target"
 
 test_job:
   stage: test
@@ -33,12 +42,11 @@ test_job:
     - echo "Maven test started"
     - mvn test org.jacoco:jacoco-maven-plugin:report-aggregate
   artifacts:
+    name: "Maven artifacts from $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG"
+    expire_in: 1h
     when: always
     paths:
-      - target
-      - sava-core/target
-      - sava-core-jarkarta/target
-      - sava-example/jarkarta/target
+      - "**/target"
     reports:
       junit:
         - target/surefire-reports/TEST-*.xml
@@ -50,6 +58,13 @@ install_job:
   script:
     - echo "Maven packaging started"
     - mvn install -DskipTests
+  artifacts:
+    name: "Maven artifacts from $CI_PROJECT_NAME on $CI_COMMIT_REF_SLUG"
+    expire_in: 1h
+    when: always
+    paths:
+      - "**/target"
+      - .m2/repository/fr/inrae/agroclim
 
 checkstyle_job:
   stage: code-check
@@ -101,6 +116,7 @@ pages:
     - mv sava-core-jakarta/target/site/ target/site/sava-core-jakarta
     - mv sava-example/target/site/ target/site/sava-example
   artifacts:
+    expire_in: 1h
     paths:
       - target/site
   publish: target/site