From 814f4f904b1e7463c45ce36bb6438dc22b7448cb Mon Sep 17 00:00:00 2001
From: Toufic Batache <taffou2a@gmail.com>
Date: Fri, 12 May 2023 12:38:41 +0200
Subject: [PATCH] I - Barre de navigation : - Faire fonctionner la barre de
 recherche
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

- Faire fonctionner le bouton "partager/sauvegarder"

II - Panneau gauche :
- Faire en sorte de changer d'onglet en "impact dispositif" lorsqu'un paramètre est cliqué

- Revoir le panneau dans son état initial

III - Zone principale de travail :
- Surligner le dispositif sélectionné

- Ajout d'un bouton flottant "cas types"
---
 src/lib/components/NavBar.svelte              | 468 ++++++----
 src/lib/components/ReformsChanges.svelte      |   2 +
 .../components/WaterfallCompareView.svelte    |   4 +-
 src/lib/components/WaterfallView.svelte       | 208 ++---
 .../components/pictos/PictoFicheDePaie.svelte |  14 +
 src/lib/components/search/NavBarSearch.svelte |  33 +
 .../test_cases/TestCaseCompareView.svelte     |   4 +-
 .../test_cases/TestCaseRelatedCarousel.svelte |   2 +-
 .../test_cases/TestCaseSelectModal.svelte     |  82 +-
 .../components/test_cases/TestCaseTab.svelte  |  18 +-
 .../components/test_cases/TestCaseView.svelte | 191 ++--
 .../VariableReferredParameterHeader.svelte    |   2 +-
 src/lib/displays.ts                           |   1 -
 src/lib/urls.ts                               |   3 -
 src/routes/+layout.svelte                     |  10 +
 src/routes/+page.svelte                       | 850 +++++++++---------
 static/illustration-exoneration-tode.png      | Bin 0 -> 16461 bytes
 static/illustration-pepa.png                  | Bin 0 -> 19904 bytes
 static/illustration-ticpe.png                 | Bin 0 -> 10943 bytes
 static/picto-csg.png                          | Bin 0 -> 9197 bytes
 static/picto-impot-sur-le-revenu.png          | Bin 7613 -> 9716 bytes
 21 files changed, 1032 insertions(+), 860 deletions(-)
 create mode 100644 src/lib/components/pictos/PictoFicheDePaie.svelte
 create mode 100644 src/lib/components/search/NavBarSearch.svelte
 create mode 100644 static/illustration-exoneration-tode.png
 create mode 100644 static/illustration-pepa.png
 create mode 100644 static/illustration-ticpe.png
 create mode 100644 static/picto-csg.png

diff --git a/src/lib/components/NavBar.svelte b/src/lib/components/NavBar.svelte
index 709d5d254..c59dfa82c 100644
--- a/src/lib/components/NavBar.svelte
+++ b/src/lib/components/NavBar.svelte
@@ -2,6 +2,26 @@
   import { page } from "$app/stores"
   import { getContext } from "svelte"
   import type { Writable } from "svelte/store"
+  import type { SearchResult } from "minisearch"
+  import WaterfallVariablesSearchWorker from "$lib/search/search_worker_variables_waterfall?worker"
+  import { browser } from "$app/environment"
+  import type { DisplayMode } from "$lib/displays"
+  import { openModal } from "svelte-modals"
+  import NavBarSearch from "$lib/components/search/NavBarSearch.svelte"
+  import ShareLinkModal from "$lib/components/ShareLinkModal.svelte"
+  import type { ParametricReform } from "$lib/reforms"
+  import { type Situation } from "$lib/situations"
+
+  // Search
+  const isSearchActive = getContext("isSearchActive") as Writable<boolean>
+  const searchParameterName = getContext("searchParameterName") as Writable<
+    string | undefined
+  >
+
+  // Save / share
+  const displayMode = getContext("displayMode") as Writable<
+    DisplayMode | undefined
+  >
 
   let openMobileMenu = false
   let openUserMenu = false
@@ -22,33 +42,124 @@
     $showTutorial = true
     localStorage.removeItem("hideTutorial")
   }
+
+  // Search
+
+  let isSearchInProgress = false
+  let pendingQuery: string | null = null
+
+  let searchResults: SearchResult[] = []
+  let searchWorker: Worker | undefined = undefined
+  if (browser) searchWorker = new WaterfallVariablesSearchWorker()
+  if (searchWorker !== undefined) {
+    searchWorker.onmessage = function (event) {
+      searchResults = event.data
+
+      // If there's no pending query, we're done!
+      if (pendingQuery === null) {
+        isSearchInProgress = false
+      } else {
+        // If we were waiting for results before searching again, run search
+        searchWorker?.postMessage(pendingQuery)
+        pendingQuery = null
+      }
+    }
+  }
+
+  function search(query: string) {
+    if (searchWorker === undefined) return
+
+    // If search is already running, save the query inside the
+    // pending query variable, awaiting results before searching again
+    if (isSearchInProgress) {
+      pendingQuery = query
+      return
+    }
+
+    isSearchInProgress = true
+    searchWorker.postMessage(query)
+  }
+
+  let searchQuery = ""
+  $: $isSearchActive = searchQuery != undefined && searchQuery.length > 0
+  $: $isSearchActive ? search(searchQuery) : (searchResults = [])
+
+  const inputInstantsByVariableNameArray = getContext(
+    "inputInstantsByVariableNameArray",
+  ) as Writable<
+    Array<{
+      [name: string]: Set<string>
+    }>
+  >
+  const parametricReform = getContext(
+    "parametricReform",
+  ) as Writable<ParametricReform>
+  const testCases = getContext("testCases") as Writable<Situation[]>
+
+  async function shareLink(): Promise<void> {
+    const displayModee = $displayMode
+    const urlString = "/simulations"
+    const res = await fetch(urlString, {
+      body: JSON.stringify({
+        displayModee,
+        inputInstantsByVariableNameArray: $inputInstantsByVariableNameArray.map(
+          (inputInstantsByVariableName) =>
+            Object.fromEntries(
+              Object.entries(inputInstantsByVariableName).map(
+                ([variableName, inputInstants]) => [
+                  variableName,
+                  [...inputInstants],
+                ],
+              ),
+            ),
+        ),
+        parametricReform: $parametricReform,
+        testCases: $testCases,
+      }),
+      headers: {
+        Accept: "application/json",
+        "Content-Type": "application/json; charset=utf-8",
+      },
+      method: "POST",
+    })
+    if (!res.ok) {
+      console.error(
+        `Error ${
+          res.status
+        } while creating a share link at ${urlString}\n\n${await res.text()}`,
+      )
+      return
+    }
+    const { token } = await res.json()
+    openModal(ShareLinkModal, {
+      token,
+    })
+  }
 </script>
 
 <div class="relative z-50 w-full md:top-0">
   <nav
-    class="mx-auto h-14 w-full bg-le-jaune-very-dark px-2 shadow-md md:px-5 lg:pr-10"
+    class="mx-auto w-full bg-le-jaune-very-dark px-2 shadow-md md:h-14 md:px-5"
   >
-    <!-- Création d'un div sur l'ensemble de la nav bar pour répartir les blocs-->
+    <!-- Répartition des blocs sur la barre de navigation -->
     <div class="hidden justify-between md:flex">
-      <!-- Premier div pour le logo AN et le menu A propos-->
-      <div class="flex items-center">
-        <!-- À propos dropdown -->
+      <!-- Bloc gauche pour le logo AN et le logo "Simulateur LEXIMPACT" -->
+      <div class="flex flex-1 items-center justify-between gap-5">
+        <!-- Bouton accueil -->
         <a
           href={portalUrl}
-          class="rounded-sm p-1 text-sm uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
-          on:click={help}
+          class="flex h-full items-center gap-3 rounded-sm px-3 text-sm uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
         >
-          <iconify-icon
-            class="mr-1 align-[-0.3rem] text-xl"
-            icon="ri-arrow-left-line"
+          <img
+            class="w-16 items-start self-start object-scale-down pb-2 pr-2 pt-0"
+            src="/logo-assemblee-nationale-blanc-blanc.png"
+            alt="Logo de l'Assemblée nationale"
           />
-          Page d'accueil
+          <span>Accueil</span>
         </a>
-      </div>
 
-      <!-- Deuxième div pour le logo Contrib. & prestas sociales-->
-      <div class="hidden items-center md:flex">
-        <a href="/">
+        <!-- Logo -->
+        <a href="/" class="px-3">
           <div
             class="flex h-full flex-col justify-center rounded p-1 text-white"
           >
@@ -56,33 +167,16 @@
             <span class="text-xl uppercase leading-4">LexImpact</span>
           </div>
         </a>
-
-        <div
-          class="my-2 ml-4 flex overflow-hidden rounded-t-md border-b-2 border-b-le-jaune"
-        >
-          <input
-            autocomplete="off"
-            class="min-w-[500px] border-none bg-gray-100 text-base text-gray-900 placeholder-gray-400 !ring-transparent focus:outline-none"
-            id="search"
-            placeholder="impôt sur le revenu, CSG, ..."
-            type="search"
-          />
-          <button class="flex items-center bg-le-jaune px-10"
-            ><iconify-icon
-              icon="ri-search-line"
-              width="22"
-              height="22"
-            /></button
-          >
-        </div>
       </div>
 
-      <!-- Troisième div pour les commandes avancées-->
-      <!-- connexion/déconnexion -->
-      <div class="flex items-center justify-end gap-5">
+      <!-- Bloc centre pour la barre de recherche -->
+      <NavBarSearch {$isSearchActive} bind:searchQuery />
+
+      <!-- Bloc droite pour les commandes avancées-->
+      <div class="flex flex-1 items-center justify-end gap-5">
         <!--Bouton tutoriel-->
         <button
-          class="rounded-sm p-1 text-sm uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
+          class="rounded-sm p-2 text-sm uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
           on:click={help}
         >
           <iconify-icon
@@ -92,13 +186,13 @@
           Tutoriel
         </button>
 
-        <!--Bouton sauvegarder partager-->
+        <!-- Bouton sauvegarder/partager -->
         <button
-          class="rounded-sm p-1 text-sm uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
+          class="rounded-sm p-2 text-sm uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
           id="situation_savebutton"
           title="Sauvegarder/partager votre écran de travail tel qu'il est visible actuellement"
+          on:click={shareLink}
         >
-          <!--          on:click={shareLink}-->
           <iconify-icon
             class="mr-1 align-[-0.2rem] text-base"
             icon="ri-share-fill"
@@ -106,10 +200,11 @@
           Sauvegarder / partager
         </button>
 
