diff --git a/index.js b/index.js
index 993b8fd102dbdd6db1a470aa848bd4995309ad8e..ec4afe5790a5a95d4bdd99b1a63b85bd241f0add 100644
--- a/index.js
+++ b/index.js
@@ -107,13 +107,12 @@ moment.locale('fr') // set the language
 moment.tz.setDefault('Europe/Paris') // set the timezone
 
 /*** Connector Constants ***/
-const startDailyDate = moment()
-  .subtract(32, 'month')
-  .format('YYYY-MM-DD')
-const startLoadDate = moment()
-  .subtract(7, 'day')
-  .format('YYYY-MM-DD')
-const endDate = moment().format('YYYY-MM-DD')
+const startDailyDate = moment().subtract(32, 'month')
+const startDailyDateString = startDailyDate.format('YYYY-MM-DD')
+const startLoadDate = moment().subtract(7, 'day')
+const startLoadDateString = startLoadDate.format('YYYY-MM-DD')
+const endDate = moment()
+const endDateString = endDate.format('YYYY-MM-DD')
 const baseUrl = 'https://gw.prd.api.enedis.fr'
 
 /**
@@ -159,20 +158,8 @@ async function start(fields, cozyParameters, doRetry = true) {
     log('info', 'Agregate enedis daily data for month and year')
     await agregateMonthAndYearData(processedDailyData)
 
-    log('info', 'Fetching enedis load data')
-    const fetchedLoadData = await getLoadData(access_token, usage_point_id)
-    if (fetchedLoadData && fetchedLoadData.length > 0) {
-      log('info', 'Process enedis load data')
-      const processedLoadData = await processData(
-        fetchedLoadData,
-        'com.grandlyon.enedis.minute',
-        ['year', 'month', 'day', 'hour', 'minute']
-      )
-      log('info', 'Agregate enedis load data for hour')
-      await agregateHourlyData(processedLoadData)
-    } else {
-      log('info', 'No consent or data for load curve')
-    }
+    log('info', 'Process enedis load data')
+    await startLoadDataProcess(access_token, usage_point_id)
   } catch (err) {
     if (err.statusCode === 403 || err.code === 403) {
       if (!fields.refresh_token) {
@@ -216,9 +203,9 @@ async function getDailyData(token, usagePointID) {
     uri:
       baseUrl +
       '/v4/metering_data/daily_consumption?start=' +
-      startDailyDate +
+      startDailyDateString +
       '&end=' +
-      endDate +
+      endDateString +
       '&usage_point_id=' +
       usagePointID,
     headers: {
@@ -230,19 +217,86 @@ async function getDailyData(token, usagePointID) {
   return response
 }
 
+/**
+ * Check if history is loaded
+ * If not, call several time the api to retrieve 1 month of history for load data
+ * If yes only call once the api
+ */
+async function startLoadDataProcess(token, usagePointID) {
+  log('info', 'Check history')
+  const isHistory = await isHistoryLoaded('com.grandlyon.enedis.minute')
+  if (isHistory) {
+    log('info', 'launch process without history')
+    await launchLoadDataProcess(
+      token,
+      usagePointID,
+      startLoadDateString,
+      endDateString
+    )
+  } else {
+    log('info', 'launch process with history')
+    for (var i = 0; i < 4; i++) {
+      const increamentedStartDate = moment(startLoadDate)
+      const incrementedEndDate = moment(endDate)
+      const increamentedStartDateString = increamentedStartDate
+        .subtract(7 * i, 'day')
+        .format('YYYY-MM-DD')
+      const incrementedEndDateString = incrementedEndDate
+        .subtract(7 * i, 'day')
+        .format('YYYY-MM-DD')
+      await launchLoadDataProcess(
+        token,
+        usagePointID,
+        increamentedStartDateString,
+        incrementedEndDateString
+      )
+    }
+  }
+}
+
+/**
+ * Launch process to handle load data
+ */
+async function launchLoadDataProcess(
+  token,
+  usagePointID,
+  _startLoadDate,
+  _endDate
+) {
+  log('info', 'Fetching enedis load data')
+  const fetchedLoadData = await getLoadData(
+    token,
+    usagePointID,
+    _startLoadDate,
+    _endDate
+  )
+  if (fetchedLoadData && fetchedLoadData.length > 0) {
+    log('info', 'Process enedis load data')
+    const processedLoadData = await processData(
+      fetchedLoadData,
+      'com.grandlyon.enedis.minute',
+      ['year', 'month', 'day', 'hour', 'minute']
+    )
+    log('info', 'Agregate enedis load data for hour')
+    await agregateHourlyData(processedLoadData)
+  } else {
+    log('info', 'No consent or data for load curve')
+  }
+}
+
 /**
  * Retrieve data from the API
  * Format: { value: "W", "date": "YYYY-MM-DD hh:mm:ss" }
  */
