diff --git a/__manifest__.py b/__manifest__.py
index 73eb049d13aae85b47a7634c6b956b42fb82293a..c17d1f59901c78e7ebba8aec3a1362f69e76f583 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -1,5 +1,5 @@
 {
-    'name': "CG Scop - Partner Alfresco",
+    'name': "CG Scop - Alfodoo Partner",
     'summary': "Connexion Alfodoo pour les Coopératives",
     'author': "Le Filament",
     'website': "https://www.le-filament.com",
diff --git a/models/res_partner.py b/models/res_partner.py
index b4be6c9b4dbaff74c54b4446536597c6373c8e65..940c1b218f7f577c7ab7958855e7ba268acc3adc 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -1,14 +1,51 @@
 # Copyright 2019 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from odoo import models
+from odoo import api, models
 from odoo.addons.cmis_field import fields
 
+ALFRESCO_TRACKED_FIELDS = ['name', 'id', 'siret', 'member_number']
+
 
 class AlfodooResPartner(models.Model):
-    _inherit = "res.partner"
+    _name = 'res.partner'
+    _inherit = ['res.partner', 'cgscop.alfresco']
 
     partner_cmis_folder = fields.CmisFolder(
         allow_create=False,
         allow_delete=False
     )
+
+    # ------------------------------------------------------
+    # Override ORM
+    # ------------------------------------------------------
+    @api.multi
+    def write(self, vals):
+        """ Surcharge la fonction write() pour mettre à jour
+        la raison sociale, le nom, le siret, l'id Odoo ou le
+        num adhérent
+        """
+        tracked_fields = self.fields_get(ALFRESCO_TRACKED_FIELDS)
+        # Dict des valeurs initiales des champs présents dans TRACKED_FIELDS
+        initial_values = dict(
+            (record.id, dict(
+                (key, getattr(record, key)) for key in tracked_fields)) for record in self.filtered('is_cooperative'))
+        # Ecriture des nouvelles valeurs
+        result = super(AlfodooResPartner, self).write(vals)
+        # Dict des nouvelles valeurs
+        new_values = dict(
+            (record.id, dict(
+                (key, getattr(record, key)) for key in tracked_fields)) for record in self.filtered('is_cooperative'))
+        # Check des modifications sur les coopératives présentes dans RIGA
+        for record in self:
+            if record.is_cooperative and record.partner_cmis_folder:
+                if new_values[record.id] != initial_values[record.id]:
+                    self.alfresco_update_organism(record)
+        return result
+
+    @api.multi
+    def unlink(self):
+        for partner in self:
+            if partner.partner_cmis_folder:
+                partner.alfresco_remove(partner.partner_cmis_folder)
+            return super(AlfodooResPartner, self).unlink()