diff --git a/README.rst b/README.rst
index 4634ba4d613b72ca3212605f233d2d8b11af582a..f5b6d70af1870b42c35e07c385acb67fd2348f18 100644
--- a/README.rst
+++ b/README.rst
@@ -3,9 +3,9 @@
    :alt: License: AGPL-3
 
 
-=================================
+========================================
 Mutuelle des Scop et des Scic - Contacts
-=================================
+========================================
 
 Description
 ===========
diff --git a/__manifest__.py b/__manifest__.py
index aa5d5b7785b502bdc659c873013649aa5ab80ed7..449100516cba86d7bcc91f28836c910608ad684d 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -5,19 +5,30 @@
     "website": "https://le-filament.com",
     "version": "18.0.1.0.0",
     "license": "AGPL-3",
-    "depends": ["l10n_fr_state", "l10n_fr_department",
-                "l10n_fr_department_oversea", "lefilament_naf", "convention_collective"],
+    "depends": [
+        "l10n_fr_state",
+        "l10n_fr_department",
+        "l10n_fr_department_oversea",
+        "lefilament_naf",
+        "convention_collective",
+        "partner_firstname",
+    ],
     "data": [
         "security/ir.model.access.csv",
         # datas
-        "data/company_size.xml",
-        "data/union_regionale.xml",
         "data/federation.xml",
-        "data/company_type.xml",
-        "data/cooperative_form.xml",
+        "data/mucs_company_type.xml",
+        "data/mucs_company_size.xml",
+        "data/mucs_cooperative_form.xml",
+        "data/union_regionale.xml",
         # views
         "views/res_partner.xml",
         "views/mucs_contract.xml",
+        "views/mucs_commercial_event.xml",
+        "views/mucs_company_size.xml",
+        "views/mucs_company_type.xml",
+        "views/mucs_cooperative_form.xml",
+        "views/mucs_support_event.xml",
         "views/union_regionale.xml",
         # views menu
         "views/menus.xml",
@@ -33,4 +44,3 @@
     "installable": True,
     "auto_install": False,
 }
-
diff --git a/data/company_size.xml b/data/company_size.xml
deleted file mode 100644
index e202706d3d1a3d7f47e05c6e186f6c5e8671182c..0000000000000000000000000000000000000000
--- a/data/company_size.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<odoo>
-    <data noupdate="1">
-        <record id="1-5" model="company.size">
-            <field name="name">1 à 5</field>
-        </record>
-        <record id="5-15" model="company.size">
-            <field name="name">5 à 15</field>
-        </record>
-        <record id="15-50" model="company.size">
-            <field name="name">15 à 50</field>
-        </record>
-        <record id="50-100" model="company.size">
-            <field name="name">50 à 100</field>
-        </record>
-        <record id="+100" model="company.size">
-            <field name="name">plus de 100</field>
-        </record>
-    </data>
-</odoo>
diff --git a/data/company_type.xml b/data/company_type.xml
deleted file mode 100644
index 644786408f1188e5a6667bfc256d6c8f976280dc..0000000000000000000000000000000000000000
--- a/data/company_type.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" ?>
-<odoo>
-    <data noupdate="1">
-        <record id="riga_14675" model="company.type">
-            <field name="name">Artisan / Commerçant</field>
-            <field name="is_coop" eval="0" />
-        </record>
-
-        <record id="asso" model="company.type">
-            <field name="name">Association loi 1901 ou assimilée</field>
-            <field name="is_coop" eval="0" />
-        </record>
-
-        <record id="riga_14673" model="company.type">
-            <field name="name">Collectivité territoriale</field>
-            <field name="is_coop" eval="0" />
-        </record>
-
-        <record id="riga_14674" model="company.type">
-            <field name="name">Profession libérale</field>
-            <field name="is_coop" eval="0" />
-        </record>
-
-        <record id="SARL" model="company.type">
-            <field name="name">Société à Responsabilité Limitée (SARL)</field>
-            <field name="is_coop" eval="1" />
-        </record>
-
-        <record id="SARLU" model="company.type">
-            <field name="name">Société à Responsabilité Limitée (SARL) unipersonnelle</field>
-            <field name="is_coop" eval="0" />
-        </record>
-
-        <record id="SA" model="company.type">
-            <field name="name">Société Anonyme à Conseil d'Administration</field>
-            <field name="is_coop" eval="1" />
-        </record>
-
-        <record id="SA" model="company.type">
-            <field name="name">Société Anonyme à directoire</field>
-            <field name="is_coop" eval="1" />
-        </record>
-
-        <record id="riga_14677" model="company.type">
-            <field name="name">Société civile coopérative</field>
-            <field name="is_coop" eval="0" />
-        </record>
-
-        <record id="SCI" model="company.type">
-            <field name="name">Société Civile Immobilière (SCI)</field>
-            <field name="is_coop" eval="0" />
-        </record>
-
-        <record id="SELAS" model="company.type">
-            <field name="name">Société d exercice libéral par action simplifiée (SELAS)</field>
-            <field name="is_coop" eval="0" />
-        </record>
-
-        <record id="SAS" model="company.type">
-            <field name="name">Société par actions simplifiée (SAS)</field>
-            <field name="is_coop" eval="1" />
-        </record>
-
-        <record id="SAS" model="company.type">
-            <field name="name">Société par actions simplifiée à associé unique (SASU)</field>
-            <field name="is_coop" eval="0" />
-        </record>
-    </data>
-</odoo>
diff --git a/data/cooperative_form.xml b/data/cooperative_form.xml
deleted file mode 100644
index 838cfaa923892e1f819434df7712375cec9beaa1..0000000000000000000000000000000000000000
--- a/data/cooperative_form.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" ?>
-<odoo>
-    <data noupdate="1">
-        <record id="form_coop47" model="cooperative.form">
-            <field name="name">COOP47</field>
-        </record>
-
-        <record id="form_lamaneur" model="cooperative.form">
-            <field name="name">Lamaneur</field>
-        </record>
-
-        <record id="form_scic" model="cooperative.form">
-            <field name="name">SCIC</field>
-        </record>
-
-        <record id="form_scop" model="cooperative.form">
-            <field name="name">SCOP</field>
-        </record>
-
-        <record id="form_ues" model="cooperative.form">
-            <field name="name">UES</field>
-        </record>
-
-        <record id="form_unionscop" model="cooperative.form">
-            <field name="name">UNIONSCOP</field>
-        </record>
-
-        <record id="form_noncooperative" model="cooperative.form">
-            <field name="name">Non coopérative</field>
-        </record>
-    </data>
-</odoo>
diff --git a/data/federation.xml b/data/federation.xml
index fc7382c7e01ffb1ea97bf9a5e0acd2b92b2c966a..9e423131f3113ba7770d229ce74082c553a92dbc 100644
--- a/data/federation.xml
+++ b/data/federation.xml
@@ -1,24 +1,20 @@
 <?xml version="1.0" ?>
 <!-- Copyright 2019 Le Filament
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
-<odoo>
-    <data noupdate="1">
+<odoo noupdate="1">
+    <record id="COM" model="res.partner.federation">
+        <field name="name">Fed. des scop de la communication</field>
+    </record>
 
-        <record id="COM" model="res.partner.federation">
-            <field name="name">Fed. des scop de la communication</field>
-        </record>
+    <record id="IND" model="res.partner.federation">
+        <field name="name">Fed. des scop de l'industrie</field>
+    </record>
 
-        <record id="IND" model="res.partner.federation">
-            <field name="name">Fed. des scop de l'industrie</field>
-        </record>
+    <record id="BTP" model="res.partner.federation">
+        <field name="name">Fed. des scop du BTP</field>
+    </record>
 
