diff --git a/src/app/calculators/parallel-structures/parallel-structures.config.json b/src/app/calculators/parallel-structures/parallel-structures.config.json
index 165ecec7293575eac838c0a397f6b72fccc0a45e..ff29ad62e22ba2fb856d90be4d7375a7fe5fdef5 100644
--- a/src/app/calculators/parallel-structures/parallel-structures.config.json
+++ b/src/app/calculators/parallel-structures/parallel-structures.config.json
@@ -60,6 +60,9 @@
                     },
                     {
                         "id": "select_loidebit1_cunge80"
+                    },
+                    {
+                        "id": "select_loidebit1_kivi"
                     }
                 ],
                 "dep_exist": [
@@ -150,12 +153,79 @@
                 "nodeType": "StructureRectangle",
                 "dep_exist": [
                     {
-                        "refid": "select_ouvrage",
-                        "refvalue": "select_ouvrage_vanne_rect"
+                        "refid": "select_loidebit1",
+                        "refvalue": "select_loidebit1_seuildenoye"
                     },
                     {
-                        "refid": "select_ouvrage",
-                        "refvalue": "select_ouvrage_seuil_rect"
+                        "refid": "select_loidebit1",
+                        "refvalue": "select_loidebit1_cunge80"
+                    },
+                    {
+                        "refid": "select_loidebit1",
+                        "refvalue": "select_loidebit1_cem88d"
+                    },
+                    {
+                        "refid": "select_loidebit1",
+                        "refvalue": "select_loidebit1_cem88v"
+                    },
+                    {
+                        "refid": "select_loidebit2",
+                        "refvalue": "select_loidebit2_vannedenoye"
+                    },
+                    {
+                        "refid": "select_loidebit2",
+                        "refvalue": "select_loidebit2_vannenoye"
+                    },
+                    {
+                        "refid": "select_loidebit2",
+                        "refvalue": "select_loidebit2_cunge80"
+                    },
+                    {
+                        "refid": "select_loidebit2",
+                        "refvalue": "select_loidebit2_cem88d"
+                    },
+                    {
+                        "refid": "select_loidebit2",
+                        "refvalue": "select_loidebit2_cem88v"
+                    }
+                ]
+            },
+            {
+                "type": "input",
+                "id": "alpha",
+                "unit": "",
+                "value": 0.4,
+                "nodeType": "StructureKIVI",
+                "dep_exist": [
+                    {
+                        "refid": "select_loidebit1",
+                        "refvalue": "select_loidebit1_kivi"
+                    }
+                ]
+            },
+            {
+                "type": "input",
+                "id": "beta",
+                "unit": "",
+                "value": 0.4,
+                "nodeType": "StructureKIVI",
+                "dep_exist": [
+                    {
+                        "refid": "select_loidebit1",
+                        "refvalue": "select_loidebit1_kivi"
+                    }
+                ]
+            },
+            {
+                "type": "input",
+                "id": "ZRAM",
+                "unit": "",
+                "value": 0.4,
+                "nodeType": "StructureKIVI",
+                "dep_exist": [
+                    {
+                        "refid": "select_loidebit1",
+                        "refvalue": "select_loidebit1_kivi"
                     }
                 ]
             }
diff --git a/src/app/calculators/parallel-structures/parallel-structures.fr.json b/src/app/calculators/parallel-structures/parallel-structures.fr.json
index 258adb9d2f577d66eb6e70e410db475c0c497c41..f683f20dfbef48cbd1c7e6b94c97831f1bc245fb 100644
--- a/src/app/calculators/parallel-structures/parallel-structures.fr.json
+++ b/src/app/calculators/parallel-structures/parallel-structures.fr.json
@@ -16,6 +16,7 @@
     "select_loidebit1_cunge80": "Cunge 80",
     "select_loidebit1_cem88d": "Déversoir/Orifice Cemagref 88",
     "select_loidebit1_cem88v": "Déversoir/Vanne de fond Cemagref 88",
+    "select_loidebit1_kivi": "Kindsvater-Carter et Villemonte",
     "select_loidebit2": "Loi de débit",
     "select_loidebit2_vannedenoye": "Vanne dénoyé",
     "select_loidebit2_vannenoye": "Vanne noyé",
@@ -25,7 +26,10 @@
     "ZDV": "Cote de la crête du déversoir ou du radier de la vanne",
     "L": "Largeur du déversoir",
     "Cd": "Coefficient de débit",
+    "alpha": "Coefficient alpha",
+    "beta": "Coefficient béta",
+    "ZRAM": "Cote du radier amont",
     "struct_container": "Ouvrages",
     "fs_param_calc": "Paramètres de calcul",
     "Pr": "Précision de calcul"
