diff --git a/mkdocs-en.yml b/mkdocs/mkdocs-en.yml
similarity index 100%
rename from mkdocs-en.yml
rename to mkdocs/mkdocs-en.yml
diff --git a/mkdocs-fr.yml b/mkdocs/mkdocs-fr.yml
similarity index 100%
rename from mkdocs-fr.yml
rename to mkdocs/mkdocs-fr.yml
diff --git a/package.json b/package.json
index 31400d75d49ca21f3776fd037d4bbd40652333c2..27d885816f2f7b7dc53a758efd9d5fb9cd90d4d0 100644
--- a/package.json
+++ b/package.json
@@ -14,8 +14,8 @@
     "e2e": "npm run preprocess && node scripts/check-translations.js && npm run ng -- e2e --suite=regular --webdriver-update=false",
     "e2equick": "node scripts/check-translations.js && npm run ng -- e2e --dev-server-target= --suite=regular --webdriver-update=false",
     "monkeytest": "npm run ng -- e2e --dev-server-target= --suite=monkeyTest --webdriver-update=false",
-    "mkdocs": "python3 -m mkdocs build -f mkdocs-fr.yml && python3 -m mkdocs build -f mkdocs-en.yml && node scripts/mkdocs-postprocess.js",
-    "mkdocs2pdf": "node scripts/extract-nghyd-version.js build/cassiopee_version.tex && python3 mkdocs2pdf.py && node scripts/mkdocs2pdf-postprocess.js",
+    "mkdocs": "bash scripts/prepare_mkdocs.sh; cd build; python3 -m mkdocs build -f mkdocs-fr.yml && python3 -m mkdocs build -f mkdocs-en.yml && cd .. && node scripts/mkdocs-postprocess.js",
+    "mkdocs2pdf": "node scripts/extract-nghyd-version.js build/cassiopee_version.tex && python3 scripts/mkdocs2pdf.py && node scripts/mkdocs2pdf-postprocess.js",
     "clean": "rm -rf build dist release src/date_revision.ts src/assets/docs",
     "preprocess": "mkdir -p build; node scripts/preprocessors.js",
     "start": "npm run preprocess && npm run mkdocs && npm run ng serve -- --host 0.0.0.0 --poll 5000",
diff --git a/mkdocs2pdf.py b/scripts/mkdocs2pdf.py
similarity index 99%
rename from mkdocs2pdf.py
rename to scripts/mkdocs2pdf.py
index f66b301a9b503edcac438a0c08a050de218dc9b5..6e3cf68040aa15e43debd48019a955e3e13d9b2a 100644
--- a/mkdocs2pdf.py
+++ b/scripts/mkdocs2pdf.py
@@ -206,7 +206,7 @@ def buildDocForLang(lang):
     os.makedirs(outputDir, exist_ok=True)
 
     # Read config
-    yamlPath = 'mkdocs-' + lang + '.yml'
+    yamlPath = 'mkdocs/mkdocs-' + lang + '.yml'
     dMkdocsYaml = readConfig(yamlPath)
 
     # Create string with merged MarkDown
@@ -231,6 +231,7 @@ def buildDocForLang(lang):
 
     # Clean build dir
     shutil.rmtree(pdfBuildDir)
+    #raise RuntimeError()
 
 
 if __name__ == '__main__':
diff --git a/scripts/prepare_mkdocs.sh b/scripts/prepare_mkdocs.sh
new file mode 100644
index 0000000000000000000000000000000000000000..af53d10dcba3d84c8ab5c753c75b72cd513fd3da
--- /dev/null
+++ b/scripts/prepare_mkdocs.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+set -o errexit
+
+BUILD_DIR=build
+VER_FILE=$BUILD_DIR/cassiopee_version
+
+function prepareMkdocs
+{
+  local lang=$1
+
+  # copy and modify Mkdocs configuration file :
+  # - add Cassiopée version
+  # - modify path to input files
+  # - modify path to output files
+  cat mkdocs/mkdocs-$lang.yml \
+  | sed "/^site_name:/ s/$/ v$VER/" \
+  | sed "/^docs_dir:/ s/docs_dir: /docs_dir: ..\//" \
+  | sed "/^site_dir:/ s/site_dir: /site_dir: ..\//" > $BUILD_DIR/mkdocs-$1.yml
+}
+
+node scripts/extract-nghyd-version.js $VER_FILE
+VER=$(cat $VER_FILE)
+
+prepareMkdocs fr
+prepareMkdocs en