+        <!-- Bouton se connecter -->
         {#if authenticationEnabled}
           {#if user === undefined}
             <a
-              class="rounded-sm p-1 uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
+              class="rounded-sm p-2 uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
               data-sveltekit-reload
               href={loginUrl}
             >
@@ -117,7 +212,6 @@
                 class="mr-1 align-[-0.3rem] text-2xl"
                 icon="ri-key-fill"
               />
-              <span class="hidden pl-1 lg:inline-block">Se connecter</span>
             </a>
           {:else}
             <!-- User profile + se déconnecter -->
@@ -179,145 +273,171 @@
     </div>
 
     <!--Menu écran téléphone-->
+    <div class="flex flex-col md:hidden">
+      <div class="flex items-center justify-between">
+        <!-- Premier div pour le logo AN-->
+        <div class="flex flex-1">
+          <!-- logo assemblee nationale -->
+          <a class="w-16" href={portalUrl}>
+            <img
+              class=" items-start object-scale-down px-2 pb-2 pt-0"
+              src="/logo-assemblee-nationale-blanc-blanc.png"
+              alt="Logo de l'Assemblée nationale"
+            />
+          </a>
+        </div>
 
-    <div class="flex items-center justify-between md:hidden">
-      <!-- Premier div pour le logo AN-->
-      <!-- logo assemblee nationale -->
-      <a class="w-16" href={portalUrl}>
-        <img
-          class=" items-start object-scale-down pb-4 pl-2 pr-2 pt-0"
-          src="/logo-assemblee-nationale-blanc-blanc.png"
-          alt="Logo de l'Assemblée nationale"
-        />
-      </a>
-
-      <!-- Deuxième div pour le logo Contrib. & prestas sociales-->
-      <h1>
-        <span
-          class="flex h-7 items-center rounded object-center text-center text-2xl font-light uppercase text-white"
-        >
-          LexImpact
-          <span
-            class="rotate-6 rounded bg-le-gris-dispositif p-0.5 px-1 text-xs"
-          >
-            Beta
-          </span>
-        </span>
-        <span
-          class="block rounded object-center text-center text-xs font-bold uppercase text-white"
-        >
-          Cotis. & presta. sociales
-        </span>
-      </h1>
-
-      <!-- Troisième div pour le bouton menu-->
-
-      <section>
-        <button
-          aria-haspopup="true"
-          class="w-16 rounded-sm p-1 text-sm uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
-          id="share"
-          type="button"
-        >
-          <!--          aria-expanded={shareLink}-->
-          <!--          on:click={shareLink}-->
-          <span class="sr-only">Share link</span>
-          <iconify-icon
-            class="ml-1 align-[-0.2rem] text-2xl"
-            icon="ri-share-fill"
-          />
-        </button>
-        <button
-          aria-expanded={openMobileMenu}
-          aria-haspopup="true"
-          class="w-16 rounded-sm p-1 text-sm uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
-          id="user-menu"
-          on:click={() => (openMobileMenu = !openMobileMenu)}
-          type="button"
-        >
-          <span class="sr-only">Open user menu</span>
-          <iconify-icon
-            class="ml-1 align-[-0.2rem] text-2xl"
-            icon="ri-menu-line"
-          />
-        </button>
-      </section>
-
-      {#if openMobileMenu}
-        <!--
-            Dropdown menu
-
-            Entering: "transition ease-out duration-100"
-              From: "opacity-0 scale-95"
-              To: "opacity-100 scale-100"
-            Leaving: "transition ease-in duration-75"
-              From: "opacity-100 scale-100"
-              To: "opacity-0 scale-95"
-          -->
+        <!-- Deuxième div pour le logo-->
         <div
-          class="absolute right-0 top-0 z-50 mt-24 flex w-full flex-col rounded bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none"
-          role="menu"
-          aria-orientation="vertical"
-          aria-labelledby="user-menu"
+          class="flex h-full flex-1 flex-col items-center justify-center rounded p-1 text-white"
         >
-          {#if authenticationEnabled}
-            {#if user === undefined}
-              <a
-                class="flex border-b px-4 py-3 text-base font-bold text-gray-700 hover:bg-gray-100"
-                data-sveltekit-reload
-                href={loginUrl}
-                role="menuitem"
-              >
-                <span>
-                  <iconify-icon
-                    class="mr-1 align-[-0.2rem] text-lg"
-                    icon="ri-key-fill"
-                  />Se connecter</span
-                ></a
-              >
-            {:else}
-              <a
-                class="flex border-b-4 px-4 py-3 text-base text-gray-700 hover:bg-gray-100"
-                data-sveltekit-reload
-                href={logoutUrl}
-                role="menuitem"
-                ><span>
-                  <iconify-icon
-                    class="mr-1 align-[-0.2rem] text-lg"
-                    icon="ri-logout-box-r-line"
-                  />Se déconnecter ({user.preferred_username.split(
-                    "@",
-                  )[0]})</span
-                ></a
-              >
-            {/if}
-          {/if}
+          <span class="text-lg font-light leading-4">Simulateur</span>
+          <span class="text-xl uppercase leading-4">LexImpact</span>
+        </div>
 
-          <a
-            href={new URL("a-propos", portalUrl).toString()}
-            class="block border-b px-4 py-3 text-base text-gray-700 hover:bg-gray-100"
-            role="menuitem">À propos de LexImpact</a
-          >
-          <a
-            href={new URL(
-              "comment-fonctionnent-les-simulateurs",
-              portalUrl,
-            ).toString()}
-            class="block border-b px-4 py-3 text-base text-gray-700 hover:bg-gray-100"
-            role="menuitem">Comment fonctionnent les simulateurs LexImpact ?</a
+        <!-- Troisième div pour le bouton menu-->
+
+        <section class="flex flex-1 justify-end gap-3">
+          <button
+            aria-haspopup="true"
+            class="rounded-sm p-2 text-sm uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
+            id="share"
+            type="button"
+            aria-expanded={shareLink}
+            on:click={shareLink}
           >
-          <a
-            href={portalUrl}
-            class="flex items-center border-b bg-gray-200 px-4 py-3 text-base text-gray-900 hover:bg-gray-400"
-            role="menuitem"
+            <span class="sr-only">Share link</span>
+            <iconify-icon
+              class="align-[-0.2rem] text-2xl"
+              icon="material-symbols:share"
+            />
+          </button>
+          <button
+            aria-expanded={openMobileMenu}
+            aria-haspopup="true"
+            class="rounded-sm p-2 text-sm uppercase text-white hover:bg-gray-400 hover:bg-opacity-20 hover:text-white focus:outline-none"
+            id="user-menu"
+            on:click={() => (openMobileMenu = !openMobileMenu)}
+            type="button"
           >
+            <span class="sr-only">Open user menu</span>
             <iconify-icon
-              class="mr-1 align-[-0.2rem] text-lg"
-              icon="ri-home-2-line"
-            />Page d'accueil</a
+              class="align-[-0.2rem] text-2xl"
+              icon="ri-menu-line"
+            />
+          </button>
+        </section>
+
+        {#if openMobileMenu}
+          <!--
+              Dropdown menu
+
+              Entering: "transition ease-out duration-100"
+                From: "opacity-0 scale-95"
+                To: "opacity-100 scale-100"
+              Leaving: "transition ease-in duration-75"
+                From: "opacity-100 scale-100"
+                To: "opacity-0 scale-95"
+            -->
+          <div
+            class="absolute right-0 top-0 z-50 mt-24 flex w-full flex-col rounded bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none"
+            role="menu"
+            aria-orientation="vertical"
+            aria-labelledby="user-menu"
           >
-        </div>
-      {/if}
+            {#if authenticationEnabled}
+              {#if user === undefined}
+                <a
+                  class="flex border-b px-4 py-3 text-base font-bold text-gray-700 hover:bg-gray-100"
+                  data-sveltekit-reload
+                  href={loginUrl}
+                  role="menuitem"
+                >
+                  <span>
+                    <iconify-icon
+                      class="mr-1 align-[-0.2rem] text-lg"
+                      icon="ri-key-fill"
+                    />Se connecter</span
+                  ></a
+                >
+              {:else}
+                <a
+                  class="flex border-b-4 px-4 py-3 text-base text-gray-700 hover:bg-gray-100"
+                  data-sveltekit-reload
+                  href={logoutUrl}
+                  role="menuitem"
+                  ><span>
+                    <iconify-icon
+                      class="mr-1 align-[-0.2rem] text-lg"
+                      icon="ri-logout-box-r-line"
+                    />Se déconnecter ({user.preferred_username.split(
+                      "@",
+                    )[0]})</span
+                  ></a
+                >
+              {/if}
+            {/if}
+
+            <a
+              href={new URL("a-propos", portalUrl).toString()}
+              class="block border-b px-4 py-3 text-base text-gray-700 hover:bg-gray-100"
+              role="menuitem">À propos de LexImpact</a
+            >
+            <a
+              href={new URL(
+                "comment-fonctionnent-les-simulateurs",
+                portalUrl,
+              ).toString()}
+              class="block border-b px-4 py-3 text-base text-gray-700 hover:bg-gray-100"
+              role="menuitem"
+              >Comment fonctionnent les simulateurs LexImpact ?</a
+            >
+            <a
+              href={portalUrl}
+              class="flex items-center border-b bg-gray-200 px-4 py-3 text-base text-gray-900 hover:bg-gray-400"
+              role="menuitem"
+            >
+              <iconify-icon
+                class="mr-1 align-[-0.2rem] text-lg"
+                icon="ri-home-2-line"
+              />Page d'accueil</a
+            >
+          </div>
+        {/if}
+      </div>
+
+      <NavBarSearch {$isSearchActive} bind:searchQuery />
     </div>
   </nav>
+
+  {#if searchQuery.length > 0}
+    <div
+      class="absolute top-28 w-full overflow-hidden rounded-b-lg border bg-white shadow-lg md:left-[calc((100%-600px)/2)] md:top-14 md:w-[600px]"
+    >
+      <ul class="max-h-72 list-none overflow-y-auto py-2 md:max-h-[600px]">
+        {#if searchResults.length > 0}
+          {#each searchResults as variable, index (`found_variable_$${index}`)}
+            <li>
+              <button
+                class="flex w-full flex-col px-8 py-4 hover:bg-gray-200"
+                on:click={() => {
+                  searchQuery = ""
+                  $searchParameterName = variable.name
+                }}
+              >
+                <h2 class="flex-shrink-0 text-start text-xl font-bold">
+                  {variable.short_label ?? variable.label ?? variable.name}
+                </h2>
+                {#if variable.short_label !== undefined && variable.short_label !== variable.label}
+                  <span class="text-start">{variable.label}</span>
+                {/if}
+              </button>
+            </li>
+          {/each}
+        {:else}
+          <li class="px-8 py-4">Aucun résultat trouvé</li>
+        {/if}
+      </ul>
+    </div>
+  {/if}
 </div>
diff --git a/src/lib/components/ReformsChanges.svelte b/src/lib/components/ReformsChanges.svelte
index b16806db4..7305156e2 100644
--- a/src/lib/components/ReformsChanges.svelte
+++ b/src/lib/components/ReformsChanges.svelte
@@ -225,6 +225,7 @@
                 parameterName,
                 parametersVariableName: undefined,
               })}
+              on:click
             >
               <iconify-icon
                 class="mr-1 align-[-0.1rem] text-sm text-gray-500"
@@ -273,6 +274,7 @@
                 parameterName,
                 parametersVariableName: undefined,
               })}
+              on:click
               >{parameter?.title}&nbsp;:
 
               {#if parameterReform.type === ParameterReformChangeType.Scale}
diff --git a/src/lib/components/WaterfallCompareView.svelte b/src/lib/components/WaterfallCompareView.svelte
index cebbe912f..f8a24e1ca 100644
--- a/src/lib/components/WaterfallCompareView.svelte
+++ b/src/lib/components/WaterfallCompareView.svelte
@@ -476,7 +476,9 @@
           class="checked rounded bg-gray-100 accent-gray-500"
           type="checkbox"
         />
-        Montrer tous les dispositifs, y compris si le montant est nul.
+        <span class="ml-2"
+          >Montrer tous les dispositifs, y compris si le montant est nul.</span
+        >
       </label>
     </div>
   </div>
diff --git a/src/lib/components/WaterfallView.svelte b/src/lib/components/WaterfallView.svelte
index 305be2e43..2967d5f6f 100644
--- a/src/lib/components/WaterfallView.svelte
+++ b/src/lib/components/WaterfallView.svelte
@@ -106,6 +106,22 @@
       return
     }
   }
+
+  function getCorrectSimulationUrl(variableOrParameterName: string) {
+    const newDisplayMode =
+      displayMode.edit !== undefined
+        ? {
+            ...displayMode,
+            variableName: variableOrParameterName,
+          }
+        : {
+            ...displayMode,
+            mobileLaw: true,
+            parameterName: undefined,
+            parametersVariableName: variableOrParameterName,
+          }
+    return newSimulationUrl(newDisplayMode)
+  }
 </script>
 
 {#if visibleDecompositions.length > 0}
@@ -119,7 +135,7 @@
           {#each rows as { calculationName }}
             {#if calculationName === "law"}
               <div
-                class="flex h-8 items-center whitespace-nowrap"
+                class="flex h-8 items-center whitespace-nowrap px-4"
                 class:font-bold={decomposition.name ===
                   displayMode.parametersVariableName}
                 class:bg-gray-200={decomposition.name ===
@@ -130,31 +146,12 @@
                     class="ml-2 overflow-x-hidden text-ellipsis border-gray-400 text-base text-gray-500 hover:z-20 hover:overflow-x-visible hover:bg-white"
                     class:border-t={index !== 0}
                   >
-                    {#if displayMode.edit !== undefined}
-                      <!-- Trunk decomposition node, in variable inputs mode => link -->
-                      <a
-                        class="cursor-pointer text-base hover:underline"
-                        href={newSimulationUrl({
-                          ...displayMode,
-                          variableName: decomposition.name,
-                        })}
-                        data-sveltekit-noscroll
-                        >{decomposition.short_label ?? decomposition.label}</a
-                      >
-                    {:else}
-                      <!-- Trunk decomposition node with parameters, in parameters mode => link -->
-                      <a
-                        class="cursor-pointer text-base hover:underline"
-                        href={newSimulationUrl({
-                          ...displayMode,
-                          mobileLaw: true,
-                          parameterName: undefined,
-                          parametersVariableName: decomposition.name,
-                        })}
-                        data-sveltekit-noscroll
-                        >{decomposition.short_label ?? decomposition.label}</a
-                      >
-                    {/if}
+                    <a
+                      class="cursor-pointer text-base hover:underline"
+                      href={getCorrectSimulationUrl(decomposition.name)}
+                      data-sveltekit-noscroll
+                      >{decomposition.short_label ?? decomposition.label}</a
+                    >
                   </div>
                 {:else}
                   {#each [...iterToDepth(depth)] as _level}
@@ -196,102 +193,55 @@
                       </Popover>
                     {/if}
 
-                    {#if displayMode.edit !== undefined}
-                      <!-- Leaf decomposition node in variable inputs mode => link -->
-                      <a
-                        class="cursor-pointer overflow-x-hidden text-ellipsis font-serif text-base hover:z-20 hover:overflow-x-visible hover:bg-white hover:text-le-gris-dispositif hover:underline"
-                        href={newSimulationUrl({
-                          ...displayMode,
-                          variableName: decomposition.name,
-                        })}
-                        data-sveltekit-noscroll
-                        >{decomposition.short_label ?? decomposition.label}</a
-                      >
-                    {:else}
-                      <!-- Leaf decomposition node with parameters in parameters mode => link -->
-                      <a
-                        class="cursor-pointer overflow-x-hidden text-ellipsis font-serif text-base hover:z-20 hover:overflow-x-visible hover:bg-white hover:text-le-gris-dispositif hover:underline"
-                        href={newSimulationUrl({
-                          ...displayMode,
-                          mobileLaw: true,
-                          parameterName: undefined,
-                          parametersVariableName: decomposition.name,
-                        })}
-                        data-sveltekit-noscroll
-                        >{decomposition.short_label ?? decomposition.label}</a
-                      >
-                    {/if}
+                    <a
+                      class="cursor-pointer overflow-x-hidden text-ellipsis font-serif text-base hover:z-20 hover:overflow-x-visible hover:bg-white hover:text-le-gris-dispositif hover:underline"
+                      href={getCorrectSimulationUrl(decomposition.name)}
+                      data-sveltekit-noscroll
+                      >{decomposition.short_label ?? decomposition.label}</a
+                    >
                   {:else}
                     <!-- Non-trunk, non-leaf variable -->
-                    {#if decomposition.open}
-                      <button
-                        class="-ml-1 text-black"
-                        on:click={() => zoomOut(index)}
-                      >
-                        <iconify-icon
-                          class="align-[-0.2rem] text-lg"
-                          icon="ri-arrow-down-s-line"
-                        />
-                      </button>
-                    {:else}
-                      <button
-                        class="-ml-1 text-black"
-                        on:click={() => zoomIn(index)}
-                      >
-                        <iconify-icon
-                          class="align-[-0.2rem] text-lg"
-                          icon="ri-arrow-right-s-line"
-                        />
-                      </button>
-                    {/if}
+                    <button
+                      class="-ml-1 text-black"
+                      on:click={() =>
+                        decomposition.open ? zoomOut(index) : zoomIn(index)}
+                    >
+                      <iconify-icon
+                        class="align-[-0.2rem] text-lg"
+                        icon={decomposition.open
+                          ? "ri-arrow-down-s-line"
+                          : "ri-arrow-right-s-line"}
+                      />
+                    </button>
 
-                    {#if displayMode.edit !== undefined}
-                      <!-- Non-lead decomposition node in variable inputs mode => no-link -->
-                      <button
-                        class="cursor-pointer overflow-x-hidden text-ellipsis font-serif text-base text-black hover:z-20 hover:overflow-x-visible hover:bg-white hover:text-black hover:underline"
-                        on:click={() => {
-                          if (decomposition.open) {
-                            zoomOut(index)
-                          } else {
-                            zoomIn(index)
-                          }
-                        }}
-                      >
-                        {decomposition.short_label ?? decomposition.label}
-                      </button>
-                    {:else}
-                      <!-- Leaf decomposition node with parameters in parameters mode => link -->
-                      <a
-                        class="cursor-pointer overflow-x-hidden text-ellipsis font-serif text-base hover:z-20 hover:overflow-x-visible hover:bg-white hover:text-le-gris-dispositif hover:underline"
-                        href={newSimulationUrl({
-                          ...displayMode,
-                          parameterName: undefined,
-                          parametersVariableName: decomposition.name,
-                        })}
-                        on:click|preventDefault={() => {
-                          if (decomposition.open) {
-                            zoomOut(index)
-                          } else {
-                            zoomIn(index)
-                          }
-                          goto(
-                            newSimulationUrl({
-                              ...displayMode,
-                              parameterName: undefined,
-                              parametersVariableName: decomposition.name,
-                            }),
-                            { noScroll: true },
-                          )
-                        }}
-                        data-sveltekit-noscroll
-                        >{decomposition.short_label ?? decomposition.label}</a
-                      >
-                    {/if}
+                    <button
+                      class="cursor-pointer overflow-x-hidden text-ellipsis font-serif text-base hover:z-20 hover:overflow-x-visible hover:bg-white hover:text-le-gris-dispositif hover:underline"
+                      on:click={() => {
+                        // Non-leaf decomposition node in variable inputs mode => no-link
+                        decomposition.open ? zoomOut(index) : zoomIn(index)
+
+                        // Leaf decomposition node with parameters in parameters mode => link
+                        if (displayMode.edit === undefined) {
+                          goto(getCorrectSimulationUrl(decomposition.name), {
+                            noScroll: true,
+                          })
+                        }
+                      }}
+                      data-sveltekit-noscroll
+                      >{decomposition.short_label ??
+                        decomposition.label}</button
+                    >
                   {/if}
                 {/if}
               </div>
             {:else if !decomposition.open || trunk}
-              <div class="flex h-7 items-center whitespace-nowrap">
+              <div
+                class="flex h-7 items-center whitespace-nowrap px-4"
+                class:font-bold={decomposition.name ===
+                  displayMode.parametersVariableName}
+                class:bg-gray-200={decomposition.name ===
+                  displayMode.parametersVariableName}
+              >
                 {#if !trunk}
                   {#each [...iterToDepth(depth)] as _level}
                     <div class="ml-2 h-full border-l border-le-gris-dispositif">
@@ -306,7 +256,7 @@
       </div>
 
       <!-- ticket de caisse-->
-      <div class="relative mr-1 flex flex-none px-2 md:mr-4">
+      <div class="relative flex flex-none">
         {#if Object.values($calculationByName).filter((calculation) => calculation.running && (calculation.situationIndex === undefined || calculation.situationIndex === situationIndex)).length > 0}
           <div class="absolute inset-0 z-10 bg-le-jaune bg-opacity-20">
             <Spinner />
@@ -317,14 +267,18 @@
             {#each rows as { calculationName, deltaAtVectorIndex }}
               {#if !decomposition.open || trunk || calculationName === "law"}
                 <div
-                  class="h-7 border-t {calculationName === 'law'
-                    ? 'my-1'
+                  class="h-8 border-t {calculationName === 'law'
+                    ? 'py-1'
                     : '-mt-1 mb-1'} px-1 text-sm {decomposition.open &&
                   trunk &&
                   visibleChildren.length > 1 &&
                   calculationName === 'law'
                     ? 'border-gray-400'
                     : 'border-transparent'}"
+                  class:font-bold={decomposition.name ===
+                    displayMode.parametersVariableName}
+                  class:bg-gray-200={decomposition.name ===
+                    displayMode.parametersVariableName}
                 >
                   {#if decomposition.open}{#if trunk}<span
                         class="align-middle text-gray-500">=</span
@@ -348,10 +302,14 @@
                   visibleChildren.length > 1 &&
                   calculationName === 'law'
                     ? 'border-gray-400'
-                    : 'border-transparent'} h-7 border-t {calculationName ===
+                    : 'border-transparent'} h-8 border-t {calculationName ===
                   'law'
-                    ? 'my-1'
-                    : '-mt-1 mb-1'} text-right text-sm"
+                    ? 'py-1'
+                    : '-mt-1 mb-1'} pr-1 text-right text-sm md:pr-4"
+                  class:font-bold={decomposition.name ===
+                    displayMode.parametersVariableName}
+                  class:bg-gray-200={decomposition.name ===
+                    displayMode.parametersVariableName}
                 >
                   {#if decomposition.open || index === 0}
                     {#if trunk || index === 0}
@@ -406,16 +364,18 @@
 
     <!-- Choix d'affichage des montant nuls -->
     <div
-      class="mt-5 flex p-2"
+      class="mx-6 mt-3 flex"
       id="situation_{situationIndex}_waterfall_showall"
     >
-      <label class="inline text-xs leading-none text-gray-600">
+      <label class="inline py-2 text-xs leading-none text-gray-600">
         <input
           bind:checked={$showNulls}
           class="checked rounded bg-gray-100 accent-gray-500"
           type="checkbox"
         />
-        Montrer tous les dispositifs, y compris si le montant est nul.
+        <span class="ml-2"
+          >Montrer tous les dispositifs, y compris si le montant est nul.</span
+        >
       </label>
     </div>
   </div>
diff --git a/src/lib/components/pictos/PictoFicheDePaie.svelte b/src/lib/components/pictos/PictoFicheDePaie.svelte
new file mode 100644
index 000000000..29ebf8ad6
--- /dev/null
+++ b/src/lib/components/pictos/PictoFicheDePaie.svelte
@@ -0,0 +1,14 @@
+<svg
+  xmlns="http://www.w3.org/2000/svg"
+  width="24"
+  height="24"
+  viewBox="0 0 24 24"
+  fill="none"
+>
+  <path
+    fill-rule="evenodd"
+    clip-rule="evenodd"
+    d="M16.4789 20.9V4.1H3.21128V19.85C3.21128 20.1285 3.32776 20.3955 3.53511 20.5925C3.74246 20.7894 4.02368 20.9 4.31692 20.9H16.4789ZM19.7959 23H4.31692C3.43721 23 2.59354 22.6681 1.9715 22.0774C1.34946 21.4866 1 20.6854 1 19.85V3.05C1 2.77152 1.11649 2.50445 1.32383 2.30754C1.53118 2.11062 1.81241 2 2.10564 2H17.5846C17.8778 2 18.159 2.11062 18.3664 2.30754C18.5737 2.50445 18.6902 2.77152 18.6902 3.05V10.4H23.1128V19.85C23.1128 20.6854 22.7633 21.4866 22.1413 22.0774C21.5192 22.6681 20.6756 23 19.7959 23ZM18.6902 12.5V19.85C18.6902 20.1285 18.8067 20.3955 19.014 20.5925C19.2214 20.7894 19.5026 20.9 19.7959 20.9C20.0891 20.9 20.3703 20.7894 20.5777 20.5925C20.785 20.3955 20.9015 20.1285 20.9015 19.85V12.5H18.6902ZM4.54156 5.65476H9.84862V7.48085H4.54156V5.65476ZM8.96411 9.30952H4.54156V11.1356H8.96411V9.30952ZM9.84581 17.5246H15.1529V19.3507H9.84581V17.5246ZM15.1557 13.8699H4.54156V15.696H15.1557V13.8699ZM13.3793 9.30952H15.1529V11.1356H13.3793V12.9604H11.6103V11.1356H9.84581V9.30952H11.6103V7.48214H13.3793V9.30952Z"
+    fill="currentColor"
+  />
+</svg>
diff --git a/src/lib/components/search/NavBarSearch.svelte b/src/lib/components/search/NavBarSearch.svelte
new file mode 100644
index 000000000..f24d7c425
--- /dev/null
+++ b/src/lib/components/search/NavBarSearch.svelte
@@ -0,0 +1,33 @@
+<script lang="ts">
+  export let isSearchActive: boolean
+  export let searchQuery: string
+</script>
+
+<div class="flex-1 items-center">
+  <div
+    class="my-2 flex w-full overflow-hidden rounded-t-md border-b-2 border-b-le-jaune bg-gray-100 md:w-[600px]"
+  >
+    <input
+      autocomplete="off"
+      class="w-full border-none bg-transparent text-base text-gray-900 placeholder-gray-400 !ring-transparent focus:outline-none"
+      id="search"
+      placeholder="impôt sur le revenu, CSG, ..."
+      type="search"
+      bind:value={searchQuery}
+    />
+    {#if isSearchActive}
+      <iconify-icon
+        class="mx-1 cursor-pointer self-center p-1 text-black"
+        icon="ic-baseline-clear"
+        flip="horizontal"
+        width="22"
+        height="22"
+        on:click={() => (searchQuery = "")}
+        on:keyup
+      />
+    {/if}
+    <button class="flex items-center bg-le-jaune px-10"
+      ><iconify-icon icon="ri-search-line" width="22" height="22" /></button
+    >
+  </div>
+</div>
diff --git a/src/lib/components/test_cases/TestCaseCompareView.svelte b/src/lib/components/test_cases/TestCaseCompareView.svelte
index c3ee37254..30220a3b0 100644
--- a/src/lib/components/test_cases/TestCaseCompareView.svelte
+++ b/src/lib/components/test_cases/TestCaseCompareView.svelte
@@ -98,7 +98,7 @@
       </button>
     {/if}
   </div>
-  <div class="sticky top-0 z-20 flex border-b-2 border-l border-gray-200">
+  <div class="flex border-b-2 border-l border-gray-200">
     <div
       class="flex w-10/12 justify-self-end bg-[url('/background_image/background_compareview_header.svg')] bg-cover bg-center bg-no-repeat px-4 md:w-11/12"
       id="situation_{situationsToCompareIndex.join('_')}_cases_summary"
@@ -304,7 +304,7 @@
         </div>
         <!--Onglets-->
         <div
-          class="sticky top-72 flex h-[30em] w-2/12 flex-col justify-between bg-gray-100 md:w-1/12"
+          class="flex h-[30em] w-2/12 flex-col justify-between bg-gray-100 md:w-1/12"
         >
           {#each waterfalls as { icon, label, name }}
             <a
diff --git a/src/lib/components/test_cases/TestCaseRelatedCarousel.svelte b/src/lib/components/test_cases/TestCaseRelatedCarousel.svelte
index 1422097e0..0290871bb 100644
--- a/src/lib/components/test_cases/TestCaseRelatedCarousel.svelte
+++ b/src/lib/components/test_cases/TestCaseRelatedCarousel.svelte
@@ -108,7 +108,7 @@
     class="mb-12 w-[600px] shrink-0 snap-center border-2 bg-white hover:border-le-bleu hover:bg-gray-200 md:rounded-md"
   >
     <button
-      class="flex h-full w-full flex-col items-center justify-center gap-5"
+      class="flex h-full min-h-[320px] w-full flex-col items-center justify-center gap-5"
       on:click={() => dispatch("openTestCaseSelectModal")}
       type="button"
     >
diff --git a/src/lib/components/test_cases/TestCaseSelectModal.svelte b/src/lib/components/test_cases/TestCaseSelectModal.svelte
index 6a40805b5..08fefb130 100644
--- a/src/lib/components/test_cases/TestCaseSelectModal.svelte
+++ b/src/lib/components/test_cases/TestCaseSelectModal.svelte
@@ -1,4 +1,5 @@
 <script lang="ts">
+  import VariableValueChange from "$lib/components/variables/VariableValueChange.svelte"
   import TestCaseSummary from "$lib/components/test_cases/TestCaseSummary.svelte"
   import {
     Dialog,
@@ -15,18 +16,34 @@
   import type { DisplayMode } from "$lib/displays"
   import type { Situation } from "$lib/situations"
   import { newSimulationUrl } from "$lib/urls"
-  import type { ValuesByCalculationNameByVariableName } from "$lib/variables"
+  import {
+    variableSummaryByName,
+    type ValuesByCalculationNameByVariableName,
+    variableSummaryByNameByReformName,
+  } from "$lib/variables"
+  import type { EvaluationByName } from "$lib/decompositions"
 
   export let displayMode: DisplayMode
   export let isOpen = false
   export let year: number
 
   const dispatch = createEventDispatcher()
+  const billName = getContext("billName") as Writable<string | undefined>
   const testCases = getContext("testCases") as Writable<Situation[]>
   const testCasesIndex = getContext("testCasesIndex") as Writable<number[]>
   const valuesByCalculationNameByVariableNameArray = getContext(
     "valuesByCalculationNameByVariableNameArray",
   ) as Writable<ValuesByCalculationNameByVariableName[]>
+  const evaluationByNameArray = getContext("evaluationByNameArray") as Writable<
+    EvaluationByName[]
+  >
+
+  $: variableSummary =
+    $billName === undefined
+      ? variableSummaryByName[displayMode.parametersVariableName]
+      : variableSummaryByNameByReformName[$billName][
+          displayMode.parametersVariableName
+        ]
 
   function changeTestCaseIndex(value: number) {
     isOpen = false
@@ -90,7 +107,7 @@
               type="button"
             >
               <iconify-icon
-                class="ml-2 h-10 w-10"
+                class="w-10 p-2 text-2xl"
                 icon="ri-close-line"
               /></button
             >
@@ -103,35 +120,50 @@
 
             <div class="grid grid-cols-1 gap-8 sm:grid-cols-2 lg:grid-cols-3">
               {#each $testCases as situation, situationIndex}
-                <div
-                  class="w-full bg-white py-1 text-sm"
-                  value={situationIndex}
-                >
+                <div class="w-full bg-white text-sm" value={situationIndex}>
                   <button
                     class="group w-full"
                     on:click={() => changeTestCaseIndex(situationIndex)}
                     type="button"
                   >
-                    <div
-                      class=" border-b-2 bg-gray-100 p-4 pb-2 text-left hover:border-le-bleu hover:bg-gray-200 md:rounded-t-md"
-                      id="situation_{situationIndex}_case_summary"
-                    >
-                      <TestCaseSummary
-                        {displayMode}
-                        mode="select"
-                        {situation}
-                        {situationIndex}
-                        valuesByCalculationNameByVariableName={$valuesByCalculationNameByVariableNameArray[
-                          situationIndex
-                        ]}
-                        {year}
-                      />
-                    </div>
-                    <div>
-                      <span class="group-hover:text-le-bleu"
-                        >{situation.title}
-                      </span>
+                    <div class="overflow-hidden border-2 md:rounded-md">
+                      <div
+                        class="bg-gray-100 p-4 pb-2 text-left hover:border-le-bleu hover:bg-gray-200"
+                        id="situation_{situationIndex}_case_summary"
+                      >
+                        <TestCaseSummary
+                          {displayMode}
+                          mode="select"
+                          {situation}
+                          {situationIndex}
+                          valuesByCalculationNameByVariableName={$valuesByCalculationNameByVariableNameArray[
+                            situationIndex
+                          ]}
+                          {year}
+                        />
+                      </div>
+                      {#if variableSummary !== undefined}
+                        <div class="flex flex-col gap-2 bg-white p-3">
+                          <span class="text-start"
+                            >{variableSummary.short_label ??
+                              variableSummary.label ??
+                              displayMode.parametersVariableName}&nbsp;:</span
+                          >
+                          <div class="flex gap-5 text-3xl font-semibold">
+                            <VariableValueChange
+                              evaluationByName={$evaluationByNameArray[
+                                situationIndex
+                              ]}
+                              legend
+                              name={displayMode.parametersVariableName}
+                            />
+                          </div>
+                        </div>
+                      {/if}
                     </div>
+                    <span class="group-hover:text-le-bleu">
+                      {situation.title}
+                    </span>
                   </button>
                 </div>
               {/each}
diff --git a/src/lib/components/test_cases/TestCaseTab.svelte b/src/lib/components/test_cases/TestCaseTab.svelte
index 7708791bc..bf542a65a 100644
--- a/src/lib/components/test_cases/TestCaseTab.svelte
+++ b/src/lib/components/test_cases/TestCaseTab.svelte
@@ -1,19 +1,33 @@
 <script lang="ts">
+  import { onMount } from "svelte"
+
   export let href
   export let icon
+  export let picto
   export let text
   export let isActive
   export let isDisabled
+
+  let pictoComponent
+  onMount(async () => {
+    if (picto !== undefined)
+      pictoComponent = (await import(`$lib/components/pictos/${picto}.svelte`))
+        .default
+  })
 </script>
 
 <a
-  class="flex gap-2 border-r-2 px-8 py-4 uppercase text-gray-600"
+  class="flex gap-2 border-r-2 px-4 py-4 uppercase text-gray-600 md:px-8"
   class:bg-white={isActive && !isDisabled}
   class:shadow-md={isActive && !isDisabled}
   class:!text-gray-400={isDisabled}
   class:cursor-not-allowed={isDisabled}
   href={!isDisabled ? href : undefined}
 >
-  <iconify-icon {icon} class="text-2xl" />
+  {#if pictoComponent !== undefined}
+    <svelte:component this={pictoComponent} />
+  {:else}
+    <iconify-icon {icon} class="text-2xl" />
+  {/if}
   {text}
 </a>
diff --git a/src/lib/components/test_cases/TestCaseView.svelte b/src/lib/components/test_cases/TestCaseView.svelte
index cec54649e..0d4194a1b 100644
--- a/src/lib/components/test_cases/TestCaseView.svelte
+++ b/src/lib/components/test_cases/TestCaseView.svelte
@@ -1,5 +1,5 @@
 <script lang="ts">
-  import type { DecompositionReference, Waterfall } from "@openfisca/json-model"
+  import type { Waterfall } from "@openfisca/json-model"
   import { Popover } from "flowbite-svelte"
   import { getContext } from "svelte"
   import type { Writable } from "svelte/store"
@@ -7,7 +7,6 @@
   import {
     variableValueByCalculationNameFromEvaluation,
     type CalculationByName,
-    type CalculationName,
     isNullVariableValueByCalculationName,
   } from "$lib/calculations"
   import Spinner from "$lib/components/Spinner.svelte"
@@ -38,6 +37,8 @@
   export let situationIndex: number
   export let valuesByCalculationNameByVariableName: ValuesByCalculationNameByVariableName
   export let year: number
+  export let defaultTab: string
+  export let tabs
 
   const oilSpendings = oilTypes.map((name) => ({
     depenseTtcVariableName: `depense_${name}_ttc`,
@@ -62,26 +63,6 @@
   const waterfall = getContext("waterfall") as Writable<Waterfall>
 
   $: evaluationByName = $evaluationByNameArray[situationIndex]
-
-  const defaultTab = "impacts_globaux"
-  const tabs = [
-    {
-      title: "Impact dispositif",
-      icon: "material-symbols:location-on",
-      tab: "impact_dispositif",
-    },
-    {
-      title: "Impacts directs",
-      icon: "ri:mastercard-line",
-      tab: "impacts_directs",
-      disabled: true,
-    },
-    {
-      title: "Impacts globaux",
-      icon: "ph:globe-simple-bold",
-      tab: "impacts_globaux",
-    },
-  ]
 </script>
 
 <div
@@ -89,7 +70,7 @@
   id="situation_{situationIndex}"
 >
   <div
-    class="sticky top-14 z-20 bg-gray-100 md:rounded-t-md"
+    class="bg-gray-100 md:rounded-t-md"
     id="situation_{situationIndex}_case_summary"
   >
     <div class="p-4 pb-2">
@@ -113,6 +94,7 @@
             tab: tabData.tab,
           })}
           icon={tabData.icon}
+          picto={tabData.picto}
           text={tabData.title}
           isActive={displayMode.tab === tabData.tab ||
             (tabData.tab === defaultTab && displayMode.tab === undefined)}
@@ -122,10 +104,10 @@
     </div>
   </div>
 
-  {#if displayMode.tab === "impact_dispositif" || (displayMode.tab === undefined && defaultTab === "impact_dispositif")}
+  {#if displayMode.tab === "dispositif" || (displayMode.tab === undefined && defaultTab === "dispositif")}
     <div class="w-full bg-white px-8 py-5">
       {#if displayMode.parametersVariableName !== undefined && decompositionByName[displayMode.parametersVariableName] !== undefined}
-        <div>
+        <div class="flex flex-col gap-5">
           <div class="grid grid-cols-3 gap-5">
             <div class="flex flex-col">
               <div
@@ -372,121 +354,84 @@
               class="checked rounded bg-gray-100 accent-gray-500"
               type="checkbox"
             />
-            Montrer tous les dispositifs, y compris si le montant est nul.
+            <span class="ml-2"
+              >Montrer tous les dispositifs directs, y compris si le montant est nul.</span
+            >
           </label>
         </div>
       {:else}
-        <span>Aucun paramètre séléctionné.</span>
+        <p>Aucun dispositif sélectionné.</p>
+        <!--        <br/>-->
+        <!--        <p>Choissez-en un</p>-->
+        <!--        <ul>-->
+        <!--          <li>- parmi ceux proposés à gauche, ou</li>-->
+        <!--          <li>- dans la fiche de paie, ou</li>-->
+        <!--          <li>- en lançant une recherche.</li>-->
+        <!--        </ul>-->
       {/if}
     </div>
   {/if}
 
-  {#if displayMode.tab === "impacts_globaux" || (displayMode.tab === undefined && defaultTab === "impacts_globaux")}
+  {#if displayMode.tab === "fiche_de_paie" || (displayMode.tab === undefined && defaultTab === "fiche_de_paie")}
     <div class="bg-white">
       {#if variableSummaryByName !== undefined}
         <div class="flex justify-between bg-gray-100">
           <!--Impacts et waterfall-->
-
-          <div
-            class="{displayMode.compact
-              ? 'w-full'
-              : 'w-10/12 md:w-11/12'} rounded-b-lg bg-white px-4"
-          >
+          <div class="w-10/12 bg-white py-4 md:w-11/12">
             {#if Object.values($calculationByName).filter((calculation) => calculation.running && (calculation.situationIndex === undefined || calculation.situationIndex === situationIndex)).length > 0}
               <Spinner />
             {/if}
 
-            <!--Bouton pour passer du mode compact au mode waterfall-->
-            <div class="flex w-full justify-between">
-              {#if displayMode.compact}
-                <a
-                  class="mb-2 flex w-full cursor-pointer items-center border-gray-300 py-1 pr-4 text-gray-600"
-                  href={newSimulationUrl({
-                    ...displayMode,
-                    compact: undefined,
-                  })}
-                  data-sveltekit-noscroll
-                >
-                  <iconify-icon
-                    class="mr-1 align-[-0.2rem] text-xl"
-                    icon="ri-arrow-right-s-line"
-                  /><span class="tracking-wider">Voir tous les dispositifs</span
-                  >
-                </a>
-              {:else}
-                <a
-                  class="flex w-full cursor-pointer items-center border-b border-gray-300 py-1 pr-4 text-gray-600"
-                  href={newSimulationUrl({
-                    ...displayMode,
-                    compact: true,
-                  })}
-                  data-sveltekit-noscroll
-                >
-                  <iconify-icon
-                    class="mr-1 align-[-0.2rem] text-xl"
-                    icon="ri-arrow-down-s-line"
-                  />
-                  <span class="tracking-wider">Tous les dispositifs</span>
-                </a>
-              {/if}
-            </div>
-
-            {#if !displayMode.compact}
-              <div class="h-5 bg-gradient-to-b from-gray-100 to-transparent" />
-
-              <WaterfallView
-                {decompositionByName}
-                {displayMode}
-                {evaluationByName}
-                on:changeDecompositionByName
-                {situation}
-                {situationIndex}
-                {variableSummaryByName}
-                {year}
-              />
-            {/if}
+            <WaterfallView
+              {decompositionByName}
+              {displayMode}
+              {evaluationByName}
+              on:changeDecompositionByName
+              {situation}
+              {situationIndex}
+              {variableSummaryByName}
+              {year}
+            />
           </div>
-          {#if !displayMode.compact}
-            <!--Onglets-->
-            <div
-              class="sticky top-72 flex h-[30em] w-2/12 flex-col justify-between bg-gray-100 md:w-1/12"
-              id="situation_{situationIndex}_Employeur"
-            >
-              {#each waterfalls as { icon, label, name }}
-                <a
-                  class="flex grow items-center justify-around shadow-inner"
-                  class:bg-white={name === $waterfall.name}
-                  class:border-le-bleu={name === $waterfall.name}
-                  class:border-r-4={name === $waterfall.name}
-                  class:shadow-none={name === $waterfall.name}
-                  href={newSimulationUrl({
-                    ...displayMode,
-                    waterfallName: name,
-                  })}
-                  data-sveltekit-noscroll
-                >
-                  <div class="origin-center rotate-90">
-                    <div class="mr-5 flex">
-                      {#if icon !== undefined}
-                        <img
-                          class="block origin-center -rotate-90"
-                          alt="Icone pour {label}"
-                          src={icon}
-                        />
-                      {/if}
-                      <span
-                        class="ml-2 text-xs uppercase tracking-wide text-gray-600 xl:text-sm"
-                        class:text-le-bleu={name === $waterfall.name}
-                        class:font-bold={name === $waterfall.name}
-                      >
-                        {label}
-                      </span>
-                    </div>
+          <!--Onglets-->
+          <div
+            class="flex h-[30em] w-2/12 flex-col justify-between bg-gray-100 md:w-1/12"
+            id="situation_{situationIndex}_Employeur"
+          >
+            {#each waterfalls as { icon, label, name }}
+              <a
+                class="flex grow items-center justify-around shadow-inner"
+                class:bg-white={name === $waterfall.name}
+                class:border-le-bleu={name === $waterfall.name}
+                class:border-r-4={name === $waterfall.name}
+                class:shadow-none={name === $waterfall.name}
+                href={newSimulationUrl({
+                  ...displayMode,
+                  waterfallName: name,
+                })}
+                data-sveltekit-noscroll
+              >
+                <div class="origin-center rotate-90">
+                  <div class="mr-5 flex">
+                    {#if icon !== undefined}
+                      <img
+                        class="block origin-center -rotate-90"
+                        alt="Icone pour {label}"
+                        src={icon}
+                      />
+                    {/if}
+                    <span
+                      class="ml-2 text-xs uppercase tracking-wide text-gray-600 xl:text-sm"
+                      class:text-le-bleu={name === $waterfall.name}
+                      class:font-bold={name === $waterfall.name}
+                    >
+                      {label}
+                    </span>
                   </div>
-                </a>
-              {/each}
-            </div>
-          {/if}
+                </div>
+              </a>
+            {/each}
+          </div>
         </div>
         <div class="px-4 py-2">
           <p class="text-right text-xs font-bold text-gray-600">
diff --git a/src/lib/components/variables/VariableReferredParameterHeader.svelte b/src/lib/components/variables/VariableReferredParameterHeader.svelte
index 9e7edcc55..8973c737b 100644
--- a/src/lib/components/variables/VariableReferredParameterHeader.svelte
+++ b/src/lib/components/variables/VariableReferredParameterHeader.svelte
@@ -35,7 +35,7 @@
         >
           {ancestor.title}
         </a>
-        &gt;
+        <span>&nbsp;&gt;&nbsp;</span>
       {/each}
     {/if}
     {#if parameter.title !== parameter.parent?.title}
diff --git a/src/lib/displays.ts b/src/lib/displays.ts
index ee08c3952..027a49046 100644
--- a/src/lib/displays.ts
+++ b/src/lib/displays.ts
@@ -1,7 +1,6 @@
 export interface DisplayMode {
   action?: string // TODO: Remove attribute "action".
   budget?: boolean
-  compact?: boolean
   mobileLaw?: boolean // For mobile, when not in edit mode: When true, show law, otherwise show impacts.
   parameterName?: string
   parametersVariableName?: string
diff --git a/src/lib/urls.ts b/src/lib/urls.ts
index a6104c217..695c78b0d 100644
--- a/src/lib/urls.ts
+++ b/src/lib/urls.ts
@@ -17,9 +17,6 @@ export function newSimulationUrl(displayMode: DisplayMode): string {
   if (displayMode.budget) {
     query.append("budget", "true")
   }
-  if (displayMode.compact) {
-    query.append("compact", "true")
-  }
   if (displayMode.edit !== undefined) {
     query.append("edit", displayMode.edit.toString())
   }
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
index 525b5348a..8d013f77b 100644
--- a/src/routes/+layout.svelte
+++ b/src/routes/+layout.svelte
@@ -59,6 +59,7 @@
   import type { WebSocketByName, WebSocketOpenByName } from "$lib/websockets"
 
   import type { LayoutData } from "./$types"
+  import type { DisplayMode } from "$lib/displays"
 
   export let data: LayoutData
 
@@ -1039,6 +1040,15 @@
       $evaluationByNameArray = updatedEvaluationByNameArray
     }
   }
+
+  const isSearchActive: Writable<boolean> = writable(false)
+  setContext("isSearchActive", isSearchActive)
+
+  const searchParameterName: Writable<string | undefined> = writable(undefined)
+  setContext("searchParameterName", searchParameterName)
+
+  const displayMode: Writable<DisplayMode | undefined> = writable(undefined)
+  setContext("displayMode", displayMode)
 </script>
 
 <svelte:head>
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
index 3833eb948..6e08bef21 100644
--- a/src/routes/+page.svelte
+++ b/src/routes/+page.svelte
@@ -15,7 +15,6 @@
   import { Popover } from "flowbite-svelte"
   import introJs from "intro.js"
   import { getContext, setContext } from "svelte"
-  import { openModal } from "svelte-modals"
   import type { Writable } from "svelte/store"
 
   import { browser } from "$app/environment"
@@ -33,7 +32,6 @@
   import IrGagnantsPerdantsView from "$lib/components/IrGagnantsPerdantsView.svelte"
   import CsgGagnantsPerdantsView from "$lib/components/CsgGagnantsPerdantsView.svelte"
   import ReformsChanges from "$lib/components/ReformsChanges.svelte"
-  import ShareLinkModal from "$lib/components/ShareLinkModal.svelte"
   import Spinner from "$lib/components/Spinner.svelte"
   import TestCaseSelectModal from "$lib/components/test_cases/TestCaseSelectModal.svelte"
   import TestCaseExamplesSelectBar from "$lib/components/test_cases/TestCaseExamplesSelectBar.svelte"
@@ -41,7 +39,6 @@
   import TestCaseEdit from "$lib/components/test_cases/TestCaseEdit.svelte"
   import TestCaseRelatedCarousel from "$lib/components/test_cases/TestCaseRelatedCarousel.svelte"
   import TestCaseView from "$lib/components/test_cases/TestCaseView.svelte"
-  import Search from "$lib/components/search/Search.svelte"
   import NonVariableReferredParameter from "$lib/components/variables/NonVariableReferredParameter.svelte"
   import VariableReferredInputsPane from "$lib/components/variables/VariableReferredInputsPane.svelte"
   import VariableReferredParameters from "$lib/components/variables/VariableReferredParameters.svelte"
@@ -71,7 +68,8 @@
   } from "$lib/variables"
 
   import type { PageData } from "./$types"
-  import { SearchMode } from "$lib/search/search_mode"
+  import PictoFemme from "$lib/components/pictos/PictoFemme.svelte"
+  import PictoEtat from "$lib/components/pictos/PictoEtat.svelte"
 
   export let data: PageData
 
@@ -116,6 +114,13 @@
   ) as Writable<ValuesByCalculationNameByVariableName[]>
   let windowInnerWidth: number | undefined = undefined
   const year = getContext("year") as Writable<number>
+  const isSearchActive = getContext("isSearchActive") as Writable<boolean>
+  const searchParameterName = getContext("searchParameterName") as Writable<
+    string | undefined
+  >
+  const displayModeWritable = getContext("displayMode") as Writable<
+    DisplayMode | undefined
+  >
 
   $: ({ user } = data)
 
@@ -637,44 +642,7 @@
     // goto(newSimulationUrl(displayMode))
   }
 
-  async function shareLink(): Promise<void> {
-    const urlString = "/simulations"
-    const res = await fetch(urlString, {
-      body: JSON.stringify({
-        displayMode,
-        inputInstantsByVariableNameArray: $inputInstantsByVariableNameArray.map(
-          (inputInstantsByVariableName) =>
-            Object.fromEntries(
-              Object.entries(inputInstantsByVariableName).map(
-                ([variableName, inputInstants]) => [
-                  variableName,
-                  [...inputInstants],
-                ],
-              ),
-            ),
-        ),
-        parametricReform: $parametricReform,
-        testCases: $testCases,
-      }),
-      headers: {
-        Accept: "application/json",
-        "Content-Type": "application/json; charset=utf-8",
-      },
-      method: "POST",
-    })
-    if (!res.ok) {
-      console.error(
-        `Error ${
-          res.status
-        } while creating a share link at ${urlString}\n\n${await res.text()}`,
-      )
-      return
-    }
-    const { token } = await res.json()
-    openModal(ShareLinkModal, {
-      token,
-    })
-  }
+  $: $displayModeWritable = displayMode
 
   let validateBtnHeight = 0
 
@@ -684,6 +652,105 @@
         if (displayMode.edit !== undefined) setTimeout(() => changeTestCaseToEditIndex(undefined), 1)
     }
   }
+
+  const dispositifsTypes = [
+    {
+      title: "Impôt sur le revenu",
+      icon: "picto-impot-sur-le-revenu.png",
+      foyer: {
+        budget: undefined,
+        parametersVariableName: "irpp_economique",
+      },
+      budget: {
+        budget: true,
+        parametersVariableName: "irpp_economique",
+      },
+    },
+    {
+      title: "Contribution sociale généralisée - CSG",
+      icon: "picto-csg.png",
+      foyer: {
+        budget: undefined,
+        parametersVariableName: "csg_imposable_salaire",
+      },
+      budget: {
+        budget: true,
+        parametersVariableName: "csg_imposable_salaire",
+      },
+    },
+    {
+      title: "Prime de partage de la valeur",
+      icon: "illustration-pepa.png",
+      foyer: {
+        mobileLaw: true,
+        budget: undefined,
+        parametersVariableName: "prime_partage_valeur_exoneree",
+        testCasesIndex: [3, 4],
+        waterfallName: "brut_to_super_brut",
+      },
+    },
+    {
+      title: "Taxes sur les carburants",
+      icon: "illustration-ticpe.png",
+      foyer: {
+        mobileLaw: true,
+        budget: undefined,
+        parametersVariableName: "essence_sp95_e10_ticpe",
+        testCasesIndex: [15],
+      },
+    },
+    {
+      title: "Exonération TO-DE",
+      icon: "illustration-exoneration-tode.png",
+      foyer: {
+        mobileLaw: true,
+        budget: undefined,
+        parametersVariableName: "exoneration_cotisations_employeur_tode",
+        testCasesIndex: [13, 14],
+        waterfallName: "brut_to_super_brut",
+      },
+    },
+  ]
+
+  const defaultTab = "fiche_de_paie"
+  const tabs = [
+    {
+      title: "Dispositif",
+      icon: "ri:zoom-in-line",
+      tab: "dispositif",
+    },
+    // {
+    //   title: "Impacts directs",
+    //   icon: "ri:mastercard-line",
+    //   tab: "impacts_directs",
+    //   disabled: true,
+    // },
+    {
+      title: "Fiche de paie",
+      picto: "PictoFicheDePaie",
+      tab: "fiche_de_paie",
+    },
+  ]
+
+  // $: tabs[0].disabled = !(displayMode.parametersVariableName !== undefined && $decompositionByName[displayMode.parametersVariableName] !== undefined)
+
+  function loadParameter(parameterName: string | undefined) {
+    if (parameterName === undefined) return
+
+    goto(
+      newSimulationUrl({
+        ...displayMode,
+        parameterName: undefined,
+        parametersVariableName: parameterName,
+        tab: "dispositif",
+      }),
+      { noScroll: true },
+    )
+  }
+
+  $: loadParameter($searchParameterName)
+
+  let testCasesBtnHeight = 0
 </script>
 
 <svelte:window bind:innerWidth={windowInnerWidth} on:keydown={onKeyDown} />
@@ -691,7 +758,10 @@
   <title>Calculs | {data.title}</title>
 </svelte:head>
 
-<main class="fond flex h-full flex-1 overflow-x-clip md:overflow-hidden">
+<main
+  class="fond flex h-full flex-1 overflow-x-clip after:absolute after:inset-0 after:z-10 after:bg-[rgba(0,0,0,.3)] after:transition-all md:overflow-hidden"
+  class:after:content-none={!$isSearchActive}
+>
   <div
     class="flex flex-[1_0_100%] flex-col overflow-x-clip transition-transform duration-500 ease-in-out-quart md:overflow-hidden"
     class:!translate-x-[-33.3%]={displayMode.edit !== undefined}
@@ -758,66 +828,137 @@
     <div class="flex flex-1 overflow-x-hidden">
       <!-- Panneau de gauche les zones éditables par l'utilisateur (amendement)-->
       <div
-        class="flex flex-[1_0_100%] overflow-y-scroll bg-white shadow-lg transition-transform duration-500 ease-in-out-quart md:z-10 md:!h-full md:flex-[1_0_33.3%] md:translate-x-0 md:overflow-visible"
+        class="flex flex-[1_0_100%] overflow-y-scroll bg-white shadow-lg transition-transform duration-500 ease-in-out-quart md:z-10 md:!h-full md:flex-[1_0_33.3%] md:translate-x-0 md:overflow-visible md:!p-0"
         class:translate-x-[-100%]={!displayMode.mobileLaw}
         class:!h-[calc(100vh-96px)]={!displayMode.mobileLaw}
+        style:padding-bottom="{$testCasesIndex.length === 1 &&
+        displayMode.parametersVariableName === undefined
+          ? testCasesBtnHeight + 40
+          : 0}px"
         id="situation_left_part_law"
       >
         <div class="flex min-h-full w-full flex-col">
+          <!-- Header (fixed) -->
           <div
-            class="hidden items-center justify-between border-b border-black px-5 pb-3 pt-5 md:flex"
+            class="mx-5 flex items-center justify-between border-b border-black pb-3 pt-5 md:m-0 md:px-5"
           >
+            <!-- Titre -->
             <h1 class="flex text-2xl font-bold text-black">
-              Modifier le droit en vigueur
+              {#if (displayMode.parametersVariableName !== undefined && $decompositionByName[displayMode.parametersVariableName] !== undefined) || displayMode.parameterName}
+                Modifier le droit en vigueur
+              {:else}
+                Sélectionner un dispositif
+              {/if}
             </h1>
 
-            <button
-              class="mx-4 flex h-8 grow-0 items-center rounded-md bg-le-jaune px-2 py-1 text-sm uppercase text-black shadow-md hover:bg-le-jaune-dark hover:text-white focus:outline-none md:mx-0"
-              class:!bg-gray-200={Object.keys($parametricReform).length === 0}
-              class:!text-gray-500={Object.keys($parametricReform).length === 0}
-              class:!shadow-none={Object.keys($parametricReform).length === 0}
-              class:!cursor-default={Object.keys($parametricReform).length ===
-                0}
-              class:bg-le-jaune-dark={modificationsOpen}
-              class:text-white={modificationsOpen}
-              on:click={Object.keys($parametricReform).length > 0
-                ? () => {
-                    modificationsOpen = !modificationsOpen
-                  }
-                : undefined}
+            <!-- DESKTOP - Modifications en cours -->
+            <div class="hidden md:block">
+              <button
+                class="mx-4 flex h-8 grow-0 items-center rounded-md bg-le-jaune px-2 py-1 text-sm uppercase text-black shadow-md hover:bg-le-jaune-dark hover:text-white focus:outline-none md:mx-0"
+                class:!bg-gray-200={Object.keys($parametricReform).length === 0}
+                class:!text-gray-500={Object.keys($parametricReform).length ===
+                  0}
+                class:!shadow-none={Object.keys($parametricReform).length === 0}
+                class:!cursor-default={Object.keys($parametricReform).length ===
+                  0}
+                class:bg-le-jaune-dark={modificationsOpen}
+                class:text-white={modificationsOpen}
+                on:click={Object.keys($parametricReform).length > 0
+                  ? () => {
+                      modificationsOpen = !modificationsOpen
+                    }
+                  : undefined}
+              >
+                {Object.keys($parametricReform).length === 0
+                  ? "Aucune modification"
+                  : Object.keys($parametricReform).length === 1
+                  ? "1 modification"
+                  : `${Object.keys($parametricReform).length} modifications`}
+              </button>
+
+              {#if modificationsOpen}
+                <!--
+                    Dropdown menu
+
+                    Entering: "transition ease-out duration-100"
+                      From: "opacity-0 scale-95"
+                      To: "opacity-100 scale-100"
+                    Leaving: "transition ease-in duration-75"
+                      From: "opacity-100 scale-100"
+                      To: "opacity-0 scale-95"
+                  -->
+                <div
+                  class="absolute left-80 top-0 z-50 mr-6 mt-14 w-64 rounded bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none"
+                  role="menu"
+                  aria-orientation="vertical"
+                  aria-labelledby="user-menu"
+                >
+                  <button
+                    class="ml-4 h-10 place-self-start text-sm uppercase text-gray-600 hover:text-black"
+                    on:click={() => {
+                      reset()
+                      modificationsOpen = false
+                    }}
+                    title="Retirer les modifications de votre réforme"
+                  >
+                    <iconify-icon
+                      class="mr-1 align-[-0.2rem] text-lg"
+                      icon="ri:refresh-line"
+                    />
+                    Réinitialiser
+                  </button>
+                  <ReformsChanges
+                    {displayMode}
+                    on:click={() => (modificationsOpen = false)}
+                  />
+                </div>
+              {/if}
+            </div>
+          </div>
+
+          <!-- MOBILE - Modifications en cours -->
+          {#if billName !== undefined}
+            <div
+              class="mx-5 flex flex-col rounded-b border bg-gray-200 px-2 py-1 shadow-md md:hidden"
             >
-              {Object.keys($parametricReform).length === 0
-                ? "Aucune modification"
-                : Object.keys($parametricReform).length === 1
-                ? "1 paramètre modifié"
-                : `${
-                    Object.keys($parametricReform).length
-                  } paramètres modifiés`}
-            </button>
-
-            {#if modificationsOpen}
-              <!--
-                  Dropdown menu
-
-                  Entering: "transition ease-out duration-100"
-                    From: "opacity-0 scale-95"
-                    To: "opacity-100 scale-100"
-                  Leaving: "transition ease-in duration-75"
-                    From: "opacity-100 scale-100"
-                    To: "opacity-0 scale-95"
-                -->
-              <div
-                class="absolute left-80 top-0 z-50 mr-6 mt-14 w-64 rounded bg-white shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none"
-                role="menu"
-                aria-orientation="vertical"
-                aria-labelledby="user-menu"
+              <button
+                class="place-self-start text-lg font-light"
+                on:click={() => {
+                  modificationsOpen = !modificationsOpen
+                }}
               >
+                {#if !modificationsOpen}
+                  <iconify-icon
+                    class="mr-1 align-[-0.2rem] text-lg"
+                    icon="ri:arrow-down-s-line"
+                  />
+                {:else}
+                  <iconify-icon
+                    class="mr-1 align-[-0.2rem] text-lg"
+                    icon="ri:arrow-up-s-line"
+                  />
+                {/if}
+
+                Modifications en cours
+                {#if Object.keys($parametricReform).length !== 0 && displayMode.mobileLaw}
+                  <iconify-icon
+                    class="align-[0.1rem] text-sm text-le-jaune"
+                    icon="ri-checkbox-blank-circle-fill"
+                  />
+                {/if}
+                {#if $billName !== undefined && Object.keys($billName).length !== 0 && displayMode.mobileLaw}
+                  <iconify-icon
+                    class="align-[0.1rem] text-sm text-le-rouge-bill"
+                    icon="ri-checkbox-blank-circle-fill"
+                  />
+                {/if}
+              </button>
+
+              {#if modificationsOpen}
+                <ReformsChanges {displayMode} />
                 <button
-                  class="ml-4 h-10 place-self-start text-sm uppercase text-gray-600 hover:text-black"
-                  on:click={() => {
-                    reset()
-                    modificationsOpen = false
-                  }}
+                  class="place-self-end text-sm uppercase text-gray-600 hover:text-black"
+                  on:click={reset}
                   title="Retirer les modifications de votre réforme"
                 >
                   <iconify-icon
@@ -826,13 +967,110 @@
                   />
                   Réinitialiser
                 </button>
-                <ReformsChanges {displayMode} />
+              {/if}
+            </div>
+          {/if}
+
+          <!-- Content -->
+          <div class="w-full overflow-y-scroll bg-white p-4">
+            <!-- Vue par défaut - choix de dispositifs -->
+            {#if displayMode.parametersVariableName === undefined && displayMode.parameterName === undefined}
+              <div class="grid grid-cols-1 gap-8 text-center sm:grid-cols-2">
+                {#each dispositifsTypes as dispositifType}
+                  <div
+                    class="flex flex-col items-center justify-between gap-4 rounded-lg border bg-white p-5 shadow-md"
+                  >
+                    <h3
+                      class="mb-2 text-xl font-bold sm:text-base lg:text-xl 2xl:text-xl"
+                    >
+                      {dispositifType.title}
+                    </h3>
+                    <img
+                      class="max-h-24"
+                      src={dispositifType.icon}
+                      alt="Pictogramme représentant une feuille d'impôt"
+                    />
+                    <div class="flex gap-2 md:flex-col">
+                      {#if dispositifType.foyer !== undefined}
+                        <a
+                          class="inline-flex justify-between gap-2 rounded-lg border-2 border-le-bleu p-2 px-5 text-center text-base uppercase tracking-wide text-le-bleu shadow-md hover:border-blue-900 hover:bg-blue-900 hover:text-white"
+                          href={newSimulationUrl({
+                            ...displayMode,
+                            ...dispositifType.foyer,
+                            tab: "dispositif"
+                          })}
+                        >
+                          <span>Foyer</span>
+                          <PictoFemme />
+                        </a>
+                      {/if}
+                      {#if dispositifType.budget !== undefined}
+                        <a
+                          class="inline-flex justify-between gap-2 rounded-lg border-2 border-le-bleu p-2 px-5 text-center text-base uppercase tracking-wide text-le-bleu shadow-md hover:border-blue-900 hover:bg-blue-900 hover:text-white"
+                          href={newSimulationUrl({
+                            ...displayMode,
+                            ...dispositifType.budget,
+                          })}
+                        >
+                          <span>Budget</span>
+                          <PictoEtat />
+                        </a>
+                      {/if}
+                    </div>
+                  </div>
+                {/each}
               </div>
-            {/if}
-          </div>
-          <!--Partie I Paramètres de la loi-->
-          <div class="w-full overflow-y-scroll bg-white p-5">
-            {#if displayMode.parameterName !== undefined}
+              <!-- Vue modification de la loi -->
+            {:else if displayMode.parametersVariableName !== undefined && displayMode.parameterName === undefined}
+              <div class="mb-5 flex flex-col gap-2">
+                <div class="flex justify-end">
+                  <button
+                    class="text-sm uppercase text-gray-600 hover:text-black"
+                    on:click={closeParametersEditionPane}
+                    >Changer de dispositif<iconify-icon
+                      class="ml-1 align-[-0.23rem] text-lg"
+                      icon="ri-arrow-up-line"
+                    />
+                  </button>
+                </div>
+                {#if displayMode.parametersVariableName === "csg_deductible_salaire" || displayMode.parametersVariableName === "csg_imposable_salaire"}
+                  <div class="flex justify-end">
+                    <a
+                      class="flex items-center text-sm uppercase text-gray-600 hover:text-black"
+                      href={newSimulationUrl({
+                        ...displayMode,
+                        parametersVariableName:
+                          displayMode.parametersVariableName ===
+                          "csg_deductible_salaire"
+                            ? "csg_imposable_salaire"
+                            : "csg_deductible_salaire",
+                      })}
+                    >
+                      <span>
+                        {#if displayMode.parametersVariableName === "csg_deductible_salaire"}
+                          CSG - part imposable
+                        {:else}
+                          CSG - part déductible
+                        {/if}
+                      </span>
+                      <iconify-icon
+                        class="ml-1 align-[-0.2rem] text-lg"
+                        icon="ri-arrow-right-line"
+                      />
+                    </a>
+                  </div>
+                {/if}
+              </div>
+
+              <div class="flex-1 overflow-y-auto bg-white">
+                <VariableReferredParameters
+                  date={$date}
+                  {displayMode}
+                  name={displayMode.parametersVariableName}
+                />
+              </div>
+              <!-- Vue modification d'un paramètre -->
+            {:else}
               <!-- Bouton de fermeture du dispositif en cours - DESKTOP -->
               <div class="mx-5 mb-2 hidden justify-end md:flex">
                 <button
@@ -869,230 +1107,6 @@
                   />
                 </div>
               </div>
-            {:else if displayMode.parametersVariableName !== undefined}
-              <div class="hidden justify-end md:flex">
-                <button
-                  class="text-sm uppercase text-gray-600 hover:text-black"
-                  on:click={closeParametersEditionPane}
-                  >Changer de dispositif<iconify-icon
-                    class="ml-1 align-[-0.23rem] text-lg"
-                    icon="ri-arrow-up-line"
-                  />
-                </button>
-              </div>
-              {#if displayMode.parametersVariableName === "csg_deductible_salaire"}
-                <div class="mx-5 mb-2 hidden justify-end md:flex">
-                  <a
-                    class="text-sm uppercase text-gray-600 hover:text-black"
-                    href={newSimulationUrl({
-                      ...displayMode,
-                      parametersVariableName: "csg_imposable_salaire",
-                    })}
-                  >
-                    CSG - part imposable<iconify-icon
-                      class="ml-1 align-[-0.23rem] text-lg"
-                      icon="ri-arrow-right-line"
-                    />
-                  </a>
-                </div>
-              {:else if displayMode.parametersVariableName === "csg_imposable_salaire"}
-                <div class="mx-5 mb-2 hidden justify-end md:flex">
-                  <a
-                    class="flex items-center text-sm uppercase text-gray-600 hover:text-black"
-                    href={newSimulationUrl({
-                      ...displayMode,
-                      parametersVariableName: "csg_deductible_salaire",
-                    })}
-                  >
-                    CSG - part déductible<iconify-icon
-                      class="ml-1 align-[-0.2rem] text-lg"
-                      icon="ri-arrow-right-line"
-                    />
-                  </a>
-                </div>
-              {/if}
-
-              <div class="flex-1 overflow-y-auto">
-                <h1
-                  class="flex border-b border-black pb-3 text-2xl font-bold text-black md:hidden"
-                >
-                  Modifier le droit en vigueur
-                </h1>
-                <!--Partie II modification de la loi - MOBILE-->
-                <div class="flex flex-col md:hidden">
-                  {#if billName !== undefined}
-                    <div
-                      class="flex flex-col rounded-b border bg-gray-200 px-2 py-1 shadow-md"
-                    >
-                      <button
-                        class="place-self-start text-lg font-light"
-                        on:click={() => {
-                          modificationsOpen = !modificationsOpen
-                        }}
-                      >
-                        {#if !modificationsOpen}
-                          <iconify-icon
-                            class="mr-1 align-[-0.2rem] text-lg"
-                            icon="ri:arrow-down-s-line"
-                          />
-                        {:else}
-                          <iconify-icon
-                            class="mr-1 align-[-0.2rem] text-lg"
-                            icon="ri:arrow-up-s-line"
-                          />
-                        {/if}
-
-                        Modifications en cours
-                        {#if Object.keys($parametricReform).length !== 0 && displayMode.mobileLaw}
-                          <iconify-icon
-                            class="align-[0.1rem] text-sm text-le-jaune"
-                            icon="ri-checkbox-blank-circle-fill"
-                          />
-                        {/if}
-                        {#if $billName !== undefined && Object.keys($billName).length !== 0 && displayMode.mobileLaw}
-                          <iconify-icon
-                            class="align-[0.1rem] text-sm text-le-rouge-bill"
-                            icon="ri-checkbox-blank-circle-fill"
-                          />
-                        {/if}
-                      </button>
-
-                      {#if modificationsOpen}
-                        <ReformsChanges {displayMode} />
-                        <button
-                          class="place-self-end text-sm uppercase text-gray-600 hover:text-black"
-                          on:click={reset}
-                          title="Retirer les modifications de votre réforme"
-                        >
-                          <iconify-icon
-                            class="mr-1 align-[-0.2rem] text-lg"
-                            icon="ri:refresh-line"
-                          />
-                          Réinitialiser
-                        </button>
-                      {/if}
-                    </div>
-                  {/if}
-
-                  <button
-                    class="mx-3 place-self-end py-3 text-sm uppercase text-gray-600 hover:text-black"
-                    on:click={closeParametersEditionPane}
-                    >Changer de dispositif<iconify-icon
-                      class="ml-1 align-[-0.2rem] text-lg"
-                      icon="ri-arrow-up-line"
-                    /></button
-                  >
-                </div>
-
-                {#if displayMode.parametersVariableName === "csg_deductible_salaire"}
-                  <div class="mx-3 mb-2 flex justify-end md:hidden">
-                    <a
-                      class="text-sm uppercase text-gray-600 hover:text-black"
-                      href={newSimulationUrl({
-                        ...displayMode,
-                        parametersVariableName: "csg_imposable_salaire",
-                      })}
-                    >
-                      CSG - part imposable<iconify-icon
-                        class="ml-1 align-[-0.23rem] text-lg"
-                        icon="ri-arrow-right-line"
-                      />
-                    </a>
-                  </div>
-                {:else if displayMode.parametersVariableName === "csg_imposable_salaire"}
-                  <div class="mx-3 mb-2 flex justify-end md:hidden">
-                    <a
-                      class="text-sm uppercase text-gray-600 hover:text-black"
-                      href={newSimulationUrl({
-                        ...displayMode,
-                        parametersVariableName: "csg_deductible_salaire",
-                      })}
-                    >
-                      CSG - part déductible<iconify-icon
-                        class="ml-1 align-[-0.23rem] text-lg"
-                        icon="ri-arrow-right-line"
-                      />
-                    </a>
-                  </div>
-                {/if}
-
-                <div class="bg-white">
-                  <VariableReferredParameters
-                    date={$date}
-                    {displayMode}
-                    name={displayMode.parametersVariableName}
-                  />
-                </div>
-              </div>
-            {:else}
-              <div class="flex-1">
-                <h1
-                  class="flex border-b border-black pb-3 text-2xl font-bold text-black md:hidden"
-                >
-                  Modifier le droit en vigueur
-                </h1>
-                <!--Partie II modification de la loi - MOBILE - vue choisir un dispositif -->
-                {#if billName !== undefined}
-                  <div
-                    class="mb-3 flex flex-col rounded-b border bg-gray-200 px-2 py-1 shadow-md md:hidden"
-                  >
-                    <button
-                      class="place-self-start text-lg font-light"
-                      on:click={() => {
-                        modificationsOpen = !modificationsOpen
-                      }}
-                    >
-                      {#if !modificationsOpen}
-                        <iconify-icon
-                          class="mr-1 align-[-0.2rem] text-lg"
-                          icon="ri:arrow-down-s-line"
-                        />
-                      {:else}
-                        <iconify-icon
-                          class="mr-1 align-[-0.2rem] text-lg"
-                          icon="ri:arrow-up-s-line"
-                        />
-                      {/if}
-
-                      Modifications en cours
-                      {#if Object.keys($parametricReform).length !== 0 && displayMode.mobileLaw}
-                        <iconify-icon
-                          class="align-[0.1rem] text-sm text-le-jaune"
-                          icon="ri-checkbox-blank-circle-fill"
-                        />
-                      {/if}
-                      {#if $billName !== undefined && Object.keys($billName).length !== 0 && displayMode.mobileLaw}
-                        <iconify-icon
-                          class="align-[0.1rem] text-sm text-le-rouge-bill"
-                          icon="ri-checkbox-blank-circle-fill"
-                        />
-                      {/if}
-                    </button>
-
-                    {#if modificationsOpen}
-                      <div>
-                        <ReformsChanges {displayMode} />
-                      </div>
-                      <button
-                        class="place-self-end text-sm uppercase text-gray-600 hover:text-black"
-                        on:click={reset}
-                        title="Retirer les modifications de votre réforme"
-                      >
-                        <iconify-icon
-                          class="mr-1 align-[-0.2rem] text-lg"
-                          icon="ri:refresh-line"
-                        />
-                        Réinitialiser
-                      </button>
-                    {/if}
-                  </div>
-                {/if}
-                <Search
-                  {displayMode}
-                  searchMode={SearchMode.variables}
-                  showOnlyWaterfallVariables={true}
-                />
-              </div>
             {/if}
           </div>
         </div>
@@ -1130,68 +1144,7 @@
 
           <!--Affichage du titre "impacts" et onglets de choix cas types ou budget-->
 
-          {#if displayMode.parametersVariableName !== undefined && budgetVariablesName.has(displayMode.parametersVariableName)}
-            <div class="flex items-center justify-center md:justify-start">
-              <a
-                data-sveltekit-noscroll
-                href={newSimulationUrl({
-                  ...displayMode,
-                  budget: undefined,
-                })}
-              >
-                <div
-                  class="flex h-14 items-center border-b-4 border-transparent px-3 pb-1 text-2xl text-black"
-                  class:!border-black={!displayMode.budget}
-                >
-                  <span
-                    class="hidden tracking-wide sm:flex"
-                    class:text-black={!displayMode.budget}
-                    class:font-bold={!displayMode.budget}
-                    class:hover:text-le-bleu={displayMode.budget}
-                  >
-                    Impact cas type
-                  </span>
-                  <span
-                    class="flex tracking-wide sm:hidden"
-                    class:text-black={!displayMode.budget}
-                    class:font-bold={!displayMode.budget}
-                    class:hover:text-le-bleu={displayMode.budget}
-                  >
-                    Cas type
-                  </span>
-                </div>
-              </a>
-              <a
-                data-sveltekit-noscroll
-                href={newSimulationUrl({
-                  ...displayMode,
-                  budget: true,
-                })}
-              >
-                <div
-                  class="flex h-14 items-center border-b-4 border-transparent px-3 pb-1 text-2xl text-black"
-                  class:!border-black={displayMode.budget}
-                >
-                  <span
-                    class="hidden tracking-wide sm:flex"
-                    class:text-black={displayMode.budget}
-                    class:font-bold={displayMode.budget}
-                    class:hover:text-le-bleu={!displayMode.budget}
-                  >
-                    Impact budgétaire
-                  </span>
-                  <span
-                    class="flex tracking-wide sm:hidden"
-                    class:text-black={displayMode.budget}
-                    class:font-bold={displayMode.budget}
-                    class:hover:text-le-bleu={!displayMode.budget}
-                  >
-                    Budget
-                  </span>
-                </div>
-              </a>
-            </div>
-          {:else if displayMode.parametersVariableName === undefined}
+          {#if displayMode.parametersVariableName === undefined || (displayMode.parametersVariableName !== undefined && budgetVariablesName.has(displayMode.parametersVariableName))}
             <div class="flex items-center justify-center md:justify-start">
               <a
                 data-sveltekit-noscroll
@@ -1235,7 +1188,6 @@
                 >
                   <span
                     class="hidden tracking-wide sm:flex"
-                    class:text-black={displayMode.budget}
                     class:font-bold={displayMode.budget}
                     class:hover:text-le-bleu={!displayMode.budget}
                   >
@@ -1243,7 +1195,6 @@
                   </span>
                   <span
                     class="flex tracking-wide sm:hidden"
-                    class:text-black={displayMode.budget}
                     class:font-bold={displayMode.budget}
                     class:hover:text-le-bleu={!displayMode.budget}
                   >
@@ -1256,18 +1207,16 @@
             <div>
               <h2 class="flex">
                 <div
-                  class="flex h-14 items-center border-b-4 border-black px-3 text-2xl text-black sm:text-3xl md:px-1 md:text-xl lg:px-2 lg:text-2xl xl:px-3 xl:text-3xl"
+                  class="flex h-14 items-center border-b-4 border-black px-3 pb-1 text-2xl text-black"
                 >
-                  <span class="pb-2 font-bold tracking-wide text-black">
-                    Impact cas type
-                  </span>
+                  <span class="font-bold tracking-wide"> Impact cas type </span>
                 </div>
 
                 <div
                   id="onglet-impact-budgetaire"
-                  class="flex h-14 items-center px-3 pb-1 text-2xl text-black sm:text-3xl md:px-1 md:text-xl lg:px-2 lg:text-2xl xl:px-3 xl:text-3xl"
+                  class="flex h-14 items-center border-b-4 border-transparent px-3 pb-1 text-2xl text-black"
                 >
-                  <span class="pb-2 tracking-wide text-gray-300">
+                  <span class="tracking-wide text-gray-300">
                     Impact budgétaire
                   </span>
                 </div>
@@ -1300,7 +1249,13 @@
           {/if}
         </div>
         <!--Impacts-->
-        <div class="px-0 md:mb-4 md:px-6 lg:px-8">
+        <div
+          class="px-0 md:mb-4 md:px-6 lg:px-8"
+          style:padding-bottom="{$testCasesIndex.length === 1 &&
+          displayMode.parametersVariableName === undefined
+            ? testCasesBtnHeight + 40
+            : 0}px"
+        >
           {#if displayMode.budget && displayMode.parametersVariableName !== undefined && budgetVariablesName.has(displayMode.parametersVariableName)}
             {#if user === undefined}
               <div class="mx-5 my-10 flex flex-col justify-center md:mx-10">
@@ -1473,6 +1428,8 @@
                   $testCasesIndex[0]
                 ]}
                 year={$year}
+                {defaultTab}
+                {tabs}
               />
             {:else}
               <TestCaseCompareView
@@ -1491,17 +1448,7 @@
             {/if}
 
             {#if $testCasesIndex.length === 1}
-              {#if displayMode.parametersVariableName === undefined}
-                <button
-                  class="mx-4 mb-3 flex h-8 grow-0 items-center rounded-md bg-gray-300 px-2 py-1 text-sm uppercase text-black shadow-md hover:bg-le-bleu hover:text-white focus:outline-none md:mx-0"
-                  on:click={() => (isTestCaseSelectModalOpen = true)}
-                  title="Choisir un cas type"
-                  ><iconify-icon
-                    class="mr-1 align-[-0.2rem] text-lg"
-                    icon="ri-user-search-fill"
-                  />Autres cas types</button
-                >
-              {:else}
+              {#if displayMode.parametersVariableName !== undefined}
                 {@const variableSummary =
                   $billName === undefined
                     ? variableSummaryByName[displayMode.parametersVariableName]
@@ -1510,7 +1457,7 @@
                       ]}
 
                 <h2 class="text-2xl">
-                  Situations types pour analyser le paramètre "{variableSummary.short_label ??
+                  Situations types pour analyser le dispositif "{variableSummary.short_label ??
                     variableSummary.label ??
                     displayMode.parametersVariableName}" :
                 </h2>
@@ -1614,6 +1561,7 @@
       {/if}
     </div>
   </div>
+
   <!--Bouton flottant mobile pour fermer volet édition du cas type-->
   <button
     bind:clientHeight={validateBtnHeight}
@@ -1628,6 +1576,102 @@
       icon="ri-check-fill"
     />
   </button>
+
+  <!-- Bouton flottant "Situations types" -->
+  <!--{#if displayMode.tab === "fiche_de_paie" || (displayMode.tab === undefined && defaultTab === "fiche_de_paie")}-->
+  {#if $testCasesIndex.length === 1 && displayMode.parametersVariableName === undefined}
+    <button
+      class="fixed bottom-5 right-5 flex items-center gap-3 rounded-lg border bg-white px-4 py-3 shadow-lg hover:bg-gray-50 active:bg-gray-100 md:bottom-10 md:right-10"
+      on:click={() => (isTestCaseSelectModalOpen = true)}
+      bind:clientHeight={testCasesBtnHeight}
+    >
+      <div>
+        <p class="text-start text-xl">Cas types</p>
+        <p class="text-start text-sm">Cliquer pour choisir</p>
+      </div>
+      <div class="flex flex-col items-center">
+        <div class="flex h-[7px] w-[80%] rounded-t border bg-gray-100" />
+        <div
+          class="mt-[-1px] flex h-[8px] w-[90%] rounded-t border bg-gray-100"
+        />
+        <div
+          class="mt-[-1px] flex rounded border"
+          style="background: linear-gradient(to bottom, #f5f5f5 50%, white 50%);"
+        >
+          <svg
+            width="50"
+            height="50"
+            viewBox="0 0 268 268"
+            fill="none"
+            xmlns="http://www.w3.org/2000/svg"
+          >
+            <path
+              d="M239.691 136.889C241.643 135.453 243.23 133.578 244.326 131.417C245.422 129.256 245.995 126.867 246 124.444C245.993 121.261 245.008 118.158 243.178 115.553C241.349 112.949 238.763 110.97 235.771 109.884C238.339 107.056 239.767 103.376 239.778 99.5553C239.778 95.4297 238.139 91.4731 235.222 88.5558C232.304 85.6386 228.348 83.9997 224.222 83.9997L224.148 84.0059C226.12 81.3988 227.333 78.1882 227.333 74.6664C226.5 71 225.917 69.4172 223 66.5C220.083 63.5828 212.626 64.5 208.5 64.5C204.81 64.5137 204.525 60.4601 201.735 62.8753C184.437 41.7695 160.108 63.6678 134 63.6678C107.282 63.6678 82.424 40.637 65.064 61.8859C62.7308 60.274 60.8306 66.7969 58 66.624C55.1694 66.4511 55.5 63.6678 55.5 63.6678C55.5 63.6678 51.5 61.8859 46 65.5C42.6144 67.7247 40.6699 71.8305 40.6667 74.6664C40.6667 78.1882 41.88 81.3988 43.8524 84.0059L43.7778 83.9997C39.6522 83.9997 35.6956 85.6386 32.7783 88.5558C29.8611 91.4731 28.2222 95.4297 28.2222 99.5553C28.2222 103.538 29.7653 107.134 32.2293 109.884C29.2373 110.97 26.6513 112.949 24.8216 115.553C22.9919 118.158 22.0069 121.261 22 124.444C22 129.559 24.5013 134.051 28.3093 136.889C26.3574 138.325 24.7697 140.199 23.6739 142.36C22.5781 144.521 22.0047 146.91 22 149.333C22 156.041 26.2747 161.709 32.2293 163.893C29.6611 166.721 28.2333 170.402 28.2222 174.222C28.2222 181.882 33.7724 188.216 41.0587 189.504C40.8047 190.614 40.6733 191.749 40.6667 192.889C40.6667 197.014 42.3056 200.971 45.2228 203.888C48.14 206.805 52.0966 208.444 56.2222 208.444C60.0425 208.433 63.7229 207.005 66.5511 204.437C67.6367 207.429 69.6157 210.015 72.2201 211.845C74.8244 213.674 77.9283 214.659 81.1111 214.666C84.9314 214.655 88.6118 213.227 91.44 210.659C92.5256 213.651 94.5046 216.237 97.109 218.067C99.7133 219.897 102.817 220.882 106 220.889C109.642 220.886 113.167 219.603 115.96 217.265C118.752 214.926 120.634 211.681 121.276 208.096C125.463 208.307 129.694 208.444 134 208.444C138.3 208.444 142.524 208.251 146.712 207.959C147.324 211.572 149.195 214.851 151.993 217.218C154.791 219.584 158.336 220.884 162 220.889C165.183 220.882 168.287 219.897 170.891 218.067C173.495 216.237 175.474 213.651 176.56 210.659C179.388 213.227 183.069 214.655 186.889 214.666C190.072 214.659 193.176 213.674 195.78 211.845C198.384 210.015 200.363 207.429 201.449 204.437C204.277 207.005 207.958 208.433 211.778 208.444C215.903 208.444 219.86 206.805 222.777 203.888C225.694 200.971 227.333 197.014 227.333 192.889C227.333 191.725 227.184 190.599 226.941 189.504C230.535 188.871 233.792 186.992 236.139 184.198C238.486 181.403 239.775 177.871 239.778 174.222C239.767 170.402 238.339 166.721 235.771 163.893C238.763 162.807 241.349 160.828 243.178 158.224C245.008 155.62 245.993 152.516 246 149.333C246 144.218 243.499 139.726 239.691 136.889Z"
+              fill="#FFAC33"
+              class="s-y_bCXRrkrYfP"
+            />
+            <path
+              d="M59.333 137.496C59.333 84.4455 92.765 41.4375 134 41.4375C175.234 41.4375 208.666 84.4455 208.666 137.496C208.666 190.547 175.234 233.555 134 233.555C92.765 233.555 59.333 190.547 59.333 137.496Z"
+              fill="#FFDC5D"
+              class="s-y_bCXRrkrYfP"
+            />
+            <path
+              d="M134 208.666C119.397 208.666 111.756 201.448 110.934 200.62C110.353 200.047 109.89 199.364 109.572 198.612C109.254 197.859 109.087 197.051 109.081 196.234C109.075 195.417 109.231 194.607 109.538 193.85C109.845 193.093 110.299 192.404 110.872 191.822C111.446 191.24 112.128 190.777 112.881 190.459C113.634 190.141 114.442 189.975 115.259 189.969C116.075 189.963 116.886 190.118 117.643 190.426C118.4 190.733 119.089 191.186 119.67 191.76C119.988 192.052 124.686 196.221 134 196.221C143.452 196.221 148.143 191.928 148.342 191.748C149.537 190.628 151.123 190.02 152.76 190.054C154.397 190.088 155.956 190.76 157.103 191.928C158.242 193.09 158.876 194.655 158.869 196.282C158.862 197.909 158.214 199.468 157.066 200.62C156.245 201.448 148.604 208.666 134 208.666Z"
+              fill="#C1694F"
+              class="s-y_bCXRrkrYfP"
+            />
+            <path
+              d="M140.222 177.556H127.778C126.128 177.556 124.545 176.9 123.378 175.733C122.211 174.566 121.556 172.984 121.556 171.334C121.556 169.683 122.211 168.101 123.378 166.934C124.545 165.767 126.128 165.111 127.778 165.111H140.222C141.873 165.111 143.455 165.767 144.622 166.934C145.789 168.101 146.445 169.683 146.445 171.334C146.445 172.984 145.789 174.566 144.622 175.733C143.455 176.9 141.873 177.556 140.222 177.556Z"
+              fill="#C1694F"
+              class="s-y_bCXRrkrYfP"
+            />
+            <path
+              d="M102.889 158.889C101.239 158.889 99.6563 158.233 98.4894 157.066C97.3225 155.9 96.667 154.317 96.667 152.667V140.222C96.667 138.572 97.3225 136.989 98.4894 135.822C99.6563 134.656 101.239 134 102.889 134C104.539 134 106.122 134.656 107.289 135.822C108.456 136.989 109.111 138.572 109.111 140.222V152.667C109.111 154.317 108.456 155.9 107.289 157.066C106.122 158.233 104.539 158.889 102.889 158.889ZM165.111 158.889C163.461 158.889 161.879 158.233 160.712 157.066C159.545 155.9 158.889 154.317 158.889 152.667V140.222C158.889 138.572 159.545 136.989 160.712 135.822C161.879 134.656 163.461 134 165.111 134C166.762 134 168.344 134.656 169.511 135.822C170.678 136.989 171.334 138.572 171.334 140.222V152.667C171.334 154.317 170.678 155.9 169.511 157.066C168.344 158.233 166.762 158.889 165.111 158.889Z"
+              fill="#662113"
+              class="s-y_bCXRrkrYfP"
+            />
+            <path
+              d="M207.491 80.3462C209.783 78.6202 211.644 76.3864 212.927 73.8203C214.211 71.2541 214.883 68.4253 214.889 65.556C214.889 60.6053 212.922 55.8573 209.422 52.3567C205.921 48.856 201.173 46.8893 196.222 46.8893C193.765 46.8893 191.431 47.3933 189.278 48.2582C188.222 44.3031 185.892 40.8064 182.648 38.3093C179.404 35.8123 175.427 34.454 171.333 34.4449C168.12 34.4651 164.967 35.323 162.187 36.9338C160.513 34.2698 158.191 32.0736 155.438 30.5503C152.685 29.0269 149.591 28.2261 146.445 28.2227C141.641 28.2227 137.31 30.0893 134 33.0698C130.599 29.9634 126.162 28.2354 121.556 28.2227C118.409 28.2261 115.315 29.0269 112.562 30.5503C109.809 32.0736 107.488 34.2698 105.813 36.9338C103.033 35.323 99.8802 34.4651 96.6668 34.4449C92.5731 34.454 88.5965 35.8123 85.3526 38.3093C82.1086 40.8064 79.7782 44.3031 78.7219 48.2582C76.5164 47.3609 74.1589 46.8961 71.7779 46.8893C67.7755 46.8917 63.88 48.1805 60.6658 50.5655C57.4517 52.9505 55.0892 56.3053 53.927 60.1352C52.7647 63.9651 52.8641 68.0671 54.2107 71.8361C55.5572 75.6052 58.0795 78.8416 61.4054 81.068C53.5654 92.4795 48.6437 103.848 46.1112 111.445C39.1112 132.445 63.7014 182.49 61.2748 157.72C58.3628 127.928 68.9654 102.248 90.5441 94.4644C91.1103 106.063 101.943 115.334 115.333 115.334C123.061 115.334 129.887 112.185 134.448 107.344C135.485 113.073 138.5 118.256 142.966 121.99C147.432 125.724 153.067 127.772 158.889 127.778C166.822 127.778 173.804 123.995 178.365 118.215C180.605 127.312 187.71 134 196.222 134C206.533 134 214.889 124.25 214.889 112.223C214.867 110.306 214.625 108.397 214.167 106.536C214.597 105.434 214.889 104.246 214.889 102.889C214.889 97.0902 212.481 88.8955 207.491 80.3462Z"
+              fill="#FFAC33"
+              class="s-y_bCXRrkrYfP"
+            />
+            <path
+              d="M219.763 146C219.763 157.046 212.152 166 202.763 166C193.374 166 200.763 159.046 200.763 148C200.763 136.954 200.763 133.5 208.5 128C216 130.5 219.763 134.954 219.763 146Z"
+              fill="#FFDC5D"
+              class="s-y_bCXRrkrYfP"
+            />
+          </svg>
+          <svg
+            width="40"
+            height="40"
+            class="-ml-1"
+            viewBox="0 0 268 268"
+            fill="none"
+            xmlns="http://www.w3.org/2000/svg"
+            ><path
+              d="M219 163.362C219 155.622 214.419 149.176 208.266 147.377C201.844 112.164 171.069 85.4453 134 85.4453C96.9306 85.4453 66.1558 112.164 59.7336 147.377C53.5806 149.176 49 155.622 49 163.362C49 171.56 54.1331 178.322 60.8528 179.616C69.1592 212.322 98.7108 236.556 134 236.556C169.289 236.556 198.841 212.322 207.147 179.616C213.862 178.322 219 171.56 219 163.362Z"
+              fill="#FFDC5D"
+            /><path
+              d="M134 194.056C119.834 194.056 115.111 189.333 115.111 198.778C115.111 208.222 124.556 217.667 134 217.667C143.445 217.667 152.889 208.222 152.889 198.778C152.889 189.333 148.167 194.056 134 194.056Z"
+              fill="#662214"
+            /><path
+              d="M155.25 175.166C161.77 175.166 167.055 169.88 167.055 163.36C167.055 156.84 161.77 151.555 155.25 151.555C148.73 151.555 143.444 156.84 143.444 163.36C143.444 169.88 148.73 175.166 155.25 175.166Z"
+              fill="#662214"
+            /><path
+              d="M112.75 175.166C119.27 175.166 124.555 169.88 124.555 163.36C124.555 156.84 119.27 151.555 112.75 151.555C106.23 151.555 100.944 156.84 100.944 163.36C100.944 169.88 106.23 175.166 112.75 175.166Z"
+              fill="#662214"
+            /><path
+              d="M134 198.777H143.444V203.5C143.444 203.5 143.444 208.222 138.722 208.222C134 208.222 134 203.5 134 203.5V198.777Z"
+              fill="white"
+            /><path
+              d="M133.915 127.945H133.769C131.015 127.96 128.286 127.423 125.743 126.365C123.2 125.308 120.895 123.751 118.965 121.787C117.222 120.027 115.87 117.921 114.994 115.605C114.119 113.289 113.741 110.815 113.884 108.343C113.918 107.724 114.075 107.118 114.345 106.56C114.615 106.002 114.993 105.503 115.457 105.093C115.921 104.682 116.463 104.367 117.049 104.167C117.636 103.967 118.257 103.886 118.875 103.927C121.477 104.083 123.465 106.326 123.309 108.933C123.172 111.27 124.041 113.575 125.684 115.242C126.746 116.327 128.013 117.19 129.412 117.781C130.81 118.372 132.312 118.679 133.83 118.684C136.914 118.514 139.827 117.518 142.023 115.355C144.967 112.443 146.635 108.484 146.664 104.343C146.692 100.203 145.078 96.221 142.174 93.2693C138.314 89.3655 133.062 87.1523 127.572 87.1151C122.081 87.0779 116.801 89.2198 112.887 93.071C112.446 93.5063 111.923 93.8504 111.348 94.0836C110.774 94.3168 110.159 94.4346 109.539 94.4302C108.287 94.4214 107.089 93.9154 106.21 93.0237C105.331 92.132 104.842 90.9276 104.851 89.6753C104.86 88.4231 105.365 87.2257 106.257 86.3465C111.956 80.7407 119.645 77.6236 127.639 77.6784C135.632 77.7333 143.278 80.9558 148.899 86.6393C151.206 88.9755 153.03 91.7435 154.266 94.7851C155.503 97.8267 156.127 101.082 156.104 104.365C156.082 107.649 155.412 110.895 154.133 113.919C152.855 116.943 150.993 119.686 148.653 121.99C144.706 125.89 139.469 127.945 133.915 127.945V127.945Z"
+              fill="#FFAC33"
+            /></svg
+          >
+        </div>
+      </div>
+    </button>
+  {/if}
 </main>
 
 <style>
diff --git a/static/illustration-exoneration-tode.png b/static/illustration-exoneration-tode.png
new file mode 100644
index 0000000000000000000000000000000000000000..c2c9e73db95770c115b64dddcbb59789a77001cd
GIT binary patch
literal 16461
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
D-fe;a

literal 0
HcmV?d00001

diff --git a/static/illustration-pepa.png b/static/illustration-pepa.png
new file mode 100644
index 0000000000000000000000000000000000000000..e32c769d296facc8e92d53ab4a7dc25056235222
GIT binary patch
literal 19904
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
DBk+OC

literal 0
HcmV?d00001

diff --git a/static/illustration-ticpe.png b/static/illustration-ticpe.png
new file mode 100644
index 0000000000000000000000000000000000000000..6e8412889fcfa2d5608b6ebcb7b0dbe372608386
GIT binary patch
literal 10943
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

literal 0
HcmV?d00001

diff --git a/static/picto-csg.png b/static/picto-csg.png
new file mode 100644
index 0000000000000000000000000000000000000000..274ea5f289e48b7521760a50d8dd7f156222ed77
GIT binary patch
literal 9197
zcmeAS@N?(olHy`uVBq!ia0y~yU^Hf6U@YQbV_;yI8Dl%0fq{Xuz$3Dlfq`2Xgc%uT
z&5>YWU|=i`a(7}_cTVOd0|Ns~x}&cn1H;CC?mvmF3=GOmo-U3d6^w81@=l0Jo%{ad
z|Ccj8XQ)hwJmk&dWR%0Ph-K2=bsTT57BuhHKH(kXxHnvJO~vb7L9F*C36<Yfx>Fh(
zxmIY~mwVCN+WEV?PI0+8dQVnb_$1bxvt>Guq45M3r%8&FQ{pDQd}&u*xBNNJ+?ntE
zzAuUQvw!}3<*ZXn;?G&$efZ~x{rSpy&u1_)P!7)6H2=K&+KMm2y`9nU(!HBElQp6j
z9nukxG8Wsq<j?8a^Yhd9=^A;nDn1iV>Cjw%{_~%&`+n9+-j9Es8hveh`MiC{3>rTt
zE@P1P+Nz)bHE8<peY%DVUbZrRFF2Ny`+Ft#JHwVayqg!k3!lDa%a82>2?a6z&u`B1
zQ7g`_em>K7TEe+jNyWA$TuyK2skF~BPBgpn_tTyb@7LSUeqV2(a4<+S-}UyK%lTVd
z3YE^ZZ7;j~AbqcB$rI+}s!cb~w0f?(G|TGDm7VkRX8wD-z;ovv2A>H_wAN-G*2xK5
z7A41BH#eQ3i|f~=y!l11n)GKqo@I1~!)Srg!OngAbgc^(Uf;Rnyv)^-M7IfylOI<t
zSh}WDAmzZ5pK0BfR=(_?xp<b^84jZdCp0g##lPQmTjq*MqFA4z@`(oJWvl<Q?~31f
zQRcEpZQ9GV>+elE`%9b0;p&pjhr82D=54(vBlz1uIybINx?$BN)<(@@aUC=FBl~7r
z-rB<wkowAA`qjNHhhzj_pUPRWJG)XV)vqj!$?&4Ns`Z7JhYETl!qXfl+)ZN0TKTxa
zxA;+#L(XBJ(3yo_g;wkgIknsI^PIIOw?_GF-Ezb9pz0IlO}|dhH$6~#d|&lK-F@FW
zx>m2Sica*^nU-jF=kC@OQr+5o-`<%VD1E!T|Ihy7(DZ9h62(rZEt|hdn#aMml&5t6
zo+Gm&Vt${QCeg6#)0ym7p|g_3)3TDJWdA$dtz3D<^xBam@igUWu}KV43lG;PpN`26
z+Q_|GZ2ePbwgrlOGBP_a%nJGQ>x|8;84imprp2cCYPE?o{8{$bh>`uwW;M~(2A8=c
z*%l-=bu&DVnA{badd=!QgGtb3zwE44)eH<PEDx=*`cuiqFxerM?Eq(sB!jv@8p9li
z8H@!?iG&24a`KsCcrT~TO=x(1YniXPg<P6<{%>*S2|Omoj24Xs%nw)&@iYi?7&G`O
zoMEsy_;U5k74!B+Z@)1uRD12rIs4v7z5a2yJbG)&<-=xsezKnCd$Zlb(|2~_TJ>`q
zmnfeJm^Ses<Lz%pva;E@Hhd1NxxQ>}#ir27vkX^$-*f(#{QsG$?7wyOqS~xEjJ+#n
ze0^7OdEVcri?`(#PtU#oC+kOf=KR7fXJ^^o?wk8p&-%B&UB+_#UyDC{KPmC*e*XEM
zcgdfBm73kSFK?%|xhdD}_l5H*-wSvAon!R>%c`1bX$u&BKiK|m`?i<v(Yi~P$>zRI
zpP$d{|NoSL{=B0n0?My{3OV&|n^bVY-{0kV+rzK_cfa}G^80!Hjos7hx4lsan6Reu
zgZsA|&Gs_fQ?uSLp7;CZ-7ihHKhN&pw&VASzpGcrP3)X+ml1dS%7^m@@2}hXWwx!D
zxUPHojVs1t(OZ4y?p6rf8L;k1Xj*pD<T%H$mFaaqJtXSp|Gt%*xHP!y(5LzPf2CGe
zZ@IKOMgIK%w6(Rro~>sKz0%J2yGr)_-1xma-v~(WpWi(_KHb~yA7}B=ne%t<Q*%_~
z+Vt@H?l%X#_xFYh3%~cca`jC8?_<~1L{kJ?FXvv5m2GoedHqh|V{t9MO(y~_*n~L9
zuFJY&_$PS7e6MDmdi!5`b%p)X!TUr~-gDMvWu98e{pQ6|`R&`v&l(@`PdfBQ{QI3$
z|LGhHy);<1v0e>VESGUS@Z|S(g^KQ6_t2^H*0;GgzjwWwWgKi8_FAF4A~!haS7p7_
zKbg{J^@c~>m1fOcl_Y2D!@9`t|IcnQ_WE-it5?09Z7$9`Ip*t^)ZJej=lk67-`M4I
zJN}3I|EppwvL6IP<JYsz{n~nO@o_osUx%)2H~sgq{{K1Iuy^SfH?F!Fy(%bVf$U4x
z4!2(yw!hn4l|9q)beow?YDd3IOXNxgYs(k^e|5jk=UM-$SG+Z0<A#f$U-|TltS%4{
zGQachE@$Gx?^)KXHgTD1Z~gl*G3-r+i{dx&>-PoNCfA)`{x;jb_1@|Om&>k(U(b2=
z@8zahUnftUB>RH@*SSZg_jF#)$xoZMYFf!9?G!H7nHo7<trx6s*Oj~}XLZ`RY`N2-
z8)jd2=xO!v%U>*f9^M|<Aa?uQ+48&6a>WaCUmD-5xnAq4AD6NFYKGkP*@xB$M)lW+
z-+1CuV<De*bd}NEKU_1N)aw>r7hRO4&UGrtF+fL0Ig4+etcfG{%exzs-+T`eO<Q^4
z?0x@@52h^td`Pn0JoTMq+mC`>Gk4Y&hhJRfb9Vb-)<~DclBx^rOaHC?X!hq>;qDIx
zhowbI+HX&vwM#y-?rzKR<*bY%nq{q@@7V9(@#df2UcdGFS5&Tjzna5Vp2P2zlg$x(
z)n>;}R%aUv*|b>JL+(ZDUsS_7CqLKMkVwmaepX83*~RL8;@?uIF8V(GmRp^u#l54f
zP8&p6cWOUA{j2W(rn6g*nV3dfrAa<I{L<id%#ulgQ$saF{eEe>`C7E5EIbhT`2llc
z=`se(I}Nv!y1pJiJO9X+C5Ktljc@LLD!O`mtn|FC=JR4i-|gOebhBl;-j>CEcE>J6
z__arV?E8PXf8Bf@)B9b#PND3(>qOE%yU$*mwQriV)=|6DDTgnLt~&F|RdL(vpXs@$
zzARq*nE(8igWI>=e(k?*+se0Z%U&I_H!_)aIdR(k%6aQ;*UPV(rT6ED`eE%kOOKVT
zJaozbO1fz4>|b}iLL-j;+8i^_B(AR{;NvQ%S(Q;=r~T4=_M`Zo{J)mpvN!VA|9!P^
zgOYXPy&C7oma=I_*BP8!7095WQX0B((o3J850`nZy<*Up^jpVuv#6G2(Z`pw|6iMR
z_8jl|E2?LdYWLS4ofq}7b%W9D{a=D+%`iMzl@=<-JK^ezU+G#huNL_Ii?;i@af9=J
z<;QHN{jPmJc=ejsv(96RXRfqd7P8B_G&T9N|2uB+q&4iJ$@+Ky&oww<67l`b|G(e2
z)qidFvFm4?c6MFkof}*B%gP?9+8FBP_~I1H2d|dwiM5~YX8(Su-IR7`-=_P^6Dt4x
zuf6-qvAN{F@h+?5Qx@zGW=>D9`4Gf*;aJ1vsgWC3cSr5`5V6{p_j$mIms%^@N;8^v
z%$jn$J7(sY<qpBZMp90JZ=4#_<aRjJ21d!29sd7!*WPch+jIVHT77tbx7E+9=4QFy
zPHrpzeA;Y7@$S7JkGwKCa_IZKzje3eN{+n#`LlGzg*3LQk3FC3^L|&4+EDoFPixtO
zr}rhL)F+<xS$iz%{OSg-MH!}%fd^K3t_-y?6PM&x=h{+!XidTW8!6MJx+d?Gk4t;M
z`=$ILwK+|1-kh&Lx@>;MsTWhd^f`7F9}nvbEjU?iSG#xbuM4#gAFIa~1V(5seZ9qO
z|Foy?e*9U;9lC7UZo?}}XIjdpN&Wk9Mqhp2o2MaeTSa(p)uu1{d0$j!!s=Dt3zu^<
zulm$fG5f=;!?n|rf;V>gTCLx%al+({V{IT;mwEFl@4u;Bt6n;O{d{Y^|F+5Jc5AG;
zx5)Epu5sVY4R8FTnVF9I^WQ!YynoZgyZI7Qr(YUqi!r<s(Klt-HsOxN#?IT9Hgt9O
zFW78ne({g|+xdBaRyQ#xFE-E)^L+I)=<?F8v)sB@Y|hrke_i;%^7E_L&0eo#qW}KX
zKBV2krDdwy-h6(u_710?MFM$MG4}aA_k3I%zwOiidstCBRfFSxO;KpTMbos%_h;_i
zZ97(Mb*78e;mR57J1ie+cBXDt5A)}CpWVl`c>D3*?BL5EPM6Ept<~M@cUw~=E%0lJ
zmw*Y^8mGfLTx+Ytx{j?8z15fZC`kW#58L_2@xRVQd@iUG2w=9}*50_3EBD^~+MJv%
zd;f*V&;0l2X!^8Up5i*ZOdn@#JT6+$JK^SS>#F>QMCWA7TGP!}IDQ9d@9bOd_3o-t
zZFHc*s!JE|&izy`;y3k<$<ir7+SwVqLR5X-TH_Tzi(gF_*}Y1O^+NvsuT!0W?JQxv
ze0ulPwpHe(TeMe{ES~hI%V+AWUpE#h3dw#xzoqR%Z|T{jLq8WvdfU~79z1?Ja^u&z
z*G2c`H_Yk?{90agvGmX>>FlsKr9YW7x_$e?Crq;r_%8nN$M!?ni{=_frCyt5_3^5`
z*}PfPcLhcCw7JH7`7gh%?=oL)@2_*OEHljHYg0cyteKJ775MR}s5~e8O0iY*ioP$b
zIkK<tuBqyD!7h>4`IpSRdL=K{{afpj{ztR&cJDMLEtOppy*4hmR97d|Qnb<ZqE@8a
z3y+swPb*ff+w$k@55JnwyezL(|KEI^y>8po)BkS#+V<pG@+wQIK5yyR1%^_q0{wLu
zMdUko<S(1m8MS%8$lMb<XMZ{;x3_D@x)kG(_2>7qH{4sCpz}>`uidK?{cVveBv*B<
zxl(=Xe!9cLr472JIayK9^Zr;@zma3u+rIMFmia-6VW)qmxs@w~*WWz-U#jF+e%;N!
z_%Ht+oDa|OD!5woC#8t>-k<*1<mK%4fj=})#MQotvwmKG^}ABTyF9y1yElfn?#xf~
zQ#v*?vu66S?5VrBCps;<Q@1?hRFEC(m7}NsZ_2oA8ujUyq;~v5)8kw6*Y<|JdgsHn
z%j?&xEgC6{)z++5y6kX$Yy7TX6Ha;6CUNcD5Uk~YqrL31Ip4|$X8)hu`_T2=vi_^z
zgq5={f9Snqrlx-RdiKoPy$|0@Nvsb1w`-!Oi{iBx3Wu$Qj5ETV4MUdN6t`@j9enk(
z{r<A(gOlq$FDyCR`=$O)-;{UjLULH6zs_BGY1OeQ>Z~`9hR$NQl6?8E_F-#-lSshh
z%zMkUOxGGn|66(To}<L7AmP>-hkPGjF{#VllxX%RYC7+~yt6IGOP?Ce+U0V*eve8P
zn?s&!*Uia%jY;K^r<R+3D?RwY<DKhDuTKT#UYAlzOuN1Bu6<b`C7TlTZbfZq(yk;+
znV63u6Iz42^me?MkhaXpaLtLP<90vR{#KVwS+$Leb>@$k%@6q>sTW?JDZ(Vrp*8#W
z{*UFV%Y~i>n=V_uXw{Tckv@T;3x2K9;+^#(tnjJc%eB{6%CEa5Y8CSJWwk|ZV2zka
zNcum|=ek>W)_>c$;k=Lc8;uuSU;AGchL!}jemfStI_LVY^y6{$DvoN+`(u+c>^gTa
z1oSky`5xlkA1TdOaW?*Zd~Jf&%hJpDoW3vAnf`0tBF<+&e+z_G-0EK!koEPpGUxOR
zg%52PRqMB`f1%X)ZSg{7u86nkMxTS&tIKaKn|gnH)Q{%N_iV5ETw#dxmFhpky)Gn6
z!(Ak1_q=+&HRrl6206Ij^1qf7uCaHed*p4;xna6zs~8n7CbA_gO5-)YW{lR6fc7kW
zv)^CS-IjXQpI6`zPpUUR-;HbP;kV!U3Lj78{rYZ;?CW{kPF~ukZOi9dmp|L=FkAWl
z(i`71=EPVYG@tpnqfV<b-_$f~f1&e?g*myGmqlOq-=BXuZLYz$i0h}`x2sQH*8Dyq
zzHY`-_6yh4!)|X=51;xsPWJe+2Nr(2Ulh$QJ$7i*y~WAz?rt&MzJHIyIeWg=$0>cu
z=YD!0e(W*5@co&hrtK5HmOsCC<#PF4`8a*Mf^>l^lW#A}<}jY(s~-5fQ2o}H2kO77
zvkRPFFS+;q*R&6Yt+)5B-FZKh^QHUx%WoL}t~(IGdj0EW`Ihy8!G^Y1@{gaf%ssU4
z8msz;YkO`o2<}by3YhqEr|j!_T>a`<MQ*<@`~SNiI#ct)m)`*b8pl~5E>5oe*k0ai
zyMF$+NOiv(^ZSx7pOW{fh*>}Vg@w&|?!&J0Ll-W6{x#<Mi!+@czVA7|Hu-Y-(#IFR
znfLzdcU)g@{G%_f=E1rTTdVB2-ip^(r2i<t`29xR9nOQ#XH}f>beXX*$Eq{!+)J77
z5$kRRhHiUs$-niX*^cVvxjg<Z`WBJ9ixb8FSXN(TKXf5Twa_cz?2DB5aa%9B9SfCC
zzFqgUb>oCH%X8-z9jxcpUS#<^Uc_$M+ZW}s{olUdDgXa(!v5Dc{A2z!e)zuk;BVL8
z*Ub)f8FNfn$P_xc&-=Jx$bw%NH=f;@@bX6CmTms$b3Zpdn9-DQ+3ah~7W>e=i_hP2
z9rB(ZeSd1k?^Py?9|zxX6Ak}YzL=|`?1SZ^v~K|)>h`j?NNP>UcB@Ks6_^XkJ(G=W
zO(t-!eUNhbq~+_L&2M^6|NDL8cc|mbBeyrco4LU&sA9|3^Bm4@?@unj9$RvI|BY(<
zpF5r9__f!?uRkN}Um#<(>`R754$rD-uGjC)uwJ(yDNw>CbXMGK?k?Tr+ZU79R`yS|
z;>+EB;k#h%KMjMgb+u-!cMTmsxQ9mO)t~RNUH*OLtxK=B{ttF@4t1RV`}16d%XPP!
z7Muy4YJHsP+Y|*4|KA^;w#ht8Ta@$jukEXf@QRu5`%OQmJj*CH%xUViQ@3JV%;mKH
z>PeYa?=RJsMGvpkpD0|>Sr#KO$4ZXXOC)0z)7L0jX9=OVJJmMY9shB>?}^1H`{Z{s
z`2Nmm?Nh9;|9Ri{U)iGXPxH<H-}t=$epb?=N>PEd89bq#t13#GR!hyYT=$=MYU0ft
zi~LRDkFs*FHElj*f7^Zirej|%vX_cojWkv|6JYkWz17$I2w$VyjD<{(t&cZaJj_yC
z<<%T0IkC@efsymg5>`KEOVc-si#DbP3cH63d}m*8x$aEh&%(t5eQvk1Pqei;&MCW?
z8nVQ<$-wz$$<%<xWsM804u;?TbF*MY<FO`977?~xvsN&!uK&}zpR?U3qh)uS$co~)
z<a3KQRJ>O&dVKuLE!XS!686SQA1;iq+W+g>z2BX$4<(9M?QJvI^L_I5*7eu3x2=iF
zOlPgXexdvBLy;v{AAVc>T{GtRd-r<#$D90HA7A`Z*V}lx=F+)tJ$Y%4HIJ`6|Ja;e
z*}Z<Rp}Drgju`@Pi@!Z8KD;r>>Ym1d?`_II%-a^KU(ERT!t`Rq4%fxEZ~r>7s$fG-
z-m@b;8^6D_wOaO~p5@p4wludFKTMzb+`jm`&+_Y*57w7HTjk}t|Gv22^U}pLF0RWm
zKBN^)a(#Si(JI%(MZ(^VOD_n77I0b2Jt6gR-Nd(2s_O&a<SxFvplH2yVU9tj$q6$V
z4J)g4uV(CtWVf2R*f2$E(#N2JpzPmO^P3)i{9o+6!=KkfRz_A<zW3>+>P6pQf8}nP
zzwKM5u-)SmFB+oGN`~%mdEe>wB72*o%lgh|%iE4Gm*hKWX#e%>{&TX`AMU--dL8`#
z$J7t?99;Ep;~%PCRQa)Pk7n@O<FfW;f2wS%;!VD|+~3dkGt9{TYH5q4)-o>_(W!@&
z|GV7!U$s5A=E1pwxI{bKWevfqhIIj1)p3(U!@a&ng+|Z%rLronOYXS#tVJd7Zrm@`
zS+!=-g0uI(Rm@^vSvjS39g|yg#Bu+`DD$Y=vc9lju7wjH%n%K`*d<eSe|OV_ize!<
zQ6{chvwqLKpVE8ma4t7f;M4_u*7XsdC4YX+`?}X9bk&P`tyLcLdA?1w|7d@b!#Kpp
zadAOVtB|kO^u_*fd1lqm=k~wxr<<WF$MN2lWi`r`>w^VeZndg3WvtorQCuwKr)#mZ
zYvRIH`c^wXZ@0C(5hA&Ak#@;Or^Y1-GWM-6uPo4<{=YJG;>%Jl{aW#hEngohJor*6
zn!)w=#paboXXEWOXZ6gRontQ$)_BpSBsW`S{jJMWv~rz;w<*nHD*fjh|Geq6#;-F0
z+cp$Q#Bw^-CRyE__uKD+ec9jpEq_C^)bhB(&%WTBA0F(hUjMH|*7wl0>My$%UhKR#
zDLd$_#N5v_UpIG!?Fg7$e1Aul_whyl^kn;237g*hvhQep<>MDJ7bG9b_=Os0-74!b
z3*EY_^~tnzCquoGj|=>XJ?qKpZIY|;-<HcucDmNO;-<fE__UnAX1@IT>T^)(GKZkn
zRmuHKHd$fX71!$D^UaoQsnffY))HLsWlo>t{rDT^;(yLN-G6xRdhz|aVW$E<8_klC
z|7)$`u=s(TeY<JrjB_mME!`??zGkIY+`YMuemu2GYu7i4@>|ApIWsog39|7%{%h_d
zE3G(3v9FwqsyK`-)ZYbHOSlC}$1pIU4iiFacf`0Mia<eCUfONW<q>OBFSF}xPA@<B
zJSu%|Mx6I-)5$*f^-lB2&-t*!JayI9GMW6X(<E=C-+YkX6msfTpY=(tz*qO(ycsf|
zMvG@uF4!EwbmFbS=f14%QNfwBH9yTUFP&An*7uue^-3lF<*z=~R<W~l+t15dS@D1A
zzg&@&y_MXmi+)}_!$OK<70xhV4ugWdvpjs(**9;uMtyd7>$02v_I_~5(`!3E8MoT|
zoBf#c^@rVN_BJlNcj?BW@AqHXe|8S{v|DS8&l!pPSif^={+#%2n`uy5{Cvw~mAg0I
z8_!<*>fiG@`>#9@n>CZzp<D3auHX5yIdemAvc$xH{{QWb){mIeXOhom=Wh1u$%sB^
zcKq|QZPBNDlGg~`JXm*{k5{Bdk8{4Utwn-#eZ}&`MKg=7-frpE+rFgO>P*mOZR?3O
zzRUEACN1xqB{px))DPeG$+8`9Io`Zs#+i+g6Aio%J@;Yn&#g|{nz(48v6xVro3U_%
zGHhfR93;p?#Uu#KiOalZZxM3y_106F8=trFM;-lrK8?#>&?fHZ#$J(nJ;nLO*Ce@l
zg)?vF%%~JocD@^XI#_e}Z3dGwS9WqIP33;NXeQ?Y5(d5>d~x}F<xBFKYkz!h{b6oZ
z4_>~^*ZgzT8lilfou@7_|6UuIrvIy9>&qRh7j8Wp6ntB|%G<2=!kP;y-$PCXy)|AV
zwDe!@y_oM?dU<$faNkOwn{eEa^Zr|d?75|juFmqC_N6hGb$<3si-UWvo!a+Ey#9-=
zbWQed(^Hk^wR^MF+nUx~s&77XFYdGmhq3<EppV<U{@yNGAC<XxcASBDhUvt|c}iz8
z(wK-Cya%TMyyN{%m$lD6l3jbeWXjiF6TfU&+TOlaDrl|qGk(6XFZ0eEY@VjMp<e&>
z?9d&$x(988o^0MC`<FenUVY>BTVY%4H*eDnUK5EF;0BsEeUAP5{%&hCJO7Qwg$qBp
z_$^=kS>AHeQRDr`&DX1QbbP&;Q<ke{yd&-7rtIH3$2c~tEoZpBxq3S<-<R6~ADFLP
zkg|V$zxrEh_}yefml>uj5B{rrefOsrW81FJO<iZdZ`$6^lU}#0;^y)y9km?{7gDa6
zZ~D7c?)J66)lEFS4`<t-uX+D%+qP}T=f(eA{8UUhB+b|5?8$p`tq(0z6%b!_<<iS9
zt-b3mtvEBQ;ZXMLY4>lhGv6+p(jgm~wKjL{YpK|!g~AVP>ddld+V1AEyKeM3;&YSt
zgQ*f1w>9PVJ@?JsK27rJ-Q3!Wj017e-(#-o?PWH-^l<5(-SHJqju(r^6+K;hjlr)y
zGOMbxQShVtCD+3`rB}8Xv}iqiTWig8g0r7}VZ^zOvNx`$N7sE{liK{4X;xFdw%NZw
z$7R!Nzns#KntSm~&&n?s7UWiD={mM8dp!H@j*rjzukC$5+n{@4%!IXyCoXJhs@w9^
zaq?%e)yju-+C);gOctzU^*zUHU;n^uweTUGw0kv~%#Lj7OV&KSEiM1^qS9*SLppA3
zRppWS-&eC)9QC)|@^0boY`fL-4Z0`hO3yPsU@Fx<Eo*Mr=Vxk(V#2kzt1{vaMQZAo
zp5E17XK+5N!=Sr!`>r^n1F36s*P6<%bDVLMAyiT*>Ey2Ye=9n#awLi|hopLRg?(PX
zK}zwAluz)q6{jXh%q#a@yDmp4jdxr6>ufd^5BF7TYj<8{NW7N7od4cP!87Pu5t!>R
zv&1SVjfr#f3Nhca5v`G@{<zG&$s#GV>TpzgNNrc}nnOC-numBi8m3Gyv_3N_tzyFJ
z86L}~%%7DW`s|C>=6?qlo{Ec4`fE`CV?pSi|2Y%C{%Ss6nsd1MH?N1%{mqqOsebK|
zzt-l4=_*&RD!*!IZ6ffmr(m^(%9QkbKC3rHm>Ne5l`%3nd_AId#%P-2nFf{*Hu>{H
zCB+#SEEK~M%cjUqU2!U>r8-e*Va@&b8@0MaXH?FeYhujk<Ha+3W?T}JZg9>EwuY{w
zdS{wG85<@}J1dapu=R-EnWoh;CZ>$Xf6lv}94dC$z}qc#+Op5`D^}fTjZ}NAp0w3z
z)(j6L``IghRm$x@rK2d$VALWxX$_n1h8wMs*EZQsV^GeVHPb^+e|C%A=9V>?Zu2E4
z={#O~XZ@Kbi`N@j7M$nloF?VxG^6)R1k;ksnaq>2KC1pt-WwYE=FpnGpU=p7GdxRG
zT4}T1Z0-7pb+aD+zLwl4{fvo0XqDLHGpf@PpUn*aDrDk!CEjhmq|oW_<`KL{jLvMT
zD_d{*=0HH|cQuBXNnf*!|7guS>+^Z;x-&IlryZJ7|4y4V=l({X&0@#f(*tHIUUd64
zSvW27v{md(S(}0b4K1&t_q@3^i>IeQb;i@S^c~jjlM^L9Hp~*$`nY#tXMXk>$6Z~O
z4;aq+s00@j=C8f#k#qRW_q#D%9si6}BCiEyuW?I~PMh~L`-~&|%2N|kOke$(exvQC
z$m~tWWK2v95*(b?t_*#?|HyWu*Kghw7e)zBl@wa-ru<*|<G#f^^X*OBGkA@!89E2`
z&iKCJYQUPqXSUXDUf5X2Jn4k_{`8Ma!`E$;>MEVF^IE={N4=zw*3+x+w4U9t(>Zn}
z|5@d`9`nUU&OxchGiQ}c9^HLj$6(S)tBd(%1sNd6O`0_$J^owgtZ&mj-yB|ZciFvU
zz8CkOe_7?`5coACsqOd18O2LiT5ian&*(Yj+^_FZvPbOBEV(&*R#u#myzt2<>(_q`
zJ>wDF61i^W%{{9#-rWAYjnVT-`dhx$lb3O9E--VL>vc8i#`W#T8<w0b{S#l>f7LU%
zW#*4*D}P>{5GC>E{c|m~Nt)T)qhw8eXKXE>w{w}KK1;w<#m-l;Q#~)Y%uF$wxl8Tu
z#2{C<dP$*`=R#*zTuW(-e_wUxdv2#`qwMW%LTMgzHfa5R5jr<4-8XdR$%141GJG3W
z@pw-Clrz)R;d1NEo^!0PUsvud-&9q;FV*4EkAJf1u|=WI@77%_NmL77o9p^v?bisO
zz^RIzSN6zAN=78|UYe4)tT6p%&bO#;%~eJ!0r6^ccW#(=I!WFyxNT;}3OAYAvsay1
zacY9e!Kp{0#r1!O^qU4;Zks7{b?1X)7QME?pC_&2@tpki?X}HzRZrhuOYoIVyEHBH
z^3=&~B^G_l7fSSebDyMf;@r+Jr$oh=edW`3{@Z+JlUuyNi`v(^VUt`J9nn0o<R#l#
zF=Oy5hE-1&KDh20md>^5-dt-Qk1hp^eG=`<Qti?Y=@c#4{klv))jVRZK#GSD@BR}N
z+j0t<k4>6->C4$OA4>uiGRoqj`_rDUGry;BVuH-RdUrM34HkWlYUe`J1Wm1**ThZq
zs=OXCb>-yvxqrV*R8+jiqIz>J_v<Z5Z&EC!(<WxMMVU?BXuG@o_Pl$s58pQ&{?+95
z=AMF*TwisE>m2^g9ryRHd)y#f>Ut`B?;V?Z&kq6aJKtYr>Sq4^{pLN}eBq>mY2qbk
zQx02ere05LW0%W&lJW1PhtG`O>-X<&U2*nL<;@4L(m(XynCP`M?V0`l`u}y(ax$Ct
z?Yle8uV3PUl>O|=vwK43PybqFG;`Y5?&-R(4Jlu#0yUxIkGl4O_6LG{ZySR|JYD@<
J);T3K0RT(&-);Z^

literal 0
HcmV?d00001

diff --git a/static/picto-impot-sur-le-revenu.png b/static/picto-impot-sur-le-revenu.png
index 75f07056b0462a7c31601a110df03f207c1451dd..9cecb717dc34b90aef36abeb744648d8377fc542 100644
GIT binary patch
literal 9716
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
N@^tlcS?83{1OOzVtt|im

literal 7613
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
KxvX<aXaWEyBz*<|

-- 
GitLab