diff --git a/index.js b/index.js
index f7d75aa76857d7bc995ccb73154ed537ed113cfe..5fb053641b9b2c9ef62e688808bf64904d0d468a 100644
--- a/index.js
+++ b/index.js
@@ -151681,7 +151681,7 @@ const fs = __webpack_require__(167);
 
 const path = __webpack_require__(160);
 
-let manifest = typeof {"version":"1.0.4","name":"GRDF","type":"konnector","language":"node","icon":"icon.png","slug":"grdfgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/grdf-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.grdf.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"grdf data":{"type":"com.grandlyon.grdf.*"}},"developer":{"name":"Métropole de Lyon","url":"https://www.grandlyon.com/"},"langs":["fr"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API GRDF ADICT","long_description":"Ce connecteur récupère la courbe d'energie en kWh enregistrée par un compteur Gazpar","permissions":{"grdf data":{"description":"Requises pour accéder et stocker les données collectées par le compteur Gazpar et exposées par les API GRDF (consommations de gaz au jour, mois et année)."},"accounts":{"description":"Utilisé pour accéder à vos données de consommation."}}},"en":{"short_description":"Gas consumption data fetched from GRDF ADICT API","long_description":"This konnector fetches the data curve in kWh gathered by Gaspar device.","permissions":{"grdf data":{"description":"Required to access and store the data collected by the Gazpar meter and exposed by GRDF APIs (daily, monthly and yearly consumption)."},"accounts":{"description":"Used to access your consumption data."}}}},"manifest_version":"2","on_delete_account":"onDeleteAccount.js"} === 'undefined' ? {} : {"version":"1.0.4","name":"GRDF","type":"konnector","language":"node","icon":"icon.png","slug":"grdfgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/grdf-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.grdf.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"grdf data":{"type":"com.grandlyon.grdf.*"}},"developer":{"name":"Métropole de Lyon","url":"https://www.grandlyon.com/"},"langs":["fr"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API GRDF ADICT","long_description":"Ce connecteur récupère la courbe d'energie en kWh enregistrée par un compteur Gazpar","permissions":{"grdf data":{"description":"Requises pour accéder et stocker les données collectées par le compteur Gazpar et exposées par les API GRDF (consommations de gaz au jour, mois et année)."},"accounts":{"description":"Utilisé pour accéder à vos données de consommation."}}},"en":{"short_description":"Gas consumption data fetched from GRDF ADICT API","long_description":"This konnector fetches the data curve in kWh gathered by Gaspar device.","permissions":{"grdf data":{"description":"Required to access and store the data collected by the Gazpar meter and exposed by GRDF APIs (daily, monthly and yearly consumption)."},"accounts":{"description":"Used to access your consumption data."}}}},"manifest_version":"2","on_delete_account":"onDeleteAccount.js"};
+let manifest = typeof {"version":"1.0.5","name":"GRDF","type":"konnector","language":"node","icon":"icon.png","slug":"grdfgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/grdf-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.grdf.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"grdf data":{"type":"com.grandlyon.grdf.*"}},"developer":{"name":"Métropole de Lyon","url":"https://www.grandlyon.com/"},"langs":["fr"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API GRDF ADICT","long_description":"Ce connecteur récupère la courbe d'energie en kWh enregistrée par un compteur Gazpar","permissions":{"grdf data":{"description":"Requises pour accéder et stocker les données collectées par le compteur Gazpar et exposées par les API GRDF (consommations de gaz au jour, mois et année)."},"accounts":{"description":"Utilisé pour accéder à vos données de consommation."}}},"en":{"short_description":"Gas consumption data fetched from GRDF ADICT API","long_description":"This konnector fetches the data curve in kWh gathered by Gaspar device.","permissions":{"grdf data":{"description":"Required to access and store the data collected by the Gazpar meter and exposed by GRDF APIs (daily, monthly and yearly consumption)."},"accounts":{"description":"Used to access your consumption data."}}}},"manifest_version":"2","on_delete_account":"onDeleteAccount.js"} === 'undefined' ? {} : {"version":"1.0.5","name":"GRDF","type":"konnector","language":"node","icon":"icon.png","slug":"grdfgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/grdf-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.grdf.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"grdf data":{"type":"com.grandlyon.grdf.*"}},"developer":{"name":"Métropole de Lyon","url":"https://www.grandlyon.com/"},"langs":["fr"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API GRDF ADICT","long_description":"Ce connecteur récupère la courbe d'energie en kWh enregistrée par un compteur Gazpar","permissions":{"grdf data":{"description":"Requises pour accéder et stocker les données collectées par le compteur Gazpar et exposées par les API GRDF (consommations de gaz au jour, mois et année)."},"accounts":{"description":"Utilisé pour accéder à vos données de consommation."}}},"en":{"short_description":"Gas consumption data fetched from GRDF ADICT API","long_description":"This konnector fetches the data curve in kWh gathered by Gaspar device.","permissions":{"grdf data":{"description":"Required to access and store the data collected by the Gazpar meter and exposed by GRDF APIs (daily, monthly and yearly consumption)."},"accounts":{"description":"Used to access your consumption data."}}}},"manifest_version":"2","on_delete_account":"onDeleteAccount.js"};
 
 if (false) {}
 
diff --git a/manifest.konnector b/manifest.konnector
index 2b7c44f64191713486682c6bc72da69c03837825..6c955abbee108ff1297791b4002bfcc07198368c 100644
--- a/manifest.konnector
+++ b/manifest.konnector
@@ -1,5 +1,5 @@
 {
-  "version": "1.0.4",
+  "version": "1.0.5",
   "name": "GRDF",
   "type": "konnector",
   "language": "node",
diff --git a/onDeleteAccount.js b/onDeleteAccount.js
index ba0fa2a9bb0873cf216e4906b8f867adab882532..655edebfe7519886d323a45ceabaf5396f36fe74 100644
--- a/onDeleteAccount.js
+++ b/onDeleteAccount.js
@@ -151333,7 +151333,7 @@ const fs = __webpack_require__(167);
 
 const path = __webpack_require__(160);
 
-let manifest = typeof {"version":"1.0.4","name":"GRDF","type":"konnector","language":"node","icon":"icon.png","slug":"grdfgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/grdf-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.grdf.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"grdf data":{"type":"com.grandlyon.grdf.*"}},"developer":{"name":"Métropole de Lyon","url":"https://www.grandlyon.com/"},"langs":["fr"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API GRDF ADICT","long_description":"Ce connecteur récupère la courbe d'energie en kWh enregistrée par un compteur Gazpar","permissions":{"grdf data":{"description":"Requises pour accéder et stocker les données collectées par le compteur Gazpar et exposées par les API GRDF (consommations de gaz au jour, mois et année)."},"accounts":{"description":"Utilisé pour accéder à vos données de consommation."}}},"en":{"short_description":"Gas consumption data fetched from GRDF ADICT API","long_description":"This konnector fetches the data curve in kWh gathered by Gaspar device.","permissions":{"grdf data":{"description":"Required to access and store the data collected by the Gazpar meter and exposed by GRDF APIs (daily, monthly and yearly consumption)."},"accounts":{"description":"Used to access your consumption data."}}}},"manifest_version":"2","on_delete_account":"onDeleteAccount.js"} === 'undefined' ? {} : {"version":"1.0.4","name":"GRDF","type":"konnector","language":"node","icon":"icon.png","slug":"grdfgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/grdf-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.grdf.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"grdf data":{"type":"com.grandlyon.grdf.*"}},"developer":{"name":"Métropole de Lyon","url":"https://www.grandlyon.com/"},"langs":["fr"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API GRDF ADICT","long_description":"Ce connecteur récupère la courbe d'energie en kWh enregistrée par un compteur Gazpar","permissions":{"grdf data":{"description":"Requises pour accéder et stocker les données collectées par le compteur Gazpar et exposées par les API GRDF (consommations de gaz au jour, mois et année)."},"accounts":{"description":"Utilisé pour accéder à vos données de consommation."}}},"en":{"short_description":"Gas consumption data fetched from GRDF ADICT API","long_description":"This konnector fetches the data curve in kWh gathered by Gaspar device.","permissions":{"grdf data":{"description":"Required to access and store the data collected by the Gazpar meter and exposed by GRDF APIs (daily, monthly and yearly consumption)."},"accounts":{"description":"Used to access your consumption data."}}}},"manifest_version":"2","on_delete_account":"onDeleteAccount.js"};
+let manifest = typeof {"version":"1.0.5","name":"GRDF","type":"konnector","language":"node","icon":"icon.png","slug":"grdfgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/grdf-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.grdf.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"grdf data":{"type":"com.grandlyon.grdf.*"}},"developer":{"name":"Métropole de Lyon","url":"https://www.grandlyon.com/"},"langs":["fr"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API GRDF ADICT","long_description":"Ce connecteur récupère la courbe d'energie en kWh enregistrée par un compteur Gazpar","permissions":{"grdf data":{"description":"Requises pour accéder et stocker les données collectées par le compteur Gazpar et exposées par les API GRDF (consommations de gaz au jour, mois et année)."},"accounts":{"description":"Utilisé pour accéder à vos données de consommation."}}},"en":{"short_description":"Gas consumption data fetched from GRDF ADICT API","long_description":"This konnector fetches the data curve in kWh gathered by Gaspar device.","permissions":{"grdf data":{"description":"Required to access and store the data collected by the Gazpar meter and exposed by GRDF APIs (daily, monthly and yearly consumption)."},"accounts":{"description":"Used to access your consumption data."}}}},"manifest_version":"2","on_delete_account":"onDeleteAccount.js"} === 'undefined' ? {} : {"version":"1.0.5","name":"GRDF","type":"konnector","language":"node","icon":"icon.png","slug":"grdfgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/grdf-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.grdf.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"grdf data":{"type":"com.grandlyon.grdf.*"}},"developer":{"name":"Métropole de Lyon","url":"https://www.grandlyon.com/"},"langs":["fr"],"locales":{"fr":{"short_description":"Récupère vos donnéees de courbe de charge depuis l'API GRDF ADICT","long_description":"Ce connecteur récupère la courbe d'energie en kWh enregistrée par un compteur Gazpar","permissions":{"grdf data":{"description":"Requises pour accéder et stocker les données collectées par le compteur Gazpar et exposées par les API GRDF (consommations de gaz au jour, mois et année)."},"accounts":{"description":"Utilisé pour accéder à vos données de consommation."}}},"en":{"short_description":"Gas consumption data fetched from GRDF ADICT API","long_description":"This konnector fetches the data curve in kWh gathered by Gaspar device.","permissions":{"grdf data":{"description":"Required to access and store the data collected by the Gazpar meter and exposed by GRDF APIs (daily, monthly and yearly consumption)."},"accounts":{"description":"Used to access your consumption data."}}}},"manifest_version":"2","on_delete_account":"onDeleteAccount.js"};
 
 if (false) {}
 
@@ -255866,190 +255866,190 @@ module.exports = JSON.parse("{\"version\":\"2020a\",\"zones\":[\"Africa/Abidjan|
 /* 1909 */
 /***/ (function(module, exports, __webpack_require__) {
 
-const { cozyClient, log } = __webpack_require__(1);
-const getAccountId = __webpack_require__(1767);
-const getAccountRev = __webpack_require__(1910);
-const getAccountSecret = __webpack_require__(1911);
-const moment = __webpack_require__(1769);
-__webpack_require__(1906);
-moment.locale("fr"); // set the language
-moment.tz.setDefault("Europe/Paris"); // set the timezone
+const { cozyClient, log } = __webpack_require__(1)
+const getAccountId = __webpack_require__(1767)
+const getAccountRev = __webpack_require__(1910)
+const getAccountSecret = __webpack_require__(1911)
+const moment = __webpack_require__(1769)
+__webpack_require__(1906)
+moment.locale('fr') // set the language
+moment.tz.setDefault('Europe/Paris') // set the timezone
 
 async function onDeleteAccount(accountId) {
-  const accountRev = getAccountRev();
+  const accountRev = getAccountRev()
   if (accountRev) {
     try {
-      let body = "";
-      let access_token = "";
+      let body = ''
+      let access_token = ''
       body = await cozyClient.fetchJSON(
-        "GET",
+        'GET',
         `/data/io.cozy.accounts/${accountId}?rev=${accountRev}`
-      );
+      )
       if (body.oauth.access_token) {
-        access_token = body.oauth.access_token;
+        access_token = body.oauth.access_token
       } else {
         throw new Error(
-          "cozyClient.fetchJson account_rev has encountered an error"
-        );
+          'cozyClient.fetchJson account_rev has encountered an error'
+        )
       }
       if (moment().diff(body.oauth.expires_at) > 0) {
         // token is expired, need a new one. grdf does not provide a refresh token
         // so we request a new one from a client_credentials query
         // first we fetch credentials secrets from account-type
-        const accountSecret = getAccountSecret();
+        const accountSecret = getAccountSecret()
         if (accountSecret) {
-          var myTokenHeaders = new Headers();
+          var myTokenHeaders = new Headers()
           myTokenHeaders.append(
-            "Content-Type",
-            "application/x-www-form-urlencoded"
-          );
-          var urlencoded = new URLSearchParams();
-          urlencoded.append("grant_type", "client_credentials");
-          urlencoded.append("client_id", accountSecret.client_id);
-          urlencoded.append("client_secret", accountSecret.client_secret);
-          urlencoded.append("scope", "/adict/v1");
+            'Content-Type',
+            'application/x-www-form-urlencoded'
+          )
+          var urlencoded = new URLSearchParams()
+          urlencoded.append('grant_type', 'client_credentials')
+          urlencoded.append('client_id', accountSecret.client_id)
+          urlencoded.append('client_secret', accountSecret.client_secret)
+          urlencoded.append('scope', '/adict/v1')
 
           var requestOptionsToken = {
-            method: "POST",
+            method: 'POST',
             headers: myTokenHeaders,
             body: urlencoded,
-            redirect: "follow"
-          };
+            redirect: 'follow'
+          }
 
           access_token = await fetch(
-            "https://sofit-sso-oidc.grdf.fr/openam/oauth2/realms/externeGrdf/access_token",
+            'https://sofit-sso-oidc.grdf.fr/openam/oauth2/realms/externeGrdf/access_token',
             requestOptionsToken
           )
             .then(async response => {
               if (response.status !== 200) {
-                throw new Error(response.status + " - " + response.statusText);
+                throw new Error(response.status + ' - ' + response.statusText)
               }
-              return response.text();
+              return response.text()
             })
             .then(result => {
               return result.match(/.+/g).map(s => {
-                result = JSON.parse(s);
+                result = JSON.parse(s)
                 if (result.access_token) {
-                  return result.access_token;
+                  return result.access_token
                 }
-              });
+              })
             })
             .catch(error => {
-              log("debug", "Error from get access_token [onDeleteAccount]");
-              throw error;
-            });
+              log('debug', 'Error from get access_token [onDeleteAccount]')
+              throw error
+            })
         } else {
           throw new Error(
-            "Access Token is expired and konnector failed to get a new one"
-          );
+            'Access Token is expired and konnector failed to get a new one'
+          )
         }
       }
 
-      var myHeaders = new Headers();
-      myHeaders.append("Content-Type", "application/json");
-      myHeaders.append("Accept", "application/x-ndjson");
-      myHeaders.append("Authorization", "Bearer " + access_token);
+      var myHeaders = new Headers()
+      myHeaders.append('Content-Type', 'application/json')
+      myHeaders.append('Accept', 'application/x-ndjson')
+      myHeaders.append('Authorization', 'Bearer ' + access_token)
       var raw = JSON.stringify({
-        role_tiers: ["AUTORISE_CONTRAT_FOURNITURE"],
-        etat_droit_acces: ["Active"],
+        role_tiers: ['AUTORISE_CONTRAT_FOURNITURE'],
+        etat_droit_acces: ['Active'],
         id_pce: [body.oauth_callback_results.pce]
-      });
+      })
       var requestOptions = {
-        method: "POST",
+        method: 'POST',
         headers: myHeaders,
         body: raw,
-        redirect: "follow"
-      };
+        redirect: 'follow'
+      }
 
       let accessRights = await fetch(
-        "https://api.grdf.fr/adict/v1/droits_acces",
+        'https://api.grdf.fr/adict/v1/droits_acces',
         requestOptions
       )
         .then(async response => {
           if (response.status !== 200) {
-            throw new Error(response.status + " - " + response.statusText);
+            throw new Error(response.status + ' - ' + response.statusText)
           }
-          return response.text();
+          return response.text()
         })
         .then(result => {
           return result.match(/.+/g).map(s => {
-            result = JSON.parse(s);
+            result = JSON.parse(s)
             if (result.id_droit_acces !== null) {
-              return result.id_droit_acces;
+              return result.id_droit_acces
             }
-          });
+          })
         })
         .catch(error => {
-          log("debug", "Error from get droits_access");
-          throw error;
-        });
+          log('debug', 'Error from get droits_access')
+          throw error
+        })
 
       // remove unwanted commas
