diff --git a/.gitlab/ci/build.gitlab-ci.yml b/.gitlab/ci/build.gitlab-ci.yml
index 01c537fce668e95f5e632cce8b58eda0da36ecdd..d12c714d34b2d457a5b4a675bbd4b99c1211362b 100644
--- a/.gitlab/ci/build.gitlab-ci.yml
+++ b/.gitlab/ci/build.gitlab-ci.yml
@@ -1,3 +1,6 @@
+include:
+  - remote: 'https://gitlab.eclipse.org/eclipse/aidge/gitlab_shared_files/-/raw/main/.gitlab/ci/shared_script.gitlab-ci.yml'
+
 build:ubuntu_cpp:
   stage: build
   needs: []
@@ -6,15 +9,14 @@ build:ubuntu_cpp:
 
   script:
     # Download dependencies
+    - DEPENDENCY_JOB="build:ubuntu_cpp"
     # aidge_core
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:ubuntu_cpp"'
-    - unzip -o build_artifacts.zip -d .
-    - rm -rf build_cpp
+    - DEPENDENCY_NAME="aidge_core"
+    - !reference [.download_dependency, script]
     # aidge_backend_cpu
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5140/jobs/artifacts/master/download?job=build:ubuntu_cpp"'
-    - unzip -o build_artifacts.zip -d .
-    - rm -rf build_cpp
-  
+    - DEPENDENCY_NAME="aidge_backend_cpu"
+    - !reference [.download_dependency, script]
+
     # Build current module
     - export CMAKE_PREFIX_PATH=../install_cpp
     - mkdir -p build_cpp
@@ -35,15 +37,14 @@ build:ubuntu_cpp_g++10:
     - docker
 
   script:
-    # Download dependencies
+        # Download dependencies
+    - DEPENDENCY_JOB="build:ubuntu_cpp"
     # aidge_core
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:ubuntu_cpp"'
-    - unzip -o build_artifacts.zip -d .
-    - rm -rf build_cpp
+    - DEPENDENCY_NAME="aidge_core"
+    - !reference [.download_dependency, script]
     # aidge_backend_cpu
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5140/jobs/artifacts/master/download?job=build:ubuntu_cpp"'
-    - unzip -o build_artifacts.zip -d .
-    - rm -rf build_cpp
+    - DEPENDENCY_NAME="aidge_backend_cpu"
+    - !reference [.download_dependency, script]
 
     # Build current module
     - export CMAKE_PREFIX_PATH=../install_cpp
@@ -63,14 +64,14 @@ build:ubuntu_cpp_g++12:
 
   script:
     # Download dependencies
+    - DEPENDENCY_JOB="build:ubuntu_cpp"
     # aidge_core
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:ubuntu_cpp"'
-    - unzip -o build_artifacts.zip -d .
-    - rm -rf build_cpp
+    - DEPENDENCY_NAME="aidge_core"
+    - !reference [.download_dependency, script]
     # aidge_backend_cpu
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5140/jobs/artifacts/master/download?job=build:ubuntu_cpp"'
-    - unzip -o build_artifacts.zip -d .
-    - rm -rf build_cpp
+    - DEPENDENCY_NAME="aidge_backend_cpu"
+    - !reference [.download_dependency, script]
+
 
     # Build current module
     - export CMAKE_PREFIX_PATH=../install_cpp
@@ -90,14 +91,14 @@ build:ubuntu_cpp_clang12:
 
   script:
     # Download dependencies
+    - DEPENDENCY_JOB="build:ubuntu_cpp"
     # aidge_core
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:ubuntu_cpp"'
-    - unzip -o build_artifacts.zip -d .
-    - rm -rf build_cpp
+    - DEPENDENCY_NAME="aidge_core"
+    - !reference [.download_dependency, script]
     # aidge_backend_cpu
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5140/jobs/artifacts/master/download?job=build:ubuntu_cpp"'
-    - unzip -o build_artifacts.zip -d .
-    - rm -rf build_cpp
+    - DEPENDENCY_NAME="aidge_backend_cpu"
+    - !reference [.download_dependency, script]
+
 
     # Build current module
     - export CMAKE_PREFIX_PATH=../install_cpp
@@ -117,14 +118,13 @@ build:ubuntu_cpp_clang15:
 
   script:
     # Download dependencies
+    - DEPENDENCY_JOB="build:ubuntu_cpp"
     # aidge_core
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:ubuntu_cpp"'
-    - unzip -o build_artifacts.zip -d .
-    - rm -rf build_cpp
+    - DEPENDENCY_NAME="aidge_core"
+    - !reference [.download_dependency, script]
     # aidge_backend_cpu
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5140/jobs/artifacts/master/download?job=build:ubuntu_cpp"'
-    - unzip -o build_artifacts.zip -d .
-    - rm -rf build_cpp
+    - DEPENDENCY_NAME="aidge_backend_cpu"
+    - !reference [.download_dependency, script]
 
     # Build current module
     - export CMAKE_PREFIX_PATH=../install_cpp
@@ -144,12 +144,13 @@ build:ubuntu_python:
 
   script:
     # Download dependencies
-    # aidge_core (Python)
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5139/jobs/artifacts/main/download?job=build:ubuntu_python"'
-    - unzip -o build_artifacts.zip -d .
-    # aidge_backend_cpu (Python)
-    - 'curl --location --output build_artifacts.zip "https://gitlab.eclipse.org/api/v4/projects/5140/jobs/artifacts/master/download?job=build:ubuntu_python"'
-    - unzip -o build_artifacts.zip -d .
+    - DEPENDENCY_JOB="build:ubuntu_python"
+    # aidge_core (python)
+    - DEPENDENCY_NAME="aidge_core"
+    - !reference [.download_dependency, script]
+    # aidge_backend_cpu (python)
+    - DEPENDENCY_NAME="aidge_backend_cpu"
+    - !reference [.download_dependency, script]
 
     - python3 -m pip install virtualenv
     - virtualenv venv