diff --git a/README.rst b/README.rst
old mode 100755
new mode 100644
index e91ea203c68f85ecd48daf3fbda9be46daeb5f3c..ad83d1947c45176f21e68dfcd90e434342257f83
--- a/README.rst
+++ b/README.rst
@@ -38,4 +38,3 @@ Maintainer
    :target: https://le-filament.com
 
 This module is maintained by Le Filament
-
diff --git a/__init__.py b/__init__.py
index 1f538c8007e6965dee6c8b955f344ef90ee367a1..94909dd213bbf41ea19087057690aebd13e678bb 100644
--- a/__init__.py
+++ b/__init__.py
@@ -1,5 +1,4 @@
 # Copyright 2021 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from . import models
-from . import wizards
+from . import models, wizards
diff --git a/__manifest__.py b/__manifest__.py
old mode 100755
new mode 100644
index 503610f485785378153f48e97aaa685ffe659935..e4716d60f30774088d41f8e82f4bf126a5b6371d
--- a/__manifest__.py
+++ b/__manifest__.py
@@ -1,27 +1,24 @@
 {
-    'name': "ACC - API Enedis",
-    'summary': "API Enedis",
-    'author': "Le Filament",
-    'website': "https://www.le-filament.com",
-    'version': '14.0.1.0.1',
-    'license': "AGPL-3",
-    'depends': [
-        'acc_operation'
-    ],
-    'data': [
+    "name": "ACC - API Enedis",
+    "summary": "API Enedis",
+    "author": "Le Filament",
+    "website": "https://www.le-filament.com",
+    "version": "14.0.1.0.1",
+    "license": "AGPL-3",
+    "depends": ["acc_operation"],
+    "data": [
         "security/ir.model.access.csv",
         # datas
-        'data/service_cron.xml',
-        'wizards/acc_operation_wizard_views.xml',
+        "data/service_cron.xml",
+        "wizards/acc_operation_wizard_views.xml",
         # views
-        'views/res_config_settings_views.xml',
-        'views/acc_operation_views.xml',
+        "views/res_config_settings_views.xml",
+        "views/acc_operation_views.xml",
         # views menu
-
     ],
-    'qweb': [
+    "qweb": [
         # "static/src/xml/*.xml",
     ],
-    'installable': True,
-    'auto_install': False,
+    "installable": True,
+    "auto_install": False,
 }
diff --git a/data/service_cron.xml b/data/service_cron.xml
index fc769c93f113932e272ee8ea81dfb6716305c732..31a7cc6130d6bd5bd32bef608ca213dbaacc1198 100644
--- a/data/service_cron.xml
+++ b/data/service_cron.xml
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8" ?>
 <odoo>
     <record id="ir_cron_auto_get_enedis_data" model="ir.cron">
         <field name="name">App - Get data API Enedis</field>
         <field name="interval_number">1</field>
         <field name="interval_type">days</field>
         <field name="numbercall">-1</field>
-        <field name="doall" eval="False"/>
-        <field name="model_id" ref="acc_operation.model_acc_operation"/>
+        <field name="doall" eval="False" />
+        <field name="model_id" ref="acc_operation.model_acc_operation" />
         <field name="code">model._auto_get_enedis_data()</field>
         <field name="state">code</field>
     </record>
diff --git a/models/acc_operation.py b/models/acc_operation.py
index 0429a640676473ab6047391600c1374fb3143bcc..c6d89c349fbcdde7ce2e9659fefa76d2383b5f44 100644
--- a/models/acc_operation.py
+++ b/models/acc_operation.py
@@ -1,14 +1,16 @@
 # Copyright 2021 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, api
-from datetime import datetime, date
+from datetime import date, datetime
+
 from dateutil.relativedelta import relativedelta
 
+from odoo import api, fields, models
+
 
 class AccOperation(models.Model):
-    _name = 'acc.operation'
-    _inherit = ['acc.operation', 'api.enedis']
+    _name = "acc.operation"
+    _inherit = ["acc.operation", "api.enedis"]
 
     # ------------------------------------------------------
     # Fields declaration
@@ -38,20 +40,26 @@ class AccOperation(models.Model):
     # ------------------------------------------------------
     @api.model
     def _auto_get_enedis_data(self):
-        ''' This method is called from a cron job.
+        """This method is called from a cron job.
         It is used to get data from Enedis with API.
-        '''
-        records = self.search([
-            ('date_start_contract', '<', date.today()),
-            ('client_id', '!=', False),
-            ('secret_id', '!=', False),
-            ('active', '=', True)
-        ])
+        """
+        records = self.search(
+            [
+                ("date_start_contract", "<", date.today()),
+                ("client_id", "!=", False),
+                ("secret_id", "!=", False),
+                ("active", "=", True),
+            ]
+        )
         for rec in records:
             d = rec.date_start_contract + relativedelta(days=10)
             if d.day == date.today().day:
                 date_today_10 = date.today() - relativedelta(days=10)
-                first_date = datetime(date_today_10.year, date_today_10.month - 1, rec.date_start_contract.day)
+                first_date = datetime(
+                    date_today_10.year,
+                    date_today_10.month - 1,
+                    rec.date_start_contract.day,
+                )
                 last_date = first_date + relativedelta(months=1, days=-1)
                 rec.get_curves(first_date.date(), last_date.date())
 
@@ -64,17 +72,20 @@ class AccOperation(models.Model):
 
         # Load consommation data by PRM
         for delivery_counter_id in self.acc_delivery_ids:
-            self.definitive_load_curves(date_start, date_end, delivery_counter_id, token=token)
+            self.definitive_load_curves(
+                date_start, date_end, delivery_counter_id, token=token
+            )
 
         # Load production data by PRM
         for injection_counter_id in self.acc_injection_ids:
-            self.definitive_load_curves(date_start, date_end, injection_counter_id, token=token)
+            self.definitive_load_curves(
+                date_start, date_end, injection_counter_id, token=token
+            )
 
     def get_perimeter(self):
         for operation in self:
-            res = operation.perimeter()
+            operation.perimeter()
 
     # ------------------------------------------------------
     # Business methods
     # ------------------------------------------------------
-
diff --git a/models/api_enedis.py b/models/api_enedis.py
index fcede75f3d1946d37c6325e673ba09bdc942642a..6fef046160ce195d9c33895125e922835e651e69 100644
--- a/models/api_enedis.py
+++ b/models/api_enedis.py
@@ -1,26 +1,26 @@
 # © 2021 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-import requests
 import logging
-import pytz
-import json
-
-from datetime import datetime, date
+from datetime import date, datetime
 
-from odoo import models, exceptions, fields
+import pytz
+import requests
 from requests.auth import _basic_auth_str
+
+from odoo import _, exceptions, fields, models
 from odoo.exceptions import UserError
 
 _logger = logging.getLogger(__name__)
 
 
 class ApiEnedis(models.AbstractModel):
-    """ Cet Abstract Model partage l'ensemble des fonctions
+    """Cet Abstract Model partage l'ensemble des fonctions
     de l'API Enedis.
     """
-    _name = 'api.enedis'
-    _description = 'Connecteur Enedis'
+
+    _name = "api.enedis"
+    _description = "Connecteur Enedis"
 
     def access_token(self):
         """Retourne un access token valide pour 5 secondes."""
@@ -30,50 +30,51 @@ class ApiEnedis(models.AbstractModel):
         url_enedis = self.env.user.company_id.url_enedis
         if not url_enedis:
             raise UserError(
-                "L'API n'est pas configurée. Veuillez rentrer l'URL de l'API dans app -> Configuration -> Configuration")
+                _(
+                    "L'API n'est pas configurée. Veuillez rentrer "
+                    "l'URL de l'API dans app -> Configuration -> Configuration"
+                )
+            )
         client_id = self.client_id
         secret_id = self.secret_id
         auth = _basic_auth_str(client_id, secret_id)
 
-        url = url_enedis + 'v1/oauth2/token'
+        url = url_enedis + "v1/oauth2/token"
         headers = {
-            'Authorization': auth,
-            'Content-Type': "application/x-www-form-urlencoded"
+            "Authorization": auth,
+            "Content-Type": "application/x-www-form-urlencoded",
         }
         formData = {
-            'grant_type': 'client_credentials',
+            "grant_type": "client_credentials",
         }
-        auth_request = requests.post(
-            url=url,
-            headers=headers,
-            data=formData)
+        auth_request = requests.post(url=url, headers=headers, data=formData)
 
         try:
             auth_request.raise_for_status()
         except Exception as error:
-            raise ValueError('Autentication failed: {}'.format(error))
+            raise ValueError("Autentication failed: {}".format(error))
 
         # Gestion erreur API
         if auth_request.status_code not in [200]:
             try:
-                message = auth_request.json().get('error_description')
+                message = auth_request.json().get("error_description")
             except:
-                message = response.error_description
+                message = auth_request.error_description
             raise exceptions.Warning(
-                "L'appel url '%s' a échoué\n"
-                "- Code erreur : %d\n"
-                "- Message : %s" % (
-                    url,
-                    response.error,
-                    message))
+                _(
+                    "L'appel url '%s' a échoué\n"
+                    "- Code erreur : %d\n"
+                    "- Message : %s" % (url, auth_request.error, message)
+                )
+            )
 
         response = auth_request.json()
