diff --git a/1/ecolyo.22e53e34ccaf25f8a756.js b/1/ecolyo.7787cc7a49954f961739.js
similarity index 98%
rename from 1/ecolyo.22e53e34ccaf25f8a756.js
rename to 1/ecolyo.7787cc7a49954f961739.js
index 89ffd00cade6c409a1e03686c18922d00c509d48..c1dd2b5675ace41312186e7029148d362b97954f 100644
--- a/1/ecolyo.22e53e34ccaf25f8a756.js
+++ b/1/ecolyo.7787cc7a49954f961739.js
@@ -422,8 +422,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(AnalysisConsumption, "AnalysisConsumption", "/home/gcarron/dev/ecolyo/src/components/Analysis/AnalysisConsumption.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Analysis/AnalysisConsumption.tsx");
+  reactHotLoader.register(AnalysisConsumption, "AnalysisConsumption", "/home/bastien/ecolyo/src/components/Analysis/AnalysisConsumption.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Analysis/AnalysisConsumption.tsx");
 })();
 
 ;
@@ -597,8 +597,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(PieChart, "PieChart", "/home/gcarron/dev/ecolyo/src/components/Analysis/PieChart.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Analysis/PieChart.tsx");
+  reactHotLoader.register(PieChart, "PieChart", "/home/bastien/ecolyo/src/components/Analysis/PieChart.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Analysis/PieChart.tsx");
 })();
 
 ;
@@ -845,8 +845,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(TotalAnalysisChart, "TotalAnalysisChart", "/home/gcarron/dev/ecolyo/src/components/Analysis/TotalAnalysisChart.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Analysis/TotalAnalysisChart.tsx");
+  reactHotLoader.register(TotalAnalysisChart, "TotalAnalysisChart", "/home/bastien/ecolyo/src/components/Analysis/TotalAnalysisChart.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Analysis/TotalAnalysisChart.tsx");
 })();
 
 ;
@@ -1090,8 +1090,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(MaxConsumptionCard, "MaxConsumptionCard", "/home/gcarron/dev/ecolyo/src/components/Analysis/MaxConsumptionCard.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Analysis/MaxConsumptionCard.tsx");
+  reactHotLoader.register(MaxConsumptionCard, "MaxConsumptionCard", "/home/bastien/ecolyo/src/components/Analysis/MaxConsumptionCard.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Analysis/MaxConsumptionCard.tsx");
 })();
 
 ;
@@ -1339,8 +1339,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(AnalysisView, "AnalysisView", "/home/gcarron/dev/ecolyo/src/components/Analysis/AnalysisView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Analysis/AnalysisView.tsx");
+  reactHotLoader.register(AnalysisView, "AnalysisView", "/home/bastien/ecolyo/src/components/Analysis/AnalysisView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Analysis/AnalysisView.tsx");
 })();
 
 ;
@@ -1703,7 +1703,7 @@ exports.default = EnedisMonthlyAnalysisDataService;
     return;
   }
 
-  reactHotLoader.register(EnedisMonthlyAnalysisDataService, "EnedisMonthlyAnalysisDataService", "/home/gcarron/dev/ecolyo/src/services/enedisMonthlyAnalysisData.service.ts");
+  reactHotLoader.register(EnedisMonthlyAnalysisDataService, "EnedisMonthlyAnalysisDataService", "/home/bastien/ecolyo/src/services/enedisMonthlyAnalysisData.service.ts");
 })();
 
 ;
@@ -2119,8 +2119,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ElecHalfHourMonthlyAnalysis, "ElecHalfHourMonthlyAnalysis", "/home/gcarron/dev/ecolyo/src/components/Analysis/ElecHalfHourMonthlyAnalysis.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Analysis/ElecHalfHourMonthlyAnalysis.tsx");
+  reactHotLoader.register(ElecHalfHourMonthlyAnalysis, "ElecHalfHourMonthlyAnalysis", "/home/bastien/ecolyo/src/components/Analysis/ElecHalfHourMonthlyAnalysis.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Analysis/ElecHalfHourMonthlyAnalysis.tsx");
 })();
 
 ;
@@ -2387,8 +2387,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(MonthlyAnalysis, "MonthlyAnalysis", "/home/gcarron/dev/ecolyo/src/components/Analysis/MonthlyAnalysis.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Analysis/MonthlyAnalysis.tsx");
+  reactHotLoader.register(MonthlyAnalysis, "MonthlyAnalysis", "/home/bastien/ecolyo/src/components/Analysis/MonthlyAnalysis.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Analysis/MonthlyAnalysis.tsx");
 })();
 
 ;
@@ -2560,8 +2560,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ElecInfoModal, "ElecInfoModal", "/home/gcarron/dev/ecolyo/src/components/Analysis/ElecInfoModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Analysis/ElecInfoModal.tsx");
+  reactHotLoader.register(ElecInfoModal, "ElecInfoModal", "/home/bastien/ecolyo/src/components/Analysis/ElecInfoModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Analysis/ElecInfoModal.tsx");
 })();
 
 ;
@@ -2743,8 +2743,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(AnalysisConsumptionRow, "AnalysisConsumptionRow", "/home/gcarron/dev/ecolyo/src/components/Analysis/AnalysisConsumptionRow.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Analysis/AnalysisConsumptionRow.tsx");
+  reactHotLoader.register(AnalysisConsumptionRow, "AnalysisConsumptionRow", "/home/bastien/ecolyo/src/components/Analysis/AnalysisConsumptionRow.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Analysis/AnalysisConsumptionRow.tsx");
 })();
 
 ;
@@ -2862,8 +2862,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(AnalysisErrorModal, "AnalysisErrorModal", "/home/gcarron/dev/ecolyo/src/components/Analysis/AnalysisErrorModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Analysis/AnalysisErrorModal.tsx");
+  reactHotLoader.register(AnalysisErrorModal, "AnalysisErrorModal", "/home/bastien/ecolyo/src/components/Analysis/AnalysisErrorModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Analysis/AnalysisErrorModal.tsx");
 })();
 
 ;
@@ -3128,8 +3128,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ElecHalfHourChart, "ElecHalfHourChart", "/home/gcarron/dev/ecolyo/src/components/Analysis/ElecHalfHourChart.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Analysis/ElecHalfHourChart.tsx");
+  reactHotLoader.register(ElecHalfHourChart, "ElecHalfHourChart", "/home/bastien/ecolyo/src/components/Analysis/ElecHalfHourChart.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Analysis/ElecHalfHourChart.tsx");
 })();
 
 ;
@@ -3266,8 +3266,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FluidPerformanceIndicator, "FluidPerformanceIndicator", "/home/gcarron/dev/ecolyo/src/components/PerformanceIndicator/FluidPerformanceIndicator.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/PerformanceIndicator/FluidPerformanceIndicator.tsx");
+  reactHotLoader.register(FluidPerformanceIndicator, "FluidPerformanceIndicator", "/home/bastien/ecolyo/src/components/PerformanceIndicator/FluidPerformanceIndicator.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/PerformanceIndicator/FluidPerformanceIndicator.tsx");
 })();
 
 ;
diff --git a/10/ecolyo.46c7bb75747478ce4e67.js b/10/ecolyo.b99a7fb7d0bf21026833.js
similarity index 98%
rename from 10/ecolyo.46c7bb75747478ce4e67.js
rename to 10/ecolyo.b99a7fb7d0bf21026833.js
index c2f140855728a822ad13a49fdf24294ee7529220..65809652b4b2a43164842595549e26ac568fd256 100644
--- a/10/ecolyo.46c7bb75747478ce4e67.js
+++ b/10/ecolyo.b99a7fb7d0bf21026833.js
@@ -383,8 +383,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SingleEcogesture, "SingleEcogesture", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/SingleEcogesture.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/SingleEcogesture.tsx");
+  reactHotLoader.register(SingleEcogesture, "SingleEcogesture", "/home/bastien/ecolyo/src/components/Ecogesture/SingleEcogesture.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Ecogesture/SingleEcogesture.tsx");
 })();
 
 ;
@@ -626,8 +626,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ErrorPage, "ErrorPage", "/home/gcarron/dev/ecolyo/src/components/CommonKit/ErrorPage/ErrorPage.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/ErrorPage/ErrorPage.tsx");
+  reactHotLoader.register(ErrorPage, "ErrorPage", "/home/bastien/ecolyo/src/components/CommonKit/ErrorPage/ErrorPage.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/ErrorPage/ErrorPage.tsx");
 })();
 
 ;
diff --git a/11/ecolyo.81a44f4753ffd3cfb197.js b/11/ecolyo.449cca5c93c62417549d.js
similarity index 95%
rename from 11/ecolyo.81a44f4753ffd3cfb197.js
rename to 11/ecolyo.449cca5c93c62417549d.js
index 193af58d499660062989ade1185397ae908708d1..a3551d80ac774cb691da757b30371667bf089af6 100644
--- a/11/ecolyo.81a44f4753ffd3cfb197.js
+++ b/11/ecolyo.449cca5c93c62417549d.js
@@ -75,8 +75,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(LegalNoticeView, "LegalNoticeView", "/home/gcarron/dev/ecolyo/src/components/LegalNotice/LegalNoticeView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/LegalNotice/LegalNoticeView.tsx");
+  reactHotLoader.register(LegalNoticeView, "LegalNoticeView", "/home/bastien/ecolyo/src/components/LegalNotice/LegalNoticeView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/LegalNotice/LegalNoticeView.tsx");
 })();
 
 ;
diff --git a/12/ecolyo.f3454576459cef994ff0.js b/12/ecolyo.31ef841cfca201ebc064.js
similarity index 98%
rename from 12/ecolyo.f3454576459cef994ff0.js
rename to 12/ecolyo.31ef841cfca201ebc064.js
index 318d1efd062c2a3c506b7d9a22522edd7fa24254..7b13eb733b699394d7b7de96ae1fdeb4a530449c 100644
--- a/12/ecolyo.f3454576459cef994ff0.js
+++ b/12/ecolyo.31ef841cfca201ebc064.js
@@ -145,8 +145,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FaqData, "FaqData", "/home/gcarron/dev/ecolyo/src/components/FAQ/FAQData.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/FAQ/FAQData.tsx");
+  reactHotLoader.register(FaqData, "FaqData", "/home/bastien/ecolyo/src/components/FAQ/FAQData.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/FAQ/FAQData.tsx");
 })();
 
 ;
@@ -281,8 +281,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FAQView, "FAQView", "/home/gcarron/dev/ecolyo/src/components/FAQ/FAQView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/FAQ/FAQView.tsx");
+  reactHotLoader.register(FAQView, "FAQView", "/home/bastien/ecolyo/src/components/FAQ/FAQView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/FAQ/FAQView.tsx");
 })();
 
 ;
@@ -475,8 +475,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FAQContent, "FAQContent", "/home/gcarron/dev/ecolyo/src/components/FAQ/FAQContent.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/FAQ/FAQContent.tsx");
+  reactHotLoader.register(FAQContent, "FAQContent", "/home/bastien/ecolyo/src/components/FAQ/FAQContent.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/FAQ/FAQContent.tsx");
 })();
 
 ;
diff --git a/2/ecolyo.8a41299bfe66fb9874b5.js b/2/ecolyo.49420b5a76721cbe85dd.js
similarity index 96%
rename from 2/ecolyo.8a41299bfe66fb9874b5.js
rename to 2/ecolyo.49420b5a76721cbe85dd.js
index bfc5a7a0a3a3f3944365e3811ba1a667d13d7495..03c798b4ae84906badd08ec7d25266d5c44dc0b5 100644
--- a/2/ecolyo.8a41299bfe66fb9874b5.js
+++ b/2/ecolyo.49420b5a76721cbe85dd.js
@@ -230,8 +230,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(NoDataModal, "NoDataModal", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/NoDataModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/NoDataModal.tsx");
+  reactHotLoader.register(NoDataModal, "NoDataModal", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/NoDataModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/NoDataModal.tsx");
 })();
 
 ;
@@ -391,8 +391,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(PartnerConnectionStepsModal, "PartnerConnectionStepsModal", "/home/gcarron/dev/ecolyo/src/components/PartnerConnectionStepsModal/PartnerConnectionStepsModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/PartnerConnectionStepsModal/PartnerConnectionStepsModal.tsx");
+  reactHotLoader.register(PartnerConnectionStepsModal, "PartnerConnectionStepsModal", "/home/bastien/ecolyo/src/components/PartnerConnectionStepsModal/PartnerConnectionStepsModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/PartnerConnectionStepsModal/PartnerConnectionStepsModal.tsx");
 })();
 
 ;
@@ -629,7 +629,7 @@ exports.default = ConnectionService;
     return;
   }
 
-  reactHotLoader.register(ConnectionService, "ConnectionService", "/home/gcarron/dev/ecolyo/src/services/connection.service.ts");
+  reactHotLoader.register(ConnectionService, "ConnectionService", "/home/bastien/ecolyo/src/services/connection.service.ts");
 })();
 
 ;
@@ -707,7 +707,8 @@ var ConnectionOAuthWithPartnerAccount = function ConnectionOAuthWithPartnerAccou
   var konnectorSlug = _ref.konnectorSlug,
       konnector = _ref.konnector,
       handleSuccess = _ref.handleSuccess,
-      togglePartnerConnectionModal = _ref.togglePartnerConnectionModal;
+      togglePartnerConnectionModal = _ref.togglePartnerConnectionModal,
+      fluidStatus = _ref.fluidStatus;
 
   var _useI18n = (0, _I18n.useI18n)(),
       t = _useI18n.t;
@@ -726,7 +727,8 @@ var ConnectionOAuthWithPartnerAccount = function ConnectionOAuthWithPartnerAccou
   }, /*#__PURE__*/_react.default.createElement(_FormOAuth.default, {
     konnector: konnector,
     onSuccess: handleSuccess,
-    highlightedStyle: true
+    highlightedStyle: true,
+    fluidStatus: fluidStatus
   })), konnectorSlug === 'grdfgrandlyon' && /*#__PURE__*/_react.default.createElement("div", {
     className: "koauthform-infotext text-16-normal"
   }, t('auth.' + konnectorSlug + '.with_account.subtitle1_info')), /*#__PURE__*/_react.default.createElement("div", {
@@ -770,8 +772,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConnectionOAuthWithPartnerAccount, "ConnectionOAuthWithPartnerAccount", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionOAuthWithPartnerAccount.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionOAuthWithPartnerAccount.tsx");
+  reactHotLoader.register(ConnectionOAuthWithPartnerAccount, "ConnectionOAuthWithPartnerAccount", "/home/bastien/ecolyo/src/components/Connection/ConnectionOAuthWithPartnerAccount.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/ConnectionOAuthWithPartnerAccount.tsx");
 })();
 
 ;
@@ -866,8 +868,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConnectionNotFound, "ConnectionNotFound", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionNotFound.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionNotFound.tsx");
+  reactHotLoader.register(ConnectionNotFound, "ConnectionNotFound", "/home/bastien/ecolyo/src/components/Connection/ConnectionNotFound.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/ConnectionNotFound.tsx");
 })();
 
 ;
@@ -1048,8 +1050,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ReleaseNotesModal, "ReleaseNotesModal", "/home/gcarron/dev/ecolyo/src/components/Home/releaseNotesModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Home/releaseNotesModal.tsx");
+  reactHotLoader.register(ReleaseNotesModal, "ReleaseNotesModal", "/home/bastien/ecolyo/src/components/Home/releaseNotesModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Home/releaseNotesModal.tsx");
 })();
 
 ;
@@ -1325,8 +1327,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(BarChart, "BarChart", "/home/gcarron/dev/ecolyo/src/components/Charts/BarChart.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Charts/BarChart.tsx");
+  reactHotLoader.register(BarChart, "BarChart", "/home/bastien/ecolyo/src/components/Charts/BarChart.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Charts/BarChart.tsx");
 })();
 
 ;
@@ -1692,8 +1694,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConsumptionView, "ConsumptionView", "/home/gcarron/dev/ecolyo/src/components/Home/ConsumptionView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Home/ConsumptionView.tsx");
+  reactHotLoader.register(ConsumptionView, "ConsumptionView", "/home/bastien/ecolyo/src/components/Home/ConsumptionView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Home/ConsumptionView.tsx");
 })();
 
 ;
@@ -1824,8 +1826,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(Connection, "Connection", "/home/gcarron/dev/ecolyo/src/components/Connection/Connection.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/Connection.tsx");
+  reactHotLoader.register(Connection, "Connection", "/home/bastien/ecolyo/src/components/Connection/Connection.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/Connection.tsx");
 })();
 
 ;
@@ -2155,63 +2157,78 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
       }
     }, _callee3);
   })), [refreshChallengeState, updateGlobalFluidStatus, setActive, partnersInfoService, fluidService, dispatch]);
-  var handleConnectionEnd = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
-    var accountService, partnersInfo, _updatedFluidStatus;
-
-    return _regenerator.default.wrap(function _callee4$(_context4) {
-      while (1) {
-        switch (_context4.prev = _context4.next) {
-          case 0:
-            if (!(account && konnectorErrorDescription === 'LOGIN_FAILED' && fluidStatus !== null && fluidStatus.connection.account !== null && fluidStatus.connection.account.auth !== undefined && fluidStatus.connection.account.auth.login)) {
-              _context4.next = 9;
-              break;
-            }
+  var handleConnectionEnd = (0, _react.useCallback)( /*#__PURE__*/function () {
+    var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(isSuccess) {
+      var accountService, partnersInfo, _updatedFluidStatus;
 
-            fluidStatus.connection.konnectorConfig.lastKnownCredentials = fluidStatus.connection.account.auth.login;
-            accountService = new _account.default(client);
-            _context4.next = 5;
-            return accountService.deleteAccount(account);
+      return _regenerator.default.wrap(function _callee4$(_context4) {
+        while (1) {
+          switch (_context4.prev = _context4.next) {
+            case 0:
+              if (!(account && konnectorErrorDescription === 'LOGIN_FAILED' && fluidStatus !== null && fluidStatus.connection.account !== null && fluidStatus.connection.account.auth !== undefined && fluidStatus.connection.account.auth.login)) {
+                _context4.next = 9;
+                break;
+              }
 
-          case 5:
-            _context4.next = 7;
-            return handleAccountDeletion();
+              fluidStatus.connection.konnectorConfig.lastKnownCredentials = fluidStatus.connection.account.auth.login;
+              accountService = new _account.default(client);
+              _context4.next = 5;
+              return accountService.deleteAccount(account);
 
-          case 7:
-            _context4.next = 17;
-            break;
+            case 5:
+              _context4.next = 7;
+              return handleAccountDeletion();
 
-          case 9:
-            if (!(updatedFluidStatus.length > 0)) {
-              _context4.next = 17;
+            case 7:
+              _context4.next = 20;
               break;
-            }
 
-            _context4.next = 12;
-            return partnersInfoService.getPartnersInfo();
+            case 9:
+              if (!(isSuccess && fluidStatus.lastDataDate === null)) {
+                _context4.next = 12;
+                break;
+              }
 
-          case 12:
-            partnersInfo = _context4.sent;
-            _context4.next = 15;
-            return fluidService.getFluidStatus(partnersInfo);
+              _context4.next = 12;
+              return _usageEvent.default.udpateConnectionAttemptEvent(client, fluidSlug);
 
-          case 15:
-            _updatedFluidStatus = _context4.sent;
-            dispatch((0, _global.setFluidStatus)(_updatedFluidStatus));
+            case 12:
+              if (!(updatedFluidStatus.length > 0)) {
+                _context4.next = 20;
+                break;
+              }
 
-          case 17:
-            setActive(false);
-            setOpenModal(false); // TODO null state seems to be read before modal closing and display a success icon in modal
+              _context4.next = 15;
+              return partnersInfoService.getPartnersInfo();
 
-            setKonnectorState(null);
-            setKonnectorErrorDescription(null);
+            case 15:
+              partnersInfo = _context4.sent;
+              _context4.next = 18;
+              return fluidService.getFluidStatus(partnersInfo);
 
-          case 21:
-          case "end":
-            return _context4.stop();
+            case 18:
+              _updatedFluidStatus = _context4.sent;
+              dispatch((0, _global.setFluidStatus)(_updatedFluidStatus));
+
+            case 20:
+              setActive(false);
+              setOpenModal(false); // TODO null state seems to be read before modal closing and display a success icon in modal
+
+              setKonnectorState(null);
+              setKonnectorErrorDescription(null);
+
+            case 24:
+            case "end":
+              return _context4.stop();
+          }
         }
-      }
-    }, _callee4);
-  })), [account, client, dispatch, fluidService, fluidStatus, handleAccountDeletion, konnectorErrorDescription, partnersInfoService, setActive, updatedFluidStatus.length]);
+      }, _callee4);
+    }));
+
+    return function (_x) {
+      return _ref5.apply(this, arguments);
+    };
+  }(), [account, client, dispatch, fluidService, fluidStatus, handleAccountDeletion, konnectorErrorDescription, partnersInfoService, setActive, updatedFluidStatus.length, fluidSlug]);
   var sendUsageEventSuccess = (0, _react.useCallback)( /*#__PURE__*/function () {
     var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(konnectorSlug, isConnexion) {
       return _regenerator.default.wrap(function _callee5$(_context5) {
@@ -2232,7 +2249,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
       }, _callee5);
     }));
 
-    return function (_x, _x2) {
+    return function (_x2, _x3) {
       return _ref6.apply(this, arguments);
     };
   }(), [client]);
@@ -2256,7 +2273,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
       }, _callee6);
     }));
 
-    return function (_x3, _x4) {
+    return function (_x4, _x5) {
       return _ref7.apply(this, arguments);
     };
   }(), [client]);
@@ -2287,7 +2304,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
           switch (_context7.prev = _context7.next) {
             case 0:
               if (!(_state !== _flowEvents.LOGIN_SUCCESS_EVENT)) {
-                _context7.next = 8;
+                _context7.next = 13;
                 break;
               }
 
@@ -2295,17 +2312,24 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
                 shouldLaunchKonnector: false
               });
               dispatch((0, _global.updatedFluidConnection)(fluidStatus.fluidType, updatedConnection));
-              _context7.next = 5;
+              _context7.t0 = Promise;
+              _context7.next = 6;
               return refreshChallengeState();
 
-            case 5:
-              _context7.next = 7;
+            case 6:
+              _context7.t1 = _context7.sent;
+              _context7.next = 9;
               return updateGlobalFluidStatus();
 
-            case 7:
+            case 9:
+              _context7.t2 = _context7.sent;
+              _context7.t3 = [_context7.t1, _context7.t2];
+
+              _context7.t0.all.call(_context7.t0, _context7.t3);
+
               setKonnectorState(_state);
 
-            case 8:
+            case 13:
             case "end":
               return _context7.stop();
           }
@@ -2313,7 +2337,7 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
       }, _callee7);
     }));
 
-    return function (_x5) {
+    return function (_x6) {
       return _ref8.apply(this, arguments);
     };
   }(), [dispatch, fluidStatus.connection, fluidStatus.fluidType, refreshChallengeState, updateGlobalFluidStatus]);
@@ -2385,18 +2409,12 @@ var KonnectorViewerCard = function KonnectorViewerCard(_ref) {
 
               case 5:
                 connectionFlow.jobWatcher.on(_flowEvents.ERROR_EVENT, function () {
-                  if (subscribed) {
-                    sendUsageEventError(fluidSlug, fluidStatus.lastDataDate === null);
-                  }
-
+                  sendUsageEventError(fluidSlug, fluidStatus.lastDataDate === null);
                   setKonnectorErrorDescription(connectionFlow.jobWatcher.on()._error);
                   callbackResponse(_flowEvents.ERROR_EVENT);
                 });
                 connectionFlow.jobWatcher.on(_flowEvents.LOGIN_SUCCESS_EVENT, function () {
-                  if (subscribed) {
-                    sendUsageEventSuccess(fluidSlug, fluidStatus.lastDataDate === null);
-                  }
-
+                  sendUsageEventSuccess(fluidSlug, fluidStatus.lastDataDate === null);
                   callbackResponse(_flowEvents.LOGIN_SUCCESS_EVENT);
                 });
                 connectionFlow.jobWatcher.on(_flowEvents.SUCCESS_EVENT, function () {
@@ -2507,8 +2525,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(KonnectorViewerCard, "KonnectorViewerCard", "/home/gcarron/dev/ecolyo/src/components/Konnector/KonnectorViewerCard.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Konnector/KonnectorViewerCard.tsx");
+  reactHotLoader.register(KonnectorViewerCard, "KonnectorViewerCard", "/home/bastien/ecolyo/src/components/Konnector/KonnectorViewerCard.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Konnector/KonnectorViewerCard.tsx");
 })();
 
 ;
@@ -2673,8 +2691,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(PartnersIssueModal, "PartnersIssueModal", "/home/gcarron/dev/ecolyo/src/components/PartnersIssue/PartnersIssueModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/PartnersIssue/PartnersIssueModal.tsx");
+  reactHotLoader.register(PartnersIssueModal, "PartnersIssueModal", "/home/bastien/ecolyo/src/components/PartnersIssue/PartnersIssueModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/PartnersIssue/PartnersIssueModal.tsx");
 })();
 
 ;
@@ -2851,15 +2869,23 @@ var FormLogin = function FormLogin(_ref) {
               connectionService = new _connection.default(client);
               _context2.prev = 1;
               _context2.next = 4;
-              return connectionService.connectNewUser(konnectorSlug, login, password);
+              return _usageEvent.default.addEvent(client, {
+                type: _usageEvent2.UsageEventType.KONNECTOR_ATTEMPT_EVENT,
+                target: konnectorSlug,
+                result: 'error'
+              });
 
             case 4:
+              _context2.next = 6;
+              return connectionService.connectNewUser(konnectorSlug, login, password);
+
+            case 6:
               _yield$connectionServ = _context2.sent;
               _account = _yield$connectionServ.account;
               _trigger = _yield$connectionServ.trigger;
 
               if (_trigger) {
-                _context2.next = 11;
+                _context2.next = 13;
                 break;
               }
 
@@ -2867,31 +2893,30 @@ var FormLogin = function FormLogin(_ref) {
               sendUsageEventError(konnectorSlug);
               return _context2.abrupt("return", null);
 
-            case 11:
+            case 13:
               updatedConnection = (0, _objectSpread2.default)({}, fluidStatus.connection, {
                 account: _account,
                 trigger: _trigger
               });
-              setLoading(false); // await sendUsageEventSuccess(konnectorSlug)
-
+              setLoading(false);
               dispatch((0, _global.updatedFluidConnection)(fluidStatus.fluidType, updatedConnection));
               handleSuccess();
-              _context2.next = 22;
+              _context2.next = 24;
               break;
 
-            case 17:
-              _context2.prev = 17;
+            case 19:
+              _context2.prev = 19;
               _context2.t0 = _context2["catch"](1);
               setLoading(false);
               sendUsageEventError(konnectorSlug);
               console.log(_context2.t0);
 
-            case 22:
+            case 24:
             case "end":
               return _context2.stop();
           }
         }
-      }, _callee2, null, [[1, 17]]);
+      }, _callee2, null, [[1, 19]]);
     }));
 
     return function connect() {
@@ -3097,8 +3122,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FormLogin, "FormLogin", "/home/gcarron/dev/ecolyo/src/components/Connection/FormLogin.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/FormLogin.tsx");
+  reactHotLoader.register(FormLogin, "FormLogin", "/home/bastien/ecolyo/src/components/Connection/FormLogin.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/FormLogin.tsx");
 })();
 
 ;
@@ -3356,8 +3381,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FluidChartSlide, "FluidChartSlide", "/home/gcarron/dev/ecolyo/src/components/FluidChart/FluidChartSlide.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/FluidChart/FluidChartSlide.tsx");
+  reactHotLoader.register(FluidChartSlide, "FluidChartSlide", "/home/bastien/ecolyo/src/components/FluidChart/FluidChartSlide.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/FluidChart/FluidChartSlide.tsx");
 })();
 
 ;
@@ -3383,6 +3408,10 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
+var _regenerator = _interopRequireDefault(__webpack_require__("o0o1"));
+
+var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU"));
+
 var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp"));
 
 var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
@@ -3407,6 +3436,10 @@ var _reactRedux = __webpack_require__("/MKj");
 
 var _global = __webpack_require__("c4IZ");
 
+var _usageEvent = __webpack_require__("/fHX");
+
+var _usageEvent2 = _interopRequireDefault(__webpack_require__("dECN"));
+
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
   enterModule && enterModule(module);
@@ -3424,7 +3457,8 @@ var FormOAuth = function FormOAuth(_ref) {
   var konnector = _ref.konnector,
       onSuccess = _ref.onSuccess,
       _ref$highlightedStyle = _ref.highlightedStyle,
-      highlightedStyle = _ref$highlightedStyle === void 0 ? true : _ref$highlightedStyle;
+      highlightedStyle = _ref$highlightedStyle === void 0 ? true : _ref$highlightedStyle,
+      fluidStatus = _ref.fluidStatus;
   var IDLE = 'idle';
   var WAITING = 'waiting';
 
@@ -3449,9 +3483,33 @@ var FormOAuth = function FormOAuth(_ref) {
 
     dispatch((0, _global.setShouldRefreshConsent)(false));
   }, [dispatch]);
-  var startOAuth = (0, _react.useCallback)(function () {
-    setStatus(WAITING);
-  }, []);
+  var startOAuth = (0, _react.useCallback)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
+    return _regenerator.default.wrap(function _callee$(_context) {
+      while (1) {
+        switch (_context.prev = _context.next) {
+          case 0:
+            if (!(konnector && konnector.slug && fluidStatus.lastDataDate === null)) {
+              _context.next = 3;
+              break;
+            }
+
+            _context.next = 3;
+            return _usageEvent2.default.addEvent(client, {
+              type: _usageEvent.UsageEventType.KONNECTOR_ATTEMPT_EVENT,
+              target: konnector.slug,
+              result: 'error'
+            });
+
+          case 3:
+            setStatus(WAITING);
+
+          case 4:
+          case "end":
+            return _context.stop();
+        }
+      }
+    }, _callee);
+  })), [client, fluidStatus.lastDataDate, konnector]);
   var handleAccountId = (0, _react.useCallback)(function (accountId) {
     endOAuth();
     onSuccess(accountId);
@@ -3517,8 +3575,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FormOAuth, "FormOAuth", "/home/gcarron/dev/ecolyo/src/components/Connection/FormOAuth.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/FormOAuth.tsx");
+  reactHotLoader.register(FormOAuth, "FormOAuth", "/home/bastien/ecolyo/src/components/Connection/FormOAuth.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/FormOAuth.tsx");
 })();
 
 ;
@@ -3713,8 +3771,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DataloadSectionDetail, "DataloadSectionDetail", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/DataloadSectionDetail.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/DataloadSectionDetail.tsx");
+  reactHotLoader.register(DataloadSectionDetail, "DataloadSectionDetail", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/DataloadSectionDetail.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/DataloadSectionDetail.tsx");
 })();
 
 ;
@@ -3875,8 +3933,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DataloadConsumptionVisualizer, "DataloadConsumptionVisualizer", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/DataloadConsumptionVisualizer.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/DataloadConsumptionVisualizer.tsx");
+  reactHotLoader.register(DataloadConsumptionVisualizer, "DataloadConsumptionVisualizer", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/DataloadConsumptionVisualizer.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/DataloadConsumptionVisualizer.tsx");
 })();
 
 ;
@@ -3958,8 +4016,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConsumptionDetails, "ConsumptionDetails", "/home/gcarron/dev/ecolyo/src/components/Home/ConsumptionDetails.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Home/ConsumptionDetails.tsx");
+  reactHotLoader.register(ConsumptionDetails, "ConsumptionDetails", "/home/bastien/ecolyo/src/components/Home/ConsumptionDetails.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Home/ConsumptionDetails.tsx");
 })();
 
 ;
@@ -4136,11 +4194,13 @@ var ConnectionOAuth = function ConnectionOAuth(_ref) {
   return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, hasSeenPartnerConnectionModal ? /*#__PURE__*/_react.default.createElement(_ConnectionOAuthWithPartnerAccount.default, {
     konnectorSlug: konnectorSlug,
     konnector: konnector,
+    fluidStatus: fluidStatus,
     handleSuccess: handleSuccess,
     togglePartnerConnectionModal: togglePartnerConnectionModal
   }) : /*#__PURE__*/_react.default.createElement(_ConnectionOAuthNoPartnerAccount.default, {
     konnectorSlug: konnectorSlug,
     konnector: konnector,
+    fluidStatus: fluidStatus,
     handleSuccess: handleSuccess,
     togglePartnerConnectionModal: togglePartnerConnectionModal
   }), /*#__PURE__*/_react.default.createElement(_PartnerConnectionStepsModal.default, {
@@ -4167,8 +4227,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConnectionOAuth, "ConnectionOAuth", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionOAuth.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionOAuth.tsx");
+  reactHotLoader.register(ConnectionOAuth, "ConnectionOAuth", "/home/bastien/ecolyo/src/components/Connection/ConnectionOAuth.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/ConnectionOAuth.tsx");
 })();
 
 ;
@@ -4228,7 +4288,8 @@ var ConnectionOAuthNoPartnerAccount = function ConnectionOAuthNoPartnerAccount(_
   var konnectorSlug = _ref.konnectorSlug,
       konnector = _ref.konnector,
       handleSuccess = _ref.handleSuccess,
-      togglePartnerConnectionModal = _ref.togglePartnerConnectionModal;
+      togglePartnerConnectionModal = _ref.togglePartnerConnectionModal,
+      fluidStatus = _ref.fluidStatus;
 
   var _useI18n = (0, _I18n.useI18n)(),
       t = _useI18n.t;
@@ -4257,7 +4318,8 @@ var ConnectionOAuthNoPartnerAccount = function ConnectionOAuthNoPartnerAccount(_
   }, /*#__PURE__*/_react.default.createElement(_FormOAuth.default, {
     konnector: konnector,
     onSuccess: handleSuccess,
-    highlightedStyle: false
+    highlightedStyle: false,
+    fluidStatus: fluidStatus
   })), /*#__PURE__*/_react.default.createElement("div", {
     className: "koauthform-infotext text-16-italic"
   }, t('auth.' + "".concat(konnectorSlug) + '.no_account.info')));
@@ -4279,8 +4341,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConnectionOAuthNoPartnerAccount, "ConnectionOAuthNoPartnerAccount", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionOAuthNoPartnerAccount.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionOAuthNoPartnerAccount.tsx");
+  reactHotLoader.register(ConnectionOAuthNoPartnerAccount, "ConnectionOAuthNoPartnerAccount", "/home/bastien/ecolyo/src/components/Connection/ConnectionOAuthNoPartnerAccount.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/ConnectionOAuthNoPartnerAccount.tsx");
 })();
 
 ;
@@ -4444,8 +4506,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConsumptionVisualizer, "ConsumptionVisualizer", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/ConsumptionVisualizer.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/ConsumptionVisualizer.tsx");
+  reactHotLoader.register(ConsumptionVisualizer, "ConsumptionVisualizer", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/ConsumptionVisualizer.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/ConsumptionVisualizer.tsx");
 })();
 
 ;
@@ -4573,8 +4635,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(KonnectorViewerList, "KonnectorViewerList", "/home/gcarron/dev/ecolyo/src/components/Konnector/KonnectorViewerList.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Konnector/KonnectorViewerList.tsx");
+  reactHotLoader.register(KonnectorViewerList, "KonnectorViewerList", "/home/bastien/ecolyo/src/components/Konnector/KonnectorViewerList.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Konnector/KonnectorViewerList.tsx");
 })();
 
 ;
@@ -4658,8 +4720,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(StepDetail, "StepDetail", "/home/gcarron/dev/ecolyo/src/components/PartnerConnectionStepsModal/StepDetail.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/PartnerConnectionStepsModal/StepDetail.tsx");
+  reactHotLoader.register(StepDetail, "StepDetail", "/home/bastien/ecolyo/src/components/PartnerConnectionStepsModal/StepDetail.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/PartnerConnectionStepsModal/StepDetail.tsx");
 })();
 
 ;
@@ -4802,12 +4864,12 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SwitchBase, "SwitchBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
-  reactHotLoader.register(SwitchElec, "SwitchElec", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
-  reactHotLoader.register(SwitchWater, "SwitchWater", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
-  reactHotLoader.register(SwitchGas, "SwitchGas", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
-  reactHotLoader.register(StyledSwitch, "StyledSwitch", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(SwitchBase, "SwitchBase", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(SwitchElec, "SwitchElec", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(SwitchWater, "SwitchWater", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(SwitchGas, "SwitchGas", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(StyledSwitch, "StyledSwitch", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
 })();
 
 ;
@@ -5004,7 +5066,7 @@ exports.getPartnerSteps = getPartnerSteps;
     return;
   }
 
-  reactHotLoader.register(getPartnerSteps, "getPartnerSteps", "/home/gcarron/dev/ecolyo/src/utils/steps.ts");
+  reactHotLoader.register(getPartnerSteps, "getPartnerSteps", "/home/bastien/ecolyo/src/utils/steps.ts");
 })();
 
 ;
@@ -5242,9 +5304,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(VirtualizeSwipeableViews, "VirtualizeSwipeableViews", "/home/gcarron/dev/ecolyo/src/components/FluidChart/FluidChartSwipe.tsx");
-  reactHotLoader.register(FluidChartSwipe, "FluidChartSwipe", "/home/gcarron/dev/ecolyo/src/components/FluidChart/FluidChartSwipe.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/FluidChart/FluidChartSwipe.tsx");
+  reactHotLoader.register(VirtualizeSwipeableViews, "VirtualizeSwipeableViews", "/home/bastien/ecolyo/src/components/FluidChart/FluidChartSwipe.tsx");
+  reactHotLoader.register(FluidChartSwipe, "FluidChartSwipe", "/home/bastien/ecolyo/src/components/FluidChart/FluidChartSwipe.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/FluidChart/FluidChartSwipe.tsx");
 })();
 
 ;
@@ -5379,8 +5441,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConnectionLogin, "ConnectionLogin", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionLogin.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionLogin.tsx");
+  reactHotLoader.register(ConnectionLogin, "ConnectionLogin", "/home/bastien/ecolyo/src/components/Connection/ConnectionLogin.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/ConnectionLogin.tsx");
 })();
 
 ;
@@ -5496,8 +5558,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConnectionLoginWithPartnerAccount, "ConnectionLoginWithPartnerAccount", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionLoginWithPartnerAccount.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionLoginWithPartnerAccount.tsx");
+  reactHotLoader.register(ConnectionLoginWithPartnerAccount, "ConnectionLoginWithPartnerAccount", "/home/bastien/ecolyo/src/components/Connection/ConnectionLoginWithPartnerAccount.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/ConnectionLoginWithPartnerAccount.tsx");
 })();
 
 ;
@@ -5595,8 +5657,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConnectionLoginNoPartnerAccount, "ConnectionLoginNoPartnerAccount", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionLoginNoPartnerAccount.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionLoginNoPartnerAccount.tsx");
+  reactHotLoader.register(ConnectionLoginNoPartnerAccount, "ConnectionLoginNoPartnerAccount", "/home/bastien/ecolyo/src/components/Connection/ConnectionLoginNoPartnerAccount.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/ConnectionLoginNoPartnerAccount.tsx");
 })();
 
 ;
@@ -5783,8 +5845,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DeleteGRDFAccountModal, "DeleteGRDFAccountModal", "/home/gcarron/dev/ecolyo/src/components/Connection/DeleteGRDFAccountModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/DeleteGRDFAccountModal.tsx");
+  reactHotLoader.register(DeleteGRDFAccountModal, "DeleteGRDFAccountModal", "/home/bastien/ecolyo/src/components/Connection/DeleteGRDFAccountModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/DeleteGRDFAccountModal.tsx");
 })();
 
 ;
@@ -6102,8 +6164,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FluidChart, "FluidChart", "/home/gcarron/dev/ecolyo/src/components/FluidChart/FluidChart.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/FluidChart/FluidChart.tsx");
+  reactHotLoader.register(FluidChart, "FluidChart", "/home/bastien/ecolyo/src/components/FluidChart/FluidChart.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/FluidChart/FluidChart.tsx");
 })();
 
 ;
@@ -6308,8 +6370,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FluidButton, "FluidButton", "/home/gcarron/dev/ecolyo/src/components/Home/FluidButton.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Home/FluidButton.tsx");
+  reactHotLoader.register(FluidButton, "FluidButton", "/home/bastien/ecolyo/src/components/Home/FluidButton.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Home/FluidButton.tsx");
 })();
 
 ;
@@ -6473,8 +6535,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(TotalConsumption, "TotalConsumption", "/home/gcarron/dev/ecolyo/src/components/TotalConsumption/TotalConsumption.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/TotalConsumption/TotalConsumption.tsx");
+  reactHotLoader.register(TotalConsumption, "TotalConsumption", "/home/bastien/ecolyo/src/components/TotalConsumption/TotalConsumption.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/TotalConsumption/TotalConsumption.tsx");
 })();
 
 ;
@@ -6604,7 +6666,9 @@ var KonnectorModal = function KonnectorModal(_ref) {
     open: open,
     disableBackdropClick: true,
     disableEscapeKeyDown: true,
-    onClose: handleCloseClick,
+    onClose: function onClose() {
+      return handleCloseClick(state === _flowEvents.SUCCESS_EVENT);
+    },
     "aria-labelledby": 'accessibility-title',
     classes: {
       root: 'modal-root',
@@ -6665,7 +6729,7 @@ var KonnectorModal = function KonnectorModal(_ref) {
   }, t('konnector_modal.success_txt')), t("konnector_modal.success_data_".concat(isUpdating ? 'update_' : '').concat(fluidName.toLowerCase()))), state !== _flowEvents.LOGIN_SUCCESS_EVENT && /*#__PURE__*/_react.default.createElement(_Button.default, {
     "aria-label": t('konnector_modal.accessibility.button_close'),
     onClick: function onClick() {
-      return handleCloseClick();
+      return handleCloseClick(state === _flowEvents.SUCCESS_EVENT);
     },
     classes: {
       root: 'btn-highlight',
@@ -6690,9 +6754,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(loadingOptions, "loadingOptions", "/home/gcarron/dev/ecolyo/src/components/Konnector/KonnectorModal.tsx");
-  reactHotLoader.register(KonnectorModal, "KonnectorModal", "/home/gcarron/dev/ecolyo/src/components/Konnector/KonnectorModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Konnector/KonnectorModal.tsx");
+  reactHotLoader.register(loadingOptions, "loadingOptions", "/home/bastien/ecolyo/src/components/Konnector/KonnectorModal.tsx");
+  reactHotLoader.register(KonnectorModal, "KonnectorModal", "/home/bastien/ecolyo/src/components/Konnector/KonnectorModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Konnector/KonnectorModal.tsx");
 })();
 
 ;
@@ -6778,8 +6842,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DataloadSectionValue, "DataloadSectionValue", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/DataloadSectionValue.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/DataloadSectionValue.tsx");
+  reactHotLoader.register(DataloadSectionValue, "DataloadSectionValue", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/DataloadSectionValue.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/DataloadSectionValue.tsx");
 })();
 
 ;
@@ -6904,8 +6968,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DataloadNoValue, "DataloadNoValue", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/DataloadNoValue.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/DataloadNoValue.tsx");
+  reactHotLoader.register(DataloadNoValue, "DataloadNoValue", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/DataloadNoValue.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/DataloadNoValue.tsx");
 })();
 
 ;
@@ -7134,8 +7198,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ExpiredConsentModal, "ExpiredConsentModal", "/home/gcarron/dev/ecolyo/src/components/Connection/ExpiredConsentModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/ExpiredConsentModal.tsx");
+  reactHotLoader.register(ExpiredConsentModal, "ExpiredConsentModal", "/home/bastien/ecolyo/src/components/Connection/ExpiredConsentModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/ExpiredConsentModal.tsx");
 })();
 
 ;
@@ -7272,8 +7336,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DataloadSection, "DataloadSection", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/DataloadSection.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/DataloadSection.tsx");
+  reactHotLoader.register(DataloadSection, "DataloadSection", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/DataloadSection.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/DataloadSection.tsx");
 })();
 
 ;
@@ -7417,8 +7481,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ActivateHalfHourLoad, "ActivateHalfHourLoad", "/home/gcarron/dev/ecolyo/src/components/ActivateHalfHourLoad/ActivateHalfHourLoad.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ActivateHalfHourLoad/ActivateHalfHourLoad.tsx");
+  reactHotLoader.register(ActivateHalfHourLoad, "ActivateHalfHourLoad", "/home/bastien/ecolyo/src/components/ActivateHalfHourLoad/ActivateHalfHourLoad.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ActivateHalfHourLoad/ActivateHalfHourLoad.tsx");
 })();
 
 ;
@@ -7537,8 +7601,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FluidButtons, "FluidButtons", "/home/gcarron/dev/ecolyo/src/components/Home/FluidButtons.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Home/FluidButtons.tsx");
+  reactHotLoader.register(FluidButtons, "FluidButtons", "/home/bastien/ecolyo/src/components/Home/FluidButtons.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Home/FluidButtons.tsx");
 })();
 
 ;
@@ -7998,8 +8062,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConnectionResult, "ConnectionResult", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionResult.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Connection/ConnectionResult.tsx");
+  reactHotLoader.register(ConnectionResult, "ConnectionResult", "/home/bastien/ecolyo/src/components/Connection/ConnectionResult.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Connection/ConnectionResult.tsx");
 })();
 
 ;
@@ -8225,8 +8289,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(TimeStepSelector, "TimeStepSelector", "/home/gcarron/dev/ecolyo/src/components/TimeStepSelector/TimeStepSelector.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/TimeStepSelector/TimeStepSelector.tsx");
+  reactHotLoader.register(TimeStepSelector, "TimeStepSelector", "/home/bastien/ecolyo/src/components/TimeStepSelector/TimeStepSelector.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/TimeStepSelector/TimeStepSelector.tsx");
 })();
 
 ;
@@ -8444,8 +8508,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(InfoDataConsumptionVisualizer, "InfoDataConsumptionVisualizer", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/InfoDataConsumptionVisualizer.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/InfoDataConsumptionVisualizer.tsx");
+  reactHotLoader.register(InfoDataConsumptionVisualizer, "InfoDataConsumptionVisualizer", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/InfoDataConsumptionVisualizer.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/InfoDataConsumptionVisualizer.tsx");
 })();
 
 ;
diff --git a/3/ecolyo.dd68f7f45709e6f83800.js b/3/ecolyo.1ec834f803aaa11266cd.js
similarity index 97%
rename from 3/ecolyo.dd68f7f45709e6f83800.js
rename to 3/ecolyo.1ec834f803aaa11266cd.js
index b7cd6d4cb310c3712ed2d8e5d52f9e4d45d03943..dc5692a12035d8ea94822802cbf8f77fbd85196c 100644
--- a/3/ecolyo.dd68f7f45709e6f83800.js
+++ b/3/ecolyo.1ec834f803aaa11266cd.js
@@ -266,8 +266,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeFormDateSelection, "ProfileTypeFormDateSelection", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFormDateSelection.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFormDateSelection.tsx");
+  reactHotLoader.register(ProfileTypeFormDateSelection, "ProfileTypeFormDateSelection", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFormDateSelection.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFormDateSelection.tsx");
 })();
 
 ;
@@ -453,8 +453,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeFormMultiChoice, "ProfileTypeFormMultiChoice", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFormMultiChoice.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFormMultiChoice.tsx");
+  reactHotLoader.register(ProfileTypeFormMultiChoice, "ProfileTypeFormMultiChoice", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFormMultiChoice.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFormMultiChoice.tsx");
 })();
 
 ;
@@ -612,8 +612,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeFormNumberSelection, "ProfileTypeFormNumberSelection", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFormNumberSelection.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFormNumberSelection.tsx");
+  reactHotLoader.register(ProfileTypeFormNumberSelection, "ProfileTypeFormNumberSelection", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFormNumberSelection.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFormNumberSelection.tsx");
 })();
 
 ;
@@ -744,8 +744,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeFormSingleChoice, "ProfileTypeFormSingleChoice", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFormSingleChoice.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFormSingleChoice.tsx");
+  reactHotLoader.register(ProfileTypeFormSingleChoice, "ProfileTypeFormSingleChoice", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFormSingleChoice.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFormSingleChoice.tsx");
 })();
 
 ;
@@ -847,8 +847,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeProgress, "ProfileTypeProgress", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeProgress.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeProgress.tsx");
+  reactHotLoader.register(ProfileTypeProgress, "ProfileTypeProgress", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeProgress.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeProgress.tsx");
 })();
 
 ;
@@ -970,8 +970,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeFormNumber, "ProfileTypeFormNumber", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFormNumber.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFormNumber.tsx");
+  reactHotLoader.register(ProfileTypeFormNumber, "ProfileTypeFormNumber", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFormNumber.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFormNumber.tsx");
 })();
 
 ;
@@ -1201,8 +1201,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeFinished, "ProfileTypeFinished", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFinished.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeFinished.tsx");
+  reactHotLoader.register(ProfileTypeFinished, "ProfileTypeFinished", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFinished.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeFinished.tsx");
 })();
 
 ;
@@ -1456,8 +1456,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeView, "ProfileTypeView", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ProfileType/ProfileTypeView.tsx");
+  reactHotLoader.register(ProfileTypeView, "ProfileTypeView", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ProfileType/ProfileTypeView.tsx");
 })();
 
 ;
@@ -1857,7 +1857,7 @@ exports.default = ProfileTypeFormService;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeFormService, "ProfileTypeFormService", "/home/gcarron/dev/ecolyo/src/services/profileTypeForm.service.ts");
+  reactHotLoader.register(ProfileTypeFormService, "ProfileTypeFormService", "/home/bastien/ecolyo/src/services/profileTypeForm.service.ts");
 })();
 
 ;
diff --git a/4/ecolyo.e755c1e9e5663f5d0e97.js b/4/ecolyo.f71cc4975d64925777d1.js
similarity index 96%
rename from 4/ecolyo.e755c1e9e5663f5d0e97.js
rename to 4/ecolyo.f71cc4975d64925777d1.js
index 9b5502d177713638dcb766ab15485ac2ff48ae25..0c91d427ff46730207051638492f3143fb1fe992 100644
--- a/4/ecolyo.e755c1e9e5663f5d0e97.js
+++ b/4/ecolyo.f71cc4975d64925777d1.js
@@ -368,9 +368,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(TabPanel, "TabPanel", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureView.tsx");
-  reactHotLoader.register(EcogestureView, "EcogestureView", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureView.tsx");
+  reactHotLoader.register(TabPanel, "TabPanel", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureView.tsx");
+  reactHotLoader.register(EcogestureView, "EcogestureView", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureView.tsx");
 })();
 
 ;
@@ -536,14 +536,14 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(CardBase, "CardBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
-  reactHotLoader.register(CardNew, "CardNew", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
-  reactHotLoader.register(CardBlueBorderContentBase, "CardBlueBorderContentBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
-  reactHotLoader.register(CardChallengeBase, "CardChallengeBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
-  reactHotLoader.register(CardContentBase, "CardContentBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
-  reactHotLoader.register(GenerateContentCard, "GenerateContentCard", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
-  reactHotLoader.register(StyledEcogestureCard, "StyledEcogestureCard", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
+  reactHotLoader.register(CardBase, "CardBase", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
+  reactHotLoader.register(CardNew, "CardNew", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
+  reactHotLoader.register(CardBlueBorderContentBase, "CardBlueBorderContentBase", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
+  reactHotLoader.register(CardChallengeBase, "CardChallengeBase", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
+  reactHotLoader.register(CardContentBase, "CardContentBase", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
+  reactHotLoader.register(GenerateContentCard, "GenerateContentCard", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
+  reactHotLoader.register(StyledEcogestureCard, "StyledEcogestureCard", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledEcogestureCard.tsx");
 })();
 
 ;
@@ -715,8 +715,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureCard, "EcogestureCard", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureCard.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureCard.tsx");
+  reactHotLoader.register(EcogestureCard, "EcogestureCard", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureCard.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureCard.tsx");
 })();
 
 ;
@@ -1024,8 +1024,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureList, "EcogestureList", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureList.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureList.tsx");
+  reactHotLoader.register(EcogestureList, "EcogestureList", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureList.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureList.tsx");
 })();
 
 ;
@@ -1169,8 +1169,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureInitModal, "EcogestureInitModal", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureInitModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureInitModal.tsx");
+  reactHotLoader.register(EcogestureInitModal, "EcogestureInitModal", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureInitModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureInitModal.tsx");
 })();
 
 ;
@@ -1351,8 +1351,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureEmptyList, "EcogestureEmptyList", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureEmptyList.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureEmptyList.tsx");
+  reactHotLoader.register(EcogestureEmptyList, "EcogestureEmptyList", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureEmptyList.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureEmptyList.tsx");
 })();
 
 ;
diff --git a/5/ecolyo.d69c042c80cd18fd32ea.js b/5/ecolyo.1eba41d98861629116ee.js
similarity index 94%
rename from 5/ecolyo.d69c042c80cd18fd32ea.js
rename to 5/ecolyo.1eba41d98861629116ee.js
index e64bdb07cfe95ae1bfff50245f280905f735ac19..26e184679a2c26c8d7abb0a812c3334dcdd2a26d 100644
--- a/5/ecolyo.d69c042c80cd18fd32ea.js
+++ b/5/ecolyo.1eba41d98861629116ee.js
@@ -203,8 +203,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DateNavigator, "DateNavigator", "/home/gcarron/dev/ecolyo/src/components/DateNavigator/DateNavigator.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/DateNavigator/DateNavigator.tsx");
+  reactHotLoader.register(DateNavigator, "DateNavigator", "/home/bastien/ecolyo/src/components/DateNavigator/DateNavigator.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/DateNavigator/DateNavigator.tsx");
 })();
 
 ;
@@ -362,8 +362,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DateNavigatorFormat, "DateNavigatorFormat", "/home/gcarron/dev/ecolyo/src/components/DateNavigator/DateNavigatorFormat.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/DateNavigator/DateNavigatorFormat.tsx");
+  reactHotLoader.register(DateNavigatorFormat, "DateNavigatorFormat", "/home/bastien/ecolyo/src/components/DateNavigator/DateNavigatorFormat.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/DateNavigator/DateNavigatorFormat.tsx");
 })();
 
 ;
@@ -485,15 +485,15 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(CardBase, "CardBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(CardElec, "CardElec", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(CardWater, "CardWater", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(CardGas, "CardGas", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(CardMulti, "CardMulti", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(CardContentBase, "CardContentBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(GenerateContentCard, "GenerateContentCard", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(StyledCard, "StyledCard", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardBase, "CardBase", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardElec, "CardElec", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardWater, "CardWater", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardGas, "CardGas", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardMulti, "CardMulti", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardContentBase, "CardContentBase", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(GenerateContentCard, "GenerateContentCard", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(StyledCard, "StyledCard", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
 })();
 
 ;
@@ -707,8 +707,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EstimatedConsumptionModal, "EstimatedConsumptionModal", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/EstimatedConsumptionModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ConsumptionVisualizer/EstimatedConsumptionModal.tsx");
+  reactHotLoader.register(EstimatedConsumptionModal, "EstimatedConsumptionModal", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/EstimatedConsumptionModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ConsumptionVisualizer/EstimatedConsumptionModal.tsx");
 })();
 
 ;
diff --git a/6/ecolyo.48bbaed6f6fea238b6d6.js b/6/ecolyo.dbf35955e15034b9139b.js
similarity index 94%
rename from 6/ecolyo.48bbaed6f6fea238b6d6.js
rename to 6/ecolyo.dbf35955e15034b9139b.js
index 1d10888e0f1cef9a1c8efdcc01884e36ad8852f7..df585063ca545482cb05c51d5a2d770258ec7f5a 100644
--- a/6/ecolyo.48bbaed6f6fea238b6d6.js
+++ b/6/ecolyo.dbf35955e15034b9139b.js
@@ -73,8 +73,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(GCUView, "GCUView", "/home/gcarron/dev/ecolyo/src/components/GCU/GCUView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/GCU/GCUView.tsx");
+  reactHotLoader.register(GCUView, "GCUView", "/home/bastien/ecolyo/src/components/GCU/GCUView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/GCU/GCUView.tsx");
 })();
 
 ;
diff --git a/8/ecolyo.91fddbf6c8efc9b0bb41.js b/8/ecolyo.a244a42b82fc41d129f5.js
similarity index 95%
rename from 8/ecolyo.91fddbf6c8efc9b0bb41.js
rename to 8/ecolyo.a244a42b82fc41d129f5.js
index 6b7804b8eaf943032e23e7ab94e98b57c9a12966..f5e7e881455f27bd4e9dae58c5cf4893f29d2365 100644
--- a/8/ecolyo.91fddbf6c8efc9b0bb41.js
+++ b/8/ecolyo.a244a42b82fc41d129f5.js
@@ -310,8 +310,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ReportOptions, "ReportOptions", "/home/gcarron/dev/ecolyo/src/components/Options/ReportOptions.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Options/ReportOptions.tsx");
+  reactHotLoader.register(ReportOptions, "ReportOptions", "/home/bastien/ecolyo/src/components/Options/ReportOptions.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Options/ReportOptions.tsx");
 })();
 
 ;
@@ -405,8 +405,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(GCULink, "GCULink", "/home/gcarron/dev/ecolyo/src/components/GCU/GCULink.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/GCU/GCULink.tsx");
+  reactHotLoader.register(GCULink, "GCULink", "/home/bastien/ecolyo/src/components/GCU/GCULink.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/GCU/GCULink.tsx");
 })();
 
 ;
@@ -470,8 +470,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(Version, "Version", "/home/gcarron/dev/ecolyo/src/components/Version/Version.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Version/Version.tsx");
+  reactHotLoader.register(Version, "Version", "/home/bastien/ecolyo/src/components/Version/Version.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Version/Version.tsx");
 })();
 
 ;
@@ -691,8 +691,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(LegalNoticeLink, "LegalNoticeLink", "/home/gcarron/dev/ecolyo/src/components/LegalNotice/LegalNoticeLink.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/LegalNotice/LegalNoticeLink.tsx");
+  reactHotLoader.register(LegalNoticeLink, "LegalNoticeLink", "/home/bastien/ecolyo/src/components/LegalNotice/LegalNoticeLink.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/LegalNotice/LegalNoticeLink.tsx");
 })();
 
 ;
@@ -872,12 +872,12 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SwitchBase, "SwitchBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
-  reactHotLoader.register(SwitchElec, "SwitchElec", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
-  reactHotLoader.register(SwitchWater, "SwitchWater", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
-  reactHotLoader.register(SwitchGas, "SwitchGas", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
-  reactHotLoader.register(StyledSwitch, "StyledSwitch", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(SwitchBase, "SwitchBase", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(SwitchElec, "SwitchElec", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(SwitchWater, "SwitchWater", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(SwitchGas, "SwitchGas", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(StyledSwitch, "StyledSwitch", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/Switch/StyledSwitch.tsx");
 })();
 
 ;
@@ -1117,8 +1117,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeOptions, "ProfileTypeOptions", "/home/gcarron/dev/ecolyo/src/components/Options/ProfileTypeOptions.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Options/ProfileTypeOptions.tsx");
+  reactHotLoader.register(ProfileTypeOptions, "ProfileTypeOptions", "/home/bastien/ecolyo/src/components/Options/ProfileTypeOptions.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Options/ProfileTypeOptions.tsx");
 })();
 
 ;
@@ -1242,8 +1242,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(OptionsView, "OptionsView", "/home/gcarron/dev/ecolyo/src/components/Options/OptionsView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Options/OptionsView.tsx");
+  reactHotLoader.register(OptionsView, "OptionsView", "/home/bastien/ecolyo/src/components/Options/OptionsView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Options/OptionsView.tsx");
 })();
 
 ;
@@ -1376,15 +1376,15 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(CardBase, "CardBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(CardElec, "CardElec", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(CardWater, "CardWater", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(CardGas, "CardGas", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(CardMulti, "CardMulti", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(CardContentBase, "CardContentBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(GenerateContentCard, "GenerateContentCard", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(StyledCard, "StyledCard", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardBase, "CardBase", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardElec, "CardElec", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardWater, "CardWater", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardGas, "CardGas", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardMulti, "CardMulti", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(CardContentBase, "CardContentBase", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(GenerateContentCard, "GenerateContentCard", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(StyledCard, "StyledCard", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/Card/StyledCard.tsx");
 })();
 
 ;
@@ -1512,8 +1512,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FAQLink, "FAQLink", "/home/gcarron/dev/ecolyo/src/components/FAQ/FAQLink.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/FAQ/FAQLink.tsx");
+  reactHotLoader.register(FAQLink, "FAQLink", "/home/bastien/ecolyo/src/components/FAQ/FAQLink.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/FAQ/FAQLink.tsx");
 })();
 
 ;
diff --git a/9/ecolyo.979400e31e650f8ac788.js b/9/ecolyo.f623d6a90c1f428d9e86.js
similarity index 99%
rename from 9/ecolyo.979400e31e650f8ac788.js
rename to 9/ecolyo.f623d6a90c1f428d9e86.js
index 368aa2eba59cfc8e3dd678dc7a0d6e08c777ced3..173067448456be6b4d54bea9150ac22e14d3d289 100644
--- a/9/ecolyo.979400e31e650f8ac788.js
+++ b/9/ecolyo.f623d6a90c1f428d9e86.js
@@ -735,7 +735,7 @@ exports.default = ProfileTypeService;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeService, "ProfileTypeService", "/home/gcarron/dev/ecolyo/src/services/profileType.service.ts");
+  reactHotLoader.register(ProfileTypeService, "ProfileTypeService", "/home/bastien/ecolyo/src/services/profileType.service.ts");
 })();
 
 ;
diff --git a/app/ecolyo.6fc5c53376640cb435a6.js b/app/ecolyo.745d296fcf37e0448edc.js
similarity index 98%
rename from app/ecolyo.6fc5c53376640cb435a6.js
rename to app/ecolyo.745d296fcf37e0448edc.js
index 94f7ad286ef4c7f552e7e1ab3fabcae0e4cfdcf4..3d22b0b6799428a0790e7b130cf502bdb5a35607 100644
--- a/app/ecolyo.6fc5c53376640cb435a6.js
+++ b/app/ecolyo.745d296fcf37e0448edc.js
@@ -64,7 +64,7 @@
 /******/
 /******/ 	// script path function
 /******/ 	function jsonpScriptSrc(chunkId) {
-/******/ 		return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"1":"22e53e34ccaf25f8a756","2":"8a41299bfe66fb9874b5","3":"dd68f7f45709e6f83800","4":"e755c1e9e5663f5d0e97","5":"d69c042c80cd18fd32ea","6":"48bbaed6f6fea238b6d6","8":"91fddbf6c8efc9b0bb41","9":"979400e31e650f8ac788","10":"46c7bb75747478ce4e67","11":"81a44f4753ffd3cfb197","12":"f3454576459cef994ff0"}[chunkId] + ".js"
+/******/ 		return __webpack_require__.p + "" + ({}[chunkId]||chunkId) + "/ecolyo." + {"1":"7787cc7a49954f961739","2":"49420b5a76721cbe85dd","3":"1ec834f803aaa11266cd","4":"f71cc4975d64925777d1","5":"1eba41d98861629116ee","6":"dbf35955e15034b9139b","8":"a244a42b82fc41d129f5","9":"f623d6a90c1f428d9e86","10":"b99a7fb7d0bf21026833","11":"449cca5c93c62417549d","12":"31ef841cfca201ebc064"}[chunkId] + ".js"
 /******/ 	}
 /******/
 /******/ 	// The require function
@@ -388,8 +388,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ActionCard, "ActionCard", "/home/gcarron/dev/ecolyo/src/components/Action/ActionCard.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Action/ActionCard.tsx");
+  reactHotLoader.register(ActionCard, "ActionCard", "/home/bastien/ecolyo/src/components/Action/ActionCard.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Action/ActionCard.tsx");
 })();
 
 ;
@@ -673,8 +673,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(QuizCustomQuestionContent, "QuizCustomQuestionContent", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizCustomQuestionContent.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizCustomQuestionContent.tsx");
+  reactHotLoader.register(QuizCustomQuestionContent, "QuizCustomQuestionContent", "/home/bastien/ecolyo/src/components/Quiz/QuizCustomQuestionContent.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Quiz/QuizCustomQuestionContent.tsx");
 })();
 
 ;
@@ -701,7 +701,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _reactDom = __webpack_require__("i8i4");
 
-var _cozyClient = __webpack_require__("SH7X");
+var _cozyClient = _interopRequireWildcard(__webpack_require__("SH7X"));
 
 var _reactRedux = __webpack_require__("/MKj");
 
@@ -713,45 +713,81 @@ var _oauth = __webpack_require__("sDS3");
 
 var _lodash = __webpack_require__("LvDl");
 
-var _client = __webpack_require__("1L0a");
+var _manifest = _interopRequireDefault(__webpack_require__("pZg0"));
+
+var _doctypes = _interopRequireDefault(__webpack_require__("D2hQ"));
 
-var _bar = __webpack_require__("WL0o");
+var _history = __webpack_require__("LhCv");
+
+var _reactRouterDom = __webpack_require__("55Ip");
+
+var _matomoTracker = _interopRequireDefault(__webpack_require__("vMBp"));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
   enterModule && enterModule(module);
 })();
 
+function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
+
+function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
+
 var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
   return a;
 };
 
 var setupApp = (0, _lodash.memoize)(function () {
-  var root = document.querySelector('[role=application]');
-
-  var _getValues = (0, _bar.getValues)(root.dataset),
-      lang = _getValues.lang;
+  var history = (0, _history.createBrowserHistory)(); // eslint-disable-next-line @typescript-eslint/no-explicit-any
 
-  var polyglot = (0, _I18n.initTranslation)(lang, function (lang) {
+  var root = document.querySelector('[role=application]');
+  var data = JSON.parse(root.dataset.cozy);
+  var protocol = window.location.protocol;
+  var cozyUrl = "".concat(protocol, "//").concat(data.domain);
+  var locale = 'fr';
+  var polyglot = (0, _I18n.initTranslation)(locale, function (lang) {
     return __webpack_require__("/KVF")("./".concat(lang));
   });
-  var client = (0, _client.getClient)();
+  var client = new _cozyClient.default({
+    uri: cozyUrl,
+    token: data.token,
+    appMetadata: {
+      slug: _manifest.default.name,
+      version: _manifest.default.version
+    },
+    schema: _doctypes.default
+  });
   var persistedState = {};
   var store = (0, _store.default)(client, persistedState);
-  /** I don't know why I need to for this... But if I don't it seems that
-   * we have a race between configureStore and initBar resulting in
-   * an error from cozy-client "store is already defined"
-   */
+  cozy.bar.init({
+    appName: data.app.name,
+    appEditor: data.app.editor,
+    cozyClient: client,
+    iconPath: data.app.icon,
+    lang: data.locale,
+    replaceTitleOnMobile: false,
+    appSlug: data.app.slug,
+    appNamePrefix: data.app.prefix
+  });
 
-  setTimeout(function () {
-    (0, _bar.initBar)(client);
-  }, 0);
+  if (Piwik) {
+    Piwik.getTracker();
+  }
+
+  var tracker = new _matomoTracker.default({
+    cozyUrl: cozyUrl,
+    url: "https://matomo.self-data.alpha.grandlyon.com/",
+    siteId: 1,
+    history: history,
+    phpFilename: 'matomo.php'
+  });
   return {
     root: root,
     store: store,
     client: client,
-    lang: lang,
-    polyglot: polyglot
+    locale: locale,
+    polyglot: polyglot,
+    history: history,
+    tracker: tracker
   };
 });
 
@@ -760,8 +796,10 @@ var init = function init() {
       root = _setupApp.root,
       store = _setupApp.store,
       client = _setupApp.client,
-      lang = _setupApp.lang,
-      polyglot = _setupApp.polyglot;
+      locale = _setupApp.locale,
+      polyglot = _setupApp.polyglot,
+      history = _setupApp.history,
+      tracker = _setupApp.tracker;
 
   if ((0, _oauth.handleOAuthResponse)()) return;
 
@@ -772,9 +810,11 @@ var init = function init() {
   }, /*#__PURE__*/_react.default.createElement(_cozyClient.CozyProvider, {
     client: client
   }, /*#__PURE__*/_react.default.createElement(_I18n.I18n, {
-    lang: lang,
+    lang: locale,
     polyglot: polyglot
-  }, /*#__PURE__*/_react.default.createElement(App, null)))), root);
+  }, /*#__PURE__*/_react.default.createElement(_reactRouterDom.HashRouter, history, /*#__PURE__*/_react.default.createElement(App, {
+    tracker: tracker
+  }))))), root);
 }; // initial rendering of the application
 
 
@@ -805,9 +845,9 @@ if (false) {}
     return;
   }
 
-  reactHotLoader.register(setupApp, "setupApp", "/home/gcarron/dev/ecolyo/src/targets/browser/index.tsx");
-  reactHotLoader.register(init, "init", "/home/gcarron/dev/ecolyo/src/targets/browser/index.tsx");
-  reactHotLoader.register(isSafari, "isSafari", "/home/gcarron/dev/ecolyo/src/targets/browser/index.tsx");
+  reactHotLoader.register(setupApp, "setupApp", "/home/bastien/ecolyo/src/targets/browser/index.tsx");
+  reactHotLoader.register(init, "init", "/home/bastien/ecolyo/src/targets/browser/index.tsx");
+  reactHotLoader.register(isSafari, "isSafari", "/home/bastien/ecolyo/src/targets/browser/index.tsx");
 })();
 
 ;
@@ -1004,8 +1044,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(CGUModal, "CGUModal", "/home/gcarron/dev/ecolyo/src/components/Terms/CGUModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Terms/CGUModal.tsx");
+  reactHotLoader.register(CGUModal, "CGUModal", "/home/bastien/ecolyo/src/components/Terms/CGUModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Terms/CGUModal.tsx");
 })();
 
 ;
@@ -1081,7 +1121,7 @@ exports.ACCOUNTS_DOCTYPE = ACCOUNTS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-accounts.ts");
+  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-accounts.ts");
 })();
 
 ;
@@ -1137,6 +1177,7 @@ exports.UsageEventType = UsageEventType;
 (function (UsageEventType) {
   UsageEventType["CONNECTION_EVENT"] = "ConnectionEvent";
   UsageEventType["KONNECTOR_CONNECT_EVENT"] = "KonnectorConnectEvent";
+  UsageEventType["KONNECTOR_ATTEMPT_EVENT"] = "KonnectorAttemptEvent";
   UsageEventType["KONNECTOR_REFRESH_EVENT"] = "KonnectorRefreshEvent";
   UsageEventType["NAVIGATION_EVENT"] = "NavigationEvent";
   UsageEventType["CONSUMPTION_COMPARE_EVENT"] = "ConsumptionCompareEvent";
@@ -1254,7 +1295,7 @@ exports.UserExplorationID = UserExplorationID;
 /***/ "/uBH":
 /***/ (function(module) {
 
-module.exports = JSON.parse("[{\"_id\":\"ECOGESTURE0001\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Bonhomme de neige\",\"longName\":\"Je baisse le chauffage en mode hors gel lorsque je m'absente plus de 2 jours.\",\"longDescription\":\"On se demande parfois si cela vaut le coup de \\\"couper le chauffage\\\" quand on s’absente… dès qu’il s’agit d’un week-end la réponse est « oui sûrement » ! Attention cependant au retour à ne pas faire de la surchauffe ! L’idéal est bien évidemment de régler sa programmation pour que le chauffage se relance quelques heures avant votre retour…\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":1,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0002\",\"usage\":2,\"fluidTypes\":[0],\"shortName\":\"Portique thermique\",\"longName\":\"Je ferme mes fenêtres quand la climatisation est en marche\",\"longDescription\":\"Cela permet de garder la fraicheur à l'intérieur. Le climatiseur n'est pas là pour refroidir la rue mais bien la pièce.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":1,\"room\":[0],\"season\":\"Eté\",\"equipment\":true,\"equipmentType\":[\"AIR_CONDITIONING\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0003\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Passe-Pas-Partout\",\"longName\":\"Je ferme les portes entre les pièces chauffées et moins chauffées.\",\"longDescription\":\"Vous pouvez économiser 6 % de l’énergie nécessaire au chauffage en fermant les portes entre les pièces qui ne sont pas chauffées à la même température. Utilisez des “boudins de porte” pour éviter les courants d’air !\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":1,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je ferme les portes entre les pièces chauffées et moins chauffées.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0004\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Déesse des eaux\",\"longName\":\"Je coupe l'eau de la douche pendant que je me savonne.\",\"longDescription\":\"Si vous n’êtes pas frileux, coupez l'eau pendant que vous vous savonnez : l'économie en eau peut aller jusqu'à 50% !\",\"impactLevel\":5,\"efficiency\":2.5,\"difficulty\":1,\"room\":[1],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je coupe l'eau de la douche pendant que je me savonne.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0005\",\"usage\":4,\"fluidTypes\":[1],\"shortName\":\"NoNiagara\",\"longName\":\"Je ferme l’eau du robinet quand je me lave les dents.\",\"longDescription\":\"Un robinet qui coule inutilement pendant 2 minutes, c'est 25 litres d'eau gaspillés. Si ce gaspillage est fait tous les jours, c'est presque 10 000 litres perdus sur l'année.\",\"impactLevel\":5,\"efficiency\":2.5,\"difficulty\":1,\"room\":[1],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je ferme l’eau du robinet quand je me lave les dents.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0006\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Poudre de sommeil\",\"longName\":\"Je mets mon ordinateur en veille automatique au bout de 5/10min d'inactivité.\",\"longDescription\":\"Mettez votre ordinateur en veille quand vous vous absentez brièvement, et au-delà d'une heure d'inactivité, éteignez-le totalement. Des économies d'énergie à la clé !\",\"impactLevel\":4,\"efficiency\":2,\"difficulty\":1,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"COMPUTER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je mets mon ordinateur en veille automatique au bout de 5/10min d'inactivité.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0007\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"Agitation des molécules\",\"longName\":\"Je réchauffe mes plats au micro-ondes plutôt qu’au four.\",\"longDescription\":\"Pour réchauffer un plat, le four à micro-ondes consomme moins d’énergie qu’un four traditionnel.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"MICROWAVE\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0008\",\"usage\":6,\"fluidTypes\":[0,2],\"shortName\":\"Cymbale\",\"longName\":\"Je mets un couvercle sur la casserole quand je cuisine.\",\"longDescription\":\"Vous pouvez économiser 25 % de l’énergie nécessaire à la cuisson en laissant le couvercle sur vos casseroles quand vous cuisinez et vous pouvez économiser encore plus car vous aurez ainsi moins besoin de la hotte. Mieux qu'un couvercle : pour réaliser un gain de 40 à 70 % en temps et en énergie, utilisez un récipient à pression. Pensez également à réduire la température une fois que l’eau bout.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Couvercle\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0009\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Plumeau d'or\",\"longName\":\"Je dépoussière mes radiateurs au moins une fois par an.\",\"longDescription\":\"La poussière bride les performances des radiateurs, hydrauliques ou électriques : les dépoussiérer permet une meilleure diffusion de la chaleur. Avec une meilleure efficacité, il vous sera alors possible d'avoir aussi chaud en consommant moins.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":1,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je dépoussière mes radiateurs.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0010\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Poings de glace\",\"longName\":\"Je me lave les mains à l'eau froide.\",\"longDescription\":\"Bien souvent le temps de se laver les mains est trop court pour que l’eau chaude arrive jusqu’à soi ! Donc autant ne prendre que de l’eau froide pour se les laver.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":1,\"room\":[1,2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je me lave les mains uniquement à l'eau froide.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0011\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Vaisselle givrée\",\"longName\":\"Je rince ma vaisselle à l'eau froide.\",\"longDescription\":\"Pendant la vaisselle, l’eau chaude n’est utile que pour faciliter le dégraissage au moment du nettoyage. Après, pour le rinçage, on peut donc utiliser de l’eau froide. Veillez bien cependant à utiliser de l’eau chaude de temps en temps pour éviter la formation de bouchons de graisse dans les canalisations.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je rince ma vaisselle à l'eau froide.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0012\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"A la bonne heure\",\"longName\":\"Je programme le nettoyage de mon four à pyrolyse juste après une cuisson.\",\"longDescription\":\"Dans le cas d’un four à pyrolyse, le nettoyage doit être programmé dans la foulée d’une cuisson, pour bénéficier de la chaleur accumulée. Privilégiez les fours à catalyse qui ne consomment pas d’énergie pour leur nettoyage.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0013\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Accelerateur de particules\",\"longName\":\"J’utilise le plus souvent les cycles courts à basse température pour laver le linge et la vaisselle.\",\"longDescription\":\"Utilisez la température la plus basse possible : de nombreux produits nettoyants sont efficaces à froid et un cycle à 90 °C consomme 3 fois plus d'énergie qu'un lavage à 40 °C. En effet, 80 % de l'énergie consommée par un lave-linge ou un lave-vaisselle sert au chauffage de l'eau ! Que ce soit pour la vaisselle ou le linge, les programmes de lavage intensif consomment jusqu'à 40 % de plus. Si possible, rincez à l'eau froide : la température de rinçage n'a pas d'effet sur le nettoyage du linge ou de la vaisselle. Attention cependant avec les tissus qui peuvent rétrécir : ce qui fait rétrécir, c'est le passage d'une température à une autre. Mieux vaut alors faire le cycle complet à l'eau froide pour les premiers lavages de tissus sensibles. Pour du linge ou de la vaisselle peu sales, utilisez la touche \\\"Eco\\\". Elle réduit la température de lavage et allonge sa durée (c’est le chauffage de l’eau qui consomme le plus). Vous économiserez jusqu’à 45 % par rapport aux cycles longs. Néanmoins, pour vous prémunir contre les bouchons de graisse dans les canalisations, faites quand même un cycle à chaud une fois par mois environ.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"WASHING_MACHINE\",\"DISHWASHER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J’utilise le cycle court à basse température pour laver le linge et la vaisselle.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0014\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Chat échaudé\",\"longName\":\"J’attends que les plats chauds aient refroidi avant de les mettre au réfrigérateur et je les couvre.\",\"longDescription\":\"En plaçant des plats chauds au réfrigérateur, vous réchauffez l’enceinte de l’appareil, ce qui entraîne une surconsommation. De plus, si les plats ne sont pas couverts, de la vapeur d’eau va se former et provoquer l’apparition du givre. Et couvrir les plats, c’est aussi éviter que les bactéries et les odeurs ne se répandent.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J’attends que les plats chauds aient refroidi avant de les mettre au réfrigérateur et je les couvre.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0015\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Ere glacière\",\"longName\":\"Je remets systématiquement mes mitigeurs sur la position la plus froide.\",\"longDescription\":\"Laissez de préférence les robinets mitigeurs en position \\\"froid\\\" pour éviter de demander de l'eau chaude ou tiède alors qu'on a besoin, la plupart du temps, d'eau froide. Et si vous pouvez remplacer votre robinet \\\"mélangeur\\\" par une robinetterie dite mitigeur, c'est des économies également à la clé : cela prendra moins de temps pour avoir la température d’eau désirée. Vous pouvez opter pour un mitigeur 90° au lieu de 180°, qui ne tourne que vers la gauche et est donc en position \\\"froid\\\" lorsqu'il est au centre.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[1,2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je remets systématiquement mes mitigeurs sur la position la plus froide.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0016\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Frères Lumières\",\"longName\":\"J’éteins systématiquement les lumières quand je sors d’une pièce.\",\"longDescription\":\"Pourquoi laisser allumée une pièce vide ? Sachez que 3 ampoules de 75 W qui restent allumées une soirée consomment autant qu’une lessive à 60 °C.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J’éteins systématiquement les lumières quand je sors d’une pièce.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0017\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"Porte coupe-feux\",\"longName\":\"J’évite d'ouvrir la porte du four pour vérifier la cuisson.\",\"longDescription\":\"Ouvrir la porte d’un four pendant qu’il fonctionne gaspille beaucoup de chaleur : pour évaluer la cuisson de votre préparation, il vaut mieux se servir de l’éclairage de contrôle.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0018\",\"usage\":5,\"fluidTypes\":[1,0],\"shortName\":\"Professeur Folinge\",\"longName\":\"Je remplis complètement ma machine à laver et/ou mon lave-vaisselle avant de les faire tourner.\",\"longDescription\":\"Pour la machine à laver, remplissez suffisamment le tambour mais n'exagérez pas bien sûr. Les tambours trop remplis donnent un mauvais résultat de lavage. Un tambour est correctement rempli lorsque vous pouvez encore passer votre main au-dessus des vêtements. Pour les lave-vaisselles, chargez-les totalement avant de lancer un cycle de lavage, sinon faites la vaisselle à la main, mais attention à ne faire couler l'eau que pour rincer. Éviter de placer au lave-vaisselle des plats volumineux pour privilégier la petite vaisselle. Bien remplir ses appareils permet de les faire tourner moins souvent, des économies d'énergie et d'eau à la clé !\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"WASHING_MACHINE\",\"DISHWASHER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je remplis complètement ma machine à laver et/ou mon lave-vaisselle avant de les faire tourner.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0019\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"Tétris\",\"longName\":\"J'utilise des casseroles de la même taille que mes plaques électriques.\",\"longDescription\":\"Une casserole à fond plat, avec un diamètre adapté aux plaques, permet d’exploiter au maximum les capacités de votre cuisinière.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"COOKING_PLATES\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0020\",\"usage\":5,\"fluidTypes\":[1,0],\"shortName\":\"Barrage\",\"longName\":\"J'évite de pré-laver mon linge/ma vaisselle.\",\"longDescription\":\"Les machines modernes n’ont plus besoin de pré-lavage. Si un élément est particulièrement sale, évitez les cycles de prélavage \\\"linge très sale\\\" ou \\\"spécial casseroles\\\". Nettoyez-le à la main avec du savon de Marseille ou du liquide vaisselle, ou faites le tremper 10 minutes dans l’eau chaude. Cela économise en eau et en électricité l'équivalent d'un demi-cycle complet.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"WASHING_MACHINE\",\"DISHWASHER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0021\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Boules de linge\",\"longName\":\"Si j’ai un sèche linge, je sèche mon linge en petits paquets et j’adapte la durée de séchage de mon sèche-linge.\",\"longDescription\":\"Le sèche-linge représente 5% des consommations moyenne d'électrcité spécifique (d'après EDF). Il est important au préalable d’essorer à une vitesse supérieure, jusqu’à 1 000 tours/minutes, si la nature du linge le permet. Le séchage sera alors plus rapide et vous consommerez moins d’énergie pour le sécher\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"DRYER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0022\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Vortex\",\"longName\":\"Je nettoie le filtre de ma machine à laver.\",\"longDescription\":\"Repérez la trappe qui existe sur le devant de votre machine (en bas à droite souvent). Ouvrez-la. Dévissez le filtre pour le sortir : attention, un peu d’eau risque de couler (Prenez un bol et une serpillère au cas où).Enlèvez les résidus qui seraient restés dans la trappe : cheveux, pièces etc. Rincez le filtre à l’eau claire. Remettez le filtre en place et hop on referme la trappe ! En étant bien entretenu, votre lave-ligne consomme moins d'énergie, lave mieux votre linge et durera plus longtemps.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"WASHING_MACHINE\",\"DISHWASHER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je nettoie le filtre de ma machine à laver.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0023\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Expert du vinaigre blanc\",\"longName\":\"Je détartre ma machine tous les ans.\",\"longDescription\":\"Pour éviter l’entartrage, qui provoque une surconsommation d’énergie, remplacez l’assouplissant par du vinaigre blanc. Il détartre la machine, fixe les couleurs du linge et assouplit les fibres, tout cela sans laisser d’odeur. Un petit bouchon suffit !\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"WASHING_MACHINE\",\"DISHWASHER\"],\"equipmentInstallation\":false,\"investment\":\"Vinaigre blanc ou produit de détartrage\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0024\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"Inertie suprême\",\"longName\":\"Je coupe mes plaques électriques un peu avant la fin cuisson.\",\"longDescription\":\"Les plaques de cuisson électriques (sauf les plaques à induction) continuent de chauffer plusieurs minutes après extinction : cette chaleur mérite d’être utilisée lors d’une cuisson longue.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"COOKING_PLATES\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0025\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"La sorcière poussière\",\"longName\":\"Je nettoie mes ampoules et luminaires (au moins une fois par an)\",\"longDescription\":\"Nettoyez régulièrement les ampoules, les abat-jours et les luminaires pour maximiser leur efficacité. Sachez qu'à puissance égale, un appareil poussiéreux peut produire un flux lumineux inférieur de 40 % à celui d'un appareil propre.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je nettoie mes ampoules et luminaires.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0026\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Lumos Maxima\",\"longName\":\"J’ouvre mes rideaux et mes volets dès qu’il fait jour et privilégie les apports de lumière naturelle.\",\"longDescription\":\"Privilégiez toujours les apports de l’éclairage naturel. La lumière du jour est la meilleure pour l’œil humain et cela évite de consommer de l'électricité pour l'éclairage. Ouvrez volets et rideaux dès vos premières activités et agencez votre espace intérieur pour profiter au mieux de cet éclairage naturel. Évitez, par exemple, de placer des éléments qui font obstacle à la lumière au centre de la pièce.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J’ouvre mes rideaux et mes volets dès qu’il fait jour et privilégie les apports de lumière naturelle.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0027\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Marionnetiste\",\"longName\":\"Je débranche mes chargeurs quand ils ne sont pas en fonctionnement.\",\"longDescription\":\"Certains chargeurs continuent de consommer de l’énergie quand ils restent branchés, même si l’appareil n’est pas connecté. De plus, certaines technologies de batteries supportent mal de rester branchées une fois la charge terminée. Les débrancher dès que l’appareil est chargé permet des économies d’énergie et prolonge la durée de vie de votre appareil.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je débranche mes chargeurs quand ils ne sont pas en fonctionnement.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0028\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Master mind\",\"longName\":\"Je réfléchis à ce que je vais prendre avant d'ouvrir mon réfrigérateur ou congélateur.\",\"longDescription\":\"En réfléchissant à ce que vous allez manger devant la porte ouverte de votre appareil, vous faites sortir le froid et entrer de la vapeur d’eau, ce qui va entraîner la formation de givre. Ouvrez la porte le moins souvent et le plus brièvement possible. Un petit truc pratique : affichez la liste du contenu de votre réfrigérateur sur la porte et cochez ce que vous avez pris : vous saurez ce qu’il reste dedans et cela vous sera utile pour savoir quand faire les courses !\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je réfléchis à ce que je vais prendre avant d’ouvrir la porte de mon appareil de froid.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0029\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Programmeur\",\"longName\":\"J'adapte le programme d'essorage de ma machine à laver au type de linge.\",\"longDescription\":\"Utilisez l'essorage à vitesse minimum si vous faites sécher le linge dehors. Par contre, si vous utilisez un sèche-linge, il est important d'essorer à une vitesse supérieure, jusqu'à 1000 tours/minutes, si la nature du linge le permet. Le séchage sera alors plus rapide et vous consommerez moins d’énergie. Au-delà de 1000 tours/minute l'efficacité diminue et le linge se froisse.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"WASHING_MACHINE\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J'adapte le programme d'essorage de ma machine à laver au type de linge.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0030\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Roi du Puzzle\",\"longName\":\"J’optimise le rangement dans mon réfrigérateur et/ou congélateur.\",\"longDescription\":\"La partie la plus froide ne se situe pas toujours au même endroit selon l’appareil : dans le haut des réfrigérateurs traditionnels, dans le bas des combinés 2 portes. Dans les réfrigérateurs à froid ventilé, les températures sont plus homogènes. Regardez la notice de votre réfrigérateur pour identifier les différentes zones de température et ainsi ranger chaque aliment à sa place. Enlevez les produits de leur emballage d'origine (film plastique, carton, etc.) qui filtrent le froid. Rangez les denrées de façon rationnelle pour y accéder plus rapidement et aussi pour pouvoir refermer plus rapidement la porte. Surtout, n’obstruez pas le thermostat car s’il est recouvert de givre ou de produits, il ne détectera pas la température correctement et l’abaissera plus que nécessaire. Evitez de mettre trop de poids dans les portes. Une porte qui fonctionne mal provoque des pertes d'énergie. Conseils pour ranger votre réfrigérateur : placez les oeufs sur l'étage le plus haut ; les laitages et le beurre sur l'étage du dessous ; puis les plats cuisinés, les pâtisseries fraîches et charcuteries sur l'étage du milieu ; sur les parties basses, placez les poissons ; et réservez le bac à légumes pour les légumes et les fruits.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J’optimise le rangement dans mon réfrigérateur et/ou congélateur.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0031\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Lord Kelvin\",\"longName\":\"Je décide de baisser de 2 °C la température de chauffage de mes pièces.\",\"longDescription\":\"Le saviez-vous ? Au-delà de 20 °C, chaque degré de plus coûte en moyenne 7 % sur la facture de chauffage. Alors évidemment, choisir de baisser la température chez soi de 2 °C, c’est toujours gagnant ! Dans un logement bien isolé, on est confortable à 19 °C dans les pièces de vie en journée et 16 °C la nuit et dans les chambres.\",\"impactLevel\":10,\"efficiency\":5,\"difficulty\":2,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je décide de baisser de 2 °C la température de chauffage de mes pièces.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0032\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Professeur Fahrenheit\",\"longName\":\"Je règle le thermostat de mon chauffage à moins de 20 °C.\",\"longDescription\":\"Le saviez-vous ? Au-delà de 20 °C, chaque degré de plus coûte en moyenne 7 % sur la facture de chauffage. Alors évidemment, choisir de baisser la température chez soi de 1 °C, c’est toujours gagnant ! Dans un logement bien isolé, on est confortable à 19 °C dans les pièces de vie en journée et 16 °C la nuit et dans les chambres.\",\"impactLevel\":10,\"efficiency\":5,\"difficulty\":2,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Thermostat (d’ambiance)\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0033\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Ambianceur\",\"longName\":\"J'installe et/ou je programme mon thermostat d’ambiance selon mon occupation quotidienne ou hebdomadaire.\",\"longDescription\":\"Le corps a besoin d’environ une semaine pour s’acclimater à une nouvelle température: alors, ne vous précipitez pas sur le chauffage dès la première baisse de température mais attendez plutôt de voir si vous vous habituez. L’humidité et les infiltrations d’air peuvent aussi amplifier la sensation d’inconfort. Avec un thermostat à 20°C, vous pouvez avoir un ressenti de 17 °C si la maison est humide, que l’air s’infiltre ou que la température n’est pas la même partout (effet paroi froide). Des solutions de rénovation existent pour améliorer votre confort, vous pouvez consulter la page de l'ALEC dédiée au dispositif Ecoreno'v : https://www.alec-lyon.org/nos-services/conseil-technique-en-batiment/ecorenov/\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Thermostat d’ambiance\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0034\",\"usage\":2,\"fluidTypes\":[0],\"shortName\":\"Bulles-à-part\",\"longName\":\"Je ne fais pas fonctionner mon ventilateur ou la climatisation dans les pièces non occupées\",\"longDescription\":\"Cela permet d'évite des consommations inutiles. Le froid ne restera pas dans la pièce. Donc il est préférable d'allumer le ventilateru ou climatiseur seulement quand des personnes sont présentes dans la pièce.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Eté\",\"equipment\":true,\"equipmentType\":[\"AIR_CONDITIONING\",\"FAN\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0035\",\"usage\":2,\"fluidTypes\":[0],\"shortName\":\"La Juste Clim'\",\"longName\":\"Je règle ma climatisation au plus bas à 26°C en veillant à ce qu’il n’y ait pas jamais plus de 5°C à 7°C de différence entre l’intérieur et l’extérieur.\",\"longDescription\":\"Réglez votre climatisation au plus bas à 26 °C et veillez à ce qu’il n’y ait jamais plus de 5 à 7 °C de différence entre l’intérieur et l’extérieur. Attention aux grands écarts de température qui peuvent provoquer des chocs thermiques.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Eté\",\"equipment\":true,\"equipmentType\":[\"AIR_CONDITIONING\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0036\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Flamme lucide\",\"longName\":\"Je mets mon chauffage en mode réduit pendant la nuit ou pendant mon absence.\",\"longDescription\":\"Vous pouvez économisez jusqu’à 25 % en éteignant ou en baissant le chauffage 1h avant d’aller vous coucher et en le baissant de 3 à 4 °C quand vous vous absentez plus de 2 heures. De même, programmez votre chauffage en fonction de votre présence. Par exemple, augmentez la température dans le salon, la cuisine et la salle de bains le matin et diminuez-la dans les chambres. Inversement le soir.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je met mon chauffage en mode réduit pendant la nuit ou pendant mon absence.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0037\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Professeur Celsius\",\"longName\":\"Je décide de baisser d'1 °C la température de chauffage de mes pièces.\",\"longDescription\":\"Le saviez-vous ? Au-delà de 20 °C, chaque degré de plus coûte en moyenne 7 % sur la facture de chauffage. Alors évidemment, choisir de baisser la température chez soi de 1 °C, c’est toujours gagnant ! Dans un logement bien isolé, on est confortable à 19 °C dans les pièces de vie en journée et 16 °C la nuit et dans les chambres.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je décide de baisser d'1 °C la température de chauffage de mes pièces.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0038\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Thermo-dynamique\",\"longName\":\"Je ne chauffe que les pièces de vie (salon, cuisine, …)\",\"longDescription\":\"Vous n’avez pas vraiment besoin de chauffer le cellier, le hall ni les chambres à coucher donc fermez bien les portes qui y donnent accès et même prévoyez de les calfeutrer si nécessaire.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je ne chauffe que les pièces de vie (salon, cuisine, …)\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0039\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Calfeutrage\",\"longName\":\"Je bloque les entrées d’air froid des pièces non chauffés (sous-sol, cave, cellier…) à l’aide de boudins de portes.\",\"longDescription\":\"En revanche, ne bouchez jamais les grilles de ventilation, elles sont essentielles pour maintenir une bonne qualité de l’air dans votre logement.\",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":2,\"room\":[],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Boudins de portes\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0040\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Hypervitesse\",\"longName\":\"Je prends des douches de moins de 5 minutes.\",\"longDescription\":\"Quand vous prenez une douche, vous consommez 2 à 4 fois moins d’eau qu’en prenant un bain. Cependant cela est vrai pour une douche de 5 minutes. Sachant que le débit d’une pomme de douche classique est de 15 à 20 litres et qu’un bain nécessite 150 à 200 litres d’eau, une douche de 10 minutes revient au même qu’un bain ! Alors, à vos chronomètres, on essaie de tenir moins de 5 minutes !\",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":2,\"room\":[1],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je prends des douches de moins de 5 minutes.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0041\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Pomme à l'eau\",\"longName\":\"J’ai un économiseur d’eau sur mon pommeau de douche.\",\"longDescription\":\"Utiliser un économiseur d’eau sur les robinets et les douchettes permet de réduire jusqu’à 50 % la consommation d’eau, ainsi que l’énergie utilisée pour la chauffer.\",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":2,\"room\":[1],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Eco mousseur\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0042\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Super plombier\",\"longName\":\"J'équipe mes robinets d’éco-mousseurs.\",\"longDescription\":\"Le terme \\\"mousseur\\\" désigne la pièce qui est située au bout de votre robinet qui permet de canaliser le jet d’eau. La plupart des robinets sont équipés de mousseurs, mais ceux-ci ne réduisent pas le débit. Il existe différents types \\\"d’éco-mousseurs\\\" qui limitent le débit à des niveaux variables. Choisissez votre matériel en fonction des besoins à chaque robinet : 5 L/min sera adapté pour un robinet servant uniquement à se laver les mains mais sera assez pénible si vous devez remplir un seau !\",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Eco mousseur\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0043\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Thermos-Logis\",\"longName\":\"Je conserve au maximum la fraicheur de mon logement en fermant les volets et fenêtres quand je m’absente pendant la journée.\",\"longDescription\":\"En laissant les fenêtres ouvertes aux heures chaudes, vous faites entrer la chaleur dans le logement. Une chaleur qui sera difficile à évacuer une fois les pièces réchauffées. L’idéal est de fermer les fenêtres dès que la température extérieure dépasse la température du logement. En revanche, laissez-les bien ouvertes la nuit afin que l’air frais rafraîchisse votre intérieur. \",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":2,\"room\":[0],\"season\":\"Eté\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je conserve au maximum la fraicheur de mon logement en fermant les volets et fenêtres quand je m’absente pendant la journée.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0044\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Chasse-air\",\"longName\":\"Je vérifie que les montants des fenêtres et des portes extérieures ne laissent pas passer les courants d’air.\",\"longDescription\":\"L’installation de doubles vitrages permet de diminuer les pertes de chaleur et d’améliorer le confort en diminuant la sensation de paroi froide à proximité des fenêtres. \",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0045\",\"usage\":4,\"fluidTypes\":[1],\"shortName\":\"Maître du ciel\",\"longName\":\"Je récupère l'eau de pluie pour arroser les plantes et laver la voiture.\",\"longDescription\":\"Il n’est pas nécessaire d’installer une cuve et un matériel coûteux pour commencer à récupérer l’eau de pluie : installez simplement un bac à la sortie de la gouttière de votre maison vous disposerez déjà d’un apport suffisant pour assurer la plupart de vos usages extérieurs à la maison !\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":2,\"room\":[],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Seau/ Bac de récupération\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0046\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Déesse du feu\",\"longName\":\"Je coupe mon chauffe-eau dès que je pars plus de 4 jours.\",\"longDescription\":\"Pourquoi continuer à chauffer de l’eau lorsqu’on n’est pas là pour l’utiliser ? Si vous possédez un chauffe-eau à accumulation et que vous partez plusieurs jours, il peut être utile de le couper car il continuera de consommer pour maintenir l’eau à température. Attention cependant à la douche froide du retour, n'oubliez de le remettre en marche en rentrant !\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":2,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"BOILER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0047\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Bas Les Pattes\",\"longName\":\"J'empêche mes rideaux de pendre devant les radiateurs ou les convecteurs\",\"longDescription\":\"Réduisez le plus possible l’espace entre les fenêtres et les rideaux et évitez qu’ils ne recouvrent les radiateurs, car la chaleur se diffuse alors moins bien.\",\"impactLevel\":4,\"efficiency\":2,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"CURTAIN\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0048\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Cape d'invisibilité\",\"longName\":\"Je branche ma \\\"box\\\" internet sur une multi-prise ou sur une minuterie pour l'éteindre quand je n'en n'ai pas besoin.\",\"longDescription\":\"La consommation des box internet est loin d’être négligeable : autour de 200 kWh par an pour un usage moyen et avec des variations du simple au double selon votre fournisseur et votre équipement. Face à cela, une solution s’impose : la débrancher tout simplement ! Pour faciliter les bonnes habitudes nous vous conseillons de la brancher sur une minuterie qui s’éteindra toute seule pendant la nuit par exemple selon les réglages que vous aurez prévus. Sinon, une simple muli-prise fait l'affaire si vous pensez à l'éteindre !\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"INTERNET_BOX\"],\"equipmentInstallation\":false,\"investment\":\"Multiprise avec interrupteur marche/arrêt\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0049\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"Casque anti-onde\",\"longName\":\"J’évite d’utiliser le micro-ondes pour décongeler les aliments.\",\"longDescription\":\"Les aliments peuvent se décongeler à l’intérieur du réfrigérateur, sans l’aide du micro-ondes. C’est moins rapide et il faut s’y prendre à l’avance mais cela ne consomme aucune énergie supplémentaire et fait même économiser de l’énergie au réfrigérateur (en lui donnant du froid !).\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"MICROWAVE\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0050\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Chiffon magique\",\"longName\":\"J'ai nettoyé les grilles d'entrée d'air et d'extraction de ma VMC (ventilation mécanique contrôlée) il y a moins d'un an.\",\"longDescription\":\"Si votre logement est équipé de VMC, l’air que vous respirez passe par les grilles d’entrée d’air : mieux vaut donc qu’elles soient propres ! De plus, si les bouches d’entrée et d’extraction sont encrassées, elles auront tendance à être moins efficaces (surconsommation du moteur de la VMC et moindre efficacité pour évacuer l’humidité). Les grilles sont souvent vissées ou clipsées, et donc facilement démontables. Il suffit de les nettoyer avec de l'eau chaude savonneuse, de les rincer et de les sécher correctement avant de les remettre en place. Aucune humidité ne doit pénétrer à l’intérieur du système de ventilation.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"VENTILATION\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0051\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Crépuscule numérique\",\"longName\":\"Je diminue la luminosité de mon écran d’ordinateur tout en conservant un confort de vue.\",\"longDescription\":\"Faites fonctionner les écrans de façon économe en supprimant les économiseurs d’écran animés (ils empêchent la mise en veille de l’ordinateur et n’économisent pas d’électricité), en réglant la luminosité pour un bon compromis entre confort visuel et économie d’énergie. Activez le « mode sombre » sur votre téléphone portable quand c'est possible, notamment sur les applications. (Vous l'aurez remarqué notre service est en mode sombre, et c'est pour cela :))\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je diminue la luminosité de mon écran d’ordinateur tout en conservant un confort de vue.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0052\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Déesse du vent\",\"longName\":\"J'évite d'utiliser un sèche-linge.\",\"longDescription\":\"La façon la plus économe de sécher le linge reste de le faire à l’air libre. Si toutefois cela est trop compliqué chez vous, voici quelques consignes : ne faites pas sécher le linge trop longtemps, surtout s’il doit être repassé. De plus, cela usera moins le linge. Préférez un séchage long à température modérée si vous avez un sèche-linge à évacuation ; et plusieurs cycles courts à plus haute température s’il s’agit d’un sèche-linge à condensation. Choisissez le bon programme : les matières synthétiques sèchent plus vite que le lin ou le coton. Vous pouvez aussi pré-sécher le linge à l’air libre et n’utiliser le sèche-linge que pour parfaire le séchage. Vous diviserez ainsi sa consommation par 3 ou 4.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"DRYER\"],\"equipmentInstallation\":false,\"investment\":\"Etendage\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0053\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Electro\",\"longName\":\"J’utilise des multiprises pour couper les veilles de mes appareils.\",\"longDescription\":\"Quand les appareils ne fonctionnent pas, ils peuvent tout de même continuer à consommer de l’énergie. Par exemple, un téléviseur qui fonctionne 4 heures par jour reste en veille les 20 heures restantes et consomme donc pendant ce temps. Pour vous faciliter la vie et faire des économies, reliez ces appareils (télé, lecteur DVD-BlueRay, HiFi, décodeur…) à une multiprise à interrupteur et pensez à éteindre la multi-prise en temps voulu.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Multiprise avec interrupteur marche/arrêt\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0054\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Génie de la lampe\",\"longName\":\"J’utilise uniquement des ampoules basse consommation dans toutes les pièces de vie.\",\"longDescription\":\"Remplacez par des ampoules basse consommation les ampoules qui restent en général allumées plus d’une demi-heure. Vous pouvez ainsi remplacer une ampoule à incandescence de 60 W par une ampoule basse consommation de 15 W. Elle émettra autant de lumière mais pour une consommation d’électricité 4 à 5 fois moins importante. En outre, elle chauffe beaucoup moins et peut durer jusqu’à 15 fois plus longtemps.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Ampoules basses consommation\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0055\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Hibernation\",\"longName\":\"Je remplis mon congélateur, je ne surcharge pas mon réfrigérateur.\",\"longDescription\":\"Remplissez au maximum votre congélateur, qui consomme d’autant moins qu’il n’y a pas d’espace vide. Si votre congélateur n’est pas plein, remplissez les espaces vides avec des bouteilles d’eau en plastique pleines aux 3/4. Une fois congelées, elles aident le congélateur à abaisser la température après une ouverture de porte. De plus, en cas de coupure de courant ou de panne, elles aident à maintenir les denrées au froid plus longtemps. Par contre, évitez de surcharger le réfrigérateur, cela augmente sa consommation d'énergie et diminue la durée de conservation des aliments. Laissez de la place entre les aliments pour que l’air circule car c’est lui qui refroidit les aliments.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\",\"FREEZER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je remplis mon congélateur, je ne surcharge pas mon réfrigérateur.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0056\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Pisciniste\",\"longName\":\"Si j'ai un grand évier, j'utilise un bac pour faire la vaisselle.\",\"longDescription\":\"C’est mieux que de laisser le robinet ouvert pendant toute la vaisselle : même si celui-ci est équipé d’un \\\"écomousseur\\\" ! En plus, ça mousse mieux et vous économisez aussi du liquide vaisselle, astucieux, non ?\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"un bac à vaiselle\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0057\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Fermeture des écoutilles\",\"longName\":\"Je coupe toujours la VMC quand je pars plus de 4 jours.\",\"longDescription\":\"Une VMC fonctionne grâce à un petit moteur électrique : si vous y avez accès, pensez à le couper quand vous vous absentez plusieurs jours (interrupteur ou directement sur le tableau électrique). On peut également faire installer un temporisateur sur le tableau électrique pour ne déclencher la ventilation qu’aux heures d’occupation du logement. Attention cependant, si vous avez des problèmes d’humidité, n’arrêtez pas la VMC.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"VENTILATION\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0058\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"La Lumière Fut\",\"longName\":\"J'installe mon fauteuil et mon bureau près des fenêtres.\",\"longDescription\":\"Cela permet d'optimiser l'utilisation de l'éclairage naturel. Placez le bureau à proximité de la fenêtre et orientez-le de façon à éviter les ombres portées gênantes et/ou les reflets sur l’écran d’ordinateur. Faites de même pour un coin lecture qui, placé près de la fenêtre, évitera autant que possible le recours à l’éclairage artificiel.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0059\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Versailles-optimisé\",\"longName\":\"Je répartis les sources de lumière pour optimiser l'éclairage.\",\"longDescription\":\"Il n’est pas nécessaire de baigner la pièce de lumière pour lire ou travailler ! Plutôt que d’installer un éclairage unique de forte intensité, privilégiez les petites sources d’éclairage bien ciblées et qui consomment moins.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"-\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0060\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Exploratrice polaire\",\"longName\":\"Je dégivre mon réfrigérateur et/ ou congélateur si je ne l'ai pas fait depuis 3 mois.\",\"longDescription\":\"En dégivrant vos appareils de froid tous les 3 mois, vous pouvez économiser jusqu’à 50 % d’électricité sur ce poste. Au-delà de 3 mm, le givre crée une couche isolante et engendre une surconsommation de 30 %, à 1 cm cela représente déjà 50 % ! Et plutôt que des modèles à dégivrage automatique, choisissez des modèles à dégivrage manuel, beaucoup moins énergivores. Le dégivrage prend un peu de temps mais vous n’êtes pas obligé d’attendre devant le réfrigérateur non plus ! Profitez que l’appareil soit vide, avant de partir en week-end ou en vacances, ou placez les aliments à la cave, ou dehors pendant la saison hivernale. Débranchez-le et laissez la porte entrouverte pour éviter que de la moisissure ne se forme. Plus vous le ferez souvent et moins cela prendra de temps. Si vous n’avez que le congélateur à dégivrer, placez vos aliments congelés dans le réfrigérateur ou dans une glacière avec les pains de glace si le dégivrage vous prend moins de 30 mn.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\",\"FREEZER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je dégivre mon réfrigérateur et/ou congélateur.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0061\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Maître des calories\",\"longName\":\"Je vérifie régulièrement la température de mon réfrigérateur/congélateur\",\"longDescription\":\"Une température de +5 °C est suffisante pour un réfrigérateur, -18 °C pour un congélateur. Chaque degré en moins par rapport à ces températures conseillées consomme 5 % d’énergie en plus. Pour vérifier la température de votre réfrigérateur, mettez un thermomètre dans un verre d'eau, laissez-le en place au moins une nuit, et faites la mesure aux différents étages du réfrigérateur ainsi que dans la porte.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\",\"FREEZER\"],\"equipmentInstallation\":false,\"investment\":\"Thermomètre\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0062\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Prince des chromes\",\"longName\":\"Je nettoie la grille arrière de mon réfrigérateur tous les ans au moins.\",\"longDescription\":\"C’est par la grille que la chaleur extraite de l’appareil peut s’évacuer dans la pièce. Encrassée, cette grille ne peut plus bien évacuer la chaleur. Cela entraîne une surchauffe qui peut conduire à doubler la consommation électrique de l’appareil. Nettoyez une fois par an la grille arrière du réfrigérateur et laissez 5 cm au moins entre lui et le mur pour que la chaleur s’évacue correctement.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je nettoie la grille arrière de mon réfrigérateur.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0063\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Sous-marin\",\"longName\":\"Je vérifie l’étanchéité des joints de mon réfrigérateur/congélateur une fois par an.\",\"longDescription\":\"L’apparition rapide du givre, c’est souvent en raison des joints qui sont fatigués. Pour le vérifier, il suffit de fermer la porte du réfrigérateur sur une feuille de papier : si on la retire facilement, les joints sont à changer. Vous économiserez ainsi environ 10 % sur la consommation de votre frigo et de votre congélateur. Pour les entretenir, pensez à les nettoyer à l’eau tiède en même temps que vous nettoyez l’intérieur de votre frigo.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\",\"FREEZER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0064\",\"usage\":6,\"fluidTypes\":[0,2],\"shortName\":\"Capsule hermétique\",\"longName\":\"Je vérifie les joints de mon four tous les ans.\",\"longDescription\":\"Vérifiez visuellement la qualité du joint d’étanchéité de votre four et changez-le s’il est défectueux. Cela évitera les déperditions de chaleur ainsi qu’une surconsommation pouvant aller jusqu’à 30 %.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0065\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Rat d'opéra\",\"longName\":\"J'installe des rideaux épais et/ou des volets à toutes les fenêtres des pièces chauffées.\",\"longDescription\":\"Un volet fermé pendant la nuit peut réduire la déperdition de chaleur de la fenêtre jusqu'à 60 %. Cette économie peut atteindre 10 % du chauffage selon l'étude ES-SO (European Solar-Shading Organisation). Le soir, fermez les rideaux et les volets pour limiter les déperditions de chaleur et la sensation d'inconfort provoquée par l'effet de paroi froide. De plus, cette sensation vous conduit souvent à augmenter d'1 ou 2 °C le chauffage. Cela paraît évident avec des simples vitrages mais ça l’est aussi avec des doubles vitrages qui restent malgré tout le point faible de l’enveloppe d’un logement. A l’inverse, en journée, favorisez au maximum les apports de chaleur gratuits par le soleil en ouvrant rideaux et volets.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":3,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Volet/Rideau\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0066\",\"usage\":1,\"fluidTypes\":[2],\"shortName\":\"Brûleur Expert\",\"longName\":\"Je nettoie et je régle la combustion de ma chaudière tous les ans.\",\"longDescription\":\"Le mauvais entretien ou réglage d’une chaudière peut réduire son efficacité. Pour obtenir un rendement maximal, faites vérifier votre équipement de chauffage tous les ans. L’entretien régulier permet d’éviter les sur-consommations.Indispensable pour votre sécurité, la révision annuelle des chaudières à combustion (gaz, fioul, bois) est obligatoire \",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":3,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Faire appel à un pro\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0067\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Contrôle du nuage\",\"longName\":\"Je règle la température de mon eau chaude entre 55 et 60 °C.\",\"longDescription\":\"Bien souvent les chauffe-eau sont réglés pour une température de 70 °C dans le ballon, ce qui n’est pas économique et peut même être dangereux ! Au-dessus de 60 °C vous augmentez aussi l’entartrage. L’eau ne doit pas être trop froide (supérieur à 50°) non plus pour éviter le risque de prolifération de micro-organismes comme les légionelles. A noter : parfois l’accès au réglage n’est pas directement visible… il faut alors retirer le capot en plastique situé sous le chauffe-eau pour y accéder.\",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":3,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0068\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Jean Paul Tartre\",\"longName\":\"Je détartre mon chauffe-eau tous les 3 ans.\",\"longDescription\":\"Si votre eau est très calcaire, faites équiper votre chauffe-eau d’une résistance adaptée ou faites détartrer et vidanger votre chauffe-eau tous les 2 ou 3 ans. Pour détartrer votre chauffe-eau, faites appel à un professionnel. La formation du tartre sur les résistances peut augmenter le temps nécessaire à chauffer l’eau, et donc la consommation d’énergie. Si votre chauffe-eau électrique a plus de 20 ans, pensez à le remplacer.\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":3,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"BOILER\"],\"equipmentInstallation\":false,\"investment\":\"Faire appel à un pro\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0069\",\"usage\":4,\"fluidTypes\":[1],\"shortName\":\"Sourcier\",\"longName\":\"Je repère les fuites.\",\"longDescription\":\"Il est important de vérifier régulièrement l’état de vos tuyauteries mais aussi des robinets et de la chasse d’eau. Une fuite peut vite coûter très cher. Les fuites ne sont pas toujours visibles. Si vous soupçonnez une fuite, relevez le compteur d’eau le matin avant de partir ou le soir avant de vous coucher. Si lorsque vous relevez à nouveau le compteur, il y a une différence, c’est qu’il y a une fuite. Autre méthode pour détecter une fuite de chasse d’eau : mettez un peu de colorant alimentaire dans le réservoir. Vaquez à d'autres occupations en donnant la consigne à votre entourage de ne pas utiliser les toilettes ... puis revenez : si l'eau dans la cuvette est colorée, c'est qu'il y a une fuite !\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":3,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0070\",\"usage\":1,\"fluidTypes\":[2],\"shortName\":\"Passage au stand\",\"longName\":\"Si mon circuit de chauffage a plus de 10 ans, je le fait désembouer.\",\"longDescription\":\"Au fil du temps, la tuyauterie s’oxyde, entraînant la formation de boues et autres sédiments dans le circuit. L’embouage de l’installation nuit à la diffusion de chaleur : cela peut entraîner une perte de la performance allant jusqu’à 40 %. Vous pouvez désembouer votre radiateur vous-même ou faire appel à un pro. Etape 1 : Eteindre sa chaudière puis laissez l’eau redescendre à température ambiante. Fermez tous vos radiateurs. Etape 2 : Le désembouage doit commencer par le premier radiateur, c’est-à-dire le plus proche du chauffage central. Fermez les vannes de ce radiateur. Dévissez son purgeur avec la clé à molette puis versez le produit désembouant directement dans le radiateur à l’aide de votre entonnoir. Revissez le purgeur puis remettez le chauffage central en marche. Laissez agir le produit le temps indiqué sur la notice, soit 2 à 5 jours en moyenne, voire davantage (voir notice produit désembouant). Étape n°3 : La vidange du circuit de chauffage. Patientez le temps nécessaire pour bien laisser le temps au produit d’agir en profondeur. Ce temps lui permet de bien décoller les boues et de les mettre en suspension afin de les évacuer plus facilement. Une fois ce délai passé, vous pouvez procéder à la vidange. Pour cela, coupez le chauffage à nouveau. Vidangez la totalité du circuit de chauffage en permettant un débit suffisamment fort pour évacuer les boues en suspension par le robinet de vidange du radiateur. Lorsque la vidange est effectuée, rincez le radiateur et remplissez-le à nouveau. Vous pouvez aussi faire appel à un plombier, comptez 350 à 450 euros HT pour un circuit comprenant moins de 10 radiateurs.\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":3,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"HYDRAULIC_HEATING\"],\"equipmentInstallation\":false,\"investment\":\"Faire appel à un pro\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0071\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Tuning de Radiateur\",\"longName\":\"Je place des panneaux réfléchissants derrière les radiateurs sur les murs non isolés.\",\"longDescription\":\"En installant des panneaux réfléchissant derrière les radiateurs placés sur des murs non isolés, vous pouvez améliorer la performance de vos radiateurs de 5 à 10 %. Ces panneaux permettent de renvoyer la chaleur émise dans la pièce au lieu qu’elle ne se dissipe dans le mur froid. Attention, ces panneaux ne sont pas utiles sur des murs isolés, ils peuvent même créer des problèmes de condensation entre le mur et le panneau.\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":3,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Panneau réfléchissant\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0072\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Tuyaux bien au chaud\",\"longName\":\"J'isole les tuyaux de mon circuit de chauffage hydraulique.\",\"longDescription\":\"Isolez les circuits de distribution d‘eau de chauffage et d’eau chaude sanitaire dans les locaux non chauffés ou les faux-plafonds. Vous limiterez ainsi les déperditions de chaleur et améliorerez la protection du circuit contre le gel. Cela peut réduire de 10 % la consommation. Le plus simple est d’utiliser des manchons souples en mousse ou en fibres minérales. On peut aussi utiliser des isolants à base de laine ou de chanvre\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":3,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"HYDRAULIC_HEATING\"],\"equipmentInstallation\":false,\"investment\":\"Isolant\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0073\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Le Grand Nettoyage\",\"longName\":\"Je purge mes radiateurs hydrauliques tous les ans.\",\"longDescription\":\"Lorsque les radiateurs sont froids en haut mais chauds en bas, c'est qu'ils contiennent de l'air qui diminue nettement leur rendement. Ils ont donc besoin d'être purgés : 1. Coupez l'alimentation d'eau au niveau de votre chaudière pour ne pas avoir de l'eau sous pression, fermez les vannes thermostatiques des radiateurs et prévoyez un récipient pour recueillir l'eau ; 2. Commencez par le radiateur situé au plus bas de la maison : ouvrez le purgeur dans le sens inverse des aiguilles d'une montre jusqu'à entendre un sifflement, signe que l'air s'échappe. En général, le purgeur se trouve en partie haute du radiateur, du côté opposé au robinet d'alimentation. Sur certains modèles anciens, une clé spéciale est nécessaire pour le dévisser (trouvable en quincailleries et magasins de bricolage). Attention, ne dévissez jamais la molette complètement, vous risqueriez de ne jamais réussir à la remettre en place ; 3; Quand l'eau se met à couler, refermez la molette ; 4. Resserez la vis de purge. 5 Vérifiez au manomètre de la chaudière que la pression d'eau dans l'installation est suffisante (entre 1,5 et 2 bars). Dans le cas contraire, ajoutez de l'eau.\",\"impactLevel\":5,\"efficiency\":2.5,\"difficulty\":3,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"HYDRAULIC_HEATING\"],\"equipmentInstallation\":false,\"investment\":\"Faire appel à un pro\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0074\",\"usage\":4,\"fluidTypes\":[1],\"shortName\":\"Nitro cuvette\",\"longName\":\"J'installe une chasse d'eau à double vitesse.\",\"longDescription\":\"L'installation d'une chasse d'eau double est à la portée de tous. Si les mécanismes sont généralement standard, veillez malgré tout à vérifier avant de l'acheter les dimensions du trou du couvercle dans lequel viendra se positionner le double bouton poussoir, ainsi que la hauteur du réservoir. Reste à suivre le pas à pas suivant : Commencez par couper l'arrivée d'eau et tirez la chasse pour vider le réservoir. Dévissez le bouton de tirage existant et ôtez le couvercle du réservoir. Dévissez l'arrivée d'eau, retirez le robinet flotteur et le mécanisme de la chasse. Dévissez les vis de fixation du réservoir et retirez-le. Changez le joint entre le réservoir et la cuvette, puis revissez le réservoir. Installez le nouveau mécanisme de chasse (à partir de 20€ dans les enseignes de bricolage). Clipsez le flotteur de réglage de la petite chasse, puis le mécanisme au complet. Revissez l'arrivée d'eau. Refermez le couvercle et installez le double bouton poussoir.À défaut, il est possible de réduire le volume de la chasse d’eau grâce à une éco-plaquette ou à une bouteille d’eau pleine placée dans le réservoir. Pour garantir son bon fonctionnement, nettoyez régulièrement le mécanisme de chasse d'eau double, particulièrement si votre eau est très calcaire.\",\"impactLevel\":5,\"efficiency\":2.5,\"difficulty\":3,\"room\":[4],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Chasse d’eau à double vitesse: à faire si travaux\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0075\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Vague de sécheresse\",\"longName\":\"Je décide de supprimer une douche par semaine.\",\"longDescription\":\"Si on n'a pas transpiré la journée et qu'on ne sent pas mauvais, aucune obligation de se laver tous les jours. Il est même conseillé pour la flore de l'épiderme (la fameuse barrière contre certains pathogènes) de ne pas se laver tous les jours. Vous économiserez ainsi une quantité d'eau non négligeable.\",\"impactLevel\":5,\"efficiency\":2.5,\"difficulty\":3,\"room\":[1],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je décide de supprimer une douche pendant la durée du défi.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0076\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Architecte d'intérieur\",\"longName\":\"Je positionne mon réfrigérateur loin d’une source de chaleur (four, cuisinière, fenêtre…).\",\"longDescription\":\"Il vaut mieux éviter de placer le réfrigérateur ou le congélateur près d’un four, d’une cuisinière ou près de l’éclairage direct d’une fenêtre. Ces derniers réchauffent les appareils de froid qui vont donc consommer plus pour rester à la bonne température. S’il n’est pas possible de faire autrement, prévoyez une plaque très isolante entre les appareils électroménagers. De même, ne chauffez pas trop la cuisine : installé dans une pièce à 23 °C, le réfrigérateur consomme 38 % de plus que dans une pièce à 18 °C ! Enfin, si vous placez votre congélateur dans un local non chauffé (garage, cave, etc.), il ne doit pas faire trop froid non plus sinon l’appareil va surchauffer à l’intérieur.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":3,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0077\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Blanc Resplendissant\",\"longName\":\"Je peins mes murs avec des couleurs claires et j'installe des luminaires blancs.\",\"longDescription\":\"Cela permet à la lumière naturelle de se répartir plus uniformément dans l’espace et de pénétrer plus profondément dans la pièce grâce aux jeux de réflexions. Cet effet des couleurs se remarque également sur la lumière artificielle : un intérieur foncé amène à doubler voire tripler l’intensité de l’éclairag\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":3,\"room\":[3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Travaux de décoration\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false}]");
+module.exports = JSON.parse("[{\"_id\":\"ECOGESTURE0001\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Bonhomme de neige\",\"longName\":\"Je baisse le chauffage en mode hors gel lorsque je m'absente plus de 2 jours.\",\"longDescription\":\"On se demande parfois si cela vaut le coup de \\\"couper le chauffage\\\" quand on s’absente… dès qu’il s’agit d’un week-end la réponse est « oui sûrement » ! Attention cependant au retour à ne pas faire de la surchauffe ! L’idéal est bien évidemment de régler sa programmation pour que le chauffage se relance quelques heures avant votre retour…\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":1,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0002\",\"usage\":2,\"fluidTypes\":[0],\"shortName\":\"Portique thermique\",\"longName\":\"Je ferme mes fenêtres quand la climatisation est en marche\",\"longDescription\":\"Cela permet de garder la fraicheur à l'intérieur. Le climatiseur n'est pas là pour refroidir la rue mais bien la pièce.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":1,\"room\":[0],\"season\":\"Eté\",\"equipment\":true,\"equipmentType\":[\"AIR_CONDITIONING\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0003\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Passe-Pas-Partout\",\"longName\":\"Je ferme les portes entre les pièces chauffées et moins chauffées.\",\"longDescription\":\"Vous pouvez économiser 6 % de l’énergie nécessaire au chauffage en fermant les portes entre les pièces qui ne sont pas chauffées à la même température. Utilisez des “boudins de porte” pour éviter les courants d’air !\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":1,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je ferme les portes entre les pièces chauffées et moins chauffées.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0004\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Déesse des eaux\",\"longName\":\"Je coupe l'eau de la douche pendant que je me savonne.\",\"longDescription\":\"Si vous n’êtes pas frileux, coupez l'eau pendant que vous vous savonnez : l'économie en eau peut aller jusqu'à 50% !\",\"impactLevel\":5,\"efficiency\":2.5,\"difficulty\":1,\"room\":[1],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je coupe l'eau de la douche pendant que je me savonne.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0005\",\"usage\":4,\"fluidTypes\":[1],\"shortName\":\"NoNiagara\",\"longName\":\"Je ferme l’eau du robinet quand je me lave les dents.\",\"longDescription\":\"Un robinet qui coule inutilement pendant 2 minutes, c'est 25 litres d'eau gaspillés. Si ce gaspillage est fait tous les jours, c'est presque 10 000 litres perdus sur l'année.\",\"impactLevel\":5,\"efficiency\":2.5,\"difficulty\":1,\"room\":[1],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je ferme l’eau du robinet quand je me lave les dents.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0006\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Poudre de sommeil\",\"longName\":\"Je mets mon ordinateur en veille automatique au bout de 5/10min d'inactivité.\",\"longDescription\":\"Mettez votre ordinateur en veille quand vous vous absentez brièvement, et au-delà d'une heure d'inactivité, éteignez-le totalement. Des économies d'énergie à la clé !\",\"impactLevel\":4,\"efficiency\":2,\"difficulty\":1,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"COMPUTER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je mets mon ordinateur en veille automatique au bout de 5/10min d'inactivité.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0007\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"Agitation des molécules\",\"longName\":\"Je réchauffe mes plats au micro-ondes plutôt qu’au four.\",\"longDescription\":\"Pour réchauffer un plat, le four à micro-ondes consomme moins d’énergie qu’un four traditionnel.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"MICROWAVE\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0008\",\"usage\":6,\"fluidTypes\":[0,2],\"shortName\":\"Cymbale\",\"longName\":\"Je mets un couvercle sur la casserole quand je cuisine.\",\"longDescription\":\"Vous pouvez économiser 25 % de l’énergie nécessaire à la cuisson en laissant le couvercle sur vos casseroles quand vous cuisinez et vous pouvez économiser encore plus car vous aurez ainsi moins besoin de la hotte. Mieux qu'un couvercle : pour réaliser un gain de 40 à 70 % en temps et en énergie, utilisez un récipient à pression. Pensez également à réduire la température une fois que l’eau bout.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Couvercle\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0009\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Plumeau d'or\",\"longName\":\"Je dépoussière mes radiateurs au moins une fois par an.\",\"longDescription\":\"La poussière bride les performances des radiateurs, hydrauliques ou électriques : les dépoussiérer permet une meilleure diffusion de la chaleur. Avec une meilleure efficacité, il vous sera alors possible d'avoir aussi chaud en consommant moins.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":1,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je dépoussière mes radiateurs.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0010\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Poings de glace\",\"longName\":\"Je me lave les mains à l'eau froide.\",\"longDescription\":\"Bien souvent le temps de se laver les mains est trop court pour que l’eau chaude arrive jusqu’à soi ! Donc autant ne prendre que de l’eau froide pour se les laver.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":1,\"room\":[1,2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je me lave les mains uniquement à l'eau froide.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0011\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Vaisselle givrée\",\"longName\":\"Je rince ma vaisselle à l'eau froide.\",\"longDescription\":\"Pendant la vaisselle, l’eau chaude n’est utile que pour faciliter le dégraissage au moment du nettoyage. Après, pour le rinçage, on peut donc utiliser de l’eau froide. Veillez bien cependant à utiliser de l’eau chaude de temps en temps pour éviter la formation de bouchons de graisse dans les canalisations.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je rince ma vaisselle à l'eau froide.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0012\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"A la bonne heure\",\"longName\":\"Je programme le nettoyage de mon four à pyrolyse juste après une cuisson.\",\"longDescription\":\"Dans le cas d’un four à pyrolyse, le nettoyage doit être programmé dans la foulée d’une cuisson, pour bénéficier de la chaleur accumulée. Privilégiez les fours à catalyse qui ne consomment pas d’énergie pour leur nettoyage.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0013\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Accelerateur de particules\",\"longName\":\"J’utilise le plus souvent les cycles courts à basse température pour laver le linge et la vaisselle.\",\"longDescription\":\"Utilisez la température la plus basse possible : de nombreux produits nettoyants sont efficaces à froid et un cycle à 90 °C consomme 3 fois plus d'énergie qu'un lavage à 40 °C. En effet, 80 % de l'énergie consommée par un lave-linge ou un lave-vaisselle sert au chauffage de l'eau ! Que ce soit pour la vaisselle ou le linge, les programmes de lavage intensif consomment jusqu'à 40 % de plus. Si possible, rincez à l'eau froide : la température de rinçage n'a pas d'effet sur le nettoyage du linge ou de la vaisselle. Attention cependant avec les tissus qui peuvent rétrécir : ce qui fait rétrécir, c'est le passage d'une température à une autre. Mieux vaut alors faire le cycle complet à l'eau froide pour les premiers lavages de tissus sensibles. Pour du linge ou de la vaisselle peu sales, utilisez la touche \\\"Eco\\\". Elle réduit la température de lavage et allonge sa durée (c’est le chauffage de l’eau qui consomme le plus). Vous économiserez jusqu’à 45 % par rapport aux cycles longs. Néanmoins, pour vous prémunir contre les bouchons de graisse dans les canalisations, faites quand même un cycle à chaud une fois par mois environ.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"WASHING_MACHINE\",\"DISHWASHER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J’utilise le cycle court à basse température pour laver le linge et la vaisselle.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0014\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Chat échaudé\",\"longName\":\"J’attends que les plats chauds aient refroidi avant de les mettre au réfrigérateur et je les couvre.\",\"longDescription\":\"En plaçant des plats chauds au réfrigérateur, vous réchauffez l’enceinte de l’appareil, ce qui entraîne une surconsommation. De plus, si les plats ne sont pas couverts, de la vapeur d’eau va se former et provoquer l’apparition du givre. Et couvrir les plats, c’est aussi éviter que les bactéries et les odeurs ne se répandent.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J’attends que les plats chauds aient refroidi avant de les mettre au réfrigérateur et je les couvre.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0015\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Ere glacière\",\"longName\":\"Je remets systématiquement mes mitigeurs sur la position la plus froide.\",\"longDescription\":\"Laissez de préférence les robinets mitigeurs en position \\\"froid\\\" pour éviter de demander de l'eau chaude ou tiède alors qu'on a besoin, la plupart du temps, d'eau froide. Et si vous pouvez remplacer votre robinet \\\"mélangeur\\\" par une robinetterie dite mitigeur, c'est des économies également à la clé : cela prendra moins de temps pour avoir la température d’eau désirée. Vous pouvez opter pour un mitigeur 90° au lieu de 180°, qui ne tourne que vers la gauche et est donc en position \\\"froid\\\" lorsqu'il est au centre.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[1,2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je remets systématiquement mes mitigeurs sur la position la plus froide.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0016\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Frères Lumières\",\"longName\":\"J’éteins systématiquement les lumières quand je sors d’une pièce.\",\"longDescription\":\"Pourquoi laisser allumée une pièce vide ? Sachez que 3 ampoules de 75 W qui restent allumées une soirée consomment autant qu’une lessive à 60 °C.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J’éteins systématiquement les lumières quand je sors d’une pièce.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0017\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"Porte coupe-feux\",\"longName\":\"J’évite d'ouvrir la porte du four pour vérifier la cuisson.\",\"longDescription\":\"Ouvrir la porte d’un four pendant qu’il fonctionne gaspille beaucoup de chaleur : pour évaluer la cuisson de votre préparation, il vaut mieux se servir de l’éclairage de contrôle.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0018\",\"usage\":5,\"fluidTypes\":[1,0],\"shortName\":\"Professeur Folinge\",\"longName\":\"Je remplis complètement ma machine à laver et/ou mon lave-vaisselle avant de les faire tourner.\",\"longDescription\":\"Pour la machine à laver, remplissez suffisamment le tambour mais n'exagérez pas bien sûr. Les tambours trop remplis donnent un mauvais résultat de lavage. Un tambour est correctement rempli lorsque vous pouvez encore passer votre main au-dessus des vêtements. Pour les lave-vaisselles, chargez-les totalement avant de lancer un cycle de lavage, sinon faites la vaisselle à la main, mais attention à ne faire couler l'eau que pour rincer. Éviter de placer au lave-vaisselle des plats volumineux pour privilégier la petite vaisselle. Bien remplir ses appareils permet de les faire tourner moins souvent, des économies d'énergie et d'eau à la clé !\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"WASHING_MACHINE\",\"DISHWASHER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je remplis complètement ma machine à laver et/ou mon lave-vaisselle avant de les faire tourner.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0019\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"Tétris\",\"longName\":\"J'utilise des casseroles de la même taille que mes plaques électriques.\",\"longDescription\":\"Une casserole à fond plat, avec un diamètre adapté aux plaques, permet d’exploiter au maximum les capacités de votre cuisinière.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"COOKING_PLATES\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0020\",\"usage\":5,\"fluidTypes\":[1,0],\"shortName\":\"Barrage\",\"longName\":\"J'évite de pré-laver mon linge/ma vaisselle.\",\"longDescription\":\"Les machines modernes n’ont plus besoin de pré-lavage. Si un élément est particulièrement sale, évitez les cycles de prélavage \\\"linge très sale\\\" ou \\\"spécial casseroles\\\". Nettoyez-le à la main avec du savon de Marseille ou du liquide vaisselle, ou faites le tremper 10 minutes dans l’eau chaude. Cela économise en eau et en électricité l'équivalent d'un demi-cycle complet.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"WASHING_MACHINE\",\"DISHWASHER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0021\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Boules de linge\",\"longName\":\"Si j’ai un sèche linge, je sèche mon linge en petits paquets et j’adapte la durée de séchage de mon sèche-linge.\",\"longDescription\":\"Le sèche-linge représente 5% des consommations moyenne d'électrcité spécifique (d'après EDF). Il est important au préalable d’essorer à une vitesse supérieure, jusqu’à 1 000 tours/minutes, si la nature du linge le permet. Le séchage sera alors plus rapide et vous consommerez moins d’énergie pour le sécher\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"DRYER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0022\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Vortex\",\"longName\":\"Je nettoie le filtre de ma machine à laver.\",\"longDescription\":\"Repérez la trappe qui existe sur le devant de votre machine (en bas à droite souvent). Ouvrez-la. Dévissez le filtre pour le sortir : attention, un peu d’eau risque de couler (Prenez un bol et une serpillère au cas où).Enlèvez les résidus qui seraient restés dans la trappe : cheveux, pièces etc. Rincez le filtre à l’eau claire. Remettez le filtre en place et hop on referme la trappe ! En étant bien entretenu, votre lave-ligne consomme moins d'énergie, lave mieux votre linge et durera plus longtemps.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"WASHING_MACHINE\",\"DISHWASHER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je nettoie le filtre de ma machine à laver.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0023\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Expert du vinaigre blanc\",\"longName\":\"Je détartre ma machine tous les ans.\",\"longDescription\":\"Pour éviter l’entartrage, qui provoque une surconsommation d’énergie, remplacez l’assouplissant par du vinaigre blanc. Il détartre la machine, fixe les couleurs du linge et assouplit les fibres, tout cela sans laisser d’odeur. Un petit bouchon suffit !\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"WASHING_MACHINE\",\"DISHWASHER\"],\"equipmentInstallation\":false,\"investment\":\"Vinaigre blanc ou produit de détartrage\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0024\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"Inertie suprême\",\"longName\":\"Je coupe mes plaques électriques un peu avant la fin cuisson.\",\"longDescription\":\"Les plaques de cuisson électriques (sauf les plaques à induction) continuent de chauffer plusieurs minutes après extinction : cette chaleur mérite d’être utilisée lors d’une cuisson longue.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"COOKING_PLATES\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0025\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"La sorcière poussière\",\"longName\":\"Je nettoie mes ampoules et luminaires (au moins une fois par an)\",\"longDescription\":\"Nettoyez régulièrement les ampoules, les abat-jours et les luminaires pour maximiser leur efficacité. Sachez qu'à puissance égale, un appareil poussiéreux peut produire un flux lumineux inférieur de 40 % à celui d'un appareil propre.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je nettoie mes ampoules et luminaires.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0026\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Lumos Maxima\",\"longName\":\"J’ouvre mes rideaux et mes volets dès qu’il fait jour et privilégie les apports de lumière naturelle.\",\"longDescription\":\"Privilégiez toujours les apports de l’éclairage naturel. La lumière du jour est la meilleure pour l’œil humain et cela évite de consommer de l'électricité pour l'éclairage. Ouvrez volets et rideaux dès vos premières activités et agencez votre espace intérieur pour profiter au mieux de cet éclairage naturel. Évitez, par exemple, de placer des éléments qui font obstacle à la lumière au centre de la pièce.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J’ouvre mes rideaux et mes volets dès qu’il fait jour et privilégie les apports de lumière naturelle.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0027\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Marionnetiste\",\"longName\":\"Je débranche mes chargeurs quand ils ne sont pas en fonctionnement.\",\"longDescription\":\"Certains chargeurs continuent de consommer de l’énergie quand ils restent branchés, même si l’appareil n’est pas connecté. De plus, certaines technologies de batteries supportent mal de rester branchées une fois la charge terminée. Les débrancher dès que l’appareil est chargé permet des économies d’énergie et prolonge la durée de vie de votre appareil.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je débranche mes chargeurs quand ils ne sont pas en fonctionnement.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0028\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Master mind\",\"longName\":\"Je réfléchis à ce que je vais prendre avant d'ouvrir mon réfrigérateur ou congélateur.\",\"longDescription\":\"En réfléchissant à ce que vous allez manger devant la porte ouverte de votre appareil, vous faites sortir le froid et entrer de la vapeur d’eau, ce qui va entraîner la formation de givre. Ouvrez la porte le moins souvent et le plus brièvement possible. Un petit truc pratique : affichez la liste du contenu de votre réfrigérateur sur la porte et cochez ce que vous avez pris : vous saurez ce qu’il reste dedans et cela vous sera utile pour savoir quand faire les courses !\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je réfléchis à ce que je vais prendre avant d’ouvrir la porte de mon appareil de froid.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0029\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Programmeur\",\"longName\":\"J'adapte le programme d'essorage de ma machine à laver au type de linge.\",\"longDescription\":\"Utilisez l'essorage à vitesse minimum si vous faites sécher le linge dehors. Par contre, si vous utilisez un sèche-linge, il est important d'essorer à une vitesse supérieure, jusqu'à 1000 tours/minutes, si la nature du linge le permet. Le séchage sera alors plus rapide et vous consommerez moins d’énergie. Au-delà de 1000 tours/minute l'efficacité diminue et le linge se froisse.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"WASHING_MACHINE\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J'adapte le programme d'essorage de ma machine à laver au type de linge.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0030\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Roi du Puzzle\",\"longName\":\"J’optimise le rangement dans mon réfrigérateur et/ou congélateur.\",\"longDescription\":\"La partie la plus froide ne se situe pas toujours au même endroit selon l’appareil : dans le haut des réfrigérateurs traditionnels, dans le bas des combinés 2 portes. Dans les réfrigérateurs à froid ventilé, les températures sont plus homogènes. Regardez la notice de votre réfrigérateur pour identifier les différentes zones de température et ainsi ranger chaque aliment à sa place. Enlevez les produits de leur emballage d'origine (film plastique, carton, etc.) qui filtrent le froid. Rangez les denrées de façon rationnelle pour y accéder plus rapidement et aussi pour pouvoir refermer plus rapidement la porte. Surtout, n’obstruez pas le thermostat car s’il est recouvert de givre ou de produits, il ne détectera pas la température correctement et l’abaissera plus que nécessaire. Evitez de mettre trop de poids dans les portes. Une porte qui fonctionne mal provoque des pertes d'énergie. Conseils pour ranger votre réfrigérateur : placez les oeufs sur l'étage le plus haut ; les laitages et le beurre sur l'étage du dessous ; puis les plats cuisinés, les pâtisseries fraîches et charcuteries sur l'étage du milieu ; sur les parties basses, placez les poissons ; et réservez le bac à légumes pour les légumes et les fruits.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":1,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"J’optimise le rangement dans mon réfrigérateur et/ou congélateur.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0031\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Lord Kelvin\",\"longName\":\"Je décide de baisser de 2 °C la température de chauffage de mes pièces.\",\"longDescription\":\"Le saviez-vous ? Au-delà de 20 °C, chaque degré de plus coûte en moyenne 7 % sur la facture de chauffage. Alors évidemment, choisir de baisser la température chez soi de 2 °C, c’est toujours gagnant ! Dans un logement bien isolé, on est confortable à 19 °C dans les pièces de vie en journée et 16 °C la nuit et dans les chambres.\",\"impactLevel\":10,\"efficiency\":5,\"difficulty\":2,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je décide de baisser de 2 °C la température de chauffage de mes pièces.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0032\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Professeur Fahrenheit\",\"longName\":\"Je règle le thermostat de mon chauffage à moins de 20 °C.\",\"longDescription\":\"Le saviez-vous ? Au-delà de 20 °C, chaque degré de plus coûte en moyenne 7 % sur la facture de chauffage. Alors évidemment, choisir de baisser la température chez soi de 1 °C, c’est toujours gagnant ! Dans un logement bien isolé, on est confortable à 19 °C dans les pièces de vie en journée et 16 °C la nuit et dans les chambres.\",\"impactLevel\":10,\"efficiency\":5,\"difficulty\":2,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Thermostat (d’ambiance)\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0033\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Ambianceur\",\"longName\":\"J'installe et/ou je programme mon thermostat d’ambiance selon mon occupation quotidienne ou hebdomadaire.\",\"longDescription\":\"Le corps a besoin d’environ une semaine pour s’acclimater à une nouvelle température: alors, ne vous précipitez pas sur le chauffage dès la première baisse de température mais attendez plutôt de voir si vous vous habituez. L’humidité et les infiltrations d’air peuvent aussi amplifier la sensation d’inconfort. Avec un thermostat à 20°C, vous pouvez avoir un ressenti de 17 °C si la maison est humide, que l’air s’infiltre ou que la température n’est pas la même partout (effet paroi froide). Des solutions de rénovation existent pour améliorer votre confort, vous pouvez consulter la page de l'ALEC dédiée au dispositif Ecoreno'v : https://www.alec-lyon.org/nos-services/conseil-technique-en-batiment/ecorenov/\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Thermostat d’ambiance\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0034\",\"usage\":2,\"fluidTypes\":[0],\"shortName\":\"Bulles-à-part\",\"longName\":\"Je ne fais pas fonctionner mon ventilateur ou la climatisation dans les pièces non occupées\",\"longDescription\":\"Cela permet d'évite des consommations inutiles. Le froid ne restera pas dans la pièce. Donc il est préférable d'allumer le ventilateru ou climatiseur seulement quand des personnes sont présentes dans la pièce.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Eté\",\"equipment\":true,\"equipmentType\":[\"AIR_CONDITIONING\",\"FAN\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0035\",\"usage\":2,\"fluidTypes\":[0],\"shortName\":\"La Juste Clim'\",\"longName\":\"Je règle ma climatisation au plus bas à 26°C en veillant à ce qu’il n’y ait pas jamais plus de 5°C à 7°C de différence entre l’intérieur et l’extérieur.\",\"longDescription\":\"Réglez votre climatisation au plus bas à 26 °C et veillez à ce qu’il n’y ait jamais plus de 5 à 7 °C de différence entre l’intérieur et l’extérieur. Attention aux grands écarts de température qui peuvent provoquer des chocs thermiques.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Eté\",\"equipment\":true,\"equipmentType\":[\"AIR_CONDITIONING\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0036\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Flamme lucide\",\"longName\":\"Je mets mon chauffage en mode réduit pendant la nuit ou pendant mon absence.\",\"longDescription\":\"Vous pouvez économisez jusqu’à 25 % en éteignant ou en baissant le chauffage 1h avant d’aller vous coucher et en le baissant de 3 à 4 °C quand vous vous absentez plus de 2 heures. De même, programmez votre chauffage en fonction de votre présence. Par exemple, augmentez la température dans le salon, la cuisine et la salle de bains le matin et diminuez-la dans les chambres. Inversement le soir.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je met mon chauffage en mode réduit pendant la nuit ou pendant mon absence.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0037\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Professeur Celsius\",\"longName\":\"Je décide de baisser d'1 °C la température de chauffage de mes pièces.\",\"longDescription\":\"Le saviez-vous ? Au-delà de 20 °C, chaque degré de plus coûte en moyenne 7 % sur la facture de chauffage. Alors évidemment, choisir de baisser la température chez soi de 1 °C, c’est toujours gagnant ! Dans un logement bien isolé, on est confortable à 19 °C dans les pièces de vie en journée et 16 °C la nuit et dans les chambres.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je décide de baisser d'1 °C la température de chauffage de mes pièces.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0038\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Thermo-dynamique\",\"longName\":\"Je ne chauffe que les pièces de vie (salon, cuisine, …)\",\"longDescription\":\"Vous n’avez pas vraiment besoin de chauffer le cellier, le hall ni les chambres à coucher donc fermez bien les portes qui y donnent accès et même prévoyez de les calfeutrer si nécessaire.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":2,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je ne chauffe que les pièces de vie (salon, cuisine, …)\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0039\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Calfeutrage\",\"longName\":\"Je bloque les entrées d’air froid des pièces non chauffés (sous-sol, cave, cellier…) à l’aide de boudins de portes.\",\"longDescription\":\"En revanche, ne bouchez jamais les grilles de ventilation, elles sont essentielles pour maintenir une bonne qualité de l’air dans votre logement.\",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":2,\"room\":[],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Boudins de portes\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0040\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Hypervitesse\",\"longName\":\"Je prends des douches de moins de 5 minutes.\",\"longDescription\":\"Quand vous prenez une douche, vous consommez 2 à 4 fois moins d’eau qu’en prenant un bain. Cependant cela est vrai pour une douche de 5 minutes. Sachant que le débit d’une pomme de douche classique est de 15 à 20 litres et qu’un bain nécessite 150 à 200 litres d’eau, une douche de 10 minutes revient au même qu’un bain ! Alors, à vos chronomètres, on essaie de tenir moins de 5 minutes !\",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":2,\"room\":[1],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je prends des douches de moins de 5 minutes.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0041\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Pomme à l'eau\",\"longName\":\"J’ai un économiseur d’eau sur mon pommeau de douche.\",\"longDescription\":\"Utiliser un économiseur d’eau sur les robinets et les douchettes permet de réduire jusqu’à 50 % la consommation d’eau, ainsi que l’énergie utilisée pour la chauffer.\",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":2,\"room\":[1],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Eco mousseur\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0042\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Super plombier\",\"longName\":\"J'équipe mes robinets d’éco-mousseurs.\",\"longDescription\":\"Le terme \\\"mousseur\\\" désigne la pièce qui est située au bout de votre robinet qui permet de canaliser le jet d’eau. La plupart des robinets sont équipés de mousseurs, mais ceux-ci ne réduisent pas le débit. Il existe différents types \\\"d’éco-mousseurs\\\" qui limitent le débit à des niveaux variables. Choisissez votre matériel en fonction des besoins à chaque robinet : 5 L/min sera adapté pour un robinet servant uniquement à se laver les mains mais sera assez pénible si vous devez remplir un seau !\",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Eco mousseur\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0043\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Thermos-Logis\",\"longName\":\"Je conserve au maximum la fraicheur de mon logement en fermant les volets et fenêtres quand je m’absente pendant la journée.\",\"longDescription\":\"En laissant les fenêtres ouvertes aux heures chaudes, vous faites entrer la chaleur dans le logement. Une chaleur qui sera difficile à évacuer une fois les pièces réchauffées. L’idéal est de fermer les fenêtres dès que la température extérieure dépasse la température du logement. En revanche, laissez-les bien ouvertes la nuit afin que l’air frais rafraîchisse votre intérieur. \",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":2,\"room\":[0],\"season\":\"Eté\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je conserve au maximum la fraicheur de mon logement en fermant les volets et fenêtres quand je m’absente pendant la journée.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0044\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Chasse-air\",\"longName\":\"Je vérifie que les montants des fenêtres et des portes extérieures ne laissent pas passer les courants d’air.\",\"longDescription\":\"L’installation de doubles vitrages permet de diminuer les pertes de chaleur et d’améliorer le confort en diminuant la sensation de paroi froide à proximité des fenêtres. \",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0045\",\"usage\":4,\"fluidTypes\":[1],\"shortName\":\"Maître du ciel\",\"longName\":\"Je récupère l'eau de pluie pour arroser les plantes et laver la voiture.\",\"longDescription\":\"Il n’est pas nécessaire d’installer une cuve et un matériel coûteux pour commencer à récupérer l’eau de pluie : installez simplement un bac à la sortie de la gouttière de votre maison vous disposerez déjà d’un apport suffisant pour assurer la plupart de vos usages extérieurs à la maison !\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":2,\"room\":[],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Seau/ Bac de récupération\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0046\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Déesse du feu\",\"longName\":\"Je coupe mon chauffe-eau dès que je pars plus de 4 jours.\",\"longDescription\":\"Pourquoi continuer à chauffer de l’eau lorsqu’on n’est pas là pour l’utiliser ? Si vous possédez un chauffe-eau à accumulation et que vous partez plusieurs jours, il peut être utile de le couper car il continuera de consommer pour maintenir l’eau à température. Attention cependant à la douche froide du retour, n'oubliez de le remettre en marche en rentrant !\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":2,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"BOILER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0047\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Bas Les Pattes\",\"longName\":\"J'empêche mes rideaux de pendre devant les radiateurs ou les convecteurs\",\"longDescription\":\"Réduisez le plus possible l’espace entre les fenêtres et les rideaux et évitez qu’ils ne recouvrent les radiateurs, car la chaleur se diffuse alors moins bien.\",\"impactLevel\":4,\"efficiency\":2,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"CURTAIN\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0048\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Cape d'invisibilité\",\"longName\":\"Je branche ma \\\"box\\\" internet sur une multi-prise ou sur une minuterie pour l'éteindre quand je n'en n'ai pas besoin.\",\"longDescription\":\"La consommation des box internet est loin d’être négligeable : autour de 200 kWh par an pour un usage moyen et avec des variations du simple au double selon votre fournisseur et votre équipement. Face à cela, une solution s’impose : la débrancher tout simplement ! Pour faciliter les bonnes habitudes nous vous conseillons de la brancher sur une minuterie qui s’éteindra toute seule pendant la nuit par exemple selon les réglages que vous aurez prévus. Sinon, une simple muli-prise fait l'affaire si vous pensez à l'éteindre !\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"INTERNET_BOX\"],\"equipmentInstallation\":false,\"investment\":\"Multiprise avec interrupteur marche/arrêt\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0049\",\"usage\":6,\"fluidTypes\":[0],\"shortName\":\"Casque anti-onde\",\"longName\":\"J’évite d’utiliser le micro-ondes pour décongeler les aliments.\",\"longDescription\":\"Les aliments peuvent se décongeler à l’intérieur du réfrigérateur, sans l’aide du micro-ondes. C’est moins rapide et il faut s’y prendre à l’avance mais cela ne consomme aucune énergie supplémentaire et fait même économiser de l’énergie au réfrigérateur (en lui donnant du froid !).\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"MICROWAVE\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0050\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Chiffon magique\",\"longName\":\"J'ai nettoyé les grilles d'entrée d'air et d'extraction de ma VMC (ventilation mécanique contrôlée) il y a moins d'un an.\",\"longDescription\":\"Si votre logement est équipé de VMC, l’air que vous respirez passe par les grilles d’entrée d’air : mieux vaut donc qu’elles soient propres ! De plus, si les bouches d’entrée et d’extraction sont encrassées, elles auront tendance à être moins efficaces (surconsommation du moteur de la VMC et moindre efficacité pour évacuer l’humidité). Les grilles sont souvent vissées ou clipsées, et donc facilement démontables. Il suffit de les nettoyer avec de l'eau chaude savonneuse, de les rincer et de les sécher correctement avant de les remettre en place. Aucune humidité ne doit pénétrer à l’intérieur du système de ventilation.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"VENTILATION\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0051\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Crépuscule numérique\",\"longName\":\"Je diminue la luminosité de mon écran d’ordinateur tout en conservant un confort de vue.\",\"longDescription\":\"Faites fonctionner les écrans de façon économe en supprimant les économiseurs d’écran animés (ils empêchent la mise en veille de l’ordinateur et n’économisent pas d’électricité), en réglant la luminosité pour un bon compromis entre confort visuel et économie d’énergie. Activez le « mode sombre » sur votre téléphone portable quand c'est possible, notamment sur les applications. (Vous l'aurez remarqué notre service est en mode sombre, et c'est pour cela :))\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je diminue la luminosité de mon écran d’ordinateur tout en conservant un confort de vue.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0052\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Déesse du vent\",\"longName\":\"J'évite d'utiliser un sèche-linge.\",\"longDescription\":\"La façon la plus économe de sécher le linge reste de le faire à l’air libre. Si toutefois cela est trop compliqué chez vous, voici quelques consignes : ne faites pas sécher le linge trop longtemps, surtout s’il doit être repassé. De plus, cela usera moins le linge. Préférez un séchage long à température modérée si vous avez un sèche-linge à évacuation ; et plusieurs cycles courts à plus haute température s’il s’agit d’un sèche-linge à condensation. Choisissez le bon programme : les matières synthétiques sèchent plus vite que le lin ou le coton. Vous pouvez aussi pré-sécher le linge à l’air libre et n’utiliser le sèche-linge que pour parfaire le séchage. Vous diviserez ainsi sa consommation par 3 ou 4.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"DRYER\"],\"equipmentInstallation\":false,\"investment\":\"Etendage\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0053\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Electro\",\"longName\":\"J’utilise des multiprises pour couper les veilles de mes appareils.\",\"longDescription\":\"Quand les appareils ne fonctionnent pas, ils peuvent tout de même continuer à consommer de l’énergie. Par exemple, un téléviseur qui fonctionne 4 heures par jour reste en veille les 20 heures restantes et consomme donc pendant ce temps. Pour vous faciliter la vie et faire des économies, reliez ces appareils (télé, lecteur DVD-BlueRay, HiFi, décodeur…) à une multiprise à interrupteur et pensez à éteindre la multi-prise en temps voulu.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Multiprise avec interrupteur marche/arrêt\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0054\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Génie de la lampe\",\"longName\":\"J’utilise uniquement des ampoules basse consommation dans toutes les pièces de vie.\",\"longDescription\":\"Remplacez par des ampoules basse consommation les ampoules qui restent en général allumées plus d’une demi-heure. Vous pouvez ainsi remplacer une ampoule à incandescence de 60 W par une ampoule basse consommation de 15 W. Elle émettra autant de lumière mais pour une consommation d’électricité 4 à 5 fois moins importante. En outre, elle chauffe beaucoup moins et peut durer jusqu’à 15 fois plus longtemps.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Ampoules basses consommation\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0055\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Hibernation\",\"longName\":\"Je remplis mon congélateur, je ne surcharge pas mon réfrigérateur.\",\"longDescription\":\"Remplissez au maximum votre congélateur, qui consomme d’autant moins qu’il n’y a pas d’espace vide. Si votre congélateur n’est pas plein, remplissez les espaces vides avec des bouteilles d’eau en plastique pleines aux 3/4. Une fois congelées, elles aident le congélateur à abaisser la température après une ouverture de porte. De plus, en cas de coupure de courant ou de panne, elles aident à maintenir les denrées au froid plus longtemps. Par contre, évitez de surcharger le réfrigérateur, cela augmente sa consommation d'énergie et diminue la durée de conservation des aliments. Laissez de la place entre les aliments pour que l’air circule car c’est lui qui refroidit les aliments.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\",\"FREEZER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je remplis mon congélateur, je ne surcharge pas mon réfrigérateur.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0056\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Pisciniste\",\"longName\":\"Si j'ai un grand évier, j'utilise un bac pour faire la vaisselle.\",\"longDescription\":\"C’est mieux que de laisser le robinet ouvert pendant toute la vaisselle : même si celui-ci est équipé d’un \\\"écomousseur\\\" ! En plus, ça mousse mieux et vous économisez aussi du liquide vaisselle, astucieux, non ?\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"un bac à vaiselle\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0057\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Fermeture des écoutilles\",\"longName\":\"Je coupe toujours la VMC quand je pars plus de 4 jours.\",\"longDescription\":\"Une VMC fonctionne grâce à un petit moteur électrique : si vous y avez accès, pensez à le couper quand vous vous absentez plusieurs jours (interrupteur ou directement sur le tableau électrique). On peut également faire installer un temporisateur sur le tableau électrique pour ne déclencher la ventilation qu’aux heures d’occupation du logement. Attention cependant, si vous avez des problèmes d’humidité, n’arrêtez pas la VMC.\",\"impactLevel\":3,\"efficiency\":1.5,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"VENTILATION\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0058\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"La Lumière Fut\",\"longName\":\"J'installe mon fauteuil et mon bureau près des fenêtres.\",\"longDescription\":\"Cela permet d'optimiser l'utilisation de l'éclairage naturel. Placez le bureau à proximité de la fenêtre et orientez-le de façon à éviter les ombres portées gênantes et/ou les reflets sur l’écran d’ordinateur. Faites de même pour un coin lecture qui, placé près de la fenêtre, évitera autant que possible le recours à l’éclairage artificiel.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0059\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Versailles-optimisé\",\"longName\":\"Je répartis les sources de lumière pour optimiser l'éclairage.\",\"longDescription\":\"Il n’est pas nécessaire de baigner la pièce de lumière pour lire ou travailler ! Plutôt que d’installer un éclairage unique de forte intensité, privilégiez les petites sources d’éclairage bien ciblées et qui consomment moins.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":2,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"-\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0060\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Exploratrice polaire\",\"longName\":\"Je dégivre mon réfrigérateur et/ ou congélateur si je ne l'ai pas fait depuis 3 mois.\",\"longDescription\":\"En dégivrant vos appareils de froid tous les 3 mois, vous pouvez économiser jusqu’à 50 % d’électricité sur ce poste. Au-delà de 3 mm, le givre crée une couche isolante et engendre une surconsommation de 30 %, à 1 cm cela représente déjà 50 % ! Et plutôt que des modèles à dégivrage automatique, choisissez des modèles à dégivrage manuel, beaucoup moins énergivores. Le dégivrage prend un peu de temps mais vous n’êtes pas obligé d’attendre devant le réfrigérateur non plus ! Profitez que l’appareil soit vide, avant de partir en week-end ou en vacances, ou placez les aliments à la cave, ou dehors pendant la saison hivernale. Débranchez-le et laissez la porte entrouverte pour éviter que de la moisissure ne se forme. Plus vous le ferez souvent et moins cela prendra de temps. Si vous n’avez que le congélateur à dégivrer, placez vos aliments congelés dans le réfrigérateur ou dans une glacière avec les pains de glace si le dégivrage vous prend moins de 30 mn.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\",\"FREEZER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je dégivre mon réfrigérateur et/ou congélateur.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0061\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Maître des calories\",\"longName\":\"Je vérifie régulièrement la température de mon réfrigérateur/congélateur\",\"longDescription\":\"Une température de +5 °C est suffisante pour un réfrigérateur, -18 °C pour un congélateur. Chaque degré en moins par rapport à ces températures conseillées consomme 5 % d’énergie en plus. Pour vérifier la température de votre réfrigérateur, mettez un thermomètre dans un verre d'eau, laissez-le en place au moins une nuit, et faites la mesure aux différents étages du réfrigérateur ainsi que dans la porte.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\",\"FREEZER\"],\"equipmentInstallation\":false,\"investment\":\"Thermomètre\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0062\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Prince des chromes\",\"longName\":\"Je nettoie la grille arrière de mon réfrigérateur tous les ans au moins.\",\"longDescription\":\"C’est par la grille que la chaleur extraite de l’appareil peut s’évacuer dans la pièce. Encrassée, cette grille ne peut plus bien évacuer la chaleur. Cela entraîne une surchauffe qui peut conduire à doubler la consommation électrique de l’appareil. Nettoyez une fois par an la grille arrière du réfrigérateur et laissez 5 cm au moins entre lui et le mur pour que la chaleur s’évacue correctement.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je nettoie la grille arrière de mon réfrigérateur.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0063\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Sous-marin\",\"longName\":\"Je vérifie l’étanchéité des joints de mon réfrigérateur/congélateur une fois par an.\",\"longDescription\":\"L’apparition rapide du givre, c’est souvent en raison des joints qui sont fatigués. Pour le vérifier, il suffit de fermer la porte du réfrigérateur sur une feuille de papier : si on la retire facilement, les joints sont à changer. Vous économiserez ainsi environ 10 % sur la consommation de votre frigo et de votre congélateur. Pour les entretenir, pensez à les nettoyer à l’eau tiède en même temps que vous nettoyez l’intérieur de votre frigo.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\",\"FREEZER\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0064\",\"usage\":6,\"fluidTypes\":[0,2],\"shortName\":\"Capsule hermétique\",\"longName\":\"Je vérifie les joints de mon four tous les ans.\",\"longDescription\":\"Vérifiez visuellement la qualité du joint d’étanchéité de votre four et changez-le s’il est défectueux. Cela évitera les déperditions de chaleur ainsi qu’une surconsommation pouvant aller jusqu’à 30 %.\",\"impactLevel\":1,\"efficiency\":0.5,\"difficulty\":2,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0065\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Rat d'opéra\",\"longName\":\"J'installe des rideaux épais et/ou des volets à toutes les fenêtres des pièces chauffées.\",\"longDescription\":\"Un volet fermé pendant la nuit peut réduire la déperdition de chaleur de la fenêtre jusqu'à 60 %. Cette économie peut atteindre 10 % du chauffage selon l'étude ES-SO (European Solar-Shading Organisation). Le soir, fermez les rideaux et les volets pour limiter les déperditions de chaleur et la sensation d'inconfort provoquée par l'effet de paroi froide. De plus, cette sensation vous conduit souvent à augmenter d'1 ou 2 °C le chauffage. Cela paraît évident avec des simples vitrages mais ça l’est aussi avec des doubles vitrages qui restent malgré tout le point faible de l’enveloppe d’un logement. A l’inverse, en journée, favorisez au maximum les apports de chaleur gratuits par le soleil en ouvrant rideaux et volets.\",\"impactLevel\":8,\"efficiency\":4,\"difficulty\":3,\"room\":[0],\"season\":\"Hiver\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Volet/Rideau\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0066\",\"usage\":1,\"fluidTypes\":[2],\"shortName\":\"Brûleur Expert\",\"longName\":\"Je nettoie et je régle la combustion de ma chaudière tous les ans.\",\"longDescription\":\"Le mauvais entretien ou réglage d’une chaudière peut réduire son efficacité. Pour obtenir un rendement maximal, faites vérifier votre équipement de chauffage tous les ans. L’entretien régulier permet d’éviter les sur-consommations.Indispensable pour votre sécurité, la révision annuelle des chaudières à combustion (gaz, fioul, bois) est obligatoire \",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":3,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Faire appel à un pro\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0067\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Contrôle du nuage\",\"longName\":\"Je règle la température de mon eau chaude entre 55 et 60 °C.\",\"longDescription\":\"Bien souvent les chauffe-eau sont réglés pour une température de 70 °C dans le ballon, ce qui n’est pas économique et peut même être dangereux ! Au-dessus de 60 °C vous augmentez aussi l’entartrage. L’eau ne doit pas être trop froide (supérieur à 50°) non plus pour éviter le risque de prolifération de micro-organismes comme les légionelles. A noter : parfois l’accès au réglage n’est pas directement visible… il faut alors retirer le capot en plastique situé sous le chauffe-eau pour y accéder.\",\"impactLevel\":7,\"efficiency\":3.5,\"difficulty\":3,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0068\",\"usage\":3,\"fluidTypes\":[0,2],\"shortName\":\"Jean Paul Tartre\",\"longName\":\"Je détartre mon chauffe-eau tous les 3 ans.\",\"longDescription\":\"Si votre eau est très calcaire, faites équiper votre chauffe-eau d’une résistance adaptée ou faites détartrer et vidanger votre chauffe-eau tous les 2 ou 3 ans. Pour détartrer votre chauffe-eau, faites appel à un professionnel. La formation du tartre sur les résistances peut augmenter le temps nécessaire à chauffer l’eau, et donc la consommation d’énergie. Si votre chauffe-eau électrique a plus de 20 ans, pensez à le remplacer.\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":3,\"room\":[1,2,3],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"BOILER\"],\"equipmentInstallation\":false,\"investment\":\"Faire appel à un pro\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0069\",\"usage\":4,\"fluidTypes\":[1],\"shortName\":\"Sourcier\",\"longName\":\"Je repère les fuites.\",\"longDescription\":\"Il est important de vérifier régulièrement l’état de vos tuyauteries mais aussi des robinets et de la chasse d’eau. Une fuite peut vite coûter très cher. Les fuites ne sont pas toujours visibles. Si vous soupçonnez une fuite, relevez le compteur d’eau le matin avant de partir ou le soir avant de vous coucher. Si lorsque vous relevez à nouveau le compteur, il y a une différence, c’est qu’il y a une fuite. Autre méthode pour détecter une fuite de chasse d’eau : mettez un peu de colorant alimentaire dans le réservoir. Vaquez à d'autres occupations en donnant la consigne à votre entourage de ne pas utiliser les toilettes ... puis revenez : si l'eau dans la cuvette est colorée, c'est qu'il y a une fuite !\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":3,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0070\",\"usage\":1,\"fluidTypes\":[2],\"shortName\":\"Passage au stand\",\"longName\":\"Si mon circuit de chauffage a plus de 10 ans, je le fait désembouer.\",\"longDescription\":\"Au fil du temps, la tuyauterie s’oxyde, entraînant la formation de boues et autres sédiments dans le circuit. L’embouage de l’installation nuit à la diffusion de chaleur : cela peut entraîner une perte de la performance allant jusqu’à 40 %. Vous pouvez désembouer votre radiateur vous-même ou faire appel à un pro. Etape 1 : Eteindre sa chaudière puis laissez l’eau redescendre à température ambiante. Fermez tous vos radiateurs. Etape 2 : Le désembouage doit commencer par le premier radiateur, c’est-à-dire le plus proche du chauffage central. Fermez les vannes de ce radiateur. Dévissez son purgeur avec la clé à molette puis versez le produit désembouant directement dans le radiateur à l’aide de votre entonnoir. Revissez le purgeur puis remettez le chauffage central en marche. Laissez agir le produit le temps indiqué sur la notice, soit 2 à 5 jours en moyenne, voire davantage (voir notice produit désembouant). Étape n°3 : La vidange du circuit de chauffage. Patientez le temps nécessaire pour bien laisser le temps au produit d’agir en profondeur. Ce temps lui permet de bien décoller les boues et de les mettre en suspension afin de les évacuer plus facilement. Une fois ce délai passé, vous pouvez procéder à la vidange. Pour cela, coupez le chauffage à nouveau. Vidangez la totalité du circuit de chauffage en permettant un débit suffisamment fort pour évacuer les boues en suspension par le robinet de vidange du radiateur. Lorsque la vidange est effectuée, rincez le radiateur et remplissez-le à nouveau. Vous pouvez aussi faire appel à un plombier, comptez 350 à 450 euros HT pour un circuit comprenant moins de 10 radiateurs.\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":3,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"HYDRAULIC_HEATING\"],\"equipmentInstallation\":false,\"investment\":\"Faire appel à un pro\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0071\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Tuning de Radiateur\",\"longName\":\"Je place des panneaux réfléchissants derrière les radiateurs sur les murs non isolés.\",\"longDescription\":\"En installant des panneaux réfléchissant derrière les radiateurs placés sur des murs non isolés, vous pouvez améliorer la performance de vos radiateurs de 5 à 10 %. Ces panneaux permettent de renvoyer la chaleur émise dans la pièce au lieu qu’elle ne se dissipe dans le mur froid. Attention, ces panneaux ne sont pas utiles sur des murs isolés, ils peuvent même créer des problèmes de condensation entre le mur et le panneau.\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":3,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Panneau réfléchissant\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0072\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Tuyaux bien au chaud\",\"longName\":\"J'isole les tuyaux de mon circuit de chauffage hydraulique.\",\"longDescription\":\"Isolez les circuits de distribution d'eau de chauffage et d'eau chaude sanitaire dans les locaux non chauffés ou les faux-plafonds. Vous limiterez ainsi les déperditions de chaleur et améliorerez la protection du circuit contre le gel. Cela peut réduire de 10 % la consommation. Le plus simple est d’utiliser des manchons souples en mousse ou en fibres minérales. On peut aussi utiliser des isolants à base de laine ou de chanvre\",\"impactLevel\":6,\"efficiency\":3,\"difficulty\":3,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"HYDRAULIC_HEATING\"],\"equipmentInstallation\":false,\"investment\":\"Isolant\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0073\",\"usage\":1,\"fluidTypes\":[0,2],\"shortName\":\"Le Grand Nettoyage\",\"longName\":\"Je purge mes radiateurs hydrauliques tous les ans.\",\"longDescription\":\"Lorsque les radiateurs sont froids en haut mais chauds en bas, c'est qu'ils contiennent de l'air qui diminue nettement leur rendement. Ils ont donc besoin d'être purgés : 1. Coupez l'alimentation d'eau au niveau de votre chaudière pour ne pas avoir de l'eau sous pression, fermez les vannes thermostatiques des radiateurs et prévoyez un récipient pour recueillir l'eau ; 2. Commencez par le radiateur situé au plus bas de la maison : ouvrez le purgeur dans le sens inverse des aiguilles d'une montre jusqu'à entendre un sifflement, signe que l'air s'échappe. En général, le purgeur se trouve en partie haute du radiateur, du côté opposé au robinet d'alimentation. Sur certains modèles anciens, une clé spéciale est nécessaire pour le dévisser (trouvable en quincailleries et magasins de bricolage). Attention, ne dévissez jamais la molette complètement, vous risqueriez de ne jamais réussir à la remettre en place ; 3; Quand l'eau se met à couler, refermez la molette ; 4. Resserez la vis de purge. 5 Vérifiez au manomètre de la chaudière que la pression d'eau dans l'installation est suffisante (entre 1,5 et 2 bars). Dans le cas contraire, ajoutez de l'eau.\",\"impactLevel\":5,\"efficiency\":2.5,\"difficulty\":3,\"room\":[0],\"season\":\"Sans saison\",\"equipment\":true,\"equipmentType\":[\"HYDRAULIC_HEATING\"],\"equipmentInstallation\":false,\"investment\":\"Faire appel à un pro\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0074\",\"usage\":4,\"fluidTypes\":[1],\"shortName\":\"Nitro cuvette\",\"longName\":\"J'installe une chasse d'eau à double vitesse.\",\"longDescription\":\"L'installation d'une chasse d'eau double est à la portée de tous. Si les mécanismes sont généralement standard, veillez malgré tout à vérifier avant de l'acheter les dimensions du trou du couvercle dans lequel viendra se positionner le double bouton poussoir, ainsi que la hauteur du réservoir. Reste à suivre le pas à pas suivant : Commencez par couper l'arrivée d'eau et tirez la chasse pour vider le réservoir. Dévissez le bouton de tirage existant et ôtez le couvercle du réservoir. Dévissez l'arrivée d'eau, retirez le robinet flotteur et le mécanisme de la chasse. Dévissez les vis de fixation du réservoir et retirez-le. Changez le joint entre le réservoir et la cuvette, puis revissez le réservoir. Installez le nouveau mécanisme de chasse (à partir de 20€ dans les enseignes de bricolage). Clipsez le flotteur de réglage de la petite chasse, puis le mécanisme au complet. Revissez l'arrivée d'eau. Refermez le couvercle et installez le double bouton poussoir. À défaut, il est possible de réduire le volume de la chasse d’eau grâce à une éco-plaquette ou à une bouteille d’eau pleine placée dans le réservoir. Pour garantir son bon fonctionnement, nettoyez régulièrement le mécanisme de chasse d'eau double, particulièrement si votre eau est très calcaire.\",\"impactLevel\":5,\"efficiency\":2.5,\"difficulty\":3,\"room\":[4],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Chasse d’eau à double vitesse: à faire si travaux\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0075\",\"usage\":3,\"fluidTypes\":[1],\"shortName\":\"Vague de sécheresse\",\"longName\":\"Je décide de supprimer une douche par semaine.\",\"longDescription\":\"Si on n'a pas transpiré la journée et qu'on ne sent pas mauvais, aucune obligation de se laver tous les jours. Il est même conseillé pour la flore de l'épiderme (la fameuse barrière contre certains pathogènes) de ne pas se laver tous les jours. Vous économiserez ainsi une quantité d'eau non négligeable.\",\"impactLevel\":5,\"efficiency\":2.5,\"difficulty\":3,\"room\":[1],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":true,\"investment\":null,\"action\":true,\"actionName\":\"Je décide de supprimer une douche pendant la durée du défi.\",\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0076\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Architecte d'intérieur\",\"longName\":\"Je positionne mon réfrigérateur loin d’une source de chaleur (four, cuisinière, fenêtre…).\",\"longDescription\":\"Il vaut mieux éviter de placer le réfrigérateur ou le congélateur près d’un four, d’une cuisinière ou près de l’éclairage direct d’une fenêtre. Ces derniers réchauffent les appareils de froid qui vont donc consommer plus pour rester à la bonne température. S’il n’est pas possible de faire autrement, prévoyez une plaque très isolante entre les appareils électroménagers. De même, ne chauffez pas trop la cuisine : installé dans une pièce à 23 °C, le réfrigérateur consomme 38 % de plus que dans une pièce à 18 °C ! Enfin, si vous placez votre congélateur dans un local non chauffé (garage, cave, etc.), il ne doit pas faire trop froid non plus sinon l’appareil va surchauffer à l’intérieur.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":3,\"room\":[2],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[\"REFREGIRATOR\"],\"equipmentInstallation\":true,\"investment\":null,\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false},{\"_id\":\"ECOGESTURE0077\",\"usage\":5,\"fluidTypes\":[0],\"shortName\":\"Blanc Resplendissant\",\"longName\":\"Je peins mes murs avec des couleurs claires et j'installe des luminaires blancs.\",\"longDescription\":\"Cela permet à la lumière naturelle de se répartir plus uniformément dans l’espace et de pénétrer plus profondément dans la pièce grâce aux jeux de réflexions. Cet effet des couleurs se remarque également sur la lumière artificielle : un intérieur foncé amène à doubler voire tripler l’intensité de l’éclairage.\",\"impactLevel\":2,\"efficiency\":1,\"difficulty\":3,\"room\":[3],\"season\":\"Sans saison\",\"equipment\":false,\"equipmentType\":[],\"equipmentInstallation\":false,\"investment\":\"Travaux de décoration\",\"action\":false,\"actionName\":null,\"actionDuration\":3,\"doing\":false,\"objective\":false,\"viewedInSelection\":false}]");
 
 /***/ }),
 
@@ -1768,8 +1809,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SplashRoot, "SplashRoot", "/home/gcarron/dev/ecolyo/src/components/Splash/SplashRoot.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Splash/SplashRoot.tsx");
+  reactHotLoader.register(SplashRoot, "SplashRoot", "/home/bastien/ecolyo/src/components/Splash/SplashRoot.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Splash/SplashRoot.tsx");
 })();
 
 ;
@@ -1944,8 +1985,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureFormEquipment, "EcogestureFormEquipment", "/home/gcarron/dev/ecolyo/src/components/EcogestureForm/EcogestureFormEquipment.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/EcogestureForm/EcogestureFormEquipment.tsx");
+  reactHotLoader.register(EcogestureFormEquipment, "EcogestureFormEquipment", "/home/bastien/ecolyo/src/components/EcogestureForm/EcogestureFormEquipment.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/EcogestureForm/EcogestureFormEquipment.tsx");
 })();
 
 ;
@@ -2068,8 +2109,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(AxisRight, "AxisRight", "/home/gcarron/dev/ecolyo/src/components/Charts/AxisRight.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Charts/AxisRight.tsx");
+  reactHotLoader.register(AxisRight, "AxisRight", "/home/bastien/ecolyo/src/components/Charts/AxisRight.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Charts/AxisRight.tsx");
 })();
 
 ;
@@ -2158,8 +2199,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DuelError, "DuelError", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelError.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelError.tsx");
+  reactHotLoader.register(DuelError, "DuelError", "/home/bastien/ecolyo/src/components/Duel/DuelError.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Duel/DuelError.tsx");
 })();
 
 ;
@@ -2216,24 +2257,42 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE
 
 /***/ }),
 
-/***/ "1L0a":
+/***/ "1RIw":
+/***/ (function(module, exports, __webpack_require__) {
+
+
+var content = __webpack_require__("w3LE");
+
+if(typeof content === 'string') content = [[module.i, content, '']];
+
+var transform;
+var insertInto;
+
+
+
+var options = {"hmr":true}
+
+options.transform = transform
+options.insertInto = undefined;
+
+var update = __webpack_require__("aET+")(content, options);
+
+if(content.locals) module.exports = content.locals;
+
+if(false) {}
+
+/***/ }),
+
+/***/ "1eA+":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(module) {
 
-var _interopRequireDefault = __webpack_require__("TqRt");
-
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
-exports.getClient = void 0;
-
-var _cozyClient = _interopRequireDefault(__webpack_require__("SH7X"));
-
-var _manifest = _interopRequireDefault(__webpack_require__("pZg0"));
-
-var _doctypes = _interopRequireDefault(__webpack_require__("D2hQ"));
+exports.ENEDIS_MAXPOWER_DOCTYPE = void 0;
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -2244,28 +2303,8 @@ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoader
   return a;
 };
 
-/**
- * Returns cozy client instance
- * @returns {object} cozy client instance
- */
-var getClient = function getClient() {
-  // eslint-disable-next-line @typescript-eslint/no-explicit-any
-  var root = document.querySelector('[role=application]');
-  var data = root.dataset;
-  var protocol = window.location.protocol;
-  var cozyUrl = "".concat(protocol, "//").concat(data.cozyDomain);
-  return new _cozyClient.default({
-    uri: cozyUrl,
-    token: data.cozyToken,
-    appMetadata: {
-      slug: _manifest.default.name,
-      version: _manifest.default.version
-    },
-    schema: _doctypes.default
-  });
-};
-
-exports.getClient = getClient;
+var ENEDIS_MAXPOWER_DOCTYPE = 'com.grandlyon.enedis.maxpower';
+exports.ENEDIS_MAXPOWER_DOCTYPE = ENEDIS_MAXPOWER_DOCTYPE;
 ;
 
 (function () {
@@ -2275,7 +2314,7 @@ exports.getClient = getClient;
     return;
   }
 
-  reactHotLoader.register(getClient, "getClient", "/home/gcarron/dev/ecolyo/src/utils/client.ts");
+  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
 })();
 
 ;
@@ -2288,42 +2327,136 @@ exports.getClient = getClient;
 
 /***/ }),
 
-/***/ "1RIw":
+/***/ "1ojh":
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4BeY");
+/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("IaFt");
+/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);
+
+
+var symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({
+  "id": "conso-off_b77734d53f79f4f20b25218a5d2b25e2",
+  "use": "conso-off_b77734d53f79f4f20b25218a5d2b25e2-usage",
+  "viewBox": "0 0 36 36",
+  "content": "<symbol viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" id=\"conso-off_b77734d53f79f4f20b25218a5d2b25e2\">\n<path d=\"M22.5 28.992V29.492H23H27H27.5V28.992V12C27.5 11.6022 27.342 11.2206 27.0607 10.9393C26.7794 10.658 26.3978 10.5 26 10.5H24C23.6022 10.5 23.2206 10.658 22.9393 10.9393C22.658 11.2206 22.5 11.6022 22.5 12V28.992ZM15.5 28.992V29.492H16H20H20.5V28.992V18C20.5 17.6022 20.342 17.2206 20.0607 16.9393C19.7794 16.658 19.3978 16.5 19 16.5H17C16.6022 16.5 16.2206 16.658 15.9393 16.9393C15.658 17.2206 15.5 17.6022 15.5 18V28.992ZM8.5 28.992V29.492H9H13H13.5V28.992V24C13.5 23.6022 13.342 23.2206 13.0607 22.9393C12.7794 22.658 12.3978 22.5 12 22.5H10C9.60217 22.5 9.22064 22.658 8.93934 22.9393C8.65804 23.2206 8.5 23.6022 8.5 24V28.992Z\" stroke=\"#ABABAB\" />\n</symbol>"
+});
+var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);
+/* harmony default export */ __webpack_exports__["default"] = (symbol);
+
+/***/ }),
+
+/***/ 2:
 /***/ (function(module, exports, __webpack_require__) {
 
+__webpack_require__("55Il");
+__webpack_require__("7NIr");
+module.exports = __webpack_require__("+FK5");
 
-var content = __webpack_require__("w3LE");
 
-if(typeof content === 'string') content = [[module.i, content, '']];
+/***/ }),
 
-var transform;
-var insertInto;
+/***/ "2NN1":
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
 
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4BeY");
+/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("IaFt");
+/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);
 
 
-var options = {"hmr":true}
+var symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({
+  "id": "defi-on_e4161c78f12c47e55374d214b50a862f",
+  "use": "defi-on_e4161c78f12c47e55374d214b50a862f-usage",
+  "viewBox": "0 0 36 36",
+  "content": "<symbol viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" id=\"defi-on_e4161c78f12c47e55374d214b50a862f\">\n<path d=\"M18.5 29C26.8613 25.5734 26.2114 20.7018 25.7782 13.4358C23.0922 13.3119 20.7095 12.445 18.5 11C16.2905 12.445 13.9078 13.3119 11.2218 13.4358C10.7886 20.7018 10.1387 25.5734 18.5 29Z\" fill=\"#E3B82A\" />\n</symbol>"
+});
+var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);
+/* harmony default export */ __webpack_exports__["default"] = (symbol);
 
-options.transform = transform
-options.insertInto = undefined;
+/***/ }),
 
-var update = __webpack_require__("aET+")(content, options);
+/***/ "2Yia":
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
 
-if(content.locals) module.exports = content.locals;
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4BeY");
+/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("IaFt");
+/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);
 
-if(false) {}
+
+var symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({
+  "id": "warning-yellow_ce9b1384bc5faa3cbf549022f246b461",
+  "use": "warning-yellow_ce9b1384bc5faa3cbf549022f246b461-usage",
+  "viewBox": "0 0 63 55",
+  "content": "<symbol viewBox=\"0 0 63 55\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" id=\"warning-yellow_ce9b1384bc5faa3cbf549022f246b461\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M33.3426 1.11412C32.4849 -0.37137 30.3408 -0.371375 29.4832 1.11412L0.301852 51.6576C-0.555796 53.1431 0.516259 55 2.23156 55H60.5942C62.3095 55 63.3816 53.1431 62.5239 51.6576L33.3426 1.11412ZM29.1746 32.5018V20.8405H33.5604V32.5018C33.5604 33.4617 33.505 34.4163 33.3941 35.3657C33.2832 36.3047 33.137 37.2646 32.9555 38.2453H29.7795C29.598 37.2646 29.4518 36.3047 29.3409 35.3657C29.23 34.4163 29.1746 33.4617 29.1746 32.5018ZM33.878 42.8463C34.0091 43.1698 34.0747 43.5193 34.0747 43.8949C34.0747 44.2705 34.0091 44.6252 33.878 44.9591C33.7369 45.2825 33.5504 45.5642 33.3185 45.8042C33.0765 46.0441 32.7942 46.2319 32.4715 46.3675C32.1489 46.5032 31.796 46.571 31.4129 46.571C31.0398 46.571 30.692 46.5032 30.3693 46.3675C30.0467 46.2319 29.7644 46.0441 29.5224 45.8042C29.2804 45.5642 29.0939 45.2825 28.9628 44.9591C28.8217 44.6252 28.7511 44.2705 28.7511 43.8949C28.7511 43.5193 28.8217 43.1698 28.9628 42.8463C29.0939 42.5229 29.2804 42.2412 29.5224 42.0013C29.7644 41.7613 30.0467 41.5735 30.3693 41.4379C30.692 41.2918 31.0398 41.2188 31.4129 41.2188C31.796 41.2188 32.1489 41.2918 32.4715 41.4379C32.7942 41.5735 33.0765 41.7613 33.3185 42.0013C33.5504 42.2412 33.7369 42.5229 33.878 42.8463Z\" fill=\"#E3B82A\" />\n</symbol>"
+});
+var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);
+/* harmony default export */ __webpack_exports__["default"] = (symbol);
 
 /***/ }),
 
-/***/ "1eA+":
+/***/ "2a0W":
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+__webpack_require__.r(__webpack_exports__);
+/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4BeY");
+/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);
+/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("IaFt");
+/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);
+
+
+var symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({
+  "id": "other-off_652b46ae3e16f5674c68d5ec2f18ae72",
+  "use": "other-off_652b46ae3e16f5674c68d5ec2f18ae72-usage",
+  "viewBox": "0 0 36 36",
+  "content": "<symbol viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" id=\"other-off_652b46ae3e16f5674c68d5ec2f18ae72\">\n<circle cx=\"9.5\" cy=\"18.5\" r=\"2.5\" fill=\"#808080\" />\n<circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\" fill=\"#808080\" />\n<circle cx=\"27.5\" cy=\"18.5\" r=\"2.5\" fill=\"#808080\" />\n</symbol>"
+});
+var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);
+/* harmony default export */ __webpack_exports__["default"] = (symbol);
+
+/***/ }),
+
+/***/ "2l2O":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(module) {
 
+var _interopRequireDefault = __webpack_require__("TqRt");
+
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
-exports.ENEDIS_MAXPOWER_DOCTYPE = void 0;
+exports.default = void 0;
+
+var _regenerator = _interopRequireDefault(__webpack_require__("o0o1"));
+
+var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp"));
+
+var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU"));
+
+var _objectSpread2 = _interopRequireDefault(__webpack_require__("MVZn"));
+
+var _classCallCheck2 = _interopRequireDefault(__webpack_require__("lwsE"));
+
+var _createClass2 = _interopRequireDefault(__webpack_require__("W8MJ"));
+
+var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA"));
+
+var _cozyClient = __webpack_require__("SH7X");
+
+var _doctypes = __webpack_require__("D2hQ");
+
+var _luxon = __webpack_require__("ExVU");
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -2334,8 +2467,143 @@ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoader
   return a;
 };
 
-var ENEDIS_MAXPOWER_DOCTYPE = 'com.grandlyon.enedis.maxpower';
-exports.ENEDIS_MAXPOWER_DOCTYPE = ENEDIS_MAXPOWER_DOCTYPE;
+var ProfileService = /*#__PURE__*/function () {
+  function ProfileService(_client) {
+    (0, _classCallCheck2.default)(this, ProfileService);
+    (0, _defineProperty2.default)(this, "_client", void 0);
+    this._client = _client;
+  }
+  /**
+   * Retrieve Profile from the ProfileEntity
+   * @param {ProfileEntity} profileEntity
+   * @returns {Profile}
+   */
+
+
+  (0, _createClass2.default)(ProfileService, [{
+    key: "parseProfileEntityToProfile",
+    value: function parseProfileEntityToProfile(profileEntity) {
+      var profile = (0, _objectSpread2.default)({}, profileEntity, {
+        monthlyAnalysisDate: typeof profileEntity.monthlyAnalysisDate === 'string' ? _luxon.DateTime.fromISO(profileEntity.monthlyAnalysisDate, {
+          zone: 'utc'
+        }) : profileEntity.monthlyAnalysisDate,
+        lastConnectionDate: _luxon.DateTime.fromISO(profileEntity.lastConnectionDate, {
+          zone: 'utc'
+        }),
+        partnersIssueDate: _luxon.DateTime.fromISO(profileEntity.partnersIssueDate, {
+          zone: 'utc'
+        }),
+        activateHalfHourDate: _luxon.DateTime.fromISO(profileEntity.activateHalfHourDate, {
+          zone: 'utc'
+        })
+      });
+      return profile;
+    }
+  }, {
+    key: "getProfile",
+    value: function () {
+      var _getProfile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
+        var query, _yield$this$_client$q, _yield$this$_client$q2, profile, profileEntity;
+
+        return _regenerator.default.wrap(function _callee$(_context) {
+          while (1) {
+            switch (_context.prev = _context.next) {
+              case 0:
+                query = (0, _cozyClient.Q)(_doctypes.PROFILE_DOCTYPE);
+                _context.next = 3;
+                return this._client.query(query.limitBy(1));
+
+              case 3:
+                _yield$this$_client$q = _context.sent;
+                _yield$this$_client$q2 = (0, _slicedToArray2.default)(_yield$this$_client$q.data, 1);
+                profile = _yield$this$_client$q2[0];
+                profileEntity = profile ? profile : null;
+
+                if (!profileEntity) {
+                  _context.next = 9;
+                  break;
+                }
+
+                return _context.abrupt("return", this.parseProfileEntityToProfile(profileEntity));
+
+              case 9:
+                return _context.abrupt("return", null);
+
+              case 10:
+              case "end":
+                return _context.stop();
+            }
+          }
+        }, _callee, this);
+      }));
+
+      function getProfile() {
+        return _getProfile.apply(this, arguments);
+      }
+
+      return getProfile;
+    }()
+  }, {
+    key: "updateProfile",
+    value: function () {
+      var _updateProfile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(attributes) {
+        var query, _yield$this$_client$q3, _yield$this$_client$q4, doc, _yield$this$_client$s, profileEntity;
+
+        return _regenerator.default.wrap(function _callee2$(_context2) {
+          while (1) {
+            switch (_context2.prev = _context2.next) {
+              case 0:
+                query = (0, _cozyClient.Q)(_doctypes.PROFILE_DOCTYPE);
+                _context2.next = 3;
+                return this._client.query(query.limitBy(1));
+
+              case 3:
+                _yield$this$_client$q3 = _context2.sent;
+                _yield$this$_client$q4 = (0, _slicedToArray2.default)(_yield$this$_client$q3.data, 1);
+                doc = _yield$this$_client$q4[0];
+                _context2.next = 8;
+                return this._client.save((0, _objectSpread2.default)({}, doc, attributes));
+
+              case 8:
+                _yield$this$_client$s = _context2.sent;
+                profileEntity = _yield$this$_client$s.data;
+
+                if (!profileEntity) {
+                  _context2.next = 12;
+                  break;
+                }
+
+                return _context2.abrupt("return", this.parseProfileEntityToProfile(profileEntity));
+
+              case 12:
+                return _context2.abrupt("return", null);
+
+              case 13:
+              case "end":
+                return _context2.stop();
+            }
+          }
+        }, _callee2, this);
+      }));
+
+      function updateProfile(_x) {
+        return _updateProfile.apply(this, arguments);
+      }
+
+      return updateProfile;
+    }()
+  }, {
+    key: "__reactstandin__regenerateByEval",
+    value: // @ts-ignore
+    function __reactstandin__regenerateByEval(key, code) {
+      // @ts-ignore
+      this[key] = eval(code);
+    }
+  }]);
+  return ProfileService;
+}();
+
+exports.default = ProfileService;
 ;
 
 (function () {
@@ -2345,306 +2613,7 @@ exports.ENEDIS_MAXPOWER_DOCTYPE = ENEDIS_MAXPOWER_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
-})();
-
-;
-
-(function () {
-  var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
-  leaveModule && leaveModule(module);
-})();
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("YuTi")(module)))
-
-/***/ }),
-
-/***/ "1ojh":
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4BeY");
-/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("IaFt");
-/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);
-
-
-var symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({
-  "id": "conso-off_b77734d53f79f4f20b25218a5d2b25e2",
-  "use": "conso-off_b77734d53f79f4f20b25218a5d2b25e2-usage",
-  "viewBox": "0 0 36 36",
-  "content": "<symbol viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" id=\"conso-off_b77734d53f79f4f20b25218a5d2b25e2\">\n<path d=\"M22.5 28.992V29.492H23H27H27.5V28.992V12C27.5 11.6022 27.342 11.2206 27.0607 10.9393C26.7794 10.658 26.3978 10.5 26 10.5H24C23.6022 10.5 23.2206 10.658 22.9393 10.9393C22.658 11.2206 22.5 11.6022 22.5 12V28.992ZM15.5 28.992V29.492H16H20H20.5V28.992V18C20.5 17.6022 20.342 17.2206 20.0607 16.9393C19.7794 16.658 19.3978 16.5 19 16.5H17C16.6022 16.5 16.2206 16.658 15.9393 16.9393C15.658 17.2206 15.5 17.6022 15.5 18V28.992ZM8.5 28.992V29.492H9H13H13.5V28.992V24C13.5 23.6022 13.342 23.2206 13.0607 22.9393C12.7794 22.658 12.3978 22.5 12 22.5H10C9.60217 22.5 9.22064 22.658 8.93934 22.9393C8.65804 23.2206 8.5 23.6022 8.5 24V28.992Z\" stroke=\"#ABABAB\" />\n</symbol>"
-});
-var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);
-/* harmony default export */ __webpack_exports__["default"] = (symbol);
-
-/***/ }),
-
-/***/ 2:
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__("55Il");
-__webpack_require__("7NIr");
-module.exports = __webpack_require__("+FK5");
-
-
-/***/ }),
-
-/***/ "2NN1":
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4BeY");
-/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("IaFt");
-/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);
-
-
-var symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({
-  "id": "defi-on_e4161c78f12c47e55374d214b50a862f",
-  "use": "defi-on_e4161c78f12c47e55374d214b50a862f-usage",
-  "viewBox": "0 0 36 36",
-  "content": "<symbol viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" id=\"defi-on_e4161c78f12c47e55374d214b50a862f\">\n<path d=\"M18.5 29C26.8613 25.5734 26.2114 20.7018 25.7782 13.4358C23.0922 13.3119 20.7095 12.445 18.5 11C16.2905 12.445 13.9078 13.3119 11.2218 13.4358C10.7886 20.7018 10.1387 25.5734 18.5 29Z\" fill=\"#E3B82A\" />\n</symbol>"
-});
-var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);
-/* harmony default export */ __webpack_exports__["default"] = (symbol);
-
-/***/ }),
-
-/***/ "2Yia":
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4BeY");
-/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("IaFt");
-/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);
-
-
-var symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({
-  "id": "warning-yellow_ce9b1384bc5faa3cbf549022f246b461",
-  "use": "warning-yellow_ce9b1384bc5faa3cbf549022f246b461-usage",
-  "viewBox": "0 0 63 55",
-  "content": "<symbol viewBox=\"0 0 63 55\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" id=\"warning-yellow_ce9b1384bc5faa3cbf549022f246b461\">\n<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M33.3426 1.11412C32.4849 -0.37137 30.3408 -0.371375 29.4832 1.11412L0.301852 51.6576C-0.555796 53.1431 0.516259 55 2.23156 55H60.5942C62.3095 55 63.3816 53.1431 62.5239 51.6576L33.3426 1.11412ZM29.1746 32.5018V20.8405H33.5604V32.5018C33.5604 33.4617 33.505 34.4163 33.3941 35.3657C33.2832 36.3047 33.137 37.2646 32.9555 38.2453H29.7795C29.598 37.2646 29.4518 36.3047 29.3409 35.3657C29.23 34.4163 29.1746 33.4617 29.1746 32.5018ZM33.878 42.8463C34.0091 43.1698 34.0747 43.5193 34.0747 43.8949C34.0747 44.2705 34.0091 44.6252 33.878 44.9591C33.7369 45.2825 33.5504 45.5642 33.3185 45.8042C33.0765 46.0441 32.7942 46.2319 32.4715 46.3675C32.1489 46.5032 31.796 46.571 31.4129 46.571C31.0398 46.571 30.692 46.5032 30.3693 46.3675C30.0467 46.2319 29.7644 46.0441 29.5224 45.8042C29.2804 45.5642 29.0939 45.2825 28.9628 44.9591C28.8217 44.6252 28.7511 44.2705 28.7511 43.8949C28.7511 43.5193 28.8217 43.1698 28.9628 42.8463C29.0939 42.5229 29.2804 42.2412 29.5224 42.0013C29.7644 41.7613 30.0467 41.5735 30.3693 41.4379C30.692 41.2918 31.0398 41.2188 31.4129 41.2188C31.796 41.2188 32.1489 41.2918 32.4715 41.4379C32.7942 41.5735 33.0765 41.7613 33.3185 42.0013C33.5504 42.2412 33.7369 42.5229 33.878 42.8463Z\" fill=\"#E3B82A\" />\n</symbol>"
-});
-var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);
-/* harmony default export */ __webpack_exports__["default"] = (symbol);
-
-/***/ }),
-
-/***/ "2a0W":
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-__webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4BeY");
-/* harmony import */ var _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0__);
-/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("IaFt");
-/* harmony import */ var _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1__);
-
-
-var symbol = new _node_modules_svg_baker_runtime_browser_symbol_js__WEBPACK_IMPORTED_MODULE_0___default.a({
-  "id": "other-off_652b46ae3e16f5674c68d5ec2f18ae72",
-  "use": "other-off_652b46ae3e16f5674c68d5ec2f18ae72-usage",
-  "viewBox": "0 0 36 36",
-  "content": "<symbol viewBox=\"0 0 36 36\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" id=\"other-off_652b46ae3e16f5674c68d5ec2f18ae72\">\n<circle cx=\"9.5\" cy=\"18.5\" r=\"2.5\" fill=\"#808080\" />\n<circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\" fill=\"#808080\" />\n<circle cx=\"27.5\" cy=\"18.5\" r=\"2.5\" fill=\"#808080\" />\n</symbol>"
-});
-var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WEBPACK_IMPORTED_MODULE_1___default.a.add(symbol);
-/* harmony default export */ __webpack_exports__["default"] = (symbol);
-
-/***/ }),
-
-/***/ "2l2O":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(module) {
-
-var _interopRequireDefault = __webpack_require__("TqRt");
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.default = void 0;
-
-var _regenerator = _interopRequireDefault(__webpack_require__("o0o1"));
-
-var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp"));
-
-var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU"));
-
-var _objectSpread2 = _interopRequireDefault(__webpack_require__("MVZn"));
-
-var _classCallCheck2 = _interopRequireDefault(__webpack_require__("lwsE"));
-
-var _createClass2 = _interopRequireDefault(__webpack_require__("W8MJ"));
-
-var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA"));
-
-var _cozyClient = __webpack_require__("SH7X");
-
-var _doctypes = __webpack_require__("D2hQ");
-
-var _luxon = __webpack_require__("ExVU");
-
-(function () {
-  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
-  enterModule && enterModule(module);
-})();
-
-var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
-  return a;
-};
-
-var ProfileService = /*#__PURE__*/function () {
-  function ProfileService(_client) {
-    (0, _classCallCheck2.default)(this, ProfileService);
-    (0, _defineProperty2.default)(this, "_client", void 0);
-    this._client = _client;
-  }
-  /**
-   * Retrieve Profile from the ProfileEntity
-   * @param {ProfileEntity} profileEntity
-   * @returns {Profile}
-   */
-
-
-  (0, _createClass2.default)(ProfileService, [{
-    key: "parseProfileEntityToProfile",
-    value: function parseProfileEntityToProfile(profileEntity) {
-      var profile = (0, _objectSpread2.default)({}, profileEntity, {
-        monthlyAnalysisDate: typeof profileEntity.monthlyAnalysisDate === 'string' ? _luxon.DateTime.fromISO(profileEntity.monthlyAnalysisDate, {
-          zone: 'utc'
-        }) : profileEntity.monthlyAnalysisDate,
-        lastConnectionDate: _luxon.DateTime.fromISO(profileEntity.lastConnectionDate, {
-          zone: 'utc'
-        }),
-        partnersIssueDate: _luxon.DateTime.fromISO(profileEntity.partnersIssueDate, {
-          zone: 'utc'
-        }),
-        activateHalfHourDate: _luxon.DateTime.fromISO(profileEntity.activateHalfHourDate, {
-          zone: 'utc'
-        })
-      });
-      return profile;
-    }
-  }, {
-    key: "getProfile",
-    value: function () {
-      var _getProfile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
-        var query, _yield$this$_client$q, _yield$this$_client$q2, profile, profileEntity;
-
-        return _regenerator.default.wrap(function _callee$(_context) {
-          while (1) {
-            switch (_context.prev = _context.next) {
-              case 0:
-                query = (0, _cozyClient.Q)(_doctypes.PROFILE_DOCTYPE);
-                _context.next = 3;
-                return this._client.query(query.limitBy(1));
-
-              case 3:
-                _yield$this$_client$q = _context.sent;
-                _yield$this$_client$q2 = (0, _slicedToArray2.default)(_yield$this$_client$q.data, 1);
-                profile = _yield$this$_client$q2[0];
-                profileEntity = profile ? profile : null;
-
-                if (!profileEntity) {
-                  _context.next = 9;
-                  break;
-                }
-
-                return _context.abrupt("return", this.parseProfileEntityToProfile(profileEntity));
-
-              case 9:
-                return _context.abrupt("return", null);
-
-              case 10:
-              case "end":
-                return _context.stop();
-            }
-          }
-        }, _callee, this);
-      }));
-
-      function getProfile() {
-        return _getProfile.apply(this, arguments);
-      }
-
-      return getProfile;
-    }()
-  }, {
-    key: "updateProfile",
-    value: function () {
-      var _updateProfile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(attributes) {
-        var query, _yield$this$_client$q3, _yield$this$_client$q4, doc, _yield$this$_client$s, profileEntity;
-
-        return _regenerator.default.wrap(function _callee2$(_context2) {
-          while (1) {
-            switch (_context2.prev = _context2.next) {
-              case 0:
-                query = (0, _cozyClient.Q)(_doctypes.PROFILE_DOCTYPE);
-                _context2.next = 3;
-                return this._client.query(query.limitBy(1));
-
-              case 3:
-                _yield$this$_client$q3 = _context2.sent;
-                _yield$this$_client$q4 = (0, _slicedToArray2.default)(_yield$this$_client$q3.data, 1);
-                doc = _yield$this$_client$q4[0];
-                _context2.next = 8;
-                return this._client.save((0, _objectSpread2.default)({}, doc, attributes));
-
-              case 8:
-                _yield$this$_client$s = _context2.sent;
-                profileEntity = _yield$this$_client$s.data;
-
-                if (!profileEntity) {
-                  _context2.next = 12;
-                  break;
-                }
-
-                return _context2.abrupt("return", this.parseProfileEntityToProfile(profileEntity));
-
-              case 12:
-                return _context2.abrupt("return", null);
-
-              case 13:
-              case "end":
-                return _context2.stop();
-            }
-          }
-        }, _callee2, this);
-      }));
-
-      function updateProfile(_x) {
-        return _updateProfile.apply(this, arguments);
-      }
-
-      return updateProfile;
-    }()
-  }, {
-    key: "__reactstandin__regenerateByEval",
-    value: // @ts-ignore
-    function __reactstandin__regenerateByEval(key, code) {
-      // @ts-ignore
-      this[key] = eval(code);
-    }
-  }]);
-  return ProfileService;
-}();
-
-exports.default = ProfileService;
-;
-
-(function () {
-  var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
-
-  if (!reactHotLoader) {
-    return;
-  }
-
-  reactHotLoader.register(ProfileService, "ProfileService", "/home/gcarron/dev/ecolyo/src/services/profile.service.ts");
+  reactHotLoader.register(ProfileService, "ProfileService", "/home/bastien/ecolyo/src/services/profile.service.ts");
 })();
 
 ;
@@ -2902,8 +2871,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ChallengeView, "ChallengeView", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeView.tsx");
+  reactHotLoader.register(ChallengeView, "ChallengeView", "/home/bastien/ecolyo/src/components/Challenge/ChallengeView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Challenge/ChallengeView.tsx");
 })();
 
 ;
@@ -3174,8 +3143,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ActionView, "ActionView", "/home/gcarron/dev/ecolyo/src/components/Action/ActionView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Action/ActionView.tsx");
+  reactHotLoader.register(ActionView, "ActionView", "/home/bastien/ecolyo/src/components/Action/ActionView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Action/ActionView.tsx");
 })();
 
 ;
@@ -3280,8 +3249,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureSelectionModal, "EcogestureSelectionModal", "/home/gcarron/dev/ecolyo/src/components/EcogestureSelection/EcogestureSelectionModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/EcogestureSelection/EcogestureSelectionModal.tsx");
+  reactHotLoader.register(EcogestureSelectionModal, "EcogestureSelectionModal", "/home/bastien/ecolyo/src/components/EcogestureSelection/EcogestureSelectionModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/EcogestureSelection/EcogestureSelectionModal.tsx");
 })();
 
 ;
@@ -3386,7 +3355,7 @@ exports.default = MailService;
     return;
   }
 
-  reactHotLoader.register(MailService, "MailService", "/home/gcarron/dev/ecolyo/src/services/mail.service.ts");
+  reactHotLoader.register(MailService, "MailService", "/home/bastien/ecolyo/src/services/mail.service.ts");
 })();
 
 ;
@@ -3519,8 +3488,8 @@ exports.chartReducer = chartReducer;
     return;
   }
 
-  reactHotLoader.register(initialState, "initialState", "/home/gcarron/dev/ecolyo/src/store/chart/chart.reducer.ts");
-  reactHotLoader.register(chartReducer, "chartReducer", "/home/gcarron/dev/ecolyo/src/store/chart/chart.reducer.ts");
+  reactHotLoader.register(initialState, "initialState", "/home/bastien/ecolyo/src/store/chart/chart.reducer.ts");
+  reactHotLoader.register(chartReducer, "chartReducer", "/home/bastien/ecolyo/src/store/chart/chart.reducer.ts");
 })();
 
 ;
@@ -3655,8 +3624,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureFormSingleChoice, "EcogestureFormSingleChoice", "/home/gcarron/dev/ecolyo/src/components/EcogestureForm/EcogestureFormSingleChoice.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/EcogestureForm/EcogestureFormSingleChoice.tsx");
+  reactHotLoader.register(EcogestureFormSingleChoice, "EcogestureFormSingleChoice", "/home/bastien/ecolyo/src/components/EcogestureForm/EcogestureFormSingleChoice.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/EcogestureForm/EcogestureFormSingleChoice.tsx");
 })();
 
 ;
@@ -3820,8 +3789,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ActionOnGoing, "ActionOnGoing", "/home/gcarron/dev/ecolyo/src/components/Action/ActionOnGoing.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Action/ActionOnGoing.tsx");
+  reactHotLoader.register(ActionOnGoing, "ActionOnGoing", "/home/bastien/ecolyo/src/components/Action/ActionOnGoing.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Action/ActionOnGoing.tsx");
 })();
 
 ;
@@ -4075,7 +4044,7 @@ exports.default = ProfileEcogestureService;
     return;
   }
 
-  reactHotLoader.register(ProfileEcogestureService, "ProfileEcogestureService", "/home/gcarron/dev/ecolyo/src/services/profileEcogesture.service.ts");
+  reactHotLoader.register(ProfileEcogestureService, "ProfileEcogestureService", "/home/bastien/ecolyo/src/services/profileEcogesture.service.ts");
 })();
 
 ;
@@ -4194,9 +4163,7 @@ var PartnersInfoService = /*#__PURE__*/function () {
               case 9:
                 _context.prev = 9;
                 _context.t0 = _context["catch"](2);
-
-                this._setinitStepError(_initialisationSteps.InitStepsErrors.PARTNERS_ERROR);
-
+                this._setinitStepError && this._setinitStepError(_initialisationSteps.InitStepsErrors.PARTNERS_ERROR);
                 console.error(_context.t0);
                 throw new Error("Failed to get partners' info");
 
@@ -4235,7 +4202,7 @@ exports.default = PartnersInfoService;
     return;
   }
 
-  reactHotLoader.register(PartnersInfoService, "PartnersInfoService", "/home/gcarron/dev/ecolyo/src/services/partnersInfo.service.ts");
+  reactHotLoader.register(PartnersInfoService, "PartnersInfoService", "/home/bastien/ecolyo/src/services/partnersInfo.service.ts");
 })();
 
 ;
@@ -4548,8 +4515,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ActionBegin, "ActionBegin", "/home/gcarron/dev/ecolyo/src/components/Action/ActionBegin.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Action/ActionBegin.tsx");
+  reactHotLoader.register(ActionBegin, "ActionBegin", "/home/bastien/ecolyo/src/components/Action/ActionBegin.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Action/ActionBegin.tsx");
 })();
 
 ;
@@ -5083,7 +5050,7 @@ exports.default = ActionService;
     return;
   }
 
-  reactHotLoader.register(ActionService, "ActionService", "/home/gcarron/dev/ecolyo/src/services/action.service.ts");
+  reactHotLoader.register(ActionService, "ActionService", "/home/bastien/ecolyo/src/services/action.service.ts");
 })();
 
 ;
@@ -5387,8 +5354,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DuelOngoing, "DuelOngoing", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelOngoing.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelOngoing.tsx");
+  reactHotLoader.register(DuelOngoing, "DuelOngoing", "/home/bastien/ecolyo/src/components/Duel/DuelOngoing.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Duel/DuelOngoing.tsx");
 })();
 
 ;
@@ -5630,11 +5597,11 @@ function getPartnerPicto(slug) {
     return;
   }
 
-  reactHotLoader.register(getPicto, "getPicto", "/home/gcarron/dev/ecolyo/src/utils/picto.ts");
-  reactHotLoader.register(getAddPicto, "getAddPicto", "/home/gcarron/dev/ecolyo/src/utils/picto.ts");
-  reactHotLoader.register(getParamPicto, "getParamPicto", "/home/gcarron/dev/ecolyo/src/utils/picto.ts");
-  reactHotLoader.register(getNavPicto, "getNavPicto", "/home/gcarron/dev/ecolyo/src/utils/picto.ts");
-  reactHotLoader.register(getPartnerPicto, "getPartnerPicto", "/home/gcarron/dev/ecolyo/src/utils/picto.ts");
+  reactHotLoader.register(getPicto, "getPicto", "/home/bastien/ecolyo/src/utils/picto.ts");
+  reactHotLoader.register(getAddPicto, "getAddPicto", "/home/bastien/ecolyo/src/utils/picto.ts");
+  reactHotLoader.register(getParamPicto, "getParamPicto", "/home/bastien/ecolyo/src/utils/picto.ts");
+  reactHotLoader.register(getNavPicto, "getNavPicto", "/home/bastien/ecolyo/src/utils/picto.ts");
+  reactHotLoader.register(getPartnerPicto, "getPartnerPicto", "/home/bastien/ecolyo/src/utils/picto.ts");
 })();
 
 ;
@@ -5660,8 +5627,12 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.migrations = exports.SCHEMA_INITIAL_VERSION = exports.MIGRATION_RESULT_NOOP = exports.MIGRATION_RESULT_FAILED = exports.MIGRATION_RESULT_COMPLETE = void 0;
 
+var _regenerator = _interopRequireDefault(__webpack_require__("o0o1"));
+
 var _objectSpread2 = _interopRequireDefault(__webpack_require__("MVZn"));
 
+var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU"));
+
 var _doctypes = __webpack_require__("D2hQ");
 
 var _userQuiz = __webpack_require__("Ush/");
@@ -5677,57 +5648,76 @@ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoader
   return a;
 };
 
-const SCHEMA_INITIAL_VERSION = 0;
+var SCHEMA_INITIAL_VERSION = 0;
 exports.SCHEMA_INITIAL_VERSION = SCHEMA_INITIAL_VERSION;
-const MIGRATION_RESULT_NOOP = 'MigrationNoop';
+var MIGRATION_RESULT_NOOP = 'MigrationNoop';
 exports.MIGRATION_RESULT_NOOP = MIGRATION_RESULT_NOOP;
-const MIGRATION_RESULT_COMPLETE = 'MigrationComplete';
+var MIGRATION_RESULT_COMPLETE = 'MigrationComplete';
 exports.MIGRATION_RESULT_COMPLETE = MIGRATION_RESULT_COMPLETE;
-const MIGRATION_RESULT_FAILED = 'MigrationFailed';
+var MIGRATION_RESULT_FAILED = 'MigrationFailed';
 exports.MIGRATION_RESULT_FAILED = MIGRATION_RESULT_FAILED;
-const migrations = [{
+var migrations = [{
   baseSchemaVersion: SCHEMA_INITIAL_VERSION,
   targetSchemaVersion: 1,
   appVersion: '1.3.0',
   description: 'Removes old profileType artifacts from users database : \n - Oldest profileType is deleted \n - Removes insulation work form fields that were prone to errors \n - Changes area and outsideFacingWalls form field to strings \n - Changes updateDate values of all existing profileType to match "created_at" entry (former updateDate values got corrupted and hold no meanings).',
   releaseNotes: null,
   docTypes: _doctypes.PROFILETYPE_DOCTYPE,
-  run: async (_client, docs) => {
-    docs.sort(function (a, b) {
-      const c = _luxon.DateTime.fromISO(a.cozyMetadata.createdAt, {
-        zone: 'utc'
-      });
+  run: function () {
+    var _run = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_client, docs) {
+      return _regenerator.default.wrap(function _callee$(_context) {
+        while (1) {
+          switch (_context.prev = _context.next) {
+            case 0:
+              docs.sort(function (a, b) {
+                var c = _luxon.DateTime.fromISO(a.cozyMetadata.createdAt, {
+                  zone: 'utc'
+                });
 
-      const d = _luxon.DateTime.fromISO(b.cozyMetadata.createdAt, {
-        zone: 'utc'
-      });
+                var d = _luxon.DateTime.fromISO(b.cozyMetadata.createdAt, {
+                  zone: 'utc'
+                });
 
-      return d.millisecond - c.millisecond;
-    });
+                return d.millisecond - c.millisecond;
+              });
 
-    if (docs[0].area === 100) {
-      docs[0].deleteAction = true;
-    }
+              if (docs[0].area === 100) {
+                docs[0].deleteAction = true;
+              }
 
-    return docs.map(doc => {
-      if (doc.individualInsulationWork.includes('window_replacement_and_wall_insulation')) {
-        doc.individualInsulationWork = ['window_replacement', 'wall_insulation'];
-      }
+              return _context.abrupt("return", docs.map(function (doc) {
+                if (doc.individualInsulationWork.includes('window_replacement_and_wall_insulation')) {
+                  doc.individualInsulationWork = ['window_replacement', 'wall_insulation'];
+                }
 
-      if (doc.individualInsulationWork.includes('window_replacement_and_roof_insulation')) {
-        doc.individualInsulationWork = ['window_replacement', 'roof_insulation'];
-      }
+                if (doc.individualInsulationWork.includes('window_replacement_and_roof_insulation')) {
+                  doc.individualInsulationWork = ['window_replacement', 'roof_insulation'];
+                }
 
-      if (doc.individualInsulationWork.includes('window_replacement_and_roof_and_wall_insulation')) {
-        doc.individualInsulationWork = ['window_replacement', 'roof_insulation', 'wall_insulation'];
-      }
+                if (doc.individualInsulationWork.includes('window_replacement_and_roof_and_wall_insulation')) {
+                  doc.individualInsulationWork = ['window_replacement', 'roof_insulation', 'wall_insulation'];
+                }
 
-      doc.outsideFacingWalls = doc.outsideFacingWalls.toString();
-      doc.area = doc.area.toString();
-      doc.updateDate = doc.cozyMetadata.createdAt;
-      return doc;
-    });
-  }
+                doc.outsideFacingWalls = doc.outsideFacingWalls.toString();
+                doc.area = doc.area.toString();
+                doc.updateDate = doc.cozyMetadata.createdAt;
+                return doc;
+              }));
+
+            case 3:
+            case "end":
+              return _context.stop();
+          }
+        }
+      }, _callee);
+    }));
+
+    function run(_x, _x2) {
+      return _run.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 1,
   targetSchemaVersion: 2,
@@ -5735,19 +5725,38 @@ const migrations = [{
   description: 'Removes old profileType and GCUApprovalDate from profile.',
   docTypes: _doctypes.PROFILE_DOCTYPE,
   releaseNotes: null,
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      if (doc.GCUApprovalDate) {
-        delete doc.GCUApprovalDate;
-      }
+  run: function () {
+    var _run2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(_client, docs) {
+      return _regenerator.default.wrap(function _callee2$(_context2) {
+        while (1) {
+          switch (_context2.prev = _context2.next) {
+            case 0:
+              return _context2.abrupt("return", docs.map(function (doc) {
+                if (doc.GCUApprovalDate) {
+                  delete doc.GCUApprovalDate;
+                }
 
-      if (doc.profileType) {
-        delete doc.profileType;
-      }
+                if (doc.profileType) {
+                  delete doc.profileType;
+                }
 
-      return doc;
-    });
-  }
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context2.stop();
+          }
+        }
+      }, _callee2);
+    }));
+
+    function run(_x3, _x4) {
+      return _run2.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 2,
   targetSchemaVersion: 3,
@@ -5755,21 +5764,40 @@ const migrations = [{
   description: 'Updates userChallenges to make sure no quiz results are overflowing.',
   releaseNotes: null,
   docTypes: _doctypes.USERCHALLENGE_DOCTYPE,
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      if (doc.quiz.result > 5) {
-        doc.quiz.result = 5;
-        doc.progress = {
-          actionProgress: 5,
-          explorationProgress: 5,
-          quizProgress: 5
-        };
-        doc.quiz.state = _userQuiz.UserQuizState.DONE;
-      }
+  run: function () {
+    var _run3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(_client, docs) {
+      return _regenerator.default.wrap(function _callee3$(_context3) {
+        while (1) {
+          switch (_context3.prev = _context3.next) {
+            case 0:
+              return _context3.abrupt("return", docs.map(function (doc) {
+                if (doc.quiz.result > 5) {
+                  doc.quiz.result = 5;
+                  doc.progress = {
+                    actionProgress: 5,
+                    explorationProgress: 5,
+                    quizProgress: 5
+                  };
+                  doc.quiz.state = _userQuiz.UserQuizState.DONE;
+                }
 
-      return doc;
-    });
-  }
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context3.stop();
+          }
+        }
+      }, _callee3);
+    }));
+
+    function run(_x5, _x6) {
+      return _run3.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 3,
   targetSchemaVersion: 4,
@@ -5785,12 +5813,31 @@ const migrations = [{
     tag: 'day',
     limit: 120
   },
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      doc.deleteAction = true;
-      return doc;
-    });
-  }
+  run: function () {
+    var _run4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(_client, docs) {
+      return _regenerator.default.wrap(function _callee4$(_context4) {
+        while (1) {
+          switch (_context4.prev = _context4.next) {
+            case 0:
+              return _context4.abrupt("return", docs.map(function (doc) {
+                doc.deleteAction = true;
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context4.stop();
+          }
+        }
+      }, _callee4);
+    }));
+
+    function run(_x7, _x8) {
+      return _run4.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 4,
   targetSchemaVersion: 5,
@@ -5803,12 +5850,31 @@ const migrations = [{
     tag: 'month',
     limit: 4
   },
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      doc.deleteAction = true;
-      return doc;
-    });
-  }
+  run: function () {
+    var _run5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(_client, docs) {
+      return _regenerator.default.wrap(function _callee5$(_context5) {
+        while (1) {
+          switch (_context5.prev = _context5.next) {
+            case 0:
+              return _context5.abrupt("return", docs.map(function (doc) {
+                doc.deleteAction = true;
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context5.stop();
+          }
+        }
+      }, _callee5);
+    }));
+
+    function run(_x9, _x10) {
+      return _run5.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 5,
   targetSchemaVersion: 6,
@@ -5821,12 +5887,31 @@ const migrations = [{
     tag: 'year',
     limit: 1
   },
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      doc.deleteAction = true;
-      return doc;
-    });
-  }
+  run: function () {
+    var _run6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(_client, docs) {
+      return _regenerator.default.wrap(function _callee6$(_context6) {
+        while (1) {
+          switch (_context6.prev = _context6.next) {
+            case 0:
+              return _context6.abrupt("return", docs.map(function (doc) {
+                doc.deleteAction = true;
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context6.stop();
+          }
+        }
+      }, _callee6);
+    }));
+
+    function run(_x11, _x12) {
+      return _run6.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 6,
   targetSchemaVersion: 7,
@@ -5834,27 +5919,46 @@ const migrations = [{
   description: 'Corrects individual insulation work field on profileType.',
   releaseNotes: null,
   docTypes: _doctypes.PROFILETYPE_DOCTYPE,
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      if (!Array.isArray(doc.individualInsulationWork)) {
-        doc.individualInsulationWork = [doc.individualInsulationWork];
-      }
+  run: function () {
+    var _run7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7(_client, docs) {
+      return _regenerator.default.wrap(function _callee7$(_context7) {
+        while (1) {
+          switch (_context7.prev = _context7.next) {
+            case 0:
+              return _context7.abrupt("return", docs.map(function (doc) {
+                if (!Array.isArray(doc.individualInsulationWork)) {
+                  doc.individualInsulationWork = [doc.individualInsulationWork];
+                }
 
-      if (doc.individualInsulationWork.includes('window_replacement_and_wall_insulation')) {
-        doc.individualInsulationWork = ['window_replacement', 'wall_insulation'];
-      }
+                if (doc.individualInsulationWork.includes('window_replacement_and_wall_insulation')) {
+                  doc.individualInsulationWork = ['window_replacement', 'wall_insulation'];
+                }
 
-      if (doc.individualInsulationWork.includes('window_replacement_and_roof_insulation')) {
-        doc.individualInsulationWork = ['window_replacement', 'roof_insulation'];
-      }
+                if (doc.individualInsulationWork.includes('window_replacement_and_roof_insulation')) {
+                  doc.individualInsulationWork = ['window_replacement', 'roof_insulation'];
+                }
 
-      if (doc.individualInsulationWork.includes('window_replacement_and_roof_and_wall_insulation')) {
-        doc.individualInsulationWork = ['window_replacement', 'roof_insulation', 'wall_insulation'];
-      }
+                if (doc.individualInsulationWork.includes('window_replacement_and_roof_and_wall_insulation')) {
+                  doc.individualInsulationWork = ['window_replacement', 'roof_insulation', 'wall_insulation'];
+                }
 
-      return doc;
-    });
-  }
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context7.stop();
+          }
+        }
+      }, _callee7);
+    }));
+
+    function run(_x13, _x14) {
+      return _run7.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 7,
   targetSchemaVersion: 8,
@@ -5862,29 +5966,48 @@ const migrations = [{
   description: 'ProfileTypes start now at the begining of the month, no duplications can exist over the same month.',
   releaseNotes: null,
   docTypes: _doctypes.PROFILETYPE_DOCTYPE,
-  run: async (_client, docs) => {
-    function checkDate(d1, d2) {
-      const dtd1 = _luxon.DateTime.fromISO(d1);
+  run: function () {
+    var _run8 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(_client, docs) {
+      var checkDate, i, dtStartOfMonth;
+      return _regenerator.default.wrap(function _callee8$(_context8) {
+        while (1) {
+          switch (_context8.prev = _context8.next) {
+            case 0:
+              checkDate = function _checkDate(d1, d2) {
+                var dtd1 = _luxon.DateTime.fromISO(d1);
 
-      const dtd2 = _luxon.DateTime.fromISO(d2);
+                var dtd2 = _luxon.DateTime.fromISO(d2);
 
-      return dtd1.year === dtd2.year && dtd1.month === dtd2.month;
-    }
+                return dtd1.year === dtd2.year && dtd1.month === dtd2.month;
+              };
 
-    for (let i = 0; i < docs.length; i++) {
-      const dtStartOfMonth = _luxon.DateTime.fromISO(docs[i].updateDate);
+              for (i = 0; i < docs.length; i++) {
+                dtStartOfMonth = _luxon.DateTime.fromISO(docs[i].updateDate);
+                docs[i].updateDate = dtStartOfMonth.setZone('utc', {
+                  keepLocalTime: true
+                }).startOf('month');
 
-      docs[i].updateDate = dtStartOfMonth.setZone('utc', {
-        keepLocalTime: true
-      }).startOf('month');
+                if (docs[i + 1] && checkDate(docs[i].updateDate, docs[i + 1].updateDate)) {
+                  docs[i].deleteAction = true;
+                }
+              }
 
-      if (docs[i + 1] && checkDate(docs[i].updateDate, docs[i + 1].updateDate)) {
-        docs[i].deleteAction = true;
-      }
+              return _context8.abrupt("return", docs);
+
+            case 3:
+            case "end":
+              return _context8.stop();
+          }
+        }
+      }, _callee8);
+    }));
+
+    function run(_x15, _x16) {
+      return _run8.apply(this, arguments);
     }
 
-    return docs;
-  }
+    return run;
+  }()
 }, {
   baseSchemaVersion: 8,
   targetSchemaVersion: 9,
@@ -5894,9 +6017,28 @@ const migrations = [{
   docTypes: _doctypes.FLUIDPRICES_DOCTYPE,
   isCreate: true,
   isDeprecated: true,
-  run: async (_client, docs) => {
-    return [];
-  }
+  run: function () {
+    var _run9 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(_client, docs) {
+      return _regenerator.default.wrap(function _callee9$(_context9) {
+        while (1) {
+          switch (_context9.prev = _context9.next) {
+            case 0:
+              return _context9.abrupt("return", []);
+
+            case 1:
+            case "end":
+              return _context9.stop();
+          }
+        }
+      }, _callee9);
+    }));
+
+    function run(_x17, _x18) {
+      return _run9.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 9,
   targetSchemaVersion: 10,
@@ -5904,14 +6046,33 @@ const migrations = [{
   description: "Profil now contains partnersIssueDate in order to handle partners' issue display",
   releaseNotes: null,
   docTypes: _doctypes.PROFILE_DOCTYPE,
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      doc.partnersIssueDate = _luxon.DateTime.local().minus({
-        day: 1
-      }).startOf('day');
-      return doc;
-    });
-  }
+  run: function () {
+    var _run10 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(_client, docs) {
+      return _regenerator.default.wrap(function _callee10$(_context10) {
+        while (1) {
+          switch (_context10.prev = _context10.next) {
+            case 0:
+              return _context10.abrupt("return", docs.map(function (doc) {
+                doc.partnersIssueDate = _luxon.DateTime.local().minus({
+                  day: 1
+                }).startOf('day');
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context10.stop();
+          }
+        }
+      }, _callee10);
+    }));
+
+    function run(_x19, _x20) {
+      return _run10.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 10,
   targetSchemaVersion: 11,
@@ -5919,20 +6080,39 @@ const migrations = [{
   description: 'Rename tutorial to onboaring in ecolyo profile, remove isLastTermAccepted',
   releaseNotes: null,
   docTypes: _doctypes.PROFILE_DOCTYPE,
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      if (doc.tutorial) {
-        doc.onboarding = (0, _objectSpread2.default)({}, doc.tutorial);
-        delete doc.tutorial;
-      }
+  run: function () {
+    var _run11 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(_client, docs) {
+      return _regenerator.default.wrap(function _callee11$(_context11) {
+        while (1) {
+          switch (_context11.prev = _context11.next) {
+            case 0:
+              return _context11.abrupt("return", docs.map(function (doc) {
+                if (doc.tutorial) {
+                  doc.onboarding = (0, _objectSpread2.default)({}, doc.tutorial);
+                  delete doc.tutorial;
+                }
 
-      if (typeof doc.isLastTermAccepted != 'undefined') {
-        delete doc.isLastTermAccepted;
-      }
+                if (typeof doc.isLastTermAccepted != 'undefined') {
+                  delete doc.isLastTermAccepted;
+                }
 
-      return doc;
-    });
-  }
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context11.stop();
+          }
+        }
+      }, _callee11);
+    }));
+
+    function run(_x21, _x22) {
+      return _run11.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 11,
   targetSchemaVersion: 12,
@@ -5945,29 +6125,49 @@ const migrations = [{
     tag: 'day',
     limit: 1000
   },
-  run: async (_client, docs) => {
-    let prevData = {
-      id: '',
-      day: 0,
-      hour: 0,
-      load: 0,
-      minute: 0,
-      month: 0,
-      year: 0
-    };
-    return docs.map(doc => {
-      if (prevData.day === doc.day && prevData.month === doc.month && prevData.year === doc.year) {
-        doc.deleteAction = true;
-      }
+  run: function () {
+    var _run12 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(_client, docs) {
+      var prevData;
+      return _regenerator.default.wrap(function _callee12$(_context12) {
+        while (1) {
+          switch (_context12.prev = _context12.next) {
+            case 0:
+              prevData = {
+                id: '',
+                day: 0,
+                hour: 0,
+                load: 0,
+                minute: 0,
+                month: 0,
+                year: 0
+              };
+              return _context12.abrupt("return", docs.map(function (doc) {
+                if (prevData.day === doc.day && prevData.month === doc.month && prevData.year === doc.year) {
+                  doc.deleteAction = true;
+                }
 
-      if (doc.price) {
-        delete doc.price;
-      }
+                if (doc.price) {
+                  delete doc.price;
+                }
 
-      prevData = doc;
-      return doc;
-    });
-  }
+                prevData = doc;
+                return doc;
+              }));
+
+            case 2:
+            case "end":
+              return _context12.stop();
+          }
+        }
+      }, _callee12);
+    }));
+
+    function run(_x23, _x24) {
+      return _run12.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 12,
   targetSchemaVersion: 13,
@@ -5980,29 +6180,49 @@ const migrations = [{
     tag: 'day',
     limit: 1000
   },
-  run: async (_client, docs) => {
-    let prevData = {
-      id: '',
-      day: 0,
-      hour: 0,
-      load: 0,
-      minute: 0,
-      month: 0,
-      year: 0
-    };
-    return docs.map(doc => {
-      if (prevData.day === doc.day && prevData.month === doc.month && prevData.year === doc.year) {
-        doc.deleteAction = true;
-      }
+  run: function () {
+    var _run13 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13(_client, docs) {
+      var prevData;
+      return _regenerator.default.wrap(function _callee13$(_context13) {
+        while (1) {
+          switch (_context13.prev = _context13.next) {
+            case 0:
+              prevData = {
+                id: '',
+                day: 0,
+                hour: 0,
+                load: 0,
+                minute: 0,
+                month: 0,
+                year: 0
+              };
+              return _context13.abrupt("return", docs.map(function (doc) {
+                if (prevData.day === doc.day && prevData.month === doc.month && prevData.year === doc.year) {
+                  doc.deleteAction = true;
+                }
 
-      if (doc.price) {
-        delete doc.price;
-      }
+                if (doc.price) {
+                  delete doc.price;
+                }
 
-      prevData = doc;
-      return doc;
-    });
-  }
+                prevData = doc;
+                return doc;
+              }));
+
+            case 2:
+            case "end":
+              return _context13.stop();
+          }
+        }
+      }, _callee13);
+    }));
+
+    function run(_x25, _x26) {
+      return _run13.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 13,
   targetSchemaVersion: 14,
@@ -6015,15 +6235,34 @@ const migrations = [{
     tag: 'month',
     limit: 17
   },
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      if (doc.price) {
-        delete doc.price;
-      }
+  run: function () {
+    var _run14 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14(_client, docs) {
+      return _regenerator.default.wrap(function _callee14$(_context14) {
+        while (1) {
+          switch (_context14.prev = _context14.next) {
+            case 0:
+              return _context14.abrupt("return", docs.map(function (doc) {
+                if (doc.price) {
+                  delete doc.price;
+                }
 
-      return doc;
-    });
-  }
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context14.stop();
+          }
+        }
+      }, _callee14);
+    }));
+
+    function run(_x27, _x28) {
+      return _run14.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 14,
   targetSchemaVersion: 15,
@@ -6036,15 +6275,34 @@ const migrations = [{
     tag: 'year',
     limit: 3
   },
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      if (doc.price) {
-        delete doc.price;
-      }
+  run: function () {
+    var _run15 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15(_client, docs) {
+      return _regenerator.default.wrap(function _callee15$(_context15) {
+        while (1) {
+          switch (_context15.prev = _context15.next) {
+            case 0:
+              return _context15.abrupt("return", docs.map(function (doc) {
+                if (doc.price) {
+                  delete doc.price;
+                }
 
-      return doc;
-    });
-  }
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context15.stop();
+          }
+        }
+      }, _callee15);
+    }));
+
+    function run(_x29, _x30) {
+      return _run15.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 15,
   targetSchemaVersion: 16,
@@ -6057,15 +6315,34 @@ const migrations = [{
     tag: 'month',
     limit: 17
   },
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      if (doc.price) {
-        delete doc.price;
-      }
+  run: function () {
+    var _run16 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(_client, docs) {
+      return _regenerator.default.wrap(function _callee16$(_context16) {
+        while (1) {
+          switch (_context16.prev = _context16.next) {
+            case 0:
+              return _context16.abrupt("return", docs.map(function (doc) {
+                if (doc.price) {
+                  delete doc.price;
+                }
 
-      return doc;
-    });
-  }
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context16.stop();
+          }
+        }
+      }, _callee16);
+    }));
+
+    function run(_x31, _x32) {
+      return _run16.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 16,
   targetSchemaVersion: 17,
@@ -6078,15 +6355,34 @@ const migrations = [{
     tag: 'year',
     limit: 3
   },
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      if (doc.price) {
-        delete doc.price;
-      }
+  run: function () {
+    var _run17 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17(_client, docs) {
+      return _regenerator.default.wrap(function _callee17$(_context17) {
+        while (1) {
+          switch (_context17.prev = _context17.next) {
+            case 0:
+              return _context17.abrupt("return", docs.map(function (doc) {
+                if (doc.price) {
+                  delete doc.price;
+                }
 
-      return doc;
-    });
-  }
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context17.stop();
+          }
+        }
+      }, _callee17);
+    }));
+
+    function run(_x33, _x34) {
+      return _run17.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 17,
   targetSchemaVersion: 18,
@@ -6095,9 +6391,28 @@ const migrations = [{
   releaseNotes: null,
   docTypes: _doctypes.FLUIDPRICES_DOCTYPE,
   isDeprecated: true,
-  run: async (_client, docs) => {
-    return [];
-  }
+  run: function () {
+    var _run18 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee18(_client, docs) {
+      return _regenerator.default.wrap(function _callee18$(_context18) {
+        while (1) {
+          switch (_context18.prev = _context18.next) {
+            case 0:
+              return _context18.abrupt("return", []);
+
+            case 1:
+            case "end":
+              return _context18.stop();
+          }
+        }
+      }, _callee18);
+    }));
+
+    function run(_x35, _x36) {
+      return _run18.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 18,
   targetSchemaVersion: 19,
@@ -6105,21 +6420,40 @@ const migrations = [{
   description: 'Replace old minCons with the new calculation',
   releaseNotes: null,
   docTypes: _doctypes.ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE,
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      if (doc.minLoad) {
-        const numberofDaysInMonth = _luxon.DateTime.fromObject({
-          month: doc.month,
-          year: doc.year
-        }).daysInMonth;
-
-        doc.minimumLoad = doc.minLoad * 48 * numberofDaysInMonth;
-        delete doc.minLoad;
-      }
+  run: function () {
+    var _run19 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee19(_client, docs) {
+      return _regenerator.default.wrap(function _callee19$(_context19) {
+        while (1) {
+          switch (_context19.prev = _context19.next) {
+            case 0:
+              return _context19.abrupt("return", docs.map(function (doc) {
+                if (doc.minLoad) {
+                  var numberofDaysInMonth = _luxon.DateTime.fromObject({
+                    month: doc.month,
+                    year: doc.year
+                  }).daysInMonth;
+
+                  doc.minimumLoad = doc.minLoad * 48 * numberofDaysInMonth;
+                  delete doc.minLoad;
+                }
 
-      return doc;
-    });
-  }
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context19.stop();
+          }
+        }
+      }, _callee19);
+    }));
+
+    function run(_x37, _x38) {
+      return _run19.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }, {
   baseSchemaVersion: 19,
   targetSchemaVersion: 20,
@@ -6127,12 +6461,31 @@ const migrations = [{
   description: 'Empty fluidPrices db so it can be fetched with right format from remote doctype',
   releaseNotes: null,
   docTypes: _doctypes.FLUIDPRICES_DOCTYPE,
-  run: async (_client, docs) => {
-    return docs.map(doc => {
-      doc.deleteAction = true;
-      return doc;
-    });
-  }
+  run: function () {
+    var _run20 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee20(_client, docs) {
+      return _regenerator.default.wrap(function _callee20$(_context20) {
+        while (1) {
+          switch (_context20.prev = _context20.next) {
+            case 0:
+              return _context20.abrupt("return", docs.map(function (doc) {
+                doc.deleteAction = true;
+                return doc;
+              }));
+
+            case 1:
+            case "end":
+              return _context20.stop();
+          }
+        }
+      }, _callee20);
+    }));
+
+    function run(_x39, _x40) {
+      return _run20.apply(this, arguments);
+    }
+
+    return run;
+  }()
 }];
 exports.migrations = migrations;
 ;
@@ -6144,11 +6497,11 @@ exports.migrations = migrations;
     return;
   }
 
-  reactHotLoader.register(SCHEMA_INITIAL_VERSION, "SCHEMA_INITIAL_VERSION", "/home/gcarron/dev/ecolyo/src/migrations/migration.data.ts");
-  reactHotLoader.register(MIGRATION_RESULT_NOOP, "MIGRATION_RESULT_NOOP", "/home/gcarron/dev/ecolyo/src/migrations/migration.data.ts");
-  reactHotLoader.register(MIGRATION_RESULT_COMPLETE, "MIGRATION_RESULT_COMPLETE", "/home/gcarron/dev/ecolyo/src/migrations/migration.data.ts");
-  reactHotLoader.register(MIGRATION_RESULT_FAILED, "MIGRATION_RESULT_FAILED", "/home/gcarron/dev/ecolyo/src/migrations/migration.data.ts");
-  reactHotLoader.register(migrations, "migrations", "/home/gcarron/dev/ecolyo/src/migrations/migration.data.ts");
+  reactHotLoader.register(SCHEMA_INITIAL_VERSION, "SCHEMA_INITIAL_VERSION", "/home/bastien/ecolyo/src/migrations/migration.data.ts");
+  reactHotLoader.register(MIGRATION_RESULT_NOOP, "MIGRATION_RESULT_NOOP", "/home/bastien/ecolyo/src/migrations/migration.data.ts");
+  reactHotLoader.register(MIGRATION_RESULT_COMPLETE, "MIGRATION_RESULT_COMPLETE", "/home/bastien/ecolyo/src/migrations/migration.data.ts");
+  reactHotLoader.register(MIGRATION_RESULT_FAILED, "MIGRATION_RESULT_FAILED", "/home/bastien/ecolyo/src/migrations/migration.data.ts");
+  reactHotLoader.register(migrations, "migrations", "/home/bastien/ecolyo/src/migrations/migration.data.ts");
 })();
 
 ;
@@ -6389,9 +6742,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(loadingOptions, "loadingOptions", "/home/gcarron/dev/ecolyo/src/components/Splash/SplashScreenError.tsx");
-  reactHotLoader.register(SplashScreenError, "SplashScreenError", "/home/gcarron/dev/ecolyo/src/components/Splash/SplashScreenError.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Splash/SplashScreenError.tsx");
+  reactHotLoader.register(loadingOptions, "loadingOptions", "/home/bastien/ecolyo/src/components/Splash/SplashScreenError.tsx");
+  reactHotLoader.register(SplashScreenError, "SplashScreenError", "/home/bastien/ecolyo/src/components/Splash/SplashScreenError.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Splash/SplashScreenError.tsx");
 })();
 
 ;
@@ -6665,7 +7018,7 @@ exports.default = TriggerService;
     return;
   }
 
-  reactHotLoader.register(TriggerService, "TriggerService", "/home/gcarron/dev/ecolyo/src/services/triggers.service.ts");
+  reactHotLoader.register(TriggerService, "TriggerService", "/home/bastien/ecolyo/src/services/triggers.service.ts");
 })();
 
 ;
@@ -6872,8 +7225,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DuelView, "DuelView", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelView.tsx");
+  reactHotLoader.register(DuelView, "DuelView", "/home/bastien/ecolyo/src/components/Duel/DuelView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Duel/DuelView.tsx");
 })();
 
 ;
@@ -6961,7 +7314,7 @@ exports.KONNECTORS_DOCTYPE = KONNECTORS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-konnectors.ts");
+  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-konnectors.ts");
 })();
 
 ;
@@ -7147,7 +7500,7 @@ exports.default = PerformanceIndicatorService;
     return;
   }
 
-  reactHotLoader.register(PerformanceIndicatorService, "PerformanceIndicatorService", "/home/gcarron/dev/ecolyo/src/services/performanceIndicator.service.ts");
+  reactHotLoader.register(PerformanceIndicatorService, "PerformanceIndicatorService", "/home/bastien/ecolyo/src/services/performanceIndicator.service.ts");
 })();
 
 ;
@@ -7213,9 +7566,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SpinnerBase, "SpinnerBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledBlackSpinner.tsx");
-  reactHotLoader.register(StyledBlackSpinner, "StyledBlackSpinner", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledBlackSpinner.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledBlackSpinner.tsx");
+  reactHotLoader.register(SpinnerBase, "SpinnerBase", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledBlackSpinner.tsx");
+  reactHotLoader.register(StyledBlackSpinner, "StyledBlackSpinner", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledBlackSpinner.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledBlackSpinner.tsx");
 })();
 
 ;
@@ -8416,7 +8769,7 @@ exports.default = ConsumptionDataManager;
     return;
   }
 
-  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/gcarron/dev/ecolyo/src/services/consumption.service.ts");
+  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/bastien/ecolyo/src/services/consumption.service.ts");
 })();
 
 ;
@@ -8574,9 +8927,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ecolyoReducer, "ecolyoReducer", "/home/gcarron/dev/ecolyo/src/store/index.ts");
-  reactHotLoader.register(configureStore, "configureStore", "/home/gcarron/dev/ecolyo/src/store/index.ts");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/store/index.ts");
+  reactHotLoader.register(ecolyoReducer, "ecolyoReducer", "/home/bastien/ecolyo/src/store/index.ts");
+  reactHotLoader.register(configureStore, "configureStore", "/home/bastien/ecolyo/src/store/index.ts");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/store/index.ts");
 })();
 
 ;
@@ -8630,7 +8983,7 @@ function hashFile(file) {
     return;
   }
 
-  reactHotLoader.register(hashFile, "hashFile", "/home/gcarron/dev/ecolyo/src/utils/hash.ts");
+  reactHotLoader.register(hashFile, "hashFile", "/home/bastien/ecolyo/src/utils/hash.ts");
 })();
 
 ;
@@ -8764,8 +9117,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(CozyBar, "CozyBar", "/home/gcarron/dev/ecolyo/src/components/Header/CozyBar.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Header/CozyBar.tsx");
+  reactHotLoader.register(CozyBar, "CozyBar", "/home/bastien/ecolyo/src/components/Header/CozyBar.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Header/CozyBar.tsx");
 })();
 
 ;
@@ -8874,8 +9227,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DuelChart, "DuelChart", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelChart.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelChart.tsx");
+  reactHotLoader.register(DuelChart, "DuelChart", "/home/bastien/ecolyo/src/components/Duel/DuelChart.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Duel/DuelChart.tsx");
 })();
 
 ;
@@ -9883,7 +10236,7 @@ exports.default = QuizService;
     return;
   }
 
-  reactHotLoader.register(QuizService, "QuizService", "/home/gcarron/dev/ecolyo/src/services/quiz.service.ts");
+  reactHotLoader.register(QuizService, "QuizService", "/home/bastien/ecolyo/src/services/quiz.service.ts");
 })();
 
 ;
@@ -10525,8 +10878,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(doctypes, "doctypes", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(doctypes, "doctypes", "/home/bastien/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/doctypes/index.ts");
 })();
 
 ;
@@ -10808,7 +11161,7 @@ exports.ENEDIS_DAY_DOCTYPE = ENEDIS_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
+  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
 })();
 
 ;
@@ -10852,7 +11205,7 @@ exports.FLUIDPRICES_DOCTYPE = FLUIDPRICES_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
+  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
 })();
 
 ;
@@ -10954,8 +11307,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureSelectionEnd, "EcogestureSelectionEnd", "/home/gcarron/dev/ecolyo/src/components/EcogestureSelection/EcogestureSelectionEnd.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/EcogestureSelection/EcogestureSelectionEnd.tsx");
+  reactHotLoader.register(EcogestureSelectionEnd, "EcogestureSelectionEnd", "/home/bastien/ecolyo/src/components/EcogestureSelection/EcogestureSelectionEnd.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/EcogestureSelection/EcogestureSelectionEnd.tsx");
 })();
 
 ;
@@ -11057,11 +11410,11 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(IconButtonBase, "IconButtonBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/IconButton/StyledIconBorderedButton.tsx");
-  reactHotLoader.register(SelectedIconButtonBase, "SelectedIconButtonBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/IconButton/StyledIconBorderedButton.tsx");
-  reactHotLoader.register(UnselectedIconButtonBase, "UnselectedIconButtonBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/IconButton/StyledIconBorderedButton.tsx");
-  reactHotLoader.register(StyledIconBorderedButton, "StyledIconBorderedButton", "/home/gcarron/dev/ecolyo/src/components/CommonKit/IconButton/StyledIconBorderedButton.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/IconButton/StyledIconBorderedButton.tsx");
+  reactHotLoader.register(IconButtonBase, "IconButtonBase", "/home/bastien/ecolyo/src/components/CommonKit/IconButton/StyledIconBorderedButton.tsx");
+  reactHotLoader.register(SelectedIconButtonBase, "SelectedIconButtonBase", "/home/bastien/ecolyo/src/components/CommonKit/IconButton/StyledIconBorderedButton.tsx");
+  reactHotLoader.register(UnselectedIconButtonBase, "UnselectedIconButtonBase", "/home/bastien/ecolyo/src/components/CommonKit/IconButton/StyledIconBorderedButton.tsx");
+  reactHotLoader.register(StyledIconBorderedButton, "StyledIconBorderedButton", "/home/bastien/ecolyo/src/components/CommonKit/IconButton/StyledIconBorderedButton.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/IconButton/StyledIconBorderedButton.tsx");
 })();
 
 ;
@@ -11229,8 +11582,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(QuizQuestion, "QuizQuestion", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizQuestion.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizQuestion.tsx");
+  reactHotLoader.register(QuizQuestion, "QuizQuestion", "/home/bastien/ecolyo/src/components/Quiz/QuizQuestion.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Quiz/QuizQuestion.tsx");
 })();
 
 ;
@@ -11296,7 +11649,7 @@ exports.GRDF_DAY_DOCTYPE = GRDF_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
+  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
 })();
 
 ;
@@ -11442,8 +11795,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(LegalNoticeModal, "LegalNoticeModal", "/home/gcarron/dev/ecolyo/src/components/Terms/LegalNoticeModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Terms/LegalNoticeModal.tsx");
+  reactHotLoader.register(LegalNoticeModal, "LegalNoticeModal", "/home/bastien/ecolyo/src/components/Terms/LegalNoticeModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Terms/LegalNoticeModal.tsx");
 })();
 
 ;
@@ -11604,9 +11957,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(loadingOptions, "loadingOptions", "/home/gcarron/dev/ecolyo/src/components/Splash/SplashScreen.tsx");
-  reactHotLoader.register(SplashScreen, "SplashScreen", "/home/gcarron/dev/ecolyo/src/components/Splash/SplashScreen.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Splash/SplashScreen.tsx");
+  reactHotLoader.register(loadingOptions, "loadingOptions", "/home/bastien/ecolyo/src/components/Splash/SplashScreen.tsx");
+  reactHotLoader.register(SplashScreen, "SplashScreen", "/home/bastien/ecolyo/src/components/Splash/SplashScreen.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Splash/SplashScreen.tsx");
 })();
 
 ;
@@ -11809,8 +12162,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ChallengeCardDone, "ChallengeCardDone", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeCardDone.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeCardDone.tsx");
+  reactHotLoader.register(ChallengeCardDone, "ChallengeCardDone", "/home/bastien/ecolyo/src/components/Challenge/ChallengeCardDone.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Challenge/ChallengeCardDone.tsx");
 })();
 
 ;
@@ -12095,8 +12448,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(MinorUpdateContent, "MinorUpdateContent", "/home/gcarron/dev/ecolyo/src/components/Terms/MinorUpdateContent.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Terms/MinorUpdateContent.tsx");
+  reactHotLoader.register(MinorUpdateContent, "MinorUpdateContent", "/home/bastien/ecolyo/src/components/Terms/MinorUpdateContent.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Terms/MinorUpdateContent.tsx");
 })();
 
 ;
@@ -12565,8 +12918,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ChallengeCardOnGoing, "ChallengeCardOnGoing", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeCardOnGoing.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeCardOnGoing.tsx");
+  reactHotLoader.register(ChallengeCardOnGoing, "ChallengeCardOnGoing", "/home/bastien/ecolyo/src/components/Challenge/ChallengeCardOnGoing.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Challenge/ChallengeCardOnGoing.tsx");
 })();
 
 ;
@@ -12841,12 +13194,12 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SpinnerBase, "SpinnerBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
-  reactHotLoader.register(SpinnerElec, "SpinnerElec", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
-  reactHotLoader.register(SpinnerWater, "SpinnerWater", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
-  reactHotLoader.register(SpinnerGas, "SpinnerGas", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
-  reactHotLoader.register(StyledSpinner, "StyledSpinner", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
+  reactHotLoader.register(SpinnerBase, "SpinnerBase", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
+  reactHotLoader.register(SpinnerElec, "SpinnerElec", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
+  reactHotLoader.register(SpinnerWater, "SpinnerWater", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
+  reactHotLoader.register(SpinnerGas, "SpinnerGas", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
+  reactHotLoader.register(StyledSpinner, "StyledSpinner", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledSpinner.tsx");
 })();
 
 ;
@@ -12943,8 +13296,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(StyledIcon, "StyledIcon", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Icon/StyledIcon.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Icon/StyledIcon.tsx");
+  reactHotLoader.register(StyledIcon, "StyledIcon", "/home/bastien/ecolyo/src/components/CommonKit/Icon/StyledIcon.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/Icon/StyledIcon.tsx");
 })();
 
 ;
@@ -13144,8 +13497,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(UnSubscribe, "UnSubscribe", "/home/gcarron/dev/ecolyo/src/components/Options/UnSubscribe.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Options/UnSubscribe.tsx");
+  reactHotLoader.register(UnSubscribe, "UnSubscribe", "/home/bastien/ecolyo/src/components/Options/UnSubscribe.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Options/UnSubscribe.tsx");
 })();
 
 ;
@@ -13428,8 +13781,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(TermsView, "TermsView", "/home/gcarron/dev/ecolyo/src/components/Terms/TermsView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Terms/TermsView.tsx");
+  reactHotLoader.register(TermsView, "TermsView", "/home/bastien/ecolyo/src/components/Terms/TermsView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Terms/TermsView.tsx");
 })();
 
 ;
@@ -13544,7 +13897,7 @@ exports.default = ConfigService;
     return;
   }
 
-  reactHotLoader.register(ConfigService, "ConfigService", "/home/gcarron/dev/ecolyo/src/services/fluidConfig.service.ts");
+  reactHotLoader.register(ConfigService, "ConfigService", "/home/bastien/ecolyo/src/services/fluidConfig.service.ts");
 })();
 
 ;
@@ -13588,7 +13941,7 @@ exports.EGL_DAY_DOCTYPE = EGL_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
+  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
 })();
 
 ;
@@ -13699,8 +14052,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DataShareConsentContent, "DataShareConsentContent", "/home/gcarron/dev/ecolyo/src/components/Terms/DataShareConsentContent.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Terms/DataShareConsentContent.tsx");
+  reactHotLoader.register(DataShareConsentContent, "DataShareConsentContent", "/home/bastien/ecolyo/src/components/Terms/DataShareConsentContent.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Terms/DataShareConsentContent.tsx");
 })();
 
 ;
@@ -13908,8 +14261,8 @@ exports.profileEcogestureReducer = profileEcogestureReducer;
     return;
   }
 
-  reactHotLoader.register(initialState, "initialState", "/home/gcarron/dev/ecolyo/src/store/profileEcogesture/profileEcogesture.reducer.ts");
-  reactHotLoader.register(profileEcogestureReducer, "profileEcogestureReducer", "/home/gcarron/dev/ecolyo/src/store/profileEcogesture/profileEcogesture.reducer.ts");
+  reactHotLoader.register(initialState, "initialState", "/home/bastien/ecolyo/src/store/profileEcogesture/profileEcogesture.reducer.ts");
+  reactHotLoader.register(profileEcogestureReducer, "profileEcogestureReducer", "/home/bastien/ecolyo/src/store/profileEcogesture/profileEcogesture.reducer.ts");
 })();
 
 ;
@@ -14061,7 +14414,7 @@ exports.default = ConverterService;
     return;
   }
 
-  reactHotLoader.register(ConverterService, "ConverterService", "/home/gcarron/dev/ecolyo/src/services/converter.service.ts");
+  reactHotLoader.register(ConverterService, "ConverterService", "/home/bastien/ecolyo/src/services/converter.service.ts");
 })();
 
 ;
@@ -14422,8 +14775,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureSelection, "EcogestureSelection", "/home/gcarron/dev/ecolyo/src/components/EcogestureSelection/EcogestureSelection.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/EcogestureSelection/EcogestureSelection.tsx");
+  reactHotLoader.register(EcogestureSelection, "EcogestureSelection", "/home/bastien/ecolyo/src/components/EcogestureSelection/EcogestureSelection.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/EcogestureSelection/EcogestureSelection.tsx");
 })();
 
 ;
@@ -14495,7 +14848,7 @@ exports.USERCHALLENGE_DOCTYPE = USERCHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
+  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
 })();
 
 ;
@@ -14609,7 +14962,7 @@ exports.QUIZ_DOCTYPE = QUIZ_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
+  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
 })();
 
 ;
@@ -14896,8 +15249,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EquipmentIcon, "EquipmentIcon", "/home/gcarron/dev/ecolyo/src/components/EcogestureForm/EquipmentIcon.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/EcogestureForm/EquipmentIcon.tsx");
+  reactHotLoader.register(EquipmentIcon, "EquipmentIcon", "/home/bastien/ecolyo/src/components/EcogestureForm/EquipmentIcon.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/EcogestureForm/EquipmentIcon.tsx");
 })();
 
 ;
@@ -15091,8 +15444,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(userInstanceSettings, "userInstanceSettings", "/home/gcarron/dev/ecolyo/src/components/Hooks/userInstanceSettings.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Hooks/userInstanceSettings.tsx");
+  reactHotLoader.register(userInstanceSettings, "userInstanceSettings", "/home/bastien/ecolyo/src/components/Hooks/userInstanceSettings.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Hooks/userInstanceSettings.tsx");
 })();
 
 ;
@@ -15346,8 +15699,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ExplorationError, "ExplorationError", "/home/gcarron/dev/ecolyo/src/components/Exploration/ExplorationError.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Exploration/ExplorationError.tsx");
+  reactHotLoader.register(ExplorationError, "ExplorationError", "/home/bastien/ecolyo/src/components/Exploration/ExplorationError.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Exploration/ExplorationError.tsx");
 })();
 
 ;
@@ -15439,7 +15792,7 @@ exports.GRDF_MONTH_DOCTYPE = GRDF_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
+  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
 })();
 
 ;
@@ -15606,7 +15959,7 @@ exports.default = ProfileEcogestureFormService;
     return;
   }
 
-  reactHotLoader.register(ProfileEcogestureFormService, "ProfileEcogestureFormService", "/home/gcarron/dev/ecolyo/src/services/profileEcogestureForm.service.ts");
+  reactHotLoader.register(ProfileEcogestureFormService, "ProfileEcogestureFormService", "/home/bastien/ecolyo/src/services/profileEcogestureForm.service.ts");
 })();
 
 ;
@@ -15695,8 +16048,8 @@ exports.profileReducer = profileReducer;
     return;
   }
 
-  reactHotLoader.register(initialState, "initialState", "/home/gcarron/dev/ecolyo/src/store/profile/profile.reducer.ts");
-  reactHotLoader.register(profileReducer, "profileReducer", "/home/gcarron/dev/ecolyo/src/store/profile/profile.reducer.ts");
+  reactHotLoader.register(initialState, "initialState", "/home/bastien/ecolyo/src/store/profile/profile.reducer.ts");
+  reactHotLoader.register(profileReducer, "profileReducer", "/home/bastien/ecolyo/src/store/profile/profile.reducer.ts");
 })();
 
 ;
@@ -15858,8 +16211,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(LegalNoticeContent, "LegalNoticeContent", "/home/gcarron/dev/ecolyo/src/components/LegalNotice/LegalNoticeContent.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/LegalNotice/LegalNoticeContent.tsx");
+  reactHotLoader.register(LegalNoticeContent, "LegalNoticeContent", "/home/bastien/ecolyo/src/components/LegalNotice/LegalNoticeContent.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/LegalNotice/LegalNoticeContent.tsx");
 })();
 
 ;
@@ -16083,8 +16436,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(QuizQuestionContent, "QuizQuestionContent", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizQuestionContent.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizQuestionContent.tsx");
+  reactHotLoader.register(QuizQuestionContent, "QuizQuestionContent", "/home/bastien/ecolyo/src/components/Quiz/QuizQuestionContent.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Quiz/QuizQuestionContent.tsx");
 })();
 
 ;
@@ -16272,8 +16625,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(QuizFinish, "QuizFinish", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizFinish.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizFinish.tsx");
+  reactHotLoader.register(QuizFinish, "QuizFinish", "/home/bastien/ecolyo/src/components/Quiz/QuizFinish.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Quiz/QuizFinish.tsx");
 })();
 
 ;
@@ -16989,7 +17342,7 @@ exports.default = QueryRunner;
     return;
   }
 
-  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/gcarron/dev/ecolyo/src/services/queryRunner.service.ts");
+  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/bastien/ecolyo/src/services/queryRunner.service.ts");
 })();
 
 ;
@@ -17055,7 +17408,7 @@ exports.DUEL_DOCTYPE = DUEL_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
+  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
 })();
 
 ;
@@ -17180,7 +17533,7 @@ exports.TERMS_DOCTYPE = TERMS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-terms.ts");
+  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-terms.ts");
 })();
 
 ;
@@ -17285,8 +17638,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureLaunchFormModal, "EcogestureLaunchFormModal", "/home/gcarron/dev/ecolyo/src/components/EcogestureForm/EcogestureLaunchFormModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/EcogestureForm/EcogestureLaunchFormModal.tsx");
+  reactHotLoader.register(EcogestureLaunchFormModal, "EcogestureLaunchFormModal", "/home/bastien/ecolyo/src/components/EcogestureForm/EcogestureLaunchFormModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/EcogestureForm/EcogestureLaunchFormModal.tsx");
 })();
 
 ;
@@ -17699,8 +18052,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DuelUnlocked, "DuelUnlocked", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelUnlocked.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelUnlocked.tsx");
+  reactHotLoader.register(DuelUnlocked, "DuelUnlocked", "/home/bastien/ecolyo/src/components/Duel/DuelUnlocked.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Duel/DuelUnlocked.tsx");
 })();
 
 ;
@@ -17870,8 +18223,8 @@ exports.challengeReducer = challengeReducer;
     return;
   }
 
-  reactHotLoader.register(initialState, "initialState", "/home/gcarron/dev/ecolyo/src/store/challenge/challenge.reducer.ts");
-  reactHotLoader.register(challengeReducer, "challengeReducer", "/home/gcarron/dev/ecolyo/src/store/challenge/challenge.reducer.ts");
+  reactHotLoader.register(initialState, "initialState", "/home/bastien/ecolyo/src/store/challenge/challenge.reducer.ts");
+  reactHotLoader.register(challengeReducer, "challengeReducer", "/home/bastien/ecolyo/src/store/challenge/challenge.reducer.ts");
 })();
 
 ;
@@ -18060,8 +18413,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(WelcomeModal, "WelcomeModal", "/home/gcarron/dev/ecolyo/src/components/Onboarding/WelcomeModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Onboarding/WelcomeModal.tsx");
+  reactHotLoader.register(WelcomeModal, "WelcomeModal", "/home/bastien/ecolyo/src/components/Onboarding/WelcomeModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Onboarding/WelcomeModal.tsx");
 })();
 
 ;
@@ -18221,11 +18574,11 @@ function newProfileTypeEntry(upd) {
     return;
   }
 
-  reactHotLoader.register(UPDATE_PROFILETYPE, "UPDATE_PROFILETYPE", "/home/gcarron/dev/ecolyo/src/store/profileType/profileType.actions.ts");
-  reactHotLoader.register(CREATE_NEW_PROFILETYPE, "CREATE_NEW_PROFILETYPE", "/home/gcarron/dev/ecolyo/src/store/profileType/profileType.actions.ts");
-  reactHotLoader.register(updateProfileTypeSuccess, "updateProfileTypeSuccess", "/home/gcarron/dev/ecolyo/src/store/profileType/profileType.actions.ts");
-  reactHotLoader.register(updateProfileType, "updateProfileType", "/home/gcarron/dev/ecolyo/src/store/profileType/profileType.actions.ts");
-  reactHotLoader.register(newProfileTypeEntry, "newProfileTypeEntry", "/home/gcarron/dev/ecolyo/src/store/profileType/profileType.actions.ts");
+  reactHotLoader.register(UPDATE_PROFILETYPE, "UPDATE_PROFILETYPE", "/home/bastien/ecolyo/src/store/profileType/profileType.actions.ts");
+  reactHotLoader.register(CREATE_NEW_PROFILETYPE, "CREATE_NEW_PROFILETYPE", "/home/bastien/ecolyo/src/store/profileType/profileType.actions.ts");
+  reactHotLoader.register(updateProfileTypeSuccess, "updateProfileTypeSuccess", "/home/bastien/ecolyo/src/store/profileType/profileType.actions.ts");
+  reactHotLoader.register(updateProfileType, "updateProfileType", "/home/bastien/ecolyo/src/store/profileType/profileType.actions.ts");
+  reactHotLoader.register(newProfileTypeEntry, "newProfileTypeEntry", "/home/bastien/ecolyo/src/store/profileType/profileType.actions.ts");
 })();
 
 ;
@@ -18455,7 +18808,7 @@ exports.default = KonnectorStatusService;
     return;
   }
 
-  reactHotLoader.register(KonnectorStatusService, "KonnectorStatusService", "/home/gcarron/dev/ecolyo/src/services/konnectorStatus.service.ts");
+  reactHotLoader.register(KonnectorStatusService, "KonnectorStatusService", "/home/bastien/ecolyo/src/services/konnectorStatus.service.ts");
 })();
 
 ;
@@ -18867,7 +19220,7 @@ exports.default = DateChartService;
     return;
   }
 
-  reactHotLoader.register(DateChartService, "DateChartService", "/home/gcarron/dev/ecolyo/src/services/dateChart.service.ts");
+  reactHotLoader.register(DateChartService, "DateChartService", "/home/bastien/ecolyo/src/services/dateChart.service.ts");
 })();
 
 ;
@@ -18992,18 +19345,18 @@ function setLoading(isLoading) {
     return;
   }
 
-  reactHotLoader.register(SET_CURRENT_TIMESTEP, "SET_CURRENT_TIMESTEP", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
-  reactHotLoader.register(SET_SELECTED_DATE, "SET_SELECTED_DATE", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
-  reactHotLoader.register(SET_CURRENT_INDEX, "SET_CURRENT_INDEX", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
-  reactHotLoader.register(SET_CURRENT_DATACHART, "SET_CURRENT_DATACHART", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
-  reactHotLoader.register(SET_CURRENT_DATACHART_INDEX, "SET_CURRENT_DATACHART_INDEX", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
-  reactHotLoader.register(SET_LOADING, "SET_LOADING", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
-  reactHotLoader.register(setSelectedDate, "setSelectedDate", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
-  reactHotLoader.register(setCurrentTimeStep, "setCurrentTimeStep", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
-  reactHotLoader.register(setCurrentIndex, "setCurrentIndex", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
-  reactHotLoader.register(setCurrentDatachart, "setCurrentDatachart", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
-  reactHotLoader.register(setCurrentDatachartIndex, "setCurrentDatachartIndex", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
-  reactHotLoader.register(setLoading, "setLoading", "/home/gcarron/dev/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(SET_CURRENT_TIMESTEP, "SET_CURRENT_TIMESTEP", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(SET_SELECTED_DATE, "SET_SELECTED_DATE", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(SET_CURRENT_INDEX, "SET_CURRENT_INDEX", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(SET_CURRENT_DATACHART, "SET_CURRENT_DATACHART", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(SET_CURRENT_DATACHART_INDEX, "SET_CURRENT_DATACHART_INDEX", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(SET_LOADING, "SET_LOADING", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(setSelectedDate, "setSelectedDate", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(setCurrentTimeStep, "setCurrentTimeStep", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(setCurrentIndex, "setCurrentIndex", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(setCurrentDatachart, "setCurrentDatachart", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(setCurrentDatachartIndex, "setCurrentDatachartIndex", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
+  reactHotLoader.register(setLoading, "setLoading", "/home/bastien/ecolyo/src/store/chart/chart.actions.ts");
 })();
 
 ;
@@ -19250,8 +19603,8 @@ exports.profileTypeReducer = profileTypeReducer;
     return;
   }
 
-  reactHotLoader.register(initialState, "initialState", "/home/gcarron/dev/ecolyo/src/store/profileType/profileType.reducer.ts");
-  reactHotLoader.register(profileTypeReducer, "profileTypeReducer", "/home/gcarron/dev/ecolyo/src/store/profileType/profileType.reducer.ts");
+  reactHotLoader.register(initialState, "initialState", "/home/bastien/ecolyo/src/store/profileType/profileType.reducer.ts");
+  reactHotLoader.register(profileTypeReducer, "profileTypeReducer", "/home/bastien/ecolyo/src/store/profileType/profileType.reducer.ts");
 })();
 
 ;
@@ -19526,8 +19879,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(QuizView, "QuizView", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizView.tsx");
+  reactHotLoader.register(QuizView, "QuizView", "/home/bastien/ecolyo/src/components/Quiz/QuizView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Quiz/QuizView.tsx");
 })();
 
 ;
@@ -19612,8 +19965,6 @@ var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
 __webpack_require__("Tg1I");
 
-var _App = __webpack_require__("w0Hc");
-
 var _reactRedux = __webpack_require__("/MKj");
 
 var _global = __webpack_require__("c4IZ");
@@ -19624,6 +19975,8 @@ var _screen = __webpack_require__("41Xj");
 
 var _FeedbackModal = _interopRequireDefault(__webpack_require__("ak4Y"));
 
+var _reactRouterDom = __webpack_require__("55Ip");
+
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
   enterModule && enterModule(module);
@@ -19644,6 +19997,7 @@ var Content = function Content(_ref) {
       _ref$background = _ref.background,
       background = _ref$background === void 0 ? 'inherit' : _ref$background;
   var dispatch = (0, _reactRedux.useDispatch)();
+  var history = (0, _reactRouterDom.useHistory)();
 
   var _useSelector = (0, _reactRedux.useSelector)(function (state) {
     return state.ecolyo.global;
@@ -19666,20 +20020,18 @@ var Content = function Content(_ref) {
    * Handle Desktop scroll
    */
 
-  var handleWindowScroll = function handleWindowScroll() {
+  var handleWindowScroll = (0, _react.useCallback)(function () {
     app && app.scrollTo(0, 0);
     window.scrollTo(0, 0);
-  }; // Set listners for scroll
-
+  }, [app]); // Set listners for scroll
 
   (0, _react.useEffect)(function () {
-    var listner = _App.history.listen(handleWindowScroll);
-
+    var listner = history.listen(handleWindowScroll);
     return function () {
       // remove listner subscription
       listner();
     };
-  }, []);
+  }, [handleWindowScroll, history]);
   (0, _react.useEffect)(function () {
     function handleResize() {
       if (innerWidth <= 768) {
@@ -19711,8 +20063,8 @@ var Content = function Content(_ref) {
   }, children));
 };
 
-__signature__(Content, "useDispatch{dispatch}\nuseSelector{{ screenType }}\nuseSelector{{ isFeedbacksOpen }}\nuseCallback{handleFeedbackModalClose}\nuseEffect{}\nuseEffect{}", function () {
-  return [_reactRedux.useDispatch, _reactRedux.useSelector, _reactRedux.useSelector];
+__signature__(Content, "useDispatch{dispatch}\nuseHistory{history}\nuseSelector{{ screenType }}\nuseSelector{{ isFeedbacksOpen }}\nuseCallback{handleFeedbackModalClose}\nuseCallback{handleWindowScroll}\nuseEffect{}\nuseEffect{}", function () {
+  return [_reactRedux.useDispatch, _reactRouterDom.useHistory, _reactRedux.useSelector, _reactRedux.useSelector];
 });
 
 var _default = Content;
@@ -19727,8 +20079,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(Content, "Content", "/home/gcarron/dev/ecolyo/src/components/Content/Content.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Content/Content.tsx");
+  reactHotLoader.register(Content, "Content", "/home/bastien/ecolyo/src/components/Content/Content.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Content/Content.tsx");
 })();
 
 ;
@@ -19807,8 +20159,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ChallengeCardLocked, "ChallengeCardLocked", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeCardLocked.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeCardLocked.tsx");
+  reactHotLoader.register(ChallengeCardLocked, "ChallengeCardLocked", "/home/bastien/ecolyo/src/components/Challenge/ChallengeCardLocked.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Challenge/ChallengeCardLocked.tsx");
 })();
 
 ;
@@ -20284,7 +20636,7 @@ exports.default = FluidPricesService;
     return;
   }
 
-  reactHotLoader.register(FluidPricesService, "FluidPricesService", "/home/gcarron/dev/ecolyo/src/services/fluidsPrices.service.ts");
+  reactHotLoader.register(FluidPricesService, "FluidPricesService", "/home/bastien/ecolyo/src/services/fluidsPrices.service.ts");
 })();
 
 ;
@@ -20919,7 +21271,7 @@ exports.default = DuelService;
     return;
   }
 
-  reactHotLoader.register(DuelService, "DuelService", "/home/gcarron/dev/ecolyo/src/services/duel.service.ts");
+  reactHotLoader.register(DuelService, "DuelService", "/home/bastien/ecolyo/src/services/duel.service.ts");
 })();
 
 ;
@@ -21063,8 +21415,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ExplorationView, "ExplorationView", "/home/gcarron/dev/ecolyo/src/components/Exploration/ExplorationView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Exploration/ExplorationView.tsx");
+  reactHotLoader.register(ExplorationView, "ExplorationView", "/home/bastien/ecolyo/src/components/Exploration/ExplorationView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Exploration/ExplorationView.tsx");
 })();
 
 ;
@@ -21099,109 +21451,6 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE
 
 /***/ }),
 
-/***/ "WL0o":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(module) {
-
-var _interopRequireDefault = __webpack_require__("TqRt");
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.initBar = exports.getValues = void 0;
-
-var _manifest = _interopRequireDefault(__webpack_require__("pZg0"));
-
-(function () {
-  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
-  enterModule && enterModule(module);
-})();
-
-var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
-  return a;
-};
-
-var getDataOrDefault = function getDataOrDefault(data, defaultData) {
-  return /^\{\{\..*\}\}$/.test(data) ? defaultData : data;
-}; //NOSONAR
-
-/**
- * default data will allow to display correctly the cozy-bar
- * in the standalone (without cozy-stack connexion)
- */
-
-
-var getValues = function getValues(_ref) {
-  var cozyAppName = _ref.cozyAppName,
-      cozyAppNamePrefix = _ref.cozyAppNamePrefix,
-      cozyIconPath = _ref.cozyIconPath;
-  var defaultValues = {
-    appIconDefault: __webpack_require__("ZAKO"),
-    appNamePrefixDefault: _manifest.default.name_prefix,
-    appNameDefault: _manifest.default.name,
-    appLocaleDefault: 'fr'
-  };
-  return {
-    appName: getDataOrDefault(cozyAppName, defaultValues.appNameDefault),
-    appNamePrefix: getDataOrDefault(cozyAppNamePrefix, defaultValues.appNamePrefixDefault),
-    iconPath: getDataOrDefault(cozyIconPath, defaultValues.appIconDefault),
-    lang: defaultValues.appLocaleDefault
-  };
-};
-/**
- * Cozy bar initialization
- * @param {object} client - cozy client
- */
-
-
-exports.getValues = getValues;
-
-var initBar = function initBar(client) {
-  var root = document.querySelector('[role=application]');
-
-  var _getValues = getValues(root.dataset),
-      appName = _getValues.appName,
-      appNamePrefix = _getValues.appNamePrefix,
-      iconPath = _getValues.iconPath,
-      lang = _getValues.lang;
-
-  cozy.bar.init({
-    appName: appName,
-    appNamePrefix: appNamePrefix,
-    cozyClient: client,
-    iconPath: iconPath,
-    lang: lang,
-    replaceTitleOnMobile: false
-  });
-};
-
-exports.initBar = initBar;
-;
-
-(function () {
-  var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
-
-  if (!reactHotLoader) {
-    return;
-  }
-
-  reactHotLoader.register(getDataOrDefault, "getDataOrDefault", "/home/gcarron/dev/ecolyo/src/utils/bar.ts");
-  reactHotLoader.register(getValues, "getValues", "/home/gcarron/dev/ecolyo/src/utils/bar.ts");
-  reactHotLoader.register(initBar, "initBar", "/home/gcarron/dev/ecolyo/src/utils/bar.ts");
-})();
-
-;
-
-(function () {
-  var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
-  leaveModule && leaveModule(module);
-})();
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("YuTi")(module)))
-
-/***/ }),
-
 /***/ "WoNc":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -21275,8 +21524,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ActionChoose, "ActionChoose", "/home/gcarron/dev/ecolyo/src/components/Action/ActionChoose.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Action/ActionChoose.tsx");
+  reactHotLoader.register(ActionChoose, "ActionChoose", "/home/bastien/ecolyo/src/components/Action/ActionChoose.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Action/ActionChoose.tsx");
 })();
 
 ;
@@ -21364,7 +21613,7 @@ exports.ECOGESTURE_DOCTYPE = ECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
+  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
 })();
 
 ;
@@ -21456,7 +21705,7 @@ exports.default = EnvironmentService;
     return;
   }
 
-  reactHotLoader.register(EnvironmentService, "EnvironmentService", "/home/gcarron/dev/ecolyo/src/services/environment.service.ts");
+  reactHotLoader.register(EnvironmentService, "EnvironmentService", "/home/bastien/ecolyo/src/services/environment.service.ts");
 })();
 
 ;
@@ -21579,7 +21828,7 @@ exports.default = ConsumptionValidatorService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/gcarron/dev/ecolyo/src/services/consumptionValidator.service.ts");
+  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/bastien/ecolyo/src/services/consumptionValidator.service.ts");
 })();
 
 ;
@@ -21853,14 +22102,14 @@ exports.getActualAnalysisDate = getActualAnalysisDate;
     return;
   }
 
-  reactHotLoader.register(compareDates, "compareDates", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getLagDays, "getLagDays", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(compareDates, "compareDates", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getLagDays, "getLagDays", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/bastien/ecolyo/src/utils/date.ts");
 })();
 
 ;
@@ -22184,9 +22433,9 @@ exports.globalReducer = globalReducer;
     return;
   }
 
-  reactHotLoader.register(initialState, "initialState", "/home/gcarron/dev/ecolyo/src/store/global/global.reducer.ts");
-  reactHotLoader.register(getFluidTypesFromStatus, "getFluidTypesFromStatus", "/home/gcarron/dev/ecolyo/src/store/global/global.reducer.ts");
-  reactHotLoader.register(globalReducer, "globalReducer", "/home/gcarron/dev/ecolyo/src/store/global/global.reducer.ts");
+  reactHotLoader.register(initialState, "initialState", "/home/bastien/ecolyo/src/store/global/global.reducer.ts");
+  reactHotLoader.register(getFluidTypesFromStatus, "getFluidTypesFromStatus", "/home/bastien/ecolyo/src/store/global/global.reducer.ts");
+  reactHotLoader.register(globalReducer, "globalReducer", "/home/bastien/ecolyo/src/store/global/global.reducer.ts");
 })();
 
 ;
@@ -22230,7 +22479,7 @@ exports.EGL_MONTH_DOCTYPE = EGL_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
+  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
 })();
 
 ;
@@ -22309,13 +22558,6 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE
 
 /***/ }),
 
-/***/ "ZAKO":
-/***/ (function(module, exports) {
-
-module.exports = "/img/icon.e4891962a18ac2a487b21f0381a5513f.svg";
-
-/***/ }),
-
 /***/ "ZSA5":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -22547,9 +22789,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(TextAxis, "TextAxis", "/home/gcarron/dev/ecolyo/src/components/Charts/AxisBottom.tsx");
-  reactHotLoader.register(AxisBottom, "AxisBottom", "/home/gcarron/dev/ecolyo/src/components/Charts/AxisBottom.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Charts/AxisBottom.tsx");
+  reactHotLoader.register(TextAxis, "TextAxis", "/home/bastien/ecolyo/src/components/Charts/AxisBottom.tsx");
+  reactHotLoader.register(AxisBottom, "AxisBottom", "/home/bastien/ecolyo/src/components/Charts/AxisBottom.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Charts/AxisBottom.tsx");
 })();
 
 ;
@@ -22738,11 +22980,11 @@ function newProfileEcogestureEntry(upd) {
     return;
   }
 
-  reactHotLoader.register(UPDATE_PROFILEECOGESTURE, "UPDATE_PROFILEECOGESTURE", "/home/gcarron/dev/ecolyo/src/store/profileEcogesture/profileEcogesture.actions.ts");
-  reactHotLoader.register(CREATE_NEW_PROFILEECOGESTURE, "CREATE_NEW_PROFILEECOGESTURE", "/home/gcarron/dev/ecolyo/src/store/profileEcogesture/profileEcogesture.actions.ts");
-  reactHotLoader.register(updateProfileEcogestureSuccess, "updateProfileEcogestureSuccess", "/home/gcarron/dev/ecolyo/src/store/profileEcogesture/profileEcogesture.actions.ts");
-  reactHotLoader.register(updateProfileEcogesture, "updateProfileEcogesture", "/home/gcarron/dev/ecolyo/src/store/profileEcogesture/profileEcogesture.actions.ts");
-  reactHotLoader.register(newProfileEcogestureEntry, "newProfileEcogestureEntry", "/home/gcarron/dev/ecolyo/src/store/profileEcogesture/profileEcogesture.actions.ts");
+  reactHotLoader.register(UPDATE_PROFILEECOGESTURE, "UPDATE_PROFILEECOGESTURE", "/home/bastien/ecolyo/src/store/profileEcogesture/profileEcogesture.actions.ts");
+  reactHotLoader.register(CREATE_NEW_PROFILEECOGESTURE, "CREATE_NEW_PROFILEECOGESTURE", "/home/bastien/ecolyo/src/store/profileEcogesture/profileEcogesture.actions.ts");
+  reactHotLoader.register(updateProfileEcogestureSuccess, "updateProfileEcogestureSuccess", "/home/bastien/ecolyo/src/store/profileEcogesture/profileEcogesture.actions.ts");
+  reactHotLoader.register(updateProfileEcogesture, "updateProfileEcogesture", "/home/bastien/ecolyo/src/store/profileEcogesture/profileEcogesture.actions.ts");
+  reactHotLoader.register(newProfileEcogestureEntry, "newProfileEcogestureEntry", "/home/bastien/ecolyo/src/store/profileEcogesture/profileEcogesture.actions.ts");
 })();
 
 ;
@@ -22900,7 +23142,7 @@ exports.GRDF_YEAR_DOCTYPE = GRDF_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
+  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
 })();
 
 ;
@@ -23400,10 +23642,10 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FEEDBACK_EMAIL, "FEEDBACK_EMAIL", "/home/gcarron/dev/ecolyo/src/components/Feedback/FeedbackModal.tsx");
-  reactHotLoader.register(browser, "browser", "/home/gcarron/dev/ecolyo/src/components/Feedback/FeedbackModal.tsx");
-  reactHotLoader.register(FeedbackModal, "FeedbackModal", "/home/gcarron/dev/ecolyo/src/components/Feedback/FeedbackModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Feedback/FeedbackModal.tsx");
+  reactHotLoader.register(FEEDBACK_EMAIL, "FEEDBACK_EMAIL", "/home/bastien/ecolyo/src/components/Feedback/FeedbackModal.tsx");
+  reactHotLoader.register(browser, "browser", "/home/bastien/ecolyo/src/components/Feedback/FeedbackModal.tsx");
+  reactHotLoader.register(FeedbackModal, "FeedbackModal", "/home/bastien/ecolyo/src/components/Feedback/FeedbackModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Feedback/FeedbackModal.tsx");
 })();
 
 ;
@@ -23881,7 +24123,7 @@ exports.default = ProfileTypeEntityService;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeEntityService, "ProfileTypeEntityService", "/home/gcarron/dev/ecolyo/src/services/profileTypeEntity.service.ts");
+  reactHotLoader.register(ProfileTypeEntityService, "ProfileTypeEntityService", "/home/bastien/ecolyo/src/services/profileTypeEntity.service.ts");
 })();
 
 ;
@@ -24140,8 +24382,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ChallengeCard, "ChallengeCard", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeCard.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeCard.tsx");
+  reactHotLoader.register(ChallengeCard, "ChallengeCard", "/home/bastien/ecolyo/src/components/Challenge/ChallengeCard.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Challenge/ChallengeCard.tsx");
 })();
 
 ;
@@ -24249,8 +24491,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FormNavigation, "FormNavigation", "/home/gcarron/dev/ecolyo/src/components/ProfileType/FormNavigation.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/ProfileType/FormNavigation.tsx");
+  reactHotLoader.register(FormNavigation, "FormNavigation", "/home/bastien/ecolyo/src/components/ProfileType/FormNavigation.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/ProfileType/FormNavigation.tsx");
 })();
 
 ;
@@ -24559,17 +24801,17 @@ exports.getSeason = getSeason;
     return;
   }
 
-  reactHotLoader.register(getFluidType, "getFluidType", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getKonnectorUpdateError, "getKonnectorUpdateError", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(isKonnectorActive, "isKonnectorActive", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(formatNumberValues, "formatNumberValues", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationship, "getRelationship", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationshipHasMany, "getRelationshipHasMany", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationships, "getRelationships", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(importIconbyId, "importIconbyId", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getPreviousMonthName, "getPreviousMonthName", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getMonthNameWithPrep, "getMonthNameWithPrep", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getSeason, "getSeason", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getFluidType, "getFluidType", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getKonnectorUpdateError, "getKonnectorUpdateError", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(isKonnectorActive, "isKonnectorActive", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(formatNumberValues, "formatNumberValues", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationship, "getRelationship", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationshipHasMany, "getRelationshipHasMany", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationships, "getRelationships", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(importIconbyId, "importIconbyId", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getPreviousMonthName, "getPreviousMonthName", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getMonthNameWithPrep, "getMonthNameWithPrep", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getSeason, "getSeason", "/home/bastien/ecolyo/src/utils/utils.ts");
 })();
 
 ;
@@ -24728,28 +24970,28 @@ function setShouldRefreshConsent(shouldRefreshConsent) {
     return;
   }
 
-  reactHotLoader.register(CHANGE_SCREEN_TYPE, "CHANGE_SCREEN_TYPE", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(SHOW_RELEASE_NOTES, "SHOW_RELEASE_NOTES", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(TOGGLE_CHALLENGE_EXPLORATION_NOTIFICATION, "TOGGLE_CHALLENGE_EXPLORATION_NOTIFICATION", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(TOGGLE_CHALLENGE_ACTION_NOTIFICATION, "TOGGLE_CHALLENGE_ACTION_NOTIFICATION", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(TOGGLE_CHALLENGE_DUEL_NOTIFICATION, "TOGGLE_CHALLENGE_DUEL_NOTIFICATION", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(TOGGLE_ANALYSIS_NOTIFICATION, "TOGGLE_ANALYSIS_NOTIFICATION", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(SET_FLUID_STATUS, "SET_FLUID_STATUS", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(UPDATE_FLUID_CONNECTION, "UPDATE_FLUID_CONNECTION", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(UPDATE_TERMS_VALIDATION, "UPDATE_TERMS_VALIDATION", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(SET_PARTNERS_ISSUE, "SET_PARTNERS_ISSUE", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(SET_SHOULD_REFRESH_CONSENT, "SET_SHOULD_REFRESH_CONSENT", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(changeScreenType, "changeScreenType", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(showReleaseNotes, "showReleaseNotes", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(toggleChallengeExplorationNotification, "toggleChallengeExplorationNotification", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(toggleChallengeActionNotification, "toggleChallengeActionNotification", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(toggleChallengeDuelNotification, "toggleChallengeDuelNotification", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(toggleAnalysisNotification, "toggleAnalysisNotification", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(setFluidStatus, "setFluidStatus", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(updatedFluidConnection, "updatedFluidConnection", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(updateTermValidation, "updateTermValidation", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(setPartnersIssue, "setPartnersIssue", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
-  reactHotLoader.register(setShouldRefreshConsent, "setShouldRefreshConsent", "/home/gcarron/dev/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(CHANGE_SCREEN_TYPE, "CHANGE_SCREEN_TYPE", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(SHOW_RELEASE_NOTES, "SHOW_RELEASE_NOTES", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(TOGGLE_CHALLENGE_EXPLORATION_NOTIFICATION, "TOGGLE_CHALLENGE_EXPLORATION_NOTIFICATION", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(TOGGLE_CHALLENGE_ACTION_NOTIFICATION, "TOGGLE_CHALLENGE_ACTION_NOTIFICATION", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(TOGGLE_CHALLENGE_DUEL_NOTIFICATION, "TOGGLE_CHALLENGE_DUEL_NOTIFICATION", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(TOGGLE_ANALYSIS_NOTIFICATION, "TOGGLE_ANALYSIS_NOTIFICATION", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(SET_FLUID_STATUS, "SET_FLUID_STATUS", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(UPDATE_FLUID_CONNECTION, "UPDATE_FLUID_CONNECTION", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(UPDATE_TERMS_VALIDATION, "UPDATE_TERMS_VALIDATION", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(SET_PARTNERS_ISSUE, "SET_PARTNERS_ISSUE", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(SET_SHOULD_REFRESH_CONSENT, "SET_SHOULD_REFRESH_CONSENT", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(changeScreenType, "changeScreenType", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(showReleaseNotes, "showReleaseNotes", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(toggleChallengeExplorationNotification, "toggleChallengeExplorationNotification", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(toggleChallengeActionNotification, "toggleChallengeActionNotification", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(toggleChallengeDuelNotification, "toggleChallengeDuelNotification", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(toggleAnalysisNotification, "toggleAnalysisNotification", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(setFluidStatus, "setFluidStatus", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(updatedFluidConnection, "updatedFluidConnection", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(updateTermValidation, "updateTermValidation", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(setPartnersIssue, "setPartnersIssue", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
+  reactHotLoader.register(setShouldRefreshConsent, "setShouldRefreshConsent", "/home/bastien/ecolyo/src/store/global/global.actions.ts");
 })();
 
 ;
@@ -24907,7 +25149,7 @@ exports.ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE = ENEDIS_MONTHLY_ANALYSIS_DATA_DOCT
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
+  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
 })();
 
 ;
@@ -24951,7 +25193,7 @@ exports.USAGEEVENT_DOCTYPE = USAGEEVENT_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
+  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
 })();
 
 ;
@@ -25181,8 +25423,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureFormView, "EcogestureFormView", "/home/gcarron/dev/ecolyo/src/components/EcogestureForm/EcogestureFormView.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/EcogestureForm/EcogestureFormView.tsx");
+  reactHotLoader.register(EcogestureFormView, "EcogestureFormView", "/home/bastien/ecolyo/src/components/EcogestureForm/EcogestureFormView.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/EcogestureForm/EcogestureFormView.tsx");
 })();
 
 ;
@@ -25210,6 +25452,8 @@ exports.default = void 0;
 
 var _regenerator = _interopRequireDefault(__webpack_require__("o0o1"));
 
+var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp"));
+
 var _objectSpread2 = _interopRequireDefault(__webpack_require__("MVZn"));
 
 var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU"));
@@ -25222,6 +25466,8 @@ var _cozyClient = __webpack_require__("SH7X");
 
 var _doctypes = __webpack_require__("D2hQ");
 
+var _usageEvent = __webpack_require__("/fHX");
+
 var _luxon = __webpack_require__("ExVU");
 
 (function () {
@@ -25336,6 +25582,79 @@ var UsageEventService = /*#__PURE__*/function () {
 
       return addEventIfDoesntExist;
     }()
+    /**
+     *
+     * @param {Client} client
+     * @param {string} konnectorSlug
+     * @returns
+     */
+
+  }, {
+    key: "udpateConnectionAttemptEvent",
+    value: function () {
+      var _udpateConnectionAttemptEvent = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(client, konnectorSlug) {
+        var query, _yield$client$query, _yield$client$query$d, usageEventEntity, updatedEvent, _yield$client$save, savedEvent;
+
+        return _regenerator.default.wrap(function _callee3$(_context3) {
+          while (1) {
+            switch (_context3.prev = _context3.next) {
+              case 0:
+                _context3.prev = 0;
+                //Get last Connection attempt Event
+                query = (0, _cozyClient.Q)(_doctypes.USAGEEVENT_DOCTYPE).where({
+                  type: _usageEvent.UsageEventType.KONNECTOR_ATTEMPT_EVENT,
+                  target: konnectorSlug,
+                  result: 'error'
+                }).sortBy([{
+                  eventDate: 'desc'
+                }]).limitBy(1);
+                _context3.next = 4;
+                return client.query(query);
+
+              case 4:
+                _yield$client$query = _context3.sent;
+                _yield$client$query$d = (0, _slicedToArray2.default)(_yield$client$query.data, 1);
+                usageEventEntity = _yield$client$query$d[0];
+
+                if (!usageEventEntity) {
+                  _context3.next = 14;
+                  break;
+                }
+
+                updatedEvent = (0, _objectSpread2.default)({}, usageEventEntity, {
+                  result: 'success'
+                });
+                _context3.next = 11;
+                return client.save(updatedEvent);
+
+              case 11:
+                _yield$client$save = _context3.sent;
+                savedEvent = _yield$client$save.data;
+                return _context3.abrupt("return", savedEvent);
+
+              case 14:
+                _context3.next = 19;
+                break;
+
+              case 16:
+                _context3.prev = 16;
+                _context3.t0 = _context3["catch"](0);
+                console.log('UsageEvent service error on udpateConnectionAttemptEvent : ', _context3.t0);
+
+              case 19:
+              case "end":
+                return _context3.stop();
+            }
+          }
+        }, _callee3, null, [[0, 16]]);
+      }));
+
+      function udpateConnectionAttemptEvent(_x6, _x7) {
+        return _udpateConnectionAttemptEvent.apply(this, arguments);
+      }
+
+      return udpateConnectionAttemptEvent;
+    }()
     /**
      * updateUsageEventsAggregated
      * @param {Client} client
@@ -25346,73 +25665,73 @@ var UsageEventService = /*#__PURE__*/function () {
   }, {
     key: "updateUsageEventsAggregated",
     value: function () {
-      var _updateUsageEventsAggregated = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(client, events) {
+      var _updateUsageEventsAggregated = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(client, events) {
         var _iterator, _step, event;
 
-        return _regenerator.default.wrap(function _callee3$(_context3) {
+        return _regenerator.default.wrap(function _callee4$(_context4) {
           while (1) {
-            switch (_context3.prev = _context3.next) {
+            switch (_context4.prev = _context4.next) {
               case 0:
                 _iterator = _createForOfIteratorHelper(events);
-                _context3.prev = 1;
+                _context4.prev = 1;
 
                 _iterator.s();
 
               case 3:
                 if ((_step = _iterator.n()).done) {
-                  _context3.next = 15;
+                  _context4.next = 15;
                   break;
                 }
 
                 event = _step.value;
-                _context3.prev = 5;
-                _context3.next = 8;
+                _context4.prev = 5;
+                _context4.next = 8;
                 return client.save((0, _objectSpread2.default)({}, event, {
                   aggregated: true
                 }));
 
               case 8:
-                _context3.next = 13;
+                _context4.next = 13;
                 break;
 
               case 10:
-                _context3.prev = 10;
-                _context3.t0 = _context3["catch"](5);
-                console.log(_context3.t0);
+                _context4.prev = 10;
+                _context4.t0 = _context4["catch"](5);
+                console.log('UsageEvent service error on updateUsageEventsAggregated : ', _context4.t0);
 
               case 13:
-                _context3.next = 3;
+                _context4.next = 3;
                 break;
 
               case 15:
-                _context3.next = 20;
+                _context4.next = 20;
                 break;
 
               case 17:
-                _context3.prev = 17;
-                _context3.t1 = _context3["catch"](1);
+                _context4.prev = 17;
+                _context4.t1 = _context4["catch"](1);
 
-                _iterator.e(_context3.t1);
+                _iterator.e(_context4.t1);
 
               case 20:
-                _context3.prev = 20;
+                _context4.prev = 20;
 
                 _iterator.f();
 
-                return _context3.finish(20);
+                return _context4.finish(20);
 
               case 23:
-                return _context3.abrupt("return", true);
+                return _context4.abrupt("return", true);
 
               case 24:
               case "end":
-                return _context3.stop();
+                return _context4.stop();
             }
           }
-        }, _callee3, null, [[1, 17, 20, 23], [5, 10]]);
+        }, _callee4, null, [[1, 17, 20, 23], [5, 10]]);
       }));
 
-      function updateUsageEventsAggregated(_x6, _x7) {
+      function updateUsageEventsAggregated(_x8, _x9) {
         return _updateUsageEventsAggregated.apply(this, arguments);
       }
 
@@ -25428,44 +25747,44 @@ var UsageEventService = /*#__PURE__*/function () {
   }, {
     key: "getEvents",
     value: function () {
-      var _getEvents = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(client, filterParams) {
+      var _getEvents = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(client, filterParams) {
         var _this = this;
 
         var desc,
             query,
-            _yield$client$query,
+            _yield$client$query2,
             usageEventEntities,
             usageEvents,
-            _args4 = arguments;
+            _args5 = arguments;
 
-        return _regenerator.default.wrap(function _callee4$(_context4) {
+        return _regenerator.default.wrap(function _callee5$(_context5) {
           while (1) {
-            switch (_context4.prev = _context4.next) {
+            switch (_context5.prev = _context5.next) {
               case 0:
-                desc = _args4.length > 2 && _args4[2] !== undefined ? _args4[2] : false;
+                desc = _args5.length > 2 && _args5[2] !== undefined ? _args5[2] : false;
                 query = (0, _cozyClient.Q)(_doctypes.USAGEEVENT_DOCTYPE).where(filterParams).sortBy([{
                   eventDate: desc ? 'desc' : 'asc'
                 }]);
-                _context4.next = 4;
+                _context5.next = 4;
                 return client.query(query);
 
               case 4:
-                _yield$client$query = _context4.sent;
-                usageEventEntities = _yield$client$query.data;
+                _yield$client$query2 = _context5.sent;
+                usageEventEntities = _yield$client$query2.data;
                 usageEvents = usageEventEntities.map(function (usageEventEntity) {
                   return _this.parseUsageEventEntityToUsageEvent(usageEventEntity);
                 });
-                return _context4.abrupt("return", usageEvents);
+                return _context5.abrupt("return", usageEvents);
 
               case 8:
               case "end":
-                return _context4.stop();
+                return _context5.stop();
             }
           }
-        }, _callee4);
+        }, _callee5);
       }));
 
-      function getEvents(_x8, _x9) {
+      function getEvents(_x10, _x11) {
         return _getEvents.apply(this, arguments);
       }
 
@@ -25504,7 +25823,7 @@ exports.default = UsageEventService;
     return;
   }
 
-  reactHotLoader.register(UsageEventService, "UsageEventService", "/home/gcarron/dev/ecolyo/src/services/usageEvent.service.ts");
+  reactHotLoader.register(UsageEventService, "UsageEventService", "/home/bastien/ecolyo/src/services/usageEvent.service.ts");
 })();
 
 ;
@@ -25794,7 +26113,7 @@ exports.EXPLORATION_DOCTYPE = EXPLORATION_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
+  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
 })();
 
 ;
@@ -25860,7 +26179,7 @@ exports.PROFILETYPE_DOCTYPE = PROFILETYPE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
+  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
 })();
 
 ;
@@ -26179,9 +26498,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SpinnerBase, "SpinnerBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledEcogestureSpinner.tsx");
-  reactHotLoader.register(StyledEcogestureSpinner, "StyledEcogestureSpinner", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledEcogestureSpinner.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/Spinner/StyledEcogestureSpinner.tsx");
+  reactHotLoader.register(SpinnerBase, "SpinnerBase", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledEcogestureSpinner.tsx");
+  reactHotLoader.register(StyledEcogestureSpinner, "StyledEcogestureSpinner", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledEcogestureSpinner.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/Spinner/StyledEcogestureSpinner.tsx");
 })();
 
 ;
@@ -26225,7 +26544,7 @@ exports.PROFILEECOGESTURE_DOCTYPE = PROFILEECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
+  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
 })();
 
 ;
@@ -26269,7 +26588,7 @@ exports.ENEDIS_MINUTE_DOCTYPE = ENEDIS_MINUTE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
+  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
 })();
 
 ;
@@ -26507,8 +26826,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(Header, "Header", "/home/gcarron/dev/ecolyo/src/components/Header/Header.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Header/Header.tsx");
+  reactHotLoader.register(Header, "Header", "/home/bastien/ecolyo/src/components/Header/Header.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Header/Header.tsx");
 })();
 
 ;
@@ -26736,8 +27055,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ActionDone, "ActionDone", "/home/gcarron/dev/ecolyo/src/components/Action/ActionDone.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Action/ActionDone.tsx");
+  reactHotLoader.register(ActionDone, "ActionDone", "/home/bastien/ecolyo/src/components/Action/ActionDone.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Action/ActionDone.tsx");
 })();
 
 ;
@@ -26846,10 +27165,10 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(inBrowser, "inBrowser", "/home/gcarron/dev/ecolyo/src/utils/logger.js");
-  reactHotLoader.register(minilog, "minilog", "/home/gcarron/dev/ecolyo/src/utils/logger.js");
-  reactHotLoader.register(log, "log", "/home/gcarron/dev/ecolyo/src/utils/logger.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/utils/logger.js");
+  reactHotLoader.register(inBrowser, "inBrowser", "/home/bastien/ecolyo/src/utils/logger.js");
+  reactHotLoader.register(minilog, "minilog", "/home/bastien/ecolyo/src/utils/logger.js");
+  reactHotLoader.register(log, "log", "/home/bastien/ecolyo/src/utils/logger.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/utils/logger.js");
 })();
 
 ;
@@ -26868,13 +27187,13 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(_minilog, "_minilog", "/home/gcarron/dev/ecolyo/src/utils/logger.js");
-  reactHotLoader.register(__signature__, "__signature__", "/home/gcarron/dev/ecolyo/src/utils/logger.js");
-  reactHotLoader.register(inBrowser, "inBrowser", "/home/gcarron/dev/ecolyo/src/utils/logger.js");
-  reactHotLoader.register(minilog, "minilog", "/home/gcarron/dev/ecolyo/src/utils/logger.js");
-  reactHotLoader.register(log, "log", "/home/gcarron/dev/ecolyo/src/utils/logger.js");
-  reactHotLoader.register(_default, "_default", "/home/gcarron/dev/ecolyo/src/utils/logger.js");
-  reactHotLoader.register(_default2, "_default2", "/home/gcarron/dev/ecolyo/src/utils/logger.js");
+  reactHotLoader.register(_minilog, "_minilog", "/home/bastien/ecolyo/src/utils/logger.js");
+  reactHotLoader.register(__signature__, "__signature__", "/home/bastien/ecolyo/src/utils/logger.js");
+  reactHotLoader.register(inBrowser, "inBrowser", "/home/bastien/ecolyo/src/utils/logger.js");
+  reactHotLoader.register(minilog, "minilog", "/home/bastien/ecolyo/src/utils/logger.js");
+  reactHotLoader.register(log, "log", "/home/bastien/ecolyo/src/utils/logger.js");
+  reactHotLoader.register(_default, "_default", "/home/bastien/ecolyo/src/utils/logger.js");
+  reactHotLoader.register(_default2, "_default2", "/home/bastien/ecolyo/src/utils/logger.js");
 })();
 
 ;
@@ -27047,7 +27366,7 @@ var AccountService = /*#__PURE__*/function () {
                 query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase
                 .where({
                   account_type: type
-                });
+                }).indexFields(['account_type']);
                 _context3.next = 3;
                 return this._client.query(query);
 
@@ -27129,7 +27448,7 @@ var AccountService = /*#__PURE__*/function () {
                 query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase
                 .where({
                   account_type: type
-                });
+                }).indexFields(['account_type']);
                 _context4.next = 3;
                 return this._client.query(query);
 
@@ -27237,7 +27556,7 @@ var AccountService = /*#__PURE__*/function () {
                 query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase
                 .where({
                   account_type: 'index'
-                }).limitBy(1);
+                }).indexFields(['account_type']).limitBy(1);
                 _context7.next = 3;
                 return this._client.query(query);
 
@@ -27281,7 +27600,7 @@ exports.default = AccountService;
     return;
   }
 
-  reactHotLoader.register(AccountService, "AccountService", "/home/gcarron/dev/ecolyo/src/services/account.service.ts");
+  reactHotLoader.register(AccountService, "AccountService", "/home/bastien/ecolyo/src/services/account.service.ts");
 })();
 
 ;
@@ -27402,7 +27721,7 @@ exports.CHALLENGE_DOCTYPE = CHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
+  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
 })();
 
 ;
@@ -27770,8 +28089,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(Navbar, "Navbar", "/home/gcarron/dev/ecolyo/src/components/Navbar/Navbar.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Navbar/Navbar.tsx");
+  reactHotLoader.register(Navbar, "Navbar", "/home/bastien/ecolyo/src/components/Navbar/Navbar.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Navbar/Navbar.tsx");
 })();
 
 ;
@@ -27907,7 +28226,7 @@ exports.decoreText = decoreText;
     return;
   }
 
-  reactHotLoader.register(decoreText, "decoreText", "/home/gcarron/dev/ecolyo/src/utils/decoreText.tsx");
+  reactHotLoader.register(decoreText, "decoreText", "/home/bastien/ecolyo/src/utils/decoreText.tsx");
 })();
 
 ;
@@ -28006,10 +28325,10 @@ function updateProfile(upd) {
     return;
   }
 
-  reactHotLoader.register(UPDATE_PROFILE, "UPDATE_PROFILE", "/home/gcarron/dev/ecolyo/src/store/profile/profile.actions.ts");
-  reactHotLoader.register(SET_FIRST_CONNECTION, "SET_FIRST_CONNECTION", "/home/gcarron/dev/ecolyo/src/store/profile/profile.actions.ts");
-  reactHotLoader.register(updateProfileSuccess, "updateProfileSuccess", "/home/gcarron/dev/ecolyo/src/store/profile/profile.actions.ts");
-  reactHotLoader.register(updateProfile, "updateProfile", "/home/gcarron/dev/ecolyo/src/store/profile/profile.actions.ts");
+  reactHotLoader.register(UPDATE_PROFILE, "UPDATE_PROFILE", "/home/bastien/ecolyo/src/store/profile/profile.actions.ts");
+  reactHotLoader.register(SET_FIRST_CONNECTION, "SET_FIRST_CONNECTION", "/home/bastien/ecolyo/src/store/profile/profile.actions.ts");
+  reactHotLoader.register(updateProfileSuccess, "updateProfileSuccess", "/home/bastien/ecolyo/src/store/profile/profile.actions.ts");
+  reactHotLoader.register(updateProfile, "updateProfile", "/home/bastien/ecolyo/src/store/profile/profile.actions.ts");
 })();
 
 ;
@@ -28166,9 +28485,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(IconButtonBase, "IconButtonBase", "/home/gcarron/dev/ecolyo/src/components/CommonKit/IconButton/StyledIconButton.tsx");
-  reactHotLoader.register(StyledIconButton, "StyledIconButton", "/home/gcarron/dev/ecolyo/src/components/CommonKit/IconButton/StyledIconButton.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/CommonKit/IconButton/StyledIconButton.tsx");
+  reactHotLoader.register(IconButtonBase, "IconButtonBase", "/home/bastien/ecolyo/src/components/CommonKit/IconButton/StyledIconButton.tsx");
+  reactHotLoader.register(StyledIconButton, "StyledIconButton", "/home/bastien/ecolyo/src/components/CommonKit/IconButton/StyledIconButton.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/CommonKit/IconButton/StyledIconButton.tsx");
 })();
 
 ;
@@ -28429,8 +28748,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DuelBar, "DuelBar", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelBar.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelBar.tsx");
+  reactHotLoader.register(DuelBar, "DuelBar", "/home/bastien/ecolyo/src/components/Duel/DuelBar.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Duel/DuelBar.tsx");
 })();
 
 ;
@@ -28782,7 +29101,7 @@ exports.default = KonnectorService;
     return;
   }
 
-  reactHotLoader.register(KonnectorService, "KonnectorService", "/home/gcarron/dev/ecolyo/src/services/konnector.service.ts");
+  reactHotLoader.register(KonnectorService, "KonnectorService", "/home/bastien/ecolyo/src/services/konnector.service.ts");
 })();
 
 ;
@@ -28856,7 +29175,7 @@ exports.PROFILE_DOCTYPE = PROFILE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
+  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
 })();
 
 ;
@@ -29108,8 +29427,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureSelectionDetail, "EcogestureSelectionDetail", "/home/gcarron/dev/ecolyo/src/components/EcogestureSelection/EcogestureSelectionDetail.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/EcogestureSelection/EcogestureSelectionDetail.tsx");
+  reactHotLoader.register(EcogestureSelectionDetail, "EcogestureSelectionDetail", "/home/bastien/ecolyo/src/components/EcogestureSelection/EcogestureSelectionDetail.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/EcogestureSelection/EcogestureSelectionDetail.tsx");
 })();
 
 ;
@@ -30528,7 +30847,7 @@ exports.default = ChallengeService;
     return;
   }
 
-  reactHotLoader.register(ChallengeService, "ChallengeService", "/home/gcarron/dev/ecolyo/src/services/challenge.service.ts");
+  reactHotLoader.register(ChallengeService, "ChallengeService", "/home/bastien/ecolyo/src/services/challenge.service.ts");
 })();
 
 ;
@@ -30641,8 +30960,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureSelectionRestart, "EcogestureSelectionRestart", "/home/gcarron/dev/ecolyo/src/components/EcogestureSelection/EcogestureSelectionRestart.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/EcogestureSelection/EcogestureSelectionRestart.tsx");
+  reactHotLoader.register(EcogestureSelectionRestart, "EcogestureSelectionRestart", "/home/bastien/ecolyo/src/components/EcogestureSelection/EcogestureSelectionRestart.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/EcogestureSelection/EcogestureSelectionRestart.tsx");
 })();
 
 ;
@@ -30827,8 +31146,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(QuizBegin, "QuizBegin", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizBegin.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizBegin.tsx");
+  reactHotLoader.register(QuizBegin, "QuizBegin", "/home/bastien/ecolyo/src/components/Quiz/QuizBegin.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Quiz/QuizBegin.tsx");
 })();
 
 ;
@@ -30888,8 +31207,8 @@ function updateModalIsFeedbacksOpen(isOpen) {
     return;
   }
 
-  reactHotLoader.register(UPDATE_MODAL_ISFEEDBACKSOPEN, "UPDATE_MODAL_ISFEEDBACKSOPEN", "/home/gcarron/dev/ecolyo/src/store/modal/modal.actions.ts");
-  reactHotLoader.register(updateModalIsFeedbacksOpen, "updateModalIsFeedbacksOpen", "/home/gcarron/dev/ecolyo/src/store/modal/modal.actions.ts");
+  reactHotLoader.register(UPDATE_MODAL_ISFEEDBACKSOPEN, "UPDATE_MODAL_ISFEEDBACKSOPEN", "/home/bastien/ecolyo/src/store/modal/modal.actions.ts");
+  reactHotLoader.register(updateModalIsFeedbacksOpen, "updateModalIsFeedbacksOpen", "/home/bastien/ecolyo/src/store/modal/modal.actions.ts");
 })();
 
 ;
@@ -31271,8 +31590,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EcogestureModal, "EcogestureModal", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EcogestureModal.tsx");
+  reactHotLoader.register(EcogestureModal, "EcogestureModal", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Ecogesture/EcogestureModal.tsx");
 })();
 
 ;
@@ -31788,15 +32107,15 @@ function migrationLog(migration, result) {
     return;
   }
 
-  reactHotLoader.register(migrationNoop, "migrationNoop", "/home/gcarron/dev/ecolyo/src/migrations/migration.ts");
-  reactHotLoader.register(currentSchemaVersion, "currentSchemaVersion", "/home/gcarron/dev/ecolyo/src/migrations/migration.ts");
-  reactHotLoader.register(getDocs, "getDocs", "/home/gcarron/dev/ecolyo/src/migrations/migration.ts");
-  reactHotLoader.register(updateSchemaVersion, "updateSchemaVersion", "/home/gcarron/dev/ecolyo/src/migrations/migration.ts");
-  reactHotLoader.register(save, "save", "/home/gcarron/dev/ecolyo/src/migrations/migration.ts");
-  reactHotLoader.register(schemaExist, "schemaExist", "/home/gcarron/dev/ecolyo/src/migrations/migration.ts");
-  reactHotLoader.register(initSchemaDoctype, "initSchemaDoctype", "/home/gcarron/dev/ecolyo/src/migrations/migration.ts");
-  reactHotLoader.register(migrate, "migrate", "/home/gcarron/dev/ecolyo/src/migrations/migration.ts");
-  reactHotLoader.register(migrationLog, "migrationLog", "/home/gcarron/dev/ecolyo/src/migrations/migration.ts");
+  reactHotLoader.register(migrationNoop, "migrationNoop", "/home/bastien/ecolyo/src/migrations/migration.ts");
+  reactHotLoader.register(currentSchemaVersion, "currentSchemaVersion", "/home/bastien/ecolyo/src/migrations/migration.ts");
+  reactHotLoader.register(getDocs, "getDocs", "/home/bastien/ecolyo/src/migrations/migration.ts");
+  reactHotLoader.register(updateSchemaVersion, "updateSchemaVersion", "/home/bastien/ecolyo/src/migrations/migration.ts");
+  reactHotLoader.register(save, "save", "/home/bastien/ecolyo/src/migrations/migration.ts");
+  reactHotLoader.register(schemaExist, "schemaExist", "/home/bastien/ecolyo/src/migrations/migration.ts");
+  reactHotLoader.register(initSchemaDoctype, "initSchemaDoctype", "/home/bastien/ecolyo/src/migrations/migration.ts");
+  reactHotLoader.register(migrate, "migrate", "/home/bastien/ecolyo/src/migrations/migration.ts");
+  reactHotLoader.register(migrationLog, "migrationLog", "/home/bastien/ecolyo/src/migrations/migration.ts");
 })();
 
 ;
@@ -31862,7 +32181,7 @@ exports.JOBS_DOCTYPE = JOBS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-jobs.ts");
+  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-jobs.ts");
 })();
 
 ;
@@ -32046,8 +32365,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ExplorationFinished, "ExplorationFinished", "/home/gcarron/dev/ecolyo/src/components/Exploration/ExplorationFinished.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Exploration/ExplorationFinished.tsx");
+  reactHotLoader.register(ExplorationFinished, "ExplorationFinished", "/home/bastien/ecolyo/src/components/Exploration/ExplorationFinished.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Exploration/ExplorationFinished.tsx");
 })();
 
 ;
@@ -32420,14 +32739,14 @@ function setChallengeConsumption(userChallenge, currentDataload) {
     return;
   }
 
-  reactHotLoader.register(SET_USER_CHALLENGE_LIST, "SET_USER_CHALLENGE_LIST", "/home/gcarron/dev/ecolyo/src/store/challenge/challenge.actions.ts");
-  reactHotLoader.register(UPDATE_USER_CHALLENGE_LIST, "UPDATE_USER_CHALLENGE_LIST", "/home/gcarron/dev/ecolyo/src/store/challenge/challenge.actions.ts");
-  reactHotLoader.register(UNLOCK_NEXT_USER_CHALLENGE, "UNLOCK_NEXT_USER_CHALLENGE", "/home/gcarron/dev/ecolyo/src/store/challenge/challenge.actions.ts");
-  reactHotLoader.register(SET_CHALLENGE_CONSUMPTION, "SET_CHALLENGE_CONSUMPTION", "/home/gcarron/dev/ecolyo/src/store/challenge/challenge.actions.ts");
-  reactHotLoader.register(setUserChallengeList, "setUserChallengeList", "/home/gcarron/dev/ecolyo/src/store/challenge/challenge.actions.ts");
-  reactHotLoader.register(updateUserChallengeList, "updateUserChallengeList", "/home/gcarron/dev/ecolyo/src/store/challenge/challenge.actions.ts");
-  reactHotLoader.register(unlockNextUserChallenge, "unlockNextUserChallenge", "/home/gcarron/dev/ecolyo/src/store/challenge/challenge.actions.ts");
-  reactHotLoader.register(setChallengeConsumption, "setChallengeConsumption", "/home/gcarron/dev/ecolyo/src/store/challenge/challenge.actions.ts");
+  reactHotLoader.register(SET_USER_CHALLENGE_LIST, "SET_USER_CHALLENGE_LIST", "/home/bastien/ecolyo/src/store/challenge/challenge.actions.ts");
+  reactHotLoader.register(UPDATE_USER_CHALLENGE_LIST, "UPDATE_USER_CHALLENGE_LIST", "/home/bastien/ecolyo/src/store/challenge/challenge.actions.ts");
+  reactHotLoader.register(UNLOCK_NEXT_USER_CHALLENGE, "UNLOCK_NEXT_USER_CHALLENGE", "/home/bastien/ecolyo/src/store/challenge/challenge.actions.ts");
+  reactHotLoader.register(SET_CHALLENGE_CONSUMPTION, "SET_CHALLENGE_CONSUMPTION", "/home/bastien/ecolyo/src/store/challenge/challenge.actions.ts");
+  reactHotLoader.register(setUserChallengeList, "setUserChallengeList", "/home/bastien/ecolyo/src/store/challenge/challenge.actions.ts");
+  reactHotLoader.register(updateUserChallengeList, "updateUserChallengeList", "/home/bastien/ecolyo/src/store/challenge/challenge.actions.ts");
+  reactHotLoader.register(unlockNextUserChallenge, "unlockNextUserChallenge", "/home/bastien/ecolyo/src/store/challenge/challenge.actions.ts");
+  reactHotLoader.register(setChallengeConsumption, "setChallengeConsumption", "/home/bastien/ecolyo/src/store/challenge/challenge.actions.ts");
 })();
 
 ;
@@ -32655,8 +32974,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(UncomingBar, "UncomingBar", "/home/gcarron/dev/ecolyo/src/components/Charts/UncomingBar.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Charts/UncomingBar.tsx");
+  reactHotLoader.register(UncomingBar, "UncomingBar", "/home/bastien/ecolyo/src/components/Charts/UncomingBar.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Charts/UncomingBar.tsx");
 })();
 
 ;
@@ -32700,7 +33019,7 @@ exports.ENEDIS_YEAR_DOCTYPE = ENEDIS_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
+  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
 })();
 
 ;
@@ -32770,7 +33089,7 @@ exports.EGL_YEAR_DOCTYPE = EGL_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
+  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
 })();
 
 ;
@@ -33037,8 +33356,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(Bar, "Bar", "/home/gcarron/dev/ecolyo/src/components/Charts/Bar.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Charts/Bar.tsx");
+  reactHotLoader.register(Bar, "Bar", "/home/bastien/ecolyo/src/components/Charts/Bar.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Charts/Bar.tsx");
 })();
 
 ;
@@ -33296,8 +33615,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ChallengeNoFluidModal, "ChallengeNoFluidModal", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeNoFluidModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeNoFluidModal.tsx");
+  reactHotLoader.register(ChallengeNoFluidModal, "ChallengeNoFluidModal", "/home/bastien/ecolyo/src/components/Challenge/ChallengeNoFluidModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Challenge/ChallengeNoFluidModal.tsx");
 })();
 
 ;
@@ -33572,8 +33891,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ExplorationOngoing, "ExplorationOngoing", "/home/gcarron/dev/ecolyo/src/components/Exploration/ExplorationOngoing.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Exploration/ExplorationOngoing.tsx");
+  reactHotLoader.register(ExplorationOngoing, "ExplorationOngoing", "/home/bastien/ecolyo/src/components/Exploration/ExplorationOngoing.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Exploration/ExplorationOngoing.tsx");
 })();
 
 ;
@@ -33783,17 +34102,17 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConsumptionView, "ConsumptionView", "/home/gcarron/dev/ecolyo/src/components/Routes/Routes.tsx");
-  reactHotLoader.register(EcogestureView, "EcogestureView", "/home/gcarron/dev/ecolyo/src/components/Routes/Routes.tsx");
-  reactHotLoader.register(SingleEcogesture, "SingleEcogesture", "/home/gcarron/dev/ecolyo/src/components/Routes/Routes.tsx");
-  reactHotLoader.register(OptionsView, "OptionsView", "/home/gcarron/dev/ecolyo/src/components/Routes/Routes.tsx");
-  reactHotLoader.register(FAQView, "FAQView", "/home/gcarron/dev/ecolyo/src/components/Routes/Routes.tsx");
-  reactHotLoader.register(LegalNoticeView, "LegalNoticeView", "/home/gcarron/dev/ecolyo/src/components/Routes/Routes.tsx");
-  reactHotLoader.register(GCUView, "GCUView", "/home/gcarron/dev/ecolyo/src/components/Routes/Routes.tsx");
-  reactHotLoader.register(AnalysisView, "AnalysisView", "/home/gcarron/dev/ecolyo/src/components/Routes/Routes.tsx");
-  reactHotLoader.register(ProfileTypeView, "ProfileTypeView", "/home/gcarron/dev/ecolyo/src/components/Routes/Routes.tsx");
-  reactHotLoader.register(Routes, "Routes", "/home/gcarron/dev/ecolyo/src/components/Routes/Routes.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Routes/Routes.tsx");
+  reactHotLoader.register(ConsumptionView, "ConsumptionView", "/home/bastien/ecolyo/src/components/Routes/Routes.tsx");
+  reactHotLoader.register(EcogestureView, "EcogestureView", "/home/bastien/ecolyo/src/components/Routes/Routes.tsx");
+  reactHotLoader.register(SingleEcogesture, "SingleEcogesture", "/home/bastien/ecolyo/src/components/Routes/Routes.tsx");
+  reactHotLoader.register(OptionsView, "OptionsView", "/home/bastien/ecolyo/src/components/Routes/Routes.tsx");
+  reactHotLoader.register(FAQView, "FAQView", "/home/bastien/ecolyo/src/components/Routes/Routes.tsx");
+  reactHotLoader.register(LegalNoticeView, "LegalNoticeView", "/home/bastien/ecolyo/src/components/Routes/Routes.tsx");
+  reactHotLoader.register(GCUView, "GCUView", "/home/bastien/ecolyo/src/components/Routes/Routes.tsx");
+  reactHotLoader.register(AnalysisView, "AnalysisView", "/home/bastien/ecolyo/src/components/Routes/Routes.tsx");
+  reactHotLoader.register(ProfileTypeView, "ProfileTypeView", "/home/bastien/ecolyo/src/components/Routes/Routes.tsx");
+  reactHotLoader.register(Routes, "Routes", "/home/bastien/ecolyo/src/components/Routes/Routes.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Routes/Routes.tsx");
 })();
 
 ;
@@ -33837,7 +34156,7 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-triggers.ts");
+  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-triggers.ts");
 })();
 
 ;
@@ -33991,8 +34310,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(useExploration, "useExploration", "/home/gcarron/dev/ecolyo/src/components/Hooks/useExploration.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Hooks/useExploration.tsx");
+  reactHotLoader.register(useExploration, "useExploration", "/home/bastien/ecolyo/src/components/Hooks/useExploration.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Hooks/useExploration.tsx");
 })();
 
 ;
@@ -34201,8 +34520,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ActionList, "ActionList", "/home/gcarron/dev/ecolyo/src/components/Action/ActionList.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Action/ActionList.tsx");
+  reactHotLoader.register(ActionList, "ActionList", "/home/bastien/ecolyo/src/components/Action/ActionList.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Action/ActionList.tsx");
 })();
 
 ;
@@ -34271,9 +34590,9 @@ function sum(dataA) {
     return;
   }
 
-  reactHotLoader.register(getRoundFloat, "getRoundFloat", "/home/gcarron/dev/ecolyo/src/utils/math.ts");
-  reactHotLoader.register(getPercentage, "getPercentage", "/home/gcarron/dev/ecolyo/src/utils/math.ts");
-  reactHotLoader.register(sum, "sum", "/home/gcarron/dev/ecolyo/src/utils/math.ts");
+  reactHotLoader.register(getRoundFloat, "getRoundFloat", "/home/bastien/ecolyo/src/utils/math.ts");
+  reactHotLoader.register(getPercentage, "getPercentage", "/home/bastien/ecolyo/src/utils/math.ts");
+  reactHotLoader.register(sum, "sum", "/home/bastien/ecolyo/src/utils/math.ts");
 })();
 
 ;
@@ -34572,8 +34891,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(StarsContainer, "StarsContainer", "/home/gcarron/dev/ecolyo/src/components/Challenge/StarsContainer.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Challenge/StarsContainer.tsx");
+  reactHotLoader.register(StarsContainer, "StarsContainer", "/home/bastien/ecolyo/src/components/Challenge/StarsContainer.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Challenge/StarsContainer.tsx");
 })();
 
 ;
@@ -34728,8 +35047,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DuelEmptyValueModal, "DuelEmptyValueModal", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelEmptyValueModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelEmptyValueModal.tsx");
+  reactHotLoader.register(DuelEmptyValueModal, "DuelEmptyValueModal", "/home/bastien/ecolyo/src/components/Duel/DuelEmptyValueModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Duel/DuelEmptyValueModal.tsx");
 })();
 
 ;
@@ -34848,8 +35167,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(EfficientyRating, "EfficientyRating", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EfficientyRating.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Ecogesture/EfficientyRating.tsx");
+  reactHotLoader.register(EfficientyRating, "EfficientyRating", "/home/bastien/ecolyo/src/components/Ecogesture/EfficientyRating.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Ecogesture/EfficientyRating.tsx");
 })();
 
 ;
@@ -35085,7 +35404,7 @@ exports.MigrationService = MigrationService;
     return;
   }
 
-  reactHotLoader.register(MigrationService, "MigrationService", "/home/gcarron/dev/ecolyo/src/migrations/migration.service.ts");
+  reactHotLoader.register(MigrationService, "MigrationService", "/home/bastien/ecolyo/src/migrations/migration.service.ts");
 })();
 
 ;
@@ -35120,6 +35439,186 @@ var result = _node_modules_svg_sprite_loader_runtime_browser_sprite_build_js__WE
 
 /***/ }),
 
+/***/ "vMBp":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(module) {
+
+var _interopRequireDefault = __webpack_require__("TqRt");
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+
+var _classCallCheck2 = _interopRequireDefault(__webpack_require__("lwsE"));
+
+var _createClass2 = _interopRequireDefault(__webpack_require__("W8MJ"));
+
+var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA"));
+
+var _appDataset = __webpack_require__("uVqs");
+
+(function () {
+  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
+  enterModule && enterModule(module);
+})();
+
+var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
+  return a;
+};
+
+var MatomoTracker = /*#__PURE__*/function () {
+  function MatomoTracker(_ref) {
+    var cozyUrl = _ref.cozyUrl,
+        url = _ref.url,
+        siteId = _ref.siteId,
+        history = _ref.history,
+        _ref$phpFilename = _ref.phpFilename,
+        phpFilename = _ref$phpFilename === void 0 ? 'matomo.php' : _ref$phpFilename;
+    (0, _classCallCheck2.default)(this, MatomoTracker);
+    (0, _defineProperty2.default)(this, "cozyUrl", void 0);
+    (0, _defineProperty2.default)(this, "url", void 0);
+    (0, _defineProperty2.default)(this, "siteId", void 0);
+    (0, _defineProperty2.default)(this, "phpFilename", void 0);
+    (0, _defineProperty2.default)(this, "history", void 0);
+    (0, _defineProperty2.default)(this, "unlistenFromHistory", void 0);
+
+    if (url === undefined || siteId === undefined) {
+      throw new Error('MatomoTracker cannot be initialized! SiteId and url are mandatory.');
+    }
+
+    this.cozyUrl = cozyUrl;
+    this.url = url;
+    this.siteId = siteId;
+    this.phpFilename = phpFilename;
+    this.history = history;
+
+    this.unlistenFromHistory = function () {
+      return null;
+    };
+
+    this.init();
+  }
+
+  (0, _createClass2.default)(MatomoTracker, [{
+    key: "init",
+    value: function init() {
+      if (typeof window !== 'undefined') {
+        window._paq = window._paq || [];
+        MatomoTracker.push(['enableHeartBeatTimer', 30]);
+        MatomoTracker.push(['setSiteId', this.siteId]);
+        MatomoTracker.push(['setReferrerUrl', 'https://ecolyo.com']);
+        MatomoTracker.push(['setTrackerUrl', "".concat(this.url + this.phpFilename)]);
+        MatomoTracker.push(['enableLinkTracking']);
+        MatomoTracker.push(['setUserId', this.cozyUrl]);
+      }
+
+      return {
+        push: MatomoTracker.push,
+        track: this.track,
+        connectToHistory: this.connectToHistory,
+        disconnectFromHistory: this.disconnectFromHistory
+      };
+    }
+  }, {
+    key: "configure",
+    value: function configure() {
+      console.log('CONFIGURE');
+      var cozyDomain;
+      var userId;
+      var root = document.querySelector('[role=application]');
+
+      if (root && root.dataset) {
+        cozyDomain = (0, _appDataset.readCozyDataFromDOM)('cozyDomain');
+      }
+
+      if (cozyDomain) {
+        userId = cozyDomain;
+        var indexOfPort = cozyDomain.indexOf(':');
+
+        if (indexOfPort >= 0) {
+          userId = userId.substring(0, indexOfPort);
+        }
+      }
+
+      console.log('USER ID', userId);
+
+      if (userId) {
+        MatomoTracker.push(['setUserId', userId]);
+      }
+    }
+  }, {
+    key: "connectToHistory",
+    value: function connectToHistory() {
+      var _this = this;
+
+      this.unlistenFromHistory = this.history.listen(function (loc) {
+        _this.track(loc);
+      });
+    }
+  }, {
+    key: "disconnectFromHistory",
+    value: function disconnectFromHistory() {
+      if (this.unlistenFromHistory) {
+        this.unlistenFromHistory();
+        return true;
+      }
+
+      return false;
+    }
+  }, {
+    key: "track",
+    value: function track(loc) {
+      if (typeof window === 'undefined') {
+        return;
+      }
+
+      var currentPath = loc.hash.substring(1);
+      MatomoTracker.push(['setDocumentTitle', currentPath.substring(1)]);
+      MatomoTracker.push(['setCustomUrl', 'https://ecolyo.com' + currentPath]);
+      MatomoTracker.push(['trackPageView']);
+    }
+  }, {
+    key: "__reactstandin__regenerateByEval",
+    value: // @ts-ignore
+    function __reactstandin__regenerateByEval(key, code) {
+      // @ts-ignore
+      this[key] = eval(code);
+    }
+  }], [{
+    key: "push",
+    value: function push(args) {
+      window._paq.push(args);
+    }
+  }]);
+  return MatomoTracker;
+}();
+
+exports.default = MatomoTracker;
+;
+
+(function () {
+  var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
+
+  if (!reactHotLoader) {
+    return;
+  }
+
+  reactHotLoader.register(MatomoTracker, "MatomoTracker", "/home/bastien/ecolyo/src/utils/matomoTracker.ts");
+})();
+
+;
+
+(function () {
+  var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
+  leaveModule && leaveModule(module);
+})();
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("YuTi")(module)))
+
+/***/ }),
+
 /***/ "vOAL":
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
@@ -35175,14 +35674,12 @@ var _interopRequireDefault = __webpack_require__("TqRt");
 Object.defineProperty(exports, "__esModule", {
   value: true
 });
-exports.history = exports.default = exports.App = void 0;
+exports.default = exports.App = void 0;
 
-var _react = _interopRequireDefault(__webpack_require__("q1tI"));
+var _react = _interopRequireWildcard(__webpack_require__("q1tI"));
 
 var _reactRouterDom = __webpack_require__("55Ip");
 
-var _history = __webpack_require__("LhCv");
-
 var _Layout = __webpack_require__("Bh3+");
 
 var _reactRedux = __webpack_require__("/MKj");
@@ -35204,14 +35701,17 @@ var _WelcomeModal = _interopRequireDefault(__webpack_require__("TabY"));
   enterModule && enterModule(module);
 })();
 
+function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
+
+function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
+
 var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
   return a;
 };
 
-var history = (0, _history.createBrowserHistory)();
-exports.history = history;
+var App = function App(_ref) {
+  var tracker = _ref.tracker;
 
-var App = function App() {
   var _useSelector = (0, _reactRedux.useSelector)(function (state) {
     return state.ecolyo.profile;
   }),
@@ -35223,6 +35723,15 @@ var App = function App() {
   }),
       termsStatus = _useSelector2.termsStatus;
 
+  (0, _react.useEffect)(function () {
+    if (termsStatus.accepted) {
+      tracker.connectToHistory();
+    }
+
+    return function () {
+      tracker.disconnectFromHistory();
+    };
+  }, [termsStatus.accepted, tracker]);
   return /*#__PURE__*/_react.default.createElement(_reactRouterDom.HashRouter, history, /*#__PURE__*/_react.default.createElement(_Layout.Layout, null, /*#__PURE__*/_react.default.createElement(_SplashRoot.default, {
     splashComponent: _SplashScreen.default,
     splashErrorComponent: _SplashScreenError.default
@@ -35238,7 +35747,7 @@ var App = function App() {
 
 exports.App = App;
 
-__signature__(App, "useSelector{{ onboarding, isProfileEcogestureCompleted }}\nuseSelector{{ termsStatus }}", function () {
+__signature__(App, "useSelector{{ onboarding, isProfileEcogestureCompleted }}\nuseSelector{{ termsStatus }}\nuseEffect{}", function () {
   return [_reactRedux.useSelector, _reactRedux.useSelector];
 });
 
@@ -35254,9 +35763,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(history, "history", "/home/gcarron/dev/ecolyo/src/components/App.tsx");
-  reactHotLoader.register(App, "App", "/home/gcarron/dev/ecolyo/src/components/App.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/App.tsx");
+  reactHotLoader.register(App, "App", "/home/bastien/ecolyo/src/components/App.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/App.tsx");
 })();
 
 ;
@@ -35689,7 +36197,7 @@ exports.default = EcogestureService;
     return;
   }
 
-  reactHotLoader.register(EcogestureService, "EcogestureService", "/home/gcarron/dev/ecolyo/src/services/ecogesture.service.ts");
+  reactHotLoader.register(EcogestureService, "EcogestureService", "/home/bastien/ecolyo/src/services/ecogesture.service.ts");
 })();
 
 ;
@@ -36046,7 +36554,7 @@ exports.default = TermsService;
     return;
   }
 
-  reactHotLoader.register(TermsService, "TermsService", "/home/gcarron/dev/ecolyo/src/services/terms.service.ts");
+  reactHotLoader.register(TermsService, "TermsService", "/home/bastien/ecolyo/src/services/terms.service.ts");
 })();
 
 ;
@@ -36321,7 +36829,7 @@ exports.default = ConsumptionFormatterService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/gcarron/dev/ecolyo/src/services/consumptionFormatter.service.ts");
+  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/bastien/ecolyo/src/services/consumptionFormatter.service.ts");
 })();
 
 ;
@@ -36365,7 +36873,7 @@ exports.ENEDIS_MONTH_DOCTYPE = ENEDIS_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
+  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
 })();
 
 ;
@@ -36589,8 +37097,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ChallengeCardUnlocked, "ChallengeCardUnlocked", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeCardUnlocked.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Challenge/ChallengeCardUnlocked.tsx");
+  reactHotLoader.register(ChallengeCardUnlocked, "ChallengeCardUnlocked", "/home/bastien/ecolyo/src/components/Challenge/ChallengeCardUnlocked.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Challenge/ChallengeCardUnlocked.tsx");
 })();
 
 ;
@@ -36759,8 +37267,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(GCUContent, "GCUContent", "/home/gcarron/dev/ecolyo/src/components/GCU/GCUContent.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/GCU/GCUContent.tsx");
+  reactHotLoader.register(GCUContent, "GCUContent", "/home/bastien/ecolyo/src/components/GCU/GCUContent.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/GCU/GCUContent.tsx");
 })();
 
 ;
@@ -36967,8 +37475,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ActionModal, "ActionModal", "/home/gcarron/dev/ecolyo/src/components/Action/ActionModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Action/ActionModal.tsx");
+  reactHotLoader.register(ActionModal, "ActionModal", "/home/bastien/ecolyo/src/components/Action/ActionModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Action/ActionModal.tsx");
 })();
 
 ;
@@ -37034,7 +37542,7 @@ exports.SCHEMAS_DOCTYPE = SCHEMAS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
+  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
 })();
 
 ;
@@ -37260,8 +37768,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DuelResultModal, "DuelResultModal", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelResultModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Duel/DuelResultModal.tsx");
+  reactHotLoader.register(DuelResultModal, "DuelResultModal", "/home/bastien/ecolyo/src/components/Duel/DuelResultModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Duel/DuelResultModal.tsx");
 })();
 
 ;
@@ -37637,7 +38145,7 @@ exports.default = FluidService;
     return;
   }
 
-  reactHotLoader.register(FluidService, "FluidService", "/home/gcarron/dev/ecolyo/src/services/fluid.service.ts");
+  reactHotLoader.register(FluidService, "FluidService", "/home/bastien/ecolyo/src/services/fluid.service.ts");
 })();
 
 ;
@@ -38095,7 +38603,7 @@ exports.default = ExplorationService;
     return;
   }
 
-  reactHotLoader.register(ExplorationService, "ExplorationService", "/home/gcarron/dev/ecolyo/src/services/exploration.service.ts");
+  reactHotLoader.register(ExplorationService, "ExplorationService", "/home/bastien/ecolyo/src/services/exploration.service.ts");
 })();
 
 ;
@@ -38143,23 +38651,35 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
+var _regenerator = _interopRequireDefault(__webpack_require__("o0o1"));
+
+var _toConsumableArray2 = _interopRequireDefault(__webpack_require__("RIqP"));
+
 var _objectSpread2 = _interopRequireDefault(__webpack_require__("MVZn"));
 
+var _slicedToArray2 = _interopRequireDefault(__webpack_require__("J4zp"));
+
+var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU"));
+
+var _classCallCheck2 = _interopRequireDefault(__webpack_require__("lwsE"));
+
+var _createClass2 = _interopRequireDefault(__webpack_require__("W8MJ"));
+
 var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA"));
 
 var _cozyClient = __webpack_require__("SH7X");
 
-var _challengeEntity = _interopRequireDefault(__webpack_require__("+LQo"));
+var _challengeEntity2 = _interopRequireDefault(__webpack_require__("+LQo"));
 
-var _duelEntity = _interopRequireDefault(__webpack_require__("NErO"));
+var _duelEntity2 = _interopRequireDefault(__webpack_require__("NErO"));
 
 var _ecogestureData = _interopRequireDefault(__webpack_require__("/uBH"));
 
-var _explorationEntity = _interopRequireDefault(__webpack_require__("66aa"));
+var _explorationEntity2 = _interopRequireDefault(__webpack_require__("66aa"));
 
 var _profileData = _interopRequireDefault(__webpack_require__("xJBY"));
 
-var _quizEntity = _interopRequireDefault(__webpack_require__("lMoa"));
+var _quizEntity2 = _interopRequireDefault(__webpack_require__("lMoa"));
 
 var _doctypes = __webpack_require__("D2hQ");
 
@@ -38177,7 +38697,7 @@ var _challenge = _interopRequireDefault(__webpack_require__("kdea"));
 
 var _duel = _interopRequireDefault(__webpack_require__("Vpb/"));
 
-var _ecogesture = _interopRequireDefault(__webpack_require__("w4u3"));
+var _ecogesture2 = _interopRequireDefault(__webpack_require__("w4u3"));
 
 var _exploration = _interopRequireDefault(__webpack_require__("z8s1"));
 
@@ -38212,12 +38732,19 @@ var _terms = _interopRequireDefault(__webpack_require__("wPjT"));
   enterModule && enterModule(module);
 })();
 
+function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
+
+function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
+
+function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
+
 var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
   return a;
 };
 
-class InitializationService {
-  constructor(_client, _setinitStep, _setinitStepError) {
+var InitializationService = /*#__PURE__*/function () {
+  function InitializationService(_client, _setinitStep, _setinitStepError) {
+    (0, _classCallCheck2.default)(this, InitializationService);
     (0, _defineProperty2.default)(this, "_client", void 0);
     (0, _defineProperty2.default)(this, "_setinitStep", void 0);
     (0, _defineProperty2.default)(this, "_setinitStepError", void 0);
@@ -38230,782 +38757,1840 @@ class InitializationService {
    */
 
 
-  async createIndex(doctype, timestep) {
-    const getMongoSelector = () => {
-      switch (timestep) {
-        case _timeStep.TimeStep.YEAR:
-          return {
-            year: {
-              $lte: 9999
+  (0, _createClass2.default)(InitializationService, [{
+    key: "createIndex",
+    value: function () {
+      var _createIndex = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(doctype, timestep) {
+        var getMongoSelector, query;
+        return _regenerator.default.wrap(function _callee$(_context) {
+          while (1) {
+            switch (_context.prev = _context.next) {
+              case 0:
+                getMongoSelector = function getMongoSelector() {
+                  switch (timestep) {
+                    case _timeStep.TimeStep.YEAR:
+                      return {
+                        year: {
+                          $lte: 9999
+                        }
+                      };
+
+                    case _timeStep.TimeStep.MONTH:
+                      return {
+                        year: {
+                          $lte: 9999
+                        },
+                        month: {
+                          $lte: 12
+                        }
+                      };
+
+                    case _timeStep.TimeStep.DAY:
+                    case _timeStep.TimeStep.HALF_AN_HOUR:
+                      return {
+                        year: {
+                          $lte: 9999
+                        },
+                        month: {
+                          $lte: 12
+                        },
+                        day: {
+                          $lte: 31
+                        }
+                      };
+
+                    default:
+                      return {};
+                  }
+                };
+
+                query = (0, _cozyClient.Q)(doctype).where(getMongoSelector()).limitBy(1);
+                _context.next = 4;
+                return this._client.query(query);
+
+              case 4:
+                return _context.abrupt("return", _context.sent);
+
+              case 5:
+              case "end":
+                return _context.stop();
             }
-          };
+          }
+        }, _callee, this);
+      }));
 
-        case _timeStep.TimeStep.MONTH:
-          return {
-            year: {
-              $lte: 9999
-            },
-            month: {
-              $lte: 12
+      function createIndex(_x, _x2) {
+        return _createIndex.apply(this, arguments);
+      }
+
+      return createIndex;
+    }()
+    /*
+     * create index for each Doctype
+     * sucess return: true
+     * failure throw error
+     */
+
+  }, {
+    key: "initIndex",
+    value: function () {
+      var _initIndex = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
+        var accountService, konnectorService;
+        return _regenerator.default.wrap(function _callee2$(_context2) {
+          while (1) {
+            switch (_context2.prev = _context2.next) {
+              case 0:
+                _context2.prev = 0;
+                accountService = new _account.default(this._client);
+                konnectorService = new _konnector.default(this._client);
+                _context2.next = 5;
+                return Promise.all([this.createIndex(_doctypes.EGL_YEAR_DOCTYPE, _timeStep.TimeStep.YEAR), this.createIndex(_doctypes.EGL_MONTH_DOCTYPE, _timeStep.TimeStep.MONTH), this.createIndex(_doctypes.EGL_DAY_DOCTYPE, _timeStep.TimeStep.DAY), this.createIndex(_doctypes.ENEDIS_YEAR_DOCTYPE, _timeStep.TimeStep.YEAR), this.createIndex(_doctypes.ENEDIS_MONTH_DOCTYPE, _timeStep.TimeStep.MONTH), this.createIndex(_doctypes.ENEDIS_DAY_DOCTYPE, _timeStep.TimeStep.DAY), this.createIndex(_doctypes.ENEDIS_MINUTE_DOCTYPE, _timeStep.TimeStep.HALF_AN_HOUR), this.createIndex(_doctypes.GRDF_YEAR_DOCTYPE, _timeStep.TimeStep.YEAR), this.createIndex(_doctypes.GRDF_MONTH_DOCTYPE, _timeStep.TimeStep.MONTH), this.createIndex(_doctypes.GRDF_DAY_DOCTYPE, _timeStep.TimeStep.DAY), konnectorService.createIndexKonnector(), accountService.createIndexAccount()]);
+
+              case 5:
+                _logger.default.info('[Initialization] Indexes created');
+
+                return _context2.abrupt("return", true);
+
+              case 9:
+                _context2.prev = 9;
+                _context2.t0 = _context2["catch"](0);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.INDEX_ERROR);
+
+                _logger.default.error('Initialization error - initIndex: ', _context2.t0);
+
+                throw _context2.t0;
+
+              case 14:
+              case "end":
+                return _context2.stop();
             }
-          };
+          }
+        }, _callee2, this, [[0, 9]]);
+      }));
 
-        case _timeStep.TimeStep.DAY:
-        case _timeStep.TimeStep.HALF_AN_HOUR:
-          return {
-            year: {
-              $lte: 9999
-            },
-            month: {
-              $lte: 12
-            },
-            day: {
-              $lte: 31
+      function initIndex() {
+        return _initIndex.apply(this, arguments);
+      }
+
+      return initIndex;
+    }()
+    /*
+     * Check if profil exist
+     * If not, the profil is created
+     * sucess return: profil
+     * failure return: null
+     */
+
+  }, {
+    key: "initProfile",
+    value: function () {
+      var _initProfile = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {
+        var profileService, loadedProfile, _yield$this$_client$c, newProfile, updatedProfile;
+
+        return _regenerator.default.wrap(function _callee3$(_context3) {
+          while (1) {
+            switch (_context3.prev = _context3.next) {
+              case 0:
+                profileService = new _profile.default(this._client);
+                _context3.prev = 1;
+
+                this._setinitStep(_initialisationSteps.InitSteps.PROFILE);
+
+                _context3.next = 5;
+                return profileService.getProfile();
+
+              case 5:
+                loadedProfile = _context3.sent;
+
+                if (loadedProfile) {
+                  _context3.next = 19;
+                  break;
+                }
+
+                _context3.next = 9;
+                return this._client.create(_doctypes.PROFILE_DOCTYPE, _profileData.default[0]);
+
+              case 9:
+                _yield$this$_client$c = _context3.sent;
+                newProfile = _yield$this$_client$c.data;
+
+                if (!newProfile) {
+                  _context3.next = 15;
+                  break;
+                }
+
+                _logger.default.info('[Initialization] Profile created');
+
+                _context3.next = 17;
+                break;
+
+              case 15:
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.PROFILE_ERROR);
+
+                throw new Error('initProfile: Profile not created');
+
+              case 17:
+                _context3.next = 20;
+                break;
+
+              case 19:
+                _logger.default.info('[Initialization] Profile loaded');
+
+              case 20:
+                _context3.next = 22;
+                return profileService.updateProfile({
+                  lastConnectionDate: _luxon.DateTime.local().setZone('utc', {
+                    keepLocalTime: true
+                  })
+                });
+
+              case 22:
+                updatedProfile = _context3.sent;
+                return _context3.abrupt("return", updatedProfile);
+
+              case 26:
+                _context3.prev = 26;
+                _context3.t0 = _context3["catch"](1);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.PROFILE_ERROR);
+
+                _logger.default.error('Initialization error - initProfile: ', _context3.t0);
+
+                throw _context3.t0;
+
+              case 31:
+              case "end":
+                return _context3.stop();
             }
-          };
+          }
+        }, _callee3, this, [[1, 26]]);
+      }));
 
-        default:
-          return {};
+      function initProfile() {
+        return _initProfile.apply(this, arguments);
       }
-    };
 
-    const query = (0, _cozyClient.Q)(doctype).where(getMongoSelector()).limitBy(1);
-    return await this._client.query(query);
-  }
-  /*
-   * create index for each Doctype
-   * sucess return: true
-   * failure throw error
-   */
+      return initProfile;
+    }()
+    /*
+     * Check if profileType exist
+     * If not, the profileType is created
+     * sucess return: profileType
+     * failure return: null
+     */
 
+  }, {
+    key: "initProfileType",
+    value: function () {
+      var _initProfileType = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {
+        var profileTypeEntityService, loadedProfileType;
+        return _regenerator.default.wrap(function _callee4$(_context4) {
+          while (1) {
+            switch (_context4.prev = _context4.next) {
+              case 0:
+                profileTypeEntityService = new _profileTypeEntity.default(this._client);
+                _context4.prev = 1;
+                _context4.next = 4;
+                return profileTypeEntityService.getProfileType();
 
-  async initIndex() {
-    try {
-      const accountService = new _account.default(this._client);
-      const konnectorService = new _konnector.default(this._client);
-      await Promise.all([this.createIndex(_doctypes.EGL_YEAR_DOCTYPE, _timeStep.TimeStep.YEAR), this.createIndex(_doctypes.EGL_MONTH_DOCTYPE, _timeStep.TimeStep.MONTH), this.createIndex(_doctypes.EGL_DAY_DOCTYPE, _timeStep.TimeStep.DAY), this.createIndex(_doctypes.ENEDIS_YEAR_DOCTYPE, _timeStep.TimeStep.YEAR), this.createIndex(_doctypes.ENEDIS_MONTH_DOCTYPE, _timeStep.TimeStep.MONTH), this.createIndex(_doctypes.ENEDIS_DAY_DOCTYPE, _timeStep.TimeStep.DAY), this.createIndex(_doctypes.ENEDIS_MINUTE_DOCTYPE, _timeStep.TimeStep.HALF_AN_HOUR), this.createIndex(_doctypes.GRDF_YEAR_DOCTYPE, _timeStep.TimeStep.YEAR), this.createIndex(_doctypes.GRDF_MONTH_DOCTYPE, _timeStep.TimeStep.MONTH), this.createIndex(_doctypes.GRDF_DAY_DOCTYPE, _timeStep.TimeStep.DAY), konnectorService.createIndexKonnector(), accountService.createIndexAccount()]);
+              case 4:
+                loadedProfileType = _context4.sent;
 
-      _logger.default.info('[Initialization] Indexes created');
+                _logger.default.info('[Initialization] ProfileType loaded');
 
-      return true;
-    } catch (error) {
-      this._setinitStepError(_initialisationSteps.InitStepsErrors.INDEX_ERROR);
+                return _context4.abrupt("return", loadedProfileType);
 
-      _logger.default.error('Initialization error - initIndex: ', error);
+              case 9:
+                _context4.prev = 9;
+                _context4.t0 = _context4["catch"](1);
 
-      throw error;
-    }
-  }
-  /*
-   * Check if profil exist
-   * If not, the profil is created
-   * sucess return: profil
-   * failure return: null
-   */
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.PROFILETYPE_ERROR);
 
+                _logger.default.error('Initialization error - initProfileType: ', _context4.t0);
 
-  async initProfile() {
-    const profileService = new _profile.default(this._client);
+                throw _context4.t0;
 
-    try {
-      this._setinitStep(_initialisationSteps.InitSteps.PROFILE);
+              case 14:
+              case "end":
+                return _context4.stop();
+            }
+          }
+        }, _callee4, this, [[1, 9]]);
+      }));
 
-      const loadedProfile = await profileService.getProfile();
+      function initProfileType() {
+        return _initProfileType.apply(this, arguments);
+      }
 
-      if (!loadedProfile) {
-        // Population with the data
-        const {
-          data: newProfile
-        } = await this._client.create(_doctypes.PROFILE_DOCTYPE, _profileData.default[0]);
+      return initProfileType;
+    }()
+  }, {
+    key: "initProfileEcogesture",
+    value: function () {
+      var _initProfileEcogesture = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {
+        var profileEcogestureService, loadedProfileEcogesture;
+        return _regenerator.default.wrap(function _callee5$(_context5) {
+          while (1) {
+            switch (_context5.prev = _context5.next) {
+              case 0:
+                profileEcogestureService = new _profileEcogesture.default(this._client);
+                _context5.prev = 1;
+                _context5.next = 4;
+                return profileEcogestureService.getProfileEcogesture();
 
-        if (newProfile) {
-          _logger.default.info('[Initialization] Profile created');
-        } else {
-          this._setinitStepError(_initialisationSteps.InitStepsErrors.PROFILE_ERROR);
+              case 4:
+                loadedProfileEcogesture = _context5.sent;
 
-          throw new Error('initProfile: Profile not created');
-        }
-      } else {
-        _logger.default.info('[Initialization] Profile loaded');
+                _logger.default.info('[Initialization] ProfileEcogesture loaded');
+
+                return _context5.abrupt("return", loadedProfileEcogesture);
+
+              case 9:
+                _context5.prev = 9;
+                _context5.t0 = _context5["catch"](1);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.PROFILETYPE_ERROR);
+
+                _logger.default.error('Initialization error - initProfileEcogesture: ', _context5.t0);
+
+                throw _context5.t0;
+
+              case 14:
+              case "end":
+                return _context5.stop();
+            }
+          }
+        }, _callee5, this, [[1, 9]]);
+      }));
+
+      function initProfileEcogesture() {
+        return _initProfileEcogesture.apply(this, arguments);
       }
 
-      const updatedProfile = await profileService.updateProfile({
-        lastConnectionDate: _luxon.DateTime.local().setZone('utc', {
-          keepLocalTime: true
-        })
-      });
-      return updatedProfile;
-    } catch (error) {
-      this._setinitStepError(_initialisationSteps.InitStepsErrors.PROFILE_ERROR);
+      return initProfileEcogesture;
+    }()
+  }, {
+    key: "initEcogesture",
+    value: function () {
+      var _initEcogesture = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(hash) {
+        var hashEcogestureType, ecogestureService, loadedEcogestures, _iterator, _step, ecogesture, checkCount, _iterator2, _step2, _step2$value, index, _ecogesture, updateEcogesture, _checkCount;
 
-      _logger.default.error('Initialization error - initProfile: ', error);
+        return _regenerator.default.wrap(function _callee6$(_context6) {
+          while (1) {
+            switch (_context6.prev = _context6.next) {
+              case 0:
+                this._setinitStep(_initialisationSteps.InitSteps.ECOGESTURE);
 
-      throw error;
-    }
-  }
-  /*
-   * Check if profileType exist
-   * If not, the profileType is created
-   * sucess return: profileType
-   * failure return: null
-   */
+                hashEcogestureType = (0, _hash.hashFile)(_ecogestureData.default);
+                ecogestureService = new _ecogesture2.default(this._client); // Populate data if none ecogesture exists
 
+                _context6.next = 5;
+                return ecogestureService.getAllEcogestures(undefined, true);
 
-  async initProfileType() {
-    const profileTypeEntityService = new _profileTypeEntity.default(this._client);
+              case 5:
+                loadedEcogestures = _context6.sent;
 
-    try {
-      const loadedProfileType = await profileTypeEntityService.getProfileType();
+                if (!(!loadedEcogestures || loadedEcogestures && loadedEcogestures.length === 0)) {
+                  _context6.next = 40;
+                  break;
+                }
 
-      _logger.default.info('[Initialization] ProfileType loaded');
+                _context6.prev = 7;
+                _iterator = _createForOfIteratorHelper(_ecogestureData.default);
+                _context6.prev = 9;
 
-      return loadedProfileType;
-    } catch (error) {
-      this._setinitStepError(_initialisationSteps.InitStepsErrors.PROFILETYPE_ERROR);
+                _iterator.s();
 
-      _logger.default.error('Initialization error - initProfileType: ', error);
+              case 11:
+                if ((_step = _iterator.n()).done) {
+                  _context6.next = 17;
+                  break;
+                }
 
-      throw error;
-    }
-  }
+                ecogesture = _step.value;
+                _context6.next = 15;
+                return this._client.create(_doctypes.ECOGESTURE_DOCTYPE, ecogesture);
 
-  async initProfileEcogesture() {
-    const profileEcogestureService = new _profileEcogesture.default(this._client);
+              case 15:
+                _context6.next = 11;
+                break;
 
-    try {
-      const loadedProfileEcogesture = await profileEcogestureService.getProfileEcogesture();
+              case 17:
+                _context6.next = 22;
+                break;
 
-      _logger.default.info('[Initialization] ProfileEcogesture loaded');
+              case 19:
+                _context6.prev = 19;
+                _context6.t0 = _context6["catch"](9);
 
-      return loadedProfileEcogesture;
-    } catch (error) {
-      this._setinitStepError(_initialisationSteps.InitStepsErrors.PROFILETYPE_ERROR);
+                _iterator.e(_context6.t0);
 
-      _logger.default.error('Initialization error - initProfileEcogesture: ', error);
+              case 22:
+                _context6.prev = 22;
 
-      throw error;
-    }
-  }
+                _iterator.f();
 
-  async initEcogesture(hash) {
-    this._setinitStep(_initialisationSteps.InitSteps.ECOGESTURE);
+                return _context6.finish(22);
 
-    const hashEcogestureType = (0, _hash.hashFile)(_ecogestureData.default);
-    const ecogestureService = new _ecogesture.default(this._client); // Populate data if none ecogesture exists
+              case 25:
+                _context6.next = 27;
+                return ecogestureService.getAllEcogestures();
 
-    const loadedEcogestures = await ecogestureService.getAllEcogestures(undefined, true);
+              case 27:
+                checkCount = _context6.sent;
 
-    if (!loadedEcogestures || loadedEcogestures && loadedEcogestures.length === 0) {
-      // Populate the doctype with data
-      try {
-        for (const ecogesture of _ecogestureData.default) {
-          await this._client.create(_doctypes.ECOGESTURE_DOCTYPE, ecogesture);
-        } // Check of created document based on count
+                if (!(!checkCount || checkCount && checkCount.length !== _ecogestureData.default.length)) {
+                  _context6.next = 31;
+                  break;
+                }
 
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.ECOGESTURE_ERROR);
 
-        const checkCount = await ecogestureService.getAllEcogestures();
+                throw new Error('initEcogesture: Created ecogesture type entities does not match');
 
-        if (!checkCount || checkCount && checkCount.length !== _ecogestureData.default.length) {
-          this._setinitStepError(_initialisationSteps.InitStepsErrors.ECOGESTURE_ERROR);
+              case 31:
+                _logger.default.info('[Initialization] Ecogesture list created');
 
-          throw new Error('initEcogesture: Created ecogesture type entities does not match');
-        }
+                return _context6.abrupt("return", hashEcogestureType);
 
-        _logger.default.info('[Initialization] Ecogesture list created');
+              case 35:
+                _context6.prev = 35;
+                _context6.t1 = _context6["catch"](7);
 
-        return hashEcogestureType;
-      } catch (error) {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.ECOGESTURE_ERROR);
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.ECOGESTURE_ERROR);
 
-        _logger.default.error('Initialization error - initEcogesture: ', error);
+                _logger.default.error('Initialization error - initEcogesture: ', _context6.t1);
 
-        throw error;
-      }
-    } // Update if the hash is not the same as the one from profile
+                throw _context6.t1;
 
+              case 40:
+                if (!(hash !== hashEcogestureType)) {
+                  _context6.next = 79;
+                  break;
+                }
 
-    if (hash !== hashEcogestureType) {
-      // Update the doctype
-      try {
-        // Deletion of all documents
-        await ecogestureService.deleteAllEcogestures(); // Population with the data
+                _context6.prev = 41;
+                _context6.next = 44;
+                return ecogestureService.deleteAllEcogestures();
 
-        for (const [index, ecogesture] of _ecogestureData.default.entries()) {
-          const updateEcogesture = loadedEcogestures[index] ? (0, _objectSpread2.default)({}, ecogesture, {
-            objective: loadedEcogestures[index].objective ? true : false,
-            doing: loadedEcogestures[index].doing ? true : false,
-            viewedInSelection: loadedEcogestures[index].viewedInSelection ? true : false
-          }) : ecogesture;
-          await this._client.create(_doctypes.ECOGESTURE_DOCTYPE, updateEcogesture);
-        } // Check of created document based on count
+              case 44:
+                // Population with the data
+                _iterator2 = _createForOfIteratorHelper(_ecogestureData.default.entries());
+                _context6.prev = 45;
 
+                _iterator2.s();
 
-        const checkCount = await ecogestureService.getAllEcogestures();
+              case 47:
+                if ((_step2 = _iterator2.n()).done) {
+                  _context6.next = 54;
+                  break;
+                }
 
-        if (!checkCount || checkCount && checkCount.length !== _ecogestureData.default.length) {
-          this._setinitStepError(_initialisationSteps.InitStepsErrors.ECOGESTURE_ERROR);
+                _step2$value = (0, _slicedToArray2.default)(_step2.value, 2), index = _step2$value[0], _ecogesture = _step2$value[1];
+                updateEcogesture = loadedEcogestures[index] ? (0, _objectSpread2.default)({}, _ecogesture, {
+                  objective: loadedEcogestures[index].objective ? true : false,
+                  doing: loadedEcogestures[index].doing ? true : false,
+                  viewedInSelection: loadedEcogestures[index].viewedInSelection ? true : false
+                }) : _ecogesture;
+                _context6.next = 52;
+                return this._client.create(_doctypes.ECOGESTURE_DOCTYPE, updateEcogesture);
 
-          throw new Error('initEcogesture: Created ecogesture type entities does not match');
-        }
+              case 52:
+                _context6.next = 47;
+                break;
 
-        _logger.default.info('[Initialization] Ecogesture updated');
+              case 54:
+                _context6.next = 59;
+                break;
 
-        return hashEcogestureType;
-      } catch (error) {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.ECOGESTURE_ERROR);
+              case 56:
+                _context6.prev = 56;
+                _context6.t2 = _context6["catch"](45);
 
-        _logger.default.error('Initialization error - initEcogesture: ', error);
+                _iterator2.e(_context6.t2);
 
-        throw error;
-      }
-    } else {
-      // Doctype already up to date
-      _logger.default.info('[Initialization]  Ecogesture already up-to-date');
+              case 59:
+                _context6.prev = 59;
 
-      return hashEcogestureType;
-    }
-  }
+                _iterator2.f();
 
-  async initFluidPrices() {
-    const fpService = new _fluidsPrices.default(this._client); // Populate data if none ecogesture exists
+                return _context6.finish(59);
 
-    const loadedPrices = await fpService.getAllPrices();
+              case 62:
+                _context6.next = 64;
+                return ecogestureService.getAllEcogestures();
 
-    if (loadedPrices && loadedPrices.length) {
-      _logger.default.info('[Initialization] FluidPrices db already created');
+              case 64:
+                _checkCount = _context6.sent;
 
-      return true;
-    } else {
-      try {
-        const fluidTypes = [_fluid.FluidType.ELECTRICITY, _fluid.FluidType.WATER, _fluid.FluidType.GAS];
-        const allPrices = [];
-        const env = new _environment.default();
-        const remoteUrl = env.isProduction() ? `/remote/org.ecolyo.backoffice.prices` : `/remote/org.ecolyo.backoffice.prices.rec`;
-
-        for (const fluid of fluidTypes) {
-          const prices = await this._client.getStackClient().fetchJSON('GET', `${remoteUrl}?fluidtype=${fluid}`);
-          allPrices.push(...prices);
-        }
+                if (!(!_checkCount || _checkCount && _checkCount.length !== _ecogestureData.default.length)) {
+                  _context6.next = 68;
+                  break;
+                }
 
-        for (const price of allPrices) {
-          await fpService.createPrice(price);
-        }
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.ECOGESTURE_ERROR);
 
-        _logger.default.info('[Initialization] FluidPrices db created successfully');
+                throw new Error('initEcogesture: Created ecogesture type entities does not match');
 
-        return true;
-      } catch (err) {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.PRICES_ERROR);
+              case 68:
+                _logger.default.info('[Initialization] Ecogesture updated');
 
-        _logger.default.error('Initialization error - initFluidPrices: ', err);
+                return _context6.abrupt("return", hashEcogestureType);
 
-        return false;
+              case 72:
+                _context6.prev = 72;
+                _context6.t3 = _context6["catch"](41);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.ECOGESTURE_ERROR);
+
+                _logger.default.error('Initialization error - initEcogesture: ', _context6.t3);
+
+                throw _context6.t3;
+
+              case 77:
+                _context6.next = 81;
+                break;
+
+              case 79:
+                // Doctype already up to date
+                _logger.default.info('[Initialization]  Ecogesture already up-to-date');
+
+                return _context6.abrupt("return", hashEcogestureType);
+
+              case 81:
+              case "end":
+                return _context6.stop();
+            }
+          }
+        }, _callee6, this, [[7, 35], [9, 19, 22, 25], [41, 72], [45, 56, 59, 62]]);
+      }));
+
+      function initEcogesture(_x3) {
+        return _initEcogesture.apply(this, arguments);
       }
-    }
-  }
 
-  async initChallengeEntity(hash) {
-    this._setinitStep(_initialisationSteps.InitSteps.CHALLENGES);
+      return initEcogesture;
+    }()
+  }, {
+    key: "initFluidPrices",
+    value: function () {
+      var _initFluidPrices = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {
+        var fpService, loadedPrices, fluidTypes, allPrices, env, remoteUrl, _i, _fluidTypes, fluid, prices, _i2, _allPrices, price;
 
-    const challengeHash = (0, _hash.hashFile)(_challengeEntity.default);
-    const challengeService = new _challenge.default(this._client); // Populate data if none challengeEntity exists
+        return _regenerator.default.wrap(function _callee7$(_context7) {
+          while (1) {
+            switch (_context7.prev = _context7.next) {
+              case 0:
+                fpService = new _fluidsPrices.default(this._client); // Populate data if none ecogesture exists
 
-    const loadedChallengeEntity = await challengeService.getAllChallengeEntities();
+                _context7.next = 3;
+                return fpService.getAllPrices();
 
-    if (!loadedChallengeEntity || loadedChallengeEntity && loadedChallengeEntity.length === 0) {
-      // Populate the doctype with data
-      try {
-        for (const challengeEntity of _challengeEntity.default) {
-          await this._client.create(_doctypes.CHALLENGE_DOCTYPE, challengeEntity);
-        } // Check of created document
+              case 3:
+                loadedPrices = _context7.sent;
 
+                if (!(loadedPrices && loadedPrices.length)) {
+                  _context7.next = 9;
+                  break;
+                }
 
-        const checkCount = await challengeService.getAllChallengeEntities();
+                _logger.default.info('[Initialization] FluidPrices db already created');
 
-        if (!checkCount || checkCount && checkCount.length !== _challengeEntity.default.length) {
-          this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                return _context7.abrupt("return", true);
 
-          throw new Error('initChallengeEntity: Created challenge entities does not match');
-        }
+              case 9:
+                _context7.prev = 9;
+                fluidTypes = [_fluid.FluidType.ELECTRICITY, _fluid.FluidType.WATER, _fluid.FluidType.GAS];
+                allPrices = [];
+                env = new _environment.default();
+                remoteUrl = env.isProduction() ? "/remote/org.ecolyo.backoffice.prices" : "/remote/org.ecolyo.backoffice.prices.rec";
+                _i = 0, _fluidTypes = fluidTypes;
 
-        _logger.default.info('[Initialization] Challenge entities created');
+              case 15:
+                if (!(_i < _fluidTypes.length)) {
+                  _context7.next = 24;
+                  break;
+                }
 
-        return challengeHash;
-      } catch (error) {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                fluid = _fluidTypes[_i];
+                _context7.next = 19;
+                return this._client.getStackClient().fetchJSON('GET', "".concat(remoteUrl, "?fluidtype=").concat(fluid));
 
-        _logger.default.error('Initialization error - initChallengeEntity: ', error);
+              case 19:
+                prices = _context7.sent;
+                allPrices.push.apply(allPrices, (0, _toConsumableArray2.default)(prices));
 
-        throw error;
-      }
-    } // Update if the hash is not the same as the one from profile
+              case 21:
+                _i++;
+                _context7.next = 15;
+                break;
 
+              case 24:
+                _i2 = 0, _allPrices = allPrices;
 
-    if (hash !== challengeHash) {
-      // Update the doctype
-      try {
-        // Deletion of all documents
-        await challengeService.deleteAllChallengeEntities(); // Population with the data
+              case 25:
+                if (!(_i2 < _allPrices.length)) {
+                  _context7.next = 32;
+                  break;
+                }
 
-        for (const challengeEntity of _challengeEntity.default) {
-          await this._client.create(_doctypes.CHALLENGE_DOCTYPE, challengeEntity);
-        } // Check of created document
+                price = _allPrices[_i2];
+                _context7.next = 29;
+                return fpService.createPrice(price);
 
+              case 29:
+                _i2++;
+                _context7.next = 25;
+                break;
 
-        const checkCount = await challengeService.getAllChallengeEntities();
+              case 32:
+                _logger.default.info('[Initialization] FluidPrices db created successfully');
 
-        if (!checkCount || checkCount && checkCount.length !== _challengeEntity.default.length) {
-          this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                return _context7.abrupt("return", true);
 
-          throw new Error('initChallengeEntity: Created challenge entities does not match');
-        }
+              case 36:
+                _context7.prev = 36;
+                _context7.t0 = _context7["catch"](9);
 
-        _logger.default.info('[Initialization] Challenge entities updated');
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.PRICES_ERROR);
 
-        return challengeHash;
-      } catch (error) {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                _logger.default.error('Initialization error - initFluidPrices: ', _context7.t0);
 
-        _logger.default.error('Initialization error - initChallengeEntity: ', error);
+                return _context7.abrupt("return", false);
 
-        throw error;
+              case 41:
+              case "end":
+                return _context7.stop();
+            }
+          }
+        }, _callee7, this, [[9, 36]]);
+      }));
+
+      function initFluidPrices() {
+        return _initFluidPrices.apply(this, arguments);
       }
-    } else {
-      // Doctype already up to date
-      _logger.default.info('[Initialization] Challenge Entity loaded');
 
-      return challengeHash;
-    }
-  }
+      return initFluidPrices;
+    }()
+  }, {
+    key: "initChallengeEntity",
+    value: function () {
+      var _initChallengeEntity = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8(hash) {
+        var challengeHash, challengeService, loadedChallengeEntity, _iterator3, _step3, challengeEntity, checkCount, _iterator4, _step4, _challengeEntity, _checkCount2;
 
-  async initDuelEntity(hash) {
-    const hashDuelEntity = (0, _hash.hashFile)(_duelEntity.default);
-    const duelService = new _duel.default(this._client); // Populate data if none DuelEntity exists
+        return _regenerator.default.wrap(function _callee8$(_context8) {
+          while (1) {
+            switch (_context8.prev = _context8.next) {
+              case 0:
+                this._setinitStep(_initialisationSteps.InitSteps.CHALLENGES);
 
-    const loadedDuelTypes = await duelService.getAllDuelEntities();
+                challengeHash = (0, _hash.hashFile)(_challengeEntity2.default);
+                challengeService = new _challenge.default(this._client); // Populate data if none challengeEntity exists
 
-    if (!loadedDuelTypes || loadedDuelTypes && loadedDuelTypes.length === 0) {
-      // Populate the doctype with data
-      try {
-        for (const duelEntity of _duelEntity.default) {
-          await this._client.create(_doctypes.DUEL_DOCTYPE, duelEntity);
-        } // Check of created document
+                _context8.next = 5;
+                return challengeService.getAllChallengeEntities();
 
+              case 5:
+                loadedChallengeEntity = _context8.sent;
 
-        const checkCount = await duelService.getAllDuelEntities();
+                if (!(!loadedChallengeEntity || loadedChallengeEntity && loadedChallengeEntity.length === 0)) {
+                  _context8.next = 40;
+                  break;
+                }
 
-        if (!checkCount || checkCount && checkCount.length !== _duelEntity.default.length) {
-          this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                _context8.prev = 7;
+                _iterator3 = _createForOfIteratorHelper(_challengeEntity2.default);
+                _context8.prev = 9;
 
-          throw new Error('initDuelEntity: Created duel entities does not match');
-        }
+                _iterator3.s();
 
-        _logger.default.info('[Initialization] UserDuel entities created');
+              case 11:
+                if ((_step3 = _iterator3.n()).done) {
+                  _context8.next = 17;
+                  break;
+                }
 
-        return hashDuelEntity;
-      } catch (error) {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                challengeEntity = _step3.value;
+                _context8.next = 15;
+                return this._client.create(_doctypes.CHALLENGE_DOCTYPE, challengeEntity);
 
-        _logger.default.error('Initialization error - initDuelEntity: ', error);
+              case 15:
+                _context8.next = 11;
+                break;
 
-        throw error;
-      }
-    } // Update if the hash is not the same as the one from profile
+              case 17:
+                _context8.next = 22;
+                break;
 
+              case 19:
+                _context8.prev = 19;
+                _context8.t0 = _context8["catch"](9);
 
-    if (hash !== hashDuelEntity) {
-      // Update the doctype
-      try {
-        // Deletion of all documents
-        await duelService.deleteAllDuelEntities(); // Population with the data
+                _iterator3.e(_context8.t0);
 
-        for (const duelEntity of _duelEntity.default) {
-          await this._client.create(_doctypes.DUEL_DOCTYPE, duelEntity);
-        } // Check of created document
+              case 22:
+                _context8.prev = 22;
 
+                _iterator3.f();
 
-        const checkCount = await duelService.getAllDuelEntities();
+                return _context8.finish(22);
 
-        if (!checkCount || checkCount && checkCount.length !== _duelEntity.default.length) {
-          this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+              case 25:
+                _context8.next = 27;
+                return challengeService.getAllChallengeEntities();
 
-          throw new Error('initDuelEntity: Created duel entities does not match');
-        }
+              case 27:
+                checkCount = _context8.sent;
 
-        _logger.default.info('[Initialization] UserDuel entities updated');
+                if (!(!checkCount || checkCount && checkCount.length !== _challengeEntity2.default.length)) {
+                  _context8.next = 31;
+                  break;
+                }
 
-        return hashDuelEntity;
-      } catch (error) {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
 
-        _logger.default.error('Initialization error - initDuelEntity: ', error);
+                throw new Error('initChallengeEntity: Created challenge entities does not match');
 
-        throw error;
-      }
-    } else {
-      // Doctype already up to date
-      _logger.default.info('[Initialization] Duel Entity loaded');
+              case 31:
+                _logger.default.info('[Initialization] Challenge entities created');
 
-      return hashDuelEntity;
-    }
-  }
+                return _context8.abrupt("return", challengeHash);
 
-  async initQuizEntity(hash) {
-    const quizHash = (0, _hash.hashFile)(_quizEntity.default);
-    const quizService = new _quiz.default(this._client); // Populate data if none quizEntity exists
+              case 35:
+                _context8.prev = 35;
+                _context8.t1 = _context8["catch"](7);
 
-    const loadedQuizEntity = await quizService.getAllQuizEntities();
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
 
-    if (!loadedQuizEntity || loadedQuizEntity && loadedQuizEntity.length === 0) {
-      // Populate the doctype with data
-      try {
-        for (const quizEntity of _quizEntity.default) {
-          await this._client.create(_doctypes.QUIZ_DOCTYPE, quizEntity);
-        } // Check of created document
+                _logger.default.error('Initialization error - initChallengeEntity: ', _context8.t1);
 
+                throw _context8.t1;
 
-        const checkCount = await quizService.getAllQuizEntities();
+              case 40:
+                if (!(hash !== challengeHash)) {
+                  _context8.next = 78;
+                  break;
+                }
 
-        if (!checkCount || checkCount && checkCount.length !== _quizEntity.default.length) {
-          this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                _context8.prev = 41;
+                _context8.next = 44;
+                return challengeService.deleteAllChallengeEntities();
 
-          throw new Error('initQuizEntity: Created quiz entities does not match');
-        }
+              case 44:
+                // Population with the data
+                _iterator4 = _createForOfIteratorHelper(_challengeEntity2.default);
+                _context8.prev = 45;
+
+                _iterator4.s();
 
-        _logger.default.info('[Initialization] Quiz entities created');
+              case 47:
+                if ((_step4 = _iterator4.n()).done) {
+                  _context8.next = 53;
+                  break;
+                }
 
-        return quizHash;
-      } catch (error) {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                _challengeEntity = _step4.value;
+                _context8.next = 51;
+                return this._client.create(_doctypes.CHALLENGE_DOCTYPE, _challengeEntity);
 
-        _logger.default.error('Initialization error - initQuizEntity: ', error);
+              case 51:
+                _context8.next = 47;
+                break;
 
-        throw error;
-      }
-    } // Update if the hash is not the same as the one from profile
+              case 53:
+                _context8.next = 58;
+                break;
 
+              case 55:
+                _context8.prev = 55;
+                _context8.t2 = _context8["catch"](45);
 
-    if (hash !== quizHash) {
-      // Update the doctype
-      try {
-        // Deletion of all documents
-        await quizService.deleteAllQuizEntities(); // Population with the data
+                _iterator4.e(_context8.t2);
 
-        for (const quizEntity of _quizEntity.default) {
-          await this._client.create(_doctypes.QUIZ_DOCTYPE, quizEntity);
-        } // Check of created document
+              case 58:
+                _context8.prev = 58;
 
+                _iterator4.f();
 
-        const checkCount = await quizService.getAllQuizEntities();
+                return _context8.finish(58);
 
-        if (!checkCount || checkCount && checkCount.length !== _quizEntity.default.length) {
-          this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+              case 61:
+                _context8.next = 63;
+                return challengeService.getAllChallengeEntities();
 
-          throw new Error('initQuizEntity: Created quiz entities does not match');
-        }
+              case 63:
+                _checkCount2 = _context8.sent;
 
-        _logger.default.info('[Initialization] Quiz entities updated');
+                if (!(!_checkCount2 || _checkCount2 && _checkCount2.length !== _challengeEntity2.default.length)) {
+                  _context8.next = 67;
+                  break;
+                }
 
-        return quizHash;
-      } catch (error) {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
 
-        _logger.default.error('Initialization error - initQuizEntity: ', error);
+                throw new Error('initChallengeEntity: Created challenge entities does not match');
 
-        throw error;
+              case 67:
+                _logger.default.info('[Initialization] Challenge entities updated');
+
+                return _context8.abrupt("return", challengeHash);
+
+              case 71:
+                _context8.prev = 71;
+                _context8.t3 = _context8["catch"](41);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                _logger.default.error('Initialization error - initChallengeEntity: ', _context8.t3);
+
+                throw _context8.t3;
+
+              case 76:
+                _context8.next = 80;
+                break;
+
+              case 78:
+                // Doctype already up to date
+                _logger.default.info('[Initialization] Challenge Entity loaded');
+
+                return _context8.abrupt("return", challengeHash);
+
+              case 80:
+              case "end":
+                return _context8.stop();
+            }
+          }
+        }, _callee8, this, [[7, 35], [9, 19, 22, 25], [41, 71], [45, 55, 58, 61]]);
+      }));
+
+      function initChallengeEntity(_x4) {
+        return _initChallengeEntity.apply(this, arguments);
       }
-    } else {
-      // Doctype already up to date
-      _logger.default.info('[Initialization] Quiz Entity loaded');
 
-      return quizHash;
-    }
-  }
+      return initChallengeEntity;
+    }()
+  }, {
+    key: "initDuelEntity",
+    value: function () {
+      var _initDuelEntity = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9(hash) {
+        var hashDuelEntity, duelService, loadedDuelTypes, _iterator5, _step5, duelEntity, checkCount, _iterator6, _step6, _duelEntity, _checkCount3;
 
-  async initExplorationEntity(hash) {
-    const explorationHash = (0, _hash.hashFile)(_explorationEntity.default);
-    const explorationService = new _exploration.default(this._client); // Populate data if none explorationEntity exists
+        return _regenerator.default.wrap(function _callee9$(_context9) {
+          while (1) {
+            switch (_context9.prev = _context9.next) {
+              case 0:
+                hashDuelEntity = (0, _hash.hashFile)(_duelEntity2.default);
+                duelService = new _duel.default(this._client); // Populate data if none DuelEntity exists
 
-    const loadedExplorationEntity = await explorationService.getAllExplorationEntities();
+                _context9.next = 4;
+                return duelService.getAllDuelEntities();
 
-    if (!loadedExplorationEntity || loadedExplorationEntity && loadedExplorationEntity.length === 0) {
-      // Populate the doctype with data
-      try {
-        for (const explorationEntity of _explorationEntity.default) {
-          await this._client.create(_doctypes.EXPLORATION_DOCTYPE, explorationEntity);
-        } // Check of created document
+              case 4:
+                loadedDuelTypes = _context9.sent;
 
+                if (!(!loadedDuelTypes || loadedDuelTypes && loadedDuelTypes.length === 0)) {
+                  _context9.next = 39;
+                  break;
+                }
 
-        const checkCount = await explorationService.getAllExplorationEntities();
+                _context9.prev = 6;
+                _iterator5 = _createForOfIteratorHelper(_duelEntity2.default);
+                _context9.prev = 8;
 
-        if (!checkCount || checkCount && checkCount.length !== _explorationEntity.default.length) {
-          this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                _iterator5.s();
 
-          throw new Error('initExplorationEntity: Created exploration entities does not match');
-        }
+              case 10:
+                if ((_step5 = _iterator5.n()).done) {
+                  _context9.next = 16;
+                  break;
+                }
+
+                duelEntity = _step5.value;
+                _context9.next = 14;
+                return this._client.create(_doctypes.DUEL_DOCTYPE, duelEntity);
+
+              case 14:
+                _context9.next = 10;
+                break;
+
+              case 16:
+                _context9.next = 21;
+                break;
+
+              case 18:
+                _context9.prev = 18;
+                _context9.t0 = _context9["catch"](8);
+
+                _iterator5.e(_context9.t0);
+
+              case 21:
+                _context9.prev = 21;
+
+                _iterator5.f();
+
+                return _context9.finish(21);
+
+              case 24:
+                _context9.next = 26;
+                return duelService.getAllDuelEntities();
+
+              case 26:
+                checkCount = _context9.sent;
+
+                if (!(!checkCount || checkCount && checkCount.length !== _duelEntity2.default.length)) {
+                  _context9.next = 30;
+                  break;
+                }
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                throw new Error('initDuelEntity: Created duel entities does not match');
+
+              case 30:
+                _logger.default.info('[Initialization] UserDuel entities created');
+
+                return _context9.abrupt("return", hashDuelEntity);
+
+              case 34:
+                _context9.prev = 34;
+                _context9.t1 = _context9["catch"](6);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                _logger.default.error('Initialization error - initDuelEntity: ', _context9.t1);
+
+                throw _context9.t1;
+
+              case 39:
+                if (!(hash !== hashDuelEntity)) {
+                  _context9.next = 77;
+                  break;
+                }
+
+                _context9.prev = 40;
+                _context9.next = 43;
+                return duelService.deleteAllDuelEntities();
+
+              case 43:
+                // Population with the data
+                _iterator6 = _createForOfIteratorHelper(_duelEntity2.default);
+                _context9.prev = 44;
+
+                _iterator6.s();
+
+              case 46:
+                if ((_step6 = _iterator6.n()).done) {
+                  _context9.next = 52;
+                  break;
+                }
+
+                _duelEntity = _step6.value;
+                _context9.next = 50;
+                return this._client.create(_doctypes.DUEL_DOCTYPE, _duelEntity);
+
+              case 50:
+                _context9.next = 46;
+                break;
+
+              case 52:
+                _context9.next = 57;
+                break;
+
+              case 54:
+                _context9.prev = 54;
+                _context9.t2 = _context9["catch"](44);
+
+                _iterator6.e(_context9.t2);
+
+              case 57:
+                _context9.prev = 57;
+
+                _iterator6.f();
+
+                return _context9.finish(57);
+
+              case 60:
+                _context9.next = 62;
+                return duelService.getAllDuelEntities();
+
+              case 62:
+                _checkCount3 = _context9.sent;
+
+                if (!(!_checkCount3 || _checkCount3 && _checkCount3.length !== _duelEntity2.default.length)) {
+                  _context9.next = 66;
+                  break;
+                }
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                throw new Error('initDuelEntity: Created duel entities does not match');
+
+              case 66:
+                _logger.default.info('[Initialization] UserDuel entities updated');
+
+                return _context9.abrupt("return", hashDuelEntity);
+
+              case 70:
+                _context9.prev = 70;
+                _context9.t3 = _context9["catch"](40);
 
-        _logger.default.info('[Initialization] Exploration entities created');
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
 
-        return explorationHash;
-      } catch (error) {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                _logger.default.error('Initialization error - initDuelEntity: ', _context9.t3);
 
-        _logger.default.error('Initialization error - initExplorationEntity: ', error);
+                throw _context9.t3;
 
-        throw error;
+              case 75:
+                _context9.next = 79;
+                break;
+
+              case 77:
+                // Doctype already up to date
+                _logger.default.info('[Initialization] Duel Entity loaded');
+
+                return _context9.abrupt("return", hashDuelEntity);
+
+              case 79:
+              case "end":
+                return _context9.stop();
+            }
+          }
+        }, _callee9, this, [[6, 34], [8, 18, 21, 24], [40, 70], [44, 54, 57, 60]]);
+      }));
+
+      function initDuelEntity(_x5) {
+        return _initDuelEntity.apply(this, arguments);
       }
-    } // Update if the hash is not the same as the one from profile
 
+      return initDuelEntity;
+    }()
+  }, {
+    key: "initQuizEntity",
+    value: function () {
+      var _initQuizEntity = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10(hash) {
+        var quizHash, quizService, loadedQuizEntity, _iterator7, _step7, quizEntity, checkCount, _iterator8, _step8, _quizEntity, _checkCount4;
 
-    if (hash !== explorationHash) {
-      // Update the doctype
-      try {
-        // Deletion of all documents
-        await explorationService.deleteAllExplorationEntities(); // Population with the data
+        return _regenerator.default.wrap(function _callee10$(_context10) {
+          while (1) {
+            switch (_context10.prev = _context10.next) {
+              case 0:
+                quizHash = (0, _hash.hashFile)(_quizEntity2.default);
+                quizService = new _quiz.default(this._client); // Populate data if none quizEntity exists
 
-        for (const explorationEntity of _explorationEntity.default) {
-          await this._client.create(_doctypes.EXPLORATION_DOCTYPE, explorationEntity);
-        } // Check of created document
+                _context10.next = 4;
+                return quizService.getAllQuizEntities();
 
+              case 4:
+                loadedQuizEntity = _context10.sent;
 
-        const checkCount = await explorationService.getAllExplorationEntities();
+                if (!(!loadedQuizEntity || loadedQuizEntity && loadedQuizEntity.length === 0)) {
+                  _context10.next = 39;
+                  break;
+                }
 
-        if (!checkCount || checkCount && checkCount.length !== _explorationEntity.default.length) {
-          this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                _context10.prev = 6;
+                _iterator7 = _createForOfIteratorHelper(_quizEntity2.default);
+                _context10.prev = 8;
 
-          throw new Error('initExplorationEntity: Created exploration entities does not match');
-        }
+                _iterator7.s();
+
+              case 10:
+                if ((_step7 = _iterator7.n()).done) {
+                  _context10.next = 16;
+                  break;
+                }
+
+                quizEntity = _step7.value;
+                _context10.next = 14;
+                return this._client.create(_doctypes.QUIZ_DOCTYPE, quizEntity);
+
+              case 14:
+                _context10.next = 10;
+                break;
+
+              case 16:
+                _context10.next = 21;
+                break;
+
+              case 18:
+                _context10.prev = 18;
+                _context10.t0 = _context10["catch"](8);
+
+                _iterator7.e(_context10.t0);
+
+              case 21:
+                _context10.prev = 21;
+
+                _iterator7.f();
+
+                return _context10.finish(21);
+
+              case 24:
+                _context10.next = 26;
+                return quizService.getAllQuizEntities();
+
+              case 26:
+                checkCount = _context10.sent;
+
+                if (!(!checkCount || checkCount && checkCount.length !== _quizEntity2.default.length)) {
+                  _context10.next = 30;
+                  break;
+                }
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                throw new Error('initQuizEntity: Created quiz entities does not match');
+
+              case 30:
+                _logger.default.info('[Initialization] Quiz entities created');
+
+                return _context10.abrupt("return", quizHash);
+
+              case 34:
+                _context10.prev = 34;
+                _context10.t1 = _context10["catch"](6);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                _logger.default.error('Initialization error - initQuizEntity: ', _context10.t1);
+
+                throw _context10.t1;
+
+              case 39:
+                if (!(hash !== quizHash)) {
+                  _context10.next = 77;
+                  break;
+                }
+
+                _context10.prev = 40;
+                _context10.next = 43;
+                return quizService.deleteAllQuizEntities();
+
+              case 43:
+                // Population with the data
+                _iterator8 = _createForOfIteratorHelper(_quizEntity2.default);
+                _context10.prev = 44;
+
+                _iterator8.s();
+
+              case 46:
+                if ((_step8 = _iterator8.n()).done) {
+                  _context10.next = 52;
+                  break;
+                }
 
-        _logger.default.info('[Initialization] Exploration entities updated');
+                _quizEntity = _step8.value;
+                _context10.next = 50;
+                return this._client.create(_doctypes.QUIZ_DOCTYPE, _quizEntity);
+
+              case 50:
+                _context10.next = 46;
+                break;
 
-        return explorationHash;
-      } catch (error) {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+              case 52:
+                _context10.next = 57;
+                break;
 
-        _logger.default.error('Initialization error - initExplorationEntity: ', error);
+              case 54:
+                _context10.prev = 54;
+                _context10.t2 = _context10["catch"](44);
 
-        throw error;
+                _iterator8.e(_context10.t2);
+
+              case 57:
+                _context10.prev = 57;
+
+                _iterator8.f();
+
+                return _context10.finish(57);
+
+              case 60:
+                _context10.next = 62;
+                return quizService.getAllQuizEntities();
+
+              case 62:
+                _checkCount4 = _context10.sent;
+
+                if (!(!_checkCount4 || _checkCount4 && _checkCount4.length !== _quizEntity2.default.length)) {
+                  _context10.next = 66;
+                  break;
+                }
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                throw new Error('initQuizEntity: Created quiz entities does not match');
+
+              case 66:
+                _logger.default.info('[Initialization] Quiz entities updated');
+
+                return _context10.abrupt("return", quizHash);
+
+              case 70:
+                _context10.prev = 70;
+                _context10.t3 = _context10["catch"](40);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                _logger.default.error('Initialization error - initQuizEntity: ', _context10.t3);
+
+                throw _context10.t3;
+
+              case 75:
+                _context10.next = 79;
+                break;
+
+              case 77:
+                // Doctype already up to date
+                _logger.default.info('[Initialization] Quiz Entity loaded');
+
+                return _context10.abrupt("return", quizHash);
+
+              case 79:
+              case "end":
+                return _context10.stop();
+            }
+          }
+        }, _callee10, this, [[6, 34], [8, 18, 21, 24], [40, 70], [44, 54, 57, 60]]);
+      }));
+
+      function initQuizEntity(_x6) {
+        return _initQuizEntity.apply(this, arguments);
       }
-    } else {
-      // Doctype already up to date
-      _logger.default.info('[Initialization] Exploration Entity loaded');
 
-      return explorationHash;
-    }
-  }
+      return initQuizEntity;
+    }()
+  }, {
+    key: "initExplorationEntity",
+    value: function () {
+      var _initExplorationEntity = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11(hash) {
+        var explorationHash, explorationService, loadedExplorationEntity, _iterator9, _step9, explorationEntity, checkCount, _iterator10, _step10, _explorationEntity, _checkCount5;
 
-  async initAnalysis(profile) {
-    try {
-      const actualAnalysisDate = (0, _date.getActualAnalysisDate)();
+        return _regenerator.default.wrap(function _callee11$(_context11) {
+          while (1) {
+            switch (_context11.prev = _context11.next) {
+              case 0:
+                explorationHash = (0, _hash.hashFile)(_explorationEntity2.default);
+                explorationService = new _exploration.default(this._client); // Populate data if none explorationEntity exists
 
-      if (profile.monthlyAnalysisDate && actualAnalysisDate <= profile.monthlyAnalysisDate) {
-        return {
-          monthlyAnalysisDate: profile.monthlyAnalysisDate,
-          haveSeenLastAnalysis: profile.haveSeenLastAnalysis
-        };
-      } else {
-        _logger.default.info('[Initialization] Analysis information from profile updated');
+                _context11.next = 4;
+                return explorationService.getAllExplorationEntities();
 
-        return {
-          monthlyAnalysisDate: actualAnalysisDate,
-          haveSeenLastAnalysis: profile.isFirstConnection ? true : false
-        };
+              case 4:
+                loadedExplorationEntity = _context11.sent;
+
+                if (!(!loadedExplorationEntity || loadedExplorationEntity && loadedExplorationEntity.length === 0)) {
+                  _context11.next = 39;
+                  break;
+                }
+
+                _context11.prev = 6;
+                _iterator9 = _createForOfIteratorHelper(_explorationEntity2.default);
+                _context11.prev = 8;
+
+                _iterator9.s();
+
+              case 10:
+                if ((_step9 = _iterator9.n()).done) {
+                  _context11.next = 16;
+                  break;
+                }
+
+                explorationEntity = _step9.value;
+                _context11.next = 14;
+                return this._client.create(_doctypes.EXPLORATION_DOCTYPE, explorationEntity);
+
+              case 14:
+                _context11.next = 10;
+                break;
+
+              case 16:
+                _context11.next = 21;
+                break;
+
+              case 18:
+                _context11.prev = 18;
+                _context11.t0 = _context11["catch"](8);
+
+                _iterator9.e(_context11.t0);
+
+              case 21:
+                _context11.prev = 21;
+
+                _iterator9.f();
+
+                return _context11.finish(21);
+
+              case 24:
+                _context11.next = 26;
+                return explorationService.getAllExplorationEntities();
+
+              case 26:
+                checkCount = _context11.sent;
+
+                if (!(!checkCount || checkCount && checkCount.length !== _explorationEntity2.default.length)) {
+                  _context11.next = 30;
+                  break;
+                }
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                throw new Error('initExplorationEntity: Created exploration entities does not match');
+
+              case 30:
+                _logger.default.info('[Initialization] Exploration entities created');
+
+                return _context11.abrupt("return", explorationHash);
+
+              case 34:
+                _context11.prev = 34;
+                _context11.t1 = _context11["catch"](6);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                _logger.default.error('Initialization error - initExplorationEntity: ', _context11.t1);
+
+                throw _context11.t1;
+
+              case 39:
+                if (!(hash !== explorationHash)) {
+                  _context11.next = 77;
+                  break;
+                }
+
+                _context11.prev = 40;
+                _context11.next = 43;
+                return explorationService.deleteAllExplorationEntities();
+
+              case 43:
+                // Population with the data
+                _iterator10 = _createForOfIteratorHelper(_explorationEntity2.default);
+                _context11.prev = 44;
+
+                _iterator10.s();
+
+              case 46:
+                if ((_step10 = _iterator10.n()).done) {
+                  _context11.next = 52;
+                  break;
+                }
+
+                _explorationEntity = _step10.value;
+                _context11.next = 50;
+                return this._client.create(_doctypes.EXPLORATION_DOCTYPE, _explorationEntity);
+
+              case 50:
+                _context11.next = 46;
+                break;
+
+              case 52:
+                _context11.next = 57;
+                break;
+
+              case 54:
+                _context11.prev = 54;
+                _context11.t2 = _context11["catch"](44);
+
+                _iterator10.e(_context11.t2);
+
+              case 57:
+                _context11.prev = 57;
+
+                _iterator10.f();
+
+                return _context11.finish(57);
+
+              case 60:
+                _context11.next = 62;
+                return explorationService.getAllExplorationEntities();
+
+              case 62:
+                _checkCount5 = _context11.sent;
+
+                if (!(!_checkCount5 || _checkCount5 && _checkCount5.length !== _explorationEntity2.default.length)) {
+                  _context11.next = 66;
+                  break;
+                }
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                throw new Error('initExplorationEntity: Created exploration entities does not match');
+
+              case 66:
+                _logger.default.info('[Initialization] Exploration entities updated');
+
+                return _context11.abrupt("return", explorationHash);
+
+              case 70:
+                _context11.prev = 70;
+                _context11.t3 = _context11["catch"](40);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                _logger.default.error('Initialization error - initExplorationEntity: ', _context11.t3);
+
+                throw _context11.t3;
+
+              case 75:
+                _context11.next = 79;
+                break;
+
+              case 77:
+                // Doctype already up to date
+                _logger.default.info('[Initialization] Exploration Entity loaded');
+
+                return _context11.abrupt("return", explorationHash);
+
+              case 79:
+              case "end":
+                return _context11.stop();
+            }
+          }
+        }, _callee11, this, [[6, 34], [8, 18, 21, 24], [40, 70], [44, 54, 57, 60]]);
+      }));
+
+      function initExplorationEntity(_x7) {
+        return _initExplorationEntity.apply(this, arguments);
       }
-    } catch (error) {
-      this._setinitStepError(_initialisationSteps.InitStepsErrors.ANALYSIS_ERROR);
 
-      _logger.default.error('Initialization error - initAnalysis: ', error);
+      return initExplorationEntity;
+    }()
+  }, {
+    key: "initAnalysis",
+    value: function () {
+      var _initAnalysis = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12(profile) {
+        var actualAnalysisDate;
+        return _regenerator.default.wrap(function _callee12$(_context12) {
+          while (1) {
+            switch (_context12.prev = _context12.next) {
+              case 0:
+                _context12.prev = 0;
+                actualAnalysisDate = (0, _date.getActualAnalysisDate)();
 
-      throw error;
-    }
-  }
-  /*
-   * Check if FluidTypes exist
-   * sucess return: FluidType[]
-   * failure throw error
-   */
+                if (!(profile.monthlyAnalysisDate && actualAnalysisDate <= profile.monthlyAnalysisDate)) {
+                  _context12.next = 6;
+                  break;
+                }
 
+                return _context12.abrupt("return", {
+                  monthlyAnalysisDate: profile.monthlyAnalysisDate,
+                  haveSeenLastAnalysis: profile.haveSeenLastAnalysis
+                });
 
-  async initFluidTypes() {
-    const kss = new _konnectorStatus.default(this._client);
+              case 6:
+                _logger.default.info('[Initialization] Analysis information from profile updated');
 
-    try {
-      const fluidtypes = await kss.getKonnectorAccountStatus();
+                return _context12.abrupt("return", {
+                  monthlyAnalysisDate: actualAnalysisDate,
+                  haveSeenLastAnalysis: profile.isFirstConnection ? true : false
+                });
 
-      if (fluidtypes) {
-        _logger.default.info('[Initialization] Fluid Types loaded');
+              case 8:
+                _context12.next = 15;
+                break;
 
-        return fluidtypes;
-      } else {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.CONSOS_ERROR);
+              case 10:
+                _context12.prev = 10;
+                _context12.t0 = _context12["catch"](0);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.ANALYSIS_ERROR);
+
+                _logger.default.error('Initialization error - initAnalysis: ', _context12.t0);
 
-        throw new Error('initFluidTypes: FluidTypes not found');
+                throw _context12.t0;
+
+              case 15:
+              case "end":
+                return _context12.stop();
+            }
+          }
+        }, _callee12, this, [[0, 10]]);
+      }));
+
+      function initAnalysis(_x8) {
+        return _initAnalysis.apply(this, arguments);
       }
-    } catch (error) {
-      this._setinitStepError(_initialisationSteps.InitStepsErrors.CONSOS_ERROR);
 
-      _logger.default.error('Initialization error - initFluidTypes: ', error);
+      return initAnalysis;
+    }()
+    /*
+     * Check if FluidTypes exist
+     * sucess return: FluidType[]
+     * failure throw error
+     */
 
-      throw error;
-    }
-  }
-  /*
-   * For each fluid get the trigger status and the last data date
-   * sucess return: FluidStatus[]
-   * failure throw error
-   */
+  }, {
+    key: "initFluidTypes",
+    value: function () {
+      var _initFluidTypes = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee13() {
+        var kss, fluidtypes;
+        return _regenerator.default.wrap(function _callee13$(_context13) {
+          while (1) {
+            switch (_context13.prev = _context13.next) {
+              case 0:
+                kss = new _konnectorStatus.default(this._client);
+                _context13.prev = 1;
+                _context13.next = 4;
+                return kss.getKonnectorAccountStatus();
 
+              case 4:
+                fluidtypes = _context13.sent;
 
-  async initFluidStatus() {
-    const fs = new _fluid2.default(this._client);
+                if (!fluidtypes) {
+                  _context13.next = 10;
+                  break;
+                }
 
-    try {
-      this._setinitStep(_initialisationSteps.InitSteps.CONSOS);
+                _logger.default.info('[Initialization] Fluid Types loaded');
 
-      const fluidStatus = await fs.getFluidStatus();
+                return _context13.abrupt("return", fluidtypes);
 
-      if (fluidStatus) {
-        _logger.default.info('[Initialization] Fluid Status loaded');
+              case 10:
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CONSOS_ERROR);
 
-        return fluidStatus;
-      } else {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.CONSOS_ERROR);
+                throw new Error('initFluidTypes: FluidTypes not found');
+
+              case 12:
+                _context13.next = 19;
+                break;
 
-        throw new Error('initFluidStatus: fluidStatus not found');
+              case 14:
+                _context13.prev = 14;
+                _context13.t0 = _context13["catch"](1);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CONSOS_ERROR);
+
+                _logger.default.error('Initialization error - initFluidTypes: ', _context13.t0);
+
+                throw _context13.t0;
+
+              case 19:
+              case "end":
+                return _context13.stop();
+            }
+          }
+        }, _callee13, this, [[1, 14]]);
+      }));
+
+      function initFluidTypes() {
+        return _initFluidTypes.apply(this, arguments);
       }
-    } catch (error) {
-      this._setinitStepError(_initialisationSteps.InitStepsErrors.CONSOS_ERROR);
 
-      _logger.default.error('Initialization error - initFluidStatus: ', error);
+      return initFluidTypes;
+    }()
+    /*
+     * For each fluid get the trigger status and the last data date
+     * sucess return: FluidStatus[]
+     * failure throw error
+     */
 
-      throw error;
-    }
-  }
-  /*
-   * Build the userChallengeList
-   * sucess return: UserChallenge[]
-   * failure throw error
-   */
+  }, {
+    key: "initFluidStatus",
+    value: function () {
+      var _initFluidStatus = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee14() {
+        var fs, fluidStatus;
+        return _regenerator.default.wrap(function _callee14$(_context14) {
+          while (1) {
+            switch (_context14.prev = _context14.next) {
+              case 0:
+                fs = new _fluid2.default(this._client);
+                _context14.prev = 1;
 
+                this._setinitStep(_initialisationSteps.InitSteps.CONSOS);
 
-  async initUserChallenges(fluidStatus) {
-    const challengeService = new _challenge.default(this._client);
+                _context14.next = 5;
+                return fs.getFluidStatus();
 
-    try {
-      const userChallengeList = await challengeService.buildUserChallengeList(fluidStatus);
+              case 5:
+                fluidStatus = _context14.sent;
 
-      if (userChallengeList) {
-        _logger.default.info('[Initialization] Challenges loaded');
+                if (!fluidStatus) {
+                  _context14.next = 11;
+                  break;
+                }
 
-        return userChallengeList;
-      } else {
-        this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                _logger.default.info('[Initialization] Fluid Status loaded');
 
-        throw new Error('initUserChallenges: userChallengeList not found');
+                return _context14.abrupt("return", fluidStatus);
+
+              case 11:
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CONSOS_ERROR);
+
+                throw new Error('initFluidStatus: fluidStatus not found');
+
+              case 13:
+                _context14.next = 20;
+                break;
+
+              case 15:
+                _context14.prev = 15;
+                _context14.t0 = _context14["catch"](1);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CONSOS_ERROR);
+
+                _logger.default.error('Initialization error - initFluidStatus: ', _context14.t0);
+
+                throw _context14.t0;
+
+              case 20:
+              case "end":
+                return _context14.stop();
+            }
+          }
+        }, _callee14, this, [[1, 15]]);
+      }));
+
+      function initFluidStatus() {
+        return _initFluidStatus.apply(this, arguments);
       }
-    } catch (error) {
-      this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
 
-      _logger.default.error('Initialization error - initUserChallenges: ', error);
+      return initFluidStatus;
+    }()
+    /*
+     * Build the userChallengeList
+     * sucess return: UserChallenge[]
+     * failure throw error
+     */
 
-      throw error;
-    }
-  }
-  /*
-   * Retrieve dataloads for ongoing duel
-   * sucess return: UserChallenge, Dataload[]
-   * failure throw error
-   */
+  }, {
+    key: "initUserChallenges",
+    value: function () {
+      var _initUserChallenges = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee15(fluidStatus) {
+        var challengeService, userChallengeList;
+        return _regenerator.default.wrap(function _callee15$(_context15) {
+          while (1) {
+            switch (_context15.prev = _context15.next) {
+              case 0:
+                challengeService = new _challenge.default(this._client);
+                _context15.prev = 1;
+                _context15.next = 4;
+                return challengeService.buildUserChallengeList(fluidStatus);
 
+              case 4:
+                userChallengeList = _context15.sent;
 
-  async initDuelProgress(userChallenge) {
-    const challengeService = new _challenge.default(this._client);
+                if (!userChallengeList) {
+                  _context15.next = 10;
+                  break;
+                }
 
-    try {
-      const {
-        updatedUserChallenge,
-        dataloads
-      } = await challengeService.initChallengeDuelProgress(userChallenge);
-      return {
-        updatedUserChallenge,
-        dataloads
-      };
-    } catch (error) {
-      this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+                _logger.default.info('[Initialization] Challenges loaded');
 
-      _logger.default.error('Initialization error: ', error);
+                return _context15.abrupt("return", userChallengeList);
 
-      throw error;
-    }
-  }
+              case 10:
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
 
-  async initConsent() {
-    const termsStatus = {
-      accepted: false,
-      versionType: 'init'
-    };
+                throw new Error('initUserChallenges: userChallengeList not found');
 
-    try {
-      this._setinitStep(_initialisationSteps.InitSteps.CONSENT);
+              case 12:
+                _context15.next = 19;
+                break;
 
-      const termService = new _terms.default(this._client);
-      const isUpToDate = await termService.isConsentVersionUpToDate();
-      const lastTerm = await termService.getLastTerm();
+              case 14:
+                _context15.prev = 14;
+                _context15.t0 = _context15["catch"](1);
 
-      if (lastTerm) {
-        if (isUpToDate) {
-          const isLastConsentValidated = await termService.isLastTermValidated();
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
 
-          if (isLastConsentValidated) {
-            termsStatus.accepted = true;
-            termsStatus.versionType = 'init';
+                _logger.default.error('Initialization error - initUserChallenges: ', _context15.t0);
 
-            _logger.default.info('[Initialization] Last Consent successfully loaded and valid');
-          } else {
-            termsStatus.versionType = 'init';
-            termsStatus.accepted = false;
+                throw _context15.t0;
 
-            _logger.default.info('[Initialization] Consent not up-to-date');
+              case 19:
+              case "end":
+                return _context15.stop();
+            }
           }
-        } else {
-          const versionType = await termService.getTermsVersionType();
+        }, _callee15, this, [[1, 14]]);
+      }));
 
-          if (versionType === 'minor') {
-            termsStatus.accepted = false;
-            termsStatus.versionType = 'minor';
+      function initUserChallenges(_x9) {
+        return _initUserChallenges.apply(this, arguments);
+      }
 
-            _logger.default.info('[Initialization] Minor Terms update detected');
-          } else {
-            termsStatus.accepted = false;
-            termsStatus.versionType = 'major';
+      return initUserChallenges;
+    }()
+    /*
+     * Retrieve dataloads for ongoing duel
+     * sucess return: UserChallenge, Dataload[]
+     * failure throw error
+     */
+
+  }, {
+    key: "initDuelProgress",
+    value: function () {
+      var _initDuelProgress = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee16(userChallenge) {
+        var challengeService, _yield$challengeServi, updatedUserChallenge, dataloads;
+
+        return _regenerator.default.wrap(function _callee16$(_context16) {
+          while (1) {
+            switch (_context16.prev = _context16.next) {
+              case 0:
+                challengeService = new _challenge.default(this._client);
+                _context16.prev = 1;
+                _context16.next = 4;
+                return challengeService.initChallengeDuelProgress(userChallenge);
+
+              case 4:
+                _yield$challengeServi = _context16.sent;
+                updatedUserChallenge = _yield$challengeServi.updatedUserChallenge;
+                dataloads = _yield$challengeServi.dataloads;
+                return _context16.abrupt("return", {
+                  updatedUserChallenge: updatedUserChallenge,
+                  dataloads: dataloads
+                });
+
+              case 10:
+                _context16.prev = 10;
+                _context16.t0 = _context16["catch"](1);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CHALLENGES_ERROR);
+
+                _logger.default.error('Initialization error: ', _context16.t0);
+
+                throw _context16.t0;
 
-            _logger.default.info('[Initialization] Major Terms update detected');
+              case 15:
+              case "end":
+                return _context16.stop();
+            }
           }
-        }
-      } else {
-        termsStatus.accepted = false;
-        termsStatus.versionType = 'init';
+        }, _callee16, this, [[1, 10]]);
+      }));
 
-        _logger.default.info('[Initialization] Init first terms');
+      function initDuelProgress(_x10) {
+        return _initDuelProgress.apply(this, arguments);
       }
 
-      return termsStatus;
-    } catch (error) {
-      this._setinitStepError(_initialisationSteps.InitStepsErrors.CONSENT_ERROR);
+      return initDuelProgress;
+    }()
+  }, {
+    key: "initConsent",
+    value: function () {
+      var _initConsent = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee17() {
+        var termsStatus, termService, isUpToDate, lastTerm, isLastConsentValidated, versionType;
+        return _regenerator.default.wrap(function _callee17$(_context17) {
+          while (1) {
+            switch (_context17.prev = _context17.next) {
+              case 0:
+                termsStatus = {
+                  accepted: false,
+                  versionType: 'init'
+                };
+                _context17.prev = 1;
 
-      _logger.default.error('Initialization error - initConsent: ', error);
+                this._setinitStep(_initialisationSteps.InitSteps.CONSENT);
 
-      throw error;
-    }
-  }
+                termService = new _terms.default(this._client);
+                _context17.next = 6;
+                return termService.isConsentVersionUpToDate();
 
-  // @ts-ignore
-  __reactstandin__regenerateByEval(key, code) {
-    // @ts-ignore
-    this[key] = eval(code);
-  }
+              case 6:
+                isUpToDate = _context17.sent;
+                _context17.next = 9;
+                return termService.getLastTerm();
 
-}
+              case 9:
+                lastTerm = _context17.sent;
+
+                if (!lastTerm) {
+                  _context17.next = 24;
+                  break;
+                }
+
+                if (!isUpToDate) {
+                  _context17.next = 18;
+                  break;
+                }
+
+                _context17.next = 14;
+                return termService.isLastTermValidated();
+
+              case 14:
+                isLastConsentValidated = _context17.sent;
+
+                if (isLastConsentValidated) {
+                  termsStatus.accepted = true;
+                  termsStatus.versionType = 'init';
+
+                  _logger.default.info('[Initialization] Last Consent successfully loaded and valid');
+                } else {
+                  termsStatus.versionType = 'init';
+                  termsStatus.accepted = false;
+
+                  _logger.default.info('[Initialization] Consent not up-to-date');
+                }
+
+                _context17.next = 22;
+                break;
+
+              case 18:
+                _context17.next = 20;
+                return termService.getTermsVersionType();
+
+              case 20:
+                versionType = _context17.sent;
+
+                if (versionType === 'minor') {
+                  termsStatus.accepted = false;
+                  termsStatus.versionType = 'minor';
+
+                  _logger.default.info('[Initialization] Minor Terms update detected');
+                } else {
+                  termsStatus.accepted = false;
+                  termsStatus.versionType = 'major';
+
+                  _logger.default.info('[Initialization] Major Terms update detected');
+                }
+
+              case 22:
+                _context17.next = 27;
+                break;
+
+              case 24:
+                termsStatus.accepted = false;
+                termsStatus.versionType = 'init';
+
+                _logger.default.info('[Initialization] Init first terms');
+
+              case 27:
+                return _context17.abrupt("return", termsStatus);
+
+              case 30:
+                _context17.prev = 30;
+                _context17.t0 = _context17["catch"](1);
+
+                this._setinitStepError(_initialisationSteps.InitStepsErrors.CONSENT_ERROR);
+
+                _logger.default.error('Initialization error - initConsent: ', _context17.t0);
+
+                throw _context17.t0;
+
+              case 35:
+              case "end":
+                return _context17.stop();
+            }
+          }
+        }, _callee17, this, [[1, 30]]);
+      }));
+
+      function initConsent() {
+        return _initConsent.apply(this, arguments);
+      }
+
+      return initConsent;
+    }()
+  }, {
+    key: "__reactstandin__regenerateByEval",
+    value: // @ts-ignore
+    function __reactstandin__regenerateByEval(key, code) {
+      // @ts-ignore
+      this[key] = eval(code);
+    }
+  }]);
+  return InitializationService;
+}();
 
 exports.default = InitializationService;
 ;
@@ -39017,7 +40602,7 @@ exports.default = InitializationService;
     return;
   }
 
-  reactHotLoader.register(InitializationService, "InitializationService", "/home/gcarron/dev/ecolyo/src/services/initialization.service.ts");
+  reactHotLoader.register(InitializationService, "InitializationService", "/home/bastien/ecolyo/src/services/initialization.service.ts");
 })();
 
 ;
@@ -39086,8 +40671,8 @@ exports.modalReducer = modalReducer;
     return;
   }
 
-  reactHotLoader.register(initialState, "initialState", "/home/gcarron/dev/ecolyo/src/store/modal/modal.reducer.ts");
-  reactHotLoader.register(modalReducer, "modalReducer", "/home/gcarron/dev/ecolyo/src/store/modal/modal.reducer.ts");
+  reactHotLoader.register(initialState, "initialState", "/home/bastien/ecolyo/src/store/modal/modal.reducer.ts");
+  reactHotLoader.register(modalReducer, "modalReducer", "/home/bastien/ecolyo/src/store/modal/modal.reducer.ts");
 })();
 
 ;
@@ -39245,8 +40830,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(QuizExplanationModal, "QuizExplanationModal", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizExplanationModal.tsx");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/components/Quiz/QuizExplanationModal.tsx");
+  reactHotLoader.register(QuizExplanationModal, "QuizExplanationModal", "/home/bastien/ecolyo/src/components/Quiz/QuizExplanationModal.tsx");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/components/Quiz/QuizExplanationModal.tsx");
 })();
 
 ;
diff --git a/img/icon.e4891962a18ac2a487b21f0381a5513f.svg b/img/icon.e4891962a18ac2a487b21f0381a5513f.svg
deleted file mode 100644
index 7c0e38096960afb18746a2285ee2533ede3f46ef..0000000000000000000000000000000000000000
--- a/img/icon.e4891962a18ac2a487b21f0381a5513f.svg
+++ /dev/null
@@ -1,6 +0,0 @@
-<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
-<path d="M8.01323 15.059C14.8544 12.3888 14.3227 8.59276 13.9682 2.93081C11.7705 2.8343 9.82099 2.15873 8.01323 1.03278C6.20546 2.15873 4.25592 2.8343 2.05825 2.93081C1.70378 8.59276 1.17209 12.3888 8.01323 15.059Z" fill="#1B1C22"/>
-<path d="M8.01325 0L7.54979 0.288665C5.85495 1.34429 4.05006 1.96586 2.01981 2.05502L1.23259 2.08959L1.18335 2.87604C1.16873 3.10958 1.15353 3.34193 1.13842 3.57294C0.97583 6.05878 0.823332 8.39029 1.50758 10.3994C2.29645 12.7158 4.12651 14.483 7.69452 15.8756L8.01325 16V15.059C1.44034 12.4935 1.67345 8.88869 2.01622 3.58822C2.03021 3.37192 2.04438 3.1528 2.05827 2.93081C4.25595 2.8343 6.20549 2.15873 8.01325 1.03277V0Z" fill="#FFC600"/>
-<path d="M8.01323 0L8.4767 0.288665C10.1715 1.34429 11.9764 1.96586 14.0067 2.05502L14.7939 2.08959L14.8431 2.87604C14.8578 3.10958 14.873 3.34193 14.8881 3.57294C15.0507 6.05878 15.2032 8.39029 14.5189 10.3994C13.73 12.7158 11.9 14.483 8.33197 15.8756L8.01323 16V15.059C14.5862 12.4935 14.353 8.88869 14.0103 3.58822C13.9963 3.37192 13.9821 3.1528 13.9682 2.93081C11.7705 2.8343 9.821 2.15873 8.01323 1.03277V0Z" fill="#DB8300"/>
-<path d="M5.85148 5.51416H6.16248C6.28668 5.51416 6.4058 5.56292 6.49363 5.64973C6.58146 5.73653 6.6308 5.85427 6.6308 5.97703V10.6758H5.38316V5.97703C5.38316 5.85427 5.4325 5.73653 5.52033 5.64973C5.60815 5.56292 5.72727 5.51416 5.85148 5.51416ZM8.01233 7.80214H8.32333C8.44754 7.80214 8.56666 7.85091 8.65448 7.93771C8.74231 8.02452 8.79165 8.14225 8.79165 8.26502V10.6758H7.54401V8.26502C7.54401 8.14225 7.59335 8.02452 7.68118 7.93771C7.76901 7.85091 7.88813 7.80214 8.01233 7.80214ZM10.302 6.91708H10.613C10.7372 6.91708 10.8563 6.96584 10.9441 7.05265C11.032 7.13945 11.0813 7.25719 11.0813 7.37995V10.6758H9.83366V7.37995C9.83366 7.25719 9.883 7.13945 9.97083 7.05265C10.0587 6.96584 10.1778 6.91708 10.302 6.91708Z" fill="#FFC600"/>
-</svg>
diff --git a/index.html b/index.html
index 70370e297e7c381d686b53a0d2efda5fdc190a18..4fd524b3bea80ebda069dc0cff208add58c41cf6 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,user-scalable=0,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}</head><body><div role="application" class="application" data-cozy-token="{{.Token}}" data-cozy-domain="{{.Domain}}" data-cozy-locale="{{.Locale}}" data-cozy-app-name="{{.AppName}}" data-cozy-app-slug="{{.AppSlug}}" data-cozy-app-name-prefix="{{.AppNamePrefix}}" data-cozy-app-editor="{{.AppEditor}}" data-cozy-icon-path="{{.IconPath}}"><script src="vendors/ecolyo.bce3a3ca54818ecca6eb.js"></script><script src="app/ecolyo.6fc5c53376640cb435a6.js"></script></div></body></html>
\ No newline at end of file
+<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,user-scalable=0,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}<script src="//{{.Domain}}/assets/js/piwik.js" async></script></head><body><div role="application" class="application" data-cozy="{{.CozyData}}"><script src="vendors/ecolyo.73c3f92b312c26be0794.js"></script><script src="app/ecolyo.745d296fcf37e0448edc.js"></script></div></body></html>
\ No newline at end of file
diff --git a/services/aggregatorUsageEvents/ecolyo.js b/services/aggregatorUsageEvents/ecolyo.js
index 2caa7435fd9e41965c89cb53d36888080de87cdd..e1d583ebb6754b140876a5ada17828eb02be3a26 100644
--- a/services/aggregatorUsageEvents/ecolyo.js
+++ b/services/aggregatorUsageEvents/ecolyo.js
@@ -101,23 +101,23 @@ var _service = __webpack_require__(24);
 
 var _usageEvent = _interopRequireDefault(__webpack_require__(514));
 
-var _profile = _interopRequireDefault(__webpack_require__(539));
+var _profile = _interopRequireDefault(__webpack_require__(540));
 
-var _consumption = _interopRequireDefault(__webpack_require__(540));
+var _consumption = _interopRequireDefault(__webpack_require__(541));
 
-var _usageEvent2 = __webpack_require__(553);
+var _usageEvent2 = __webpack_require__(515);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _lodash = __webpack_require__(474);
 
 var _fluid = _interopRequireDefault(__webpack_require__(554));
 
-var _fluid2 = __webpack_require__(541);
+var _fluid2 = __webpack_require__(542);
 
 var _utils = __webpack_require__(835);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
 var _environment = _interopRequireDefault(__webpack_require__(1001));
 
@@ -446,17 +446,12 @@ const calculateConnectedKonnectorPerDay = async client => {
  */
 
 
-const buildProfileWithFuildType = async (client, fluidType, monthToAggregate) => {
+const buildProfileWithFuildType = async (client, fluidType) => {
   let formatedProfile = '';
   const profile = await new _profile.default(client).getProfile(); // If profile is not filled, return empty string
 
   if (profile && !profile.isProfileTypeCompleted) return formatedProfile;
-  const date = monthToAggregate ? _luxon.DateTime.local().setZone('utc', {
-    keepLocalTime: true
-  }).set({
-    month: monthToAggregate
-  }) : null;
-  const profileType = await new _profileTypeEntity.default(client).getProfileType(date);
+  const profileType = await new _profileTypeEntity.default(client).getProfileType();
 
   if (fluidType === _fluid2.FluidType.ELECTRICITY) {
     if (profile && profileType && profileType.warmingFluid === _profileType.WarmingType.ELECTRICITY) {
@@ -523,15 +518,13 @@ const buildProfileWithFuildType = async (client, fluidType, monthToAggregate) =>
   return formatedProfile;
 };
 
-const getConsumptionValue = async (client, fluidType, monthToAggregate) => {
+const getConsumptionValue = async (client, fluidType) => {
   const consumptionService = new _consumption.default(client);
-  const analysisDate = monthToAggregate ? _luxon.DateTime.local().setZone('utc', {
-    keepLocalTime: true
-  }).set({
-    month: monthToAggregate
-  }) : _luxon.DateTime.local().setZone('utc', {
+
+  const analysisDate = _luxon.DateTime.local().setZone('utc', {
     keepLocalTime: true
   });
+
   const periods = {
     timePeriod: {
       startDate: analysisDate.minus({
@@ -560,9 +553,9 @@ const getConsumptionValue = async (client, fluidType, monthToAggregate) => {
  */
 
 
-const calculateConsumptionVariation = async (client, monthToAggregate) => {
+const calculateConsumptionVariation = async client => {
   log('info', `calculateConsumptionVariation`);
-  const consumptionData = await getConsumptionValue(client, [_fluid2.FluidType.ELECTRICITY, _fluid2.FluidType.GAS, _fluid2.FluidType.WATER], monthToAggregate);
+  const consumptionData = await getConsumptionValue(client, [_fluid2.FluidType.ELECTRICITY, _fluid2.FluidType.GAS, _fluid2.FluidType.WATER]);
 
   for (const fluidType in [_fluid2.FluidType.ELECTRICITY, _fluid2.FluidType.GAS, _fluid2.FluidType.WATER]) {
     if (fluidType < _fluid2.FluidType.MULTIFLUID.toFixed()) {
@@ -573,21 +566,14 @@ const calculateConsumptionVariation = async (client, monthToAggregate) => {
       });
 
       if (firstConnectionEvent) {
-        const seniority = monthToAggregate ? _luxon.DateTime.local().setZone('utc', {
+        const seniority = _luxon.DateTime.local().setZone('utc', {
           keepLocalTime: true
-        }).set({
-          month: monthToAggregate
-        }).diff(firstConnectionEvent.eventDate, 'month').get('month') : _luxon.DateTime.local().setZone('utc', {
-          keepLocalTime: true
-        }).diff(firstConnectionEvent.eventDate, 'month').get('month');
+        }).diff(firstConnectionEvent.eventDate).months;
+
         const consumptionVariationIndicator = {
           createdBy: 'ecolyo',
           measureName: _dacc.DaccEvent.CONSUMPTION_VARIATION_MONTHLY,
-          startDate: monthToAggregate ? _luxon.DateTime.local().setZone('utc', {
-            keepLocalTime: true
-          }).set({
-            month: monthToAggregate
-          }).startOf('day').toISODate() : _luxon.DateTime.local().setZone('utc', {
+          startDate: _luxon.DateTime.local().setZone('utc', {
             keepLocalTime: true
           }).startOf('day').toISODate(),
           value: consumptionData[fluidType] && consumptionData[fluidType].percentageVariation ? consumptionData[fluidType].percentageVariation : 0,
@@ -598,31 +584,16 @@ const calculateConsumptionVariation = async (client, monthToAggregate) => {
           },
           // eslint-disable-next-line @typescript-eslint/camelcase
           group2: {
-            seniority: Math.round(seniority).toString()
+            seniority: seniority.toString()
           },
           group3: {
             // eslint-disable-next-line @typescript-eslint/camelcase
-            fluid_usage: await buildProfileWithFuildType(client, (0, _utils.getFluidType)(_fluid2.FluidType[fluidType]), monthToAggregate)
+            fluid_usage: await buildProfileWithFuildType(client, (0, _utils.getFluidType)(_fluid2.FluidType[fluidType]))
           }
         }; // if user wasnt connected during current month, dont send indicator
 
         const events = await _usageEvent.default.getEvents(client, {
-          eventDate: monthToAggregate ? {
-            $lt: _luxon.DateTime.local().setZone('utc', {
-              keepLocalTime: true
-            }).set({
-              month: monthToAggregate
-            }).endOf('month').minus({
-              month: 1
-            }).toString(),
-            $gt: _luxon.DateTime.local().setZone('utc', {
-              keepLocalTime: true
-            }).set({
-              month: monthToAggregate
-            }).startOf('month').minus({
-              month: 1
-            }).toString()
-          } : {
+          eventDate: {
             $lt: _luxon.DateTime.local().setZone('utc', {
               keepLocalTime: true
             }).endOf('month').minus({
@@ -637,7 +608,6 @@ const calculateConsumptionVariation = async (client, monthToAggregate) => {
         });
 
         if (events.length > 0 && consumptionVariationIndicator.value !== 0) {
-          log('info', `Send variation indicator for ${monthToAggregate} : ${JSON.stringify(consumptionVariationIndicator)}`);
           await sendIndicator(consumptionVariationIndicator, client);
         }
       }
@@ -645,27 +615,12 @@ const calculateConsumptionVariation = async (client, monthToAggregate) => {
   }
 };
 
-const sendConnectionCount = async (client, monthToAggregate) => {
+const sendConnectionCount = async client => {
   log('info', `sendConnectionCount`); // Get daily connexion
 
   const events = await _usageEvent.default.getEvents(client, {
     type: _usageEvent2.UsageEventType.CONNECTION_EVENT,
-    eventDate: monthToAggregate ? {
-      $lt: _luxon.DateTime.local().setZone('utc', {
-        keepLocalTime: true
-      }).set({
-        month: monthToAggregate
-      }).minus({
-        month: 1
-      }).endOf('month').toString(),
-      $gt: _luxon.DateTime.local().setZone('utc', {
-        keepLocalTime: true
-      }).set({
-        month: monthToAggregate
-      }).minus({
-        month: 1
-      }).startOf('month').toString()
-    } : {
+    eventDate: {
       $lt: _luxon.DateTime.local().setZone('utc', {
         keepLocalTime: true
       }).endOf('month').minus({
@@ -687,16 +642,11 @@ const sendConnectionCount = async (client, monthToAggregate) => {
   const connectionMonthly = {
     createdBy: 'ecolyo',
     measureName: _dacc.DaccEvent.CONNECTION_COUNT_MONTHLY,
-    startDate: monthToAggregate ? _luxon.DateTime.local().setZone('utc', {
-      keepLocalTime: true
-    }).set({
-      month: monthToAggregate
-    }).startOf('day').toISODate() : _luxon.DateTime.local().setZone('utc', {
+    startDate: _luxon.DateTime.local().setZone('utc', {
       keepLocalTime: true
     }).startOf('day').toISODate(),
     value: uniqueDates
   };
-  log('info', `Send connectionMonthly indicator for ${monthToAggregate} : ${JSON.stringify(connectionMonthly)}`);
   await sendIndicator(connectionMonthly, client);
 };
 
@@ -858,6 +808,58 @@ const sendKonnectorEvents = async client => {
     }
   });
 };
+/**
+ * Send the total number of partner connection attempts and the number of success
+ * @param client CozyClient
+ */
+
+
+const sendKonnectorAttemptsMonthly = async client => {
+  log('info', `sendkonnectorAttemptsMonthly`);
+  const slugs = Object.values(_fluidSlug.FluidSlugType);
+
+  const today = _luxon.DateTime.local().setZone('utc', {
+    keepLocalTime: true
+  }); // Count the number of connection and refresh events
+
+
+  slugs.forEach(async slug => {
+    const konnectorEvents = await _usageEvent.default.getEvents(client, {
+      type: _usageEvent2.UsageEventType.KONNECTOR_ATTEMPT_EVENT,
+      target: slug,
+      eventDate: {
+        $lte: today.endOf('month').minus({
+          month: 1
+        }).toString(),
+        $gte: today.startOf('month').minus({
+          month: 1
+        }).toString()
+      }
+    }, true);
+    log('info', ` : ${JSON.stringify(konnectorEvents)}`); // Check if there is a success (will be false or true since the event is triggered only for the first connexion)
+
+    const success = konnectorEvents.filter(event => event.result == 'success').length > 0;
+    const konnectorAttempts = {
+      createdBy: 'ecolyo',
+      measureName: _dacc.DaccEvent.UNINITIALIZED_KONNECTOR_ATTEMPTS_MONTHLY,
+      // eslint-disable-next-line @typescript-eslint/camelcase
+      group1: {
+        slug: slug
+      },
+      group2: {
+        success: success
+      },
+      startDate: _luxon.DateTime.local().setZone('utc', {
+        keepLocalTime: true
+      }).startOf('day').toISODate(),
+      value: konnectorEvents.length
+    }; // Send indicator if there is connection events
+
+    if (konnectorEvents.length > 0) {
+      await sendIndicator(konnectorAttempts, client);
+    }
+  });
+};
 
 const aggregateEvents = async (events, eventType, firstConnectionEvent, client) => {
   let reducedEvents = null; // Used to store reducedEvents during calculation
@@ -1218,29 +1220,13 @@ const AggregatorUsageEvents = async ({
   if (profile && _luxon.DateTime.local().setZone('utc', {
     keepLocalTime: true
   }).startOf('day').day === profile.monthlyAnalysisDate.day) {
-    await calculateConsumptionVariation(client);
-    await sendEmailSubscription(client);
-    await sendHalfHourConsumption(client);
-    await sendKonnectorEvents(client);
-    await sendConnectionCount(client);
-    await sendProfileCount(client);
-  }
-
-  log('info', `Recalculates errored indicators`);
-
-  const today = _luxon.DateTime.local().setZone('utc', {
-    keepLocalTime: true
-  }).startOf('day');
-
-  const lastMonth = 5;
-
-  if (today.day === 3 && today.month === lastMonth) {
-    let monthToAggregate = 1;
-
-    for (monthToAggregate; monthToAggregate <= lastMonth; monthToAggregate++) {
-      await calculateConsumptionVariation(client, monthToAggregate);
-      await sendConnectionCount(client, monthToAggregate);
-    }
+    sendKonnectorAttemptsMonthly(client);
+    calculateConsumptionVariation(client);
+    sendEmailSubscription(client);
+    sendHalfHourConsumption(client);
+    sendKonnectorEvents(client);
+    sendConnectionCount(client);
+    sendProfileCount(client);
   }
 
   const uniqueReadUsageEvents = (0, _lodash.uniq)(readUsageEvents);
@@ -1270,28 +1256,29 @@ const AggregatorUsageEvents = async ({
     return;
   }
 
-  reactHotLoader.register(log, "log", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(readUsageEvents, "readUsageEvents", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(errorEvent, "errorEvent", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(sendIndicator, "sendIndicator", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(reduceEvents, "reduceEvents", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(sendAggregatedEventByDay, "sendAggregatedEventByDay", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(handleQuizStars, "handleQuizStars", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(calculSessionTime, "calculSessionTime", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(calculPeriodBetweenFirstConnectionAndFirstChallenge, "calculPeriodBetweenFirstConnectionAndFirstChallenge", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(calculPeriodBetweenChallenge, "calculPeriodBetweenChallenge", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(getConnectedKonnectorSlug, "getConnectedKonnectorSlug", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(calculateConnectedKonnectorPerDay, "calculateConnectedKonnectorPerDay", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(buildProfileWithFuildType, "buildProfileWithFuildType", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(getConsumptionValue, "getConsumptionValue", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(calculateConsumptionVariation, "calculateConsumptionVariation", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(sendConnectionCount, "sendConnectionCount", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(sendProfileCount, "sendProfileCount", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(sendEmailSubscription, "sendEmailSubscription", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(sendHalfHourConsumption, "sendHalfHourConsumption", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(sendKonnectorEvents, "sendKonnectorEvents", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(aggregateEvents, "aggregateEvents", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
-  reactHotLoader.register(AggregatorUsageEvents, "AggregatorUsageEvents", "/home/gcarron/dev/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(log, "log", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(readUsageEvents, "readUsageEvents", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(errorEvent, "errorEvent", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(sendIndicator, "sendIndicator", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(reduceEvents, "reduceEvents", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(sendAggregatedEventByDay, "sendAggregatedEventByDay", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(handleQuizStars, "handleQuizStars", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(calculSessionTime, "calculSessionTime", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(calculPeriodBetweenFirstConnectionAndFirstChallenge, "calculPeriodBetweenFirstConnectionAndFirstChallenge", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(calculPeriodBetweenChallenge, "calculPeriodBetweenChallenge", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(getConnectedKonnectorSlug, "getConnectedKonnectorSlug", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(calculateConnectedKonnectorPerDay, "calculateConnectedKonnectorPerDay", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(buildProfileWithFuildType, "buildProfileWithFuildType", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(getConsumptionValue, "getConsumptionValue", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(calculateConsumptionVariation, "calculateConsumptionVariation", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(sendConnectionCount, "sendConnectionCount", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(sendProfileCount, "sendProfileCount", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(sendEmailSubscription, "sendEmailSubscription", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(sendHalfHourConsumption, "sendHalfHourConsumption", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(sendKonnectorEvents, "sendKonnectorEvents", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(sendKonnectorAttemptsMonthly, "sendKonnectorAttemptsMonthly", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(aggregateEvents, "aggregateEvents", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
+  reactHotLoader.register(AggregatorUsageEvents, "AggregatorUsageEvents", "/home/bastien/ecolyo/src/targets/services/aggregatorUsageEvents.ts");
 })();
 
 ;
@@ -3677,8 +3664,8 @@ exports.runService = runService;
     return;
   }
 
-  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
-  reactHotLoader.register(runService, "runService", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/bastien/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(runService, "runService", "/home/bastien/ecolyo/src/targets/services/service.ts");
 })();
 
 ;
@@ -65098,8 +65085,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(doctypes, "doctypes", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(doctypes, "doctypes", "/home/bastien/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/doctypes/index.ts");
 })();
 
 ;
@@ -65142,7 +65129,7 @@ exports.ENEDIS_DAY_DOCTYPE = ENEDIS_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
+  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
 })();
 
 ;
@@ -65185,7 +65172,7 @@ exports.GRDF_DAY_DOCTYPE = GRDF_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
+  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
 })();
 
 ;
@@ -65228,7 +65215,7 @@ exports.EGL_DAY_DOCTYPE = EGL_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
+  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
 })();
 
 ;
@@ -65271,7 +65258,7 @@ exports.KONNECTORS_DOCTYPE = KONNECTORS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-konnectors.ts");
+  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-konnectors.ts");
 })();
 
 ;
@@ -65314,7 +65301,7 @@ exports.ACCOUNTS_DOCTYPE = ACCOUNTS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-accounts.ts");
+  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-accounts.ts");
 })();
 
 ;
@@ -65357,7 +65344,7 @@ exports.JOBS_DOCTYPE = JOBS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-jobs.ts");
+  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-jobs.ts");
 })();
 
 ;
@@ -65400,7 +65387,7 @@ exports.TERMS_DOCTYPE = TERMS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-terms.ts");
+  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-terms.ts");
 })();
 
 ;
@@ -65443,7 +65430,7 @@ exports.ECOGESTURE_DOCTYPE = ECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
+  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
 })();
 
 ;
@@ -65486,7 +65473,7 @@ exports.PROFILE_DOCTYPE = PROFILE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
+  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
 })();
 
 ;
@@ -65529,7 +65516,7 @@ exports.PROFILETYPE_DOCTYPE = PROFILETYPE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
+  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
 })();
 
 ;
@@ -65572,7 +65559,7 @@ exports.SCHEMAS_DOCTYPE = SCHEMAS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
+  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
 })();
 
 ;
@@ -65615,7 +65602,7 @@ exports.CHALLENGE_DOCTYPE = CHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
+  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
 })();
 
 ;
@@ -65658,7 +65645,7 @@ exports.USERCHALLENGE_DOCTYPE = USERCHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
+  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
 })();
 
 ;
@@ -65701,7 +65688,7 @@ exports.DUEL_DOCTYPE = DUEL_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
+  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
 })();
 
 ;
@@ -65744,7 +65731,7 @@ exports.QUIZ_DOCTYPE = QUIZ_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
+  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
 })();
 
 ;
@@ -65787,7 +65774,7 @@ exports.FLUIDPRICES_DOCTYPE = FLUIDPRICES_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
+  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
 })();
 
 ;
@@ -65830,7 +65817,7 @@ exports.USAGEEVENT_DOCTYPE = USAGEEVENT_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
+  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
 })();
 
 ;
@@ -65873,7 +65860,7 @@ exports.EXPLORATION_DOCTYPE = EXPLORATION_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
+  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
 })();
 
 ;
@@ -65916,7 +65903,7 @@ exports.ENEDIS_YEAR_DOCTYPE = ENEDIS_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
+  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
 })();
 
 ;
@@ -65959,7 +65946,7 @@ exports.ENEDIS_MONTH_DOCTYPE = ENEDIS_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
+  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
 })();
 
 ;
@@ -66002,7 +65989,7 @@ exports.ENEDIS_MINUTE_DOCTYPE = ENEDIS_MINUTE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
+  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
 })();
 
 ;
@@ -66045,7 +66032,7 @@ exports.GRDF_YEAR_DOCTYPE = GRDF_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
+  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
 })();
 
 ;
@@ -66088,7 +66075,7 @@ exports.GRDF_MONTH_DOCTYPE = GRDF_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
+  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
 })();
 
 ;
@@ -66131,7 +66118,7 @@ exports.EGL_YEAR_DOCTYPE = EGL_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
+  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
 })();
 
 ;
@@ -66174,7 +66161,7 @@ exports.EGL_MONTH_DOCTYPE = EGL_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
+  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
 })();
 
 ;
@@ -66217,7 +66204,7 @@ exports.ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE = ENEDIS_MONTHLY_ANALYSIS_DATA_DOCT
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
+  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
 })();
 
 ;
@@ -66260,7 +66247,7 @@ exports.ENEDIS_MAXPOWER_DOCTYPE = ENEDIS_MAXPOWER_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
+  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
 })();
 
 ;
@@ -66303,7 +66290,7 @@ exports.PROFILEECOGESTURE_DOCTYPE = PROFILEECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
+  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
 })();
 
 ;
@@ -66346,7 +66333,7 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-triggers.ts");
+  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-triggers.ts");
 })();
 
 ;
@@ -66377,7 +66364,9 @@ var _cozyClient = __webpack_require__(40);
 
 var _doctypes = __webpack_require__(484);
 
-var _luxon = __webpack_require__(515);
+var _usageEvent = __webpack_require__(515);
+
+var _luxon = __webpack_require__(516);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -66425,6 +66414,41 @@ class UsageEventService {
 
     return null;
   }
+  /**
+   *
+   * @param {Client} client
+   * @param {string} konnectorSlug
+   * @returns
+   */
+
+
+  static async udpateConnectionAttemptEvent(client, konnectorSlug) {
+    try {
+      //Get last Connection attempt Event
+      const query = (0, _cozyClient.Q)(_doctypes.USAGEEVENT_DOCTYPE).where({
+        type: _usageEvent.UsageEventType.KONNECTOR_ATTEMPT_EVENT,
+        target: konnectorSlug,
+        result: 'error'
+      }).sortBy([{
+        eventDate: 'desc'
+      }]).limitBy(1);
+      const {
+        data: [usageEventEntity]
+      } = await client.query(query);
+
+      if (usageEventEntity) {
+        const updatedEvent = (0, _objectSpread2.default)({}, usageEventEntity, {
+          result: 'success'
+        });
+        const {
+          data: savedEvent
+        } = await client.save(updatedEvent);
+        return savedEvent;
+      }
+    } catch (err) {
+      console.log('UsageEvent service error on udpateConnectionAttemptEvent : ', err);
+    }
+  }
   /**
    * updateUsageEventsAggregated
    * @param {Client} client
@@ -66440,7 +66464,7 @@ class UsageEventService {
           aggregated: true
         }));
       } catch (error) {
-        console.log(error);
+        console.log('UsageEvent service error on updateUsageEventsAggregated : ', error);
       }
     }
 
@@ -66497,7 +66521,7 @@ exports.default = UsageEventService;
     return;
   }
 
-  reactHotLoader.register(UsageEventService, "UsageEventService", "/home/gcarron/dev/ecolyo/src/services/usageEvent.service.ts");
+  reactHotLoader.register(UsageEventService, "UsageEventService", "/home/bastien/ecolyo/src/services/usageEvent.service.ts");
 })();
 
 ;
@@ -66510,39 +66534,78 @@ exports.default = UsageEventService;
 
 /***/ }),
 /* 515 */
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.UsageEventType = void 0;
+
+var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
+  return a;
+};
+
+let UsageEventType;
+exports.UsageEventType = UsageEventType;
+
+(function (UsageEventType) {
+  UsageEventType["CONNECTION_EVENT"] = "ConnectionEvent";
+  UsageEventType["KONNECTOR_CONNECT_EVENT"] = "KonnectorConnectEvent";
+  UsageEventType["KONNECTOR_ATTEMPT_EVENT"] = "KonnectorAttemptEvent";
+  UsageEventType["KONNECTOR_REFRESH_EVENT"] = "KonnectorRefreshEvent";
+  UsageEventType["NAVIGATION_EVENT"] = "NavigationEvent";
+  UsageEventType["CONSUMPTION_COMPARE_EVENT"] = "ConsumptionCompareEvent";
+  UsageEventType["CONSUMPTION_CHANGE_TIMESTEP_EVENT"] = "ConsumptionChangeTimeStepEvent";
+  UsageEventType["CHALLENGE_LAUNCH_EVENT"] = "ChallengeLaunchEvent";
+  UsageEventType["CHALLENGE_END_EVENT"] = "ChallengeEndEvent";
+  UsageEventType["DUEL_LAUNCH_EVENT"] = "DuelLaunchEvent";
+  UsageEventType["DUEL_END_EVENT"] = "DuelEndEvent";
+  UsageEventType["QUIZ_END_EVENT"] = "QuizEndEvent";
+  UsageEventType["EXPLORATION_END_EVENT"] = "ExplorationEndEvent";
+  UsageEventType["ACTION_CHANGE_EVENT"] = "ActionChangeEvent";
+  UsageEventType["ACTION_END_EVENT"] = "ActionEndEvent";
+  UsageEventType["PROFILE_SET_EVENT"] = "ProfileSetEvent";
+  UsageEventType["REPORT_FROM_EMAIL"] = "ReportFromEvent";
+})(UsageEventType || (exports.UsageEventType = UsageEventType = {}));
+
+/***/ }),
+/* 516 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DateTime", function() { return _datetime_js__WEBPACK_IMPORTED_MODULE_0__["default"]; });
 
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(518);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Duration", function() { return _duration_js__WEBPACK_IMPORTED_MODULE_1__["default"]; });
 
-/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(533);
+/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(534);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Interval", function() { return _interval_js__WEBPACK_IMPORTED_MODULE_2__["default"]; });
 
-/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534);
+/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(535);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Info", function() { return _info_js__WEBPACK_IMPORTED_MODULE_3__["default"]; });
 
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(527);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(528);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Zone", function() { return _zone_js__WEBPACK_IMPORTED_MODULE_4__["default"]; });
 
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(530);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(531);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FixedOffsetZone", function() { return _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__["default"]; });
 
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(528);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(529);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "IANAZone", function() { return _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__["default"]; });
 
-/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(531);
+/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(532);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "InvalidZone", function() { return _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__["default"]; });
 
-/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(526);
+/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(527);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LocalZone", function() { return _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__["default"]; });
 
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(525);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(526);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Settings", function() { return _settings_js__WEBPACK_IMPORTED_MODULE_9__["default"]; });
 
 
@@ -66562,29 +66625,29 @@ const VERSION = "1.28.0";
 
 
 /***/ }),
-/* 516 */
+/* 517 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return DateTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "friendlyDateTime", function() { return friendlyDateTime; });
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
-/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(533);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534);
-/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(519);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(530);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(524);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(522);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(529);
-/* harmony import */ var _impl_diff_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(535);
-/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(532);
-/* harmony import */ var _impl_tokenParser_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(536);
-/* harmony import */ var _impl_conversions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(538);
-/* harmony import */ var _impl_formats_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(521);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(518);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(523);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(534);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(535);
+/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(520);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(531);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(525);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(523);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(530);
+/* harmony import */ var _impl_diff_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(536);
+/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(533);
+/* harmony import */ var _impl_tokenParser_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(537);
+/* harmony import */ var _impl_conversions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(539);
+/* harmony import */ var _impl_formats_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(522);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(519);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(524);
 
 
 
@@ -68730,20 +68793,20 @@ function friendlyDateTime(dateTimeish) {
 
 
 /***/ }),
-/* 517 */
+/* 518 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Duration; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "friendlyDuration", function() { return friendlyDuration; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
-/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(519);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(523);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(524);
-/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(532);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(522);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(525);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
+/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(525);
+/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(533);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(523);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(526);
 
 
 
@@ -69620,7 +69683,7 @@ function friendlyDuration(durationish) {
 
 
 /***/ }),
-/* 518 */
+/* 519 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69696,15 +69759,15 @@ class ZoneIsAbstractError extends LuxonError {
 
 
 /***/ }),
-/* 519 */
+/* 520 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Formatter; });
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(520);
-/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(522);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(521);
+/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(522);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(523);
 
 
 
@@ -70094,7 +70157,7 @@ class Formatter {
 
 
 /***/ }),
-/* 520 */
+/* 521 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -70118,8 +70181,8 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "eraForDateTime", function() { return eraForDateTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatRelativeTime", function() { return formatRelativeTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatString", function() { return formatString; });
-/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(521);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(522);
+/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(523);
 
 
 
@@ -70356,7 +70419,7 @@ function formatString(knownFormat) {
 
 
 /***/ }),
-/* 521 */
+/* 522 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -70577,7 +70640,7 @@ const DATETIME_HUGE_WITH_SECONDS = {
 
 
 /***/ }),
-/* 522 */
+/* 523 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -70613,7 +70676,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatOffset", function() { return formatOffset; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeObject", function() { return timeObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ianaRegex", function() { return ianaRegex; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
 /*
   This is just a junk drawer, containing anything used across multiple classes.
   Because Luxon is small(ish), this should stay small and we won't worry about splitting
@@ -70909,7 +70972,7 @@ const ianaRegex = /[A-Za-z_+-]{1,256}(:?\/[A-Za-z_+-]{1,256}(\/[A-Za-z_+-]{1,256
 
 
 /***/ }),
-/* 523 */
+/* 524 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -70932,18 +70995,18 @@ class Invalid {
 
 
 /***/ }),
-/* 524 */
+/* 525 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Locale; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(516);
-/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(519);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(528);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(517);
+/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(520);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(529);
 
 
 
@@ -71429,16 +71492,16 @@ class Locale {
 
 
 /***/ }),
-/* 525 */
+/* 526 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Settings; });
-/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(526);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(529);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(530);
 
 
 
@@ -71579,14 +71642,14 @@ class Settings {
 
 
 /***/ }),
-/* 526 */
+/* 527 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return LocalZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -71653,13 +71716,13 @@ class LocalZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 527 */
+/* 528 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Zone; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
 /* eslint no-unused-vars: "off" */
 
 
@@ -71751,14 +71814,14 @@ class Zone {
 
 
 /***/ }),
-/* 528 */
+/* 529 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return IANAZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -71953,17 +72016,17 @@ class IANAZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 529 */
+/* 530 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalizeZone", function() { return normalizeZone; });
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(531);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(522);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(528);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(529);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(532);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(523);
 /**
  * @private
  */
@@ -72003,14 +72066,14 @@ function normalizeZone(input, defaultZone) {
 
 
 /***/ }),
-/* 530 */
+/* 531 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return FixedOffsetZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -72108,13 +72171,13 @@ class FixedOffsetZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 531 */
+/* 532 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return InvalidZone; });
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(528);
 
 
 /**
@@ -72171,7 +72234,7 @@ class InvalidZone extends _zone_js__WEBPACK_IMPORTED_MODULE_0__["default"] {
 
 
 /***/ }),
-/* 532 */
+/* 533 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -72182,10 +72245,10 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseISODuration", function() { return parseISODuration; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseISOTimeOnly", function() { return parseISOTimeOnly; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseSQL", function() { return parseSQL; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
 
 
 
@@ -72517,17 +72580,17 @@ function parseSQL(s) {
 
 
 /***/ }),
-/* 533 */
+/* 534 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Interval; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(517);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(518);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(523);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(518);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(519);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(524);
 
 
 
@@ -73133,18 +73196,18 @@ class Interval {
 
 
 /***/ }),
-/* 534 */
+/* 535 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Info; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(525);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(529);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(522);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(526);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(530);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(523);
 
 
 
@@ -73341,12 +73404,12 @@ class Info {
 
 
 /***/ }),
-/* 535 */
+/* 536 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
 
 
 function dayDiff(earlier, later) {
@@ -73430,20 +73493,20 @@ function highOrderDiffs(cursor, later, units) {
 
 
 /***/ }),
-/* 536 */
+/* 537 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "explainFromTokens", function() { return explainFromTokens; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseFromTokens", function() { return parseFromTokens; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(519);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(516);
-/* harmony import */ var _digits_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(537);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(518);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(517);
+/* harmony import */ var _digits_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(538);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(519);
 
 
 
@@ -73871,7 +73934,7 @@ function parseFromTokens(locale, input, format) {
 
 
 /***/ }),
-/* 537 */
+/* 538 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -73957,7 +74020,7 @@ function digitRegex({ numberingSystem }, append = "") {
 
 
 /***/ }),
-/* 538 */
+/* 539 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -73970,8 +74033,8 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidOrdinalData", function() { return hasInvalidOrdinalData; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidGregorianData", function() { return hasInvalidGregorianData; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidTimeData", function() { return hasInvalidTimeData; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _invalid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(523);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _invalid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(524);
 
 
 
@@ -74124,7 +74187,7 @@ function hasInvalidTimeData(obj) {
 
 
 /***/ }),
-/* 539 */
+/* 540 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74145,7 +74208,7 @@ var _cozyClient = __webpack_require__(40);
 
 var _doctypes = __webpack_require__(484);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74234,7 +74297,7 @@ exports.default = ProfileService;
     return;
   }
 
-  reactHotLoader.register(ProfileService, "ProfileService", "/home/gcarron/dev/ecolyo/src/services/profile.service.ts");
+  reactHotLoader.register(ProfileService, "ProfileService", "/home/bastien/ecolyo/src/services/profile.service.ts");
 })();
 
 ;
@@ -74246,7 +74309,7 @@ exports.default = ProfileService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 540 */
+/* 541 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74261,21 +74324,21 @@ exports.default = void 0;
 
 var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _cozyClient = __webpack_require__(40);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _consumptionFormatter = _interopRequireDefault(__webpack_require__(543));
+var _consumptionFormatter = _interopRequireDefault(__webpack_require__(544));
 
-var _queryRunner = _interopRequireDefault(__webpack_require__(549));
+var _queryRunner = _interopRequireDefault(__webpack_require__(550));
 
-var _consumptionValidator = _interopRequireDefault(__webpack_require__(551));
+var _consumptionValidator = _interopRequireDefault(__webpack_require__(552));
 
-var _converter = _interopRequireDefault(__webpack_require__(552));
+var _converter = _interopRequireDefault(__webpack_require__(553));
 
 var _doctypes = __webpack_require__(484);
 
@@ -74705,7 +74768,7 @@ exports.default = ConsumptionDataManager;
     return;
   }
 
-  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/gcarron/dev/ecolyo/src/services/consumption.service.ts");
+  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/bastien/ecolyo/src/services/consumption.service.ts");
 })();
 
 ;
@@ -74717,7 +74780,7 @@ exports.default = ConsumptionDataManager;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 541 */
+/* 542 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74755,7 +74818,7 @@ exports.FluidState = FluidState;
 })(FluidState || (exports.FluidState = FluidState = {}));
 
 /***/ }),
-/* 542 */
+/* 543 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74783,7 +74846,7 @@ exports.TimeStep = TimeStep;
 })(TimeStep || (exports.TimeStep = TimeStep = {}));
 
 /***/ }),
-/* 543 */
+/* 544 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74798,19 +74861,19 @@ exports.default = void 0;
 
 var _objectSpread2 = _interopRequireDefault(__webpack_require__(3));
 
-var _dataload = __webpack_require__(544);
+var _dataload = __webpack_require__(545);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _dateChart = _interopRequireDefault(__webpack_require__(545));
+var _dateChart = _interopRequireDefault(__webpack_require__(546));
 
-var _date = __webpack_require__(548);
+var _date = __webpack_require__(549);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -75003,7 +75066,7 @@ exports.default = ConsumptionFormatterService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/gcarron/dev/ecolyo/src/services/consumptionFormatter.service.ts");
+  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/bastien/ecolyo/src/services/consumptionFormatter.service.ts");
 })();
 
 ;
@@ -75015,7 +75078,7 @@ exports.default = ConsumptionFormatterService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 544 */
+/* 545 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -75059,7 +75122,7 @@ exports.DataloadSectionType = DataloadSectionType;
 })(DataloadSectionType || (exports.DataloadSectionType = DataloadSectionType = {}));
 
 /***/ }),
-/* 545 */
+/* 546 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -75072,13 +75135,13 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -75437,7 +75500,7 @@ exports.default = DateChartService;
     return;
   }
 
-  reactHotLoader.register(DateChartService, "DateChartService", "/home/gcarron/dev/ecolyo/src/services/dateChart.service.ts");
+  reactHotLoader.register(DateChartService, "DateChartService", "/home/bastien/ecolyo/src/services/dateChart.service.ts");
 })();
 
 ;
@@ -75449,7 +75512,7 @@ exports.default = DateChartService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 546 */
+/* 547 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -75462,7 +75525,7 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _config = _interopRequireDefault(__webpack_require__(547));
+var _config = _interopRequireDefault(__webpack_require__(548));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -75510,7 +75573,7 @@ exports.default = ConfigService;
     return;
   }
 
-  reactHotLoader.register(ConfigService, "ConfigService", "/home/gcarron/dev/ecolyo/src/services/fluidConfig.service.ts");
+  reactHotLoader.register(ConfigService, "ConfigService", "/home/bastien/ecolyo/src/services/fluidConfig.service.ts");
 })();
 
 ;
@@ -75522,13 +75585,13 @@ exports.default = ConfigService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 547 */
+/* 548 */
 /***/ (function(module) {
 
 module.exports = JSON.parse("{\"fluidConfig\":[{\"fluidTypeId\":0,\"name\":\"enedis\",\"coefficient\":0.174,\"startDate\":\"2021-08-01T00:00:00.000\",\"dataDelayOffset\":3,\"konnectorConfig\":{\"name\":\"Enedis\",\"oauth\":true,\"slug\":\"enedisgrandlyon\",\"siteLink\":\"https://mon-compte-client.enedis.fr/\",\"activation\":\"https://mon-compte-particulier.enedis.fr/donnees/\"}},{\"fluidTypeId\":1,\"name\":\"egl\",\"coefficient\":0.00319,\"startDate\":\"2021-01-01T00:00:00.000\",\"dataDelayOffset\":5,\"konnectorConfig\":{\"name\":\"Eau du Grand Lyon\",\"oauth\":false,\"slug\":\"eglgrandlyon\",\"siteLink\":\"https://www.eaudugrandlyon.com/inscription.aspx#subc-now\",\"activation\":\"\"}},{\"fluidTypeId\":2,\"name\":\"grdf\",\"coefficient\":0.1121,\"startDate\":\"2021-10-01T00:00:00.000\",\"dataDelayOffset\":5,\"konnectorConfig\":{\"name\":\"GRDF\",\"oauth\":true,\"slug\":\"grdfgrandlyon\",\"siteLink\":\"https://monespace.grdf.fr/monespace/connexion\",\"activation\":\"\"}}],\"termsVersion\":\"1.0.0\"}");
 
 /***/ }),
-/* 548 */
+/* 549 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -75540,11 +75603,11 @@ Object.defineProperty(exports, "__esModule", {
 exports.compareDates = compareDates;
 exports.isLastPeriodReached = exports.isLastDateReached = exports.getLagDays = exports.getActualAnalysisDate = exports.convertDateToShortDateString = exports.convertDateToMonthYearString = exports.convertDateToMonthString = void 0;
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -75734,14 +75797,14 @@ exports.getActualAnalysisDate = getActualAnalysisDate;
     return;
   }
 
-  reactHotLoader.register(compareDates, "compareDates", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getLagDays, "getLagDays", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(compareDates, "compareDates", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getLagDays, "getLagDays", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/bastien/ecolyo/src/utils/date.ts");
 })();
 
 ;
@@ -75753,7 +75816,7 @@ exports.getActualAnalysisDate = getActualAnalysisDate;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 549 */
+/* 550 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -75770,17 +75833,17 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
 var _cozyClient = __webpack_require__(40);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _doctypes = __webpack_require__(484);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _logger = _interopRequireDefault(__webpack_require__(550));
+var _logger = _interopRequireDefault(__webpack_require__(551));
 
-var _dataload = __webpack_require__(544);
+var _dataload = __webpack_require__(545);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -76156,7 +76219,7 @@ exports.default = QueryRunner;
     return;
   }
 
-  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/gcarron/dev/ecolyo/src/services/queryRunner.service.ts");
+  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/bastien/ecolyo/src/services/queryRunner.service.ts");
 })();
 
 ;
@@ -76168,7 +76231,7 @@ exports.default = QueryRunner;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 550 */
+/* 551 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -76187,7 +76250,7 @@ const log = minilog('ecolyo')
 
 
 /***/ }),
-/* 551 */
+/* 552 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -76198,11 +76261,11 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -76265,7 +76328,7 @@ exports.default = ConsumptionValidatorService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/gcarron/dev/ecolyo/src/services/consumptionValidator.service.ts");
+  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/bastien/ecolyo/src/services/consumptionValidator.service.ts");
 })();
 
 ;
@@ -76277,7 +76340,7 @@ exports.default = ConsumptionValidatorService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 552 */
+/* 553 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -76292,9 +76355,9 @@ exports.default = void 0;
 
 var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -76362,7 +76425,7 @@ exports.default = ConverterService;
     return;
   }
 
-  reactHotLoader.register(ConverterService, "ConverterService", "/home/gcarron/dev/ecolyo/src/services/converter.service.ts");
+  reactHotLoader.register(ConverterService, "ConverterService", "/home/bastien/ecolyo/src/services/converter.service.ts");
 })();
 
 ;
@@ -76373,44 +76436,6 @@ exports.default = ConverterService;
 })();
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
-/***/ }),
-/* 553 */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-Object.defineProperty(exports, "__esModule", {
-  value: true
-});
-exports.UsageEventType = void 0;
-
-var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
-  return a;
-};
-
-let UsageEventType;
-exports.UsageEventType = UsageEventType;
-
-(function (UsageEventType) {
-  UsageEventType["CONNECTION_EVENT"] = "ConnectionEvent";
-  UsageEventType["KONNECTOR_CONNECT_EVENT"] = "KonnectorConnectEvent";
-  UsageEventType["KONNECTOR_REFRESH_EVENT"] = "KonnectorRefreshEvent";
-  UsageEventType["NAVIGATION_EVENT"] = "NavigationEvent";
-  UsageEventType["CONSUMPTION_COMPARE_EVENT"] = "ConsumptionCompareEvent";
-  UsageEventType["CONSUMPTION_CHANGE_TIMESTEP_EVENT"] = "ConsumptionChangeTimeStepEvent";
-  UsageEventType["CHALLENGE_LAUNCH_EVENT"] = "ChallengeLaunchEvent";
-  UsageEventType["CHALLENGE_END_EVENT"] = "ChallengeEndEvent";
-  UsageEventType["DUEL_LAUNCH_EVENT"] = "DuelLaunchEvent";
-  UsageEventType["DUEL_END_EVENT"] = "DuelEndEvent";
-  UsageEventType["QUIZ_END_EVENT"] = "QuizEndEvent";
-  UsageEventType["EXPLORATION_END_EVENT"] = "ExplorationEndEvent";
-  UsageEventType["ACTION_CHANGE_EVENT"] = "ActionChangeEvent";
-  UsageEventType["ACTION_END_EVENT"] = "ActionEndEvent";
-  UsageEventType["PROFILE_SET_EVENT"] = "ProfileSetEvent";
-  UsageEventType["REPORT_FROM_EMAIL"] = "ReportFromEvent";
-})(UsageEventType || (exports.UsageEventType = UsageEventType = {}));
-
 /***/ }),
 /* 554 */
 /***/ (function(module, exports, __webpack_require__) {
@@ -76427,13 +76452,13 @@ exports.default = void 0;
 
 var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 var _konnector = _interopRequireDefault(__webpack_require__(555));
 
-var _consumption = _interopRequireDefault(__webpack_require__(540));
+var _consumption = _interopRequireDefault(__webpack_require__(541));
 
 var _account = _interopRequireDefault(__webpack_require__(834));
 
@@ -76593,7 +76618,7 @@ exports.default = FluidService;
     return;
   }
 
-  reactHotLoader.register(FluidService, "FluidService", "/home/gcarron/dev/ecolyo/src/services/fluid.service.ts");
+  reactHotLoader.register(FluidService, "FluidService", "/home/bastien/ecolyo/src/services/fluid.service.ts");
 })();
 
 ;
@@ -76691,7 +76716,7 @@ exports.default = KonnectorService;
     return;
   }
 
-  reactHotLoader.register(KonnectorService, "KonnectorService", "/home/gcarron/dev/ecolyo/src/services/konnector.service.ts");
+  reactHotLoader.register(KonnectorService, "KonnectorService", "/home/bastien/ecolyo/src/services/konnector.service.ts");
 })();
 
 ;
@@ -76724,7 +76749,7 @@ var _triggers = __webpack_require__(557);
 
 var _triggers2 = _interopRequireDefault(__webpack_require__(788));
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 var _doctypes = __webpack_require__(484);
 
@@ -76825,7 +76850,7 @@ exports.default = TriggerService;
     return;
   }
 
-  reactHotLoader.register(TriggerService, "TriggerService", "/home/gcarron/dev/ecolyo/src/services/triggers.service.ts");
+  reactHotLoader.register(TriggerService, "TriggerService", "/home/bastien/ecolyo/src/services/triggers.service.ts");
 })();
 
 ;
@@ -92834,7 +92859,7 @@ var _accounts2 = __webpack_require__(831);
 
 var _triggers = _interopRequireDefault(__webpack_require__(556));
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -92874,7 +92899,7 @@ class AccountService {
     const query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase
     .where({
       account_type: type
-    });
+    }).indexFields(['account_type']);
     const {
       data: accounts
     } = await this._client.query(query);
@@ -92911,7 +92936,7 @@ class AccountService {
     const query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase
     .where({
       account_type: type
-    });
+    }).indexFields(['account_type']);
     const {
       data: accounts
     } = await this._client.query(query);
@@ -92942,7 +92967,7 @@ class AccountService {
     const query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase
     .where({
       account_type: 'index'
-    }).limitBy(1);
+    }).indexFields(['account_type']).limitBy(1);
     const {
       data: result
     } = await this._client.query(query);
@@ -92967,7 +92992,7 @@ exports.default = AccountService;
     return;
   }
 
-  reactHotLoader.register(AccountService, "AccountService", "/home/gcarron/dev/ecolyo/src/services/account.service.ts");
+  reactHotLoader.register(AccountService, "AccountService", "/home/bastien/ecolyo/src/services/account.service.ts");
 })();
 
 ;
@@ -93002,11 +93027,11 @@ exports.isKonnectorActive = isKonnectorActive;
 
 var _get = _interopRequireDefault(__webpack_require__(163));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
 var _konnectorUpdate = __webpack_require__(836);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _ecogesture = __webpack_require__(837);
 
@@ -93215,17 +93240,17 @@ exports.getSeason = getSeason;
     return;
   }
 
-  reactHotLoader.register(getFluidType, "getFluidType", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getKonnectorUpdateError, "getKonnectorUpdateError", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(isKonnectorActive, "isKonnectorActive", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(formatNumberValues, "formatNumberValues", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationship, "getRelationship", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationshipHasMany, "getRelationshipHasMany", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationships, "getRelationships", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(importIconbyId, "importIconbyId", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getPreviousMonthName, "getPreviousMonthName", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getMonthNameWithPrep, "getMonthNameWithPrep", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getSeason, "getSeason", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getFluidType, "getFluidType", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getKonnectorUpdateError, "getKonnectorUpdateError", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(isKonnectorActive, "isKonnectorActive", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(formatNumberValues, "formatNumberValues", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationship, "getRelationship", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationshipHasMany, "getRelationshipHasMany", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationships, "getRelationships", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(importIconbyId, "importIconbyId", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getPreviousMonthName, "getPreviousMonthName", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getMonthNameWithPrep, "getMonthNameWithPrep", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getSeason, "getSeason", "/home/bastien/ecolyo/src/utils/utils.ts");
 })();
 
 ;
@@ -94570,7 +94595,7 @@ exports.default = EnvironmentService;
     return;
   }
 
-  reactHotLoader.register(EnvironmentService, "EnvironmentService", "/home/gcarron/dev/ecolyo/src/services/environment.service.ts");
+  reactHotLoader.register(EnvironmentService, "EnvironmentService", "/home/bastien/ecolyo/src/services/environment.service.ts");
 })();
 
 ;
@@ -94614,6 +94639,7 @@ exports.DaccEvent = DaccEvent;
   DaccEvent["SUMMARY_SUBSCRIPTION_MONTHLY"] = "summary-subscription-monthly";
   DaccEvent["FLUID_DATA_GRANULARITY"] = "fluid-data-granularity-monthly";
   DaccEvent["PARTNER_SUCESS_MONTHLY"] = "konnector-attempts-before-success";
+  DaccEvent["UNINITIALIZED_KONNECTOR_ATTEMPTS_MONTHLY"] = "uninitialized-konnector-attempts-monthly";
   DaccEvent["CONNECTION_COUNT_MONTHLY"] = "connection-count-monthly";
   DaccEvent["PROFILE_COUNT_MONTHLY"] = "profile-count";
 })(DaccEvent || (exports.DaccEvent = DaccEvent = {}));
@@ -94663,13 +94689,13 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
 var _cozyClient = __webpack_require__(40);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _doctypes = __webpack_require__(484);
 
 var _userChallenge2 = __webpack_require__(1005);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
 var _userDuel = __webpack_require__(1006);
 
@@ -94677,15 +94703,15 @@ var _duel = _interopRequireDefault(__webpack_require__(1007));
 
 var _quiz = _interopRequireDefault(__webpack_require__(1010));
 
-var _consumption = _interopRequireDefault(__webpack_require__(540));
+var _consumption = _interopRequireDefault(__webpack_require__(541));
 
 var _utils = __webpack_require__(835);
 
-var _date = __webpack_require__(548);
+var _date = __webpack_require__(549);
 
 var _exploration = _interopRequireDefault(__webpack_require__(1012));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
 var _userExploration = __webpack_require__(1013);
 
@@ -95377,7 +95403,7 @@ exports.default = ChallengeService;
     return;
   }
 
-  reactHotLoader.register(ChallengeService, "ChallengeService", "/home/gcarron/dev/ecolyo/src/services/challenge.service.ts");
+  reactHotLoader.register(ChallengeService, "ChallengeService", "/home/bastien/ecolyo/src/services/challenge.service.ts");
 })();
 
 ;
@@ -95500,15 +95526,15 @@ var _comGrandlyonEcolyoDuel = __webpack_require__(498);
 
 var _userDuel = __webpack_require__(1006);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _consumption = _interopRequireDefault(__webpack_require__(540));
+var _consumption = _interopRequireDefault(__webpack_require__(541));
 
 var _performanceIndicator = _interopRequireDefault(__webpack_require__(1008));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
 var _math = __webpack_require__(1009);
 
@@ -95806,7 +95832,7 @@ exports.default = DuelService;
     return;
   }
 
-  reactHotLoader.register(DuelService, "DuelService", "/home/gcarron/dev/ecolyo/src/services/duel.service.ts");
+  reactHotLoader.register(DuelService, "DuelService", "/home/bastien/ecolyo/src/services/duel.service.ts");
 })();
 
 ;
@@ -95831,7 +95857,7 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _converter = _interopRequireDefault(__webpack_require__(552));
+var _converter = _interopRequireDefault(__webpack_require__(553));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -95914,7 +95940,7 @@ exports.default = PerformanceIndicatorService;
     return;
   }
 
-  reactHotLoader.register(PerformanceIndicatorService, "PerformanceIndicatorService", "/home/gcarron/dev/ecolyo/src/services/performanceIndicator.service.ts");
+  reactHotLoader.register(PerformanceIndicatorService, "PerformanceIndicatorService", "/home/bastien/ecolyo/src/services/performanceIndicator.service.ts");
 })();
 
 ;
@@ -95971,9 +95997,9 @@ function sum(dataA) {
     return;
   }
 
-  reactHotLoader.register(getRoundFloat, "getRoundFloat", "/home/gcarron/dev/ecolyo/src/utils/math.ts");
-  reactHotLoader.register(getPercentage, "getPercentage", "/home/gcarron/dev/ecolyo/src/utils/math.ts");
-  reactHotLoader.register(sum, "sum", "/home/gcarron/dev/ecolyo/src/utils/math.ts");
+  reactHotLoader.register(getRoundFloat, "getRoundFloat", "/home/bastien/ecolyo/src/utils/math.ts");
+  reactHotLoader.register(getPercentage, "getPercentage", "/home/bastien/ecolyo/src/utils/math.ts");
+  reactHotLoader.register(sum, "sum", "/home/bastien/ecolyo/src/utils/math.ts");
 })();
 
 ;
@@ -96006,13 +96032,13 @@ var _cozyClient = __webpack_require__(40);
 
 var _doctypes = __webpack_require__(484);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _consumption = _interopRequireDefault(__webpack_require__(540));
+var _consumption = _interopRequireDefault(__webpack_require__(541));
 
 var _userQuiz = __webpack_require__(1011);
 
@@ -96020,7 +96046,7 @@ var _lodash = __webpack_require__(474);
 
 var _utils = __webpack_require__(835);
 
-var _logger = _interopRequireDefault(__webpack_require__(550));
+var _logger = _interopRequireDefault(__webpack_require__(551));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -96652,7 +96678,7 @@ exports.default = QuizService;
     return;
   }
 
-  reactHotLoader.register(QuizService, "QuizService", "/home/gcarron/dev/ecolyo/src/services/quiz.service.ts");
+  reactHotLoader.register(QuizService, "QuizService", "/home/bastien/ecolyo/src/services/quiz.service.ts");
 })();
 
 ;
@@ -96732,7 +96758,7 @@ var _userChallenge = __webpack_require__(1005);
 
 var _userExploration = __webpack_require__(1013);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _challenge = _interopRequireDefault(__webpack_require__(1004));
 
@@ -96961,7 +96987,7 @@ exports.default = ExplorationService;
     return;
   }
 
-  reactHotLoader.register(ExplorationService, "ExplorationService", "/home/gcarron/dev/ecolyo/src/services/exploration.service.ts");
+  reactHotLoader.register(ExplorationService, "ExplorationService", "/home/bastien/ecolyo/src/services/exploration.service.ts");
 })();
 
 ;
@@ -97075,7 +97101,7 @@ var _userChallenge = __webpack_require__(1005);
 
 var _lodash = __webpack_require__(474);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _utils = __webpack_require__(835);
 
@@ -97306,7 +97332,7 @@ exports.default = ActionService;
     return;
   }
 
-  reactHotLoader.register(ActionService, "ActionService", "/home/gcarron/dev/ecolyo/src/services/action.service.ts");
+  reactHotLoader.register(ActionService, "ActionService", "/home/bastien/ecolyo/src/services/action.service.ts");
 })();
 
 ;
@@ -97339,7 +97365,7 @@ var _doctypes = __webpack_require__(484);
 
 var _ecogesture = __webpack_require__(837);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
 var _profileType = __webpack_require__(1017);
 
@@ -97535,7 +97561,7 @@ exports.default = EcogestureService;
     return;
   }
 
-  reactHotLoader.register(EcogestureService, "EcogestureService", "/home/gcarron/dev/ecolyo/src/services/ecogesture.service.ts");
+  reactHotLoader.register(EcogestureService, "EcogestureService", "/home/bastien/ecolyo/src/services/ecogesture.service.ts");
 })();
 
 ;
@@ -97705,11 +97731,11 @@ var _cozyClient = __webpack_require__(40);
 
 var _doctypes = __webpack_require__(484);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _profileTypeData = _interopRequireDefault(__webpack_require__(1019));
 
-var _logger = _interopRequireDefault(__webpack_require__(550));
+var _logger = _interopRequireDefault(__webpack_require__(551));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -97917,7 +97943,7 @@ exports.default = ProfileTypeEntityService;
     return;
   }
 
-  reactHotLoader.register(ProfileTypeEntityService, "ProfileTypeEntityService", "/home/gcarron/dev/ecolyo/src/services/profileTypeEntity.service.ts");
+  reactHotLoader.register(ProfileTypeEntityService, "ProfileTypeEntityService", "/home/bastien/ecolyo/src/services/profileTypeEntity.service.ts");
 })();
 
 ;
@@ -97954,9 +97980,9 @@ var _cozyClient = __webpack_require__(40);
 
 var _doctypes = __webpack_require__(484);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _config = _interopRequireDefault(__webpack_require__(547));
+var _config = _interopRequireDefault(__webpack_require__(548));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -98070,7 +98096,7 @@ exports.default = TermsService;
     return;
   }
 
-  reactHotLoader.register(TermsService, "TermsService", "/home/gcarron/dev/ecolyo/src/services/terms.service.ts");
+  reactHotLoader.register(TermsService, "TermsService", "/home/bastien/ecolyo/src/services/terms.service.ts");
 })();
 
 ;
diff --git a/services/consumptionAlert/ecolyo.js b/services/consumptionAlert/ecolyo.js
index 59b0a04fe19a900766d452cdbcaafc2879e043fd..0e310ac10a21b111afe13b2a5beeb3b24078e3ee 100644
--- a/services/consumptionAlert/ecolyo.js
+++ b/services/consumptionAlert/ecolyo.js
@@ -2460,8 +2460,8 @@ exports.runService = runService;
     return;
   }
 
-  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
-  reactHotLoader.register(runService, "runService", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/bastien/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(runService, "runService", "/home/bastien/ecolyo/src/targets/services/service.ts");
 })();
 
 ;
@@ -63881,8 +63881,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(doctypes, "doctypes", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(doctypes, "doctypes", "/home/bastien/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/doctypes/index.ts");
 })();
 
 ;
@@ -63925,7 +63925,7 @@ exports.ENEDIS_DAY_DOCTYPE = ENEDIS_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
+  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
 })();
 
 ;
@@ -63968,7 +63968,7 @@ exports.GRDF_DAY_DOCTYPE = GRDF_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
+  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
 })();
 
 ;
@@ -64011,7 +64011,7 @@ exports.EGL_DAY_DOCTYPE = EGL_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
+  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
 })();
 
 ;
@@ -64054,7 +64054,7 @@ exports.KONNECTORS_DOCTYPE = KONNECTORS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-konnectors.ts");
+  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-konnectors.ts");
 })();
 
 ;
@@ -64097,7 +64097,7 @@ exports.ACCOUNTS_DOCTYPE = ACCOUNTS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-accounts.ts");
+  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-accounts.ts");
 })();
 
 ;
@@ -64140,7 +64140,7 @@ exports.JOBS_DOCTYPE = JOBS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-jobs.ts");
+  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-jobs.ts");
 })();
 
 ;
@@ -64183,7 +64183,7 @@ exports.TERMS_DOCTYPE = TERMS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-terms.ts");
+  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-terms.ts");
 })();
 
 ;
@@ -64226,7 +64226,7 @@ exports.ECOGESTURE_DOCTYPE = ECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
+  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
 })();
 
 ;
@@ -64269,7 +64269,7 @@ exports.PROFILE_DOCTYPE = PROFILE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
+  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
 })();
 
 ;
@@ -64312,7 +64312,7 @@ exports.PROFILETYPE_DOCTYPE = PROFILETYPE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
+  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
 })();
 
 ;
@@ -64355,7 +64355,7 @@ exports.SCHEMAS_DOCTYPE = SCHEMAS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
+  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
 })();
 
 ;
@@ -64398,7 +64398,7 @@ exports.CHALLENGE_DOCTYPE = CHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
+  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
 })();
 
 ;
@@ -64441,7 +64441,7 @@ exports.USERCHALLENGE_DOCTYPE = USERCHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
+  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
 })();
 
 ;
@@ -64484,7 +64484,7 @@ exports.DUEL_DOCTYPE = DUEL_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
+  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
 })();
 
 ;
@@ -64527,7 +64527,7 @@ exports.QUIZ_DOCTYPE = QUIZ_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
+  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
 })();
 
 ;
@@ -64570,7 +64570,7 @@ exports.FLUIDPRICES_DOCTYPE = FLUIDPRICES_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
+  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
 })();
 
 ;
@@ -64613,7 +64613,7 @@ exports.USAGEEVENT_DOCTYPE = USAGEEVENT_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
+  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
 })();
 
 ;
@@ -64656,7 +64656,7 @@ exports.EXPLORATION_DOCTYPE = EXPLORATION_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
+  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
 })();
 
 ;
@@ -64699,7 +64699,7 @@ exports.ENEDIS_YEAR_DOCTYPE = ENEDIS_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
+  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
 })();
 
 ;
@@ -64742,7 +64742,7 @@ exports.ENEDIS_MONTH_DOCTYPE = ENEDIS_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
+  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
 })();
 
 ;
@@ -64785,7 +64785,7 @@ exports.ENEDIS_MINUTE_DOCTYPE = ENEDIS_MINUTE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
+  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
 })();
 
 ;
@@ -64828,7 +64828,7 @@ exports.GRDF_YEAR_DOCTYPE = GRDF_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
+  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
 })();
 
 ;
@@ -64871,7 +64871,7 @@ exports.GRDF_MONTH_DOCTYPE = GRDF_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
+  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
 })();
 
 ;
@@ -64914,7 +64914,7 @@ exports.EGL_YEAR_DOCTYPE = EGL_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
+  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
 })();
 
 ;
@@ -64957,7 +64957,7 @@ exports.EGL_MONTH_DOCTYPE = EGL_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
+  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
 })();
 
 ;
@@ -65000,7 +65000,7 @@ exports.ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE = ENEDIS_MONTHLY_ANALYSIS_DATA_DOCT
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
+  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
 })();
 
 ;
@@ -65043,7 +65043,7 @@ exports.ENEDIS_MAXPOWER_DOCTYPE = ENEDIS_MAXPOWER_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
+  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
 })();
 
 ;
@@ -65086,7 +65086,7 @@ exports.PROFILEECOGESTURE_DOCTYPE = PROFILEECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
+  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
 })();
 
 ;
@@ -65129,7 +65129,7 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-triggers.ts");
+  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-triggers.ts");
 })();
 
 ;
@@ -65142,40 +65142,41 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE;
 
 /***/ }),
 /* 514 */,
-/* 515 */
+/* 515 */,
+/* 516 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DateTime", function() { return _datetime_js__WEBPACK_IMPORTED_MODULE_0__["default"]; });
 
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(518);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Duration", function() { return _duration_js__WEBPACK_IMPORTED_MODULE_1__["default"]; });
 
-/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(533);
+/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(534);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Interval", function() { return _interval_js__WEBPACK_IMPORTED_MODULE_2__["default"]; });
 
-/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534);
+/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(535);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Info", function() { return _info_js__WEBPACK_IMPORTED_MODULE_3__["default"]; });
 
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(527);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(528);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Zone", function() { return _zone_js__WEBPACK_IMPORTED_MODULE_4__["default"]; });
 
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(530);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(531);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FixedOffsetZone", function() { return _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__["default"]; });
 
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(528);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(529);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "IANAZone", function() { return _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__["default"]; });
 
-/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(531);
+/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(532);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "InvalidZone", function() { return _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__["default"]; });
 
-/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(526);
+/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(527);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LocalZone", function() { return _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__["default"]; });
 
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(525);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(526);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Settings", function() { return _settings_js__WEBPACK_IMPORTED_MODULE_9__["default"]; });
 
 
@@ -65195,29 +65196,29 @@ const VERSION = "1.28.0";
 
 
 /***/ }),
-/* 516 */
+/* 517 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return DateTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "friendlyDateTime", function() { return friendlyDateTime; });
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
-/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(533);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534);
-/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(519);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(530);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(524);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(522);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(529);
-/* harmony import */ var _impl_diff_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(535);
-/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(532);
-/* harmony import */ var _impl_tokenParser_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(536);
-/* harmony import */ var _impl_conversions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(538);
-/* harmony import */ var _impl_formats_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(521);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(518);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(523);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(534);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(535);
+/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(520);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(531);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(525);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(523);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(530);
+/* harmony import */ var _impl_diff_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(536);
+/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(533);
+/* harmony import */ var _impl_tokenParser_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(537);
+/* harmony import */ var _impl_conversions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(539);
+/* harmony import */ var _impl_formats_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(522);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(519);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(524);
 
 
 
@@ -67363,20 +67364,20 @@ function friendlyDateTime(dateTimeish) {
 
 
 /***/ }),
-/* 517 */
+/* 518 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Duration; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "friendlyDuration", function() { return friendlyDuration; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
-/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(519);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(523);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(524);
-/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(532);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(522);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(525);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
+/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(525);
+/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(533);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(523);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(526);
 
 
 
@@ -68253,7 +68254,7 @@ function friendlyDuration(durationish) {
 
 
 /***/ }),
-/* 518 */
+/* 519 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -68329,15 +68330,15 @@ class ZoneIsAbstractError extends LuxonError {
 
 
 /***/ }),
-/* 519 */
+/* 520 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Formatter; });
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(520);
-/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(522);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(521);
+/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(522);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(523);
 
 
 
@@ -68727,7 +68728,7 @@ class Formatter {
 
 
 /***/ }),
-/* 520 */
+/* 521 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -68751,8 +68752,8 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "eraForDateTime", function() { return eraForDateTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatRelativeTime", function() { return formatRelativeTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatString", function() { return formatString; });
-/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(521);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(522);
+/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(523);
 
 
 
@@ -68989,7 +68990,7 @@ function formatString(knownFormat) {
 
 
 /***/ }),
-/* 521 */
+/* 522 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69210,7 +69211,7 @@ const DATETIME_HUGE_WITH_SECONDS = {
 
 
 /***/ }),
-/* 522 */
+/* 523 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69246,7 +69247,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatOffset", function() { return formatOffset; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeObject", function() { return timeObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ianaRegex", function() { return ianaRegex; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
 /*
   This is just a junk drawer, containing anything used across multiple classes.
   Because Luxon is small(ish), this should stay small and we won't worry about splitting
@@ -69542,7 +69543,7 @@ const ianaRegex = /[A-Za-z_+-]{1,256}(:?\/[A-Za-z_+-]{1,256}(\/[A-Za-z_+-]{1,256
 
 
 /***/ }),
-/* 523 */
+/* 524 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69565,18 +69566,18 @@ class Invalid {
 
 
 /***/ }),
-/* 524 */
+/* 525 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Locale; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(516);
-/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(519);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(528);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(517);
+/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(520);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(529);
 
 
 
@@ -70062,16 +70063,16 @@ class Locale {
 
 
 /***/ }),
-/* 525 */
+/* 526 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Settings; });
-/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(526);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(529);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(530);
 
 
 
@@ -70212,14 +70213,14 @@ class Settings {
 
 
 /***/ }),
-/* 526 */
+/* 527 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return LocalZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70286,13 +70287,13 @@ class LocalZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 527 */
+/* 528 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Zone; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
 /* eslint no-unused-vars: "off" */
 
 
@@ -70384,14 +70385,14 @@ class Zone {
 
 
 /***/ }),
-/* 528 */
+/* 529 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return IANAZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70586,17 +70587,17 @@ class IANAZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 529 */
+/* 530 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalizeZone", function() { return normalizeZone; });
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(531);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(522);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(528);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(529);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(532);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(523);
 /**
  * @private
  */
@@ -70636,14 +70637,14 @@ function normalizeZone(input, defaultZone) {
 
 
 /***/ }),
-/* 530 */
+/* 531 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return FixedOffsetZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70741,13 +70742,13 @@ class FixedOffsetZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 531 */
+/* 532 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return InvalidZone; });
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(528);
 
 
 /**
@@ -70804,7 +70805,7 @@ class InvalidZone extends _zone_js__WEBPACK_IMPORTED_MODULE_0__["default"] {
 
 
 /***/ }),
-/* 532 */
+/* 533 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -70815,10 +70816,10 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseISODuration", function() { return parseISODuration; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseISOTimeOnly", function() { return parseISOTimeOnly; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseSQL", function() { return parseSQL; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
 
 
 
@@ -71150,17 +71151,17 @@ function parseSQL(s) {
 
 
 /***/ }),
-/* 533 */
+/* 534 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Interval; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(517);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(518);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(523);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(518);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(519);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(524);
 
 
 
@@ -71766,18 +71767,18 @@ class Interval {
 
 
 /***/ }),
-/* 534 */
+/* 535 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Info; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(525);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(529);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(522);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(526);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(530);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(523);
 
 
 
@@ -71974,12 +71975,12 @@ class Info {
 
 
 /***/ }),
-/* 535 */
+/* 536 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
 
 
 function dayDiff(earlier, later) {
@@ -72063,20 +72064,20 @@ function highOrderDiffs(cursor, later, units) {
 
 
 /***/ }),
-/* 536 */
+/* 537 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "explainFromTokens", function() { return explainFromTokens; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseFromTokens", function() { return parseFromTokens; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(519);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(516);
-/* harmony import */ var _digits_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(537);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(518);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(517);
+/* harmony import */ var _digits_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(538);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(519);
 
 
 
@@ -72504,7 +72505,7 @@ function parseFromTokens(locale, input, format) {
 
 
 /***/ }),
-/* 537 */
+/* 538 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -72590,7 +72591,7 @@ function digitRegex({ numberingSystem }, append = "") {
 
 
 /***/ }),
-/* 538 */
+/* 539 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -72603,8 +72604,8 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidOrdinalData", function() { return hasInvalidOrdinalData; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidGregorianData", function() { return hasInvalidGregorianData; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidTimeData", function() { return hasInvalidTimeData; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _invalid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(523);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _invalid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(524);
 
 
 
@@ -72757,7 +72758,7 @@ function hasInvalidTimeData(obj) {
 
 
 /***/ }),
-/* 539 */
+/* 540 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -72778,7 +72779,7 @@ var _cozyClient = __webpack_require__(40);
 
 var _doctypes = __webpack_require__(484);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -72867,7 +72868,7 @@ exports.default = ProfileService;
     return;
   }
 
-  reactHotLoader.register(ProfileService, "ProfileService", "/home/gcarron/dev/ecolyo/src/services/profile.service.ts");
+  reactHotLoader.register(ProfileService, "ProfileService", "/home/bastien/ecolyo/src/services/profile.service.ts");
 })();
 
 ;
@@ -72879,7 +72880,7 @@ exports.default = ProfileService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 540 */
+/* 541 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -72894,21 +72895,21 @@ exports.default = void 0;
 
 var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _cozyClient = __webpack_require__(40);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _consumptionFormatter = _interopRequireDefault(__webpack_require__(543));
+var _consumptionFormatter = _interopRequireDefault(__webpack_require__(544));
 
-var _queryRunner = _interopRequireDefault(__webpack_require__(549));
+var _queryRunner = _interopRequireDefault(__webpack_require__(550));
 
-var _consumptionValidator = _interopRequireDefault(__webpack_require__(551));
+var _consumptionValidator = _interopRequireDefault(__webpack_require__(552));
 
-var _converter = _interopRequireDefault(__webpack_require__(552));
+var _converter = _interopRequireDefault(__webpack_require__(553));
 
 var _doctypes = __webpack_require__(484);
 
@@ -73338,7 +73339,7 @@ exports.default = ConsumptionDataManager;
     return;
   }
 
-  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/gcarron/dev/ecolyo/src/services/consumption.service.ts");
+  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/bastien/ecolyo/src/services/consumption.service.ts");
 })();
 
 ;
@@ -73350,7 +73351,7 @@ exports.default = ConsumptionDataManager;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 541 */
+/* 542 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73388,7 +73389,7 @@ exports.FluidState = FluidState;
 })(FluidState || (exports.FluidState = FluidState = {}));
 
 /***/ }),
-/* 542 */
+/* 543 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73416,7 +73417,7 @@ exports.TimeStep = TimeStep;
 })(TimeStep || (exports.TimeStep = TimeStep = {}));
 
 /***/ }),
-/* 543 */
+/* 544 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73431,19 +73432,19 @@ exports.default = void 0;
 
 var _objectSpread2 = _interopRequireDefault(__webpack_require__(3));
 
-var _dataload = __webpack_require__(544);
+var _dataload = __webpack_require__(545);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _dateChart = _interopRequireDefault(__webpack_require__(545));
+var _dateChart = _interopRequireDefault(__webpack_require__(546));
 
-var _date = __webpack_require__(548);
+var _date = __webpack_require__(549);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -73636,7 +73637,7 @@ exports.default = ConsumptionFormatterService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/gcarron/dev/ecolyo/src/services/consumptionFormatter.service.ts");
+  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/bastien/ecolyo/src/services/consumptionFormatter.service.ts");
 })();
 
 ;
@@ -73648,7 +73649,7 @@ exports.default = ConsumptionFormatterService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 544 */
+/* 545 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73692,7 +73693,7 @@ exports.DataloadSectionType = DataloadSectionType;
 })(DataloadSectionType || (exports.DataloadSectionType = DataloadSectionType = {}));
 
 /***/ }),
-/* 545 */
+/* 546 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73705,13 +73706,13 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74070,7 +74071,7 @@ exports.default = DateChartService;
     return;
   }
 
-  reactHotLoader.register(DateChartService, "DateChartService", "/home/gcarron/dev/ecolyo/src/services/dateChart.service.ts");
+  reactHotLoader.register(DateChartService, "DateChartService", "/home/bastien/ecolyo/src/services/dateChart.service.ts");
 })();
 
 ;
@@ -74082,7 +74083,7 @@ exports.default = DateChartService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 546 */
+/* 547 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74095,7 +74096,7 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _config = _interopRequireDefault(__webpack_require__(547));
+var _config = _interopRequireDefault(__webpack_require__(548));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74143,7 +74144,7 @@ exports.default = ConfigService;
     return;
   }
 
-  reactHotLoader.register(ConfigService, "ConfigService", "/home/gcarron/dev/ecolyo/src/services/fluidConfig.service.ts");
+  reactHotLoader.register(ConfigService, "ConfigService", "/home/bastien/ecolyo/src/services/fluidConfig.service.ts");
 })();
 
 ;
@@ -74155,13 +74156,13 @@ exports.default = ConfigService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 547 */
+/* 548 */
 /***/ (function(module) {
 
 module.exports = JSON.parse("{\"fluidConfig\":[{\"fluidTypeId\":0,\"name\":\"enedis\",\"coefficient\":0.174,\"startDate\":\"2021-08-01T00:00:00.000\",\"dataDelayOffset\":3,\"konnectorConfig\":{\"name\":\"Enedis\",\"oauth\":true,\"slug\":\"enedisgrandlyon\",\"siteLink\":\"https://mon-compte-client.enedis.fr/\",\"activation\":\"https://mon-compte-particulier.enedis.fr/donnees/\"}},{\"fluidTypeId\":1,\"name\":\"egl\",\"coefficient\":0.00319,\"startDate\":\"2021-01-01T00:00:00.000\",\"dataDelayOffset\":5,\"konnectorConfig\":{\"name\":\"Eau du Grand Lyon\",\"oauth\":false,\"slug\":\"eglgrandlyon\",\"siteLink\":\"https://www.eaudugrandlyon.com/inscription.aspx#subc-now\",\"activation\":\"\"}},{\"fluidTypeId\":2,\"name\":\"grdf\",\"coefficient\":0.1121,\"startDate\":\"2021-10-01T00:00:00.000\",\"dataDelayOffset\":5,\"konnectorConfig\":{\"name\":\"GRDF\",\"oauth\":true,\"slug\":\"grdfgrandlyon\",\"siteLink\":\"https://monespace.grdf.fr/monespace/connexion\",\"activation\":\"\"}}],\"termsVersion\":\"1.0.0\"}");
 
 /***/ }),
-/* 548 */
+/* 549 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74173,11 +74174,11 @@ Object.defineProperty(exports, "__esModule", {
 exports.compareDates = compareDates;
 exports.isLastPeriodReached = exports.isLastDateReached = exports.getLagDays = exports.getActualAnalysisDate = exports.convertDateToShortDateString = exports.convertDateToMonthYearString = exports.convertDateToMonthString = void 0;
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74367,14 +74368,14 @@ exports.getActualAnalysisDate = getActualAnalysisDate;
     return;
   }
 
-  reactHotLoader.register(compareDates, "compareDates", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getLagDays, "getLagDays", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(compareDates, "compareDates", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getLagDays, "getLagDays", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/bastien/ecolyo/src/utils/date.ts");
 })();
 
 ;
@@ -74386,7 +74387,7 @@ exports.getActualAnalysisDate = getActualAnalysisDate;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 549 */
+/* 550 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74403,17 +74404,17 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
 var _cozyClient = __webpack_require__(40);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _doctypes = __webpack_require__(484);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _logger = _interopRequireDefault(__webpack_require__(550));
+var _logger = _interopRequireDefault(__webpack_require__(551));
 
-var _dataload = __webpack_require__(544);
+var _dataload = __webpack_require__(545);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74789,7 +74790,7 @@ exports.default = QueryRunner;
     return;
   }
 
-  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/gcarron/dev/ecolyo/src/services/queryRunner.service.ts");
+  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/bastien/ecolyo/src/services/queryRunner.service.ts");
 })();
 
 ;
@@ -74801,7 +74802,7 @@ exports.default = QueryRunner;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 550 */
+/* 551 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -74820,7 +74821,7 @@ const log = minilog('ecolyo')
 
 
 /***/ }),
-/* 551 */
+/* 552 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74831,11 +74832,11 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74898,7 +74899,7 @@ exports.default = ConsumptionValidatorService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/gcarron/dev/ecolyo/src/services/consumptionValidator.service.ts");
+  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/bastien/ecolyo/src/services/consumptionValidator.service.ts");
 })();
 
 ;
@@ -74910,7 +74911,7 @@ exports.default = ConsumptionValidatorService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 552 */
+/* 553 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74925,9 +74926,9 @@ exports.default = void 0;
 
 var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74995,7 +74996,7 @@ exports.default = ConverterService;
     return;
   }
 
-  reactHotLoader.register(ConverterService, "ConverterService", "/home/gcarron/dev/ecolyo/src/services/converter.service.ts");
+  reactHotLoader.register(ConverterService, "ConverterService", "/home/bastien/ecolyo/src/services/converter.service.ts");
 })();
 
 ;
@@ -75007,7 +75008,6 @@ exports.default = ConverterService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 553 */,
 /* 554 */,
 /* 555 */,
 /* 556 */,
@@ -75493,11 +75493,11 @@ exports.isKonnectorActive = isKonnectorActive;
 
 var _get = _interopRequireDefault(__webpack_require__(163));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
 var _konnectorUpdate = __webpack_require__(836);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _ecogesture = __webpack_require__(837);
 
@@ -75706,17 +75706,17 @@ exports.getSeason = getSeason;
     return;
   }
 
-  reactHotLoader.register(getFluidType, "getFluidType", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getKonnectorUpdateError, "getKonnectorUpdateError", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(isKonnectorActive, "isKonnectorActive", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(formatNumberValues, "formatNumberValues", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationship, "getRelationship", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationshipHasMany, "getRelationshipHasMany", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationships, "getRelationships", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(importIconbyId, "importIconbyId", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getPreviousMonthName, "getPreviousMonthName", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getMonthNameWithPrep, "getMonthNameWithPrep", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getSeason, "getSeason", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getFluidType, "getFluidType", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getKonnectorUpdateError, "getKonnectorUpdateError", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(isKonnectorActive, "isKonnectorActive", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(formatNumberValues, "formatNumberValues", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationship, "getRelationship", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationshipHasMany, "getRelationshipHasMany", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationships, "getRelationships", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(importIconbyId, "importIconbyId", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getPreviousMonthName, "getPreviousMonthName", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getMonthNameWithPrep, "getMonthNameWithPrep", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getSeason, "getSeason", "/home/bastien/ecolyo/src/utils/utils.ts");
 })();
 
 ;
@@ -77061,7 +77061,7 @@ exports.default = EnvironmentService;
     return;
   }
 
-  reactHotLoader.register(EnvironmentService, "EnvironmentService", "/home/gcarron/dev/ecolyo/src/services/environment.service.ts");
+  reactHotLoader.register(EnvironmentService, "EnvironmentService", "/home/bastien/ecolyo/src/services/environment.service.ts");
 })();
 
 ;
@@ -77107,17 +77107,17 @@ var _get = _interopRequireDefault(__webpack_require__(163));
 
 var _service = __webpack_require__(24);
 
-var _profile = _interopRequireDefault(__webpack_require__(539));
+var _profile = _interopRequireDefault(__webpack_require__(540));
 
 var _mail = _interopRequireDefault(__webpack_require__(1023));
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _mjml = _interopRequireDefault(__webpack_require__(1024));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _consumption = _interopRequireDefault(__webpack_require__(540));
+var _consumption = _interopRequireDefault(__webpack_require__(541));
 
 var _utils = __webpack_require__(835);
 
@@ -77223,8 +77223,8 @@ const consumptionAlert = async ({
     return;
   }
 
-  reactHotLoader.register(log, "log", "/home/gcarron/dev/ecolyo/src/targets/services/consumptionAlert.ts");
-  reactHotLoader.register(consumptionAlert, "consumptionAlert", "/home/gcarron/dev/ecolyo/src/targets/services/consumptionAlert.ts");
+  reactHotLoader.register(log, "log", "/home/bastien/ecolyo/src/targets/services/consumptionAlert.ts");
+  reactHotLoader.register(consumptionAlert, "consumptionAlert", "/home/bastien/ecolyo/src/targets/services/consumptionAlert.ts");
 })();
 
 ;
@@ -77286,7 +77286,7 @@ exports.default = MailService;
     return;
   }
 
-  reactHotLoader.register(MailService, "MailService", "/home/gcarron/dev/ecolyo/src/services/mail.service.ts");
+  reactHotLoader.register(MailService, "MailService", "/home/bastien/ecolyo/src/services/mail.service.ts");
 })();
 
 ;
diff --git a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js
index 701bd145134bd44849443e78337510df0ec43e35..65092f6ba63ac3a0ad4996eb566fb04fa62928d9 100644
--- a/services/enedisHalfHourMonthlyAnalysis/ecolyo.js
+++ b/services/enedisHalfHourMonthlyAnalysis/ecolyo.js
@@ -2460,8 +2460,8 @@ exports.runService = runService;
     return;
   }
 
-  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
-  reactHotLoader.register(runService, "runService", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/bastien/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(runService, "runService", "/home/bastien/ecolyo/src/targets/services/service.ts");
 })();
 
 ;
@@ -63881,8 +63881,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(doctypes, "doctypes", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(doctypes, "doctypes", "/home/bastien/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/doctypes/index.ts");
 })();
 
 ;
@@ -63925,7 +63925,7 @@ exports.ENEDIS_DAY_DOCTYPE = ENEDIS_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
+  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
 })();
 
 ;
@@ -63968,7 +63968,7 @@ exports.GRDF_DAY_DOCTYPE = GRDF_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
+  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
 })();
 
 ;
@@ -64011,7 +64011,7 @@ exports.EGL_DAY_DOCTYPE = EGL_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
+  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
 })();
 
 ;
@@ -64054,7 +64054,7 @@ exports.KONNECTORS_DOCTYPE = KONNECTORS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-konnectors.ts");
+  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-konnectors.ts");
 })();
 
 ;
@@ -64097,7 +64097,7 @@ exports.ACCOUNTS_DOCTYPE = ACCOUNTS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-accounts.ts");
+  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-accounts.ts");
 })();
 
 ;
@@ -64140,7 +64140,7 @@ exports.JOBS_DOCTYPE = JOBS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-jobs.ts");
+  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-jobs.ts");
 })();
 
 ;
@@ -64183,7 +64183,7 @@ exports.TERMS_DOCTYPE = TERMS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-terms.ts");
+  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-terms.ts");
 })();
 
 ;
@@ -64226,7 +64226,7 @@ exports.ECOGESTURE_DOCTYPE = ECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
+  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
 })();
 
 ;
@@ -64269,7 +64269,7 @@ exports.PROFILE_DOCTYPE = PROFILE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
+  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
 })();
 
 ;
@@ -64312,7 +64312,7 @@ exports.PROFILETYPE_DOCTYPE = PROFILETYPE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
+  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
 })();
 
 ;
@@ -64355,7 +64355,7 @@ exports.SCHEMAS_DOCTYPE = SCHEMAS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
+  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
 })();
 
 ;
@@ -64398,7 +64398,7 @@ exports.CHALLENGE_DOCTYPE = CHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
+  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
 })();
 
 ;
@@ -64441,7 +64441,7 @@ exports.USERCHALLENGE_DOCTYPE = USERCHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
+  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
 })();
 
 ;
@@ -64484,7 +64484,7 @@ exports.DUEL_DOCTYPE = DUEL_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
+  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
 })();
 
 ;
@@ -64527,7 +64527,7 @@ exports.QUIZ_DOCTYPE = QUIZ_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
+  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
 })();
 
 ;
@@ -64570,7 +64570,7 @@ exports.FLUIDPRICES_DOCTYPE = FLUIDPRICES_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
+  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
 })();
 
 ;
@@ -64613,7 +64613,7 @@ exports.USAGEEVENT_DOCTYPE = USAGEEVENT_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
+  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
 })();
 
 ;
@@ -64656,7 +64656,7 @@ exports.EXPLORATION_DOCTYPE = EXPLORATION_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
+  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
 })();
 
 ;
@@ -64699,7 +64699,7 @@ exports.ENEDIS_YEAR_DOCTYPE = ENEDIS_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
+  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
 })();
 
 ;
@@ -64742,7 +64742,7 @@ exports.ENEDIS_MONTH_DOCTYPE = ENEDIS_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
+  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
 })();
 
 ;
@@ -64785,7 +64785,7 @@ exports.ENEDIS_MINUTE_DOCTYPE = ENEDIS_MINUTE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
+  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
 })();
 
 ;
@@ -64828,7 +64828,7 @@ exports.GRDF_YEAR_DOCTYPE = GRDF_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
+  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
 })();
 
 ;
@@ -64871,7 +64871,7 @@ exports.GRDF_MONTH_DOCTYPE = GRDF_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
+  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
 })();
 
 ;
@@ -64914,7 +64914,7 @@ exports.EGL_YEAR_DOCTYPE = EGL_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
+  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
 })();
 
 ;
@@ -64957,7 +64957,7 @@ exports.EGL_MONTH_DOCTYPE = EGL_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
+  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
 })();
 
 ;
@@ -65000,7 +65000,7 @@ exports.ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE = ENEDIS_MONTHLY_ANALYSIS_DATA_DOCT
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
+  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
 })();
 
 ;
@@ -65043,7 +65043,7 @@ exports.ENEDIS_MAXPOWER_DOCTYPE = ENEDIS_MAXPOWER_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
+  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
 })();
 
 ;
@@ -65086,7 +65086,7 @@ exports.PROFILEECOGESTURE_DOCTYPE = PROFILEECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
+  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
 })();
 
 ;
@@ -65129,7 +65129,7 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-triggers.ts");
+  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-triggers.ts");
 })();
 
 ;
@@ -65142,40 +65142,41 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE;
 
 /***/ }),
 /* 514 */,
-/* 515 */
+/* 515 */,
+/* 516 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DateTime", function() { return _datetime_js__WEBPACK_IMPORTED_MODULE_0__["default"]; });
 
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(518);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Duration", function() { return _duration_js__WEBPACK_IMPORTED_MODULE_1__["default"]; });
 
-/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(533);
+/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(534);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Interval", function() { return _interval_js__WEBPACK_IMPORTED_MODULE_2__["default"]; });
 
-/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534);
+/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(535);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Info", function() { return _info_js__WEBPACK_IMPORTED_MODULE_3__["default"]; });
 
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(527);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(528);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Zone", function() { return _zone_js__WEBPACK_IMPORTED_MODULE_4__["default"]; });
 
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(530);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(531);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FixedOffsetZone", function() { return _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__["default"]; });
 
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(528);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(529);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "IANAZone", function() { return _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__["default"]; });
 
-/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(531);
+/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(532);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "InvalidZone", function() { return _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__["default"]; });
 
-/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(526);
+/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(527);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LocalZone", function() { return _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__["default"]; });
 
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(525);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(526);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Settings", function() { return _settings_js__WEBPACK_IMPORTED_MODULE_9__["default"]; });
 
 
@@ -65195,29 +65196,29 @@ const VERSION = "1.28.0";
 
 
 /***/ }),
-/* 516 */
+/* 517 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return DateTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "friendlyDateTime", function() { return friendlyDateTime; });
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
-/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(533);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534);
-/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(519);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(530);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(524);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(522);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(529);
-/* harmony import */ var _impl_diff_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(535);
-/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(532);
-/* harmony import */ var _impl_tokenParser_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(536);
-/* harmony import */ var _impl_conversions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(538);
-/* harmony import */ var _impl_formats_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(521);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(518);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(523);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(534);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(535);
+/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(520);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(531);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(525);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(523);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(530);
+/* harmony import */ var _impl_diff_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(536);
+/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(533);
+/* harmony import */ var _impl_tokenParser_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(537);
+/* harmony import */ var _impl_conversions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(539);
+/* harmony import */ var _impl_formats_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(522);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(519);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(524);
 
 
 
@@ -67363,20 +67364,20 @@ function friendlyDateTime(dateTimeish) {
 
 
 /***/ }),
-/* 517 */
+/* 518 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Duration; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "friendlyDuration", function() { return friendlyDuration; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
-/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(519);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(523);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(524);
-/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(532);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(522);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(525);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
+/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(525);
+/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(533);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(523);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(526);
 
 
 
@@ -68253,7 +68254,7 @@ function friendlyDuration(durationish) {
 
 
 /***/ }),
-/* 518 */
+/* 519 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -68329,15 +68330,15 @@ class ZoneIsAbstractError extends LuxonError {
 
 
 /***/ }),
-/* 519 */
+/* 520 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Formatter; });
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(520);
-/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(522);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(521);
+/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(522);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(523);
 
 
 
@@ -68727,7 +68728,7 @@ class Formatter {
 
 
 /***/ }),
-/* 520 */
+/* 521 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -68751,8 +68752,8 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "eraForDateTime", function() { return eraForDateTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatRelativeTime", function() { return formatRelativeTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatString", function() { return formatString; });
-/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(521);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(522);
+/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(523);
 
 
 
@@ -68989,7 +68990,7 @@ function formatString(knownFormat) {
 
 
 /***/ }),
-/* 521 */
+/* 522 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69210,7 +69211,7 @@ const DATETIME_HUGE_WITH_SECONDS = {
 
 
 /***/ }),
-/* 522 */
+/* 523 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69246,7 +69247,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatOffset", function() { return formatOffset; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeObject", function() { return timeObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ianaRegex", function() { return ianaRegex; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
 /*
   This is just a junk drawer, containing anything used across multiple classes.
   Because Luxon is small(ish), this should stay small and we won't worry about splitting
@@ -69542,7 +69543,7 @@ const ianaRegex = /[A-Za-z_+-]{1,256}(:?\/[A-Za-z_+-]{1,256}(\/[A-Za-z_+-]{1,256
 
 
 /***/ }),
-/* 523 */
+/* 524 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69565,18 +69566,18 @@ class Invalid {
 
 
 /***/ }),
-/* 524 */
+/* 525 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Locale; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(516);
-/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(519);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(528);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(517);
+/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(520);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(529);
 
 
 
@@ -70062,16 +70063,16 @@ class Locale {
 
 
 /***/ }),
-/* 525 */
+/* 526 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Settings; });
-/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(526);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(529);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(530);
 
 
 
@@ -70212,14 +70213,14 @@ class Settings {
 
 
 /***/ }),
-/* 526 */
+/* 527 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return LocalZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70286,13 +70287,13 @@ class LocalZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 527 */
+/* 528 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Zone; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
 /* eslint no-unused-vars: "off" */
 
 
@@ -70384,14 +70385,14 @@ class Zone {
 
 
 /***/ }),
-/* 528 */
+/* 529 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return IANAZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70586,17 +70587,17 @@ class IANAZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 529 */
+/* 530 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalizeZone", function() { return normalizeZone; });
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(531);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(522);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(528);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(529);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(532);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(523);
 /**
  * @private
  */
@@ -70636,14 +70637,14 @@ function normalizeZone(input, defaultZone) {
 
 
 /***/ }),
-/* 530 */
+/* 531 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return FixedOffsetZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70741,13 +70742,13 @@ class FixedOffsetZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 531 */
+/* 532 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return InvalidZone; });
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(528);
 
 
 /**
@@ -70804,7 +70805,7 @@ class InvalidZone extends _zone_js__WEBPACK_IMPORTED_MODULE_0__["default"] {
 
 
 /***/ }),
-/* 532 */
+/* 533 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -70815,10 +70816,10 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseISODuration", function() { return parseISODuration; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseISOTimeOnly", function() { return parseISOTimeOnly; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseSQL", function() { return parseSQL; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
 
 
 
@@ -71150,17 +71151,17 @@ function parseSQL(s) {
 
 
 /***/ }),
-/* 533 */
+/* 534 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Interval; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(517);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(518);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(523);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(518);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(519);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(524);
 
 
 
@@ -71766,18 +71767,18 @@ class Interval {
 
 
 /***/ }),
-/* 534 */
+/* 535 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Info; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(525);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(529);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(522);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(526);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(530);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(523);
 
 
 
@@ -71974,12 +71975,12 @@ class Info {
 
 
 /***/ }),
-/* 535 */
+/* 536 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
 
 
 function dayDiff(earlier, later) {
@@ -72063,20 +72064,20 @@ function highOrderDiffs(cursor, later, units) {
 
 
 /***/ }),
-/* 536 */
+/* 537 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "explainFromTokens", function() { return explainFromTokens; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseFromTokens", function() { return parseFromTokens; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(519);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(516);
-/* harmony import */ var _digits_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(537);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(518);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(517);
+/* harmony import */ var _digits_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(538);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(519);
 
 
 
@@ -72504,7 +72505,7 @@ function parseFromTokens(locale, input, format) {
 
 
 /***/ }),
-/* 537 */
+/* 538 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -72590,7 +72591,7 @@ function digitRegex({ numberingSystem }, append = "") {
 
 
 /***/ }),
-/* 538 */
+/* 539 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -72603,8 +72604,8 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidOrdinalData", function() { return hasInvalidOrdinalData; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidGregorianData", function() { return hasInvalidGregorianData; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidTimeData", function() { return hasInvalidTimeData; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _invalid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(523);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _invalid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(524);
 
 
 
@@ -72757,8 +72758,8 @@ function hasInvalidTimeData(obj) {
 
 
 /***/ }),
-/* 539 */,
-/* 540 */
+/* 540 */,
+/* 541 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -72773,21 +72774,21 @@ exports.default = void 0;
 
 var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _cozyClient = __webpack_require__(40);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _consumptionFormatter = _interopRequireDefault(__webpack_require__(543));
+var _consumptionFormatter = _interopRequireDefault(__webpack_require__(544));
 
-var _queryRunner = _interopRequireDefault(__webpack_require__(549));
+var _queryRunner = _interopRequireDefault(__webpack_require__(550));
 
-var _consumptionValidator = _interopRequireDefault(__webpack_require__(551));
+var _consumptionValidator = _interopRequireDefault(__webpack_require__(552));
 
-var _converter = _interopRequireDefault(__webpack_require__(552));
+var _converter = _interopRequireDefault(__webpack_require__(553));
 
 var _doctypes = __webpack_require__(484);
 
@@ -73217,7 +73218,7 @@ exports.default = ConsumptionDataManager;
     return;
   }
 
-  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/gcarron/dev/ecolyo/src/services/consumption.service.ts");
+  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/bastien/ecolyo/src/services/consumption.service.ts");
 })();
 
 ;
@@ -73229,7 +73230,7 @@ exports.default = ConsumptionDataManager;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 541 */
+/* 542 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73267,7 +73268,7 @@ exports.FluidState = FluidState;
 })(FluidState || (exports.FluidState = FluidState = {}));
 
 /***/ }),
-/* 542 */
+/* 543 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73295,7 +73296,7 @@ exports.TimeStep = TimeStep;
 })(TimeStep || (exports.TimeStep = TimeStep = {}));
 
 /***/ }),
-/* 543 */
+/* 544 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73310,19 +73311,19 @@ exports.default = void 0;
 
 var _objectSpread2 = _interopRequireDefault(__webpack_require__(3));
 
-var _dataload = __webpack_require__(544);
+var _dataload = __webpack_require__(545);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _dateChart = _interopRequireDefault(__webpack_require__(545));
+var _dateChart = _interopRequireDefault(__webpack_require__(546));
 
-var _date = __webpack_require__(548);
+var _date = __webpack_require__(549);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -73515,7 +73516,7 @@ exports.default = ConsumptionFormatterService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/gcarron/dev/ecolyo/src/services/consumptionFormatter.service.ts");
+  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/bastien/ecolyo/src/services/consumptionFormatter.service.ts");
 })();
 
 ;
@@ -73527,7 +73528,7 @@ exports.default = ConsumptionFormatterService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 544 */
+/* 545 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73571,7 +73572,7 @@ exports.DataloadSectionType = DataloadSectionType;
 })(DataloadSectionType || (exports.DataloadSectionType = DataloadSectionType = {}));
 
 /***/ }),
-/* 545 */
+/* 546 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73584,13 +73585,13 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -73949,7 +73950,7 @@ exports.default = DateChartService;
     return;
   }
 
-  reactHotLoader.register(DateChartService, "DateChartService", "/home/gcarron/dev/ecolyo/src/services/dateChart.service.ts");
+  reactHotLoader.register(DateChartService, "DateChartService", "/home/bastien/ecolyo/src/services/dateChart.service.ts");
 })();
 
 ;
@@ -73961,7 +73962,7 @@ exports.default = DateChartService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 546 */
+/* 547 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73974,7 +73975,7 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _config = _interopRequireDefault(__webpack_require__(547));
+var _config = _interopRequireDefault(__webpack_require__(548));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74022,7 +74023,7 @@ exports.default = ConfigService;
     return;
   }
 
-  reactHotLoader.register(ConfigService, "ConfigService", "/home/gcarron/dev/ecolyo/src/services/fluidConfig.service.ts");
+  reactHotLoader.register(ConfigService, "ConfigService", "/home/bastien/ecolyo/src/services/fluidConfig.service.ts");
 })();
 
 ;
@@ -74034,13 +74035,13 @@ exports.default = ConfigService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 547 */
+/* 548 */
 /***/ (function(module) {
 
 module.exports = JSON.parse("{\"fluidConfig\":[{\"fluidTypeId\":0,\"name\":\"enedis\",\"coefficient\":0.174,\"startDate\":\"2021-08-01T00:00:00.000\",\"dataDelayOffset\":3,\"konnectorConfig\":{\"name\":\"Enedis\",\"oauth\":true,\"slug\":\"enedisgrandlyon\",\"siteLink\":\"https://mon-compte-client.enedis.fr/\",\"activation\":\"https://mon-compte-particulier.enedis.fr/donnees/\"}},{\"fluidTypeId\":1,\"name\":\"egl\",\"coefficient\":0.00319,\"startDate\":\"2021-01-01T00:00:00.000\",\"dataDelayOffset\":5,\"konnectorConfig\":{\"name\":\"Eau du Grand Lyon\",\"oauth\":false,\"slug\":\"eglgrandlyon\",\"siteLink\":\"https://www.eaudugrandlyon.com/inscription.aspx#subc-now\",\"activation\":\"\"}},{\"fluidTypeId\":2,\"name\":\"grdf\",\"coefficient\":0.1121,\"startDate\":\"2021-10-01T00:00:00.000\",\"dataDelayOffset\":5,\"konnectorConfig\":{\"name\":\"GRDF\",\"oauth\":true,\"slug\":\"grdfgrandlyon\",\"siteLink\":\"https://monespace.grdf.fr/monespace/connexion\",\"activation\":\"\"}}],\"termsVersion\":\"1.0.0\"}");
 
 /***/ }),
-/* 548 */
+/* 549 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74052,11 +74053,11 @@ Object.defineProperty(exports, "__esModule", {
 exports.compareDates = compareDates;
 exports.isLastPeriodReached = exports.isLastDateReached = exports.getLagDays = exports.getActualAnalysisDate = exports.convertDateToShortDateString = exports.convertDateToMonthYearString = exports.convertDateToMonthString = void 0;
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74246,14 +74247,14 @@ exports.getActualAnalysisDate = getActualAnalysisDate;
     return;
   }
 
-  reactHotLoader.register(compareDates, "compareDates", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getLagDays, "getLagDays", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(compareDates, "compareDates", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getLagDays, "getLagDays", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/bastien/ecolyo/src/utils/date.ts");
 })();
 
 ;
@@ -74265,7 +74266,7 @@ exports.getActualAnalysisDate = getActualAnalysisDate;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 549 */
+/* 550 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74282,17 +74283,17 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
 var _cozyClient = __webpack_require__(40);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _doctypes = __webpack_require__(484);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _logger = _interopRequireDefault(__webpack_require__(550));
+var _logger = _interopRequireDefault(__webpack_require__(551));
 
-var _dataload = __webpack_require__(544);
+var _dataload = __webpack_require__(545);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74668,7 +74669,7 @@ exports.default = QueryRunner;
     return;
   }
 
-  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/gcarron/dev/ecolyo/src/services/queryRunner.service.ts");
+  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/bastien/ecolyo/src/services/queryRunner.service.ts");
 })();
 
 ;
@@ -74680,7 +74681,7 @@ exports.default = QueryRunner;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 550 */
+/* 551 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -74699,7 +74700,7 @@ const log = minilog('ecolyo')
 
 
 /***/ }),
-/* 551 */
+/* 552 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74710,11 +74711,11 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74777,7 +74778,7 @@ exports.default = ConsumptionValidatorService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/gcarron/dev/ecolyo/src/services/consumptionValidator.service.ts");
+  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/bastien/ecolyo/src/services/consumptionValidator.service.ts");
 })();
 
 ;
@@ -74789,7 +74790,7 @@ exports.default = ConsumptionValidatorService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 552 */
+/* 553 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74804,9 +74805,9 @@ exports.default = void 0;
 
 var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74874,7 +74875,7 @@ exports.default = ConverterService;
     return;
   }
 
-  reactHotLoader.register(ConverterService, "ConverterService", "/home/gcarron/dev/ecolyo/src/services/converter.service.ts");
+  reactHotLoader.register(ConverterService, "ConverterService", "/home/bastien/ecolyo/src/services/converter.service.ts");
 })();
 
 ;
@@ -74886,7 +74887,6 @@ exports.default = ConverterService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 553 */,
 /* 554 */,
 /* 555 */,
 /* 556 */,
@@ -75810,15 +75810,15 @@ var _interopRequireDefault = __webpack_require__(2);
 
 var _cozyLogger = _interopRequireDefault(__webpack_require__(5));
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _service = __webpack_require__(24);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _consumption = _interopRequireDefault(__webpack_require__(540));
+var _consumption = _interopRequireDefault(__webpack_require__(541));
 
 var _enedisMonthlyAnalysisData = _interopRequireDefault(__webpack_require__(1468));
 
@@ -76090,12 +76090,12 @@ const syncEnedisMonthlyAnalysisDataDoctype = async ({
     return;
   }
 
-  reactHotLoader.register(log, "log", "/home/gcarron/dev/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
-  reactHotLoader.register(getMinMonthlyLoad, "getMinMonthlyLoad", "/home/gcarron/dev/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
-  reactHotLoader.register(populateArrayWithTotalData, "populateArrayWithTotalData", "/home/gcarron/dev/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
-  reactHotLoader.register(getMonthMaxPower, "getMonthMaxPower", "/home/gcarron/dev/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
-  reactHotLoader.register(getEnedisMonthAnalysisData, "getEnedisMonthAnalysisData", "/home/gcarron/dev/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
-  reactHotLoader.register(syncEnedisMonthlyAnalysisDataDoctype, "syncEnedisMonthlyAnalysisDataDoctype", "/home/gcarron/dev/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
+  reactHotLoader.register(log, "log", "/home/bastien/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
+  reactHotLoader.register(getMinMonthlyLoad, "getMinMonthlyLoad", "/home/bastien/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
+  reactHotLoader.register(populateArrayWithTotalData, "populateArrayWithTotalData", "/home/bastien/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
+  reactHotLoader.register(getMonthMaxPower, "getMonthMaxPower", "/home/bastien/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
+  reactHotLoader.register(getEnedisMonthAnalysisData, "getEnedisMonthAnalysisData", "/home/bastien/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
+  reactHotLoader.register(syncEnedisMonthlyAnalysisDataDoctype, "syncEnedisMonthlyAnalysisDataDoctype", "/home/bastien/ecolyo/src/targets/services/enedisHalfHourMonthlyAnalysis.ts");
 })();
 
 ;
@@ -76126,9 +76126,9 @@ var _cozyClient = __webpack_require__(40);
 
 var _doctypes = __webpack_require__(484);
 
-var _dataload = __webpack_require__(544);
+var _dataload = __webpack_require__(545);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -76295,7 +76295,7 @@ exports.default = EnedisMonthlyAnalysisDataService;
     return;
   }
 
-  reactHotLoader.register(EnedisMonthlyAnalysisDataService, "EnedisMonthlyAnalysisDataService", "/home/gcarron/dev/ecolyo/src/services/enedisMonthlyAnalysisData.service.ts");
+  reactHotLoader.register(EnedisMonthlyAnalysisDataService, "EnedisMonthlyAnalysisDataService", "/home/bastien/ecolyo/src/services/enedisMonthlyAnalysisData.service.ts");
 })();
 
 ;
diff --git a/services/fluidsPrices/ecolyo.js b/services/fluidsPrices/ecolyo.js
index 1040a7471e0b760c98e1cfa07794c74e418da37c..0afc6eb6558760f36889761edece174f496df2ed 100644
--- a/services/fluidsPrices/ecolyo.js
+++ b/services/fluidsPrices/ecolyo.js
@@ -2460,8 +2460,8 @@ exports.runService = runService;
     return;
   }
 
-  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
-  reactHotLoader.register(runService, "runService", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/bastien/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(runService, "runService", "/home/bastien/ecolyo/src/targets/services/service.ts");
 })();
 
 ;
@@ -63881,8 +63881,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(doctypes, "doctypes", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(doctypes, "doctypes", "/home/bastien/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/doctypes/index.ts");
 })();
 
 ;
@@ -63925,7 +63925,7 @@ exports.ENEDIS_DAY_DOCTYPE = ENEDIS_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
+  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
 })();
 
 ;
@@ -63968,7 +63968,7 @@ exports.GRDF_DAY_DOCTYPE = GRDF_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
+  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
 })();
 
 ;
@@ -64011,7 +64011,7 @@ exports.EGL_DAY_DOCTYPE = EGL_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
+  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
 })();
 
 ;
@@ -64054,7 +64054,7 @@ exports.KONNECTORS_DOCTYPE = KONNECTORS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-konnectors.ts");
+  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-konnectors.ts");
 })();
 
 ;
@@ -64097,7 +64097,7 @@ exports.ACCOUNTS_DOCTYPE = ACCOUNTS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-accounts.ts");
+  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-accounts.ts");
 })();
 
 ;
@@ -64140,7 +64140,7 @@ exports.JOBS_DOCTYPE = JOBS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-jobs.ts");
+  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-jobs.ts");
 })();
 
 ;
@@ -64183,7 +64183,7 @@ exports.TERMS_DOCTYPE = TERMS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-terms.ts");
+  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-terms.ts");
 })();
 
 ;
@@ -64226,7 +64226,7 @@ exports.ECOGESTURE_DOCTYPE = ECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
+  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
 })();
 
 ;
@@ -64269,7 +64269,7 @@ exports.PROFILE_DOCTYPE = PROFILE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
+  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
 })();
 
 ;
@@ -64312,7 +64312,7 @@ exports.PROFILETYPE_DOCTYPE = PROFILETYPE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
+  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
 })();
 
 ;
@@ -64355,7 +64355,7 @@ exports.SCHEMAS_DOCTYPE = SCHEMAS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
+  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
 })();
 
 ;
@@ -64398,7 +64398,7 @@ exports.CHALLENGE_DOCTYPE = CHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
+  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
 })();
 
 ;
@@ -64441,7 +64441,7 @@ exports.USERCHALLENGE_DOCTYPE = USERCHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
+  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
 })();
 
 ;
@@ -64484,7 +64484,7 @@ exports.DUEL_DOCTYPE = DUEL_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
+  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
 })();
 
 ;
@@ -64527,7 +64527,7 @@ exports.QUIZ_DOCTYPE = QUIZ_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
+  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
 })();
 
 ;
@@ -64570,7 +64570,7 @@ exports.FLUIDPRICES_DOCTYPE = FLUIDPRICES_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
+  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
 })();
 
 ;
@@ -64613,7 +64613,7 @@ exports.USAGEEVENT_DOCTYPE = USAGEEVENT_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
+  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
 })();
 
 ;
@@ -64656,7 +64656,7 @@ exports.EXPLORATION_DOCTYPE = EXPLORATION_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
+  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
 })();
 
 ;
@@ -64699,7 +64699,7 @@ exports.ENEDIS_YEAR_DOCTYPE = ENEDIS_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
+  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
 })();
 
 ;
@@ -64742,7 +64742,7 @@ exports.ENEDIS_MONTH_DOCTYPE = ENEDIS_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
+  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
 })();
 
 ;
@@ -64785,7 +64785,7 @@ exports.ENEDIS_MINUTE_DOCTYPE = ENEDIS_MINUTE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
+  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
 })();
 
 ;
@@ -64828,7 +64828,7 @@ exports.GRDF_YEAR_DOCTYPE = GRDF_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
+  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
 })();
 
 ;
@@ -64871,7 +64871,7 @@ exports.GRDF_MONTH_DOCTYPE = GRDF_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
+  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
 })();
 
 ;
@@ -64914,7 +64914,7 @@ exports.EGL_YEAR_DOCTYPE = EGL_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
+  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
 })();
 
 ;
@@ -64957,7 +64957,7 @@ exports.EGL_MONTH_DOCTYPE = EGL_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
+  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
 })();
 
 ;
@@ -65000,7 +65000,7 @@ exports.ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE = ENEDIS_MONTHLY_ANALYSIS_DATA_DOCT
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
+  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
 })();
 
 ;
@@ -65043,7 +65043,7 @@ exports.ENEDIS_MAXPOWER_DOCTYPE = ENEDIS_MAXPOWER_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
+  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
 })();
 
 ;
@@ -65086,7 +65086,7 @@ exports.PROFILEECOGESTURE_DOCTYPE = PROFILEECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
+  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
 })();
 
 ;
@@ -65129,7 +65129,7 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-triggers.ts");
+  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-triggers.ts");
 })();
 
 ;
@@ -65142,40 +65142,41 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE;
 
 /***/ }),
 /* 514 */,
-/* 515 */
+/* 515 */,
+/* 516 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DateTime", function() { return _datetime_js__WEBPACK_IMPORTED_MODULE_0__["default"]; });
 
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(518);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Duration", function() { return _duration_js__WEBPACK_IMPORTED_MODULE_1__["default"]; });
 
-/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(533);
+/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(534);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Interval", function() { return _interval_js__WEBPACK_IMPORTED_MODULE_2__["default"]; });
 
-/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534);
+/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(535);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Info", function() { return _info_js__WEBPACK_IMPORTED_MODULE_3__["default"]; });
 
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(527);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(528);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Zone", function() { return _zone_js__WEBPACK_IMPORTED_MODULE_4__["default"]; });
 
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(530);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(531);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FixedOffsetZone", function() { return _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__["default"]; });
 
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(528);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(529);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "IANAZone", function() { return _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__["default"]; });
 
-/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(531);
+/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(532);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "InvalidZone", function() { return _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__["default"]; });
 
-/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(526);
+/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(527);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LocalZone", function() { return _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__["default"]; });
 
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(525);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(526);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Settings", function() { return _settings_js__WEBPACK_IMPORTED_MODULE_9__["default"]; });
 
 
@@ -65195,29 +65196,29 @@ const VERSION = "1.28.0";
 
 
 /***/ }),
-/* 516 */
+/* 517 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return DateTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "friendlyDateTime", function() { return friendlyDateTime; });
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
-/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(533);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534);
-/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(519);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(530);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(524);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(522);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(529);
-/* harmony import */ var _impl_diff_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(535);
-/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(532);
-/* harmony import */ var _impl_tokenParser_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(536);
-/* harmony import */ var _impl_conversions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(538);
-/* harmony import */ var _impl_formats_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(521);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(518);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(523);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(534);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(535);
+/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(520);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(531);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(525);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(523);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(530);
+/* harmony import */ var _impl_diff_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(536);
+/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(533);
+/* harmony import */ var _impl_tokenParser_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(537);
+/* harmony import */ var _impl_conversions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(539);
+/* harmony import */ var _impl_formats_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(522);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(519);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(524);
 
 
 
@@ -67363,20 +67364,20 @@ function friendlyDateTime(dateTimeish) {
 
 
 /***/ }),
-/* 517 */
+/* 518 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Duration; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "friendlyDuration", function() { return friendlyDuration; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
-/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(519);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(523);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(524);
-/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(532);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(522);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(525);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
+/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(525);
+/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(533);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(523);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(526);
 
 
 
@@ -68253,7 +68254,7 @@ function friendlyDuration(durationish) {
 
 
 /***/ }),
-/* 518 */
+/* 519 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -68329,15 +68330,15 @@ class ZoneIsAbstractError extends LuxonError {
 
 
 /***/ }),
-/* 519 */
+/* 520 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Formatter; });
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(520);
-/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(522);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(521);
+/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(522);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(523);
 
 
 
@@ -68727,7 +68728,7 @@ class Formatter {
 
 
 /***/ }),
-/* 520 */
+/* 521 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -68751,8 +68752,8 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "eraForDateTime", function() { return eraForDateTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatRelativeTime", function() { return formatRelativeTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatString", function() { return formatString; });
-/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(521);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(522);
+/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(523);
 
 
 
@@ -68989,7 +68990,7 @@ function formatString(knownFormat) {
 
 
 /***/ }),
-/* 521 */
+/* 522 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69210,7 +69211,7 @@ const DATETIME_HUGE_WITH_SECONDS = {
 
 
 /***/ }),
-/* 522 */
+/* 523 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69246,7 +69247,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatOffset", function() { return formatOffset; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeObject", function() { return timeObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ianaRegex", function() { return ianaRegex; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
 /*
   This is just a junk drawer, containing anything used across multiple classes.
   Because Luxon is small(ish), this should stay small and we won't worry about splitting
@@ -69542,7 +69543,7 @@ const ianaRegex = /[A-Za-z_+-]{1,256}(:?\/[A-Za-z_+-]{1,256}(\/[A-Za-z_+-]{1,256
 
 
 /***/ }),
-/* 523 */
+/* 524 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69565,18 +69566,18 @@ class Invalid {
 
 
 /***/ }),
-/* 524 */
+/* 525 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Locale; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(516);
-/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(519);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(528);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(517);
+/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(520);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(529);
 
 
 
@@ -70062,16 +70063,16 @@ class Locale {
 
 
 /***/ }),
-/* 525 */
+/* 526 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Settings; });
-/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(526);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(529);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(530);
 
 
 
@@ -70212,14 +70213,14 @@ class Settings {
 
 
 /***/ }),
-/* 526 */
+/* 527 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return LocalZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70286,13 +70287,13 @@ class LocalZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 527 */
+/* 528 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Zone; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
 /* eslint no-unused-vars: "off" */
 
 
@@ -70384,14 +70385,14 @@ class Zone {
 
 
 /***/ }),
-/* 528 */
+/* 529 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return IANAZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70586,17 +70587,17 @@ class IANAZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 529 */
+/* 530 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalizeZone", function() { return normalizeZone; });
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(531);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(522);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(528);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(529);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(532);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(523);
 /**
  * @private
  */
@@ -70636,14 +70637,14 @@ function normalizeZone(input, defaultZone) {
 
 
 /***/ }),
-/* 530 */
+/* 531 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return FixedOffsetZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70741,13 +70742,13 @@ class FixedOffsetZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 531 */
+/* 532 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return InvalidZone; });
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(528);
 
 
 /**
@@ -70804,7 +70805,7 @@ class InvalidZone extends _zone_js__WEBPACK_IMPORTED_MODULE_0__["default"] {
 
 
 /***/ }),
-/* 532 */
+/* 533 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -70815,10 +70816,10 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseISODuration", function() { return parseISODuration; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseISOTimeOnly", function() { return parseISOTimeOnly; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseSQL", function() { return parseSQL; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
 
 
 
@@ -71150,17 +71151,17 @@ function parseSQL(s) {
 
 
 /***/ }),
-/* 533 */
+/* 534 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Interval; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(517);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(518);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(523);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(518);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(519);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(524);
 
 
 
@@ -71766,18 +71767,18 @@ class Interval {
 
 
 /***/ }),
-/* 534 */
+/* 535 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Info; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(525);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(529);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(522);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(526);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(530);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(523);
 
 
 
@@ -71974,12 +71975,12 @@ class Info {
 
 
 /***/ }),
-/* 535 */
+/* 536 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
 
 
 function dayDiff(earlier, later) {
@@ -72063,20 +72064,20 @@ function highOrderDiffs(cursor, later, units) {
 
 
 /***/ }),
-/* 536 */
+/* 537 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "explainFromTokens", function() { return explainFromTokens; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseFromTokens", function() { return parseFromTokens; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(519);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(516);
-/* harmony import */ var _digits_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(537);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(518);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(517);
+/* harmony import */ var _digits_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(538);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(519);
 
 
 
@@ -72504,7 +72505,7 @@ function parseFromTokens(locale, input, format) {
 
 
 /***/ }),
-/* 537 */
+/* 538 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -72590,7 +72591,7 @@ function digitRegex({ numberingSystem }, append = "") {
 
 
 /***/ }),
-/* 538 */
+/* 539 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -72603,8 +72604,8 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidOrdinalData", function() { return hasInvalidOrdinalData; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidGregorianData", function() { return hasInvalidGregorianData; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidTimeData", function() { return hasInvalidTimeData; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _invalid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(523);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _invalid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(524);
 
 
 
@@ -72757,8 +72758,8 @@ function hasInvalidTimeData(obj) {
 
 
 /***/ }),
-/* 539 */,
-/* 540 */
+/* 540 */,
+/* 541 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -72773,21 +72774,21 @@ exports.default = void 0;
 
 var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _cozyClient = __webpack_require__(40);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _consumptionFormatter = _interopRequireDefault(__webpack_require__(543));
+var _consumptionFormatter = _interopRequireDefault(__webpack_require__(544));
 
-var _queryRunner = _interopRequireDefault(__webpack_require__(549));
+var _queryRunner = _interopRequireDefault(__webpack_require__(550));
 
-var _consumptionValidator = _interopRequireDefault(__webpack_require__(551));
+var _consumptionValidator = _interopRequireDefault(__webpack_require__(552));
 
-var _converter = _interopRequireDefault(__webpack_require__(552));
+var _converter = _interopRequireDefault(__webpack_require__(553));
 
 var _doctypes = __webpack_require__(484);
 
@@ -73217,7 +73218,7 @@ exports.default = ConsumptionDataManager;
     return;
   }
 
-  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/gcarron/dev/ecolyo/src/services/consumption.service.ts");
+  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/bastien/ecolyo/src/services/consumption.service.ts");
 })();
 
 ;
@@ -73229,7 +73230,7 @@ exports.default = ConsumptionDataManager;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 541 */
+/* 542 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73267,7 +73268,7 @@ exports.FluidState = FluidState;
 })(FluidState || (exports.FluidState = FluidState = {}));
 
 /***/ }),
-/* 542 */
+/* 543 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73295,7 +73296,7 @@ exports.TimeStep = TimeStep;
 })(TimeStep || (exports.TimeStep = TimeStep = {}));
 
 /***/ }),
-/* 543 */
+/* 544 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73310,19 +73311,19 @@ exports.default = void 0;
 
 var _objectSpread2 = _interopRequireDefault(__webpack_require__(3));
 
-var _dataload = __webpack_require__(544);
+var _dataload = __webpack_require__(545);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _dateChart = _interopRequireDefault(__webpack_require__(545));
+var _dateChart = _interopRequireDefault(__webpack_require__(546));
 
-var _date = __webpack_require__(548);
+var _date = __webpack_require__(549);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -73515,7 +73516,7 @@ exports.default = ConsumptionFormatterService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/gcarron/dev/ecolyo/src/services/consumptionFormatter.service.ts");
+  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/bastien/ecolyo/src/services/consumptionFormatter.service.ts");
 })();
 
 ;
@@ -73527,7 +73528,7 @@ exports.default = ConsumptionFormatterService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 544 */
+/* 545 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73571,7 +73572,7 @@ exports.DataloadSectionType = DataloadSectionType;
 })(DataloadSectionType || (exports.DataloadSectionType = DataloadSectionType = {}));
 
 /***/ }),
-/* 545 */
+/* 546 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73584,13 +73585,13 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -73949,7 +73950,7 @@ exports.default = DateChartService;
     return;
   }
 
-  reactHotLoader.register(DateChartService, "DateChartService", "/home/gcarron/dev/ecolyo/src/services/dateChart.service.ts");
+  reactHotLoader.register(DateChartService, "DateChartService", "/home/bastien/ecolyo/src/services/dateChart.service.ts");
 })();
 
 ;
@@ -73961,7 +73962,7 @@ exports.default = DateChartService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 546 */
+/* 547 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73974,7 +73975,7 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _config = _interopRequireDefault(__webpack_require__(547));
+var _config = _interopRequireDefault(__webpack_require__(548));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74022,7 +74023,7 @@ exports.default = ConfigService;
     return;
   }
 
-  reactHotLoader.register(ConfigService, "ConfigService", "/home/gcarron/dev/ecolyo/src/services/fluidConfig.service.ts");
+  reactHotLoader.register(ConfigService, "ConfigService", "/home/bastien/ecolyo/src/services/fluidConfig.service.ts");
 })();
 
 ;
@@ -74034,13 +74035,13 @@ exports.default = ConfigService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 547 */
+/* 548 */
 /***/ (function(module) {
 
 module.exports = JSON.parse("{\"fluidConfig\":[{\"fluidTypeId\":0,\"name\":\"enedis\",\"coefficient\":0.174,\"startDate\":\"2021-08-01T00:00:00.000\",\"dataDelayOffset\":3,\"konnectorConfig\":{\"name\":\"Enedis\",\"oauth\":true,\"slug\":\"enedisgrandlyon\",\"siteLink\":\"https://mon-compte-client.enedis.fr/\",\"activation\":\"https://mon-compte-particulier.enedis.fr/donnees/\"}},{\"fluidTypeId\":1,\"name\":\"egl\",\"coefficient\":0.00319,\"startDate\":\"2021-01-01T00:00:00.000\",\"dataDelayOffset\":5,\"konnectorConfig\":{\"name\":\"Eau du Grand Lyon\",\"oauth\":false,\"slug\":\"eglgrandlyon\",\"siteLink\":\"https://www.eaudugrandlyon.com/inscription.aspx#subc-now\",\"activation\":\"\"}},{\"fluidTypeId\":2,\"name\":\"grdf\",\"coefficient\":0.1121,\"startDate\":\"2021-10-01T00:00:00.000\",\"dataDelayOffset\":5,\"konnectorConfig\":{\"name\":\"GRDF\",\"oauth\":true,\"slug\":\"grdfgrandlyon\",\"siteLink\":\"https://monespace.grdf.fr/monespace/connexion\",\"activation\":\"\"}}],\"termsVersion\":\"1.0.0\"}");
 
 /***/ }),
-/* 548 */
+/* 549 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74052,11 +74053,11 @@ Object.defineProperty(exports, "__esModule", {
 exports.compareDates = compareDates;
 exports.isLastPeriodReached = exports.isLastDateReached = exports.getLagDays = exports.getActualAnalysisDate = exports.convertDateToShortDateString = exports.convertDateToMonthYearString = exports.convertDateToMonthString = void 0;
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74246,14 +74247,14 @@ exports.getActualAnalysisDate = getActualAnalysisDate;
     return;
   }
 
-  reactHotLoader.register(compareDates, "compareDates", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getLagDays, "getLagDays", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(compareDates, "compareDates", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getLagDays, "getLagDays", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/bastien/ecolyo/src/utils/date.ts");
 })();
 
 ;
@@ -74265,7 +74266,7 @@ exports.getActualAnalysisDate = getActualAnalysisDate;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 549 */
+/* 550 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74282,17 +74283,17 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
 var _cozyClient = __webpack_require__(40);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _doctypes = __webpack_require__(484);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _logger = _interopRequireDefault(__webpack_require__(550));
+var _logger = _interopRequireDefault(__webpack_require__(551));
 
-var _dataload = __webpack_require__(544);
+var _dataload = __webpack_require__(545);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74668,7 +74669,7 @@ exports.default = QueryRunner;
     return;
   }
 
-  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/gcarron/dev/ecolyo/src/services/queryRunner.service.ts");
+  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/bastien/ecolyo/src/services/queryRunner.service.ts");
 })();
 
 ;
@@ -74680,7 +74681,7 @@ exports.default = QueryRunner;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 550 */
+/* 551 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -74699,7 +74700,7 @@ const log = minilog('ecolyo')
 
 
 /***/ }),
-/* 551 */
+/* 552 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74710,11 +74711,11 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74777,7 +74778,7 @@ exports.default = ConsumptionValidatorService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/gcarron/dev/ecolyo/src/services/consumptionValidator.service.ts");
+  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/bastien/ecolyo/src/services/consumptionValidator.service.ts");
 })();
 
 ;
@@ -74789,7 +74790,7 @@ exports.default = ConsumptionValidatorService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 552 */
+/* 553 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74804,9 +74805,9 @@ exports.default = void 0;
 
 var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74874,7 +74875,7 @@ exports.default = ConverterService;
     return;
   }
 
-  reactHotLoader.register(ConverterService, "ConverterService", "/home/gcarron/dev/ecolyo/src/services/converter.service.ts");
+  reactHotLoader.register(ConverterService, "ConverterService", "/home/bastien/ecolyo/src/services/converter.service.ts");
 })();
 
 ;
@@ -74886,7 +74887,6 @@ exports.default = ConverterService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 553 */,
 /* 554 */,
 /* 555 */,
 /* 556 */,
@@ -75397,7 +75397,7 @@ exports.default = EnvironmentService;
     return;
   }
 
-  reactHotLoader.register(EnvironmentService, "EnvironmentService", "/home/gcarron/dev/ecolyo/src/services/environment.service.ts");
+  reactHotLoader.register(EnvironmentService, "EnvironmentService", "/home/bastien/ecolyo/src/services/environment.service.ts");
 })();
 
 ;
@@ -75888,19 +75888,19 @@ var _cozyLogger = _interopRequireDefault(__webpack_require__(5));
 
 var _service = __webpack_require__(24);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _fluidsPrices = _interopRequireDefault(__webpack_require__(1470));
 
-var _consumption = _interopRequireDefault(__webpack_require__(540));
+var _consumption = _interopRequireDefault(__webpack_require__(541));
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
 var _doctypes = __webpack_require__(484);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _queryRunner = _interopRequireDefault(__webpack_require__(549));
+var _queryRunner = _interopRequireDefault(__webpack_require__(550));
 
 var _environment = _interopRequireDefault(__webpack_require__(1001));
 
@@ -76233,17 +76233,17 @@ const processPrices = async ({
     return;
   }
 
-  reactHotLoader.register(log, "log", "/home/gcarron/dev/ecolyo/src/targets/services/fluidsPrices.ts");
-  reactHotLoader.register(getRemotePricesByfluid, "getRemotePricesByfluid", "/home/gcarron/dev/ecolyo/src/targets/services/fluidsPrices.ts");
-  reactHotLoader.register(synchroPricesToUpdate, "synchroPricesToUpdate", "/home/gcarron/dev/ecolyo/src/targets/services/fluidsPrices.ts");
-  reactHotLoader.register(price, "price", "/home/gcarron/dev/ecolyo/src/targets/services/fluidsPrices.ts");
-  reactHotLoader.register(sum, "sum", "/home/gcarron/dev/ecolyo/src/targets/services/fluidsPrices.ts");
-  reactHotLoader.register(getTimePeriod, "getTimePeriod", "/home/gcarron/dev/ecolyo/src/targets/services/fluidsPrices.ts");
-  reactHotLoader.register(aggregatePrices, "aggregatePrices", "/home/gcarron/dev/ecolyo/src/targets/services/fluidsPrices.ts");
-  reactHotLoader.register(getDoctypeTypeByFluid, "getDoctypeTypeByFluid", "/home/gcarron/dev/ecolyo/src/targets/services/fluidsPrices.ts");
-  reactHotLoader.register(getTimeSetByFluid, "getTimeSetByFluid", "/home/gcarron/dev/ecolyo/src/targets/services/fluidsPrices.ts");
-  reactHotLoader.register(applyPrices, "applyPrices", "/home/gcarron/dev/ecolyo/src/targets/services/fluidsPrices.ts");
-  reactHotLoader.register(processPrices, "processPrices", "/home/gcarron/dev/ecolyo/src/targets/services/fluidsPrices.ts");
+  reactHotLoader.register(log, "log", "/home/bastien/ecolyo/src/targets/services/fluidsPrices.ts");
+  reactHotLoader.register(getRemotePricesByfluid, "getRemotePricesByfluid", "/home/bastien/ecolyo/src/targets/services/fluidsPrices.ts");
+  reactHotLoader.register(synchroPricesToUpdate, "synchroPricesToUpdate", "/home/bastien/ecolyo/src/targets/services/fluidsPrices.ts");
+  reactHotLoader.register(price, "price", "/home/bastien/ecolyo/src/targets/services/fluidsPrices.ts");
+  reactHotLoader.register(sum, "sum", "/home/bastien/ecolyo/src/targets/services/fluidsPrices.ts");
+  reactHotLoader.register(getTimePeriod, "getTimePeriod", "/home/bastien/ecolyo/src/targets/services/fluidsPrices.ts");
+  reactHotLoader.register(aggregatePrices, "aggregatePrices", "/home/bastien/ecolyo/src/targets/services/fluidsPrices.ts");
+  reactHotLoader.register(getDoctypeTypeByFluid, "getDoctypeTypeByFluid", "/home/bastien/ecolyo/src/targets/services/fluidsPrices.ts");
+  reactHotLoader.register(getTimeSetByFluid, "getTimeSetByFluid", "/home/bastien/ecolyo/src/targets/services/fluidsPrices.ts");
+  reactHotLoader.register(applyPrices, "applyPrices", "/home/bastien/ecolyo/src/targets/services/fluidsPrices.ts");
+  reactHotLoader.register(processPrices, "processPrices", "/home/bastien/ecolyo/src/targets/services/fluidsPrices.ts");
 })();
 
 ;
@@ -76276,7 +76276,7 @@ var _cozyClient = __webpack_require__(40);
 
 var _doctypes = __webpack_require__(484);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -76468,7 +76468,7 @@ exports.default = FluidPricesService;
     return;
   }
 
-  reactHotLoader.register(FluidPricesService, "FluidPricesService", "/home/gcarron/dev/ecolyo/src/services/fluidsPrices.service.ts");
+  reactHotLoader.register(FluidPricesService, "FluidPricesService", "/home/bastien/ecolyo/src/services/fluidsPrices.service.ts");
 })();
 
 ;
diff --git a/services/monthlyReportNotification/ecolyo.js b/services/monthlyReportNotification/ecolyo.js
index 95e6a2d3f9d7ce8739da7577b6ce364f92033b8e..2147d87e87381a693d91543511178d0b357ef9c2 100644
--- a/services/monthlyReportNotification/ecolyo.js
+++ b/services/monthlyReportNotification/ecolyo.js
@@ -2460,8 +2460,8 @@ exports.runService = runService;
     return;
   }
 
-  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
-  reactHotLoader.register(runService, "runService", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/bastien/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(runService, "runService", "/home/bastien/ecolyo/src/targets/services/service.ts");
 })();
 
 ;
@@ -63881,8 +63881,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(doctypes, "doctypes", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(doctypes, "doctypes", "/home/bastien/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/doctypes/index.ts");
 })();
 
 ;
@@ -63925,7 +63925,7 @@ exports.ENEDIS_DAY_DOCTYPE = ENEDIS_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
+  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
 })();
 
 ;
@@ -63968,7 +63968,7 @@ exports.GRDF_DAY_DOCTYPE = GRDF_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
+  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
 })();
 
 ;
@@ -64011,7 +64011,7 @@ exports.EGL_DAY_DOCTYPE = EGL_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
+  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
 })();
 
 ;
@@ -64054,7 +64054,7 @@ exports.KONNECTORS_DOCTYPE = KONNECTORS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-konnectors.ts");
+  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-konnectors.ts");
 })();
 
 ;
@@ -64097,7 +64097,7 @@ exports.ACCOUNTS_DOCTYPE = ACCOUNTS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-accounts.ts");
+  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-accounts.ts");
 })();
 
 ;
@@ -64140,7 +64140,7 @@ exports.JOBS_DOCTYPE = JOBS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-jobs.ts");
+  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-jobs.ts");
 })();
 
 ;
@@ -64183,7 +64183,7 @@ exports.TERMS_DOCTYPE = TERMS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-terms.ts");
+  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-terms.ts");
 })();
 
 ;
@@ -64226,7 +64226,7 @@ exports.ECOGESTURE_DOCTYPE = ECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
+  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
 })();
 
 ;
@@ -64269,7 +64269,7 @@ exports.PROFILE_DOCTYPE = PROFILE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
+  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
 })();
 
 ;
@@ -64312,7 +64312,7 @@ exports.PROFILETYPE_DOCTYPE = PROFILETYPE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
+  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
 })();
 
 ;
@@ -64355,7 +64355,7 @@ exports.SCHEMAS_DOCTYPE = SCHEMAS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
+  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
 })();
 
 ;
@@ -64398,7 +64398,7 @@ exports.CHALLENGE_DOCTYPE = CHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
+  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
 })();
 
 ;
@@ -64441,7 +64441,7 @@ exports.USERCHALLENGE_DOCTYPE = USERCHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
+  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
 })();
 
 ;
@@ -64484,7 +64484,7 @@ exports.DUEL_DOCTYPE = DUEL_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
+  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
 })();
 
 ;
@@ -64527,7 +64527,7 @@ exports.QUIZ_DOCTYPE = QUIZ_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
+  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
 })();
 
 ;
@@ -64570,7 +64570,7 @@ exports.FLUIDPRICES_DOCTYPE = FLUIDPRICES_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
+  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
 })();
 
 ;
@@ -64613,7 +64613,7 @@ exports.USAGEEVENT_DOCTYPE = USAGEEVENT_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
+  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
 })();
 
 ;
@@ -64656,7 +64656,7 @@ exports.EXPLORATION_DOCTYPE = EXPLORATION_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
+  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
 })();
 
 ;
@@ -64699,7 +64699,7 @@ exports.ENEDIS_YEAR_DOCTYPE = ENEDIS_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
+  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
 })();
 
 ;
@@ -64742,7 +64742,7 @@ exports.ENEDIS_MONTH_DOCTYPE = ENEDIS_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
+  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
 })();
 
 ;
@@ -64785,7 +64785,7 @@ exports.ENEDIS_MINUTE_DOCTYPE = ENEDIS_MINUTE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
+  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
 })();
 
 ;
@@ -64828,7 +64828,7 @@ exports.GRDF_YEAR_DOCTYPE = GRDF_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
+  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
 })();
 
 ;
@@ -64871,7 +64871,7 @@ exports.GRDF_MONTH_DOCTYPE = GRDF_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
+  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
 })();
 
 ;
@@ -64914,7 +64914,7 @@ exports.EGL_YEAR_DOCTYPE = EGL_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
+  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
 })();
 
 ;
@@ -64957,7 +64957,7 @@ exports.EGL_MONTH_DOCTYPE = EGL_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
+  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
 })();
 
 ;
@@ -65000,7 +65000,7 @@ exports.ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE = ENEDIS_MONTHLY_ANALYSIS_DATA_DOCT
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
+  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
 })();
 
 ;
@@ -65043,7 +65043,7 @@ exports.ENEDIS_MAXPOWER_DOCTYPE = ENEDIS_MAXPOWER_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
+  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
 })();
 
 ;
@@ -65086,7 +65086,7 @@ exports.PROFILEECOGESTURE_DOCTYPE = PROFILEECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
+  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
 })();
 
 ;
@@ -65129,7 +65129,7 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-triggers.ts");
+  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-triggers.ts");
 })();
 
 ;
@@ -65142,40 +65142,41 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE;
 
 /***/ }),
 /* 514 */,
-/* 515 */
+/* 515 */,
+/* 516 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "VERSION", function() { return VERSION; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "DateTime", function() { return _datetime_js__WEBPACK_IMPORTED_MODULE_0__["default"]; });
 
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(518);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Duration", function() { return _duration_js__WEBPACK_IMPORTED_MODULE_1__["default"]; });
 
-/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(533);
+/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(534);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Interval", function() { return _interval_js__WEBPACK_IMPORTED_MODULE_2__["default"]; });
 
-/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534);
+/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(535);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Info", function() { return _info_js__WEBPACK_IMPORTED_MODULE_3__["default"]; });
 
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(527);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(528);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Zone", function() { return _zone_js__WEBPACK_IMPORTED_MODULE_4__["default"]; });
 
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(530);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(531);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "FixedOffsetZone", function() { return _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__["default"]; });
 
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(528);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(529);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "IANAZone", function() { return _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_6__["default"]; });
 
-/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(531);
+/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(532);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "InvalidZone", function() { return _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_7__["default"]; });
 
-/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(526);
+/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(527);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "LocalZone", function() { return _zones_localZone_js__WEBPACK_IMPORTED_MODULE_8__["default"]; });
 
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(525);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(526);
 /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Settings", function() { return _settings_js__WEBPACK_IMPORTED_MODULE_9__["default"]; });
 
 
@@ -65195,29 +65196,29 @@ const VERSION = "1.28.0";
 
 
 /***/ }),
-/* 516 */
+/* 517 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return DateTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "friendlyDateTime", function() { return friendlyDateTime; });
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
-/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(533);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534);
-/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(519);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(530);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(524);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(522);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(529);
-/* harmony import */ var _impl_diff_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(535);
-/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(532);
-/* harmony import */ var _impl_tokenParser_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(536);
-/* harmony import */ var _impl_conversions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(538);
-/* harmony import */ var _impl_formats_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(521);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(518);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(523);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _interval_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(534);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _info_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(535);
+/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(520);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(531);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(525);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(523);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(530);
+/* harmony import */ var _impl_diff_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(536);
+/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(533);
+/* harmony import */ var _impl_tokenParser_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(537);
+/* harmony import */ var _impl_conversions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(539);
+/* harmony import */ var _impl_formats_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(522);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(519);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(524);
 
 
 
@@ -67363,20 +67364,20 @@ function friendlyDateTime(dateTimeish) {
 
 
 /***/ }),
-/* 517 */
+/* 518 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Duration; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "friendlyDuration", function() { return friendlyDuration; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
-/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(519);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(523);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(524);
-/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(532);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(522);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(525);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
+/* harmony import */ var _impl_formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(525);
+/* harmony import */ var _impl_regexParser_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(533);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(523);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(526);
 
 
 
@@ -68253,7 +68254,7 @@ function friendlyDuration(durationish) {
 
 
 /***/ }),
-/* 518 */
+/* 519 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -68329,15 +68330,15 @@ class ZoneIsAbstractError extends LuxonError {
 
 
 /***/ }),
-/* 519 */
+/* 520 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Formatter; });
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(520);
-/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(522);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(521);
+/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(522);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(523);
 
 
 
@@ -68727,7 +68728,7 @@ class Formatter {
 
 
 /***/ }),
-/* 520 */
+/* 521 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -68751,8 +68752,8 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "eraForDateTime", function() { return eraForDateTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatRelativeTime", function() { return formatRelativeTime; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatString", function() { return formatString; });
-/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(521);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(522);
+/* harmony import */ var _formats_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(523);
 
 
 
@@ -68989,7 +68990,7 @@ function formatString(knownFormat) {
 
 
 /***/ }),
-/* 521 */
+/* 522 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69210,7 +69211,7 @@ const DATETIME_HUGE_WITH_SECONDS = {
 
 
 /***/ }),
-/* 522 */
+/* 523 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69246,7 +69247,7 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "formatOffset", function() { return formatOffset; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "timeObject", function() { return timeObject; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ianaRegex", function() { return ianaRegex; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
 /*
   This is just a junk drawer, containing anything used across multiple classes.
   Because Luxon is small(ish), this should stay small and we won't worry about splitting
@@ -69542,7 +69543,7 @@ const ianaRegex = /[A-Za-z_+-]{1,256}(:?\/[A-Za-z_+-]{1,256}(\/[A-Za-z_+-]{1,256
 
 
 /***/ }),
-/* 523 */
+/* 524 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -69565,18 +69566,18 @@ class Invalid {
 
 
 /***/ }),
-/* 524 */
+/* 525 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Locale; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(516);
-/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(519);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(528);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(517);
+/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(520);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(529);
 
 
 
@@ -70062,16 +70063,16 @@ class Locale {
 
 
 /***/ }),
-/* 525 */
+/* 526 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Settings; });
-/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(526);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _zones_localZone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(529);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(530);
 
 
 
@@ -70212,14 +70213,14 @@ class Settings {
 
 
 /***/ }),
-/* 526 */
+/* 527 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return LocalZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70286,13 +70287,13 @@ class LocalZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 527 */
+/* 528 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Zone; });
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(519);
 /* eslint no-unused-vars: "off" */
 
 
@@ -70384,14 +70385,14 @@ class Zone {
 
 
 /***/ }),
-/* 528 */
+/* 529 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return IANAZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70586,17 +70587,17 @@ class IANAZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 529 */
+/* 530 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "normalizeZone", function() { return normalizeZone; });
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(531);
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(522);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(528);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(529);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_invalidZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(532);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(523);
 /**
  * @private
  */
@@ -70636,14 +70637,14 @@ function normalizeZone(input, defaultZone) {
 
 
 /***/ }),
-/* 530 */
+/* 531 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return FixedOffsetZone; });
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(527);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(528);
 
 
 
@@ -70741,13 +70742,13 @@ class FixedOffsetZone extends _zone_js__WEBPACK_IMPORTED_MODULE_1__["default"] {
 
 
 /***/ }),
-/* 531 */
+/* 532 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return InvalidZone; });
-/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(527);
+/* harmony import */ var _zone_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(528);
 
 
 /**
@@ -70804,7 +70805,7 @@ class InvalidZone extends _zone_js__WEBPACK_IMPORTED_MODULE_0__["default"] {
 
 
 /***/ }),
-/* 532 */
+/* 533 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -70815,10 +70816,10 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseISODuration", function() { return parseISODuration; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseISOTimeOnly", function() { return parseISOTimeOnly; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseSQL", function() { return parseSQL; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _english_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(521);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
 
 
 
@@ -71150,17 +71151,17 @@ function parseSQL(s) {
 
 
 /***/ }),
-/* 533 */
+/* 534 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Interval; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(517);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(518);
-/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(523);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(518);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(526);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(519);
+/* harmony import */ var _impl_invalid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(524);
 
 
 
@@ -71766,18 +71767,18 @@ class Interval {
 
 
 /***/ }),
-/* 534 */
+/* 535 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return Info; });
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(516);
-/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(525);
-/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(524);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
-/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(529);
-/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(522);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _settings_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(526);
+/* harmony import */ var _impl_locale_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(525);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _impl_zoneUtil_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(530);
+/* harmony import */ var _impl_util_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(523);
 
 
 
@@ -71974,12 +71975,12 @@ class Info {
 
 
 /***/ }),
-/* 535 */
+/* 536 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
-/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(517);
+/* harmony import */ var _duration_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(518);
 
 
 function dayDiff(earlier, later) {
@@ -72063,20 +72064,20 @@ function highOrderDiffs(cursor, later, units) {
 
 
 /***/ }),
-/* 536 */
+/* 537 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "explainFromTokens", function() { return explainFromTokens; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseFromTokens", function() { return parseFromTokens; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(519);
-/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(530);
-/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(528);
-/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(516);
-/* harmony import */ var _digits_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(537);
-/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(518);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _formatter_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(520);
+/* harmony import */ var _zones_fixedOffsetZone_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(531);
+/* harmony import */ var _zones_IANAZone_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(529);
+/* harmony import */ var _datetime_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(517);
+/* harmony import */ var _digits_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(538);
+/* harmony import */ var _errors_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(519);
 
 
 
@@ -72504,7 +72505,7 @@ function parseFromTokens(locale, input, format) {
 
 
 /***/ }),
-/* 537 */
+/* 538 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -72590,7 +72591,7 @@ function digitRegex({ numberingSystem }, append = "") {
 
 
 /***/ }),
-/* 538 */
+/* 539 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -72603,8 +72604,8 @@ __webpack_require__.r(__webpack_exports__);
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidOrdinalData", function() { return hasInvalidOrdinalData; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidGregorianData", function() { return hasInvalidGregorianData; });
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasInvalidTimeData", function() { return hasInvalidTimeData; });
-/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(522);
-/* harmony import */ var _invalid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(523);
+/* harmony import */ var _util_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(523);
+/* harmony import */ var _invalid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(524);
 
 
 
@@ -72757,7 +72758,7 @@ function hasInvalidTimeData(obj) {
 
 
 /***/ }),
-/* 539 */
+/* 540 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -72778,7 +72779,7 @@ var _cozyClient = __webpack_require__(40);
 
 var _doctypes = __webpack_require__(484);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -72867,7 +72868,7 @@ exports.default = ProfileService;
     return;
   }
 
-  reactHotLoader.register(ProfileService, "ProfileService", "/home/gcarron/dev/ecolyo/src/services/profile.service.ts");
+  reactHotLoader.register(ProfileService, "ProfileService", "/home/bastien/ecolyo/src/services/profile.service.ts");
 })();
 
 ;
@@ -72879,7 +72880,7 @@ exports.default = ProfileService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 540 */
+/* 541 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -72894,21 +72895,21 @@ exports.default = void 0;
 
 var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _cozyClient = __webpack_require__(40);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _consumptionFormatter = _interopRequireDefault(__webpack_require__(543));
+var _consumptionFormatter = _interopRequireDefault(__webpack_require__(544));
 
-var _queryRunner = _interopRequireDefault(__webpack_require__(549));
+var _queryRunner = _interopRequireDefault(__webpack_require__(550));
 
-var _consumptionValidator = _interopRequireDefault(__webpack_require__(551));
+var _consumptionValidator = _interopRequireDefault(__webpack_require__(552));
 
-var _converter = _interopRequireDefault(__webpack_require__(552));
+var _converter = _interopRequireDefault(__webpack_require__(553));
 
 var _doctypes = __webpack_require__(484);
 
@@ -73338,7 +73339,7 @@ exports.default = ConsumptionDataManager;
     return;
   }
 
-  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/gcarron/dev/ecolyo/src/services/consumption.service.ts");
+  reactHotLoader.register(ConsumptionDataManager, "ConsumptionDataManager", "/home/bastien/ecolyo/src/services/consumption.service.ts");
 })();
 
 ;
@@ -73350,7 +73351,7 @@ exports.default = ConsumptionDataManager;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 541 */
+/* 542 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73388,7 +73389,7 @@ exports.FluidState = FluidState;
 })(FluidState || (exports.FluidState = FluidState = {}));
 
 /***/ }),
-/* 542 */
+/* 543 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73416,7 +73417,7 @@ exports.TimeStep = TimeStep;
 })(TimeStep || (exports.TimeStep = TimeStep = {}));
 
 /***/ }),
-/* 543 */
+/* 544 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73431,19 +73432,19 @@ exports.default = void 0;
 
 var _objectSpread2 = _interopRequireDefault(__webpack_require__(3));
 
-var _dataload = __webpack_require__(544);
+var _dataload = __webpack_require__(545);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _dateChart = _interopRequireDefault(__webpack_require__(545));
+var _dateChart = _interopRequireDefault(__webpack_require__(546));
 
-var _date = __webpack_require__(548);
+var _date = __webpack_require__(549);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -73636,7 +73637,7 @@ exports.default = ConsumptionFormatterService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/gcarron/dev/ecolyo/src/services/consumptionFormatter.service.ts");
+  reactHotLoader.register(ConsumptionFormatterService, "ConsumptionFormatterService", "/home/bastien/ecolyo/src/services/consumptionFormatter.service.ts");
 })();
 
 ;
@@ -73648,7 +73649,7 @@ exports.default = ConsumptionFormatterService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 544 */
+/* 545 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73692,7 +73693,7 @@ exports.DataloadSectionType = DataloadSectionType;
 })(DataloadSectionType || (exports.DataloadSectionType = DataloadSectionType = {}));
 
 /***/ }),
-/* 545 */
+/* 546 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -73705,13 +73706,13 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74070,7 +74071,7 @@ exports.default = DateChartService;
     return;
   }
 
-  reactHotLoader.register(DateChartService, "DateChartService", "/home/gcarron/dev/ecolyo/src/services/dateChart.service.ts");
+  reactHotLoader.register(DateChartService, "DateChartService", "/home/bastien/ecolyo/src/services/dateChart.service.ts");
 })();
 
 ;
@@ -74082,7 +74083,7 @@ exports.default = DateChartService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 546 */
+/* 547 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74095,7 +74096,7 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _config = _interopRequireDefault(__webpack_require__(547));
+var _config = _interopRequireDefault(__webpack_require__(548));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74143,7 +74144,7 @@ exports.default = ConfigService;
     return;
   }
 
-  reactHotLoader.register(ConfigService, "ConfigService", "/home/gcarron/dev/ecolyo/src/services/fluidConfig.service.ts");
+  reactHotLoader.register(ConfigService, "ConfigService", "/home/bastien/ecolyo/src/services/fluidConfig.service.ts");
 })();
 
 ;
@@ -74155,13 +74156,13 @@ exports.default = ConfigService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 547 */
+/* 548 */
 /***/ (function(module) {
 
 module.exports = JSON.parse("{\"fluidConfig\":[{\"fluidTypeId\":0,\"name\":\"enedis\",\"coefficient\":0.174,\"startDate\":\"2021-08-01T00:00:00.000\",\"dataDelayOffset\":3,\"konnectorConfig\":{\"name\":\"Enedis\",\"oauth\":true,\"slug\":\"enedisgrandlyon\",\"siteLink\":\"https://mon-compte-client.enedis.fr/\",\"activation\":\"https://mon-compte-particulier.enedis.fr/donnees/\"}},{\"fluidTypeId\":1,\"name\":\"egl\",\"coefficient\":0.00319,\"startDate\":\"2021-01-01T00:00:00.000\",\"dataDelayOffset\":5,\"konnectorConfig\":{\"name\":\"Eau du Grand Lyon\",\"oauth\":false,\"slug\":\"eglgrandlyon\",\"siteLink\":\"https://www.eaudugrandlyon.com/inscription.aspx#subc-now\",\"activation\":\"\"}},{\"fluidTypeId\":2,\"name\":\"grdf\",\"coefficient\":0.1121,\"startDate\":\"2021-10-01T00:00:00.000\",\"dataDelayOffset\":5,\"konnectorConfig\":{\"name\":\"GRDF\",\"oauth\":true,\"slug\":\"grdfgrandlyon\",\"siteLink\":\"https://monespace.grdf.fr/monespace/connexion\",\"activation\":\"\"}}],\"termsVersion\":\"1.0.0\"}");
 
 /***/ }),
-/* 548 */
+/* 549 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74173,11 +74174,11 @@ Object.defineProperty(exports, "__esModule", {
 exports.compareDates = compareDates;
 exports.isLastPeriodReached = exports.isLastDateReached = exports.getLagDays = exports.getActualAnalysisDate = exports.convertDateToShortDateString = exports.convertDateToMonthYearString = exports.convertDateToMonthString = void 0;
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74367,14 +74368,14 @@ exports.getActualAnalysisDate = getActualAnalysisDate;
     return;
   }
 
-  reactHotLoader.register(compareDates, "compareDates", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getLagDays, "getLagDays", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
-  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/gcarron/dev/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(compareDates, "compareDates", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastDateReached, "isLastDateReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(isLastPeriodReached, "isLastPeriodReached", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getLagDays, "getLagDays", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToShortDateString, "convertDateToShortDateString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthString, "convertDateToMonthString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(convertDateToMonthYearString, "convertDateToMonthYearString", "/home/bastien/ecolyo/src/utils/date.ts");
+  reactHotLoader.register(getActualAnalysisDate, "getActualAnalysisDate", "/home/bastien/ecolyo/src/utils/date.ts");
 })();
 
 ;
@@ -74386,7 +74387,7 @@ exports.getActualAnalysisDate = getActualAnalysisDate;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 549 */
+/* 550 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74403,17 +74404,17 @@ var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
 var _cozyClient = __webpack_require__(40);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _doctypes = __webpack_require__(484);
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _logger = _interopRequireDefault(__webpack_require__(550));
+var _logger = _interopRequireDefault(__webpack_require__(551));
 
-var _dataload = __webpack_require__(544);
+var _dataload = __webpack_require__(545);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74789,7 +74790,7 @@ exports.default = QueryRunner;
     return;
   }
 
-  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/gcarron/dev/ecolyo/src/services/queryRunner.service.ts");
+  reactHotLoader.register(QueryRunner, "QueryRunner", "/home/bastien/ecolyo/src/services/queryRunner.service.ts");
 })();
 
 ;
@@ -74801,7 +74802,7 @@ exports.default = QueryRunner;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 550 */
+/* 551 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -74820,7 +74821,7 @@ const log = minilog('ecolyo')
 
 
 /***/ }),
-/* 551 */
+/* 552 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74831,11 +74832,11 @@ Object.defineProperty(exports, "__esModule", {
 });
 exports.default = void 0;
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74898,7 +74899,7 @@ exports.default = ConsumptionValidatorService;
     return;
   }
 
-  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/gcarron/dev/ecolyo/src/services/consumptionValidator.service.ts");
+  reactHotLoader.register(ConsumptionValidatorService, "ConsumptionValidatorService", "/home/bastien/ecolyo/src/services/consumptionValidator.service.ts");
 })();
 
 ;
@@ -74910,7 +74911,7 @@ exports.default = ConsumptionValidatorService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 552 */
+/* 553 */
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -74925,9 +74926,9 @@ exports.default = void 0;
 
 var _defineProperty2 = _interopRequireDefault(__webpack_require__(4));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _fluidConfig = _interopRequireDefault(__webpack_require__(546));
+var _fluidConfig = _interopRequireDefault(__webpack_require__(547));
 
 (function () {
   var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
@@ -74995,7 +74996,7 @@ exports.default = ConverterService;
     return;
   }
 
-  reactHotLoader.register(ConverterService, "ConverterService", "/home/gcarron/dev/ecolyo/src/services/converter.service.ts");
+  reactHotLoader.register(ConverterService, "ConverterService", "/home/bastien/ecolyo/src/services/converter.service.ts");
 })();
 
 ;
@@ -75007,7 +75008,6 @@ exports.default = ConverterService;
 /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(1)(module)))
 
 /***/ }),
-/* 553 */,
 /* 554 */,
 /* 555 */,
 /* 556 */,
@@ -75493,11 +75493,11 @@ exports.isKonnectorActive = isKonnectorActive;
 
 var _get = _interopRequireDefault(__webpack_require__(163));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
 var _konnectorUpdate = __webpack_require__(836);
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _ecogesture = __webpack_require__(837);
 
@@ -75706,17 +75706,17 @@ exports.getSeason = getSeason;
     return;
   }
 
-  reactHotLoader.register(getFluidType, "getFluidType", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getKonnectorUpdateError, "getKonnectorUpdateError", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(isKonnectorActive, "isKonnectorActive", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(formatNumberValues, "formatNumberValues", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationship, "getRelationship", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationshipHasMany, "getRelationshipHasMany", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getRelationships, "getRelationships", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(importIconbyId, "importIconbyId", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getPreviousMonthName, "getPreviousMonthName", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getMonthNameWithPrep, "getMonthNameWithPrep", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
-  reactHotLoader.register(getSeason, "getSeason", "/home/gcarron/dev/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getFluidType, "getFluidType", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getKonnectorUpdateError, "getKonnectorUpdateError", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(isKonnectorActive, "isKonnectorActive", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(formatNumberValues, "formatNumberValues", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationship, "getRelationship", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationshipHasMany, "getRelationshipHasMany", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getRelationships, "getRelationships", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(importIconbyId, "importIconbyId", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getPreviousMonthName, "getPreviousMonthName", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getMonthNameWithPrep, "getMonthNameWithPrep", "/home/bastien/ecolyo/src/utils/utils.ts");
+  reactHotLoader.register(getSeason, "getSeason", "/home/bastien/ecolyo/src/utils/utils.ts");
 })();
 
 ;
@@ -77061,7 +77061,7 @@ exports.default = EnvironmentService;
     return;
   }
 
-  reactHotLoader.register(EnvironmentService, "EnvironmentService", "/home/gcarron/dev/ecolyo/src/services/environment.service.ts");
+  reactHotLoader.register(EnvironmentService, "EnvironmentService", "/home/bastien/ecolyo/src/services/environment.service.ts");
 })();
 
 ;
@@ -77144,7 +77144,7 @@ exports.default = MailService;
     return;
   }
 
-  reactHotLoader.register(MailService, "MailService", "/home/gcarron/dev/ecolyo/src/services/mail.service.ts");
+  reactHotLoader.register(MailService, "MailService", "/home/bastien/ecolyo/src/services/mail.service.ts");
 })();
 
 ;
@@ -144171,21 +144171,21 @@ var _cozyLogger = _interopRequireDefault(__webpack_require__(5));
 
 var _get = _interopRequireDefault(__webpack_require__(163));
 
-var _luxon = __webpack_require__(515);
+var _luxon = __webpack_require__(516);
 
 var _mjml = _interopRequireDefault(__webpack_require__(1024));
 
 var _service = __webpack_require__(24);
 
-var _profile = _interopRequireDefault(__webpack_require__(539));
+var _profile = _interopRequireDefault(__webpack_require__(540));
 
 var _mail = _interopRequireDefault(__webpack_require__(1023));
 
-var _fluid = __webpack_require__(541);
+var _fluid = __webpack_require__(542);
 
-var _timeStep = __webpack_require__(542);
+var _timeStep = __webpack_require__(543);
 
-var _consumption = _interopRequireDefault(__webpack_require__(540));
+var _consumption = _interopRequireDefault(__webpack_require__(541));
 
 var _environment = _interopRequireDefault(__webpack_require__(1001));
 
@@ -144444,11 +144444,11 @@ const monthlyReportNotification = async ({
     return;
   }
 
-  reactHotLoader.register(log, "log", "/home/gcarron/dev/ecolyo/src/targets/services/monthlyReportNotification.ts");
-  reactHotLoader.register(getConsumptionValue, "getConsumptionValue", "/home/gcarron/dev/ecolyo/src/targets/services/monthlyReportNotification.ts");
-  reactHotLoader.register(buildConsumptionText, "buildConsumptionText", "/home/gcarron/dev/ecolyo/src/targets/services/monthlyReportNotification.ts");
-  reactHotLoader.register(getMonthlyReport, "getMonthlyReport", "/home/gcarron/dev/ecolyo/src/targets/services/monthlyReportNotification.ts");
-  reactHotLoader.register(monthlyReportNotification, "monthlyReportNotification", "/home/gcarron/dev/ecolyo/src/targets/services/monthlyReportNotification.ts");
+  reactHotLoader.register(log, "log", "/home/bastien/ecolyo/src/targets/services/monthlyReportNotification.ts");
+  reactHotLoader.register(getConsumptionValue, "getConsumptionValue", "/home/bastien/ecolyo/src/targets/services/monthlyReportNotification.ts");
+  reactHotLoader.register(buildConsumptionText, "buildConsumptionText", "/home/bastien/ecolyo/src/targets/services/monthlyReportNotification.ts");
+  reactHotLoader.register(getMonthlyReport, "getMonthlyReport", "/home/bastien/ecolyo/src/targets/services/monthlyReportNotification.ts");
+  reactHotLoader.register(monthlyReportNotification, "monthlyReportNotification", "/home/bastien/ecolyo/src/targets/services/monthlyReportNotification.ts");
 })();
 
 ;
diff --git a/services/service/ecolyo.js b/services/service/ecolyo.js
index 54099b7503ac4be972eb01c0baeaeaf5de43f7d6..dc32237282e0fc02ac794479adb974b68cf73826 100644
--- a/services/service/ecolyo.js
+++ b/services/service/ecolyo.js
@@ -2433,8 +2433,8 @@ exports.runService = runService;
     return;
   }
 
-  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
-  reactHotLoader.register(runService, "runService", "/home/gcarron/dev/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(assertEnvVar, "assertEnvVar", "/home/bastien/ecolyo/src/targets/services/service.ts");
+  reactHotLoader.register(runService, "runService", "/home/bastien/ecolyo/src/targets/services/service.ts");
 })();
 
 ;
@@ -63854,8 +63854,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(doctypes, "doctypes", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(doctypes, "doctypes", "/home/bastien/ecolyo/src/doctypes/index.ts");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/src/doctypes/index.ts");
 })();
 
 ;
@@ -63898,7 +63898,7 @@ exports.ENEDIS_DAY_DOCTYPE = ENEDIS_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
+  reactHotLoader.register(ENEDIS_DAY_DOCTYPE, "ENEDIS_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-day.ts");
 })();
 
 ;
@@ -63941,7 +63941,7 @@ exports.GRDF_DAY_DOCTYPE = GRDF_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
+  reactHotLoader.register(GRDF_DAY_DOCTYPE, "GRDF_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-day.ts");
 })();
 
 ;
@@ -63984,7 +63984,7 @@ exports.EGL_DAY_DOCTYPE = EGL_DAY_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
+  reactHotLoader.register(EGL_DAY_DOCTYPE, "EGL_DAY_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-day.ts");
 })();
 
 ;
@@ -64027,7 +64027,7 @@ exports.KONNECTORS_DOCTYPE = KONNECTORS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-konnectors.ts");
+  reactHotLoader.register(KONNECTORS_DOCTYPE, "KONNECTORS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-konnectors.ts");
 })();
 
 ;
@@ -64070,7 +64070,7 @@ exports.ACCOUNTS_DOCTYPE = ACCOUNTS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-accounts.ts");
+  reactHotLoader.register(ACCOUNTS_DOCTYPE, "ACCOUNTS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-accounts.ts");
 })();
 
 ;
@@ -64113,7 +64113,7 @@ exports.JOBS_DOCTYPE = JOBS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-jobs.ts");
+  reactHotLoader.register(JOBS_DOCTYPE, "JOBS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-jobs.ts");
 })();
 
 ;
@@ -64156,7 +64156,7 @@ exports.TERMS_DOCTYPE = TERMS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-terms.ts");
+  reactHotLoader.register(TERMS_DOCTYPE, "TERMS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-terms.ts");
 })();
 
 ;
@@ -64199,7 +64199,7 @@ exports.ECOGESTURE_DOCTYPE = ECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
+  reactHotLoader.register(ECOGESTURE_DOCTYPE, "ECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-ecogesture.ts");
 })();
 
 ;
@@ -64242,7 +64242,7 @@ exports.PROFILE_DOCTYPE = PROFILE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
+  reactHotLoader.register(PROFILE_DOCTYPE, "PROFILE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profile.ts");
 })();
 
 ;
@@ -64285,7 +64285,7 @@ exports.PROFILETYPE_DOCTYPE = PROFILETYPE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
+  reactHotLoader.register(PROFILETYPE_DOCTYPE, "PROFILETYPE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profiletype.ts");
 })();
 
 ;
@@ -64328,7 +64328,7 @@ exports.SCHEMAS_DOCTYPE = SCHEMAS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
+  reactHotLoader.register(SCHEMAS_DOCTYPE, "SCHEMAS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-schemas.ts");
 })();
 
 ;
@@ -64371,7 +64371,7 @@ exports.CHALLENGE_DOCTYPE = CHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
+  reactHotLoader.register(CHALLENGE_DOCTYPE, "CHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-challenge.ts");
 })();
 
 ;
@@ -64414,7 +64414,7 @@ exports.USERCHALLENGE_DOCTYPE = USERCHALLENGE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
+  reactHotLoader.register(USERCHALLENGE_DOCTYPE, "USERCHALLENGE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-userchallenge.ts");
 })();
 
 ;
@@ -64457,7 +64457,7 @@ exports.DUEL_DOCTYPE = DUEL_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
+  reactHotLoader.register(DUEL_DOCTYPE, "DUEL_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-duel.ts");
 })();
 
 ;
@@ -64500,7 +64500,7 @@ exports.QUIZ_DOCTYPE = QUIZ_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
+  reactHotLoader.register(QUIZ_DOCTYPE, "QUIZ_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-quiz.ts");
 })();
 
 ;
@@ -64543,7 +64543,7 @@ exports.FLUIDPRICES_DOCTYPE = FLUIDPRICES_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
+  reactHotLoader.register(FLUIDPRICES_DOCTYPE, "FLUIDPRICES_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-fluidsprices.ts");
 })();
 
 ;
@@ -64586,7 +64586,7 @@ exports.USAGEEVENT_DOCTYPE = USAGEEVENT_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
+  reactHotLoader.register(USAGEEVENT_DOCTYPE, "USAGEEVENT_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-usageevent.ts");
 })();
 
 ;
@@ -64629,7 +64629,7 @@ exports.EXPLORATION_DOCTYPE = EXPLORATION_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
+  reactHotLoader.register(EXPLORATION_DOCTYPE, "EXPLORATION_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-exploration.ts");
 })();
 
 ;
@@ -64672,7 +64672,7 @@ exports.ENEDIS_YEAR_DOCTYPE = ENEDIS_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
+  reactHotLoader.register(ENEDIS_YEAR_DOCTYPE, "ENEDIS_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-year.ts");
 })();
 
 ;
@@ -64715,7 +64715,7 @@ exports.ENEDIS_MONTH_DOCTYPE = ENEDIS_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
+  reactHotLoader.register(ENEDIS_MONTH_DOCTYPE, "ENEDIS_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-month.ts");
 })();
 
 ;
@@ -64758,7 +64758,7 @@ exports.ENEDIS_MINUTE_DOCTYPE = ENEDIS_MINUTE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
+  reactHotLoader.register(ENEDIS_MINUTE_DOCTYPE, "ENEDIS_MINUTE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-minute.ts");
 })();
 
 ;
@@ -64801,7 +64801,7 @@ exports.GRDF_YEAR_DOCTYPE = GRDF_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
+  reactHotLoader.register(GRDF_YEAR_DOCTYPE, "GRDF_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-year.ts");
 })();
 
 ;
@@ -64844,7 +64844,7 @@ exports.GRDF_MONTH_DOCTYPE = GRDF_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
+  reactHotLoader.register(GRDF_MONTH_DOCTYPE, "GRDF_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-grdf-month.ts");
 })();
 
 ;
@@ -64887,7 +64887,7 @@ exports.EGL_YEAR_DOCTYPE = EGL_YEAR_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
+  reactHotLoader.register(EGL_YEAR_DOCTYPE, "EGL_YEAR_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-year.ts");
 })();
 
 ;
@@ -64930,7 +64930,7 @@ exports.EGL_MONTH_DOCTYPE = EGL_MONTH_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
+  reactHotLoader.register(EGL_MONTH_DOCTYPE, "EGL_MONTH_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-egl-month.ts");
 })();
 
 ;
@@ -64973,7 +64973,7 @@ exports.ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE = ENEDIS_MONTHLY_ANALYSIS_DATA_DOCT
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
+  reactHotLoader.register(ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE, "ENEDIS_MONTHLY_ANALYSIS_DATA_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-monthly-analysis-data.ts");
 })();
 
 ;
@@ -65016,7 +65016,7 @@ exports.ENEDIS_MAXPOWER_DOCTYPE = ENEDIS_MAXPOWER_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
+  reactHotLoader.register(ENEDIS_MAXPOWER_DOCTYPE, "ENEDIS_MAXPOWER_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-enedis-maxpower.ts");
 })();
 
 ;
@@ -65059,7 +65059,7 @@ exports.PROFILEECOGESTURE_DOCTYPE = PROFILEECOGESTURE_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
+  reactHotLoader.register(PROFILEECOGESTURE_DOCTYPE, "PROFILEECOGESTURE_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/com-grandlyon-ecolyo-profileecogesture.ts");
 })();
 
 ;
@@ -65102,7 +65102,7 @@ exports.TRIGGERS_DOCTYPE = TRIGGERS_DOCTYPE;
     return;
   }
 
-  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/gcarron/dev/ecolyo/src/doctypes/io-cozy-triggers.ts");
+  reactHotLoader.register(TRIGGERS_DOCTYPE, "TRIGGERS_DOCTYPE", "/home/bastien/ecolyo/src/doctypes/io-cozy-triggers.ts");
 })();
 
 ;
diff --git a/vendors/ecolyo.bce3a3ca54818ecca6eb.js b/vendors/ecolyo.73c3f92b312c26be0794.js
similarity index 99%
rename from vendors/ecolyo.bce3a3ca54818ecca6eb.js
rename to vendors/ecolyo.73c3f92b312c26be0794.js
index 2a1a2fd1ac3e1081b826ba03d0684e76eeb80d0a..ea46d98bceb87cdd4268f96647f3a851862a5c33 100644
--- a/vendors/ecolyo.bce3a3ca54818ecca6eb.js
+++ b/vendors/ecolyo.73c3f92b312c26be0794.js
@@ -5781,19 +5781,19 @@ exports.getTheme = getTheme;
     return;
   }
 
-  reactHotLoader.register(defaultPalette, "defaultPalette", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(defaultValues, "defaultValues", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(SWITCH_BAR_WIDTH, "SWITCH_BAR_WIDTH", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(makeTypography, "makeTypography", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(normalPalette, "normalPalette", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(normalTheme, "normalTheme", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(makeOverrides, "makeOverrides", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(shadows, "shadows", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(invertedPalette, "invertedPalette", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(invertedTypography, "invertedTypography", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(invertedTheme, "invertedTheme", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(themes, "themes", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
-  reactHotLoader.register(getTheme, "getTheme", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(defaultPalette, "defaultPalette", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(defaultValues, "defaultValues", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(SWITCH_BAR_WIDTH, "SWITCH_BAR_WIDTH", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(makeTypography, "makeTypography", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(normalPalette, "normalPalette", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(normalTheme, "normalTheme", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(makeOverrides, "makeOverrides", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(shadows, "shadows", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(invertedPalette, "invertedPalette", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(invertedTypography, "invertedTypography", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(invertedTheme, "invertedTheme", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(themes, "themes", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
+  reactHotLoader.register(getTheme, "getTheme", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/theme.js");
 })();
 
 ;
@@ -19623,11 +19623,11 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(getBreakpointsStatus, "getBreakpointsStatus", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/hooks/useBreakpoints/index.js");
-  reactHotLoader.register(BreakpointsCtx, "BreakpointsCtx", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/hooks/useBreakpoints/index.js");
-  reactHotLoader.register(BreakpointsProvider, "BreakpointsProvider", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/hooks/useBreakpoints/index.js");
-  reactHotLoader.register(useBreakpoints, "useBreakpoints", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/hooks/useBreakpoints/index.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/hooks/useBreakpoints/index.js");
+  reactHotLoader.register(getBreakpointsStatus, "getBreakpointsStatus", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/hooks/useBreakpoints/index.js");
+  reactHotLoader.register(BreakpointsCtx, "BreakpointsCtx", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/hooks/useBreakpoints/index.js");
+  reactHotLoader.register(BreakpointsProvider, "BreakpointsProvider", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/hooks/useBreakpoints/index.js");
+  reactHotLoader.register(useBreakpoints, "useBreakpoints", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/hooks/useBreakpoints/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/hooks/useBreakpoints/index.js");
 })();
 
 ;
@@ -25077,8 +25077,8 @@ exports.initFormat = initFormat;
     return;
   }
 
-  reactHotLoader.register(getWarningMessage, "getWarningMessage", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/format.js");
-  reactHotLoader.register(initFormat, "initFormat", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/format.js");
+  reactHotLoader.register(getWarningMessage, "getWarningMessage", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/format.js");
+  reactHotLoader.register(initFormat, "initFormat", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/format.js");
 })();
 
 ;
@@ -27761,7 +27761,7 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/Buttons/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/Buttons/index.js");
 })();
 
 ;
@@ -37980,9 +37980,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(cozyThemeStyles, "cozyThemeStyles", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/index.js");
-  reactHotLoader.register(Dialog, "Dialog", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/index.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/index.js");
+  reactHotLoader.register(cozyThemeStyles, "cozyThemeStyles", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/index.js");
+  reactHotLoader.register(Dialog, "Dialog", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/index.js");
 })();
 
 ;
@@ -38189,7 +38189,7 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/DialogContent.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/DialogContent.js");
 })();
 
 ;
@@ -41016,9 +41016,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(customStyles, "customStyles", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogBackButton.js");
-  reactHotLoader.register(DialogBackButton, "DialogBackButton", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogBackButton.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogBackButton.js");
+  reactHotLoader.register(customStyles, "customStyles", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogBackButton.js");
+  reactHotLoader.register(DialogBackButton, "DialogBackButton", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogBackButton.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogBackButton.js");
 })();
 
 ;
@@ -41123,8 +41123,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FixedActionsDialog, "FixedActionsDialog", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/FixedActionsDialog.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/FixedActionsDialog.js");
+  reactHotLoader.register(FixedActionsDialog, "FixedActionsDialog", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/FixedActionsDialog.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/FixedActionsDialog.js");
 })();
 
 ;
@@ -42342,6 +42342,767 @@ module.exports = {
 }
 
 
+/***/ }),
+
+/***/ "74pp":
+/***/ (function(module, exports, __webpack_require__) {
+
+/**
+ * Copyright (c) 2014-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+var runtime = (function (exports) {
+  "use strict";
+
+  var Op = Object.prototype;
+  var hasOwn = Op.hasOwnProperty;
+  var undefined; // More compressible than void 0.
+  var $Symbol = typeof Symbol === "function" ? Symbol : {};
+  var iteratorSymbol = $Symbol.iterator || "@@iterator";
+  var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
+  var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
+
+  function define(obj, key, value) {
+    Object.defineProperty(obj, key, {
+      value: value,
+      enumerable: true,
+      configurable: true,
+      writable: true
+    });
+    return obj[key];
+  }
+  try {
+    // IE 8 has a broken Object.defineProperty that only works on DOM objects.
+    define({}, "");
+  } catch (err) {
+    define = function(obj, key, value) {
+      return obj[key] = value;
+    };
+  }
+
+  function wrap(innerFn, outerFn, self, tryLocsList) {
+    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
+    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
+    var generator = Object.create(protoGenerator.prototype);
+    var context = new Context(tryLocsList || []);
+
+    // The ._invoke method unifies the implementations of the .next,
+    // .throw, and .return methods.
+    generator._invoke = makeInvokeMethod(innerFn, self, context);
+
+    return generator;
+  }
+  exports.wrap = wrap;
+
+  // Try/catch helper to minimize deoptimizations. Returns a completion
+  // record like context.tryEntries[i].completion. This interface could
+  // have been (and was previously) designed to take a closure to be
+  // invoked without arguments, but in all the cases we care about we
+  // already have an existing method we want to call, so there's no need
+  // to create a new function object. We can even get away with assuming
+  // the method takes exactly one argument, since that happens to be true
+  // in every case, so we don't have to touch the arguments object. The
+  // only additional allocation required is the completion record, which
+  // has a stable shape and so hopefully should be cheap to allocate.
+  function tryCatch(fn, obj, arg) {
+    try {
+      return { type: "normal", arg: fn.call(obj, arg) };
+    } catch (err) {
+      return { type: "throw", arg: err };
+    }
+  }
+
+  var GenStateSuspendedStart = "suspendedStart";
+  var GenStateSuspendedYield = "suspendedYield";
+  var GenStateExecuting = "executing";
+  var GenStateCompleted = "completed";
+
+  // Returning this object from the innerFn has the same effect as
+  // breaking out of the dispatch switch statement.
+  var ContinueSentinel = {};
+
+  // Dummy constructor functions that we use as the .constructor and
+  // .constructor.prototype properties for functions that return Generator
+  // objects. For full spec compliance, you may wish to configure your
+  // minifier not to mangle the names of these two functions.
+  function Generator() {}
+  function GeneratorFunction() {}
+  function GeneratorFunctionPrototype() {}
+
+  // This is a polyfill for %IteratorPrototype% for environments that
+  // don't natively support it.
+  var IteratorPrototype = {};
+  define(IteratorPrototype, iteratorSymbol, function () {
+    return this;
+  });
+
+  var getProto = Object.getPrototypeOf;
+  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
+  if (NativeIteratorPrototype &&
+      NativeIteratorPrototype !== Op &&
+      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
+    // This environment has a native %IteratorPrototype%; use it instead
+    // of the polyfill.
+    IteratorPrototype = NativeIteratorPrototype;
+  }
+
+  var Gp = GeneratorFunctionPrototype.prototype =
+    Generator.prototype = Object.create(IteratorPrototype);
+  GeneratorFunction.prototype = GeneratorFunctionPrototype;
+  define(Gp, "constructor", GeneratorFunctionPrototype);
+  define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
+  GeneratorFunction.displayName = define(
+    GeneratorFunctionPrototype,
+    toStringTagSymbol,
+    "GeneratorFunction"
+  );
+
+  // Helper for defining the .next, .throw, and .return methods of the
+  // Iterator interface in terms of a single ._invoke method.
+  function defineIteratorMethods(prototype) {
+    ["next", "throw", "return"].forEach(function(method) {
+      define(prototype, method, function(arg) {
+        return this._invoke(method, arg);
+      });
+    });
+  }
+
+  exports.isGeneratorFunction = function(genFun) {
+    var ctor = typeof genFun === "function" && genFun.constructor;
+    return ctor
+      ? ctor === GeneratorFunction ||
+        // For the native GeneratorFunction constructor, the best we can
+        // do is to check its .name property.
+        (ctor.displayName || ctor.name) === "GeneratorFunction"
+      : false;
+  };
+
+  exports.mark = function(genFun) {
+    if (Object.setPrototypeOf) {
+      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
+    } else {
+      genFun.__proto__ = GeneratorFunctionPrototype;
+      define(genFun, toStringTagSymbol, "GeneratorFunction");
+    }
+    genFun.prototype = Object.create(Gp);
+    return genFun;
+  };
+
+  // Within the body of any async function, `await x` is transformed to
+  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
+  // `hasOwn.call(value, "__await")` to determine if the yielded value is
+  // meant to be awaited.
+  exports.awrap = function(arg) {
+    return { __await: arg };
+  };
+
+  function AsyncIterator(generator, PromiseImpl) {
+    function invoke(method, arg, resolve, reject) {
+      var record = tryCatch(generator[method], generator, arg);
+      if (record.type === "throw") {
+        reject(record.arg);
+      } else {
+        var result = record.arg;
+        var value = result.value;
+        if (value &&
+            typeof value === "object" &&
+            hasOwn.call(value, "__await")) {
+          return PromiseImpl.resolve(value.__await).then(function(value) {
+            invoke("next", value, resolve, reject);
+          }, function(err) {
+            invoke("throw", err, resolve, reject);
+          });
+        }
+
+        return PromiseImpl.resolve(value).then(function(unwrapped) {
+          // When a yielded Promise is resolved, its final value becomes
+          // the .value of the Promise<{value,done}> result for the
+          // current iteration.
+          result.value = unwrapped;
+          resolve(result);
+        }, function(error) {
+          // If a rejected Promise was yielded, throw the rejection back
+          // into the async generator function so it can be handled there.
+          return invoke("throw", error, resolve, reject);
+        });
+      }
+    }
+
+    var previousPromise;
+
+    function enqueue(method, arg) {
+      function callInvokeWithMethodAndArg() {
+        return new PromiseImpl(function(resolve, reject) {
+          invoke(method, arg, resolve, reject);
+        });
+      }
+
+      return previousPromise =
+        // If enqueue has been called before, then we want to wait until
+        // all previous Promises have been resolved before calling invoke,
+        // so that results are always delivered in the correct order. If
+        // enqueue has not been called before, then it is important to
+        // call invoke immediately, without waiting on a callback to fire,
+        // so that the async generator function has the opportunity to do
+        // any necessary setup in a predictable way. This predictability
+        // is why the Promise constructor synchronously invokes its
+        // executor callback, and why async functions synchronously
+        // execute code before the first await. Since we implement simple
+        // async functions in terms of async generators, it is especially
+        // important to get this right, even though it requires care.
+        previousPromise ? previousPromise.then(
+          callInvokeWithMethodAndArg,
+          // Avoid propagating failures to Promises returned by later
+          // invocations of the iterator.
+          callInvokeWithMethodAndArg
+        ) : callInvokeWithMethodAndArg();
+    }
+
+    // Define the unified helper method that is used to implement .next,
+    // .throw, and .return (see defineIteratorMethods).
+    this._invoke = enqueue;
+  }
+
+  defineIteratorMethods(AsyncIterator.prototype);
+  define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
+    return this;
+  });
+  exports.AsyncIterator = AsyncIterator;
+
+  // Note that simple async functions are implemented on top of
+  // AsyncIterator objects; they just return a Promise for the value of
+  // the final result produced by the iterator.
+  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
+    if (PromiseImpl === void 0) PromiseImpl = Promise;
+
+    var iter = new AsyncIterator(
+      wrap(innerFn, outerFn, self, tryLocsList),
+      PromiseImpl
+    );
+
+    return exports.isGeneratorFunction(outerFn)
+      ? iter // If outerFn is a generator, return the full iterator.
+      : iter.next().then(function(result) {
+          return result.done ? result.value : iter.next();
+        });
+  };
+
+  function makeInvokeMethod(innerFn, self, context) {
+    var state = GenStateSuspendedStart;
+
+    return function invoke(method, arg) {
+      if (state === GenStateExecuting) {
+        throw new Error("Generator is already running");
+      }
+
+      if (state === GenStateCompleted) {
+        if (method === "throw") {
+          throw arg;
+        }
+
+        // Be forgiving, per 25.3.3.3.3 of the spec:
+        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
+        return doneResult();
+      }
+
+      context.method = method;
+      context.arg = arg;
+
+      while (true) {
+        var delegate = context.delegate;
+        if (delegate) {
+          var delegateResult = maybeInvokeDelegate(delegate, context);
+          if (delegateResult) {
+            if (delegateResult === ContinueSentinel) continue;
+            return delegateResult;
+          }
+        }
+
+        if (context.method === "next") {
+          // Setting context._sent for legacy support of Babel's
+          // function.sent implementation.
+          context.sent = context._sent = context.arg;
+
+        } else if (context.method === "throw") {
+          if (state === GenStateSuspendedStart) {
+            state = GenStateCompleted;
+            throw context.arg;
+          }
+
+          context.dispatchException(context.arg);
+
+        } else if (context.method === "return") {
+          context.abrupt("return", context.arg);
+        }
+
+        state = GenStateExecuting;
+
+        var record = tryCatch(innerFn, self, context);
+        if (record.type === "normal") {
+          // If an exception is thrown from innerFn, we leave state ===
+          // GenStateExecuting and loop back for another invocation.
+          state = context.done
+            ? GenStateCompleted
+            : GenStateSuspendedYield;
+
+          if (record.arg === ContinueSentinel) {
+            continue;
+          }
+
+          return {
+            value: record.arg,
+            done: context.done
+          };
+
+        } else if (record.type === "throw") {
+          state = GenStateCompleted;
+          // Dispatch the exception by looping back around to the
+          // context.dispatchException(context.arg) call above.
+          context.method = "throw";
+          context.arg = record.arg;
+        }
+      }
+    };
+  }
+
+  // Call delegate.iterator[context.method](context.arg) and handle the
+  // result, either by returning a { value, done } result from the
+  // delegate iterator, or by modifying context.method and context.arg,
+  // setting context.delegate to null, and returning the ContinueSentinel.
+  function maybeInvokeDelegate(delegate, context) {
+    var method = delegate.iterator[context.method];
+    if (method === undefined) {
+      // A .throw or .return when the delegate iterator has no .throw
+      // method always terminates the yield* loop.
+      context.delegate = null;
+
+      if (context.method === "throw") {
+        // Note: ["return"] must be used for ES3 parsing compatibility.
+        if (delegate.iterator["return"]) {
+          // If the delegate iterator has a return method, give it a
+          // chance to clean up.
+          context.method = "return";
+          context.arg = undefined;
+          maybeInvokeDelegate(delegate, context);
+
+          if (context.method === "throw") {
+            // If maybeInvokeDelegate(context) changed context.method from
+            // "return" to "throw", let that override the TypeError below.
+            return ContinueSentinel;
+          }
+        }
+
+        context.method = "throw";
+        context.arg = new TypeError(
+          "The iterator does not provide a 'throw' method");
+      }
+
+      return ContinueSentinel;
+    }
+
+    var record = tryCatch(method, delegate.iterator, context.arg);
+
+    if (record.type === "throw") {
+      context.method = "throw";
+      context.arg = record.arg;
+      context.delegate = null;
+      return ContinueSentinel;
+    }
+
+    var info = record.arg;
+
+    if (! info) {
+      context.method = "throw";
+      context.arg = new TypeError("iterator result is not an object");
+      context.delegate = null;
+      return ContinueSentinel;
+    }
+
+    if (info.done) {
+      // Assign the result of the finished delegate to the temporary
+      // variable specified by delegate.resultName (see delegateYield).
+      context[delegate.resultName] = info.value;
+
+      // Resume execution at the desired location (see delegateYield).
+      context.next = delegate.nextLoc;
+
+      // If context.method was "throw" but the delegate handled the
+      // exception, let the outer generator proceed normally. If
+      // context.method was "next", forget context.arg since it has been
+      // "consumed" by the delegate iterator. If context.method was
+      // "return", allow the original .return call to continue in the
+      // outer generator.
+      if (context.method !== "return") {
+        context.method = "next";
+        context.arg = undefined;
+      }
+
+    } else {
+      // Re-yield the result returned by the delegate method.
+      return info;
+    }
+
+    // The delegate iterator is finished, so forget it and continue with
+    // the outer generator.
+    context.delegate = null;
+    return ContinueSentinel;
+  }
+
+  // Define Generator.prototype.{next,throw,return} in terms of the
+  // unified ._invoke helper method.
+  defineIteratorMethods(Gp);
+
+  define(Gp, toStringTagSymbol, "Generator");
+
+  // A Generator should always return itself as the iterator object when the
+  // @@iterator function is called on it. Some browsers' implementations of the
+  // iterator prototype chain incorrectly implement this, causing the Generator
+  // object to not be returned from this call. This ensures that doesn't happen.
+  // See https://github.com/facebook/regenerator/issues/274 for more details.
+  define(Gp, iteratorSymbol, function() {
+    return this;
+  });
+
+  define(Gp, "toString", function() {
+    return "[object Generator]";
+  });
+
+  function pushTryEntry(locs) {
+    var entry = { tryLoc: locs[0] };
+
+    if (1 in locs) {
+      entry.catchLoc = locs[1];
+    }
+
+    if (2 in locs) {
+      entry.finallyLoc = locs[2];
+      entry.afterLoc = locs[3];
+    }
+
+    this.tryEntries.push(entry);
+  }
+
+  function resetTryEntry(entry) {
+    var record = entry.completion || {};
+    record.type = "normal";
+    delete record.arg;
+    entry.completion = record;
+  }
+
+  function Context(tryLocsList) {
+    // The root entry object (effectively a try statement without a catch
+    // or a finally block) gives us a place to store values thrown from
+    // locations where there is no enclosing try statement.
+    this.tryEntries = [{ tryLoc: "root" }];
+    tryLocsList.forEach(pushTryEntry, this);
+    this.reset(true);
+  }
+
+  exports.keys = function(object) {
+    var keys = [];
+    for (var key in object) {
+      keys.push(key);
+    }
+    keys.reverse();
+
+    // Rather than returning an object with a next method, we keep
+    // things simple and return the next function itself.
+    return function next() {
+      while (keys.length) {
+        var key = keys.pop();
+        if (key in object) {
+          next.value = key;
+          next.done = false;
+          return next;
+        }
+      }
+
+      // To avoid creating an additional object, we just hang the .value
+      // and .done properties off the next function object itself. This
+      // also ensures that the minifier will not anonymize the function.
+      next.done = true;
+      return next;
+    };
+  };
+
+  function values(iterable) {
+    if (iterable) {
+      var iteratorMethod = iterable[iteratorSymbol];
+      if (iteratorMethod) {
+        return iteratorMethod.call(iterable);
+      }
+
+      if (typeof iterable.next === "function") {
+        return iterable;
+      }
+
+      if (!isNaN(iterable.length)) {
+        var i = -1, next = function next() {
+          while (++i < iterable.length) {
+            if (hasOwn.call(iterable, i)) {
+              next.value = iterable[i];
+              next.done = false;
+              return next;
+            }
+          }
+
+          next.value = undefined;
+          next.done = true;
+
+          return next;
+        };
+
+        return next.next = next;
+      }
+    }
+
+    // Return an iterator with no values.
+    return { next: doneResult };
+  }
+  exports.values = values;
+
+  function doneResult() {
+    return { value: undefined, done: true };
+  }
+
+  Context.prototype = {
+    constructor: Context,
+
+    reset: function(skipTempReset) {
+      this.prev = 0;
+      this.next = 0;
+      // Resetting context._sent for legacy support of Babel's
+      // function.sent implementation.
+      this.sent = this._sent = undefined;
+      this.done = false;
+      this.delegate = null;
+
+      this.method = "next";
+      this.arg = undefined;
+
+      this.tryEntries.forEach(resetTryEntry);
+
+      if (!skipTempReset) {
+        for (var name in this) {
+          // Not sure about the optimal order of these conditions:
+          if (name.charAt(0) === "t" &&
+              hasOwn.call(this, name) &&
+              !isNaN(+name.slice(1))) {
+            this[name] = undefined;
+          }
+        }
+      }
+    },
+
+    stop: function() {
+      this.done = true;
+
+      var rootEntry = this.tryEntries[0];
+      var rootRecord = rootEntry.completion;
+      if (rootRecord.type === "throw") {
+        throw rootRecord.arg;
+      }
+
+      return this.rval;
+    },
+
+    dispatchException: function(exception) {
+      if (this.done) {
+        throw exception;
+      }
+
+      var context = this;
+      function handle(loc, caught) {
+        record.type = "throw";
+        record.arg = exception;
+        context.next = loc;
+
+        if (caught) {
+          // If the dispatched exception was caught by a catch block,
+          // then let that catch block handle the exception normally.
+          context.method = "next";
+          context.arg = undefined;
+        }
+
+        return !! caught;
+      }
+
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        var record = entry.completion;
+
+        if (entry.tryLoc === "root") {
+          // Exception thrown outside of any try block that could handle
+          // it, so set the completion value of the entire function to
+          // throw the exception.
+          return handle("end");
+        }
+
+        if (entry.tryLoc <= this.prev) {
+          var hasCatch = hasOwn.call(entry, "catchLoc");
+          var hasFinally = hasOwn.call(entry, "finallyLoc");
+
+          if (hasCatch && hasFinally) {
+            if (this.prev < entry.catchLoc) {
+              return handle(entry.catchLoc, true);
+            } else if (this.prev < entry.finallyLoc) {
+              return handle(entry.finallyLoc);
+            }
+
+          } else if (hasCatch) {
+            if (this.prev < entry.catchLoc) {
+              return handle(entry.catchLoc, true);
+            }
+
+          } else if (hasFinally) {
+            if (this.prev < entry.finallyLoc) {
+              return handle(entry.finallyLoc);
+            }
+
+          } else {
+            throw new Error("try statement without catch or finally");
+          }
+        }
+      }
+    },
+
+    abrupt: function(type, arg) {
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        if (entry.tryLoc <= this.prev &&
+            hasOwn.call(entry, "finallyLoc") &&
+            this.prev < entry.finallyLoc) {
+          var finallyEntry = entry;
+          break;
+        }
+      }
+
+      if (finallyEntry &&
+          (type === "break" ||
+           type === "continue") &&
+          finallyEntry.tryLoc <= arg &&
+          arg <= finallyEntry.finallyLoc) {
+        // Ignore the finally entry if control is not jumping to a
+        // location outside the try/catch block.
+        finallyEntry = null;
+      }
+
+      var record = finallyEntry ? finallyEntry.completion : {};
+      record.type = type;
+      record.arg = arg;
+
+      if (finallyEntry) {
+        this.method = "next";
+        this.next = finallyEntry.finallyLoc;
+        return ContinueSentinel;
+      }
+
+      return this.complete(record);
+    },
+
+    complete: function(record, afterLoc) {
+      if (record.type === "throw") {
+        throw record.arg;
+      }
+
+      if (record.type === "break" ||
+          record.type === "continue") {
+        this.next = record.arg;
+      } else if (record.type === "return") {
+        this.rval = this.arg = record.arg;
+        this.method = "return";
+        this.next = "end";
+      } else if (record.type === "normal" && afterLoc) {
+        this.next = afterLoc;
+      }
+
+      return ContinueSentinel;
+    },
+
+    finish: function(finallyLoc) {
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        if (entry.finallyLoc === finallyLoc) {
+          this.complete(entry.completion, entry.afterLoc);
+          resetTryEntry(entry);
+          return ContinueSentinel;
+        }
+      }
+    },
+
+    "catch": function(tryLoc) {
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        if (entry.tryLoc === tryLoc) {
+          var record = entry.completion;
+          if (record.type === "throw") {
+            var thrown = record.arg;
+            resetTryEntry(entry);
+          }
+          return thrown;
+        }
+      }
+
+      // The context.catch method must only be called with a location
+      // argument that corresponds to a known catch block.
+      throw new Error("illegal catch attempt");
+    },
+
+    delegateYield: function(iterable, resultName, nextLoc) {
+      this.delegate = {
+        iterator: values(iterable),
+        resultName: resultName,
+        nextLoc: nextLoc
+      };
+
+      if (this.method === "next") {
+        // Deliberately forget the last sent value so that we don't
+        // accidentally pass it on to the delegate.
+        this.arg = undefined;
+      }
+
+      return ContinueSentinel;
+    }
+  };
+
+  // Regardless of whether this script is executing as a CommonJS module
+  // or not, return the runtime object so that we can declare the variable
+  // regeneratorRuntime in the outer scope, which allows this module to be
+  // injected easily by `bin/regenerator --include-runtime script.js`.
+  return exports;
+
+}(
+  // If this script is executing as a CommonJS module, use module.exports
+  // as the regeneratorRuntime namespace. Otherwise create a new empty
+  // object. Either way, the resulting object will be used to initialize
+  // the regeneratorRuntime variable at the top of this file.
+   true ? module.exports : undefined
+));
+
+try {
+  regeneratorRuntime = runtime;
+} catch (accidentalStrictMode) {
+  // This module should not be running in strict mode, so the above
+  // assignment should always work unless something is misconfigured. Just
+  // in case runtime.js accidentally runs in strict mode, in modern engines
+  // we can explicitly access globalThis. In older engines we can escape
+  // strict mode using a global Function call. This could conceivably fail
+  // if a Content Security Policy forbids using Function, but in that case
+  // the proper solution is to fix the accidental strict mode problem. If
+  // you've misconfigured your bundler to force strict mode and applied a
+  // CSP to forbid Function, and you're not willing to fix either of those
+  // problems, please detail your unique predicament in a GitHub issue.
+  if (typeof globalThis === "object") {
+    globalThis.regeneratorRuntime = runtime;
+  } else {
+    Function("r", "regeneratorRuntime = r")(runtime);
+  }
+}
+
+
 /***/ }),
 
 /***/ "758L":
@@ -63101,12 +63862,12 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(styles, "styles", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
-  reactHotLoader.register(ESC_KEYCODE, "ESC_KEYCODE", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
-  reactHotLoader.register(nonDOMProps, "nonDOMProps", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
-  reactHotLoader.register(bodyTallerThanWindow, "bodyTallerThanWindow", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
-  reactHotLoader.register(Overlay, "Overlay", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
+  reactHotLoader.register(styles, "styles", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
+  reactHotLoader.register(ESC_KEYCODE, "ESC_KEYCODE", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
+  reactHotLoader.register(nonDOMProps, "nonDOMProps", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
+  reactHotLoader.register(bodyTallerThanWindow, "bodyTallerThanWindow", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
+  reactHotLoader.register(Overlay, "Overlay", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Overlay/index.js");
 })();
 
 ;
@@ -67495,13 +68256,13 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(large, "large", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
-  reactHotLoader.register(medium, "medium", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
-  reactHotLoader.register(small, "small", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
-  reactHotLoader.register(tiny, "tiny", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
-  reactHotLoader.register(breakpoints, "breakpoints", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
-  reactHotLoader.register(getBreakpointsStatus, "getBreakpointsStatus", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
+  reactHotLoader.register(large, "large", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
+  reactHotLoader.register(medium, "medium", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
+  reactHotLoader.register(small, "small", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
+  reactHotLoader.register(tiny, "tiny", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
+  reactHotLoader.register(breakpoints, "breakpoints", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
+  reactHotLoader.register(getBreakpointsStatus, "getBreakpointsStatus", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/breakpoints.js");
 })();
 
 ;
@@ -73668,8 +74429,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(withLocales, "withLocales", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/withLocales.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/withLocales.js");
+  reactHotLoader.register(withLocales, "withLocales", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/withLocales.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/withLocales.js");
 })();
 
 ;
@@ -81297,7 +82058,7 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/TextField/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/TextField/index.js");
 })();
 
 ;
@@ -81649,7 +82410,7 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/DialogActions.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/DialogActions.js");
 })();
 
 ;
@@ -96588,8 +97349,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SvgKeychain, "SvgKeychain", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Keychain.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Keychain.js");
+  reactHotLoader.register(SvgKeychain, "SvgKeychain", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Keychain.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Keychain.js");
 })();
 
 ;
@@ -96696,8 +97457,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(FixedDialog, "FixedDialog", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/FixedDialog.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/FixedDialog.js");
+  reactHotLoader.register(FixedDialog, "FixedDialog", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/FixedDialog.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/FixedDialog.js");
 })();
 
 ;
@@ -118492,8 +119253,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(TopAnchoredDialog, "TopAnchoredDialog", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/TopAnchoredDialog.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/TopAnchoredDialog.js");
+  reactHotLoader.register(TopAnchoredDialog, "TopAnchoredDialog", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/TopAnchoredDialog.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/TopAnchoredDialog.js");
 })();
 
 ;
@@ -118762,17 +119523,17 @@ ButtonLink.defaultProps = {
     return;
   }
 
-  reactHotLoader.register(styles, "styles", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
-  reactHotLoader.register(btnClass, "btnClass", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
-  reactHotLoader.register(transformToAria, "transformToAria", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
-  reactHotLoader.register(tagToTransformProps, "tagToTransformProps", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
-  reactHotLoader.register(identity, "identity", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
-  reactHotLoader.register(sizeToIconSize, "sizeToIconSize", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
-  reactHotLoader.register(BaseButton, "BaseButton", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
-  reactHotLoader.register(Button, "Button", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
-  reactHotLoader.register(ButtonLink, "ButtonLink", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
-  reactHotLoader.register(DefaultButton, "DefaultButton", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
+  reactHotLoader.register(styles, "styles", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
+  reactHotLoader.register(btnClass, "btnClass", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
+  reactHotLoader.register(transformToAria, "transformToAria", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
+  reactHotLoader.register(tagToTransformProps, "tagToTransformProps", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
+  reactHotLoader.register(identity, "identity", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
+  reactHotLoader.register(sizeToIconSize, "sizeToIconSize", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
+  reactHotLoader.register(BaseButton, "BaseButton", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
+  reactHotLoader.register(Button, "Button", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
+  reactHotLoader.register(ButtonLink, "ButtonLink", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
+  reactHotLoader.register(DefaultButton, "DefaultButton", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Button/index.js");
 })();
 
 ;
@@ -121846,8 +122607,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SvgEye, "SvgEye", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Eye.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Eye.js");
+  reactHotLoader.register(SvgEye, "SvgEye", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Eye.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Eye.js");
 })();
 
 ;
@@ -147041,8 +147802,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SvgEyeClosed, "SvgEyeClosed", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/EyeClosed.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/EyeClosed.js");
+  reactHotLoader.register(SvgEyeClosed, "SvgEyeClosed", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/EyeClosed.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/EyeClosed.js");
 })();
 
 ;
@@ -149764,9 +150525,9 @@ exports.DeprecatedDivider = DeprecatedDivider;
     return;
   }
 
-  reactHotLoader.register(_root, "_root", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/Divider/index.js");
-  reactHotLoader.register(DeprecatedDivider, "DeprecatedDivider", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/Divider/index.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/Divider/index.js");
+  reactHotLoader.register(_root, "_root", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/Divider/index.js");
+  reactHotLoader.register(DeprecatedDivider, "DeprecatedDivider", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/Divider/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/Divider/index.js");
 })();
 
 ;
@@ -161267,9 +162028,9 @@ exports.extend = extend;
     return;
   }
 
-  reactHotLoader.register(_polyglot, "_polyglot", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/translation.js");
-  reactHotLoader.register(initTranslation, "initTranslation", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/translation.js");
-  reactHotLoader.register(extend, "extend", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/translation.js");
+  reactHotLoader.register(_polyglot, "_polyglot", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/translation.js");
+  reactHotLoader.register(initTranslation, "initTranslation", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/translation.js");
+  reactHotLoader.register(extend, "extend", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/translation.js");
 })();
 
 ;
@@ -162100,8 +162861,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(AccordionExpandIcon, "AccordionExpandIcon", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/AccordionExpandIcon.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/AccordionExpandIcon.js");
+  reactHotLoader.register(AccordionExpandIcon, "AccordionExpandIcon", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/AccordionExpandIcon.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/AccordionExpandIcon.js");
 })();
 
 ;
@@ -162468,7 +163229,7 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/DialogTitle.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/DialogTitle.js");
 })();
 
 ;
@@ -168068,8 +168829,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DialogTransition, "DialogTransition", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogTransition.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogTransition.js");
+  reactHotLoader.register(DialogTransition, "DialogTransition", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogTransition.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogTransition.js");
 })();
 
 ;
@@ -169539,8 +170300,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SvgPrevious, "SvgPrevious", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Previous.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Previous.js");
+  reactHotLoader.register(SvgPrevious, "SvgPrevious", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Previous.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Previous.js");
 })();
 
 ;
@@ -184849,9 +185610,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(styles, "styles", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Spinner/index.js");
-  reactHotLoader.register(Spinner, "Spinner", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Spinner/index.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Spinner/index.js");
+  reactHotLoader.register(styles, "styles", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Spinner/index.js");
+  reactHotLoader.register(Spinner, "Spinner", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Spinner/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Spinner/index.js");
 })();
 
 ;
@@ -191185,10 +191946,10 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(styles, "styles", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogCloseButton.js");
-  reactHotLoader.register(useI18n, "useI18n", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogCloseButton.js");
-  reactHotLoader.register(CloseButton, "CloseButton", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogCloseButton.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogCloseButton.js");
+  reactHotLoader.register(styles, "styles", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogCloseButton.js");
+  reactHotLoader.register(useI18n, "useI18n", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogCloseButton.js");
+  reactHotLoader.register(CloseButton, "CloseButton", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogCloseButton.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/DialogCloseButton.js");
 })();
 
 ;
@@ -209035,8 +209796,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SvgCrossMedium, "SvgCrossMedium", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/CrossMedium.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/CrossMedium.js");
+  reactHotLoader.register(SvgCrossMedium, "SvgCrossMedium", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/CrossMedium.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/CrossMedium.js");
 })();
 
 ;
@@ -209744,13 +210505,13 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(DEFAULT_LANG, "DEFAULT_LANG", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
-  reactHotLoader.register(I18nContext, "I18nContext", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
-  reactHotLoader.register(I18n, "I18n", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
-  reactHotLoader.register(translate, "translate", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
-  reactHotLoader.register(useI18n, "useI18n", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
-  reactHotLoader.register(createUseI18n, "createUseI18n", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
+  reactHotLoader.register(DEFAULT_LANG, "DEFAULT_LANG", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
+  reactHotLoader.register(I18nContext, "I18nContext", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
+  reactHotLoader.register(I18n, "I18n", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
+  reactHotLoader.register(translate, "translate", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
+  reactHotLoader.register(useI18n, "useI18n", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
+  reactHotLoader.register(createUseI18n, "createUseI18n", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/I18n/index.js");
 })();
 
 ;
@@ -211823,7 +212584,7 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Typography/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Typography/index.js");
 })();
 
 ;
@@ -212286,7 +213047,7 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/dialogPropTypes.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/dialogPropTypes.js");
 })();
 
 ;
@@ -219845,8 +220606,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(ConfirmDialog, "ConfirmDialog", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/ConfirmDialog.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/ConfirmDialog.js");
+  reactHotLoader.register(ConfirmDialog, "ConfirmDialog", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/ConfirmDialog.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/ConfirmDialog.js");
 })();
 
 ;
@@ -224707,7 +225468,7 @@ __webpack_require__("TIpR");
 
 __webpack_require__("FxUG");
 
-__webpack_require__("ls82");
+__webpack_require__("74pp");
 
 /***/ }),
 
@@ -232525,8 +233286,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SvgSpinner, "SvgSpinner", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Spinner.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Spinner.js");
+  reactHotLoader.register(SvgSpinner, "SvgSpinner", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Spinner.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Spinner.js");
 })();
 
 ;
@@ -236511,10 +237272,10 @@ Layout.defaultProps = {
     return;
   }
 
-  reactHotLoader.register(styles, "styles", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Layout/Layout.js");
-  reactHotLoader.register(Layout, "Layout", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Layout/Layout.js");
-  reactHotLoader.register(Main, "Main", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Layout/Layout.js");
-  reactHotLoader.register(Content, "Content", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Layout/Layout.js");
+  reactHotLoader.register(styles, "styles", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Layout/Layout.js");
+  reactHotLoader.register(Layout, "Layout", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Layout/Layout.js");
+  reactHotLoader.register(Main, "Main", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Layout/Layout.js");
+  reactHotLoader.register(Content, "Content", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Layout/Layout.js");
 })();
 
 ;
@@ -244315,7 +245076,7 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/IconButton/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/IconButton/index.js");
 })();
 
 ;
@@ -265376,9 +266137,9 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(displayNone, "displayNone", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/Sprite.js");
-  reactHotLoader.register(IconSprite, "IconSprite", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/Sprite.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/Sprite.js");
+  reactHotLoader.register(displayNone, "displayNone", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/Sprite.js");
+  reactHotLoader.register(IconSprite, "IconSprite", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/Sprite.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/Sprite.js");
 })();
 
 ;
@@ -266022,767 +266783,6 @@ module.exports = {
 };
 
 
-/***/ }),
-
-/***/ "ls82":
-/***/ (function(module, exports, __webpack_require__) {
-
-/**
- * Copyright (c) 2014-present, Facebook, Inc.
- *
- * This source code is licensed under the MIT license found in the
- * LICENSE file in the root directory of this source tree.
- */
-
-var runtime = (function (exports) {
-  "use strict";
-
-  var Op = Object.prototype;
-  var hasOwn = Op.hasOwnProperty;
-  var undefined; // More compressible than void 0.
-  var $Symbol = typeof Symbol === "function" ? Symbol : {};
-  var iteratorSymbol = $Symbol.iterator || "@@iterator";
-  var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
-  var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
-
-  function define(obj, key, value) {
-    Object.defineProperty(obj, key, {
-      value: value,
-      enumerable: true,
-      configurable: true,
-      writable: true
-    });
-    return obj[key];
-  }
-  try {
-    // IE 8 has a broken Object.defineProperty that only works on DOM objects.
-    define({}, "");
-  } catch (err) {
-    define = function(obj, key, value) {
-      return obj[key] = value;
-    };
-  }
-
-  function wrap(innerFn, outerFn, self, tryLocsList) {
-    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
-    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
-    var generator = Object.create(protoGenerator.prototype);
-    var context = new Context(tryLocsList || []);
-
-    // The ._invoke method unifies the implementations of the .next,
-    // .throw, and .return methods.
-    generator._invoke = makeInvokeMethod(innerFn, self, context);
-
-    return generator;
-  }
-  exports.wrap = wrap;
-
-  // Try/catch helper to minimize deoptimizations. Returns a completion
-  // record like context.tryEntries[i].completion. This interface could
-  // have been (and was previously) designed to take a closure to be
-  // invoked without arguments, but in all the cases we care about we
-  // already have an existing method we want to call, so there's no need
-  // to create a new function object. We can even get away with assuming
-  // the method takes exactly one argument, since that happens to be true
-  // in every case, so we don't have to touch the arguments object. The
-  // only additional allocation required is the completion record, which
-  // has a stable shape and so hopefully should be cheap to allocate.
-  function tryCatch(fn, obj, arg) {
-    try {
-      return { type: "normal", arg: fn.call(obj, arg) };
-    } catch (err) {
-      return { type: "throw", arg: err };
-    }
-  }
-
-  var GenStateSuspendedStart = "suspendedStart";
-  var GenStateSuspendedYield = "suspendedYield";
-  var GenStateExecuting = "executing";
-  var GenStateCompleted = "completed";
-
-  // Returning this object from the innerFn has the same effect as
-  // breaking out of the dispatch switch statement.
-  var ContinueSentinel = {};
-
-  // Dummy constructor functions that we use as the .constructor and
-  // .constructor.prototype properties for functions that return Generator
-  // objects. For full spec compliance, you may wish to configure your
-  // minifier not to mangle the names of these two functions.
-  function Generator() {}
-  function GeneratorFunction() {}
-  function GeneratorFunctionPrototype() {}
-
-  // This is a polyfill for %IteratorPrototype% for environments that
-  // don't natively support it.
-  var IteratorPrototype = {};
-  define(IteratorPrototype, iteratorSymbol, function () {
-    return this;
-  });
-
-  var getProto = Object.getPrototypeOf;
-  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
-  if (NativeIteratorPrototype &&
-      NativeIteratorPrototype !== Op &&
-      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
-    // This environment has a native %IteratorPrototype%; use it instead
-    // of the polyfill.
-    IteratorPrototype = NativeIteratorPrototype;
-  }
-
-  var Gp = GeneratorFunctionPrototype.prototype =
-    Generator.prototype = Object.create(IteratorPrototype);
-  GeneratorFunction.prototype = GeneratorFunctionPrototype;
-  define(Gp, "constructor", GeneratorFunctionPrototype);
-  define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
-  GeneratorFunction.displayName = define(
-    GeneratorFunctionPrototype,
-    toStringTagSymbol,
-    "GeneratorFunction"
-  );
-
-  // Helper for defining the .next, .throw, and .return methods of the
-  // Iterator interface in terms of a single ._invoke method.
-  function defineIteratorMethods(prototype) {
-    ["next", "throw", "return"].forEach(function(method) {
-      define(prototype, method, function(arg) {
-        return this._invoke(method, arg);
-      });
-    });
-  }
-
-  exports.isGeneratorFunction = function(genFun) {
-    var ctor = typeof genFun === "function" && genFun.constructor;
-    return ctor
-      ? ctor === GeneratorFunction ||
-        // For the native GeneratorFunction constructor, the best we can
-        // do is to check its .name property.
-        (ctor.displayName || ctor.name) === "GeneratorFunction"
-      : false;
-  };
-
-  exports.mark = function(genFun) {
-    if (Object.setPrototypeOf) {
-      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
-    } else {
-      genFun.__proto__ = GeneratorFunctionPrototype;
-      define(genFun, toStringTagSymbol, "GeneratorFunction");
-    }
-    genFun.prototype = Object.create(Gp);
-    return genFun;
-  };
-
-  // Within the body of any async function, `await x` is transformed to
-  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
-  // `hasOwn.call(value, "__await")` to determine if the yielded value is
-  // meant to be awaited.
-  exports.awrap = function(arg) {
-    return { __await: arg };
-  };
-
-  function AsyncIterator(generator, PromiseImpl) {
-    function invoke(method, arg, resolve, reject) {
-      var record = tryCatch(generator[method], generator, arg);
-      if (record.type === "throw") {
-        reject(record.arg);
-      } else {
-        var result = record.arg;
-        var value = result.value;
-        if (value &&
-            typeof value === "object" &&
-            hasOwn.call(value, "__await")) {
-          return PromiseImpl.resolve(value.__await).then(function(value) {
-            invoke("next", value, resolve, reject);
-          }, function(err) {
-            invoke("throw", err, resolve, reject);
-          });
-        }
-
-        return PromiseImpl.resolve(value).then(function(unwrapped) {
-          // When a yielded Promise is resolved, its final value becomes
-          // the .value of the Promise<{value,done}> result for the
-          // current iteration.
-          result.value = unwrapped;
-          resolve(result);
-        }, function(error) {
-          // If a rejected Promise was yielded, throw the rejection back
-          // into the async generator function so it can be handled there.
-          return invoke("throw", error, resolve, reject);
-        });
-      }
-    }
-
-    var previousPromise;
-
-    function enqueue(method, arg) {
-      function callInvokeWithMethodAndArg() {
-        return new PromiseImpl(function(resolve, reject) {
-          invoke(method, arg, resolve, reject);
-        });
-      }
-
-      return previousPromise =
-        // If enqueue has been called before, then we want to wait until
-        // all previous Promises have been resolved before calling invoke,
-        // so that results are always delivered in the correct order. If
-        // enqueue has not been called before, then it is important to
-        // call invoke immediately, without waiting on a callback to fire,
-        // so that the async generator function has the opportunity to do
-        // any necessary setup in a predictable way. This predictability
-        // is why the Promise constructor synchronously invokes its
-        // executor callback, and why async functions synchronously
-        // execute code before the first await. Since we implement simple
-        // async functions in terms of async generators, it is especially
-        // important to get this right, even though it requires care.
-        previousPromise ? previousPromise.then(
-          callInvokeWithMethodAndArg,
-          // Avoid propagating failures to Promises returned by later
-          // invocations of the iterator.
-          callInvokeWithMethodAndArg
-        ) : callInvokeWithMethodAndArg();
-    }
-
-    // Define the unified helper method that is used to implement .next,
-    // .throw, and .return (see defineIteratorMethods).
-    this._invoke = enqueue;
-  }
-
-  defineIteratorMethods(AsyncIterator.prototype);
-  define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
-    return this;
-  });
-  exports.AsyncIterator = AsyncIterator;
-
-  // Note that simple async functions are implemented on top of
-  // AsyncIterator objects; they just return a Promise for the value of
-  // the final result produced by the iterator.
-  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
-    if (PromiseImpl === void 0) PromiseImpl = Promise;
-
-    var iter = new AsyncIterator(
-      wrap(innerFn, outerFn, self, tryLocsList),
-      PromiseImpl
-    );
-
-    return exports.isGeneratorFunction(outerFn)
-      ? iter // If outerFn is a generator, return the full iterator.
-      : iter.next().then(function(result) {
-          return result.done ? result.value : iter.next();
-        });
-  };
-
-  function makeInvokeMethod(innerFn, self, context) {
-    var state = GenStateSuspendedStart;
-
-    return function invoke(method, arg) {
-      if (state === GenStateExecuting) {
-        throw new Error("Generator is already running");
-      }
-
-      if (state === GenStateCompleted) {
-        if (method === "throw") {
-          throw arg;
-        }
-
-        // Be forgiving, per 25.3.3.3.3 of the spec:
-        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
-        return doneResult();
-      }
-
-      context.method = method;
-      context.arg = arg;
-
-      while (true) {
-        var delegate = context.delegate;
-        if (delegate) {
-          var delegateResult = maybeInvokeDelegate(delegate, context);
-          if (delegateResult) {
-            if (delegateResult === ContinueSentinel) continue;
-            return delegateResult;
-          }
-        }
-
-        if (context.method === "next") {
-          // Setting context._sent for legacy support of Babel's
-          // function.sent implementation.
-          context.sent = context._sent = context.arg;
-
-        } else if (context.method === "throw") {
-          if (state === GenStateSuspendedStart) {
-            state = GenStateCompleted;
-            throw context.arg;
-          }
-
-          context.dispatchException(context.arg);
-
-        } else if (context.method === "return") {
-          context.abrupt("return", context.arg);
-        }
-
-        state = GenStateExecuting;
-
-        var record = tryCatch(innerFn, self, context);
-        if (record.type === "normal") {
-          // If an exception is thrown from innerFn, we leave state ===
-          // GenStateExecuting and loop back for another invocation.
-          state = context.done
-            ? GenStateCompleted
-            : GenStateSuspendedYield;
-
-          if (record.arg === ContinueSentinel) {
-            continue;
-          }
-
-          return {
-            value: record.arg,
-            done: context.done
-          };
-
-        } else if (record.type === "throw") {
-          state = GenStateCompleted;
-          // Dispatch the exception by looping back around to the
-          // context.dispatchException(context.arg) call above.
-          context.method = "throw";
-          context.arg = record.arg;
-        }
-      }
-    };
-  }
-
-  // Call delegate.iterator[context.method](context.arg) and handle the
-  // result, either by returning a { value, done } result from the
-  // delegate iterator, or by modifying context.method and context.arg,
-  // setting context.delegate to null, and returning the ContinueSentinel.
-  function maybeInvokeDelegate(delegate, context) {
-    var method = delegate.iterator[context.method];
-    if (method === undefined) {
-      // A .throw or .return when the delegate iterator has no .throw
-      // method always terminates the yield* loop.
-      context.delegate = null;
-
-      if (context.method === "throw") {
-        // Note: ["return"] must be used for ES3 parsing compatibility.
-        if (delegate.iterator["return"]) {
-          // If the delegate iterator has a return method, give it a
-          // chance to clean up.
-          context.method = "return";
-          context.arg = undefined;
-          maybeInvokeDelegate(delegate, context);
-
-          if (context.method === "throw") {
-            // If maybeInvokeDelegate(context) changed context.method from
-            // "return" to "throw", let that override the TypeError below.
-            return ContinueSentinel;
-          }
-        }
-
-        context.method = "throw";
-        context.arg = new TypeError(
-          "The iterator does not provide a 'throw' method");
-      }
-
-      return ContinueSentinel;
-    }
-
-    var record = tryCatch(method, delegate.iterator, context.arg);
-
-    if (record.type === "throw") {
-      context.method = "throw";
-      context.arg = record.arg;
-      context.delegate = null;
-      return ContinueSentinel;
-    }
-
-    var info = record.arg;
-
-    if (! info) {
-      context.method = "throw";
-      context.arg = new TypeError("iterator result is not an object");
-      context.delegate = null;
-      return ContinueSentinel;
-    }
-
-    if (info.done) {
-      // Assign the result of the finished delegate to the temporary
-      // variable specified by delegate.resultName (see delegateYield).
-      context[delegate.resultName] = info.value;
-
-      // Resume execution at the desired location (see delegateYield).
-      context.next = delegate.nextLoc;
-
-      // If context.method was "throw" but the delegate handled the
-      // exception, let the outer generator proceed normally. If
-      // context.method was "next", forget context.arg since it has been
-      // "consumed" by the delegate iterator. If context.method was
-      // "return", allow the original .return call to continue in the
-      // outer generator.
-      if (context.method !== "return") {
-        context.method = "next";
-        context.arg = undefined;
-      }
-
-    } else {
-      // Re-yield the result returned by the delegate method.
-      return info;
-    }
-
-    // The delegate iterator is finished, so forget it and continue with
-    // the outer generator.
-    context.delegate = null;
-    return ContinueSentinel;
-  }
-
-  // Define Generator.prototype.{next,throw,return} in terms of the
-  // unified ._invoke helper method.
-  defineIteratorMethods(Gp);
-
-  define(Gp, toStringTagSymbol, "Generator");
-
-  // A Generator should always return itself as the iterator object when the
-  // @@iterator function is called on it. Some browsers' implementations of the
-  // iterator prototype chain incorrectly implement this, causing the Generator
-  // object to not be returned from this call. This ensures that doesn't happen.
-  // See https://github.com/facebook/regenerator/issues/274 for more details.
-  define(Gp, iteratorSymbol, function() {
-    return this;
-  });
-
-  define(Gp, "toString", function() {
-    return "[object Generator]";
-  });
-
-  function pushTryEntry(locs) {
-    var entry = { tryLoc: locs[0] };
-
-    if (1 in locs) {
-      entry.catchLoc = locs[1];
-    }
-
-    if (2 in locs) {
-      entry.finallyLoc = locs[2];
-      entry.afterLoc = locs[3];
-    }
-
-    this.tryEntries.push(entry);
-  }
-
-  function resetTryEntry(entry) {
-    var record = entry.completion || {};
-    record.type = "normal";
-    delete record.arg;
-    entry.completion = record;
-  }
-
-  function Context(tryLocsList) {
-    // The root entry object (effectively a try statement without a catch
-    // or a finally block) gives us a place to store values thrown from
-    // locations where there is no enclosing try statement.
-    this.tryEntries = [{ tryLoc: "root" }];
-    tryLocsList.forEach(pushTryEntry, this);
-    this.reset(true);
-  }
-
-  exports.keys = function(object) {
-    var keys = [];
-    for (var key in object) {
-      keys.push(key);
-    }
-    keys.reverse();
-
-    // Rather than returning an object with a next method, we keep
-    // things simple and return the next function itself.
-    return function next() {
-      while (keys.length) {
-        var key = keys.pop();
-        if (key in object) {
-          next.value = key;
-          next.done = false;
-          return next;
-        }
-      }
-
-      // To avoid creating an additional object, we just hang the .value
-      // and .done properties off the next function object itself. This
-      // also ensures that the minifier will not anonymize the function.
-      next.done = true;
-      return next;
-    };
-  };
-
-  function values(iterable) {
-    if (iterable) {
-      var iteratorMethod = iterable[iteratorSymbol];
-      if (iteratorMethod) {
-        return iteratorMethod.call(iterable);
-      }
-
-      if (typeof iterable.next === "function") {
-        return iterable;
-      }
-
-      if (!isNaN(iterable.length)) {
-        var i = -1, next = function next() {
-          while (++i < iterable.length) {
-            if (hasOwn.call(iterable, i)) {
-              next.value = iterable[i];
-              next.done = false;
-              return next;
-            }
-          }
-
-          next.value = undefined;
-          next.done = true;
-
-          return next;
-        };
-
-        return next.next = next;
-      }
-    }
-
-    // Return an iterator with no values.
-    return { next: doneResult };
-  }
-  exports.values = values;
-
-  function doneResult() {
-    return { value: undefined, done: true };
-  }
-
-  Context.prototype = {
-    constructor: Context,
-
-    reset: function(skipTempReset) {
-      this.prev = 0;
-      this.next = 0;
-      // Resetting context._sent for legacy support of Babel's
-      // function.sent implementation.
-      this.sent = this._sent = undefined;
-      this.done = false;
-      this.delegate = null;
-
-      this.method = "next";
-      this.arg = undefined;
-
-      this.tryEntries.forEach(resetTryEntry);
-
-      if (!skipTempReset) {
-        for (var name in this) {
-          // Not sure about the optimal order of these conditions:
-          if (name.charAt(0) === "t" &&
-              hasOwn.call(this, name) &&
-              !isNaN(+name.slice(1))) {
-            this[name] = undefined;
-          }
-        }
-      }
-    },
-
-    stop: function() {
-      this.done = true;
-
-      var rootEntry = this.tryEntries[0];
-      var rootRecord = rootEntry.completion;
-      if (rootRecord.type === "throw") {
-        throw rootRecord.arg;
-      }
-
-      return this.rval;
-    },
-
-    dispatchException: function(exception) {
-      if (this.done) {
-        throw exception;
-      }
-
-      var context = this;
-      function handle(loc, caught) {
-        record.type = "throw";
-        record.arg = exception;
-        context.next = loc;
-
-        if (caught) {
-          // If the dispatched exception was caught by a catch block,
-          // then let that catch block handle the exception normally.
-          context.method = "next";
-          context.arg = undefined;
-        }
-
-        return !! caught;
-      }
-
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-        var record = entry.completion;
-
-        if (entry.tryLoc === "root") {
-          // Exception thrown outside of any try block that could handle
-          // it, so set the completion value of the entire function to
-          // throw the exception.
-          return handle("end");
-        }
-
-        if (entry.tryLoc <= this.prev) {
-          var hasCatch = hasOwn.call(entry, "catchLoc");
-          var hasFinally = hasOwn.call(entry, "finallyLoc");
-
-          if (hasCatch && hasFinally) {
-            if (this.prev < entry.catchLoc) {
-              return handle(entry.catchLoc, true);
-            } else if (this.prev < entry.finallyLoc) {
-              return handle(entry.finallyLoc);
-            }
-
-          } else if (hasCatch) {
-            if (this.prev < entry.catchLoc) {
-              return handle(entry.catchLoc, true);
-            }
-
-          } else if (hasFinally) {
-            if (this.prev < entry.finallyLoc) {
-              return handle(entry.finallyLoc);
-            }
-
-          } else {
-            throw new Error("try statement without catch or finally");
-          }
-        }
-      }
-    },
-
-    abrupt: function(type, arg) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-        if (entry.tryLoc <= this.prev &&
-            hasOwn.call(entry, "finallyLoc") &&
-            this.prev < entry.finallyLoc) {
-          var finallyEntry = entry;
-          break;
-        }
-      }
-
-      if (finallyEntry &&
-          (type === "break" ||
-           type === "continue") &&
-          finallyEntry.tryLoc <= arg &&
-          arg <= finallyEntry.finallyLoc) {
-        // Ignore the finally entry if control is not jumping to a
-        // location outside the try/catch block.
-        finallyEntry = null;
-      }
-
-      var record = finallyEntry ? finallyEntry.completion : {};
-      record.type = type;
-      record.arg = arg;
-
-      if (finallyEntry) {
-        this.method = "next";
-        this.next = finallyEntry.finallyLoc;
-        return ContinueSentinel;
-      }
-
-      return this.complete(record);
-    },
-
-    complete: function(record, afterLoc) {
-      if (record.type === "throw") {
-        throw record.arg;
-      }
-
-      if (record.type === "break" ||
-          record.type === "continue") {
-        this.next = record.arg;
-      } else if (record.type === "return") {
-        this.rval = this.arg = record.arg;
-        this.method = "return";
-        this.next = "end";
-      } else if (record.type === "normal" && afterLoc) {
-        this.next = afterLoc;
-      }
-
-      return ContinueSentinel;
-    },
-
-    finish: function(finallyLoc) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-        if (entry.finallyLoc === finallyLoc) {
-          this.complete(entry.completion, entry.afterLoc);
-          resetTryEntry(entry);
-          return ContinueSentinel;
-        }
-      }
-    },
-
-    "catch": function(tryLoc) {
-      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
-        var entry = this.tryEntries[i];
-        if (entry.tryLoc === tryLoc) {
-          var record = entry.completion;
-          if (record.type === "throw") {
-            var thrown = record.arg;
-            resetTryEntry(entry);
-          }
-          return thrown;
-        }
-      }
-
-      // The context.catch method must only be called with a location
-      // argument that corresponds to a known catch block.
-      throw new Error("illegal catch attempt");
-    },
-
-    delegateYield: function(iterable, resultName, nextLoc) {
-      this.delegate = {
-        iterator: values(iterable),
-        resultName: resultName,
-        nextLoc: nextLoc
-      };
-
-      if (this.method === "next") {
-        // Deliberately forget the last sent value so that we don't
-        // accidentally pass it on to the delegate.
-        this.arg = undefined;
-      }
-
-      return ContinueSentinel;
-    }
-  };
-
-  // Regardless of whether this script is executing as a CommonJS module
-  // or not, return the runtime object so that we can declare the variable
-  // regeneratorRuntime in the outer scope, which allows this module to be
-  // injected easily by `bin/regenerator --include-runtime script.js`.
-  return exports;
-
-}(
-  // If this script is executing as a CommonJS module, use module.exports
-  // as the regeneratorRuntime namespace. Otherwise create a new empty
-  // object. Either way, the resulting object will be used to initialize
-  // the regeneratorRuntime variable at the top of this file.
-   true ? module.exports : undefined
-));
-
-try {
-  regeneratorRuntime = runtime;
-} catch (accidentalStrictMode) {
-  // This module should not be running in strict mode, so the above
-  // assignment should always work unless something is misconfigured. Just
-  // in case runtime.js accidentally runs in strict mode, in modern engines
-  // we can explicitly access globalThis. In older engines we can escape
-  // strict mode using a global Function call. This could conceivably fail
-  // if a Content Security Policy forbids using Function, but in that case
-  // the proper solution is to fix the accidental strict mode problem. If
-  // you've misconfigured your bundler to force strict mode and applied a
-  // CSP to forbid Function, and you're not willing to fix either of those
-  // problems, please detail your unique predicament in a GitHub issue.
-  if (typeof globalThis === "object") {
-    globalThis.regeneratorRuntime = runtime;
-  } else {
-    Function("r", "regeneratorRuntime = r")(runtime);
-  }
-}
-
-
 /***/ }),
 
 /***/ "luAU":
@@ -267430,10 +267430,10 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(globalId, "globalId", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/useCozyDialog.js");
-  reactHotLoader.register(modalSizes, "modalSizes", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/useCozyDialog.js");
-  reactHotLoader.register(useCozyDialog, "useCozyDialog", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/useCozyDialog.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/useCozyDialog.js");
+  reactHotLoader.register(globalId, "globalId", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/useCozyDialog.js");
+  reactHotLoader.register(modalSizes, "modalSizes", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/useCozyDialog.js");
+  reactHotLoader.register(useCozyDialog, "useCozyDialog", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/useCozyDialog.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/useCozyDialog.js");
 })();
 
 ;
@@ -268505,6 +268505,767 @@ function circle(radius) {
 }
 
 
+/***/ }),
+
+/***/ "mLhc":
+/***/ (function(module, exports, __webpack_require__) {
+
+/**
+ * Copyright (c) 2014-present, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+var runtime = (function (exports) {
+  "use strict";
+
+  var Op = Object.prototype;
+  var hasOwn = Op.hasOwnProperty;
+  var undefined; // More compressible than void 0.
+  var $Symbol = typeof Symbol === "function" ? Symbol : {};
+  var iteratorSymbol = $Symbol.iterator || "@@iterator";
+  var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
+  var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
+
+  function define(obj, key, value) {
+    Object.defineProperty(obj, key, {
+      value: value,
+      enumerable: true,
+      configurable: true,
+      writable: true
+    });
+    return obj[key];
+  }
+  try {
+    // IE 8 has a broken Object.defineProperty that only works on DOM objects.
+    define({}, "");
+  } catch (err) {
+    define = function(obj, key, value) {
+      return obj[key] = value;
+    };
+  }
+
+  function wrap(innerFn, outerFn, self, tryLocsList) {
+    // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
+    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
+    var generator = Object.create(protoGenerator.prototype);
+    var context = new Context(tryLocsList || []);
+
+    // The ._invoke method unifies the implementations of the .next,
+    // .throw, and .return methods.
+    generator._invoke = makeInvokeMethod(innerFn, self, context);
+
+    return generator;
+  }
+  exports.wrap = wrap;
+
+  // Try/catch helper to minimize deoptimizations. Returns a completion
+  // record like context.tryEntries[i].completion. This interface could
+  // have been (and was previously) designed to take a closure to be
+  // invoked without arguments, but in all the cases we care about we
+  // already have an existing method we want to call, so there's no need
+  // to create a new function object. We can even get away with assuming
+  // the method takes exactly one argument, since that happens to be true
+  // in every case, so we don't have to touch the arguments object. The
+  // only additional allocation required is the completion record, which
+  // has a stable shape and so hopefully should be cheap to allocate.
+  function tryCatch(fn, obj, arg) {
+    try {
+      return { type: "normal", arg: fn.call(obj, arg) };
+    } catch (err) {
+      return { type: "throw", arg: err };
+    }
+  }
+
+  var GenStateSuspendedStart = "suspendedStart";
+  var GenStateSuspendedYield = "suspendedYield";
+  var GenStateExecuting = "executing";
+  var GenStateCompleted = "completed";
+
+  // Returning this object from the innerFn has the same effect as
+  // breaking out of the dispatch switch statement.
+  var ContinueSentinel = {};
+
+  // Dummy constructor functions that we use as the .constructor and
+  // .constructor.prototype properties for functions that return Generator
+  // objects. For full spec compliance, you may wish to configure your
+  // minifier not to mangle the names of these two functions.
+  function Generator() {}
+  function GeneratorFunction() {}
+  function GeneratorFunctionPrototype() {}
+
+  // This is a polyfill for %IteratorPrototype% for environments that
+  // don't natively support it.
+  var IteratorPrototype = {};
+  define(IteratorPrototype, iteratorSymbol, function () {
+    return this;
+  });
+
+  var getProto = Object.getPrototypeOf;
+  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
+  if (NativeIteratorPrototype &&
+      NativeIteratorPrototype !== Op &&
+      hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
+    // This environment has a native %IteratorPrototype%; use it instead
+    // of the polyfill.
+    IteratorPrototype = NativeIteratorPrototype;
+  }
+
+  var Gp = GeneratorFunctionPrototype.prototype =
+    Generator.prototype = Object.create(IteratorPrototype);
+  GeneratorFunction.prototype = GeneratorFunctionPrototype;
+  define(Gp, "constructor", GeneratorFunctionPrototype);
+  define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
+  GeneratorFunction.displayName = define(
+    GeneratorFunctionPrototype,
+    toStringTagSymbol,
+    "GeneratorFunction"
+  );
+
+  // Helper for defining the .next, .throw, and .return methods of the
+  // Iterator interface in terms of a single ._invoke method.
+  function defineIteratorMethods(prototype) {
+    ["next", "throw", "return"].forEach(function(method) {
+      define(prototype, method, function(arg) {
+        return this._invoke(method, arg);
+      });
+    });
+  }
+
+  exports.isGeneratorFunction = function(genFun) {
+    var ctor = typeof genFun === "function" && genFun.constructor;
+    return ctor
+      ? ctor === GeneratorFunction ||
+        // For the native GeneratorFunction constructor, the best we can
+        // do is to check its .name property.
+        (ctor.displayName || ctor.name) === "GeneratorFunction"
+      : false;
+  };
+
+  exports.mark = function(genFun) {
+    if (Object.setPrototypeOf) {
+      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
+    } else {
+      genFun.__proto__ = GeneratorFunctionPrototype;
+      define(genFun, toStringTagSymbol, "GeneratorFunction");
+    }
+    genFun.prototype = Object.create(Gp);
+    return genFun;
+  };
+
+  // Within the body of any async function, `await x` is transformed to
+  // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
+  // `hasOwn.call(value, "__await")` to determine if the yielded value is
+  // meant to be awaited.
+  exports.awrap = function(arg) {
+    return { __await: arg };
+  };
+
+  function AsyncIterator(generator, PromiseImpl) {
+    function invoke(method, arg, resolve, reject) {
+      var record = tryCatch(generator[method], generator, arg);
+      if (record.type === "throw") {
+        reject(record.arg);
+      } else {
+        var result = record.arg;
+        var value = result.value;
+        if (value &&
+            typeof value === "object" &&
+            hasOwn.call(value, "__await")) {
+          return PromiseImpl.resolve(value.__await).then(function(value) {
+            invoke("next", value, resolve, reject);
+          }, function(err) {
+            invoke("throw", err, resolve, reject);
+          });
+        }
+
+        return PromiseImpl.resolve(value).then(function(unwrapped) {
+          // When a yielded Promise is resolved, its final value becomes
+          // the .value of the Promise<{value,done}> result for the
+          // current iteration.
+          result.value = unwrapped;
+          resolve(result);
+        }, function(error) {
+          // If a rejected Promise was yielded, throw the rejection back
+          // into the async generator function so it can be handled there.
+          return invoke("throw", error, resolve, reject);
+        });
+      }
+    }
+
+    var previousPromise;
+
+    function enqueue(method, arg) {
+      function callInvokeWithMethodAndArg() {
+        return new PromiseImpl(function(resolve, reject) {
+          invoke(method, arg, resolve, reject);
+        });
+      }
+
+      return previousPromise =
+        // If enqueue has been called before, then we want to wait until
+        // all previous Promises have been resolved before calling invoke,
+        // so that results are always delivered in the correct order. If
+        // enqueue has not been called before, then it is important to
+        // call invoke immediately, without waiting on a callback to fire,
+        // so that the async generator function has the opportunity to do
+        // any necessary setup in a predictable way. This predictability
+        // is why the Promise constructor synchronously invokes its
+        // executor callback, and why async functions synchronously
+        // execute code before the first await. Since we implement simple
+        // async functions in terms of async generators, it is especially
+        // important to get this right, even though it requires care.
+        previousPromise ? previousPromise.then(
+          callInvokeWithMethodAndArg,
+          // Avoid propagating failures to Promises returned by later
+          // invocations of the iterator.
+          callInvokeWithMethodAndArg
+        ) : callInvokeWithMethodAndArg();
+    }
+
+    // Define the unified helper method that is used to implement .next,
+    // .throw, and .return (see defineIteratorMethods).
+    this._invoke = enqueue;
+  }
+
+  defineIteratorMethods(AsyncIterator.prototype);
+  define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
+    return this;
+  });
+  exports.AsyncIterator = AsyncIterator;
+
+  // Note that simple async functions are implemented on top of
+  // AsyncIterator objects; they just return a Promise for the value of
+  // the final result produced by the iterator.
+  exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
+    if (PromiseImpl === void 0) PromiseImpl = Promise;
+
+    var iter = new AsyncIterator(
+      wrap(innerFn, outerFn, self, tryLocsList),
+      PromiseImpl
+    );
+
+    return exports.isGeneratorFunction(outerFn)
+      ? iter // If outerFn is a generator, return the full iterator.
+      : iter.next().then(function(result) {
+          return result.done ? result.value : iter.next();
+        });
+  };
+
+  function makeInvokeMethod(innerFn, self, context) {
+    var state = GenStateSuspendedStart;
+
+    return function invoke(method, arg) {
+      if (state === GenStateExecuting) {
+        throw new Error("Generator is already running");
+      }
+
+      if (state === GenStateCompleted) {
+        if (method === "throw") {
+          throw arg;
+        }
+
+        // Be forgiving, per 25.3.3.3.3 of the spec:
+        // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
+        return doneResult();
+      }
+
+      context.method = method;
+      context.arg = arg;
+
+      while (true) {
+        var delegate = context.delegate;
+        if (delegate) {
+          var delegateResult = maybeInvokeDelegate(delegate, context);
+          if (delegateResult) {
+            if (delegateResult === ContinueSentinel) continue;
+            return delegateResult;
+          }
+        }
+
+        if (context.method === "next") {
+          // Setting context._sent for legacy support of Babel's
+          // function.sent implementation.
+          context.sent = context._sent = context.arg;
+
+        } else if (context.method === "throw") {
+          if (state === GenStateSuspendedStart) {
+            state = GenStateCompleted;
+            throw context.arg;
+          }
+
+          context.dispatchException(context.arg);
+
+        } else if (context.method === "return") {
+          context.abrupt("return", context.arg);
+        }
+
+        state = GenStateExecuting;
+
+        var record = tryCatch(innerFn, self, context);
+        if (record.type === "normal") {
+          // If an exception is thrown from innerFn, we leave state ===
+          // GenStateExecuting and loop back for another invocation.
+          state = context.done
+            ? GenStateCompleted
+            : GenStateSuspendedYield;
+
+          if (record.arg === ContinueSentinel) {
+            continue;
+          }
+
+          return {
+            value: record.arg,
+            done: context.done
+          };
+
+        } else if (record.type === "throw") {
+          state = GenStateCompleted;
+          // Dispatch the exception by looping back around to the
+          // context.dispatchException(context.arg) call above.
+          context.method = "throw";
+          context.arg = record.arg;
+        }
+      }
+    };
+  }
+
+  // Call delegate.iterator[context.method](context.arg) and handle the
+  // result, either by returning a { value, done } result from the
+  // delegate iterator, or by modifying context.method and context.arg,
+  // setting context.delegate to null, and returning the ContinueSentinel.
+  function maybeInvokeDelegate(delegate, context) {
+    var method = delegate.iterator[context.method];
+    if (method === undefined) {
+      // A .throw or .return when the delegate iterator has no .throw
+      // method always terminates the yield* loop.
+      context.delegate = null;
+
+      if (context.method === "throw") {
+        // Note: ["return"] must be used for ES3 parsing compatibility.
+        if (delegate.iterator["return"]) {
+          // If the delegate iterator has a return method, give it a
+          // chance to clean up.
+          context.method = "return";
+          context.arg = undefined;
+          maybeInvokeDelegate(delegate, context);
+
+          if (context.method === "throw") {
+            // If maybeInvokeDelegate(context) changed context.method from
+            // "return" to "throw", let that override the TypeError below.
+            return ContinueSentinel;
+          }
+        }
+
+        context.method = "throw";
+        context.arg = new TypeError(
+          "The iterator does not provide a 'throw' method");
+      }
+
+      return ContinueSentinel;
+    }
+
+    var record = tryCatch(method, delegate.iterator, context.arg);
+
+    if (record.type === "throw") {
+      context.method = "throw";
+      context.arg = record.arg;
+      context.delegate = null;
+      return ContinueSentinel;
+    }
+
+    var info = record.arg;
+
+    if (! info) {
+      context.method = "throw";
+      context.arg = new TypeError("iterator result is not an object");
+      context.delegate = null;
+      return ContinueSentinel;
+    }
+
+    if (info.done) {
+      // Assign the result of the finished delegate to the temporary
+      // variable specified by delegate.resultName (see delegateYield).
+      context[delegate.resultName] = info.value;
+
+      // Resume execution at the desired location (see delegateYield).
+      context.next = delegate.nextLoc;
+
+      // If context.method was "throw" but the delegate handled the
+      // exception, let the outer generator proceed normally. If
+      // context.method was "next", forget context.arg since it has been
+      // "consumed" by the delegate iterator. If context.method was
+      // "return", allow the original .return call to continue in the
+      // outer generator.
+      if (context.method !== "return") {
+        context.method = "next";
+        context.arg = undefined;
+      }
+
+    } else {
+      // Re-yield the result returned by the delegate method.
+      return info;
+    }
+
+    // The delegate iterator is finished, so forget it and continue with
+    // the outer generator.
+    context.delegate = null;
+    return ContinueSentinel;
+  }
+
+  // Define Generator.prototype.{next,throw,return} in terms of the
+  // unified ._invoke helper method.
+  defineIteratorMethods(Gp);
+
+  define(Gp, toStringTagSymbol, "Generator");
+
+  // A Generator should always return itself as the iterator object when the
+  // @@iterator function is called on it. Some browsers' implementations of the
+  // iterator prototype chain incorrectly implement this, causing the Generator
+  // object to not be returned from this call. This ensures that doesn't happen.
+  // See https://github.com/facebook/regenerator/issues/274 for more details.
+  define(Gp, iteratorSymbol, function() {
+    return this;
+  });
+
+  define(Gp, "toString", function() {
+    return "[object Generator]";
+  });
+
+  function pushTryEntry(locs) {
+    var entry = { tryLoc: locs[0] };
+
+    if (1 in locs) {
+      entry.catchLoc = locs[1];
+    }
+
+    if (2 in locs) {
+      entry.finallyLoc = locs[2];
+      entry.afterLoc = locs[3];
+    }
+
+    this.tryEntries.push(entry);
+  }
+
+  function resetTryEntry(entry) {
+    var record = entry.completion || {};
+    record.type = "normal";
+    delete record.arg;
+    entry.completion = record;
+  }
+
+  function Context(tryLocsList) {
+    // The root entry object (effectively a try statement without a catch
+    // or a finally block) gives us a place to store values thrown from
+    // locations where there is no enclosing try statement.
+    this.tryEntries = [{ tryLoc: "root" }];
+    tryLocsList.forEach(pushTryEntry, this);
+    this.reset(true);
+  }
+
+  exports.keys = function(object) {
+    var keys = [];
+    for (var key in object) {
+      keys.push(key);
+    }
+    keys.reverse();
+
+    // Rather than returning an object with a next method, we keep
+    // things simple and return the next function itself.
+    return function next() {
+      while (keys.length) {
+        var key = keys.pop();
+        if (key in object) {
+          next.value = key;
+          next.done = false;
+          return next;
+        }
+      }
+
+      // To avoid creating an additional object, we just hang the .value
+      // and .done properties off the next function object itself. This
+      // also ensures that the minifier will not anonymize the function.
+      next.done = true;
+      return next;
+    };
+  };
+
+  function values(iterable) {
+    if (iterable) {
+      var iteratorMethod = iterable[iteratorSymbol];
+      if (iteratorMethod) {
+        return iteratorMethod.call(iterable);
+      }
+
+      if (typeof iterable.next === "function") {
+        return iterable;
+      }
+
+      if (!isNaN(iterable.length)) {
+        var i = -1, next = function next() {
+          while (++i < iterable.length) {
+            if (hasOwn.call(iterable, i)) {
+              next.value = iterable[i];
+              next.done = false;
+              return next;
+            }
+          }
+
+          next.value = undefined;
+          next.done = true;
+
+          return next;
+        };
+
+        return next.next = next;
+      }
+    }
+
+    // Return an iterator with no values.
+    return { next: doneResult };
+  }
+  exports.values = values;
+
+  function doneResult() {
+    return { value: undefined, done: true };
+  }
+
+  Context.prototype = {
+    constructor: Context,
+
+    reset: function(skipTempReset) {
+      this.prev = 0;
+      this.next = 0;
+      // Resetting context._sent for legacy support of Babel's
+      // function.sent implementation.
+      this.sent = this._sent = undefined;
+      this.done = false;
+      this.delegate = null;
+
+      this.method = "next";
+      this.arg = undefined;
+
+      this.tryEntries.forEach(resetTryEntry);
+
+      if (!skipTempReset) {
+        for (var name in this) {
+          // Not sure about the optimal order of these conditions:
+          if (name.charAt(0) === "t" &&
+              hasOwn.call(this, name) &&
+              !isNaN(+name.slice(1))) {
+            this[name] = undefined;
+          }
+        }
+      }
+    },
+
+    stop: function() {
+      this.done = true;
+
+      var rootEntry = this.tryEntries[0];
+      var rootRecord = rootEntry.completion;
+      if (rootRecord.type === "throw") {
+        throw rootRecord.arg;
+      }
+
+      return this.rval;
+    },
+
+    dispatchException: function(exception) {
+      if (this.done) {
+        throw exception;
+      }
+
+      var context = this;
+      function handle(loc, caught) {
+        record.type = "throw";
+        record.arg = exception;
+        context.next = loc;
+
+        if (caught) {
+          // If the dispatched exception was caught by a catch block,
+          // then let that catch block handle the exception normally.
+          context.method = "next";
+          context.arg = undefined;
+        }
+
+        return !! caught;
+      }
+
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        var record = entry.completion;
+
+        if (entry.tryLoc === "root") {
+          // Exception thrown outside of any try block that could handle
+          // it, so set the completion value of the entire function to
+          // throw the exception.
+          return handle("end");
+        }
+
+        if (entry.tryLoc <= this.prev) {
+          var hasCatch = hasOwn.call(entry, "catchLoc");
+          var hasFinally = hasOwn.call(entry, "finallyLoc");
+
+          if (hasCatch && hasFinally) {
+            if (this.prev < entry.catchLoc) {
+              return handle(entry.catchLoc, true);
+            } else if (this.prev < entry.finallyLoc) {
+              return handle(entry.finallyLoc);
+            }
+
+          } else if (hasCatch) {
+            if (this.prev < entry.catchLoc) {
+              return handle(entry.catchLoc, true);
+            }
+
+          } else if (hasFinally) {
+            if (this.prev < entry.finallyLoc) {
+              return handle(entry.finallyLoc);
+            }
+
+          } else {
+            throw new Error("try statement without catch or finally");
+          }
+        }
+      }
+    },
+
+    abrupt: function(type, arg) {
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        if (entry.tryLoc <= this.prev &&
+            hasOwn.call(entry, "finallyLoc") &&
+            this.prev < entry.finallyLoc) {
+          var finallyEntry = entry;
+          break;
+        }
+      }
+
+      if (finallyEntry &&
+          (type === "break" ||
+           type === "continue") &&
+          finallyEntry.tryLoc <= arg &&
+          arg <= finallyEntry.finallyLoc) {
+        // Ignore the finally entry if control is not jumping to a
+        // location outside the try/catch block.
+        finallyEntry = null;
+      }
+
+      var record = finallyEntry ? finallyEntry.completion : {};
+      record.type = type;
+      record.arg = arg;
+
+      if (finallyEntry) {
+        this.method = "next";
+        this.next = finallyEntry.finallyLoc;
+        return ContinueSentinel;
+      }
+
+      return this.complete(record);
+    },
+
+    complete: function(record, afterLoc) {
+      if (record.type === "throw") {
+        throw record.arg;
+      }
+
+      if (record.type === "break" ||
+          record.type === "continue") {
+        this.next = record.arg;
+      } else if (record.type === "return") {
+        this.rval = this.arg = record.arg;
+        this.method = "return";
+        this.next = "end";
+      } else if (record.type === "normal" && afterLoc) {
+        this.next = afterLoc;
+      }
+
+      return ContinueSentinel;
+    },
+
+    finish: function(finallyLoc) {
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        if (entry.finallyLoc === finallyLoc) {
+          this.complete(entry.completion, entry.afterLoc);
+          resetTryEntry(entry);
+          return ContinueSentinel;
+        }
+      }
+    },
+
+    "catch": function(tryLoc) {
+      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
+        var entry = this.tryEntries[i];
+        if (entry.tryLoc === tryLoc) {
+          var record = entry.completion;
+          if (record.type === "throw") {
+            var thrown = record.arg;
+            resetTryEntry(entry);
+          }
+          return thrown;
+        }
+      }
+
+      // The context.catch method must only be called with a location
+      // argument that corresponds to a known catch block.
+      throw new Error("illegal catch attempt");
+    },
+
+    delegateYield: function(iterable, resultName, nextLoc) {
+      this.delegate = {
+        iterator: values(iterable),
+        resultName: resultName,
+        nextLoc: nextLoc
+      };
+
+      if (this.method === "next") {
+        // Deliberately forget the last sent value so that we don't
+        // accidentally pass it on to the delegate.
+        this.arg = undefined;
+      }
+
+      return ContinueSentinel;
+    }
+  };
+
+  // Regardless of whether this script is executing as a CommonJS module
+  // or not, return the runtime object so that we can declare the variable
+  // regeneratorRuntime in the outer scope, which allows this module to be
+  // injected easily by `bin/regenerator --include-runtime script.js`.
+  return exports;
+
+}(
+  // If this script is executing as a CommonJS module, use module.exports
+  // as the regeneratorRuntime namespace. Otherwise create a new empty
+  // object. Either way, the resulting object will be used to initialize
+  // the regeneratorRuntime variable at the top of this file.
+   true ? module.exports : undefined
+));
+
+try {
+  regeneratorRuntime = runtime;
+} catch (accidentalStrictMode) {
+  // This module should not be running in strict mode, so the above
+  // assignment should always work unless something is misconfigured. Just
+  // in case runtime.js accidentally runs in strict mode, in modern engines
+  // we can explicitly access globalThis. In older engines we can escape
+  // strict mode using a global Function call. This could conceivably fail
+  // if a Content Security Policy forbids using Function, but in that case
+  // the proper solution is to fix the accidental strict mode problem. If
+  // you've misconfigured your bundler to force strict mode and applied a
+  // CSP to forbid Function, and you're not willing to fix either of those
+  // problems, please detail your unique predicament in a GitHub issue.
+  if (typeof globalThis === "object") {
+    globalThis.regeneratorRuntime = runtime;
+  } else {
+    Function("r", "regeneratorRuntime = r")(runtime);
+  }
+}
+
+
 /***/ }),
 
 /***/ "mOTb":
@@ -279822,7 +280583,7 @@ module.exports = buildDistanceInWordsLocale
 /***/ "o0o1":
 /***/ (function(module, exports, __webpack_require__) {
 
-module.exports = __webpack_require__("ls82");
+module.exports = __webpack_require__("mLhc");
 
 
 /***/ }),
@@ -280387,8 +281148,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(SvgBottom, "SvgBottom", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Bottom.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Bottom.js");
+  reactHotLoader.register(SvgBottom, "SvgBottom", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Bottom.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icons/Bottom.js");
 })();
 
 ;
@@ -288955,8 +289716,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(IllustrationDialog, "IllustrationDialog", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/IllustrationDialog.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/IllustrationDialog.js");
+  reactHotLoader.register(IllustrationDialog, "IllustrationDialog", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/IllustrationDialog.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/IllustrationDialog.js");
 })();
 
 ;
@@ -295697,8 +296458,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(Dialog, "Dialog", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/Dialog.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/Dialog.js");
+  reactHotLoader.register(Dialog, "Dialog", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/Dialog.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/Dialog.js");
 })();
 
 ;
@@ -315205,7 +315966,7 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/DialogContentText.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Dialog/DialogContentText.js");
 })();
 
 ;
@@ -315393,6 +316154,104 @@ __webpack_require__.r(__webpack_exports__);
 });
 
 
+/***/ }),
+
+/***/ "uVqs":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+/* WEBPACK VAR INJECTION */(function(module) {
+
+var _interopRequireDefault = __webpack_require__("TqRt");
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.resetCache = exports.readCozyDataFromDOM = exports.readCozyData = exports.readApplicationDataset = void 0;
+
+var _memoize = _interopRequireDefault(__webpack_require__("44Ds"));
+
+(function () {
+  var enterModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.enterModule : undefined;
+  enterModule && enterModule(module);
+})();
+
+var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) {
+  return a;
+};
+
+var readApplicationDataset = (0, _memoize.default)(function () {
+  var root = document.querySelector('[role=application]');
+  return root && root.dataset;
+});
+exports.readApplicationDataset = readApplicationDataset;
+var readCozyData = (0, _memoize.default)(function () {
+  var dataset = readApplicationDataset();
+
+  if (dataset && dataset.cozy) {
+    return JSON.parse(dataset.cozy);
+  }
+
+  return null;
+});
+/**
+ * Reads an attribute set by the stack from the DOM
+ *
+ * A cozy app must receives on data from the stack, typically on the
+ * [role=application] node. Here, we try first to read from data-cozy
+ * and we fallback on data-[attrName].
+ */
+
+exports.readCozyData = readCozyData;
+var readCozyDataFromDOM = (0, _memoize.default)(function (attrName) {
+  var data = readCozyData();
+
+  if (data && data[attrName] !== undefined) {
+    return data[attrName] === 'true' || data[attrName] === 'false' ? JSON.parse(data[attrName]) : data[attrName];
+  }
+
+  var appDataset = readApplicationDataset();
+
+  if (!appDataset) {
+    return;
+  }
+
+  var attrName2 = "cozy".concat(attrName[0].toUpperCase()).concat(attrName.substring(1));
+  var value = appDataset[attrName2];
+  return value === undefined ? undefined : value === '' || JSON.parse(value);
+});
+exports.readCozyDataFromDOM = readCozyDataFromDOM;
+
+var resetCache = function resetCache() {
+  readCozyDataFromDOM.cache = new _memoize.default.Cache();
+  readCozyData.cache = new _memoize.default.Cache();
+  readApplicationDataset.cache = new _memoize.default.Cache();
+};
+
+exports.resetCache = resetCache;
+;
+
+(function () {
+  var reactHotLoader = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default : undefined;
+
+  if (!reactHotLoader) {
+    return;
+  }
+
+  reactHotLoader.register(readApplicationDataset, "readApplicationDataset", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/appDataset.js");
+  reactHotLoader.register(readCozyData, "readCozyData", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/appDataset.js");
+  reactHotLoader.register(readCozyDataFromDOM, "readCozyDataFromDOM", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/appDataset.js");
+  reactHotLoader.register(resetCache, "resetCache", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/helpers/appDataset.js");
+})();
+
+;
+
+(function () {
+  var leaveModule = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.leaveModule : undefined;
+  leaveModule && leaveModule(module);
+})();
+/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("YuTi")(module)))
+
 /***/ }),
 
 /***/ "uXMh":
@@ -325328,8 +326187,8 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(MuiCozyTheme, "MuiCozyTheme", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/index.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/index.js");
+  reactHotLoader.register(MuiCozyTheme, "MuiCozyTheme", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/MuiCozyTheme/index.js");
 })();
 
 ;
@@ -329889,13 +330748,13 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(styles, "styles", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
-  reactHotLoader.register(DEFAULT_SIZE, "DEFAULT_SIZE", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
-  reactHotLoader.register(getSvgObject, "getSvgObject", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
-  reactHotLoader.register(isFunction, "isFunction", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
-  reactHotLoader.register(Icon, "Icon", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
-  reactHotLoader.register(iconPropType, "iconPropType", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
+  reactHotLoader.register(styles, "styles", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
+  reactHotLoader.register(DEFAULT_SIZE, "DEFAULT_SIZE", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
+  reactHotLoader.register(getSvgObject, "getSvgObject", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
+  reactHotLoader.register(isFunction, "isFunction", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
+  reactHotLoader.register(Icon, "Icon", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
+  reactHotLoader.register(iconPropType, "iconPropType", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/Icon/index.js");
 })();
 
 ;
@@ -330357,13 +331216,13 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(styles, "styles", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
-  reactHotLoader.register(paletteStyles, "paletteStyles", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
-  reactHotLoader.register(CozyThemeContext, "CozyThemeContext", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
-  reactHotLoader.register(allStyles, "allStyles", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
-  reactHotLoader.register(CozyTheme, "CozyTheme", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
-  reactHotLoader.register(useCozyTheme, "useCozyTheme", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
+  reactHotLoader.register(styles, "styles", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
+  reactHotLoader.register(paletteStyles, "paletteStyles", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
+  reactHotLoader.register(CozyThemeContext, "CozyThemeContext", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
+  reactHotLoader.register(allStyles, "allStyles", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
+  reactHotLoader.register(CozyTheme, "CozyTheme", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
+  reactHotLoader.register(useCozyTheme, "useCozyTheme", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyTheme/index.js");
 })();
 
 ;
@@ -332678,7 +333537,7 @@ exports.default = _default2;
     return;
   }
 
-  reactHotLoader.register(_default, "default", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/locales.js");
+  reactHotLoader.register(_default, "default", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/CozyDialogs/locales.js");
 })();
 
 ;
@@ -334129,9 +334988,9 @@ exports.getCssVariableValue = getCssVariableValue;
     return;
   }
 
-  reactHotLoader.register(mockedGetCssVariableValue, "mockedGetCssVariableValue", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/utils/color.js");
-  reactHotLoader.register(realGetCssVariableValue, "realGetCssVariableValue", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/utils/color.js");
-  reactHotLoader.register(getCssVariableValue, "getCssVariableValue", "/home/gcarron/dev/ecolyo/node_modules/cozy-ui/transpiled/react/utils/color.js");
+  reactHotLoader.register(mockedGetCssVariableValue, "mockedGetCssVariableValue", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/utils/color.js");
+  reactHotLoader.register(realGetCssVariableValue, "realGetCssVariableValue", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/utils/color.js");
+  reactHotLoader.register(getCssVariableValue, "getCssVariableValue", "/home/bastien/ecolyo/node_modules/cozy-ui/transpiled/react/utils/color.js");
 })();
 
 ;