diff --git a/package-lock.json b/package-lock.json
index cc2ab2cecac11b54c29a21c83aee2fa8de5fef40..cedc0d3ddd6726be8508e8fe4122ecf25281d8d8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -63,7 +63,6 @@
         "svelte-check": "^4.0.1",
         "svelte-dnd-action": "^0.9.8",
         "svelte-floating-ui": "^1.5.3",
-        "svelte-modals": "^1.0.4",
         "tailwindcss": "^3.0.15",
         "to-words": "^4.0.0",
         "tslib": "^2.0.0",
@@ -877,6 +876,7 @@
       "resolved": "https://registry.npmjs.org/@leximpact/socio-fiscal-openfisca-json/-/socio-fiscal-openfisca-json-0.0.254.tgz",
       "integrity": "sha512-7nqvsD7FjaLiBk19Mw/xlfNyy52bJM7rbk9mRm8QLjQFQXJ0Km+HNSjmMgvK6fhdCGgb9AYWpEX830hdOHHXYQ==",
       "dev": true,
+      "license": "AGPL-3.0-or-later",
       "peerDependencies": {
         "@openfisca/json-model": "^3.2.1"
       },
@@ -6227,16 +6227,6 @@
         "svelte": "^3.19.0 || ^4.0.0"
       }
     },
-    "node_modules/svelte-modals": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/svelte-modals/-/svelte-modals-1.3.0.tgz",
-      "integrity": "sha512-b1Ylnyv9O6b7VYeWGJVToaVU2lw7GtErVwiEdojyfnOuZcrhNlQ5eDqbTrL3xyKz8j2VTy/QiGUl1lm/6SnQ2A==",
-      "dev": true,
-      "license": "MIT",
-      "peerDependencies": {
-        "svelte": "^3.0.0 || ^4.0.0"
-      }
-    },
     "node_modules/svelte/node_modules/estree-walker": {
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
diff --git a/package.json b/package.json
index cfad814094cc92c4700b0998ad54eff1b1f9f24b..001013d3d220618fbc9ca05ed59cc3fb7b2c4df3 100644
--- a/package.json
+++ b/package.json
@@ -68,7 +68,6 @@
     "svelte-check": "^4.0.1",
     "svelte-dnd-action": "^0.9.8",
     "svelte-floating-ui": "^1.5.3",
-    "svelte-modals": "^1.0.4",
     "tailwindcss": "^3.0.15",
     "to-words": "^4.0.0",
     "tslib": "^2.0.0",
diff --git a/src/lib/components/ShareLinkModal.svelte b/src/lib/components/ShareLinkModal.svelte
deleted file mode 100644
index cdee807c90daee91adc21db20435c8c256182b5d..0000000000000000000000000000000000000000
--- a/src/lib/components/ShareLinkModal.svelte
+++ /dev/null
@@ -1,83 +0,0 @@
-<script lang="ts">
-  import { closeModal } from "svelte-modals"
-
-  import { page } from "$app/stores"
-  import CopyClipboard from "$lib/components/CopyClipboard.svelte"
-
-  export let isOpen: boolean // provided by Modals
-  export let token: string
-
-  let clipboardElement: HTMLElement
-
-  $: url = new URL(
-    `/test_cases/simulations/${token}`,
-    $page.data.baseUrl,
-  ).toString()
-
-  function copyLink() {
-    const copyClipboard = new CopyClipboard({
-      target: clipboardElement,
-      props: { value: url },
-    })
-    copyClipboard.$destroy()
-  }
-</script>
-
-{#if isOpen}
-  <div
-    role="dialog"
-    class="pointer-events-none fixed bottom-0 left-0 right-0 top-0 z-50 flex items-center justify-center"
-  >
-    <div
-      class="pointer-events-auto flex min-w-[240px] max-w-xl flex-col justify-between rounded bg-white"
-    >
-      <div class="flex justify-end px-4 pt-4">
-        <button on:click={closeModal}
-          ><!-- Bouton de fermeture du panneau de gauche -->
-          <div>
-            <svg
-              class="fill-current text-gray-500 hover:text-gray-900"
-              xmlns="http://www.w3.org/2000/svg"
-              height="24px"
-              viewBox="0 0 24 24"
-              width="24px"
-              fill="#000000"
-              ><path d="M0 0h24v24H0z" fill="none" /><path
-                d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"
-              /></svg
-            >
-          </div>
-        </button>
-      </div>
-      <div class="px-8 pb-8">
-        <h2 class="mb-5 text-center text-xl font-bold">
-          Sauvegarder ou partager cette simulation
-        </h2>
-        <section class="">
-          <p class="text">
-            Pour sauvegarder votre simulation à tout moment, copiez l'URL
-            suivante :
-          </p>
-          <div class="mb-5 mt-1 rounded bg-gray-200 p-1">
-            <code class="pl-2 text-xs">{url}</code>
-          </div>
-          <div bind:this={clipboardElement} />
-          <div class="mb-3 text-center">
-            <button
-              class="rounded-lg bg-le-bleu px-4 py-2 text-center text-base uppercase text-white drop-shadow-md hover:bg-blue-900"
-              on:click={copyLink}
-              >Copier le lien <iconify-icon
-                class="ml-1 align-[-0.2rem] text-lg"
-                icon="ri-file-copy-line"
-              /></button
-            >
-          </div>
-          <p>
-            Cette URL sauvegarde la réforme et les cas types. Ce lien est
-            public, vous pouvez le partager sur les réseaux sociaux.
-          </p>
-        </section>
-      </div>
-    </div>
-  </div>
-{/if}
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index e63427edd9ce945fa805b0a1cb1f48e0dcf6fcd8..6adb6f95622d3a0a52a008d866de8e91750c3115 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -11,7 +11,6 @@
   import "iconify-icon"
   import { setContext } from "svelte"
   import { writable, type Writable } from "svelte/store"
-  import { Modals, closeModal } from "svelte-modals"
   import { v4 as uuidV4 } from "uuid"
 
   import type { LayoutData } from "./$types"
@@ -1328,13 +1327,4 @@
   <NavBar />
 
   <slot />
-
-  <Modals>
-    <div
-      class="fixed bottom-0 left-0 right-0 top-0 z-50 bg-black bg-opacity-50"
-      on:click={closeModal}
-      on:keyup
-      slot="backdrop"
-    />
-  </Modals>
 </div>
diff --git a/vite.config.ts b/vite.config.ts
index 4d2b8fa7cd924f406bd6496375d55958ce65d2df..6dd6040ac4e3a6e36f86684b4612df46d16b2cae 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -11,11 +11,6 @@ export default defineConfig({
     // JSON files extracted from OpenFisca country package.
     chunkSizeWarningLimit: 7680,
   },
-  optimizeDeps: {
-    // See https://svelte-modals.mattjennings.io/
-    // and https://github.com/sveltejs/vite-plugin-svelte/issues/124.
-    exclude: ["svelte-modals"],
-  },
   plugins: [
     yamlPlugin({
       schema: yaml.JSON_SCHEMA, // Keep dates as strings.