diff --git a/README.rst b/README.rst
index f345332b8d4c374bc011703e8ca3c11a869dce0b..d17c3e7f765b4bbcc20a3c645818aa1f8dd46222 100644
--- a/README.rst
+++ b/README.rst
@@ -12,7 +12,13 @@ Description
 
 Ce module permet de lire, créer, supprimer les documents depuis Alfresco.
 
-Il utilise l'API Alfresco développée spécifiquement pour le projet de la CG Scop.
+Il utilise l'API Alfresco développée spécifiquement pour le projet de la CG Scop qui impémente les fonctions suivantes : 
+
+* Création d'un dossier : lors de la création d'un organisme
+* Mise à jour d'un dossier : lors des la mise à jour d'un organisme sur les champs nom, SIRET et n° adhérent
+* Liste des fichiers pour un organisme
+* Ajout d'un fichier
+* Suppression d'un dossier : lors de la suppression d'un organisme
 
 
 Usage
diff --git a/__manifest__.py b/__manifest__.py
index 1b64fafd9955ae04df608e42f3d0d8e7fbe16b09..ad23b2b4d8cb7213a95693550cc135bdbf7723f4 100644
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -1,6 +1,6 @@
 {
     "name": "CG SCOP - Connecteur Alfresco",
-    "summary": "CG SCOP - Connecteur Alfresco",
+    "summary": "Connecteur Alfresco",
     "version": "12.0.1.0.1",
     "development_status": "Beta",
     "author": "Le Filament",
@@ -12,9 +12,8 @@
         'cgscop_partner'
     ],
     "data": [
-        # "security/ir.model.access.csv",
         "datas/ir_config_parameter.xml",
-        # "views/assets.xml", # supprime le bouton ajouter un fichier en attendant validation de la CG
+        "views/assets.xml",
         "views/alfresco_partner_files.xml",
         "views/res_partner.xml",
         "wizard/add_file_wizard.xml",
diff --git a/models/alfresco_partner_files.py b/models/alfresco_partner_files.py
index abb2ea29697092fcd235308c61035fdb93639c4f..32749a04b6b6fcbf8ebbded3532d5f3a27079b89 100644
--- a/models/alfresco_partner_files.py
+++ b/models/alfresco_partner_files.py
@@ -6,7 +6,7 @@ from odoo import models, fields, api
 
 class AlfrescoPartnerFiles(models.TransientModel):
     _name = 'alfresco.partner.files'
-    _inherit = 'connector.alfresco'
+    _inherit = 'cgscop.alfresco'
     _description = "Requete fichiers par organisme"
 
     name = fields.Char('Nom du Fichier')
diff --git a/models/api_alfresco.py b/models/api_alfresco.py
index 3c419e907d7726ba464d8cabb65100ed050855eb..790a52c19b6d676e062935cfa82aad416db6366e 100644
--- a/models/api_alfresco.py
+++ b/models/api_alfresco.py
@@ -37,19 +37,16 @@ class CgscopAlfresco(models.AbstractModel):
             if call_type == 'get':
                 response = requests.get(
                     alfresco_url + url,
-                    auth=basicAuthCredentials,
-                    verify=False,)
+                    auth=basicAuthCredentials,)
             elif call_type == 'post':
                 response = requests.post(
                     alfresco_url + url,
                     auth=basicAuthCredentials,
-                    verify=False,
                     json=json)
             elif call_type == 'delete':
                 response = requests.delete(
                     alfresco_url + url,
                     auth=basicAuthCredentials,
-                    verify=False,
                     json=json)
         except Exception as err:
             _logger.warning(
@@ -57,24 +54,21 @@ class CgscopAlfresco(models.AbstractModel):
                 err.__str__(),
             )
         if response.status_code not in [200, 201]:
-            if 'Le dossier organisme est inexistant' in response.json().get('message'):
-                print(response.json().get('message'))
-            else:
-                raise exceptions.Warning(
-                    "L'appel url '%s' a échoué\n"
-                    "- Code erreur : %d\n"
-                    "- Message : %s" % (
-                        response.url,
-                        response.status_code,
-                        response.json().get('message')))
+            raise exceptions.Warning(
+                "L'appel url '%s' a échoué\n"
+                "- Code erreur : %d\n"
+                "- Message : %s" % (
+                    response.url,
+                    response.status_code,
+                    response.json().get('message')))
         return response.json()
 
     # Get Methods
-    def alfresco_list_docs(self, name):
+    def alfresco_list_docs(self, node_id):
         """ Liste les documents pour un organisme (raison sociale)
             :param name: raison sociale de la structure
         """
-        url = '/alfresco/s/erp/listedocuments?raisonSociale=' + name
+        url = '/alfresco/s/erp/listedocuments?nodeId=' + node_id
         return self.alfresco_get_by_url(url=url, call_type='get')
 
     def alfresco_list_type(self):
@@ -121,6 +115,23 @@ class CgscopAlfresco(models.AbstractModel):
         return self.get_nodeRef(
             self.alfresco_get_by_url(url=url, call_type='post', json=json))
 
+    def alfresco_update_organism(self, partner):
+        """ Mise à jour d'un dossier Organisme
+
+        :param partner: objet Odoo créé
+
+        @return: id Alfresco (nodeRef) du dossier
+        """
+        url = '/alfresco/s/erp/updatedossierorganisme/' + partner.id_alfresco
+        json = {
+            'raisonSociale': partner.name,
+            "id": partner.id,
+            "siret": partner.siret,
+            "numAdherent": partner.member_number
+        }
+        return self.get_nodeRef(
+            self.alfresco_get_by_url(url=url, call_type='post', json=json))
+
     def alfresco_upload(self, partner, type, periode, validite, filename, mimetype, doc):
         """ Upload d'un document sur Alfresco
 
@@ -130,10 +141,7 @@ class CgscopAlfresco(models.AbstractModel):
         """
         url = '/alfresco/s/erp/depotdocument'
         json = {
-            'raisonSociale': partner.name,
-            'id': partner.id,
-            'siret': partner.siret,
-            'numAdherent': partner.member_number,
+            'folderNodeId': partner.id_alfresco,
             'periode': periode,
             'type': type,
             'nomOrigine': filename,
@@ -141,7 +149,6 @@ class CgscopAlfresco(models.AbstractModel):
             'validite': validite,
             'contentBase64': doc,
         }
-        print(json)
         return self.get_nodeRef(
             self.alfresco_get_by_url(url=url, call_type='post', json=json))
 
diff --git a/models/res_partner.py b/models/res_partner.py
index 0d4b980d19301085b41c8e78093bbc921216ae97..861e368d05b71b31b88829acd3bdb97d001f351d 100644
--- a/models/res_partner.py
+++ b/models/res_partner.py
@@ -4,7 +4,9 @@
 import dateutil.parser
 import pytz
 
-from odoo import models, fields
+from odoo import models, fields, api
+
+ALFRESCO_TRACKED_FIELDS = ['name', 'id', 'siret', 'member_number']
 
 
 class AlfrescoPartner(models.Model):
@@ -13,6 +15,55 @@ class AlfrescoPartner(models.Model):
 
     id_alfresco = fields.Char('ID Dossier Alfresco')
 