-        token = response.get('access_token')
+        token = response.get("access_token")
         print("--- token ---", str(token))
         return token
 
     def enedis_get_by_url(self, url, call_type, query=None, token=None):
-        """ Création de la requête à Enedis
+        """Création de la requête à Enedis
 
         :param url: action API Enedis
         :param call_type: post/get
@@ -88,23 +89,17 @@ class ApiEnedis(models.AbstractModel):
         url_enedis = self.env.user.company_id.url_enedis
 
         header = {
-            'Content-Type': 'application/json;charset=UTF-8',
-            'Accept': 'application/json',
-            'Authorization': 'Bearer ' + str(token)
-        }
-        path = {
-            # ID De l'opération
-            'agreement_id': self.name,
+            "Content-Type": "application/json;charset=UTF-8",
+            "Accept": "application/json",
+            "Authorization": "Bearer " + str(token),
         }
         try:
-            if call_type == 'get':
-                response = requests.get(
-                    url_enedis + url,
-                    headers=header,
-                    params=query)
-            elif call_type == 'post':
+            if call_type == "get":
+                response = requests.get(url_enedis + url, headers=header, params=query)
+            elif call_type == "post":
                 response = requests.post(
-                    url_enedis + url,)
+                    url_enedis + url,
+                )
         except Exception as err:
             _logger.warning(
                 "Erreur de connexion. URL: %s",
@@ -116,55 +111,62 @@ class ApiEnedis(models.AbstractModel):
         # Gestion erreur API
         if response.status_code not in [200]:
             try:
-                message = response.json().get('error_description')
+                message = response.json().get("error_description")
             except:
                 message = response.json()
             raise exceptions.Warning(
-                "L'appel url '%s' a échoué\n"
-                "- Code erreur : %d\n"
-                "- Message : %s" % (
-                    url,
-                    response.status_code,
-                    message))
+                _(
+                    "L'appel url '%s' a échoué\n"
+                    "- Code erreur : %d\n"
+                    "- Message : %s" % (url, response.status_code, message)
+                )
+            )
         return response
 