-}
+}
\ No newline at end of file
diff --git a/src/app/formulaire/definition/concrete/form-parallel-structures.ts b/src/app/formulaire/definition/concrete/form-parallel-structures.ts
index af41d8efb6a4acf6e8c7334a928db358969dc19e..ccc0401c920ff7bdee7923372baa8e71703fd242 100644
--- a/src/app/formulaire/definition/concrete/form-parallel-structures.ts
+++ b/src/app/formulaire/definition/concrete/form-parallel-structures.ts
@@ -83,7 +83,7 @@ export class FormulaireParallelStructure extends FormulaireDefinition {
                     const st = CreateStructure(fsStructType, loiDebit);
 
                     for (const p of fs.allFormElements)
-                        if (p instanceof NgParameter) {
+                        if (p instanceof NgParameter && p.isDisplayed) {
                             const defaultParam = st.prms.map[p.symbol];
                             p.resetValue(this, this.getContext(fs), defaultParam.v);
                         }
diff --git a/src/app/formulaire/definition/form-def-parallel-structures.ts b/src/app/formulaire/definition/form-def-parallel-structures.ts
index 75a5aa89c5a5822c6d4f918a8030ab84d7446ab0..a9965b2a272a2090eb4fc7103c74be9a8be508d2 100644
--- a/src/app/formulaire/definition/form-def-parallel-structures.ts
+++ b/src/app/formulaire/definition/form-def-parallel-structures.ts
@@ -25,7 +25,8 @@ export class FormDefParallelStructures {
         "cunge80": LoiDebit.Cunge80,
         "seuildenoye": LoiDebit.WeirFree,
         "vannenoye": LoiDebit.OrificeSubmerged,
-        "vannedenoye": LoiDebit.OrificeFree
+        "vannedenoye": LoiDebit.OrificeFree,
+        "kivi": LoiDebit.KIVI
     }
 
     /**
@@ -46,7 +47,7 @@ export class FormDefParallelStructures {
     }
 
     /**
-     * @return type d'ouvrage courant du FieldSet donné
+     * @return loi de débit courante du FieldSet donné
      */
     public getLoiDebit(fs: FieldSet): LoiDebit {
         if (fs.calculatorType !== CalculatorType.Structure)
diff --git a/src/app/formulaire/formulaire-element.ts b/src/app/formulaire/formulaire-element.ts
index c26714ac6cf4af593c6cf9bbfbec471f4b19ee28..34891354daf2024e8d795ae7139b9e91b1c593aa 100644
--- a/src/app/formulaire/formulaire-element.ts
+++ b/src/app/formulaire/formulaire-element.ts
@@ -128,7 +128,7 @@ export abstract class FormulaireElement extends FormulaireNode {
             let master: FormulaireElement = d.masterElement;
             if (d instanceof ExistenceDependency) {
                 let slave: FormulaireElement = this;
-                slave.isDisplayed = slave._isDisplayed || master.verifiesDependency(d);
+                slave.isDisplayed = slave._isDisplayed || (master.isDisplayed && master.verifiesDependency(d)); // le problème c'est que master.isDisplayed n'est pas forcément correct à ce moment précis...
             }
             else if (d instanceof ValueDependency) {
                 let vd = <ValueDependency>d;
diff --git a/src/locale/error_messages.fr.json b/src/locale/error_messages.fr.json
index 6f6bd4a506635f0d3ac9d8ea2d9f58de03f95255..d08817f011651620fee26500581836e228a4a4cf 100644
--- a/src/locale/error_messages.fr.json
+++ b/src/locale/error_messages.fr.json
@@ -86,5 +86,7 @@
     "INFO_OPTION_NO": "Non",
     "INFO_PABDIM_TITRE": "Passe à bassin&nbsp;: dimensions",
     "INFO_PABPUISS_TITRE": "Passe à bassin&nbsp;: puissance dissipée",
-    "INFO_OUVRAGEPARAL_TITRE": "Ouvrages en parallèle"
+    "INFO_OUVRAGEPARAL_TITRE": "Ouvrages en parallèle",
+    "WARNING_STRUCTUREKIVI_PELLE_TROP_FAIBLE": "La pelle du seuil doit mesurer au moins 0,1 m. Le coefficient béta est forcé à 0",
+    "WARNING_STRUCTUREKIVI_HP_TROP_ELEVE": "h/p ne doit pas être supérieur à 2,5. h/p est forcé à 2,5"
 }
\ No newline at end of file