-      accessRights = accessRights.toString().replace(/,\s*$/, "");
+      accessRights = accessRights.toString().replace(/,\s*$/, '')
       if (accessRights) {
-        var myDeleteHeaders = new Headers();
-        myDeleteHeaders.append("Cache-Control", "no-cache");
-        myDeleteHeaders.append("Content-Type", "application/json");
-        myDeleteHeaders.append("Authorization", "Bearer " + access_token);
+        var myDeleteHeaders = new Headers()
+        myDeleteHeaders.append('Cache-Control', 'no-cache')
+        myDeleteHeaders.append('Content-Type', 'application/json')
+        myDeleteHeaders.append('Authorization', 'Bearer ' + access_token)
 
-        var deleteRaw = JSON.stringify({});
+        var deleteRaw = JSON.stringify({})
 
         var deleteRequestOptions = {
-          method: "PATCH",
+          method: 'PATCH',
           headers: myDeleteHeaders,
           body: deleteRaw,
-          redirect: "follow"
-        };
+          redirect: 'follow'
+        }
 
-        var url = "https://api.grdf.fr/adict/v1/droit_acces/" + accessRights;
+        var url = 'https://api.grdf.fr/adict/v1/droit_acces/' + accessRights
 
         await fetch(url, deleteRequestOptions)
           .then(async response => {
             if (response.status !== 200) {
-              throw new Error(response.status + " - " + response.statusText);
+              throw new Error(response.status + ' - ' + response.statusText)
             }
-            return response.text();
+            return response.text()
           })
           .catch(error => {
-            log("debug", "Error from delete droits_access");
-            throw error;
-          });
+            log('debug', 'Error from delete droits_access')
+            throw error
+          })
 