-    def definitive_load_curves(self, date_start, date_end, usage_point_id=None, token=None):
-        """ Fonction permettant d'appeler l'API Enedis et retourne les courbes 
-            de chare en fonction d'un intervalle de date
-            :param  date_start: une date de début
-                    date_end: une date de fin
-                    usage_point_id: id du PRM
-            :return Retourner les courbes de charge
-                    à la maille d'une opération ou
-                    d'un PRM en particulier
+    def definitive_load_curves(
+        self, date_start, date_end, usage_point_id=None, token=None
+    ):
+        """Fonction permettant d'appeler l'API Enedis et retourne les courbes
+        de chare en fonction d'un intervalle de date
+        :param  date_start: une date de début
+                date_end: une date de fin
+                usage_point_id: id du PRM
+        :return Retourner les courbes de charge
+                à la maille d'une opération ou
+                d'un PRM en particulier
         """
-        url = 'v1/collective_self_consumption/agreements/' + self.name + '/definitive_load_curves'
+        url = (
+            "v1/collective_self_consumption/agreements/"
+            + self.name
+            + "/definitive_load_curves"
+        )
 
         if usage_point_id:
-            name = usage_point_id.name + '_' + str(date_start) + '_' + str(date_end)
+            name = usage_point_id.name + "_" + str(date_start) + "_" + str(date_end)
         else:
-            name = self.name + '_' + str(date_start) + '_' + str(date_end)
+            name = self.name + "_" + str(date_start) + "_" + str(date_end)
 
-        log_id = self.env['acc.enedis.cdc'].search([
-            ('name', '=', name),
-            ('acc_operation_id', '=', self.id)
-        ])
+        log_id = self.env["acc.enedis.cdc"].search(
+            [("name", "=", name), ("acc_operation_id", "=", self.id)]
+        )
         if not log_id:
-            self.load_data(url, date_start, date_end, usage_point_id=usage_point_id, token=token)
+            self.load_data(
+                url, date_start, date_end, usage_point_id=usage_point_id, token=token
+            )
 
         return True
 
     def load_data(self, url, date_start, date_end, usage_point_id=None, token=None):
-        """ Read function
-            :param  url : URL à appeler
-                    date_start: une date de début
-                    date_end: une date de fin
-                    type_courbe: type de courbe à récupérer 
-                          (cons/autocons/surplus/prod)
-                    usage_point_id: id du PRM
-            @return object: Retourner les courbes de charge
-                            à la maille d'une opération ou
-                            d'un PRM en particulier
+        """Read function
+        :param  url : URL à appeler
+                date_start: une date de début
+                date_end: une date de fin
+                type_courbe: type de courbe à récupérer
+                      (cons/autocons/surplus/prod)
+                usage_point_id: id du PRM
+        @return object: Retourner les courbes de charge
+                        à la maille d'une opération ou
+                        d'un PRM en particulier
         """
         if usage_point_id:
             usage_point_name = usage_point_id.name
