diff --git a/src/lib/components/variables/InflationLawButton.svelte b/src/lib/components/legislation_view/parameters/inflation_view/InflationLawButton.svelte
similarity index 100%
rename from src/lib/components/variables/InflationLawButton.svelte
rename to src/lib/components/legislation_view/parameters/inflation_view/InflationLawButton.svelte
diff --git a/src/lib/components/variables/InflationLawDetails.svelte b/src/lib/components/legislation_view/parameters/inflation_view/InflationLawDetails.svelte
similarity index 100%
rename from src/lib/components/variables/InflationLawDetails.svelte
rename to src/lib/components/legislation_view/parameters/inflation_view/InflationLawDetails.svelte
diff --git a/src/lib/components/variables/InflationLawInfoModal.svelte b/src/lib/components/legislation_view/parameters/inflation_view/InflationLawInfoModal.svelte
similarity index 94%
rename from src/lib/components/variables/InflationLawInfoModal.svelte
rename to src/lib/components/legislation_view/parameters/inflation_view/InflationLawInfoModal.svelte
index df8d8a1c09d3d1354c426d19e58e9e3ac816f20a..3ec338650c23a47bcb55487fdcc474d5084f9c99 100644
--- a/src/lib/components/variables/InflationLawInfoModal.svelte
+++ b/src/lib/components/legislation_view/parameters/inflation_view/InflationLawInfoModal.svelte
@@ -8,8 +8,8 @@
 
   import DialogContent from "$lib/components/ui_transverse_components/DialogContent.svelte"
   import DialogOverlay from "$lib/components/ui_transverse_components/DialogOverlay.svelte"
-  import ArticleModal from "$lib/components/legislation_view/parameters/ArticleModal.svelte"
-  import InflationLawDetails from "$lib/components/variables/InflationLawDetails.svelte"
+  import LegislationReferenceModal from "$lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceModal.svelte"
+  import InflationLawDetails from "$lib/components/legislation_view/parameters/inflation_view/InflationLawDetails.svelte"
   import { billName, yearPLF } from "$lib/shared.svelte"
 
   interface Props {
@@ -113,7 +113,7 @@
         </ol>
       </div>
 
-      <ArticleModal
+      <LegislationReferenceModal
         on:close={() => (openReferenceUrl = null)}
         parameter={lawParameter ?? billParameter}
         referenceUrl={openReferenceUrl ?? null}
diff --git a/src/lib/components/legislation_view/legifrance/LienView.svelte b/src/lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceExternalLink.svelte
similarity index 94%
rename from src/lib/components/legislation_view/legifrance/LienView.svelte
rename to src/lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceExternalLink.svelte
index 79c53e254ea0a673c772df9ab07b4ded2d2cc391..d664dd53c1801cc84333a1957956237ea6eab84a 100644
--- a/src/lib/components/legislation_view/legifrance/LienView.svelte
+++ b/src/lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceExternalLink.svelte
@@ -10,7 +10,7 @@
     rootTypeFromLegalId,
   } from "@tricoteuses/legal-explorer"
 
-  import ArticleView from "$lib/components/legislation_view/legifrance/ArticleView.svelte"
+  import LegislationReferenceView from "$lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceView.svelte"
   import publicConfig from "$lib/public_config"
 
   interface Props {
@@ -36,7 +36,7 @@
           return undefined
         }
         return {
-          component: ArticleView,
+          component: LegislationReferenceView,
           properties: { article, level },
         }
       }
diff --git a/src/lib/components/legislation_view/parameters/ArticleModal.svelte b/src/lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceModal.svelte
similarity index 93%
rename from src/lib/components/legislation_view/parameters/ArticleModal.svelte
rename to src/lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceModal.svelte
index 2b127fd2482aed5c7722e1d64f360e84d7da0957..befb78c3512abceeadef5a194b44acffc3fdde73 100644
--- a/src/lib/components/legislation_view/parameters/ArticleModal.svelte
+++ b/src/lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceModal.svelte
@@ -5,7 +5,7 @@
 
   import DialogContent from "$lib/components/ui_transverse_components/DialogContent.svelte"
   import DialogOverlay from "$lib/components/ui_transverse_components/DialogOverlay.svelte"