-async function getLoadData(token, usagePointID) {
+async function getLoadData(token, usagePointID, _startDate, _endDate) {
   const dataRequest = {
     method: 'GET',
     uri:
       baseUrl +
       '/v4/metering_data/consumption_load_curve?start=' +
-      startLoadDate +
+      _startDate +
       '&end=' +
-      endDate +
+      _endDate +
       '&usage_point_id=' +
       usagePointID,
     headers: {
@@ -442,6 +496,29 @@ async function buildDataFromKey(doctype, key, value) {
   }
 }
 
+/**
+ * Function checking if the history is loaded
+ */
+async function isHistoryLoaded(doctype) {
+  log('debug', doctype, 'Retrieve data')
+  const result = await cozyClient.data.findAll(doctype)
+  if (result && result.length > 0) {
+    const filtered = result.filter(function(el) {
+      return (
+        el.year <= startLoadDate.year &&
+        el.month <= startLoadDate.month &&
+        el.day <= startLoadDate.day
+      )
+    })
+    if (filtered.length > 0) {
+      return false
+    } else {
+      return true
+    }
+  }
+  return false
+}
+
 /**
  * Function handling special case.
  * The temporary aggregated data need to be remove in order for the most recent one te be saved.
@@ -123801,7 +123878,7 @@ const fs = __webpack_require__(167);
 
 const path = __webpack_require__(160);
 
-let manifest = typeof {"version":"0.1.5","name":"Enedis","type":"konnector","language":"node","icon":"icon.png","slug":"enedisgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/enedis-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.enedis.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"enedis data":{"type":"com.grandlyon.enedis.*"}},"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 Enedis","long_description":"Ce connecteur récupère la courbe de charge électrique enregistrée par le compteur Linky","permissions":{"enedis data":{"description":"La courbe de charge électrique enregistrée par le compteur Linky"},"accounts":{"description":"Utilisé pour obtenir les données du compte"}}}},"manifest_version":"2"} === 'undefined' ? {} : {"version":"0.1.5","name":"Enedis","type":"konnector","language":"node","icon":"icon.png","slug":"enedisgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/enedis-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.enedis.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"enedis data":{"type":"com.grandlyon.enedis.*"}},"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 Enedis","long_description":"Ce connecteur récupère la courbe de charge électrique enregistrée par le compteur Linky","permissions":{"enedis data":{"description":"La courbe de charge électrique enregistrée par le compteur Linky"},"accounts":{"description":"Utilisé pour obtenir les données du compte"}}}},"manifest_version":"2"};
+let manifest = typeof {"version":"0.2.0","name":"Enedis","type":"konnector","language":"node","icon":"icon.png","slug":"enedisgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/enedis-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.enedis.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"enedis data":{"type":"com.grandlyon.enedis.*"}},"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 Enedis","long_description":"Ce connecteur récupère la courbe de charge électrique enregistrée par le compteur Linky","permissions":{"enedis data":{"description":"La courbe de charge électrique enregistrée par le compteur Linky"},"accounts":{"description":"Utilisé pour obtenir les données du compte"}}}},"manifest_version":"2"} === 'undefined' ? {} : {"version":"0.2.0","name":"Enedis","type":"konnector","language":"node","icon":"icon.png","slug":"enedisgrandlyon","source":"https://forge.grandlyon.com/web-et-numerique/llle_project/enedis-konnector.git","editor":"Métropole de Lyon","vendor_link":"https://www.enedis.fr/","categories":["energy"],"frequency":"daily","fields":{"access_token":{"type":"hidden"},"refresh_token":{"type":"hidden"}},"oauth":{},"data_types":[],"screenshots":[],"permissions":{"accounts":{"type":"io.cozy.accounts"},"enedis data":{"type":"com.grandlyon.enedis.*"}},"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 Enedis","long_description":"Ce connecteur récupère la courbe de charge électrique enregistrée par le compteur Linky","permissions":{"enedis data":{"description":"La courbe de charge électrique enregistrée par le compteur Linky"},"accounts":{"description":"Utilisé pour obtenir les données du compte"}}}},"manifest_version":"2"};
 
 if (false) {}
 
diff --git a/manifest.konnector b/manifest.konnector
index bbe0be1777a10ff2cde224c5b9737636b3a52f08..bb794649e21660740f3cc05ead982e0b8df20698 100644
--- a/manifest.konnector
+++ b/manifest.konnector
@@ -1,5 +1,5 @@
 {
-  "version": "0.1.5",
+  "version": "0.2.0",
   "name": "Enedis",
   "type": "konnector",
   "language": "node",
diff --git a/package.json b/package.json
index 7d429c9f4bdbf985a718131987d99d949e5858e0..af6fd523f62cf5aa0f3529442e6c6dd3654c408d 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "enedis",
-  "version": "0.1.5",
+  "version": "0.2.0",
   "description": "",
   "repository": {
     "type": "git",
@@ -34,6 +34,7 @@
     "build": "webpack",
     "lint": "eslint --fix .",
     "deploy": "git-directory-deploy --directory build/ --branch ${DEPLOY_BRANCH:-build} --repo=${DEPLOY_REPOSITORY:-https://forge.grandlyon.com/web-et-numerique/llle_project/enedis-konnector.git}",
+    "deploy-dev": "git-directory-deploy --directory build/ --branch ${DEPLOY_BRANCH:-build-dev} --repo=${DEPLOY_REPOSITORY:-https://forge.grandlyon.com/web-et-numerique/llle_project/enedis-konnector.git}",
     "cozyPublish": "cozy-app-publish --token $REGISTRY_TOKEN --build-commit $(git rev-parse ${DEPLOY_BRANCH:-build})",
     "travisDeployKey": "./bin/generate_travis_deploy_key"
   },