-        <record id="BTP" model="res.partner.federation">
-            <field name="name">Fed. des scop du BTP</field>
-        </record>
-
-        <record id="CAE" model="res.partner.federation">
-            <field name="name">Fed. des CAE</field>
-        </record>
-
-    </data>
+    <record id="CAE" model="res.partner.federation">
+        <field name="name">Fed. des CAE</field>
+    </record>
 </odoo>
diff --git a/data/mucs_company_size.xml b/data/mucs_company_size.xml
new file mode 100644
index 0000000000000000000000000000000000000000..1e19b34fec9ef3510b5b24b5e48789765351f5ef
--- /dev/null
+++ b/data/mucs_company_size.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- TODO: noupdate en prod -->
+<odoo noupdate="O">
+    <record id="1-5" model="mucs.company.size">
+        <field name="name">1 à 5</field>
+    </record>
+    <record id="5-15" model="mucs.company.size">
+        <field name="name">5 à 15</field>
+    </record>
+    <record id="15-50" model="mucs.company.size">
+        <field name="name">15 à 50</field>
+    </record>
+    <record id="50-100" model="mucs.company.size">
+        <field name="name">50 à 100</field>
+    </record>
+    <record id="+100" model="mucs.company.size">
+        <field name="name">plus de 100</field>
+    </record>
+</odoo>
diff --git a/data/mucs_company_type.xml b/data/mucs_company_type.xml
new file mode 100644
index 0000000000000000000000000000000000000000..2c00c539baf7530cb5f15a846b7305dff2c17877
--- /dev/null
+++ b/data/mucs_company_type.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" ?>
+<!-- TODO: noupdate en prod -->
+<odoo noupdate="0">
+    <!-- TODO: Revoir les id externes pour plus de simplicité -->
+    <record id="riga_14675" model="mucs.company.type">
+        <field name="name">Artisan / Commerçant</field>
+        <field name="is_coop" eval="0" />
+    </record>
+
+    <record id="asso" model="mucs.company.type">
+        <field name="name">Association loi 1901 ou assimilée</field>
+        <field name="is_coop" eval="0" />
+    </record>
+
+    <record id="riga_14673" model="mucs.company.type">
+        <field name="name">Collectivité territoriale</field>
+        <field name="is_coop" eval="0" />
+    </record>
+
+    <record id="riga_14674" model="mucs.company.type">
+        <field name="name">Profession libérale</field>
+        <field name="is_coop" eval="0" />
+    </record>
+
+    <record id="SARL" model="mucs.company.type">
+        <field name="name">Société à Responsabilité Limitée (SARL)</field>
+        <field name="is_coop" eval="1" />
+    </record>
+
+    <record id="SARLU" model="mucs.company.type">
+        <field
+            name="name"
+        >Société à Responsabilité Limitée (SARL) unipersonnelle</field>
+        <field name="is_coop" eval="0" />
+    </record>
+
+    <record id="SA" model="mucs.company.type">
+        <field name="name">Société Anonyme à Conseil d'Administration</field>
+        <field name="is_coop" eval="1" />
+    </record>
+
+    <record id="SA" model="mucs.company.type">
+        <field name="name">Société Anonyme à directoire</field>
+        <field name="is_coop" eval="1" />
+    </record>
+
+    <record id="riga_14677" model="mucs.company.type">
+        <field name="name">Société civile coopérative</field>
+        <field name="is_coop" eval="0" />
+    </record>
+
+    <record id="SCI" model="mucs.company.type">
+        <field name="name">Société Civile Immobilière (SCI)</field>
+        <field name="is_coop" eval="0" />
+    </record>
+
+    <record id="SELAS" model="mucs.company.type">
+        <field
+            name="name"
+        >Société d exercice libéral par action simplifiée (SELAS)</field>
+        <field name="is_coop" eval="0" />
+    </record>
+
+    <record id="SAS" model="mucs.company.type">
+        <field name="name">Société par actions simplifiée (SAS)</field>
+        <field name="is_coop" eval="1" />
+    </record>
+
+    <record id="SAS" model="mucs.company.type">
+        <field
+            name="name"
+        >Société par actions simplifiée à associé unique (SASU)</field>
+        <field name="is_coop" eval="0" />
+    </record>
+</odoo>
diff --git a/data/mucs_cooperative_form.xml b/data/mucs_cooperative_form.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e7a01c6ed22d2ed25225a679452ff5481805bc13
--- /dev/null
+++ b/data/mucs_cooperative_form.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" ?>
+<!-- TODO: noupdate en prod -->
+<odoo noupdate="0">
+    <record id="form_coop47" model="mucs.cooperative.form">
+        <field name="name">COOP47</field>
+    </record>
+
+    <record id="form_lamaneur" model="mucs.cooperative.form">
+        <field name="name">Lamaneur</field>
+    </record>
+
+    <record id="form_scic" model="mucs.cooperative.form">
+        <field name="name">SCIC</field>
+    </record>
+
+    <record id="form_scop" model="mucs.cooperative.form">
+        <field name="name">SCOP</field>
+    </record>
+
+    <record id="form_ues" model="mucs.cooperative.form">
+        <field name="name">UES</field>
+    </record>
+
+    <record id="form_unionscop" model="mucs.cooperative.form">
+        <field name="name">UNIONSCOP</field>
+    </record>
+
+    <record id="form_noncooperative" model="mucs.cooperative.form">
+        <field name="name">Non coopérative</field>
+    </record>
+</odoo>
diff --git a/data/union_regionale.xml b/data/union_regionale.xml
index 29c7e1a7a75f4e0d62ca99671291f301e53359c8..dd8a5f59fe29e938a673eb072688ec6c50604ef8 100644
--- a/data/union_regionale.xml
+++ b/data/union_regionale.xml
@@ -1,69 +1,77 @@
 <?xml version="1.0" ?>
-<odoo>
-    <data noupdate="1">
-        <record id="riga_14231" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP ILE DE FRANCE CENTRE VAL DE LOIRE DOM-TOM</field>
-            <field name="name">IdF, Val de Loire, Dom Tom</field>
-        </record>
+<!-- TODO: noupdate en prod -->
+<odoo noupdate="0">
+    <!-- TODO: Revoir les id externes pour plus de simplicité -->
+    <record id="riga_14231" model="union.regionale">
+        <field
+            name="long_name"
+        >UNION REGIONALE DES SCOP ILE DE FRANCE CENTRE VAL DE LOIRE DOM-TOM</field>
+        <field name="name">IdF, Val de Loire, Dom Tom</field>
+    </record>
 
-        <record id="riga_14232" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP HAUTS DE FRANCE</field>
-            <field name="name">Hauts-de-France</field>
-        </record>
+    <record id="riga_14232" model="union.regionale">
+        <field name="long_name">UNION REGIONALE DES SCOP HAUTS DE FRANCE</field>
+        <field name="name">Hauts-de-France</field>
+    </record>
 
-        <record id="riga_14233" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP BOURGOGNE FRANCHE COMTE</field>
-            <field name="name">Bourgogne</field>
-        </record>
+    <record id="riga_14233" model="union.regionale">
+        <field name="long_name">UNION REGIONALE DES SCOP BOURGOGNE FRANCHE COMTE</field>
+        <field name="name">Bourgogne</field>
+    </record>
 
-        <record id="riga_14234" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP GRAND EST</field>
-            <field name="name">Est</field>
-        </record>
+    <record id="riga_14234" model="union.regionale">
+        <field name="long_name">UNION REGIONALE DES SCOP GRAND EST</field>
+        <field name="name">Est</field>
+    </record>
 
-        <record id="riga_14353" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP AUVERGNE RHONE ALPES</field>
-            <field name="name">AURA</field>
-        </record>
+    <record id="riga_14353" model="union.regionale">
+        <field name="long_name">UNION REGIONALE DES SCOP AUVERGNE RHONE ALPES</field>
+        <field name="name">AURA</field>
+    </record>
 