+    # ------------------------------------------------------
+    # Fonctions héritées
+    # ------------------------------------------------------
+    @api.model
+    def create(self, vals):
+        """ Crée automatiquement un répertoire Alfresco
+        lors de la création d'un organisme
+        """
+        partner = super(AlfrescoPartner, self).create(vals)
+        if partner.is_cooperative and not partner.id_alfresco:
+            id_alfresco = self.alfresco_create_organism(partner)
+            partner.write({
+                'id_alfresco': id_alfresco,
+            })
+        return partner
+
+    @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(AlfrescoPartner, 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.id_alfresco:
+                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.id_alfresco:
+                partner.alfresco_remove(partner.id_alfresco)
+
+    # ------------------------------------------------------
+    # Fonction boutons
+    # ------------------------------------------------------
     def get_partner_files(self):
         """ Liste l'ensemble des fichiers pour un organisme
 
@@ -23,7 +74,11 @@ class AlfrescoPartner(models.Model):
 
         @return: ir.act.window
         """
-        files = self.alfresco_list_docs(self.name).get('docs', '')
+        if self.id_alfresco:
+            files = self.alfresco_list_docs(self.id_alfresco).get('docs', '')
+        else:
+            self.id_alfresco = self.alfresco_create_organism(self)
+            files = self.alfresco_list_docs(self.id_alfresco).get('docs', '')
         uid = self.env.user.id
         alfresco_obj = self.env["alfresco.partner.files"]
         alfresco_obj.search([['user_id', '=', uid]]).unlink()
@@ -45,6 +100,6 @@ class AlfrescoPartner(models.Model):
             "res_model": "alfresco.partner.files",
             "views": [[False, "tree"]],
             "search_view_id": self.env.ref(
-                "connector_alfresco.alfresco_partner_files_search").id,
+                "cgscop_alfresco.alfresco_partner_files_search").id,
             'context': {'search_default_group_periode': True}
         }
diff --git a/views/assets.xml b/views/assets.xml
index 80fb9b27a537cbe396b182539f0ca0b1e03a0e04..44624aa462452cbd15f09ad9cd9295f2ee09fd93 100644
--- a/views/assets.xml
+++ b/views/assets.xml
@@ -6,7 +6,7 @@
 
 	<template id="alfresco_assets_backend" name="account assets" inherit_id="web.assets_backend">
         <xpath expr="." position="inside">
-            <script type="text/javascript" src="/connector_alfresco/static/src/js/alfresco_add_file.js"></script>
+            <script type="text/javascript" src="/cgscop_alfresco/static/src/js/alfresco_add_file.js"></script>
       	</xpath>
     </template>
 
diff --git a/wizard/add_file_wizard.py b/wizard/add_file_wizard.py
index 2dc48bffa4ce03345726dab701cb9100b58facc3..f432c67c26e5e6cb4133f5a1c72dea908211c6dd 100644
--- a/wizard/add_file_wizard.py
+++ b/wizard/add_file_wizard.py
@@ -2,6 +2,8 @@
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
 import mimetypes
+import dateutil.parser
+import pytz
 
 from odoo import api, fields, models
 from odoo.tools.mimetypes import guess_mimetype
@@ -58,12 +60,14 @@ class AddFileWizard(models.TransientModel):
 
         @return: fonction get_partner_files() de res.partner
         """
+        # Get Mimetype
         content_type = mimetypes.guess_type(self.filename)
         if content_type[0]:
             content_type = content_type[0]
         else:
             content_type = guess_mimetype(self.file)
-        self.alfresco_upload(
+        # Upload File
+        uploaded_file = self.alfresco_upload(
             partner=self.partner_id,
             type=self.type,
             periode=self.periode,
@@ -71,9 +75,26 @@ class AddFileWizard(models.TransientModel):
             filename=self.filename,
             mimetype=content_type,
             doc=self.file.decode('utf-8'))
-
+        # Add new file in transient model for view
+        uid = self.env.user.id
+        alfresco_obj = self.env["alfresco.partner.files"]
+        alfresco_obj.create({
+            'name': self.type,
+            'type': self.type,
+            'file_id': uploaded_file,
+            'user_id': uid,
+            'periode': self.periode,
+            'validite': self.validite,
+            'last_modification': fields.Datetime.now(),
+            'partner_id': self.partner_id.id,
+        })
+        # Reload view
         return {
-            'type': 'ir.actions.client',
-            'tag': 'reload',
+            "type": "ir.actions.act_window",
+            "name": "Fichiers liés",
+            "res_model": "alfresco.partner.files",
+            "views": [[False, "tree"]],
+            "search_view_id": self.env.ref(
+                "cgscop_alfresco.alfresco_partner_files_search").id,
+            'context': {'search_default_group_periode': True}
         }
-