diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cbe4626a29b98e8eb743f2e2ed42baba422acc1c..572bb7f6b9b325c98869c0cda25ff449af25f321 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,6 +5,7 @@ workflow:
 
 stages:
   - Static Analysis
+  - Documentation
   - Test
 
 # --------------------------------------------- Static analysis --------------------------------------------------------
@@ -29,6 +30,20 @@ codespell:
   script:
     - sudo pip install codespell && codespell --skip="*.png,*.template,*.pbs,*.jpg,*git/lfs*"
 
+# ------------------------------------------------------- Doc ----------------------------------------------------------
+
+pages:
+  image: gitlab-registry.irstea.fr/remi.cresson/otbtf/otbtf3.0:cpu-basic-dev
+  stage: Documentation
+  allow_failure: false
+  script:
+    - sudo apt update && sudo apt install python3-pycurl
+    - sudo python3 -m pip install pytest pytest-cov pyotb rtree tqdm
+    - sudo pip3 install pdoc3
+    - pdoc3 --html scenes --output-dir public/
+  artifacts:
+    paths:
+      - public
 # ------------------------------------------------------ Test ----------------------------------------------------------
 
 .test_base:
@@ -52,3 +67,4 @@ indexation:
   extends: .test_base
   script:
     - pytest -o log_cli=true --log-cli-level=INFO --junitxml=report_indexation_test.xml test/indexation_test.py
+