-        <record id="riga_14237" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP PROVENCE ALPES COTE D'AZUR CORSE</field>
-            <field name="name">Paca</field>
-        </record>
+    <record id="riga_14237" model="union.regionale">
+        <field
+            name="long_name"
+        >UNION REGIONALE DES SCOP PROVENCE ALPES COTE D'AZUR CORSE</field>
+        <field name="name">Paca</field>
+    </record>
 
-        <record id="riga_14238" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP D'OCCITANIE POLE PYRENEES</field>
-            <field name="name">Occitanie pole Pyrénées</field>
-        </record>
+    <record id="riga_14238" model="union.regionale">
+        <field
+            name="long_name"
+        >UNION REGIONALE DES SCOP D'OCCITANIE POLE PYRENEES</field>
+        <field name="name">Occitanie pole Pyrénées</field>
+    </record>
 
-        <record id="riga_14239" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP LIMOUSIN</field>
-            <field name="name">Limousin Berry</field>
-        </record>
+    <record id="riga_14239" model="union.regionale">
+        <field name="long_name">UNION REGIONALE DES SCOP LIMOUSIN</field>
+        <field name="name">Limousin Berry</field>
+    </record>
 
-        <record id="riga_14240" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP POITOU CHARENTES</field>
-            <field name="name">Poitou Charentes</field>
-        </record>
+    <record id="riga_14240" model="union.regionale">
+        <field name="long_name">UNION REGIONALE DES SCOP POITOU CHARENTES</field>
+        <field name="name">Poitou Charentes</field>
+    </record>
 
-        <record id="riga_14241" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP OUEST</field>
-            <field name="name">Ouest</field>
-        </record>
+    <record id="riga_14241" model="union.regionale">
+        <field name="long_name">UNION REGIONALE DES SCOP OUEST</field>
+        <field name="name">Ouest</field>
+    </record>
 
-        <record id="riga_14242" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP AQUITAINE</field>
-            <field name="name">Aquitaine</field>
-        </record>
+    <record id="riga_14242" model="union.regionale">
+        <field name="long_name">UNION REGIONALE DES SCOP AQUITAINE</field>
+        <field name="name">Aquitaine</field>
+    </record>
 
-        <record id="riga_14243" model="union.regionale">
-            <field name="long_name">UNION REGIONALE DES SCOP D'OCCITANIE POLE MEDITERRANEE</field>
-            <field name="name">Occitanie pole Méditérranée</field>
-        </record>
+    <record id="riga_14243" model="union.regionale">
+        <field
+            name="long_name"
+        >UNION REGIONALE DES SCOP D'OCCITANIE POLE MEDITERRANEE</field>
+        <field name="name">Occitanie pole Méditérranée</field>
+    </record>
 
-        <record id="ur_dom_tom" model="union.regionale">
-            <field name="long_name">PROGRAMME OUTRE MER</field>
-            <field name="name">POM</field>
-        </record>
-    </data>
+    <record id="ur_dom_tom" model="union.regionale">
+        <field name="long_name">PROGRAMME OUTRE MER</field>
+        <field name="name">POM</field>
+    </record>
 </odoo>
diff --git a/models/__init__.py b/models/__init__.py
index 1f79d3524318eb07522fef8b4372c9cd0f08c8c1..d9d2323b5666dfbb0caf81e266249138b3e082b8 100644
--- a/models/__init__.py
+++ b/models/__init__.py
@@ -1,7 +1,9 @@
+from . import mucs_commercial_event
+from . import mucs_company_size
+from . import mucs_company_type
+from . import mucs_contract
+from . import mucs_cooperative_form
+from . import mucs_support_event
 from . import res_partner
+from . import res_partner_federation
 from . import union_regionale