-        log("debug", "Active consent was successfully removed");
+        log('debug', 'Active consent was successfully removed')
       } else {
-        log("debug", "No active consent");
-        throw new Error("No active access right was found for given user");
+        log('debug', 'No active consent')
+        throw new Error('No active access right was found for given user')
       }
     } catch (err) {
       log(
-        "warn",
+        'warn',
         `Error while trying to remove grdf consent (for ${accountRev}): ${err.message}`
-      );
+      )
     }
   } else {
     throw new Error(
-      "No account revision was found, something went wrong during the deletion of said account"
-    );
+      'No account revision was found, something went wrong during the deletion of said account'
+    )
   }
 }
 
-const accountId = getAccountId();
+const accountId = getAccountId()
 onDeleteAccount(accountId).then(
   () => {
     log(
-      "info",
+      'info',
       `onDeleteAccount: Successfully retrieved grdf account from account doctype.`
-    );
+    )
   },
   err => {
     log(
-      "error",
+      'error',
       `onDeleteAccount: An error occured during getGrdfAccountInfos script: ${err.message}`
-    );
+    )
   }
-);
+)
 
-module.exports = { onDeleteAccount };
+module.exports = { onDeleteAccount }
 
 
 /***/ }),
diff --git a/package.json b/package.json
index d491313b1d2d67e7b7f1cdfa16b169126a51a7de..16425a8e914db95e694040645ad53a86940861c9 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "grdf",
-  "version": "1.0.4",
+  "version": "1.0.5",
   "description": "",
   "repository": {
     "type": "git",
@@ -54,6 +54,7 @@
     "eslint-config-cozy-app": "1.6.0",
     "git-directory-deploy": "1.5.1",
     "husky": "4.3.0",
+    "standard-version": "^9.5.0",
     "svgo": "1.3.2",
     "webpack": "4.44.2",
     "webpack-cli": "3.3.12"