diff --git a/gitlab-ci/src/gitlab-ci.ts b/gitlab-ci/src/gitlab-ci.ts
index 999d3dde05654edfe655a6e953d14c207aa074ff..29b346d0c7ef4c4e9a4af8c86fd38a41331b5cc7 100644
--- a/gitlab-ci/src/gitlab-ci.ts
+++ b/gitlab-ci/src/gitlab-ci.ts
@@ -1,6 +1,11 @@
 import assert from "assert"
 import { $, fetch, fs } from "zx"
 
+interface Package {
+  name: string
+  version: string
+}
+
 export interface VersionObject {
   major: number
   minor: number
@@ -183,11 +188,27 @@ async function main() {
 
         await resetGitRepository()
 
-        // Test project with the current dependencies.
+        // Use the latest version of @openfisca/france-json
+        await $`npm install @openfisca/france-json@latest`
+
+        // Test project with the current dependencies (and latest version of @openfisca/france-json).
         await $`ln -s example.env .env`
         await $`npm run build`
         // TODO: Add tests.
 
+        await $`git add .`
+        if ((await $`git diff --quiet --staged`.exitCode) !== 0) {
+          // `npm install @openfisca/france-json@latest` has updated `package-lock.json`.
+          // => Generate a new version of leximpact-socio-fiscal-api.
+          const pkg = await fs.readJson(packagePath)
+          const nextVersionObject = await nextVersionObjectFromPackageAndTags(
+            pkg,
+          )
+          await commitAndPushWithUpdatedVersions(nextVersionObject)
+          await triggerDevDeployPipeline()
+          // await triggerProdDeployPipeline();
+        }
+
         await triggerDevDeployPipeline()
         // await triggerProdDeployPipeline()
       } else {
@@ -212,33 +233,15 @@ async function main() {
         } else {
           await resetGitRepository()
 
-          // Retrieve current version of project.
-          const tagVersionObject = (await latestVersionObjectFromTags()) ?? {
-            major: 0,
-            minor: 0,
-            patch: 0,
-          }
-          const tagVersion = versionFromObject(tagVersionObject)
-          let nextVersionObject = {
-            ...tagVersionObject,
-            patch: tagVersionObject!.patch + 1,
-          }
+          // Use the latest version of @openfisca/france-json
+          await $`npm install @openfisca/france-json@latest`
 
-          // Ensure that the version numbers of project packages are
-          // compatible with last version tag.
           const pkg = await fs.readJson(packagePath)
-          const { version: packageVersion } = pkg
-          const packageVersionObject = objectFromVersion(packageVersion)
-          assert(
-            checkVersionObject(tagVersionObject, packageVersionObject),
-            `In ${packagePath}, project version should be compatible with ${tagVersion}, got "${packageVersion}" instead.`,
-          )
-          nextVersionObject = maxVersionObject(
-            nextVersionObject,
-            packageVersionObject,
+          const nextVersionObject = await nextVersionObjectFromPackageAndTags(
+            pkg,
           )
 
-          // Test project with the current dependencies.
+          // Test project with the current dependencies (and latest @openfisca/france-json).
           await $`ln -s example.env .env`
           await $`npm run build`
           // TODO: Add tests.
@@ -296,6 +299,34 @@ function maxVersionObject(
   return versionObject1
 }
 
+async function nextVersionObjectFromPackageAndTags(
+  pkg: Package,
+): Promise<VersionObject> {
+  // Retrieve current version of project.
+  const tagVersionObject = (await latestVersionObjectFromTags()) ?? {
+    major: 0,
+    minor: 0,
+    patch: 0,
+  }
+  const tagVersion = versionFromObject(tagVersionObject)
+  let nextVersionObject = {
+    ...tagVersionObject,
+    patch: tagVersionObject!.patch + 1,
+  }
+
+  // Ensure that the version numbers of project packages are
+  // compatible with last version tag.
+  const { version: packageVersion } = pkg
+  const packageVersionObject = objectFromVersion(packageVersion)
+  assert(
+    checkVersionObject(tagVersionObject, packageVersionObject),
+    `In ${packagePath}, project version should be compatible with ${tagVersion}, got "${packageVersion}" instead.`,
+  )
+  nextVersionObject = maxVersionObject(nextVersionObject, packageVersionObject)
+
+  return nextVersionObject
+}
+
 function objectFromVersion(
   version: string | undefined,
 ): VersionObject | undefined {
diff --git a/package-lock.json b/package-lock.json
index eee8e710387e762ab2deb197a366a39ff487ac04..3051a9863b626ff981d441d57d412fb65f5acd88 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16,8 +16,8 @@
         "@auditors/core": "^0.1.7",
         "@fontsource/lato": "^4.3.0",
         "@fontsource/lora": "^4.3.0",
-        "@openfisca/france-json": "^0.1.1",
-        "@openfisca/json-model": "^0.15.7",
+        "@openfisca/france-json": "^0.1.23",
+        "@openfisca/json-model": "^1.0.0",
         "@sveltejs/adapter-node": "^1.0.0-next.49",
         "@sveltejs/kit": "^1.0.0-next.170",
         "@tailwindcss/forms": "^0.3.2",
@@ -1924,15 +1924,23 @@
       }
     },
     "node_modules/@openfisca/france-json": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/@openfisca/france-json/-/france-json-0.1.1.tgz",
-      "integrity": "sha512-7RM8TGGcTFYHZkdO7t17KZ1ljKZjc/Fl87oQfD5EXpMhmCYrYncgTxZivuvm0tYMl/iKpL91CKCBzZbytM+1rg==",
-      "dev": true
+      "version": "0.1.23",
+      "resolved": "https://registry.npmjs.org/@openfisca/france-json/-/france-json-0.1.23.tgz",
+      "integrity": "sha512-gs2fSdiLuUCy32xWRnNXvWhO7Sd7Ix3tBUm6cnM90Gl9w2U5FEo+ED0BFCFp9KqPvU/9VlXhD5IqOdNeRTAyfg==",
+      "dev": true,
+      "peerDependencies": {
+        "@openfisca/json-model": "^1.0.0"
+      },
+      "peerDependenciesMeta": {
+        "@openfisca/json-model": {
+          "optional": true
+        }
+      }
     },
     "node_modules/@openfisca/json-model": {
-      "version": "0.15.9",
-      "resolved": "https://registry.npmjs.org/@openfisca/json-model/-/json-model-0.15.9.tgz",
-      "integrity": "sha512-Nxu+URTHA/s9qItIzzvg4go6yQFqjIKf9EDG4efH00IX+vkAZj3nD/XMAtMxSKRVOoFolo2VYxUVsi9pmeStDg==",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@openfisca/json-model/-/json-model-1.0.0.tgz",
+      "integrity": "sha512-bwBpk/eWBlD5e3YdCadQIEvw/e5j9ojVMKSV/kL63Qb8gz8AR8o/s905EQptN+DVKu0d/nUViNGVT5FaNyeHRw==",
       "dev": true,
       "dependencies": {
         "@auditors/core": "^0.1.11",
@@ -8715,15 +8723,16 @@
       }
     },
     "@openfisca/france-json": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/@openfisca/france-json/-/france-json-0.1.1.tgz",
-      "integrity": "sha512-7RM8TGGcTFYHZkdO7t17KZ1ljKZjc/Fl87oQfD5EXpMhmCYrYncgTxZivuvm0tYMl/iKpL91CKCBzZbytM+1rg==",
-      "dev": true
+      "version": "0.1.23",
+      "resolved": "https://registry.npmjs.org/@openfisca/france-json/-/france-json-0.1.23.tgz",
+      "integrity": "sha512-gs2fSdiLuUCy32xWRnNXvWhO7Sd7Ix3tBUm6cnM90Gl9w2U5FEo+ED0BFCFp9KqPvU/9VlXhD5IqOdNeRTAyfg==",
+      "dev": true,
+      "requires": {}
     },
     "@openfisca/json-model": {
-      "version": "0.15.9",
-      "resolved": "https://registry.npmjs.org/@openfisca/json-model/-/json-model-0.15.9.tgz",
-      "integrity": "sha512-Nxu+URTHA/s9qItIzzvg4go6yQFqjIKf9EDG4efH00IX+vkAZj3nD/XMAtMxSKRVOoFolo2VYxUVsi9pmeStDg==",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@openfisca/json-model/-/json-model-1.0.0.tgz",
+      "integrity": "sha512-bwBpk/eWBlD5e3YdCadQIEvw/e5j9ojVMKSV/kL63Qb8gz8AR8o/s905EQptN+DVKu0d/nUViNGVT5FaNyeHRw==",
       "dev": true,
       "requires": {
         "@auditors/core": "^0.1.11",
diff --git a/package.json b/package.json
index 97044ebcbfc7ab8b756cea03ac5d9ec4d9183480..a6e95ed1c1c00e1cff329e5ecf5cccbebc72713d 100644
--- a/package.json
+++ b/package.json
@@ -19,8 +19,8 @@
     "@auditors/core": "^0.1.7",
     "@fontsource/lato": "^4.3.0",
     "@fontsource/lora": "^4.3.0",
-    "@openfisca/france-json": "^0.1.1",
-    "@openfisca/json-model": "^0.15.7",
+    "@openfisca/france-json": "^0.1.23",
+    "@openfisca/json-model": "^1.0.0",
     "@sveltejs/adapter-node": "^1.0.0-next.49",
     "@sveltejs/kit": "^1.0.0-next.170",
     "@tailwindcss/forms": "^0.3.2",