diff --git a/src/Model/HydraulicStructures/Basic/Types.py b/src/Model/HydraulicStructures/Basic/Types.py
index 6a91a0f2ac20c9ac86ae75534658d8dd025f248c..bcceb49a2837d022430dec2775ef3cecd10dbf6a 100644
--- a/src/Model/HydraulicStructures/Basic/Types.py
+++ b/src/Model/HydraulicStructures/Basic/Types.py
@@ -41,23 +41,190 @@ class NotDefined(BasicHS):
         ]
 
 
-class Dummy(BasicHS):
+class SeuilDeversoir(BasicHS):
     def __init__(self, id: int = -1, name: str = "",
                  status=None):
-        super(Dummy, self).__init__(
+        super(SeuilDeversoir, self).__init__(
             id=id, name=name,
             status=status
         )
 
-        self._type = "DU"
+        self._type = "S1"
         self._data = [
-            BHSValue("foo", float, 0.0),
-            BHSValue("bar", float, 42.0),
-            BHSValue("baz", int, 13),
+            BHSValue("Cote", float, 1.0),
+            BHSValue("Largeur", float, 1.0),
+            BHSValue("Coefficient de debit", float, 0.4),
+        ]
+
+
+class SeuilTrapezoidal(BasicHS):
+    def __init__(self, id: int = -1, name: str = "",
+                 status=None):
+        super(SeuilTrapezoidal, self).__init__(
+            id=id, name=name,
+            status=status
+        )
+
+        self._type = "S2"
+        self._data = [
+            BHSValue("Cote", float, 1.0),
+            BHSValue("Largeur", float, 1.0),
+            BHSValue("Tangeante du demi angle", float, 1.0),
+            BHSValue("Coefficient de debit", float, 0.4),
+            BHSValue("Cote de mise en charge", float, 9999.0),
+        ]
+
+
+class SeuilTriangulaire(BasicHS):
+    def __init__(self, id: int = -1, name: str = "",
+                 status=None):
+        super(SeuilTriangulaire, self).__init__(
+            id=id, name=name,
+            status=status
+        )
+
+        self._type = "S3"
+        self._data = [
+            BHSValue("Cote", float, 1.0),
+            BHSValue("Tangeante du demi angle", float, 1.0),
+            BHSValue("Coefficient de debit", float, 0.4),
+            BHSValue("Cote de mise en charge", float, 9999.0),
+        ]
+
+
+class OrificeRectangulaire(BasicHS):
+    def __init__(self, id: int = -1, name: str = "",
+                 status=None):
+        super(OrificeRectangulaire, self).__init__(
+            id=id, name=name,
+            status=status
+        )
+
+        self._type = "OR"
+        self._data = [
+            BHSValue("Cote", float, 0.0),
+            BHSValue("Largeur", float, 0.0),
+            BHSValue("Cote de mise en charge", float, 9999.0),
+            BHSValue("Cote de mise en charge maximale", float, 9999.0),
+            BHSValue("Coefficient de debit", float, 0.4),
+        ]
+
+
+class OrificeCirculaire(BasicHS):
+    def __init__(self, id: int = -1, name: str = "",
+                 status=None):
+        super(OrificeCirculaire, self).__init__(
+            id=id, name=name,
+            status=status
+        )
+
+        self._type = "OC"
+        self._data = [
+            BHSValue("Cote", float, 0.0),
+            BHSValue("Diametre", float, 0.0),
+            BHSValue("hauteur envasement", float, 9999.0),
+            BHSValue("Coefficient de debit", float, 0.4),
+        ]
+
+
+class OrificeVoute(BasicHS):
+    def __init__(self, id: int = -1, name: str = "",
+                 status=None):
+        super(OrificeVoute, self).__init__(
+            id=id, name=name,
+            status=status
+        )
+
+        self._type = "OV"
+        self._data = [
+            BHSValue("Cote", float, 1.0),
+            BHSValue("Largeur", float, 1.0),
+            BHSValue("Haut de la voute", float, 0.0),
+            BHSValue("Bas de la voute", float, 0.0),
+            BHSValue("Coefficient de debit", float, 0.4),
+        ]
+
+
+class VanneRectangulaire(BasicHS):
+    def __init__(self, id: int = -1, name: str = "",
+                 status=None):
+        super(VanneRectangulaire, self).__init__(
+            id=id, name=name,
+            status=status
+        )
+
+        self._type = "V1"
+        self._data = [
+            BHSValue("Cote", float, 1.0),
+            BHSValue("Ouverture", float, 1.0),
+            BHSValue("Largeur", float, 1.0),
+            BHSValue("Coefficient de debit", float, 0.4),
+        ]
+
+
+class VanneRectangulaireSimplifiee(BasicHS):
+    def __init__(self, id: int = -1, name: str = "",
+                 status=None):
+        super(VanneRectangulaireSimplifiee, self).__init__(
+            id=id, name=name,
+            status=status
+        )
+
+        self._type = "V1"
+        self._data = [
+            BHSValue("Cote", float, 1.0),
+            BHSValue("Ouverture", float, 1.0),
+            BHSValue("Largeur", float, 1.0),
+            BHSValue("Coefficient de debit", float, 0.4),
+        ]
+
+
+
+class Borda(BasicHS):
+    def __init__(self, id: int = -1, name: str = "",
+                 status=None):
+        super(Borda, self).__init__(
+            id=id, name=name,
+            status=status
+        )
+
+        self._type = "BO"
+        self._data = [
+            BHSValue("Pas espace", float, 0.1),
+            BHSValue("Seuil", float, 0.15),
+            BHSValue("Coefficient", float, 0.4),
+        ]
+
+
+
+class UserDefined(BasicHS):
+    def __init__(self, id: int = -1, name: str = "",
+                 status=None):
+        super(UserDefined, self).__init__(
+            id=id, name=name,
+            status=status
+        )
+
+        self._type = "UD"
+        self._data = [
+            BHSValue("Parameter 1", float, 0.0),
+            BHSValue("Parameter 2", float, 0.0),
+            BHSValue("Parameter 3", float, 0.0),
+            BHSValue("Parameter 4", float, 0.0),
+            BHSValue("Parameter 5", float, 0.0),
         ]
 
 
 BHS_types = {
     "ND": NotDefined,
-    "DU": Dummy,
+    "S1": SeuilDeversoir,
+    "S2": SeuilTrapezoidal,
+    "S3": SeuilTriangulaire,
+    "OR": OrificeRectangulaire,
+    "OC": OrificeCirculaire,
+    "OV": OrificeVoute,
+    "V1": VanneRectangulaire,
+    "V2": VanneRectangulaireSimplifiee,
+    "BO": Borda,
+    "UD": UserDefined
 }
diff --git a/src/View/HydraulicStructures/BasicHydraulicStructures/Translate.py b/src/View/HydraulicStructures/BasicHydraulicStructures/Translate.py
index 89fb754c31db2b5c3e2f1347306f578ecb0f7cf9..c29d79c89358f3ba875eab093c7b3d0eaa7e500d 100644
--- a/src/View/HydraulicStructures/BasicHydraulicStructures/Translate.py
+++ b/src/View/HydraulicStructures/BasicHydraulicStructures/Translate.py
@@ -29,7 +29,16 @@ class BasicHydraulicStructuresTranslate(PamhyrTranslate):
 
         self._sub_dict["long_types"] = {
             "ND": _translate("BasicHydraulicStructures", "Not defined"),
-            "DU": _translate("BasicHydraulicStructures", "Dummy"),
+            "S1": _translate("BasicHydraulicStructures", "Seuil déversoir"),
+            "S2": _translate("BasicHydraulicStructures", "Seuil trapezoidal"),
+            "S3": _translate("BasicHydraulicStructures", "Seuil triangulaire"),
+            "OR": _translate("BasicHydraulicStructures", "Orifice rectangulaire"),
+            "OC": _translate("BasicHydraulicStructures", "Orifice circulaire"),
+            "OV": _translate("BasicHydraulicStructures", "Orifice voute"),
+            "V1": _translate("BasicHydraulicStructures", "Vanne rectangulaire"),
+            "V2": _translate("BasicHydraulicStructures", "Vanne rectangulaire simplifiée"),
+            "BO": _translate("BasicHydraulicStructures", "Perte de charge à la Borda"),
+            "UD": _translate("BasicHydraulicStructures", "User defined"),
         }
 
         self._sub_dict["table_headers"] = {