@@ -174,109 +176,119 @@ class ApiEnedis(models.AbstractModel):
             counter_id = None
         query = {
             # Date de début de la période souhaitée.La date est incluse dans la période
-            'start': date_start,
+            "start": date_start,
             # Date de fin de la période souhaitée.La date est incluse dans la période
-            'end': date_end,
+            "end": date_end,
             # Type de la courbe (enum)
-            "type": ['cons,autocons,surplus,prod,complement'],
+            "type": ["cons,autocons,surplus,prod,complement"],
             # Identifiant du PRM
-            'usage_point_id': usage_point_name
+            "usage_point_id": usage_point_name,
         }
         response = self.enedis_get_by_url(
-            url=url,
-            call_type='get',
-            query=query,
-            token=token)
+            url=url, call_type="get", query=query, token=token
+        )
 
         # get the data
-        curves = response.json().get('curves')
+        curves = response.json().get("curves")
 
         if curves:
-            name = usage_point_id.name + '_' + str(date_start) + '_' + str(date_end)
+            name = usage_point_id.name + "_" + str(date_start) + "_" + str(date_end)
         for curve in curves:
-            type = curve['type']
+            type = curve["type"]
             domain_all = [
-                ('date_slot', '>=', date_start),
-                ('date_slot', '<=', date_end),
-                ('acc_operation_id', '=', self.id),
-                ('comp_data_type', '=', type),
+                ("date_slot", ">=", date_start),
+                ("date_slot", "<=", date_end),
+                ("acc_operation_id", "=", self.id),
+                ("comp_data_type", "=", type),
             ]
 