-  import ArticleView from "$lib/components/legislation_view/legifrance/ArticleView.svelte"
+  import LegislationReferenceView from "$lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceView.svelte"
   import publicConfig from "$lib/public_config"
 
   interface Props {
@@ -73,7 +73,7 @@
             </p>
           {:else}
             <div class="overflow-y-auto">
-              <ArticleView {article} {parameter} />
+              <LegislationReferenceView {article} {parameter} />
             </div>
           {/if}
         {/await}
diff --git a/src/lib/components/legislation_view/legifrance/ArticleView.svelte b/src/lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceView.svelte
similarity index 97%
rename from src/lib/components/legislation_view/legifrance/ArticleView.svelte
rename to src/lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceView.svelte
index c73a5e1217b7b88f27b1a0a4ab97efc776e8c9e9..af2b33a14b6634f7efa970b5a7561955bcb59d46 100644
--- a/src/lib/components/legislation_view/legifrance/ArticleView.svelte
+++ b/src/lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceView.svelte
@@ -24,7 +24,7 @@
   } from "@tricoteuses/legal-explorer"
   import { ToWords } from "to-words"
 
-  import LienView from "$lib/components/legislation_view/legifrance/LienView.svelte"
+  import LegislationReferenceExternalLink from "$lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceExternalLink.svelte"
   import { getUnitAtDate } from "$lib/units"
 
   interface Props {
@@ -318,7 +318,7 @@
   <ul>
     {#each liens as lien}
       <li class="font-serif">
-        <LienView level={level + 1} {lien} />
+        <LegislationReferenceExternalLink level={level + 1} {lien} />
       </li>
     {/each}
   </ul>
diff --git a/src/lib/components/legislation_view/parameters/ParameterView.svelte b/src/lib/components/legislation_view/parameters/technical_details_view/ParameterView.svelte
similarity index 99%
rename from src/lib/components/legislation_view/parameters/ParameterView.svelte
rename to src/lib/components/legislation_view/parameters/technical_details_view/ParameterView.svelte
index 616231049b651f5701f64b889e433a04594bcd15..9dfbe48805d6b894c65335178c13e426d28b5d68 100644
--- a/src/lib/components/legislation_view/parameters/ParameterView.svelte
+++ b/src/lib/components/legislation_view/parameters/technical_details_view/ParameterView.svelte
@@ -10,7 +10,7 @@
   import { getContext } from "svelte"
 
   import { goto } from "$app/navigation"
-  import ScaleView from "$lib/components/legislation_view/parameters/ScaleView.svelte"
+  import ScaleView from "$lib/components/legislation_view/parameters/technical_details_view/ScaleView.svelte"
   import { metadata } from "$lib/metadata"
   import {
     asAmountScaleParameter,
diff --git a/src/lib/components/legislation_view/parameters/ReferencesView.svelte b/src/lib/components/legislation_view/parameters/technical_details_view/ReferencesView.svelte
similarity index 100%
rename from src/lib/components/legislation_view/parameters/ReferencesView.svelte
rename to src/lib/components/legislation_view/parameters/technical_details_view/ReferencesView.svelte
diff --git a/src/lib/components/legislation_view/parameters/ScaleView.svelte b/src/lib/components/legislation_view/parameters/technical_details_view/ScaleView.svelte
similarity index 100%
rename from src/lib/components/legislation_view/parameters/ScaleView.svelte
rename to src/lib/components/legislation_view/parameters/technical_details_view/ScaleView.svelte
diff --git a/src/lib/components/legislation_view/parameters/NodeEdit.svelte b/src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/NodeEdit.svelte
similarity index 99%
rename from src/lib/components/legislation_view/parameters/NodeEdit.svelte
rename to src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/NodeEdit.svelte
index 201dfcdb60bf427bb7d5eb21c4eefecd3bcbe866..b0c93125340da94e17f5d249029bea9d296dad49 100644
--- a/src/lib/components/legislation_view/parameters/NodeEdit.svelte
+++ b/src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/NodeEdit.svelte
@@ -2,7 +2,7 @@
   import { auditDateIso8601String, laxAudit } from "@auditors/core"
   import type { NodeParameter, Reference } from "@openfisca/json-model"
 
-  import ReferencesEdit from "$lib/components/legislation_view/parameters/ReferencesEdit.svelte"
+  import ReferencesEdit from "$lib/components/legislation_view/parameters/technical_details_view/contribution_view/ReferencesEdit.svelte"
   import { errorAsKeyValueDictionary, iterArrayWithErrors } from "$lib/errors"
   import { getUnitLabel, units } from "$lib/units"
 
diff --git a/src/lib/components/legislation_view/parameters/ReferenceEdit.svelte b/src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/ReferenceEdit.svelte
similarity index 100%
rename from src/lib/components/legislation_view/parameters/ReferenceEdit.svelte
rename to src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/ReferenceEdit.svelte
diff --git a/src/lib/components/legislation_view/parameters/ReferencesEdit.svelte b/src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/ReferencesEdit.svelte
similarity index 97%
rename from src/lib/components/legislation_view/parameters/ReferencesEdit.svelte
rename to src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/ReferencesEdit.svelte
index 834d22c6c7f29bfd3c2610a5d4a8b71bb78502c9..e3ff5422abaad47d011313a290c6eb3d8ad1476e 100644
--- a/src/lib/components/legislation_view/parameters/ReferencesEdit.svelte
+++ b/src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/ReferencesEdit.svelte
@@ -2,7 +2,7 @@
   import type { Reference } from "@openfisca/json-model"
   import { createEventDispatcher } from "svelte"
 
-  import ReferenceEdit from "$lib/components/legislation_view/parameters/ReferenceEdit.svelte"
+  import ReferenceEdit from "$lib/components/legislation_view/parameters/technical_details_view/contribution_view/ReferenceEdit.svelte"
   import { errorAsKeyValueDictionary, iterArrayWithErrors } from "$lib/errors"
 
   interface Props {
diff --git a/src/lib/components/legislation_view/parameters/ScaleEdit.svelte b/src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/ScaleEdit.svelte
similarity index 99%
rename from src/lib/components/legislation_view/parameters/ScaleEdit.svelte
rename to src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/ScaleEdit.svelte
index 9cd77062834b997e5179815c3b445a7f0fbe49f9..b524baebbeef54710153dc52c82a02b39912c2a4 100644
--- a/src/lib/components/legislation_view/parameters/ScaleEdit.svelte
+++ b/src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/ScaleEdit.svelte
@@ -10,7 +10,7 @@
     type ScaleParameter,
   } from "@openfisca/json-model"
 
-  import ReferencesEdit from "$lib/components/legislation_view/parameters/ReferencesEdit.svelte"
+  import ReferencesEdit from "$lib/components/legislation_view/parameters/technical_details_view/contribution_view/ReferencesEdit.svelte"
   import ScaleAtInstantEdit from "$lib/components/legislation_view/parameters/ScaleAtInstantEdit.svelte"
   import { errorAsKeyValueDictionary, iterArrayWithErrors } from "$lib/errors"
   import { iterToLimit } from "$lib/iterators"
diff --git a/src/lib/components/legislation_view/parameters/ValueEdit.svelte b/src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/ValueEdit.svelte
similarity index 99%
rename from src/lib/components/legislation_view/parameters/ValueEdit.svelte
rename to src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/ValueEdit.svelte
index c466324209f00217f01c2989f1cddf36001561e4..4e7374e9ae69a5222d3dbde8e5daa5a628121947 100644
--- a/src/lib/components/legislation_view/parameters/ValueEdit.svelte
+++ b/src/lib/components/legislation_view/parameters/technical_details_view/contribution_view/ValueEdit.svelte
@@ -7,7 +7,7 @@
   } from "@openfisca/json-model"
   import { ValueType } from "@openfisca/json-model"
 
-  import ReferencesEdit from "$lib/components/legislation_view/parameters/ReferencesEdit.svelte"
+  import ReferencesEdit from "$lib/components/legislation_view/parameters/technical_details_view/contribution_view/ReferencesEdit.svelte"
   import ValueAtInstantEdit from "$lib/components/legislation_view/parameters/ValueAtInstantEdit.svelte"
   import { errorAsKeyValueDictionary, iterArrayWithErrors } from "$lib/errors"
   import { iterToLimit } from "$lib/iterators"
diff --git a/src/lib/components/variables/VariableReferredScaleParameter.svelte b/src/lib/components/variables/VariableReferredScaleParameter.svelte
index d62df120211818e91e6ab1cfd5b0801483e44ffe..23f692d2ccf043cda4f1350481a7880bf1aed28d 100644
--- a/src/lib/components/variables/VariableReferredScaleParameter.svelte
+++ b/src/lib/components/variables/VariableReferredScaleParameter.svelte
@@ -15,9 +15,9 @@
     requestBudgetCalculation,
     requestTestCasesCalculation,
   } from "$lib/calculations.svelte"
-  import ArticleModal from "$lib/components/legislation_view/parameters/ArticleModal.svelte"
-  import InflationLawButton from "$lib/components/variables/InflationLawButton.svelte"
-  import InflationLawInfoModal from "$lib/components/variables/InflationLawInfoModal.svelte"
+  import LegislationReferenceModal from "$lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceModal.svelte"
+  import InflationLawButton from "$lib/components/legislation_view/parameters/inflation_view/InflationLawButton.svelte"
+  import InflationLawInfoModal from "$lib/components/legislation_view/parameters/inflation_view/InflationLawInfoModal.svelte"
   import VariableReferredParameterHeader from "$lib/components/variables/VariableReferredParameterHeader.svelte"
   import VariableReferredScaleAtInstant from "$lib/components/variables/VariableReferredScaleAtInstant.svelte"
   import type { DisplayMode } from "$lib/displays"
@@ -392,7 +392,7 @@
             </li>
           {/each}
         </ul>
-        <ArticleModal
+        <LegislationReferenceModal
           on:close={() => (openReferenceUrl = null)}
           parameter={lawParameter ?? billParameter}
           referenceUrl={openReferenceUrl ?? null}
diff --git a/src/lib/components/variables/VariableReferredValueParameter.svelte b/src/lib/components/variables/VariableReferredValueParameter.svelte
index 92460e3395bcbc3a50594d81c2f80b7c3a121608..df94cac050f2ca136292c7ea393f18d8886ca940 100644
--- a/src/lib/components/variables/VariableReferredValueParameter.svelte
+++ b/src/lib/components/variables/VariableReferredValueParameter.svelte
@@ -23,9 +23,9 @@
     requestBudgetCalculation,
     requestTestCasesCalculation,
   } from "$lib/calculations.svelte"