-from . import company_attrs
-from . import mucs_contract
-from . import meeting_event
-from . import mgmt_event
-
diff --git a/models/company_attrs.py b/models/company_attrs.py
deleted file mode 100644
index b337c3ae97764af8af60c259e6ef06b2b96eb199..0000000000000000000000000000000000000000
--- a/models/company_attrs.py
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2024- Le Filament (https://le-filament.com)
-# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
-
-from odoo import models, fields, api
-
-
-class CompanySize(models.Model):
-    _name = "company.size"
-    name = fields.Char("Taille d'entreprise")
-
-class CompanyType(models.Model):
-    _name = "company.type"
-    name = fields.Char("Type d'entreprise")
-    is_coop = fields.Boolean("Est un statut coopératif")
-
-class CooperativeForm(models.Model):
-    _name = "cooperative.form"
-    name = fields.Char("Forme coopérative")
diff --git a/models/meeting_event.py b/models/mucs_commercial_event.py
similarity index 81%
rename from models/meeting_event.py
rename to models/mucs_commercial_event.py
index 6ea798b4284df998b16c14640e56d439c300f4f7..f02dfdc0936f882b72a4d8b0f299613ab1121b17 100644
--- a/models/meeting_event.py
+++ b/models/mucs_commercial_event.py
@@ -1,21 +1,22 @@
 # Copyright 2024- Le Filament (https://le-filament.com)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
 
-from odoo import models, fields, api
+from odoo import fields, models
 
 
-class MeetingEvent(models.Model):
-    _name = "meeting.event"
+class MucsCommercialEvent(models.Model):
+    _name = "mucs.commercial.event"
+    _description = "Rendez-vous commerciaux"
+    _order = "date desc"
+    _rec_name = "partner_id"
 
-    date = fields.Date("Date")
+    date = fields.Date("Date", required=True)
+    partner_id = fields.Many2one(comodel_name="res.partner", required=True)
     name = fields.Char("Sujet")
     description = fields.Html("Description")
     # TODO tags ?
     # categ_ids = fields.Many2one("X")
 
-    # relations
-    partner_id = fields.Many2one(comodel_name="res.partner")
-
     # ------------------------------------------------------
     # Fields declaration
     # ------------------------------------------------------
diff --git a/models/mucs_company_size.py b/models/mucs_company_size.py
new file mode 100644
index 0000000000000000000000000000000000000000..112eadcf9574b70ac5109706911869940e13c105
--- /dev/null
+++ b/models/mucs_company_size.py
@@ -0,0 +1,11 @@
+# Copyright 2024- Le Filament (https://le-filament.com)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
+
+from odoo import fields, models
+
+
+class MucsCompanySize(models.Model):
+    _name = "mucs.company.size"
+    _description = "Tranches d'effectif"
+
+    name = fields.Char("Taille d'entreprise", required=True)
diff --git a/models/mucs_company_type.py b/models/mucs_company_type.py
new file mode 100644
index 0000000000000000000000000000000000000000..4fca36b8c4ee074cc2a67d4095743ea3b5045467
--- /dev/null
+++ b/models/mucs_company_type.py
@@ -0,0 +1,13 @@
+# Copyright 2024- Le Filament (https://le-filament.com)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
+
+from odoo import fields, models
+
+
+class MucsCompanyType(models.Model):
+    _name = "mucs.company.type"
+    _description = "Formes juridiques"
+
+    name = fields.Char("Type d'entreprise", required=True)
+    is_coop = fields.Boolean("Est un statut coopératif")
+    active = fields.Boolean("Actif", default=True)
diff --git a/models/mucs_contract.py b/models/mucs_contract.py
index a2fb5b3e72a328db22c300e20ba00f4c866c2f1c..94570a1881f356f09092e4c511d8164117859eb4 100644
--- a/models/mucs_contract.py
+++ b/models/mucs_contract.py
@@ -1,25 +1,25 @@
 # Copyright 2024- Le Filament (https://le-filament.com)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
 
-from odoo import models, fields, api
+from odoo import fields, models
 
 
 class Contract(models.Model):
     _name = "mucs.contract"
+    _description = "Contrats client"
 
-    number = fields.Char("Numéro de contrat")
+    name = fields.Char(compute="_compute_name")
+    date_start = fields.Date("Début du contrat", required=True)
+    date_end = fields.Date("Fin du contrat")
+    number = fields.Char("Numéro de contrat", required=True)
     # On attend d'avoir des données
     # product_id = fields.Many2one("Type de couverture")
-    type = fields.Char("Type de couverture") # will be computed on product_id
+    type = fields.Char("Type de couverture")  # will be computed on product_id
     member_count = fields.Integer("Effectifs adhérents")
     maybe_member_count = fields.Integer("Potentiel adhérents")
 
     # relations
-    partner_id = fields.Many2one(comodel_name="res.partner")
-
-    # ------------------------------------------------------
-    # Fields declaration
-    # ------------------------------------------------------
+    partner_id = fields.Many2one(comodel_name="res.partner", required=True)
 
     # ------------------------------------------------------
     # SQL Constraints
@@ -32,6 +32,9 @@ class Contract(models.Model):
     # ------------------------------------------------------
     # Computed fields / Search Fields
     # ------------------------------------------------------
+    def _compute_name(self):
+        for contract in self:
+            contract.name = f"{contract.number} - {contract.partner_id.name}"
 
     # ------------------------------------------------------
     # Onchange / Constraints
diff --git a/models/mucs_cooperative_form.py b/models/mucs_cooperative_form.py
new file mode 100644
index 0000000000000000000000000000000000000000..e84fe88b45003438b0775ba87e673a5e53b415de
--- /dev/null
+++ b/models/mucs_cooperative_form.py
@@ -0,0 +1,12 @@
+# Copyright 2024- Le Filament (https://le-filament.com)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
+
+from odoo import fields, models
+
+
+class MucsCooperativeForm(models.Model):
+    _name = "mucs.cooperative.form"
+    _description = "Formes coopératives"
+
+    name = fields.Char("Forme coopérative", required=True)
+    active = fields.Boolean("Actif", default=True)
diff --git a/models/mgmt_event.py b/models/mucs_support_event.py
similarity index 78%
rename from models/mgmt_event.py
rename to models/mucs_support_event.py
index 482445a8997398fa3b10392b2ff0be62f74c509f..461d4b0f10708c23c2094a690d6ea4ecb5f339fb 100644
--- a/models/mgmt_event.py
+++ b/models/mucs_support_event.py
@@ -1,20 +1,21 @@
 # Copyright 2024- Le Filament (https://le-filament.com)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
 
-from odoo import models, fields, api
+from odoo import fields, models
 
 
-class MgmtEvent(models.Model):
-    _name = "mgmt.event"
+class MucsSupportEvent(models.Model):
+    _name = "mucs.support.event"
+    _description = "Evenement support client"
+    _order = "date desc"
+    _rec_name = "partner_id"
 
-    date = fields.Date("Date")
+    date = fields.Date("Date", required=True)
+    partner_id = fields.Many2one(comodel_name="res.partner", required=True)
     qs = fields.Selection(string="Qualité de service", selection=[("s", "Satisfait")])
     theme = fields.Char("Thématique")
-    topic = fields.Html("Sujet")
-    resolution = fields.Char("Résolution")
-
-    # relations
-    partner_id = fields.Many2one(comodel_name="res.partner")
+    topic = fields.Text("Sujet")
+    resolution = fields.Text("Résolution")
 
     # ------------------------------------------------------
     # Fields declaration
diff --git a/models/res_partner.py b/models/res_partner.py
index 8942e6437a32e1ba13e78b8bde8167d0c995adf5..a51cf3036d14c2988e62dd1c228162decc524d77 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -1,8 +1,7 @@
 # Copyright 2024- Le Filament (https://le-filament.com)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
 
-from odoo import models, fields, api
-from odoo.exceptions import ValidationError
+from odoo import api, fields, models
 
 
 class ResPartner(models.Model):
@@ -14,8 +13,7 @@ class ResPartner(models.Model):
 
     is_cooperative = fields.Boolean("Est une coopérative")
     is_member_cgscop = fields.Boolean("Est adhérent à la CG SCOP")
-    company_size_id = fields.Many2one("company.size",
-                                      string="Tranche d'effectif")
+    company_size_id = fields.Many2one("company.size", string="Tranche d'effectif")
     company_size = fields.Integer(string="Effectif approximatif")
 
     # Note : peut-être utiliser l10n-france/l10n_fr_siret_lookup
@@ -27,18 +25,20 @@ class ResPartner(models.Model):
         store=True,
         readonly=False,
         copy=False,
-        tracking=True
+        tracking=True,
     )
     # Note : pour l'instant str, à changer vers m2o quand on y verra plus clair
     ccn_idcc = fields.Char("CCN Code", related="ccn_id.idcc")
     ccn_titre = fields.Char("CCN Label", related="ccn_id.titre")
 
-    is_member_sante = fields.Boolean("Adhérent Santé",
-                                     compute="_compute_is_member_sante")
+    is_member_sante = fields.Boolean(
+        "Adhérent Santé", compute="_compute_is_member_sante"
+    )
     is_member_unmi = fields.Boolean("Adhérent UNMI")
     is_member_mutex = fields.Boolean("Adhérent MUTEX")
-    type_rma_aid = fields.Selection(string="Assistance RMA",
-                                    selection=[("base", "Base")])
+    type_rma_aid = fields.Selection(
+        string="Assistance RMA", selection=[("base", "Base")]
+    )
 
     first_join_date = fields.Date("Date de première adhésion")
     membership = fields.Boolean("Adhésion")
@@ -46,16 +46,22 @@ class ResPartner(models.Model):
     motive = fields.Char("Motif")
 
     # overwrite state to compute it based on department which itself is computed from zip
-    state_id = fields.Many2one("res.country.state", string='State',
-                               ondelete='restrict',
-                               domain="[('country_id', '=?', country_id)]",
-                               related="country_department_id.state_id",
-                               )
+    state_id = fields.Many2one(
+        comodel_name="res.country.state",
+        string="State",
+        ondelete="restrict",
+        domain="[('country_id', '=?', country_id)]",
+        related="country_department_id.state_id",
+    )
 
     # relations -----
 
-    company_form = fields.Many2one("company.type", "Forme juridique")
-    cooperative_form = fields.Many2one("cooperative.form", "Forme coopérative")
+    company_form = fields.Many2one(
+        comodel_name="mucs.company.type", string="Forme juridique"
+    )
+    cooperative_form = fields.Many2one(
+        comodel_name="mucs.cooperative.form", string="Forme coopérative"
+    )
 
     ur_id = fields.Many2one(
         comodel_name="union.regionale",
@@ -63,28 +69,24 @@ class ResPartner(models.Model):
         index=True,
         ondelete="restrict",
     )
-    federation_ids = fields.Many2many(comodel_name="res.partner.federation",
-                                      string="Fédérations")
+    federation_ids = fields.Many2many(
+        comodel_name="res.partner.federation", string="Fédérations"
+    )
 
     contract_id = fields.One2many(
-        string="Contrats",
         comodel_name="mucs.contract",
         inverse_name="partner_id",
+        string="Contrats",
     )
     # child_ids (odoo) Contacts
-    lead_ids = fields.One2many(
-        string="Opportunités",
-        comodel_name="crm.lead",
-        inverse_name="partner_id",
-    )
     meeting_ids = fields.One2many(
         string="Suivi commercial",
-        comodel_name="meeting.event",
+        comodel_name="mucs.commercial.event",
         inverse_name="partner_id",
     )
     mgmt_event_ids = fields.One2many(
         string="Suivi de gestion",
-        comodel_name="mgmt.event",
+        comodel_name="mucs.support.event",
         inverse_name="partner_id",
     )
 