-            domain_prm = domain_all + [('acc_counter_id', '=', counter_id)]
+            domain_prm = domain_all + [("acc_counter_id", "=", counter_id)]
 
-            acc_enedis_cdc_ids = self.env['acc.enedis.cdc'].search(domain_prm)
+            acc_enedis_cdc_ids = self.env["acc.enedis.cdc"].search(domain_prm)
 
             record_created = False
 
-            for point in curve['interval_reading']:
-                date_slot = pytz.utc.localize(datetime.strptime(point['timestamp'], "%Y-%m-%dT%H:%M:%SZ"))
+            for point in curve["interval_reading"]:
+                date_slot = pytz.utc.localize(
+                    datetime.strptime(point["timestamp"], "%Y-%m-%dT%H:%M:%SZ")
+                )
                 date_slot3 = fields.Datetime.to_string(date_slot)
 
-                record = acc_enedis_cdc_ids.filtered(lambda l: l.date_slot == fields.Datetime.to_datetime(date_slot3))
+                record = acc_enedis_cdc_ids.filtered(
+                    lambda l: l.date_slot == fields.Datetime.to_datetime(date_slot3)
+                )
                 if not record:
-                    self.env['acc.enedis.cdc'].create({
-                        'name': name,
-                        'acc_operation_id': self.id,
-                        'acc_counter_id': counter_id or False,
-                        'comp_data_type': type,
-                        'power': point['value'],
-                        'date_slot': date_slot3,
-                    })
+                    self.env["acc.enedis.cdc"].create(
+                        {
+                            "name": name,
+                            "acc_operation_id": self.id,
+                            "acc_counter_id": counter_id or False,
+                            "comp_data_type": type,
+                            "power": point["value"],
+                            "date_slot": date_slot3,
+                        }
+                    )
 
                     record_created = True
 
         if record_created:
             # Logs information loaded
-            self.env['acc.enedis.import.logs'].create({
-                'name': name,
-                'acc_operation_id': self.id,
-            })
+            self.env["acc.enedis.import.logs"].create(
+                {
+                    "name": name,
+                    "acc_operation_id": self.id,
+                }
+            )
             self.is_data_enedis = True
 
     def perimeter(self):