-  import ArticleModal from "$lib/components/legislation_view/parameters/ArticleModal.svelte"
-  import InflationLawButton from "$lib/components/variables/InflationLawButton.svelte"
-  import InflationLawInfoModal from "$lib/components/variables/InflationLawInfoModal.svelte"
+  import LegislationReferenceModal from "$lib/components/legislation_view/parameters/legislation_reference_view/LegislationReferenceModal.svelte"
+  import InflationLawButton from "$lib/components/legislation_view/parameters/inflation_view/InflationLawButton.svelte"
+  import InflationLawInfoModal from "$lib/components/legislation_view/parameters/inflation_view/InflationLawInfoModal.svelte"
   import VariableReferredParameterHeader from "$lib/components/variables/VariableReferredParameterHeader.svelte"
   import VariableReferredValueEdit from "$lib/components/variables/VariableReferredValueEdit.svelte"
   import VariableReferredValueView from "$lib/components/variables/VariableReferredValueView.svelte"
@@ -437,7 +437,7 @@
               </li>
             {/each}
           </ul>
-          <ArticleModal
+          <LegislationReferenceModal
             on:close={() => (openReferenceUrl = null)}
             parameter={lawParameter ?? billParameter}
             referenceUrl={openReferenceUrl}
diff --git a/src/routes/parameters/[parameter]/+page.svelte b/src/routes/parameters/[parameter]/+page.svelte
index b3421411d0ed3d5da4884fe22dfd09d66d1493b8..006865eac156cf83bf0f5dc5ddd35b4e06e9e1e6 100644
--- a/src/routes/parameters/[parameter]/+page.svelte
+++ b/src/routes/parameters/[parameter]/+page.svelte
@@ -3,7 +3,7 @@
 
   import type { PageData } from "./$types"
 
