diff --git a/models/res_partner.py b/models/res_partner.py
index 387b3819dfd0c72420fe25e5852dc6a7906e6a87..986c9ab3ce0c4487d8abeee951914b86c1aae3b5 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -258,7 +258,7 @@ class ScopPartner(models.Model):
     revision_person_id = fields.Many2one(
         'res.users',
         string='Réviseur',
-        on_delete='restrict', 
+        on_delete='restrict',
         track_visibility='onchange')
     revision_certified_person_id = fields.Many2one(
         'res.users',
@@ -395,7 +395,7 @@ class ScopPartner(models.Model):
     @api.constrains('siret')
     def _check_siret(self):
         if self.siret and not self.env.context.get('import_file'):
-            siren = (self.siret[:3] + " " + 
+            siren = (self.siret[:3] + " " +
                      self.siret[3:6] + " " +
                      self.siret[6:9])
             if not self.siret.isdigit():
@@ -441,7 +441,7 @@ class ScopPartner(models.Model):
     # ------------------------------------------------------
     # Onchange
     # ------------------------------------------------------
-   
+
     # Hack pour la création de contacts depuis la fiche organisme
     @api.onchange('parent_id_onchange')
     def _onchange_parent_id_onchange(self):
@@ -497,7 +497,7 @@ class ScopPartner(models.Model):
     @api.onchange('siret')
     def onchange_siret(self):
         if self.siret:
-            siren = (self.siret[:3] + " " + 
+            siren = (self.siret[:3] + " " +
                      self.siret[3:6] + " " +
                      self.siret[6:9])
             if self.search_count([('siret', '=like', self.siret)]) > 0:
@@ -579,7 +579,7 @@ class ScopPartner(models.Model):
     # Création d'une période lors de la création d'une coopérative
     @api.model_create_multi
     def create(self, vals_list):
-        for vals in vals_list:       
+        for vals in vals_list:
             if vals.get('name'):
                 vals['name'] = vals.get('name').title()
             if vals.get('lastname'):
@@ -814,6 +814,16 @@ class ScopPartner(models.Model):
             },
         }
 
+    def edit_director(self):
+        return {
+            'type': 'ir.actions.act_window',
+            'views': [[self.env.ref('cgscop_partner.scop_partner_director_form_view').id, "form"]],
+            'view_mode': 'form',
+            'res_model': 'res.partner',
+            'res_id': self.id,
+            'target': 'new',
+        }
+
     def add_contact(self):
         return {
             'type': 'ir.actions.act_window',
@@ -840,6 +850,15 @@ class ScopPartner(models.Model):
             },
         }
 
+    def edit_contact(self):
+        return {
+            'type': 'ir.actions.act_window',
+            'views': [[self.env.ref('cgscop_partner.scop_partner_contact_form_view').id, "form"]],
+            'view_mode': 'form',
+            'res_model': 'res.partner',
+            'res_id': self.id,
+            'target': 'new',
+        }
 
 class ResPartneCertification(models.Model):
     _name = "res.partner.certification"
diff --git a/views/res_partner.xml b/views/res_partner.xml
index 535a1469991443ecf9eb42bb6e5107fc5600ff6b..a1f73928e2c8ec6f49293a9fb2592387a2aec61b 100644
--- a/views/res_partner.xml
+++ b/views/res_partner.xml
@@ -6,9 +6,9 @@
     <data>
         <!-- ******************************
         ***    Inherited Views
-        ****************************** --> 
+        ****************************** -->
         <!--
-            Inherited Partner View Search 
+            Inherited Partner View Search
         -->
         <record id="scop_contact_view_search" model="ir.ui.view">
             <field name="name">res.partner.scop.view.search</field>
@@ -53,7 +53,7 @@
         </record>
 
         <!--
-            Inherited Partner View Form 
+            Inherited Partner View Form
         -->
         <record id="scop_contact_view_form" model="ir.ui.view">
             <field name="name">res.partner.scop.view.form</field>
@@ -63,7 +63,7 @@
                 <!--
                     Vue Partenaire et contact
                 -->
-                
+
                 <!-- Masque les champs affichés pour une coopérative -->
                 <xpath expr="//form/sheet/group" position="attributes">
                     <attribute name="attrs">{'invisible': [('is_cooperative','=', True)]}</attribute>