-        """ Fonction permettant d'appeler l'API Enedis et retourne le périmètre
-            d'une opréation donées
-            :param  
-            :return Retourne le périmètre d'une opération donnée
-                            Date de début et fin de contrat
+        """Fonction permettant d'appeler l'API Enedis et retourne le périmètre
+        d'une opréation donées
+        :param
+        :return Retourne le périmètre d'une opération donnée
+                        Date de début et fin de contrat
         """
-        url = 'v1/collective_self_consumption/agreements/' + self.name + '/perimeter'
+        url = "v1/collective_self_consumption/agreements/" + self.name + "/perimeter"
 
         response = self.enedis_get_by_url(
-            url=url,
-            call_type='get',
-            query=[],
-            token=None)
+            url=url, call_type="get", query=[], token=None
+        )
 
-        usage_points = response.json().get('usage_points')
+        usage_points = response.json().get("usage_points")
 
         for usage_point in usage_points:
-            usage_id = self.env['acc.counter'].search([
-                ('acc_operation_id', '=', self.id),
-                ('name', '=', usage_point['usage_point_id'])])
+            usage_id = self.env["acc.counter"].search(
+                [
+                    ("acc_operation_id", "=", self.id),
+                    ("name", "=", usage_point["usage_point_id"]),
+                ]
+            )
             if usage_id:
-                usage_id.write({
-                    'date_start_contract': date.fromisoformat(usage_point['start']),
-                    'date_end_contract': date.fromisoformat(usage_point['end']),
-                })
+                usage_id.write(
+                    {
+                        "date_start_contract": date.fromisoformat(usage_point["start"]),
+                        "date_end_contract": date.fromisoformat(usage_point["end"]),
+                    }
+                )
             else:
                 is_delivery = False
                 is_injection = False
-                if usage_point['type'] == 'CONS':
+                if usage_point["type"] == "CONS":
                     is_delivery = True
-                if usage_point['type'] == 'PROD':
+                if usage_point["type"] == "PROD":
                     is_injection = True
-                    self.date_start_contract = date.fromisoformat(usage_point['start'])
-                    self.date_end_contract = date.fromisoformat(usage_point['end'])
-
-                prm_id = self.env['acc.counter'].create({
-                    'name': usage_point['usage_point_id'],
-                    'is_delivery': is_delivery,
-                    'is_injection': is_injection,
-                    'acc_operation_id': self.id,
-                    'date_start_contract': date.fromisoformat(usage_point['start']),
-                    'date_end_contract': date.fromisoformat(usage_point['end']),
-                })
-
+                    self.date_start_contract = date.fromisoformat(usage_point["start"])
+                    self.date_end_contract = date.fromisoformat(usage_point["end"])
+
+                self.env["acc.counter"].create(
+                    {
+                        "name": usage_point["usage_point_id"],
+                        "is_delivery": is_delivery,
+                        "is_injection": is_injection,
+                        "acc_operation_id": self.id,
+                        "date_start_contract": date.fromisoformat(usage_point["start"]),
+                        "date_end_contract": date.fromisoformat(usage_point["end"]),
+                    }
+                )
 
         return True
diff --git a/models/res_company.py b/models/res_company.py
index a5af9e492bdbe82bcdfc0ed990f5e034ad88f6cc..4b44be492f7fa225c05a68b5685a6e4a5e47b7b4 100644
--- a/models/res_company.py
+++ b/models/res_company.py
@@ -1,7 +1,7 @@
 # Copyright 2021 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, api
+from odoo import fields, models
 
 
 class ResCompany(models.Model):
diff --git a/models/res_config_settings.py b/models/res_config_settings.py
index 02b3c415f1899e66be8f3d2f1d9f521477dda3f7..9b02ff8abd32293b08221a66bd5ba3f8fe9bc714 100644
--- a/models/res_config_settings.py
+++ b/models/res_config_settings.py
@@ -1,16 +1,17 @@
 # Copyright 2021 Le Filament (<http://www.le-filament.com>)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
 
-from odoo import api, fields, models
+from odoo import fields, models
 
 
 class ResConfigSettings(models.TransientModel):
-    _inherit = 'res.config.settings'
+    _inherit = "res.config.settings"
 
     url_enedis = fields.Char(
-        related='company_id.url_enedis',
+        related="company_id.url_enedis",
         string="Url API de la plateforme de production interne",
-        readonly=False)
+        readonly=False,
+    )
 
     # ------------------------------------------------------
     # Fields declaration
diff --git a/security/ir.model.access.csv b/security/ir.model.access.csv
old mode 100755
new mode 100644
index 1e804f3a93a6ad4ada765e51ece2938b22631c8b..31f4abc86cdcdc77df137c5f83368ab59980fb40
--- a/security/ir.model.access.csv
+++ b/security/ir.model.access.csv
@@ -2,4 +2,4 @@ id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
 "access_api_enedis_group_partner_manager","api_enedis group_partner_manager","model_api_enedis","base.group_partner_manager",1,1,1,1
 "access_api_enedis_group_user","api_enedis group_user","model_api_enedis","base.group_user",1,0,0,0
 "access_acc_operation_wizard_group_partner_manager","acc_operation_wizard group_partner_manager","model_acc_operation_wizard","base.group_partner_manager",1,1,1,1
-"access_acc_operation_wizard_group_user","acc_operation_wizard group_user","model_acc_operation_wizard","base.group_user",1,0,0,0
\ No newline at end of file
+"access_acc_operation_wizard_group_user","acc_operation_wizard group_user","model_acc_operation_wizard","base.group_user",1,0,0,0
diff --git a/views/acc_operation_views.xml b/views/acc_operation_views.xml
index 39a6bdee6664e46c5bfa711b5a9d894dd303873d..ef15ac2277c3a446b602e5141022a70ed5ddea85 100644
--- a/views/acc_operation_views.xml
+++ b/views/acc_operation_views.xml
@@ -1,36 +1,37 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8" ?>
 <odoo>
     <data>
-        
+
         <record id="acc_operation_form_view" model="ir.ui.view">
             <field name="name">acc_operation_form_view.api.form</field>
             <field name="model">acc.operation</field>
-            <field name="inherit_id" ref="acc_operation.acc_operation_form_view"/>
+            <field name="inherit_id" ref="acc_operation.acc_operation_form_view" />
             <field name="arch" type="xml">
                 <header position="inside">
                     <button
-                            string="Périmètre"
-                            type="object"
-                            name="get_perimeter"
-                            attrs="{'invisible':[('client_id','=', False), ('secret_id','=', False)]}"/>
+                        string="Périmètre"
+                        type="object"
+                        name="get_perimeter"
+                        attrs="{'invisible':[('client_id','=', False), ('secret_id','=', False)]}"
+                    />
                     <button
-                            string="Récupération des courbes"
-                            type="action"
-                            name="%(acc_enedis_api.acc_operation_wizard_action)d"
-                            attrs="{'invisible':[('client_id','=', False), ('secret_id','=', False)]}"
+                        string="Récupération des courbes"
+                        type="action"
+                        name="%(acc_enedis_api.acc_operation_wizard_action)d"
+                        attrs="{'invisible':[('client_id','=', False), ('secret_id','=', False)]}"
                     />
                 </header>
                 <xpath expr="//notebook" position="inside">
                     <page string="API Enedis" name="api">
                         <group>
-                            <field name="is_data_enedis"/>
-                            <field name="client_id"/>
-                            <field name="secret_id"/>
+                            <field name="is_data_enedis" />
+                            <field name="client_id" />
+                            <field name="secret_id" />
                         </group>
                     </page>
                 </xpath>
             </field>
         </record>
-    
+
     </data>
-</odoo>
\ No newline at end of file
+</odoo>
diff --git a/views/res_config_settings_views.xml b/views/res_config_settings_views.xml
index 8bcbd5b0b414321972d33f09e9800494149133ce..109c50a4cc1bb3d0ba684822d14e1503b28b28f5 100644
--- a/views/res_config_settings_views.xml
+++ b/views/res_config_settings_views.xml
@@ -1,24 +1,32 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8" ?>
 <odoo>
 
     <record id="res_config_settings_view_form" model="ir.ui.view">
         <field name="name">res.config.settings.view.form.inherit.app</field>
         <field name="model">res.config.settings</field>
-        <field name="priority" eval="10"/>
+        <field name="priority" eval="10" />
         <field name="inherit_id" ref="base.res_config_settings_view_form" />
         <field name="arch" type="xml">
             <xpath expr="//div[hasclass('settings')]" position="inside">
-                <div class="acc_settings_block" data-string="ACC" string="ACC" data-key="acc_enedis_api">
+                <div
+                    class="acc_settings_block"
+                    data-string="ACC"
+                    string="ACC"
+                    data-key="acc_enedis_api"
+                >
                     <h2>Connexion Enedis</h2>
-                    <div class="row mt16 o_settings_container" id="acc_selection_settings">
+                    <div
+                        class="row mt16 o_settings_container"
+                        id="acc_selection_settings"
+                    >
                         <div class="col-12 col-lg-6 o_setting_box" id="url_enedis">
                             <div class="o_setting_right_pane">
-                                <label string="URL" for="url_enedis"/>
+                                <label string="URL" for="url_enedis" />
                                 <div class="text-muted">
                                     URL de l'API de la plateforme de production interne
                                 </div>
                                 <div class="mt8">
-                                    <field name="url_enedis"/>
+                                    <field name="url_enedis" />
                                 </div>
                             </div>
                         </div>
@@ -32,17 +40,19 @@
         <field name="name">Configuration</field>
         <field name="type">ir.actions.act_window</field>
         <field name="res_model">res.config.settings</field>
-        <field name="view_id" ref="res_config_settings_view_form"/>
+        <field name="view_id" ref="res_config_settings_view_form" />
         <field name="view_mode">form</field>
         <field name="target">inline</field>
         <field name="context">{'module' : 'acc_enedis_api', 'bin_size': False}</field>
     </record>
 
-    <menuitem id="menu_acc_general_settings"
+    <menuitem
+        id="menu_acc_general_settings"
         name="Configuration"
         parent="acc_operation.menu_acc_config"
         sequence="0"
         action="action_acc_config_settings"
-        groups="base.group_system"/>
+        groups="base.group_system"
+    />
 
 </odoo>
diff --git a/wizards/acc_operation_wizard.py b/wizards/acc_operation_wizard.py
index b3cd7fd9f8f2d194bd1cbadce83846902dde9085..647a971b19d0944235ff20f0410460e0b1090d0d 100644
--- a/wizards/acc_operation_wizard.py
+++ b/wizards/acc_operation_wizard.py
@@ -1,12 +1,12 @@
 # Copyright 2021 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
+from odoo import _, fields, models
 from odoo.exceptions import UserError
 
 
-class appOperationWizard(models.TransientModel):
-    _name = 'acc.operation.wizard'
+class AccOperationWizard(models.TransientModel):
+    _name = "acc.operation.wizard"
     _description = "Récupération des courbes pour une date donnée"
 
     # ------------------------------------------------------
@@ -40,12 +40,14 @@ class appOperationWizard(models.TransientModel):
     # ------------------------------------------------------
     def get_curves(self):
         if (self.date_end - self.date_start).days > 31:
-            raise UserError(
-                "L'intervalle de temps ne doit pas dépasser 31 Jours")
+            raise UserError(_("L'intervalle de temps ne doit pas dépasser 31 Jours"))
         context = dict(self._context or {})
-        if context.get('active_ids', False):
-            self.env['acc.operation'].browse(context.get('active_ids')).get_curves(self.date_start, self.date_end)
-        return {'type': 'ir.actions.act_window_close'}
+        if context.get("active_ids", False):
+            self.env["acc.operation"].browse(context.get("active_ids")).get_curves(
+                self.date_start, self.date_end
+            )
+        return {"type": "ir.actions.act_window_close"}
+
     # ------------------------------------------------------
     # Business methods
     # ------------------------------------------------------
diff --git a/wizards/acc_operation_wizard_views.xml b/wizards/acc_operation_wizard_views.xml
index bdd9029683462e9b186117f1c917d3e3b17e7fa1..2f720fdede29b8c42f9d92a98cab2a20180365b7 100644
--- a/wizards/acc_operation_wizard_views.xml
+++ b/wizards/acc_operation_wizard_views.xml
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" ?>
 <odoo>
     <!-- WIZARD FORM -->
     <record id="acc_operation_wizard_view_form" model="ir.ui.view">
@@ -7,12 +7,21 @@
         <field name="arch" type="xml">
             <form string="Choix de la période">
                 <group name="period" string="Période" col="2">
-                    <field name="date_start" required="1"/>
-                    <field name="date_end" required="1"/>
+                    <field name="date_start" required="1" />
+                    <field name="date_end" required="1" />
                 </group>
                 <footer>
-                    <button class="btn btn-sm btn-primary" name="get_curves" string="Récupérer" type="object" />
-                    <button class="btn btn-sm btn-default" special="cancel" string="Annuler"/>
+                    <button
+                        class="btn btn-sm btn-primary"
+                        name="get_curves"
+                        string="Récupérer"
+                        type="object"
+                    />
+                    <button
+                        class="btn btn-sm btn-default"
+                        special="cancel"
+                        string="Annuler"
+                    />
                 </footer>
             </form>
         </field>
@@ -23,7 +32,7 @@
         <field name="type">ir.actions.act_window</field>
         <field name="res_model">acc.operation.wizard</field>
         <field name="view_mode">form</field>
-        <field name="view_id" ref="acc_operation_wizard_view_form"/>
+        <field name="view_id" ref="acc_operation_wizard_view_form" />
         <field name="target">new</field>
     </record>