@@ -117,12 +119,12 @@ class ResPartner(models.Model):
     # Onchange / Constraints
     # ------------------------------------------------------
 
-    @api.constrains('is_cooperative', 'is_company')
+    @api.constrains("is_cooperative", "is_company")
     def _check_individual_not_cooperative(self):
         for record in self:
             if record.is_cooperative and not record.is_company:
                 # raise ValidationError("An individual can not be a cooperative")
-                pass # gênant pour les contacts créés à partir d'une coopérative
+                pass  # gênant pour les contacts créés à partir d'une coopérative
 
     # ------------------------------------------------------
     # CRUD methods (ORM overrides)
diff --git a/models/res_partner_federation.py b/models/res_partner_federation.py
new file mode 100644
index 0000000000000000000000000000000000000000..27b18ccfc5a2229f3d19644216c0b414aa8cbef3
--- /dev/null
+++ b/models/res_partner_federation.py
@@ -0,0 +1,11 @@
+# © 2024 Le Filament (<http://www.le-filament.com>)
+# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
+
+from odoo import fields, models
+
+
+class ResPartnerFederation(models.Model):
+    _name = "res.partner.federation"
+    _description = "Fédérations Coopératives"
+
+    name = fields.Char("Fédération", required=True)
diff --git a/models/union_regionale.py b/models/union_regionale.py
index fa8e486b289ee41e47c1da2273e7e314bb9c962b..77395da58f6379d574f48e02eb73ab8c4f4c0bb9 100644
--- a/models/union_regionale.py
+++ b/models/union_regionale.py
@@ -16,9 +16,3 @@ class UnionRegional(models.Model):
     _sql_constraints = [
         ("name_uniq", "unique (name)", "Cette Union Régionale existe déjà !")
     ]
-
-class ResPartnerFederation(models.Model):
-    _name = "res.partner.federation"
-    _description = "Fédérations"
-
-    name = fields.Char("Fédération")
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
index 2e6312117efd454cc759e2d1cc02883a184a6697..e50ac00c8d6e32f9083d111fa6f30d84d503c78c 100644
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -1,10 +1,11 @@
 id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
+access_mucs_company_size,access_mucs_company_size,model_mucs_company_size,base.group_user,1,0,0,0
+access_mucs_company_size_admin,access_mucs_company_size_admin,model_mucs_company_size,base.group_erp_manager,1,1,1,1
+access_mucs_contract,access_mucs_contract,model_mucs_contract,base.group_user,1,1,1,1
+access_mucs_commercial_event,access_mucs_commercial_event,model_mucs_commercial_event,base.group_user,1,1,1,1
+access_mucs_support_event,access_mucs_support_event,model_mucs_support_event,base.group_user,1,1,1,1
+access_res_partner_federation,access_res_partner_federation,model_res_partner_federation,base.group_user,1,0,0,0
+access_mucs_company_type,access_mucs_company_type,model_mucs_company_type,base.group_user,1,0,0,0
+access_mucs_cooperative_form,access_mucs_cooperative_form,model_mucs_cooperative_form,base.group_user,1,0,0,0
 access_union_regionale,access_union_regionale,model_union_regionale,base.group_user,1,0,0,0
 admin_union_regionale,admin_union_regionale,model_union_regionale,base.group_erp_manager,1,1,1,1
-access_company_size,access_company_size,model_company_size,base.group_user,1,0,0,0
-access_mucs_contract,access_mucs_contract,model_mucs_contract,base.group_user,1,1,1,1
-access_meeting_event,access_meeting_event,model_meeting_event,base.group_user,1,1,1,1
-access_mgmt_event,access_mgmt_event,model_mgmt_event,base.group_user,1,1,1,1
-access_res_partner_federation,access_res_partner_federation,model_res_partner_federation,base.group_user,1,1,1,1
-access_company_type,access_company_type,model_company_type,base.group_user,1,1,1,1
-access_cooperative_form,access_cooperative_form,model_cooperative_form,base.group_user,1,1,1,1
diff --git a/views/menus.xml b/views/menus.xml
index 0c3a22492690f8fdc994c699e2d0964cfab42efb..464438d8a7982197d4eae22646299ea37ad6b6b0 100644
--- a/views/menus.xml
+++ b/views/menus.xml
@@ -7,16 +7,87 @@
         name="Coopératives"
         parent="contacts.menu_contacts"
         action="coop_partner_action"
+        sequence="10"
     />
+    <!-- Menu Tous les contacts -->
+    <record model="ir.ui.menu" id="contacts.res_partner_menu_contacts">
+        <field name="sequence">30</field>
+    </record>
 
+    <!-- Analyse -->
+    <menuitem
+        id="menu_mucs_analysis"
+        name="Analyse"
+        parent="contacts.menu_contacts"
+        sequence="50"
+    />
+    <!-- Contrats -->
+    <menuitem
+        id="menu_mucs_contract"
+        name="Contrats"
+        parent="menu_mucs_analysis"
+        action="mucs_contract_action"
+        sequence="10"
+    />
+    <!-- Suivi commercial -->
+    <menuitem
+        id="menu_mucs_commercial_event"
+        name="Suivi commercial"
+        parent="menu_mucs_analysis"
+        action="mucs_commercial_event_action"
+        sequence="20"
+    />
+    <!-- Support -->
+    <menuitem
+        id="menu_mucs_support_event"
+        name="Support"
+        parent="menu_mucs_analysis"
+        action="mucs_support_event_action"
+        sequence="40"
+    />
 
-    <!-- Configuration -->
+    <!-- Configuration MUCS -->
+    <menuitem
+        id="menu_mucs_config"
+        name="Paramètres MUCS"
+        parent="contacts.menu_contacts"
+        sequence="100"
+    />
+    <!-- Formes Juridiques -->
+    <menuitem
+        id="menu_mucs_company_type"
+        name="Formes Juridiques"
+        parent="menu_mucs_config"
+        action="mucs_company_type_action"
+        sequence="10"
+    />
+    <!-- Formes coopératives -->
+    <menuitem
+        id="menu_mucs_company_form"
+        name="Formes coopératives"
+        parent="menu_mucs_config"
+        action="mucs_cooperative_form_action"
+        sequence="20"
+    />
+    <!-- Tranches d'effectif -->
+    <menuitem
+        id="menu_union_regionale"
+        name="Tranches d'effectif"
+        parent="menu_mucs_config"
+        action="mucs_company_size_action"
+        sequence="70"
+    />
     <!-- Union Regionales -->
     <menuitem
         id="menu_union_regionale"
         name="Unions Régionales"
-        parent="contacts.menu_contacts"
-        action="union_regionale_act_window"
-        sequence="20"
+        parent="menu_mucs_config"
+        action="union_regionale_action"
+        sequence="80"
     />
+
+    <!-- Configuration Générale -->
+    <record model="ir.ui.menu" id="contacts.res_partner_menu_config">
+        <field name="sequence">200</field>
+    </record>
 </odoo>