@@ -224,7 +224,7 @@
                     <field name="phone" widget="phone"/>
                     <field name="mobile" widget="phone" attrs="{'invisible': [('is_company','=', True)]}"/>
                     <field name="email" widget="email" on_change="1"/>
-                    <field name="website" attrs="{'invisible': [('is_company','=', False)]}"/>                   
+                    <field name="website" attrs="{'invisible': [('is_company','=', False)]}"/>
                     <field name="ur_id" options='{"no_open": True, "no_create": True}' on_change="1" can_create="false" can_write="false"/>
                     <field name="category_id" options='{"no_open": True, "no_create": True}' widget="many2many_tags" attrs="{'invisible': ['|', ('is_company', '=', True), ('type', '!=', 'contact')]}"/>
                     <field name="lang" invisible="1"/>
@@ -236,7 +236,7 @@
                 <!--
                     Vue Organismes
                 -->
-                
+
                 <!-- Affiche le header organisme -->
                 <xpath expr='//form/sheet' position="before">
                     <header  attrs="{'invisible': [('is_cooperative', '=', False)]}">
@@ -317,7 +317,7 @@
                                     <field name="city" placeholder="Ville..." class="o_address_city"
                                         attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}" modifiers="{'readonly':[['project_status', '=', '6_suivi']], 'required':['|', ('project_status','in',('4_adhesion', '5_cg')), '&amp;', ('write_date', '=', False), ('project_status', '=', '6_suivi')]}"/>
                                     <field name="city_id" invisible="1"/>
-                                    <field name="cedex" placeholder="Cedex" class="o_address_city" 
+                                    <field name="cedex" placeholder="Cedex" class="o_address_city"
                                         attrs="{'readonly': [('write_date', '!=', False), ('project_status', '=', '6_suivi')]}" modifiers="{'readonly':[['project_status', '=', '6_suivi']]}"/>
                                     <field name="state_id" class="o_address_zip" placeholder="Région"
                                         options='{"no_open": True, "no_create": True}' context="{'country_id': country_id, 'zip': zip}"
@@ -394,6 +394,7 @@
                         </group>
                         <notebook colspan="4">
                             <page name="scop_contacts" string="Contacts &amp; Addresses">
+                                <!-- Directeurs et mandataires -->
                                 <label for="director_ids" string="Dirigeants et mandataires"/>
                                 <p>
                                     <button name="add_director" type="object" class="btn-info" string="Ajouter un dirigeant"></button>
@@ -435,6 +436,7 @@
                                                 <t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
                                                 <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'">
                                                     <a t-if="!read_only_mode" name="partner_archive" type="object" class="fa fa-times pull-right"/>
+                                                    <a name="edit_director" type="object" class="fa fa-2x fa-edit text-info pull-right"/>
                                                     <div class="o_kanban_image">
                                                         <img alt="" t-if="record.image_small.raw_value" t-att-src="kanban_image('res.partner', 'image_small', record.id.raw_value)"/>
                                                         <t t-if="!record.image_small.raw_value">
@@ -455,6 +457,7 @@
                                         </templates>
                                     </kanban>
                                 </field>
+                                <!-- Autres contacts -->
                                 <label for="other_child_ids" string="Autres Contacts / Adresses"/>
                                 <p>
                                     <button name="add_contact" type="object" class="btn-info" string="Ajouter un contact"></button>
@@ -495,6 +498,7 @@
                                             <t t-name="kanban-box">
                                             <t t-set="color" t-value="kanban_color(record.color.raw_value)"/>
                                                 <div t-att-class="color + (record.title.raw_value == 1 ? ' oe_kanban_color_alert' : '') + ' oe_kanban_global_click'">
+                                                    <a name="edit_contact" type="object" class="fa fa-2x fa-edit text-info pull-right"/>
                                                     <a t-if="!read_only_mode" name="partner_archive" type="object" class="fa fa-times pull-right"/>
                                                     <div class="o_kanban_image">
                                                         <img alt="" t-if="record.image_small.raw_value" t-att-src="kanban_image('res.partner', 'image_small', record.id.raw_value)"/>
@@ -868,7 +872,7 @@
             </field>
         </record>
 
-        
+
         <record id="view_partner_form_firstname_scop" model="ir.ui.view">
             <field name="name">Add firstname and surnames for CGScop</field>
             <field name="model">res.partner</field>
@@ -886,7 +890,7 @@
                 </xpath>
             </field>
         </record>
-        
+
 
         <!--
             Action Personnes