-  import ParameterView from "$lib/components/parameters/ParameterView.svelte"
+  import ParameterView from "$lib/components/legislation_view/parameters/technical_details_view/ParameterView.svelte"
   import publicConfig from "$lib/public_config"
   import { date } from "$lib/shared.svelte"
   import { newSelfTargetAProps } from "$lib/urls"
diff --git a/src/routes/parameters/[parameter]/edit/+page.svelte b/src/routes/parameters/[parameter]/edit/+page.svelte
index 7e0a51d6f798f647d32ce58fea696bb767ab9ee2..0f48eb20d9da746227098ffcc3251020b07bd311 100644
--- a/src/routes/parameters/[parameter]/edit/+page.svelte
+++ b/src/routes/parameters/[parameter]/edit/+page.svelte
@@ -16,9 +16,9 @@
   import type { PageData } from "./$types"
 
   import { goto } from "$app/navigation"
-  import NodeEdit from "$lib/components/legislation_view/parameters/NodeEdit.svelte"
-  import ScaleEdit from "$lib/components/legislation_view/parameters/ScaleEdit.svelte"
-  import ValueEdit from "$lib/components/legislation_view/parameters/ValueEdit.svelte"
+  import NodeEdit from "$lib/components/legislation_view/parameters/technical_details_view/contribution_view/NodeEdit.svelte"
+  import ScaleEdit from "$lib/components/legislation_view/parameters/technical_details_view/contribution_view/ScaleEdit.svelte"
+  import ValueEdit from "$lib/components/legislation_view/parameters/technical_details_view/contribution_view/ValueEdit.svelte"
   import { labelFromParameterClass } from "$lib/parameters"
   import publicConfig from "$lib/public_config"
   import { units } from "$lib/units"