diff --git a/app/ecolyo.addab65337ee0256f590.js b/app/ecolyo.129fe9a5caf0c9e972cc.js
similarity index 99%
rename from app/ecolyo.addab65337ee0256f590.js
rename to app/ecolyo.129fe9a5caf0c9e972cc.js
index aeae58a93a53d8e74c8f86f4b811153245802480..af22aa522990f73ccb27990ab1c417846ad73c68 100644
--- a/app/ecolyo.addab65337ee0256f590.js
+++ b/app/ecolyo.129fe9a5caf0c9e972cc.js
@@ -1734,7 +1734,7 @@ var SplashRoot = function SplashRoot(_ref) {
 
     function _loadData() {
       _loadData = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
-        var initializationService, partnersInfoService, ms, migrationsResult, termsStatus, profile, profileType, profileEcogesture, _yield$Promise$all, _yield$Promise$all2, ecogestureHash, duelHash, quizHash, challengeHash, explorationHash, analysisResult, fluidStatus, refDate, lastDataDate, _iterator, _step, fluid, userChallengeList, filteredCurrentOngoingChallenge, actionService, updatedUserChallenge, filteredCurrentDuelChallenge, _yield$initialization, _updatedUserChallenge, dataloads, challengeService, _yield$challengeServi, isDone, partnersInfo, today, fluidService, _updatedFluidStatus, isConcernedByPartnerIssue, _iterator2, _step2, _fluid;
+        var initializationService, partnersInfoService, ms, migrationsResult, termsStatus, profile, profileType, profileEcogesture, _yield$Promise$all, _yield$Promise$all2, indexcreated, ecogestureHash, duelHash, quizHash, challengeHash, explorationHash, analysisResult, fluidStatus, refDate, lastDataDate, _iterator, _step, fluid, userChallengeList, filteredCurrentOngoingChallenge, actionService, updatedUserChallenge, filteredCurrentDuelChallenge, _yield$initialization, _updatedUserChallenge, dataloads, challengeService, _yield$challengeServi, isDone, partnersInfo, today, fluidService, _updatedFluidStatus, isConcernedByPartnerIssue, _iterator2, _step2, _fluid;
 
         return _regenerator.default.wrap(function _callee$(_context) {
           while (1) {
@@ -1784,23 +1784,24 @@ var SplashRoot = function SplashRoot(_ref) {
                 profileEcogesture = _context.sent;
 
                 if (!(subscribed && profile)) {
-                  _context.next = 48;
+                  _context.next = 52;
                   break;
                 }
 
                 setValidExploration(_userExploration.UserExplorationID.EXPLORATION007);
                 _context.next = 29;
-                return Promise.all([initializationService.initEcogesture(profile.ecogestureHash), initializationService.initDuelEntity(profile.duelHash), initializationService.initQuizEntity(profile.quizHash), initializationService.initExplorationEntity(profile.challengeHash), initializationService.initChallengeEntity(profile.explorationHash), initializationService.initAnalysis(profile)]);
+                return Promise.all([initializationService.initIndex(), initializationService.initEcogesture(profile.ecogestureHash), initializationService.initDuelEntity(profile.duelHash), initializationService.initQuizEntity(profile.quizHash), initializationService.initExplorationEntity(profile.challengeHash), initializationService.initChallengeEntity(profile.explorationHash), initializationService.initAnalysis(profile)]);
 
               case 29:
                 _yield$Promise$all = _context.sent;
-                _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 6);
-                ecogestureHash = _yield$Promise$all2[0];
-                duelHash = _yield$Promise$all2[1];
-                quizHash = _yield$Promise$all2[2];
-                challengeHash = _yield$Promise$all2[3];
-                explorationHash = _yield$Promise$all2[4];
-                analysisResult = _yield$Promise$all2[5];
+                _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 7);
+                indexcreated = _yield$Promise$all2[0];
+                ecogestureHash = _yield$Promise$all2[1];
+                duelHash = _yield$Promise$all2[2];
+                quizHash = _yield$Promise$all2[3];
+                challengeHash = _yield$Promise$all2[4];
+                explorationHash = _yield$Promise$all2[5];
+                analysisResult = _yield$Promise$all2[6];
                 profile.ecogestureHash = ecogestureHash;
                 profile.duelHash = duelHash;
                 profile.quizHash = quizHash;
@@ -1818,13 +1819,22 @@ var SplashRoot = function SplashRoot(_ref) {
                   dispatch((0, _profileEcogesture.updateProfileEcogestureSuccess)(profileEcogesture));
                 }
 
+                if (indexcreated) {
+                  _context.next = 51;
+                  break;
+                }
+
+                _context.next = 51;
+                return initializationService.initIndex();
+
+              case 51:
                 dispatch((0, _global.toggleAnalysisNotification)(!profile.haveSeenLastAnalysis));
 
-              case 48:
-                _context.next = 50;
+              case 52:
+                _context.next = 54;
                 return initializationService.initFluidStatus();
 
-              case 50:
+              case 54:
                 fluidStatus = _context.sent;
 
                 if (subscribed) {
@@ -1853,14 +1863,14 @@ var SplashRoot = function SplashRoot(_ref) {
                 } // Init Challenge
 
 
-                _context.next = 54;
+                _context.next = 58;
                 return initializationService.initUserChallenges(fluidStatus);
 
-              case 54:
+              case 58:
                 userChallengeList = _context.sent;
 
                 if (!subscribed) {
-                  _context.next = 81;
+                  _context.next = 85;
                   break;
                 }
 
@@ -1875,22 +1885,22 @@ var SplashRoot = function SplashRoot(_ref) {
 
 
                 if (!(filteredCurrentOngoingChallenge[0] && filteredCurrentOngoingChallenge[0].action.state === _userAction.UserActionState.ONGOING)) {
-                  _context.next = 65;
+                  _context.next = 69;
                   break;
                 }
 
                 actionService = new _action.default(client);
-                _context.next = 63;
+                _context.next = 67;
                 return actionService.isActionDone(filteredCurrentOngoingChallenge[0]);
 
-              case 63:
+              case 67:
                 updatedUserChallenge = _context.sent;
 
                 if (updatedUserChallenge) {
                   dispatch((0, _challenge.updateUserChallengeList)(updatedUserChallenge));
                 }
 
-              case 65:
+              case 69:
                 // Set Notification if action state is notification
                 if (filteredCurrentOngoingChallenge[0] && filteredCurrentOngoingChallenge[0].action.state === _userAction.UserActionState.NOTIFICATION) {
                   dispatch((0, _global.toggleChallengeActionNotification)(true));
@@ -1901,52 +1911,52 @@ var SplashRoot = function SplashRoot(_ref) {
                 });
 
                 if (!(filteredCurrentDuelChallenge[0] && filteredCurrentDuelChallenge[0].duel.state === _userDuel.UserDuelState.ONGOING)) {
-                  _context.next = 81;
+                  _context.next = 85;
                   break;
                 }
 
-                _context.next = 70;
+                _context.next = 74;
                 return initializationService.initDuelProgress(filteredCurrentDuelChallenge[0]);
 
-              case 70:
+              case 74:
                 _yield$initialization = _context.sent;
                 _updatedUserChallenge = _yield$initialization.updatedUserChallenge;
                 dataloads = _yield$initialization.dataloads;
 
                 if (!subscribed) {
-                  _context.next = 81;
+                  _context.next = 85;
                   break;
                 }
 
                 dispatch((0, _challenge.setChallengeConsumption)(_updatedUserChallenge, dataloads)); // Check is duel is done and display notification
 
                 challengeService = new _challenge2.default(client);
-                _context.next = 78;
+                _context.next = 82;
                 return challengeService.isChallengeDone(_updatedUserChallenge, dataloads);
 
-              case 78:
+              case 82:
                 _yield$challengeServi = _context.sent;
                 isDone = _yield$challengeServi.isDone;
                 dispatch((0, _global.toggleChallengeDuelNotification)(isDone));
 
-              case 81:
+              case 85:
                 if (!profile) {
-                  _context.next = 84;
+                  _context.next = 88;
                   break;
                 }
 
-                _context.next = 84;
+                _context.next = 88;
                 return _usageEvent.default.addEvent(client, {
                   type: _usageEvent2.UsageEventType.CONNECTION_EVENT,
                   result: profile.isFirstConnection ? 'firstConnection' : undefined,
                   context: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? 'mobile' : 'desktop'
                 });
 
-              case 84:
-                _context.next = 86;
+              case 88:
+                _context.next = 90;
                 return partnersInfoService.getPartnersInfo();
 
-              case 86:
+              case 90:
                 partnersInfo = _context.sent;
                 // Get last partnersIssueDate
                 today = _luxon.DateTime.local().setZone('utc', {
@@ -1954,15 +1964,15 @@ var SplashRoot = function SplashRoot(_ref) {
                 }).startOf('day').toISO(); // If notification is activated and konnector is connected, set FluidStatus to PARTNER_ISSUE
 
                 if (!(partnersInfo && partnersInfo.notification_activated)) {
-                  _context.next = 98;
+                  _context.next = 102;
                   break;
                 }
 
                 fluidService = new _fluid3.default(client);
-                _context.next = 92;
+                _context.next = 96;
                 return fluidService.getFluidStatus(partnersInfo);
 
-              case 92:
+              case 96:
                 _updatedFluidStatus = _context.sent;
                 isConcernedByPartnerIssue = false;
                 _iterator2 = _createForOfIteratorHelper(_updatedFluidStatus);
@@ -1989,7 +1999,7 @@ var SplashRoot = function SplashRoot(_ref) {
                   dispatch((0, _global.setPartnersIssue)(true));
                 }
 
-              case 98:
+              case 102:
                 if (subscribed) {
                   _logger.default.info('Initialization finished successfully !');
 
@@ -2000,11 +2010,11 @@ var SplashRoot = function SplashRoot(_ref) {
                   });
                 }
 
-                _context.next = 105;
+                _context.next = 109;
                 break;
 
-              case 101:
-                _context.prev = 101;
+              case 105:
+                _context.prev = 105;
                 _context.t0 = _context["catch"](3);
 
                 if (_context.t0.message === 'Failed to fetch' && !initStepErrors) {
@@ -2013,12 +2023,12 @@ var SplashRoot = function SplashRoot(_ref) {
 
                 _logger.default.error("[Initialization] Error : ".concat(_context.t0));
 
-              case 105:
+              case 109:
               case "end":
                 return _context.stop();
             }
           }
-        }, _callee, null, [[3, 101]]);
+        }, _callee, null, [[3, 105]]);
       }));
       return _loadData.apply(this, arguments);
     }
diff --git a/index.html b/index.html
index e43e9fba6f74406cf7cc13887902957df336531c..4a310835891cca352b675f413042e575a4216ec8 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.addab65337ee0256f590.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}}</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.129fe9a5caf0c9e972cc.js"></script></div></body></html>
\ No newline at end of file