diff --git a/views/mucs_commercial_event.xml b/views/mucs_commercial_event.xml
new file mode 100644
index 0000000000000000000000000000000000000000..b995abdb01111467cbec2edd7ed0eba7ba23d356
--- /dev/null
+++ b/views/mucs_commercial_event.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2024- Le Filament (https://le-filament.com)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <!-- Search -->
+    <record id="mucs_commercial_event_search" model="ir.ui.view">
+        <field name="name">mucs.commercial.event.search</field>
+        <field name="model">mucs.commercial.event</field>
+        <field name="arch" type="xml">
+            <search>
+                <field name="partner_id" />
+                <field name="name" />
+                <field name="description" />
+                <filter name="date" date="date" string="Début de demande" />
+                <group expand="0" name="group_by" string="Grouper par">
+                    <filter
+                        name="group_partner_id"
+                        string="Client"
+                        domain="[]"
+                        context="{'group_by' : 'partner_id'}"
+                    />
+                    <filter
+                        name="group_date"
+                        string="Date de demande"
+                        domain="[]"
+                        context="{'group_by' : 'date'}"
+                    />
+                    <filter
+                        name="group_name"
+                        string="Sujet"
+                        domain="[]"
+                        context="{'group_by' : 'name'}"
+                    />
+                </group>
+            </search>
+        </field>
+    </record>
+
+    <!-- Form -->
+    <record id="mucs_commercial_event_view_from" model="ir.ui.view">
+        <field name="name">mucs.commercial.event.form</field>
+        <field name="model">mucs.commercial.event</field>
+        <field name="arch" type="xml">
+            <form>
+                <sheet>
+                    <group>
+                        <group>
+                            <field name="date" />
+                            <field name="partner_id" />
+                            <field name="name" />
+                        </group>
+                        <group />
+                    </group>
+                    <separator string="Description" />
+                    <field name="description" />
+                </sheet>
+            </form>
+        </field>
+    </record>
+
+    <!-- List -->
+    <record id="mucs_commercial_event_view_list" model="ir.ui.view">
+        <field name="name">mucs.commercial.event.list</field>
+        <field name="model">mucs.commercial.event</field>
+        <field name="arch" type="xml">
+            <list>
+                <field name="date" />
+                <field name="partner_id" />
+                <field name="name" />
+            </list>
+        </field>
+    </record>
+
+    <!-- Pivot -->
+    <record id="mucs_commercial_event_view_pivot" model="ir.ui.view">
+        <field name="name">mucs.commercial.event.pivot</field>
+        <field name="model">mucs.commercial.event</field>
+        <field name="arch" type="xml">
+            <pivot>
+                <field name="partner_id" type="row" />
+                <field name="date" interval="month" type="col" />
+            </pivot>
+        </field>
+    </record>
+
+    <!-- Graph -->
+    <record id="mucs_commercial_event_view_graph" model="ir.ui.view">
+        <field name="name">mucs.commercial.event.graph</field>
+        <field name="model">mucs.commercial.event</field>
+        <field name="arch" type="xml">
+            <graph>
+                <field name="partner_id" />
+                <field name="date" interval="month" />
+            </graph>
+        </field>
+    </record>
+
+    <!-- Action -->
+    <record id="mucs_commercial_event_action" model="ir.actions.act_window">
+        <field name="name">Suivi commercial</field>
+        <field name="type">ir.actions.act_window</field>
+        <field name="res_model">mucs.commercial.event</field>
+        <field name="view_mode">list,pivot,graph,form</field>
+        <field name="path">suivi-commercial</field>
+    </record>
+</odoo>
diff --git a/views/mucs_company_size.xml b/views/mucs_company_size.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d765d075466d268d759a434d01b43e8efdcb47c3
--- /dev/null
+++ b/views/mucs_company_size.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" ?>
+<!-- Copyright 2024 Le Filament
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <!-- List -->
+    <record model="ir.ui.view" id="mucs_company_size_tree_view">
+        <field name="name">mucs.company.size.list</field>
+        <field name="model">mucs.company.size</field>
+        <field name="arch" type="xml">
+            <list editable="top">
+                <field name="name" />
+            </list>
+        </field>
+    </record>
+
+    <!-- Action -->
+    <record model="ir.actions.act_window" id="mucs_company_size_action">
+        <field name="name">Tranches d'effectif</field>
+        <field name="res_model">mucs.company.size</field>
+        <field name="path">effectif</field>
+        <field name="view_mode">list,form</field>
+    </record>
+</odoo>
diff --git a/views/mucs_company_type.xml b/views/mucs_company_type.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3323f887bf0351e2998769cfdd8b9d3a3aaf76dc
--- /dev/null
+++ b/views/mucs_company_type.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" ?>
+<!-- Copyright 2024 Le Filament
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <!-- List -->
+    <record model="ir.ui.view" id="mucs_company_type_tree_view">
+        <field name="name">mucs.company.type.list</field>
+        <field name="model">mucs.company.type</field>
+        <field name="arch" type="xml">
+            <list editable="top">
+                <field name="name" />
+                <field name="is_coop" />
+            </list>
+        </field>
+    </record>
+
+    <!-- Action -->
+    <record model="ir.actions.act_window" id="mucs_company_type_action">
+        <field name="name">Formes juridiques</field>
+        <field name="res_model">mucs.company.type</field>
+        <field name="path">forme-juridique</field>
+        <field name="view_mode">list,form</field>
+    </record>
+</odoo>
diff --git a/views/mucs_contract.xml b/views/mucs_contract.xml
index 8702b23dd6cd185364ca02d468fdb0e503fbee3d..0745d082a1318c6538040701698a41b40f57f063 100644
--- a/views/mucs_contract.xml
+++ b/views/mucs_contract.xml
@@ -2,26 +2,96 @@
 <!-- Copyright 2024- Le Filament (https://le-filament.com)
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
-    <record id="mucs_contract_action" model="ir.actions.act_window">
-        <field name="name">Contracts</field>
-        <field name="type">ir.actions.act_window</field>
-        <field name="res_model">mucs.contract</field>
-        <field name="view_mode">list,form</field>
-        <field name="path">contract</field>
+    <!-- Search -->
+    <record id="mucs_contract_view_search" model="ir.ui.view">
+        <field name="name">mucs.contract.search</field>
+        <field name="model">mucs.contract</field>
+        <field name="arch" type="xml">
+            <search>
+                <field name="partner_id" />
+                <field name="number" />
+                <filter name="date_start" date="date_start" string="Début de contrat" />
+                <filter name="date_end" date="date_end" string="Fin de contrat" />
+                <group expand="0" name="group_by" string="Group By">
+                    <filter
+                        name="group_type"
+                        string="Type"
+                        domain="[]"
+                        context="{'group_by' : 'type'}"
+                    />
+                    <filter
+                        name="group_partner_id"
+                        string="Client"
+                        domain="[]"
+                        context="{'group_by' : 'partner_id'}"
+                    />
+                </group>
+            </search>
+        </field>
     </record>
-
+    <!-- Form -->
+    <record id="mucs_contract_view_form" model="ir.ui.view">
+        <field name="name">mucs.contract.form</field>
+        <field name="model">mucs.contract</field>
+        <field name="arch" type="xml">
+            <form>
+                <group>
+                    <group>
+                        <field name="number" />
+                        <field name="partner_id" />
+                        <field name="type" />
+                    </group>
+                    <group>
+                        <field name="member_count" />
+                        <field name="maybe_member_count" />
+                    </group>
+                </group>
+            </form>
+        </field>
+    </record>
+    <!-- List -->
     <record id="mucs_contract_view_list" model="ir.ui.view">
         <field name="name">mucs.contract.list</field>
         <field name="model">mucs.contract</field>
         <field name="arch" type="xml">
             <list>
-                <field name="number"/>
-                <field name="type"/>
-                <field name="member_count"/>
-                <field name="maybe_member_count"/>
-                <field name="partner_id"/>
+                <field name="number" />
+                <field name="partner_id" />
+                <field name="type" />
+                <field name="member_count" />
+                <field name="maybe_member_count" />
             </list>
         </field>
     </record>
+    <!-- Pivot -->
+    <record id="mucs_contract_view_pivot" model="ir.ui.view">
+        <field name="name">mucs.contract.pivot</field>
+        <field name="model">mucs.contract</field>
+        <field name="arch" type="xml">
+            <pivot>
+                <field name="partner_id" type="row" />
+                <field name="date_start" interval="month" type="col" />
+            </pivot>
+        </field>
+    </record>
+    <!-- Graph -->
+    <record id="mucs_contract_view_graph" model="ir.ui.view">
+        <field name="name">mucs.contract.graph</field>
+        <field name="model">mucs.contract</field>
+        <field name="arch" type="xml">
+            <graph>
+                <field name="partner_id" />
+                <field name="date_start" interval="month" />
+            </graph>
+        </field>
+    </record>
 
+    <!-- Action -->
+    <record id="mucs_contract_action" model="ir.actions.act_window">
+        <field name="name">Contracts</field>
+        <field name="type">ir.actions.act_window</field>
+        <field name="res_model">mucs.contract</field>
+        <field name="view_mode">list,pivot,graph,form</field>
+        <field name="path">contract</field>
+    </record>
 </odoo>
diff --git a/views/mucs_cooperative_form.xml b/views/mucs_cooperative_form.xml
new file mode 100644
index 0000000000000000000000000000000000000000..afc9c0e157632e89e6d02ac5cfaa760cfaf44033
--- /dev/null
+++ b/views/mucs_cooperative_form.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" ?>
+<!-- Copyright 2024 Le Filament
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <!-- List -->
+    <record model="ir.ui.view" id="mucs_cooperative_form_tree_view">
+        <field name="name">mucs.cooperative.form.list</field>
+        <field name="model">mucs.cooperative.form</field>
+        <field name="arch" type="xml">
+            <list editable="top">
+                <field name="name" />
+            </list>
+        </field>
+    </record>
+
+    <!-- Action -->
+    <record model="ir.actions.act_window" id="mucs_cooperative_form_action">
+        <field name="name">Formes coopératives</field>
+        <field name="res_model">mucs.cooperative.form</field>
+        <field name="path">forme-cooperative</field>
+        <field name="view_mode">list,form</field>
+    </record>
+</odoo>
diff --git a/views/mucs_support_event.xml b/views/mucs_support_event.xml
new file mode 100644
index 0000000000000000000000000000000000000000..02b44015d5ec1eedd2040e2a038dadb80e3bad01
--- /dev/null
+++ b/views/mucs_support_event.xml
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!-- Copyright 2024- Le Filament (https://le-filament.com)
+     License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
+<odoo>
+    <!-- Search -->
+    <record id="mucs_support_event_search" model="ir.ui.view">
+        <field name="name">mucs.support.event.search</field>
+        <field name="model">mucs.support.event</field>
+        <field name="arch" type="xml">
+            <search>
+                <field name="partner_id" />
+                <field name="topic" />
+                <field name="resolution" />
+                <filter name="date" date="date" string="Début de demande" />
+                <group expand="0" name="group_by" string="Grouper par">
+                    <filter
+                        name="group_qs"
+                        string="Type"
+                        domain="[]"
+                        context="{'group_by' : 'qs'}"
+                    />
+                    <filter
+                        name="group_partner_id"
+                        string="Client"
+                        domain="[]"
+                        context="{'group_by' : 'partner_id'}"
+                    />
+                    <filter
+                        name="group_date"
+                        string="Date de demande"
+                        domain="[]"
+                        context="{'group_by' : 'date'}"
+                    />
+                    <filter
+                        name="group_theme"
+                        string="Thématique"
+                        domain="[]"
+                        context="{'group_by' : 'theme'}"
+                    />
+                </group>
+            </search>
+        </field>
+    </record>
+
+    <!-- Form -->
+    <record id="mucs_support_event_view_from" model="ir.ui.view">
+        <field name="name">mucs.support.event.form</field>
+        <field name="model">mucs.support.event</field>
+        <field name="arch" type="xml">
+            <form>
+                <sheet>
+                    <group>
+                        <group>
+                            <field name="date" />
+                            <field name="partner_id" />
+                        </group>
+                        <group>
+                            <field name="qs" />
+                            <field name="theme" />
+                        </group>
+                    </group>
+                    <field name="topic" />
+                    <field name="resolution" />
+                </sheet>
+            </form>
+        </field>
+    </record>
+
+    <!-- List -->
+    <record id="mucs_support_event_view_list" model="ir.ui.view">
+        <field name="name">mucs.support.event.list</field>
+        <field name="model">mucs.support.event</field>
+        <field name="arch" type="xml">
+            <list>
+                <field name="date" />
+                <field name="partner_id" />
+                <field name="qs" />
+                <field name="theme" />
+            </list>
+        </field>
+    </record>
+
+    <!-- Pivot -->
+    <record id="mucs_support_event_view_pivot" model="ir.ui.view">
+        <field name="name">mucs.support.event.pivot</field>
+        <field name="model">mucs.support.event</field>
+        <field name="arch" type="xml">
+            <pivot>
+                <field name="partner_id" type="row" />
+                <field name="date" interval="month" type="col" />
+            </pivot>
+        </field>
+    </record>
+
+    <!-- Graph -->
+    <record id="mucs_support_event_view_graph" model="ir.ui.view">
+        <field name="name">mucs.support.event.graph</field>
+        <field name="model">mucs.support.event</field>
+        <field name="arch" type="xml">
+            <graph>
+                <field name="partner_id" />
+                <field name="date" interval="month" />
+            </graph>
+        </field>
+    </record>
+
+    <!-- Action -->
+    <record id="mucs_support_event_action" model="ir.actions.act_window">
+        <field name="name">Support</field>
+        <field name="type">ir.actions.act_window</field>
+        <field name="res_model">mucs.support.event</field>
+        <field name="view_mode">list,pivot,graph,form</field>
+        <field name="path">suivi-support</field>
+    </record>
+</odoo>
diff --git a/views/res_partner.xml b/views/res_partner.xml
index 8566acdf1049705b969e6f72fa3bc78b7776b9bc..8811c4d57db3dd19f1f598640ccbdefbbca4279f 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -2,13 +2,11 @@
 <!-- Copyright 2024- Le Filament (https://le-filament.com)
      License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
 <odoo>
-    <!-- View -->
-
     <!-- Form -->
     <record id="view_partner_form_inherit" model="ir.ui.view">
         <field name="name">res.partner.form.inherit</field>
         <field name="model">res.partner</field>
-        <field name="inherit_id" ref="base.view_partner_form"/>
+        <field name="inherit_id" ref="base.view_partner_form" />
         <field name="priority">100</field>
         <field name="arch" type="xml">
             <!-- hide fields added by ccn and naf module because they are shown later-->
@@ -37,8 +35,7 @@
                 <attribute name="invisible">True</attribute>
             </xpath>
             <!-- focus on company details instead -->
-            <xpath expr="//page[@name='contact_addresses']"
-                   position="attributes">
+            <xpath expr="//page[@name='contact_addresses']" position="attributes">
                 <attribute name="autofocus">not is_company</attribute>
             </xpath>
             <!-- entreprise + environnement -->
@@ -53,31 +50,44 @@
                     <group>
                         <group>
                             <!--<field name="siret"/>-->
-                            <field name="siret" readonly="1"
-                                   widget="CopyClipboardChar"/>
-                            <field name="siren" readonly="1"
-                                   widget="CopyClipboardChar"/>
-                            <field name="company_size_id"/>
-                            <field name="company_size"/>
-                            <field name="company_form"/>
-                            <field name="naf_id" string="APE"/>
+                            <field
+                                name="siret"
+                                readonly="1"
+                                widget="CopyClipboardChar"
+                            />
+                            <field
+                                name="siren"
+                                readonly="1"
+                                widget="CopyClipboardChar"
+                            />
+                            <field name="company_size_id" />
+                            <field name="company_size" />
+                            <field name="company_form" />
+                            <field name="naf_id" string="APE" />
                             <!--<field name="ccn_id"/>-->
-                            <field name="ccn_idcc" string="Numéro CCN"/>
-                            <field name="ccn_titre" string="Intitulé"/>
+                            <field name="ccn_idcc" string="Numéro CCN" />
+                            <field name="ccn_titre" string="Intitulé" />
                         </group>
                         <group>
-                            <field name="is_cooperative"/>
-                            <field name="ur_id" invisible="not is_cooperative"/>
-                            <field name="federation_ids" widget="many2many_tags"
-                                   invisible="not is_cooperative"/>
-                            <field name="is_member_cgscop"
-                                   invisible="not is_cooperative"/>
-                            <field name="cooperative_form"
-                                   invisible="not is_cooperative"/>
+                            <field name="is_cooperative" />
+                            <field name="ur_id" invisible="not is_cooperative" />
+                            <field
+                                name="federation_ids"
+                                widget="many2many_tags"
+                                invisible="not is_cooperative"
+                            />
+                            <field
+                                name="is_member_cgscop"
+                                invisible="not is_cooperative"
+                            />
+                            <field
+                                name="cooperative_form"
+                                invisible="not is_cooperative"
+                            />
                         </group>
                     </group>
                     <group string="Descriptif Activité">
-                        <field name="comment" nolabel="1"/>
+                        <field name="comment" nolabel="1" />
                     </group>
                 </page>
 
@@ -89,33 +99,33 @@
                 >
                     <group>
                         <group>
-                            <field name="is_member_sante"/>
-                            <field name="is_member_unmi"/>
+                            <field name="is_member_sante" />
+                            <field name="is_member_unmi" />
                         </group>
                         <group>
-                            <field name="is_member_mutex"/>
-                            <field name="type_rma_aid"/>
+                            <field name="is_member_mutex" />
+                            <field name="type_rma_aid" />
                         </group>
                     </group>
-                    <separator/>
+                    <separator />
                     <group>
                         <group>
-                            <field name="first_join_date"/>
-                            <field name="membership"/>
+                            <field name="first_join_date" />
+                            <field name="membership" />
                         </group>
                         <group>
-                            <field name="removal"/>
-                            <field name="motive"/>
+                            <field name="removal" />
+                            <field name="motive" />
                         </group>
                     </group>
-                    <separator/>
+                    <separator />
                     <group string="Contrats">
                         <field name="contract_id" nolabel="1">
                             <list>
-                                <field name="number"/>
-                                <field name="type"/>
-                                <field name="member_count"/>
-                                <field name="maybe_member_count"/>
+                                <field name="number" />
+                                <field name="type" />
+                                <field name="member_count" />
+                                <field name="maybe_member_count" />
                             </list>
                         </field>
                     </group>
@@ -133,8 +143,8 @@
                     <group string="Synthèse activité développement">
                         <field name="meeting_ids" nolabel="1">
                             <list>
-                                <field name="date"/>
-                                <field name="name"/>
+                                <field name="date" />
+                                <field name="name" />
                             </list>
                         </field>
                     </group>
@@ -148,25 +158,15 @@
                     <group string="Synthèse activité gestion">
                         <field name="mgmt_event_ids" nolabel="1">
                             <list>
-                                <field name="date"/>
-                                <field name="qs"/>
-                                <field name="theme"/>
-                                <field name="topic"/>
-                                <field name="resolution"/>
+                                <field name="date" />
+                                <field name="qs" />
+                                <field name="theme" />
+                                <field name="topic" />
+                                <field name="resolution" />
                             </list>
                         </field>
                     </group>
                 </page>
-                <!-- leads -->
-                <page
-                    name="leads"
-                    string="Opportunités"
-                    invisible="not is_company"
-                >
-                    <group string="Leads">
-                        <field name="lead_ids" nolabel="1"/>
-                    </group>
-                </page>
             </xpath>
         </field>
     </record>
@@ -175,12 +175,12 @@
     <record id="view_partner_tree" model="ir.ui.view">
         <field name="name">res.partner.list</field>
         <field name="model">res.partner</field>
-        <field name="inherit_id" ref="base.view_partner_tree"/>
+        <field name="inherit_id" ref="base.view_partner_tree" />
         <field name="arch" type="xml">
             <xpath expr="//field[@name='complete_name']" position="after">
-                <field name="ur_id" optional="hide"/>
-                <field name="state_id" optional="hide"/>
-                <field name="country_department_id" optional="hide"/>
+                <field name="ur_id" optional="hide" />
+                <field name="state_id" optional="hide" />
+                <field name="country_department_id" optional="hide" />
             </xpath>
         </field>
     </record>
@@ -189,11 +189,11 @@
     <record id="search_partner" model="ir.ui.view">
         <field name="name">res.partner.search</field>
         <field name="model">res.partner</field>
-        <field name="inherit_id" ref="base.view_res_partner_filter"/>
+        <field name="inherit_id" ref="base.view_res_partner_filter" />
         <field name="arch" type="xml">
             <!-- Search -->
             <xpath expr="//field[@name='name']" position="after">
-                <field name="ur_id"/>
+                <field name="ur_id" />
             </xpath>
             <!-- Filters -->
             <!--            <xpath expr="//filter[@name='inactive']" position="before">-->
@@ -210,24 +210,22 @@
             <!--            </xpath>-->
             <!-- Group -->
             <xpath expr="//filter[@name='salesperson']" position="before">
-                <filter string="Région" name="group_state_id"
-                        context="{'group_by': 'state_id'}"/>
+                <filter
+                    string="Région"
+                    name="group_state_id"
+                    context="{'group_by': 'state_id'}"
+                />
             </xpath>
         </field>
     </record>
 
-
     <!-- Action -->
-    <record id="contacts.action_contacts" model="ir.actions.act_window">
-        <field name="domain">[('is_cooperative', '!=', True)]</field>
-    </record>
-
     <record id="coop_partner_action" model="ir.actions.act_window">
         <field name="name">Coopératives</field>
         <field name="type">ir.actions.act_window</field>
         <field name="res_model">res.partner</field>
-        <field name="view_mode">list,form</field>
-        <field name="search_view_id" ref="search_partner"/>
+        <field name="view_mode">list,pivot,graph,form</field>
+        <field name="search_view_id" ref="search_partner" />
         <field name="domain">[('is_cooperative', '=', True)]</field>
         <field name="path">coop</field>
         <field name="context">
diff --git a/views/union_regionale.xml b/views/union_regionale.xml
index 35dcafbb6b28c351c739c8dca2d1a5dd36aeac58..caf039e1e4fcb6d9f8fac3043680f9f6a91ae66c 100644
--- a/views/union_regionale.xml
+++ b/views/union_regionale.xml
@@ -8,9 +8,9 @@
         <field name="model">union.regionale</field>
         <field name="arch" type="xml">
             <list string="Unions Régionales">
-                <field name="long_name"/>
-                <field name="name"/>
-                <field name="code_ur"/>
+                <field name="long_name" />
+                <field name="name" />
+                <field name="code_ur" />
             </list>
         </field>
     </record>
@@ -23,9 +23,9 @@
             <form string="Union Régionale">
                 <sheet>
                     <group>
-                        <field name="long_name"/>
-                        <field name="name"/>
-                        <field name="code_ur"/>
+                        <field name="long_name" />
+                        <field name="name" />
+                        <field name="code_ur" />
                     </group>
                 </sheet>
             </form>
@@ -33,7 +33,7 @@
     </record>
 
     <!-- Action -->
-    <record model="ir.actions.act_window" id="union_regionale_act_window">
+    <record model="ir.actions.act_window" id="union_regionale_action">
         <field name="name">Unions Régionales</field>
         <field name="res_model">union.regionale</field>
         <field name="path">ur</field>