diff --git a/.github/workflows/centos7.yml b/.github/workflows/centos7.yml
index 330df8e719..61ac1ec3dd 100644
--- a/.github/workflows/centos7.yml
+++ b/.github/workflows/centos7.yml
@@ -2,7 +2,7 @@ name: Centos7 CI (push and/or release)
 
 on:
   release:
-    types: [created]
+    types: [ created ]
   push:
     branches:
       - develop
@@ -29,135 +29,107 @@ jobs:
 
   build:
     name: Build
-    env:
-      ORTOOLSDIR: ${{ github.workspace }}/or-tools
 
     runs-on: ubuntu-latest
-    container: 'antaresrte/rte-antares:centos7-simulator-no-deps'
 
     steps:
 
-    - name: Checkout
-      run: |
-          git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git -b ${{ env.REF }} .
-
-    - name: Install gcc 10
-      run: |
-        # update mirrors, official centos7 is deprecated
-        sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo &&\
-        sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo &&\
-        sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo &&\
-        yum update -y
-
-        # not a typo, centos-release-scl is needed to install devtoolset-10 but introduce deprecated mirror
-        sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo &&\
-        sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo &&\
-        sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
-
-        yum install -y centos-release-scl
-        yum install -y devtoolset-11-gcc*
-
-    - name: Install cmake 3.28
-      run: pip3 install cmake==3.28.4
-
-    - name: Install VCPKG
-      # Note: we need to use environment variables instead of workflow variables
-      #       because github messes up path variables when running in container,
-      #       see https://github.com/actions/runner/issues/2058
-      run: |
-        git submodule update --init vcpkg && ./vcpkg/bootstrap-vcpkg.sh -disableMetrics
-        echo "VCPKG_ROOT=$GITHUB_WORKSPACE/vcpkg" >> $GITHUB_ENV
-        echo "VCPKG_CACHE_DIR=$GITHUB_WORKSPACE/vcpkg_cache" >> $GITHUB_ENV
-        echo "VCPKG_BINARY_SOURCES=clear;files,$GITHUB_WORKSPACE/vcpkg_cache,readwrite" >> $GITHUB_ENV
-
-    - name: Restore vcpkg binary dir from cache
-      id: cache-vcpkg-binary
-      # Note: we are stuck with v3, because v4 is not compatible with oracle8 image
-      uses: actions/cache/restore@v3
-      with:
-        path: ${{ env.VCPKG_CACHE_DIR }}
-        key: vcpkg-cache-centos7-${{ hashFiles('src/vcpkg.json', '.git/modules/vcpkg/HEAD') }}
-        # Allows to restore a cache when deps have only partially changed (like adding a dependency)
-        restore-keys: vcpkg-cache-centos7-
-
-    - name: Init submodule
-      run: |
-          git submodule update --init --remote src/tests/resources/Antares_Simulator_Tests
-
-    - name: Config OR-Tools URL
-      run: |
-           echo "URL_ORTOOLS=https://github.com/rte-france/or-tools-rte/releases/download/$(cat ortools_tag)/ortools_cxx_centos7_static_sirius.zip" >> $GITHUB_ENV
-
-    - name: Download OR-Tools
-      id: ortools
-      run: |
-            mkdir -p ${{ env.ORTOOLSDIR }} && cd ${{ env.ORTOOLSDIR }}
-            wget -q -O ortools.zip ${{ env.URL_ORTOOLS }}
-            unzip -q ortools.zip
-            rm ortools.zip
-
-    - name: Install gh if needed
-      if: ${{ env.IS_RELEASE == 'true' }}
-      run: |
-           wget https://github.com/cli/cli/releases/download/v2.52.0/gh_2.52.0_linux_amd64.rpm
-           rpm -i gh_2.52.0_linux_amd64.rpm
-           gh --version
-
-    - name: Configure
-      run: |
-        source /opt/rh/devtoolset-11/enable
-        source /opt/rh/rh-git227/enable
-        cmake -B _build -S src \
-        -DCMAKE_C_COMPILER_LAUNCHER=ccache \
-        -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-        -DCMAKE_TOOLCHAIN_FILE=$GITHUB_WORKSPACE/vcpkg/scripts/buildsystems/vcpkg.cmake \
-        -DVCPKG_TARGET_TRIPLET=x64-linux-release \
-        -DCMAKE_BUILD_TYPE=Release \
-        -DBUILD_TESTING=ON \
-        -DBUILD_TOOLS=ON \
-        -DBUILD_UI=OFF \
-        -DCMAKE_PREFIX_PATH=${{ env.ORTOOLSDIR }}/install \
-
-
-    - name: Build
-      run: |
-           source /opt/rh/devtoolset-11/enable
-           source /opt/rh/rh-git227/enable
-           cmake --build _build --config Release -j$(nproc)
-           ccache -s
-
-    - name: Installer .rpm creation
-      run: |
-           cd _build
-           cpack -G RPM
-
-    - name: Solver archive creation
-      run: |
-           cd _build
-           cmake --install . --prefix install
-           pushd .
-           cd install/bin
-           tar czf ../../antares-solver_centos7.tar.gz antares-solver libsirius_solver.so
-           popd
-           rm -rf install
-
-    - name: .tar.gz creation
-      run: |
-           cd _build
-           cpack -G TGZ
-
-    - name: Publish assets
-      if: ${{ env.IS_RELEASE == 'true' }}
-      env:
-        GITHUB_TOKEN: ${{ github.token }}
-        tag: ${{ github.event.inputs.release_tag }}
-      run: |
-        gh release upload "$tag" _build/*.tar.gz _build/*.rpm
-
-    - name: Cache vcpkg binary dir
-      if: always()
-      id: save-cache-vcpkg-binary
-      uses: actions/cache/save@v3
-      with:
-        path: ${{ env.VCPKG_CACHE_DIR }}
-        key: vcpkg-cache-centos7-${{ hashFiles('src/vcpkg.json', '.git/modules/vcpkg/HEAD') }}
+
+      #sparse checkout -- only needed files
+      - uses: actions/checkout@v4
+        with:
+          fetch-depth: 0
+          sparse-checkout: |
+            docker
+            src/vcpkg.json
+          ref: ${{ env.REF }}
+
+      - name: set env variables -- DockerFiles
+        run: |
+          echo "DOCKERFILE=$(pwd)/docker/Dockerfile" >> $GITHUB_ENV
+          echo "DOCKERDIR=$(pwd)/docker" >> $GITHUB_ENV
+
+
+
+      - name: Get changed files
+        id: changed-files
+        uses: tj-actions/changed-files@v45
+        with:
+          files: |
+            docker/AntaresDeps        
+
+      - name: Docker file push
+        id: docker_push
+
+        if: steps.changed-files.outputs.any_changed == 'true'
+        uses: elgohr/Publish-Docker-Github-Action@main
+        with:
+          name: antaresrte/antaressystemdeps
+          username: ${{ secrets.DOCKER_USERNAME }}
+          password: ${{ secrets.DOCKER_PASSWORD }}
+          workdir: ${{ env.DOCKERDIR }}
+          dockerfile: ${{ env.DOCKERDIR }}/AntaresDeps
+          cache: false
+          tags: latest
+
+      - name: create vcpkg cache dir
+        run: |
+          echo "VCPKG_CACHE_DIR=$GITHUB_WORKSPACE/vcpkg_cache" >> $GITHUB_ENV
+          mkdir -p ${{ github.workspace }}/vcpkg_cache
+
+
+      - name: Restore vcpkg binary dir from cache
+        id: cache-vcpkg-binary
+        uses: actions/cache/restore@v4
+        with:
+          path: ${{ github.workspace }}/vcpkg_cache
+          key: vcpkg-cache-centos7-${{ hashFiles('src/vcpkg.json', '.git/modules/vcpkg/HEAD') }}
+          # Allows to restore a cache when deps have only partially changed (like adding a dependency)
+          restore-keys: vcpkg-cache-centos7-
+
+      - name: Setup ccache
+        uses: hendrikmuhs/ccache-action@v1.2
+        with:
+          key: centos7-on-${{ runner.os }}
+
+
+      - name: Build the image and Antares
+        run: |
+          ls -latr .ccache/ && \
+          docker build \
+          -t antares:centos7  \
+          --build-arg="BRANCH=${{ env.REF }}" \
+          --build-arg="NPROC=$(nproc)" \
+          --build-arg="VCPKG_CACHE_DIR=./vcpkg_cache" \
+          --build-arg CCACHE_DIR=./.ccache \
+          --build-arg CCACHE_KEY=centos7-on-${{ runner.os }} \
+          -f ${{ env.DOCKERFILE }} . 
+
+
+      - name: create a container without starting it && retrieve the .tgz
+        run: |
+          container_id=$(docker create antares:centos7)
+          docker cp $container_id:/workspace/Antares_Simulator/_build/archive archive         
+          docker cp $container_id:/workspace/vcpkg_cache ${{ env.VCPKG_CACHE_DIR }}
+          docker cp $container_id:/workspace/.ccache/. .ccache
+          ls -la .ccache
+          docker rm $container_id
+
+
+      - name: Publish assets
+        if: ${{ env.IS_RELEASE == 'true' }}
+        env:
+          GITHUB_TOKEN: ${{ github.token }}
+          tag: ${{ github.event.inputs.release_tag }}
+        run: |
+          gh release upload "$tag" archive/*.tar.gz archive/*.rpm
+
+
+      - name: Cache vcpkg binary dir
+        if: always()
+        id: save-cache-vcpkg-binary
+        uses: actions/cache/save@v4
+        with:
+          path: ${{ github.workspace }}/vcpkg_cache
+          key: vcpkg-cache-centos7-${{ hashFiles('src/vcpkg.json', '.git/modules/vcpkg/HEAD') }}
+
diff --git a/docker/AntaresDeps b/docker/AntaresDeps
new file mode 100644
index 0000000000..bfe47cb44e
--- /dev/null
+++ b/docker/AntaresDeps
@@ -0,0 +1,37 @@
+FROM centos:7
+
+ENV LANG=en_US.UTF-8 \
+    LC_ALL=en_US.UTF-8 \
+    DEBIAN_FRONTEND=noninteractive \
+    VCPKG_ROOT=/vcpkg \
+    ORTOOLS_DIR=ortools
+
+CMD ["/bin/bash"]
+
+# Install requirements : update repo
+RUN sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo &&\
+    sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo &&\
+    sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo &&\
+    yum install -y epel-release &&\
+    yum install -y git redhat-lsb-core make wget centos-release-scl scl-utils python3 &&\
+    sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo &&\
+    sed -i s/^#.*baseurl=http/baseurl=http/g /etc/yum.repos.d/*.repo &&\
+    sed -i s/^mirrorlist=http/#mirrorlist=http/g /etc/yum.repos.d/*.repo
+
+RUN  yum update -y
+RUN  yum install -y epel-release
+RUN  yum install -y git redhat-lsb-core make wget centos-release-scl scl-utils rpm-build && \
+                yum install -y devtoolset-11 &&  \
+                yum install -y rh-git227-git ccache
+RUN  yum install -y unzip libuuid-devel wxGTK3-devel
+RUN  yum install -y python3-pip &&    python3 -m pip install --upgrade pip &&    pip3 install pytest numpy pandas
+
+# Install requirements
+RUN rm -rf /var/cache/yum
+
+RUN echo "source /opt/rh/devtoolset-11/enable" >> /etc/bashrc
+SHELL ["/bin/bash", "--login", "-c"]
+
+# Install CMake
+RUN pip3 install cmake==3.28.4
+
diff --git a/docker/Dockerfile b/docker/Dockerfile
new file mode 100644
index 0000000000..17a21b3063
--- /dev/null
+++ b/docker/Dockerfile
@@ -0,0 +1,95 @@
+FROM antaresrte/antaressystemdeps:latest
+
+
+
+CMD ["/bin/bash"]
+
+RUN mkdir /workspace
+
+RUN echo "source /opt/rh/devtoolset-11/enable" >> /etc/bashrc
+SHELL ["/bin/bash", "--login", "-c"]
+
+
+RUN mkdir -p /workspace/vcpkg_cache
+ARG VCPKG_CACHE_DIR
+COPY $VCPKG_CACHE_DIR /workspace/
+
+
+ARG BRANCH=develop
+RUN cd /workspace && \
+    git clone https://github.com/AntaresSimulatorTeam/Antares_Simulator.git --branch $BRANCH && \
+    cd Antares_Simulator && \
+    git submodule update --init vcpkg && ./vcpkg/bootstrap-vcpkg.sh -disableMetrics && \
+    export VCPKG_ROOT=/workspace/Antares_Simulator/vcpkg
+
+
+
+
+
+RUN ORTOOLS_TAG=$(cat  /workspace/Antares_Simulator/ortools_tag) && \
+    echo "ORTOOLS_TAG=$ORTOOLS_TAG" && \
+    URL_ORTOOLS=https://github.com/rte-france/or-tools-rte/releases/download/$ORTOOLS_TAG/ortools_cxx_centos7_static_sirius.zip && \
+    mkdir -p ortools && cd ortools && \
+            wget -q -O ortools.zip $URL_ORTOOLS && \
+            unzip -q ortools.zip && \
+            rm ortools.zip
+
+WORKDIR /workspace/Antares_Simulator
+# Accept build arguments for ccache
+ARG CCACHE_DIR
+ARG CCACHE_KEY
+
+# Copy ccache directory into the container
+COPY ${CCACHE_DIR:-/dev/null} /workspace/.ccache
+
+# Configure ccache environment variables
+ENV CCACHE_DIR=/workspace/.ccache
+ENV CCACHE_BASEDIR=/workspace
+ENV CCACHE_COMPRESS=1
+ENV PATH="/usr/lib/ccache:$PATH"
+
+RUN  source /opt/rh/devtoolset-11/enable && \
+     source /opt/rh/rh-git227/enable && \
+     export VCPKG_BINARY_SOURCES="clear;files,/workspace/vcpkg_cache,readwrite" && \
+     cmake -B _build -S src \
+    -DCMAKE_C_COMPILER_LAUNCHER=ccache \
+    -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
+    -DCMAKE_TOOLCHAIN_FILE=/workspace/Antares_Simulator/vcpkg/scripts/buildsystems/vcpkg.cmake \
+    -DVCPKG_TARGET_TRIPLET=x64-linux-release \
+    -DCMAKE_BUILD_TYPE=Release \
+    -DBUILD_TESTING=OFF \
+    -DBUILD_TOOLS=ON \
+    -DBUILD_UI=OFF \
+    -DCMAKE_PREFIX_PATH=/ortools/install
+
+ARG NPROC=2
+RUN  source /opt/rh/devtoolset-11/enable && \
+     source /opt/rh/rh-git227/enable && \
+     export VCPKG_BINARY_SOURCES="clear;files,/workspace/vcpkg_cache,readwrite" && \
+     cmake --build _build --config Release -j${NPROC} &&\
+     ccache -s
+
+#Installer .rpm creation
+RUN cd _build && \
+    cpack -G RPM
+
+#Solver archive creation
+RUN cd _build && \
+     cpack -G RPM
+
+RUN cd _build && \
+    cmake --install . --prefix install && \
+    pushd . && \
+    cd install/bin && \
+    tar czf ../../antares-solver_centos7.tar.gz antares-solver libsirius_solver.so && \
+    popd && \
+    rm -rf install
+
+#.tar.gz creation
+RUN cd _build && \
+    cpack -G TGZ
+#mv .rpm and .tar.gz
+RUN cd _build && \
+    mkdir archive && \
+    mv *.tar.gz archive && \
+    mv *.rpm archive
diff --git a/docs/developer-guide/ortools-integration.md b/docs/developer-guide/ortools-integration.md
index 4c0b4b8d8d..c953e04d57 100644
--- a/docs/developer-guide/ortools-integration.md
+++ b/docs/developer-guide/ortools-integration.md
@@ -52,10 +52,10 @@ These are the solver names and enum, defined in the [OR-Tools API](https://githu
 * A mixed real integer solver
 
 While the OR-Tools interface allows using multiple solvers, Antares restricts this usage.  
-The *Antares Simulator* user can select the solvers using the `ortools-solver` command-line option. Here are the allowed
+The *Antares Simulator* user can select the solvers using the `solver` command-line option. Here are the allowed
 values:
 
-| `ortools-solver`   | Linear solver                  | Mixed real integer solver        |
+| `solver`   | Linear solver                  | Mixed real integer solver        |
 |:-------------------|--------------------------------|----------------------------------|
 | `sirius` (default) | SIRIUS_LINEAR_PROGRAMMING      | SIRIUS_MIXED_INTEGER_PROGRAMMING |
 | `coin`             | CLP_LINEAR_PROGRAMMING         | CBC_MIXED_INTEGER_PROGRAMMING    |
@@ -65,7 +65,7 @@ values:
 
 The following commercial solvers are not yet supported by *Antares Simulator*, because of unmet pre-requisites:
 
-| `ortools-solver` | Linear solver             | Mixed real integer               | Waiting for                                         |
+| `solver` | Linear solver             | Mixed real integer               | Waiting for                                         |
 |:-----------------|---------------------------|----------------------------------|-----------------------------------------------------|
 | `cplex`          | CPLEX_LINEAR_PROGRAMMING  | CPLEX_MIXED_INTEGER_PROGRAMMING  | Update OR-Tools building process for CPLEX support  |
 | `gurobi`         | GUROBI_LINEAR_PROGRAMMING | GUROBI_MIXED_INTEGER_PROGRAMMING | Update OR-Tools building process for GUROBI support |
diff --git a/docs/user-guide/04-migration-guides.md b/docs/user-guide/04-migration-guides.md
index 23f10a2668..1088f3766a 100644
--- a/docs/user-guide/04-migration-guides.md
+++ b/docs/user-guide/04-migration-guides.md
@@ -183,6 +183,13 @@ Using this property requires OR-Tools and a MILP solver (XPRESS, COIN)
 antares-8.8-solver --use-ortools --ortools-solver coin|xpress ...
 ```
 
+Starting from version 9.2, the syntax is as following
+
+```
+antares-solver --solver coin|xpress ...
+```
+
+
 ### Output
 
 ### Cashflow by short-term storage
diff --git a/docs/user-guide/solver/02-command-line.md b/docs/user-guide/solver/02-command-line.md
index 7cc927a662..88defa9062 100644
--- a/docs/user-guide/solver/02-command-line.md
+++ b/docs/user-guide/solver/02-command-line.md
@@ -17,7 +17,7 @@ hide:
 | --adequacy             | Force the simulation in [adequacy](static-modeler/04-parameters.md#mode) mode                                                      |
 | --parallel             | Enable [parallel](optional-features/multi-threading.md) computation of MC years                                                   |
 | --force-parallel=VALUE | Override the max number of years computed [simultaneously](optional-features/multi-threading.md)                                  |
-| --ortools-solver=VALUE | The optimization solver to use. Possible values are: `sirius` (default), `coin`, `xpress`, `scip` |
+| --solver=VALUE | The optimization solver to use. Possible values are: `sirius` (default), `coin`, `xpress`, `scip` |
 
 ## Parameters
 
diff --git a/docs/user-guide/solver/optional-features/xpress.md b/docs/user-guide/solver/optional-features/xpress.md
index e8e5242f73..dfa1a07438 100644
--- a/docs/user-guide/solver/optional-features/xpress.md
+++ b/docs/user-guide/solver/optional-features/xpress.md
@@ -10,7 +10,7 @@ Antares Solver only uses LP, with plans to use MILP at some point in the future.
 
 ## Using Xpress in the command-line
 ```
-antares-solver --ortools-solver xpress [options] <study>
+antares-solver --solver xpress [options] <study>
 ```
 
 ## Setup
diff --git a/src/solver/misc/options.cpp b/src/solver/misc/options.cpp
index 6470023aff..d72bd4c692 100644
--- a/src/solver/misc/options.cpp
+++ b/src/solver/misc/options.cpp
@@ -75,7 +75,7 @@ std::unique_ptr<Yuni::GetOpt::Parser> CreateParser(Settings& settings, StudyLoad
                 "force-parallel",
                 "Override the max number of years computed simultaneously");
 
-    //--ortools-solver
+    //--solver
     parser->add(options.optOptions.ortoolsSolver,
                 ' ',
                 "solver",
diff --git a/src/tests/examples/conftest.py b/src/tests/examples/conftest.py
index 49bfbdbce4..89d6f8ca7b 100644
--- a/src/tests/examples/conftest.py
+++ b/src/tests/examples/conftest.py
@@ -1,19 +1,13 @@
 import pytest
 
 def pytest_addoption(parser):
-    parser.addoption("--use-ortools", action="store_true", default=False)
-    parser.addoption("--ortools-solver", action="store", default="sirius")
+    parser.addoption("--solver", action="store", default="sirius")
     parser.addoption("--solver-path", action="store")
 
 @pytest.fixture()
 def ortools_solver(request):
-    return request.config.getoption("--ortools-solver")
+    return request.config.getoption("--solver")
 
-@pytest.fixture()
-def use_ortools(request):
-    return request.config.getoption("--use-ortools")
-    
 @pytest.fixture()
 def solver_path(request):
     return request.config.getoption("--solver-path")
-
diff --git a/src/tests/examples/specific_test.py b/src/tests/examples/specific_test.py
index 6372f5892a..bf4d997381 100644
--- a/src/tests/examples/specific_test.py
+++ b/src/tests/examples/specific_test.py
@@ -72,16 +72,14 @@ def remove_outputs(study_path):
         shutil.rmtree(f)
 
 
-def launch_solver(solver_path, study_path, use_ortools=False, ortools_solver="sirius"):
+def launch_solver(solver_path, study_path, ortools_solver="sirius"):
     # Clean study output
     remove_outputs(study_path)
 
     solver_path_full = str(Path(solver_path).resolve())
 
     command = [solver_path_full, "-i", str(study_path)]
-    if use_ortools:
-        command.append('--use-ortools')
-        command.append('--ortools-solver=' + ortools_solver)
+    command.append('--solver=' + ortools_solver)
     process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=None)
     output = process.communicate()
 
diff --git a/src/tools/batchrun/main.cpp b/src/tools/batchrun/main.cpp
index 420dc060dd..4da485effd 100644
--- a/src/tools/batchrun/main.cpp
+++ b/src/tools/batchrun/main.cpp
@@ -175,7 +175,7 @@ int main(int argc, const char* argv[])
                     {
                         // Wrap spaces around quotes, if any
                         // example
-                        // antares-batchrun directory --use-ortools --ortools-solver xpress
+                        // antares-batchrun directory --solver xpress
                         // --solver-parameters "PRESOLVE 1"
                         cmd << " \"" << arg << "\"";
                     }