From c1a8f3a4afb6b4781c2e474d0521d99b8e063438 Mon Sep 17 00:00:00 2001
From: Bastien DUMONT <bdumont@grandlyon.com>
Date: Tue, 22 Aug 2023 10:21:22 +0000
Subject: [PATCH] refactor: update file architecture

---
 jest.config.js                                |  8 ++-
 .../{ => ActionBegin}/ActionBegin.spec.tsx    | 12 ++---
 .../Action/{ => ActionBegin}/ActionBegin.tsx  |  8 +--
 .../__snapshots__/ActionBegin.spec.tsx.snap   |  0
 .../Action/{ => ActionBegin}/actionBegin.scss |  0
 .../{ => ActionCard}/ActionCard.spec.tsx      | 10 ++--
 .../Action/{ => ActionCard}/ActionCard.tsx    |  4 +-
 .../__snapshots__/ActionCard.spec.tsx.snap    |  0
 .../actionCard.scss}                          | 12 -----
 .../{ => ActionChoose}/ActionChoose.spec.tsx  |  8 +--
 .../{ => ActionChoose}/ActionChoose.tsx       |  4 +-
 .../__snapshots__/ActionChoose.spec.tsx.snap  |  0
 .../{ => ActionDone}/ActionDone.spec.tsx      |  6 +--
 .../Action/{ => ActionDone}/ActionDone.tsx    |  0
 .../__snapshots__/ActionDone.spec.tsx.snap    |  0
 .../Action/{ => ActionDone}/actionDone.scss   |  0
 .../{ => ActionList}/ActionList.spec.tsx      |  6 +--
 .../Action/{ => ActionList}/ActionList.tsx    |  8 +--
 .../Action/ActionList/actionList.scss         | 14 ++++++
 .../{ => ActionModal}/ActionModal.spec.tsx    |  8 +--
 .../Action/{ => ActionModal}/ActionModal.tsx  |  0
 .../__snapshots__/ActionModal.spec.tsx.snap   |  0
 .../Action/{ => ActionModal}/actionModal.scss |  0
 .../ActionOnGoing.spec.tsx                    |  8 +--
 .../{ => ActionOnGoing}/ActionOnGoing.tsx     |  2 +-
 .../__snapshots__/ActionOnGoing.spec.tsx.snap |  0
 .../{ => ActionOnGoing}/actionOnGoing.scss    |  0
 src/components/Action/ActionView.spec.tsx     | 17 ++++---
 src/components/Action/ActionView.tsx          |  6 +--
 src/components/Analysis/AnalysisView.spec.tsx |  2 +-
 .../ElecHalfHourChart.spec.tsx                |  4 +-
 .../ElecHalfHourMonthlyAnalysis.spec.tsx      |  8 +--
 .../MaxConsumptionCard.spec.tsx               |  8 +--
 .../Analysis/MonthlyAnalysis.spec.tsx         |  6 +--
 .../ProfileComparator.spec.tsx                | 11 ++---
 .../ProfileComparatorRow.spec.tsx             |  2 +-
 .../TotalAnalysisChart.spec.tsx               |  6 +--
 .../ChallengeCard.spec.tsx                    |  8 +--
 .../{ => ChallengeCard}/ChallengeCard.tsx     | 10 ++--
 .../__snapshots__/ChallengeCard.spec.tsx.snap |  0
 .../{ => ChallengeCard}/challengeCard.scss    |  0
 .../ChallengeCardDone.spec.tsx                |  6 +--
 .../ChallengeCardDone.tsx                     |  0
 .../ChallengeCardDone.spec.tsx.snap           |  0
 .../challengeCardDone.scss                    |  0
 .../ChallengeCardLast.spec.tsx                |  0
 .../ChallengeCardLast.tsx                     |  0
 .../ChallengeCardLast.spec.tsx.snap           |  0
 .../challengeCardLast.scss                    |  0
 .../ChallengeCardLocked.spec.tsx              |  2 +-
 .../ChallengeCardLocked.tsx                   |  0
 .../ChallengeCardLocked.spec.tsx.snap         |  0
 .../challengeCardLocked.scss                  |  0
 .../ChallengeCardOnGoing.tsx                  |  4 +-
 .../challengeCardOnGoing.scss                 |  0
 .../ChallengeCardUnlocked.spec.tsx            |  8 +--
 .../ChallengeCardUnlocked.tsx                 |  2 +-
 .../challengeCardUnlocked.scss                |  0
 .../ChallengeNoFluidModal.spec.tsx            |  0
 .../ChallengeNoFluidModal.tsx                 |  0
 .../ChallengeNoFluidModal.spec.tsx.snap       |  0
 .../challengeNoFluidModal.scss                |  0
 .../Challenge/ChallengeView.spec.tsx          |  9 ++--
 src/components/Challenge/ChallengeView.tsx    |  2 +-
 src/components/Charts/AxisBottom.spec.tsx     |  4 +-
 src/components/Charts/Bar.spec.tsx            |  4 +-
 .../FormNavigation}/FormNavigation.spec.tsx   |  2 +-
 .../FormNavigation}/FormNavigation.tsx        |  2 +-
 .../FormNavigation}/formNavigation.scss       |  0
 .../FormProgress}/FormProgress.tsx            |  2 +-
 .../FormProgress}/formProgress.scss           |  0
 .../StarsContainer}/StarsContainer.tsx        |  0
 src/components/Connection/Connection.spec.tsx |  4 +-
 .../Connection/EPGLConnect/EpglForm.tsx       |  2 +-
 .../{ => EPGLConnect/FormLogin}/FormLogin.tsx |  0
 .../FormLogin}/formLogin.scss                 |  0
 .../ExpiredConsentModal.spec.tsx              |  4 +-
 .../ExpiredConsentModal.tsx                   |  0
 .../ExpiredConsentModal.spec.tsx.snap         |  0
 .../expiredConsentModal.scss                  |  0
 .../DeleteGRDFAccountModal.spec.tsx           |  0
 .../DeleteGRDFAccountModal.tsx                |  0
 .../DeleteGRDFAccountModal.spec.tsx.snap      |  0
 .../deleteGRDFAccountModal.scss               |  0
 .../PartnerConnectModal/GrdfConnectModal.tsx  |  8 +--
 .../Steps/GrdfFormOAuth.tsx}                  | 10 ++--
 .../SGEConnect/SgeConnectView.spec.tsx        |  6 +--
 .../Connection/SGEConnect/SgeConnectView.tsx  |  4 +-
 .../Connection/SGEConnect/SgeInit.spec.tsx    |  9 ++--
 .../SGEConnect/SgeModalHint.spec.tsx          |  2 +-
 .../SGEConnect/StepAddress.spec.tsx           |  5 +-
 .../SGEConnect/StepConsent.spec.tsx           |  5 +-
 .../SGEConnect/StepIdentityAndPdl.spec.tsx    |  5 +-
 .../SgeConnectView.spec.tsx.snap              | 27 +++++++++-
 .../ConsumptionDetails.spec.tsx               |  4 +-
 .../ConsumptionDetails.tsx                    |  0
 .../ConsumptionDetails.spec.tsx.snap          |  0
 .../consumptionDetails.scss                   |  0
 .../ConsumptionView.spec.tsx                  | 49 +++++++++++--------
 .../{Home => Consumption}/ConsumptionView.tsx |  8 +--
 .../FluidButtons}/FluidButton.spec.tsx        |  7 +--
 .../FluidButtons}/FluidButton.tsx             |  0
 .../FluidButtons}/FluidButtons.spec.tsx       |  4 +-
 .../FluidButtons}/FluidButtons.tsx            |  0
 .../__snapshots__/FluidButton.spec.tsx.snap   |  0
 .../__snapshots__/FluidButtons.spec.tsx.snap  |  0
 .../FluidButtons}/fluidButtons.scss           |  0
 .../consumptionView.scss                      |  0
 .../DataloadConsumptionVisualizer.spec.tsx    |  9 ++--
 .../DataloadNoValue.spec.tsx                  |  2 +-
 .../DataloadSection.spec.tsx                  |  2 +-
 .../DataloadSectionDetail.spec.tsx            |  2 +-
 .../DataloadSectionValue.spec.tsx             |  2 +-
 .../InfoDataConsumptionVisualizer.spec.tsx    |  4 +-
 .../CustomPopup/CustomPopupModal.spec.tsx     |  2 +-
 .../DateNavigator/DateNavigator.spec.tsx      |  2 +-
 .../Duel/{ => DuelChart}/DuelBar.tsx          |  0
 .../Duel/{ => DuelChart}/DuelChart.tsx        |  2 +-
 .../Duel/{ => DuelChart}/duelChart.scss       |  0
 .../DuelEmptyValueModal.tsx                   |  0
 .../duelEmptyValueModal.scss                  |  0
 .../Duel/{ => DuelError}/DuelError.spec.tsx   |  2 +-
 .../Duel/{ => DuelError}/DuelError.tsx        |  0
 .../__snapshots__/DuelError.spec.tsx.snap     |  0
 .../Duel/{ => DuelError}/duelError.scss       |  0
 .../{ => DuelOngoing}/DuelOngoing.spec.tsx    | 17 ++++---
 .../Duel/{ => DuelOngoing}/DuelOngoing.tsx    |  6 +--
 .../Duel/{ => DuelOngoing}/duelOngoing.scss   |  0
 .../DuelResultModal.spec.tsx                  |  4 +-
 .../{ => DuelResultModal}/DuelResultModal.tsx |  0
 .../DuelResultModal.spec.tsx.snap             |  0
 .../duelResultModal.scss                      |  0
 .../{ => DuelUnlocked}/DuelUnlocked.spec.tsx  |  9 ++--
 .../Duel/{ => DuelUnlocked}/DuelUnlocked.tsx  |  0
 .../Duel/{ => DuelUnlocked}/duelUnlocked.scss |  0
 src/components/Duel/DuelView.spec.tsx         | 15 +++---
 src/components/Duel/DuelView.tsx              |  8 +--
 .../__snapshots__/lastDuelModal.spec.tsx.snap |  0
 .../{ => LastDuelModal}/lastDuelModal.scss    |  0
 .../lastDuelModal.spec.tsx                    |  2 +-
 .../{ => LastDuelModal}/lastDuelModal.tsx     |  0
 .../EcogestureCard.spec.tsx                   |  6 +--
 .../{ => EcogestureCard}/EcogestureCard.tsx   |  2 +-
 .../EcogestureCard.spec.tsx.snap              |  0
 .../{ => EcogestureCard}/ecogestureCard.scss  |  0
 .../EcogestureEmptyList.spec.tsx              |  0
 .../EcogestureEmptyList.tsx                   |  0
 .../EcogestureEmptyList.spec.tsx.snap         |  0
 .../ecogestureEmptyList.scss                  |  0
 .../EcogestureInitModal.spec.tsx              |  0
 .../EcogestureInitModal.tsx                   |  2 +
 .../EcogestureInitModal.spec.tsx.snap         |  0
 .../ecogestureInitModal.scss                  |  0
 .../EcogestureList.spec.tsx                   | 17 +++++--
 .../{ => EcogestureList}/EcogestureList.tsx   |  2 +-
 .../EcogestureList.spec.tsx.snap              |  0
 .../{ => EcogestureList}/ecogestureList.scss  |  0
 .../EcogestureModal.spec.tsx                  |  8 +--
 .../{ => EcogestureModal}/EcogestureModal.tsx |  2 +-
 .../ecogestureModal.scss                      |  0
 .../EcogestureReinitModal.spec.tsx            |  0
 .../EcogestureReinitModal.tsx                 |  2 +
 .../EcogestureReinitModal.spec.tsx.snap       |  0
 .../ecogestureReinitModal.scss                |  0
 ...w.spec.tsx => EcogestureTabsView.spec.tsx} | 25 +++++-----
 ...gestureView.tsx => EcogestureTabsView.tsx} | 14 +++---
 .../EfficiencyRating.spec.tsx                 |  2 +-
 .../EfficiencyRating.tsx                      |  0
 .../EfficiencyRating.spec.tsx.snap            |  0
 ...spec.tsx => SingleEcogestureView.spec.tsx} | 23 ++++-----
 ...cogesture.tsx => SingleEcogestureView.tsx} |  8 +--
 ....snap => EcogestureTabsView.spec.tsx.snap} |  4 +-
 ...nap => SingleEcogestureView.spec.tsx.snap} |  4 +-
 ...stureView.scss => ecogestureTabsView.scss} |  0
 ...gesture.scss => singleEcogestureView.scss} |  0
 .../EcogestureFormEquipment.spec.tsx          |  8 +--
 .../EcogestureFormEquipment.tsx               |  4 +-
 .../EcogestureFormEquipment.spec.tsx.snap     |  0
 .../ecogestureFormEquipment.scss              |  0
 .../EcogestureFormSingleChoice.spec.tsx       |  8 +--
 .../EcogestureFormSingleChoice.tsx            |  2 +-
 .../EcogestureFormSingleChoice.spec.tsx.snap  |  0
 .../ecogestureFormSingleChoice.scss           |  0
 .../EcogestureFormView.spec.tsx               |  8 +--
 .../EcogestureForm/EcogestureFormView.tsx     |  6 +--
 .../EcogestureLaunchFormModal.spec.tsx        |  0
 .../EcogestureLaunchFormModal.tsx             |  0
 .../EcogestureLaunchFormModal.spec.tsx.snap   |  0
 .../ecogestureLaunchFormModal.scss            |  0
 .../EquipmentIcon.spec.tsx                    |  2 +-
 .../{ => EquipmentIcon}/EquipmentIcon.tsx     |  0
 .../__snapshots__/EquipmentIcon.spec.tsx.snap |  0
 .../EcogestureSelectionDetail.spec.tsx        |  4 +-
 .../EcogestureSelectionDetail.tsx             |  0
 .../EcogestureSelectionDetail.spec.tsx.snap   |  0
 .../ecogestureSelectionDetail.scss            |  0
 .../EcogestureSelectionEnd.spec.tsx           |  0
 .../EcogestureSelectionEnd.tsx                |  0
 .../EcogestureSelectionEnd.spec.tsx.snap      |  0
 .../ecogestureSelectionEnd.scss               |  0
 .../EcogestureSelectionModal.spec.tsx         |  0
 .../EcogestureSelectionModal.tsx              |  0
 .../EcogestureSelectionModal.spec.tsx.snap    |  0
 .../ecogestureSelectionModal.scss             |  0
 .../EcogestureSelectionRestart.spec.tsx       |  0
 .../EcogestureSelectionRestart.tsx            |  0
 .../EcogestureSelectionRestart.spec.tsx.snap  |  0
 .../ecogestureSelectionRestart.scss           |  0
 ...c.tsx => EcogestureSelectionView.spec.tsx} | 40 +++++++--------
 ...ection.tsx => EcogestureSelectionView.tsx} | 14 +++---
 ... => EcogestureSelectionView.spec.tsx.snap} |  8 +--
 ...tion.scss => ecogestureSelectionView.scss} |  0
 .../Exploration/ExplorationFinished.spec.tsx  |  4 +-
 .../Exploration/ExplorationOngoing.spec.tsx   |  4 +-
 .../Exploration/ExplorationOngoing.tsx        |  2 +-
 .../Exploration/ExplorationView.spec.tsx      |  6 +--
 .../Feedback/FeedbackModal.spec.tsx           |  2 +-
 src/components/FluidChart/FluidChart.tsx      |  4 +-
 .../HalfHourNoData/HalfHourNoData.spec.tsx    |  0
 .../HalfHourNoData/HalfHourNoData.tsx         |  0
 .../HalfHourNoData.spec.tsx.snap              |  0
 .../HalfHourNoData/halfHourNoData.scss        |  0
 .../TimeStepSelector.spec.tsx                 |  6 +--
 .../TimeStepSelector/TimeStepSelector.tsx     |  0
 .../TimeStepSelector.spec.tsx.snap            |  0
 .../TimeStepSelector/timeStepSelector.scss    |  0
 src/components/Header/CozyBar.spec.tsx        |  2 +-
 src/components/Header/Header.spec.tsx         |  2 +-
 src/components/Hooks/useExploration.spec.tsx  |  4 +-
 .../ConnectionNotFound.spec.tsx               |  2 +-
 .../ConnectionNotFound.tsx                    |  0
 .../ConnectionNotFound.spec.tsx.snap          |  0
 .../connectionNotFound.scss                   |  0
 .../ConnectionResult}/ConnectionResult.tsx    |  2 +-
 .../ConnectionResult}/connectionResult.scss   |  0
 .../Konnector/KonnectorModal.spec.tsx         |  4 +-
 .../Konnector/KonnectorModalFooter.spec.tsx   |  6 +--
 .../Konnector/KonnectorViewerCard.tsx         |  4 +-
 .../Konnector/KonnectorViewerList.spec.tsx    |  4 +-
 src/components/Navbar/Navbar.spec.tsx         |  2 +-
 .../Options/ExportData/ExportData.spec.tsx    |  2 +-
 .../Options/ExportData/ExportData.tsx         |  6 +--
 .../exportDoneModal.spec.tsx.snap             |  0
 .../exportLoadingModal.spec.tsx.snap          |  0
 .../exportStartModal.spec.tsx.snap            |  0
 .../ExportData/Modals}/exportDoneModal.scss   |  0
 .../Modals}/exportDoneModal.spec.tsx          |  4 +-
 .../ExportData/Modals}/exportDoneModal.tsx    |  0
 .../Modals}/exportLoadingModal.scss           |  0
 .../Modals}/exportLoadingModal.spec.tsx       |  4 +-
 .../ExportData/Modals}/exportLoadingModal.tsx |  0
 .../ExportData/Modals}/exportStartModal.scss  |  0
 .../Modals}/exportStartModal.spec.tsx         |  4 +-
 .../ExportData/Modals}/exportStartModal.tsx   |  0
 .../ProfileTypeOptions.spec.tsx               |  4 +-
 .../ReportOptions/ReportOptions.spec.tsx      |  2 +-
 ...ribe.spec.tsx => UnSubscribeView.spec.tsx} |  8 +--
 .../{UnSubscribe.tsx => UnSubscribeView.tsx}  |  6 +--
 ...tsx.snap => UnSubscribeView.spec.tsx.snap} |  4 +-
 ...{unSubscribe.scss => unSubscribeView.scss} |  0
 .../PartnerIssue/PartnerIssueModal.spec.tsx   |  2 +-
 .../ProfileTypeFinished.spec.tsx              |  4 +-
 .../ProfileTypeFinished.tsx                   |  2 +-
 .../profileTypeFinished.scss                  |  0
 .../ProfileTypeFormDateSelection.tsx          |  4 +-
 .../ProfileTypeFormMultiChoice.spec.tsx       |  4 +-
 .../ProfileTypeFormMultiChoice.tsx            |  4 +-
 .../ProfileTypeFormNumber.spec.tsx            |  4 +-
 .../ProfileTypeFormNumber.tsx                 |  4 +-
 .../ProfileTypeFormNumberSelection.spec.tsx   |  4 +-
 .../ProfileTypeFormNumberSelection.tsx        |  4 +-
 .../ProfileTypeFormSingleChoice.spec.tsx      |  4 +-
 .../ProfileTypeFormSingleChoice.tsx           |  4 +-
 .../ProfileType/ProfileTypeView.spec.tsx      |  2 +-
 .../ProfileType/ProfileTypeView.tsx           | 14 +++---
 .../Quiz/{ => QuizBegin}/QuizBegin.spec.tsx   |  4 +-
 .../Quiz/{ => QuizBegin}/QuizBegin.tsx        |  6 +--
 .../Quiz/{ => QuizBegin}/quizBegin.scss       |  0
 .../QuizExplanationModal.tsx                  |  0
 .../quizExplanationModal.scss                 |  0
 .../Quiz/{ => QuizFinish}/QuizFinish.spec.tsx |  6 +--
 .../Quiz/{ => QuizFinish}/QuizFinish.tsx      |  0
 .../Quiz/{ => QuizFinish}/quizFinish.scss     |  0
 .../{ => QuizQuestion}/QuizQuestion.spec.tsx  | 17 ++++---
 .../Quiz/{ => QuizQuestion}/QuizQuestion.tsx  | 14 +++---
 .../QuizQuestionContent.spec.tsx              |  6 +--
 .../QuizQuestionContent.tsx                   |  6 +--
 .../QuizQuestionContentCustom.spec.tsx}       | 16 +++---
 .../QuizQuestionContentCustom.tsx}            | 14 +++---
 .../Quiz/{ => QuizQuestion}/quizQuestion.scss |  0
 src/components/Quiz/QuizView.spec.tsx         | 15 +++---
 src/components/Quiz/QuizView.tsx              |  6 +--
 .../ReleaseNotesModal.scss                    |  0
 .../ReleaseNotesModal.tsx                     |  0
 src/components/Routes/Routes.tsx              | 28 +++++------
 src/components/Splash/SplashRoot.spec.tsx     |  2 +-
 .../Terms/DataShareConsentContent.spec.tsx    |  2 +-
 src/components/Terms/TermsView.spec.tsx       |  4 +-
 .../TotalConsumption.spec.tsx                 |  9 ++--
 .../WelcomeModal/WelcomeModal.spec.tsx        |  4 +-
 src/migrations/migration.service.spec.ts      |  2 +-
 src/migrations/migration.spec.ts              |  4 +-
 src/services/account.service.spec.ts          |  8 +--
 src/services/action.service.spec.ts           |  8 +--
 src/services/challenge.service.spec.ts        | 16 +++---
 src/services/connection.service.spec.ts       |  8 +--
 src/services/consumption.service.spec.ts      |  8 +--
 .../consumptionFormatter.service.spec.ts      |  2 +-
 src/services/customPopup.service.test.ts      |  4 +-
 src/services/duel.service.spec.ts             |  8 +--
 src/services/ecogesture.service.spec.ts       |  8 +--
 .../enedisMonthlyAnalysisData.service.spec.ts |  4 +-
 src/services/exploration.service.spec.ts      |  6 +--
 src/services/fluid.service.spec.ts            | 10 ++--
 src/services/fluidsPrices.service.spec.ts     |  4 +-
 src/services/initialization.service.spec.ts   | 26 +++++-----
 src/services/konnector.service.spec.ts        | 10 ++--
 src/services/konnectorStatus.service.spec.ts  |  4 +-
 src/services/mail.service.spec.ts             |  2 +-
 src/services/partnersInfo.service.spec.ts     |  2 +-
 src/services/profile.service.spec.ts          |  4 +-
 .../profileEcogesture.service.spec.ts         |  4 +-
 src/services/profileType.service.spec.ts      |  4 +-
 .../profileTypeEntity.service.spec.ts         |  4 +-
 src/services/queryRunner.service.spec.ts      | 10 ++--
 src/services/quiz.service.spec.ts             |  6 +--
 src/services/terms.service.spec.ts            |  6 +--
 src/services/triggers.service.spec.ts         | 10 ++--
 src/services/usageEvent.service.spec.ts       |  4 +-
 src/store/analysis/analysis.slice.spec.ts     |  2 +-
 src/store/challenge/challenge.slice.spec.ts   |  4 +-
 src/store/chart/chart.slice.spec.ts           |  4 +-
 src/store/global/global.slice.spec.ts         |  8 +--
 src/store/modal/modal.slice.spec.ts           |  4 +-
 src/store/profile/profile.action.spec.ts      |  5 +-
 src/store/profile/profile.reducer.spec.ts     |  2 +-
 .../profileEcogesture.action.spec.ts          |  4 +-
 .../profileEcogesture.reducer.spec.ts         |  2 +-
 .../profileType/profileType.slice.spec.ts     |  2 +-
 src/utils/date.spec.ts                        |  2 +-
 src/utils/hash.spec.ts                        |  2 +-
 tsconfig.json                                 |  5 +-
 342 files changed, 661 insertions(+), 635 deletions(-)
 rename src/components/Action/{ => ActionBegin}/ActionBegin.spec.tsx (91%)
 rename src/components/Action/{ => ActionBegin}/ActionBegin.tsx (94%)
 rename src/components/Action/{ => ActionBegin}/__snapshots__/ActionBegin.spec.tsx.snap (100%)
 rename src/components/Action/{ => ActionBegin}/actionBegin.scss (100%)
 rename src/components/Action/{ => ActionCard}/ActionCard.spec.tsx (83%)
 rename src/components/Action/{ => ActionCard}/ActionCard.tsx (98%)
 rename src/components/Action/{ => ActionCard}/__snapshots__/ActionCard.spec.tsx.snap (100%)
 rename src/components/Action/{actionList.scss => ActionCard/actionCard.scss} (66%)
 rename src/components/Action/{ => ActionChoose}/ActionChoose.spec.tsx (84%)
 rename src/components/Action/{ => ActionChoose}/ActionChoose.tsx (86%)
 rename src/components/Action/{ => ActionChoose}/__snapshots__/ActionChoose.spec.tsx.snap (100%)
 rename src/components/Action/{ => ActionDone}/ActionDone.spec.tsx (88%)
 rename src/components/Action/{ => ActionDone}/ActionDone.tsx (100%)
 rename src/components/Action/{ => ActionDone}/__snapshots__/ActionDone.spec.tsx.snap (100%)
 rename src/components/Action/{ => ActionDone}/actionDone.scss (100%)
 rename src/components/Action/{ => ActionList}/ActionList.spec.tsx (87%)
 rename src/components/Action/{ => ActionList}/ActionList.tsx (90%)
 create mode 100644 src/components/Action/ActionList/actionList.scss
 rename src/components/Action/{ => ActionModal}/ActionModal.spec.tsx (86%)
 rename src/components/Action/{ => ActionModal}/ActionModal.tsx (100%)
 rename src/components/Action/{ => ActionModal}/__snapshots__/ActionModal.spec.tsx.snap (100%)
 rename src/components/Action/{ => ActionModal}/actionModal.scss (100%)
 rename src/components/Action/{ => ActionOnGoing}/ActionOnGoing.spec.tsx (88%)
 rename src/components/Action/{ => ActionOnGoing}/ActionOnGoing.tsx (99%)
 rename src/components/Action/{ => ActionOnGoing}/__snapshots__/ActionOnGoing.spec.tsx.snap (100%)
 rename src/components/Action/{ => ActionOnGoing}/actionOnGoing.scss (100%)
 rename src/components/Challenge/{ => ChallengeCard}/ChallengeCard.spec.tsx (84%)
 rename src/components/Challenge/{ => ChallengeCard}/ChallengeCard.tsx (80%)
 rename src/components/Challenge/{ => ChallengeCard}/__snapshots__/ChallengeCard.spec.tsx.snap (100%)
 rename src/components/Challenge/{ => ChallengeCard}/challengeCard.scss (100%)
 rename src/components/Challenge/{ => ChallengeCardDone}/ChallengeCardDone.spec.tsx (93%)
 rename src/components/Challenge/{ => ChallengeCardDone}/ChallengeCardDone.tsx (100%)
 rename src/components/Challenge/{ => ChallengeCardDone}/__snapshots__/ChallengeCardDone.spec.tsx.snap (100%)
 rename src/components/Challenge/{ => ChallengeCardDone}/challengeCardDone.scss (100%)
 rename src/components/Challenge/{ => ChallengeCardLast}/ChallengeCardLast.spec.tsx (100%)
 rename src/components/Challenge/{ => ChallengeCardLast}/ChallengeCardLast.tsx (100%)
 rename src/components/Challenge/{ => ChallengeCardLast}/__snapshots__/ChallengeCardLast.spec.tsx.snap (100%)
 rename src/components/Challenge/{ => ChallengeCardLast}/challengeCardLast.scss (100%)
 rename src/components/Challenge/{ => ChallengeCardLocked}/ChallengeCardLocked.spec.tsx (82%)
 rename src/components/Challenge/{ => ChallengeCardLocked}/ChallengeCardLocked.tsx (100%)
 rename src/components/Challenge/{ => ChallengeCardLocked}/__snapshots__/ChallengeCardLocked.spec.tsx.snap (100%)
 rename src/components/Challenge/{ => ChallengeCardLocked}/challengeCardLocked.scss (100%)
 rename src/components/Challenge/{ => ChallengeCardOnGoing}/ChallengeCardOnGoing.tsx (98%)
 rename src/components/Challenge/{ => ChallengeCardOnGoing}/challengeCardOnGoing.scss (100%)
 rename src/components/Challenge/{ => ChallengeCardUnlocked}/ChallengeCardUnlocked.spec.tsx (93%)
 rename src/components/Challenge/{ => ChallengeCardUnlocked}/ChallengeCardUnlocked.tsx (97%)
 rename src/components/Challenge/{ => ChallengeCardUnlocked}/challengeCardUnlocked.scss (100%)
 rename src/components/Challenge/{ => ChallengeNoFluidModal}/ChallengeNoFluidModal.spec.tsx (100%)
 rename src/components/Challenge/{ => ChallengeNoFluidModal}/ChallengeNoFluidModal.tsx (100%)
 rename src/components/Challenge/{ => ChallengeNoFluidModal}/__snapshots__/ChallengeNoFluidModal.spec.tsx.snap (100%)
 rename src/components/Challenge/{ => ChallengeNoFluidModal}/challengeNoFluidModal.scss (100%)
 rename src/components/{FormGlobal => CommonKit/FormNavigation}/FormNavigation.spec.tsx (95%)
 rename src/components/{FormGlobal => CommonKit/FormNavigation}/FormNavigation.tsx (98%)
 rename src/components/{FormGlobal => CommonKit/FormNavigation}/formNavigation.scss (100%)
 rename src/components/{FormGlobal => CommonKit/FormProgress}/FormProgress.tsx (94%)
 rename src/components/{FormGlobal => CommonKit/FormProgress}/formProgress.scss (100%)
 rename src/components/{Challenge => CommonKit/StarsContainer}/StarsContainer.tsx (100%)
 rename src/components/Connection/{ => EPGLConnect/FormLogin}/FormLogin.tsx (100%)
 rename src/components/Connection/{ => EPGLConnect/FormLogin}/formLogin.scss (100%)
 rename src/components/Connection/{ => ExpiredConsentModal}/ExpiredConsentModal.spec.tsx (94%)
 rename src/components/Connection/{ => ExpiredConsentModal}/ExpiredConsentModal.tsx (100%)
 rename src/components/Connection/{ => ExpiredConsentModal}/__snapshots__/ExpiredConsentModal.spec.tsx.snap (100%)
 rename src/components/Connection/{ => ExpiredConsentModal}/expiredConsentModal.scss (100%)
 rename src/components/Connection/{ => GRDFDeleteAccountModal}/DeleteGRDFAccountModal.spec.tsx (100%)
 rename src/components/Connection/{ => GRDFDeleteAccountModal}/DeleteGRDFAccountModal.tsx (100%)
 rename src/components/Connection/{ => GRDFDeleteAccountModal}/__snapshots__/DeleteGRDFAccountModal.spec.tsx.snap (100%)
 rename src/components/Connection/{ => GRDFDeleteAccountModal}/deleteGRDFAccountModal.scss (100%)
 rename src/components/Connection/{FormOAuth.tsx => PartnerConnectModal/Steps/GrdfFormOAuth.tsx} (94%)
 rename src/components/{Home => Consumption/ConsumptionDetails}/ConsumptionDetails.spec.tsx (88%)
 rename src/components/{Home => Consumption/ConsumptionDetails}/ConsumptionDetails.tsx (100%)
 rename src/components/{Home => Consumption/ConsumptionDetails}/__snapshots__/ConsumptionDetails.spec.tsx.snap (100%)
 rename src/components/{Home => Consumption/ConsumptionDetails}/consumptionDetails.scss (100%)
 rename src/components/{Home => Consumption}/ConsumptionView.spec.tsx (85%)
 rename src/components/{Home => Consumption}/ConsumptionView.tsx (97%)
 rename src/components/{Home => Consumption/FluidButtons}/FluidButton.spec.tsx (93%)
 rename src/components/{Home => Consumption/FluidButtons}/FluidButton.tsx (100%)
 rename src/components/{Home => Consumption/FluidButtons}/FluidButtons.spec.tsx (86%)
 rename src/components/{Home => Consumption/FluidButtons}/FluidButtons.tsx (100%)
 rename src/components/{Home => Consumption/FluidButtons}/__snapshots__/FluidButton.spec.tsx.snap (100%)
 rename src/components/{Home => Consumption/FluidButtons}/__snapshots__/FluidButtons.spec.tsx.snap (100%)
 rename src/components/{Home => Consumption/FluidButtons}/fluidButtons.scss (100%)
 rename src/components/{Home => Consumption}/consumptionView.scss (100%)
 rename src/components/Duel/{ => DuelChart}/DuelBar.tsx (100%)
 rename src/components/Duel/{ => DuelChart}/DuelChart.tsx (94%)
 rename src/components/Duel/{ => DuelChart}/duelChart.scss (100%)
 rename src/components/Duel/{ => DuelEmptyValueModal}/DuelEmptyValueModal.tsx (100%)
 rename src/components/Duel/{ => DuelEmptyValueModal}/duelEmptyValueModal.scss (100%)
 rename src/components/Duel/{ => DuelError}/DuelError.spec.tsx (91%)
 rename src/components/Duel/{ => DuelError}/DuelError.tsx (100%)
 rename src/components/Duel/{ => DuelError}/__snapshots__/DuelError.spec.tsx.snap (100%)
 rename src/components/Duel/{ => DuelError}/duelError.scss (100%)
 rename src/components/Duel/{ => DuelOngoing}/DuelOngoing.spec.tsx (82%)
 rename src/components/Duel/{ => DuelOngoing}/DuelOngoing.tsx (97%)
 rename src/components/Duel/{ => DuelOngoing}/duelOngoing.scss (100%)
 rename src/components/Duel/{ => DuelResultModal}/DuelResultModal.spec.tsx (89%)
 rename src/components/Duel/{ => DuelResultModal}/DuelResultModal.tsx (100%)
 rename src/components/Duel/{ => DuelResultModal}/__snapshots__/DuelResultModal.spec.tsx.snap (100%)
 rename src/components/Duel/{ => DuelResultModal}/duelResultModal.scss (100%)
 rename src/components/Duel/{ => DuelUnlocked}/DuelUnlocked.spec.tsx (89%)
 rename src/components/Duel/{ => DuelUnlocked}/DuelUnlocked.tsx (100%)
 rename src/components/Duel/{ => DuelUnlocked}/duelUnlocked.scss (100%)
 rename src/components/Duel/{ => LastDuelModal}/__snapshots__/lastDuelModal.spec.tsx.snap (100%)
 rename src/components/Duel/{ => LastDuelModal}/lastDuelModal.scss (100%)
 rename src/components/Duel/{ => LastDuelModal}/lastDuelModal.spec.tsx (87%)
 rename src/components/Duel/{ => LastDuelModal}/lastDuelModal.tsx (100%)
 rename src/components/Ecogesture/{ => EcogestureCard}/EcogestureCard.spec.tsx (86%)
 rename src/components/Ecogesture/{ => EcogestureCard}/EcogestureCard.tsx (95%)
 rename src/components/Ecogesture/{ => EcogestureCard}/__snapshots__/EcogestureCard.spec.tsx.snap (100%)
 rename src/components/Ecogesture/{ => EcogestureCard}/ecogestureCard.scss (100%)
 rename src/components/Ecogesture/{ => EcogestureEmptyList}/EcogestureEmptyList.spec.tsx (100%)
 rename src/components/Ecogesture/{ => EcogestureEmptyList}/EcogestureEmptyList.tsx (100%)
 rename src/components/Ecogesture/{ => EcogestureEmptyList}/__snapshots__/EcogestureEmptyList.spec.tsx.snap (100%)
 rename src/components/Ecogesture/{ => EcogestureEmptyList}/ecogestureEmptyList.scss (100%)
 rename src/components/Ecogesture/{ => EcogestureInitModal}/EcogestureInitModal.spec.tsx (100%)
 rename src/components/Ecogesture/{ => EcogestureInitModal}/EcogestureInitModal.tsx (99%)
 rename src/components/Ecogesture/{ => EcogestureInitModal}/__snapshots__/EcogestureInitModal.spec.tsx.snap (100%)
 rename src/components/Ecogesture/{ => EcogestureInitModal}/ecogestureInitModal.scss (100%)
 rename src/components/Ecogesture/{ => EcogestureList}/EcogestureList.spec.tsx (85%)
 rename src/components/Ecogesture/{ => EcogestureList}/EcogestureList.tsx (99%)
 rename src/components/Ecogesture/{ => EcogestureList}/__snapshots__/EcogestureList.spec.tsx.snap (100%)
 rename src/components/Ecogesture/{ => EcogestureList}/ecogestureList.scss (100%)
 rename src/components/Ecogesture/{ => EcogestureModal}/EcogestureModal.spec.tsx (80%)
 rename src/components/Ecogesture/{ => EcogestureModal}/EcogestureModal.tsx (98%)
 rename src/components/Ecogesture/{ => EcogestureModal}/ecogestureModal.scss (100%)
 rename src/components/Ecogesture/{ => EcogestureReinitModal}/EcogestureReinitModal.spec.tsx (100%)
 rename src/components/Ecogesture/{ => EcogestureReinitModal}/EcogestureReinitModal.tsx (99%)
 rename src/components/Ecogesture/{ => EcogestureReinitModal}/__snapshots__/EcogestureReinitModal.spec.tsx.snap (100%)
 rename src/components/Ecogesture/{ => EcogestureReinitModal}/ecogestureReinitModal.scss (100%)
 rename src/components/Ecogesture/{EcogestureView.spec.tsx => EcogestureTabsView.spec.tsx} (81%)
 rename src/components/Ecogesture/{EcogestureView.tsx => EcogestureTabsView.tsx} (96%)
 rename src/components/Ecogesture/{ => EfficiencyRating}/EfficiencyRating.spec.tsx (95%)
 rename src/components/Ecogesture/{ => EfficiencyRating}/EfficiencyRating.tsx (100%)
 rename src/components/Ecogesture/{ => EfficiencyRating}/__snapshots__/EfficiencyRating.spec.tsx.snap (100%)
 rename src/components/Ecogesture/{SingleEcogesture.spec.tsx => SingleEcogestureView.spec.tsx} (87%)
 rename src/components/Ecogesture/{SingleEcogesture.tsx => SingleEcogestureView.tsx} (97%)
 rename src/components/Ecogesture/__snapshots__/{EcogestureView.spec.tsx.snap => EcogestureTabsView.spec.tsx.snap} (99%)
 rename src/components/Ecogesture/__snapshots__/{SingleEcogesture.spec.tsx.snap => SingleEcogestureView.spec.tsx.snap} (99%)
 rename src/components/Ecogesture/{ecogestureView.scss => ecogestureTabsView.scss} (100%)
 rename src/components/Ecogesture/{singleEcogesture.scss => singleEcogestureView.scss} (100%)
 rename src/components/EcogestureForm/{ => EcogestureFormEquipment}/EcogestureFormEquipment.spec.tsx (89%)
 rename src/components/EcogestureForm/{ => EcogestureFormEquipment}/EcogestureFormEquipment.tsx (96%)
 rename src/components/EcogestureForm/{ => EcogestureFormEquipment}/__snapshots__/EcogestureFormEquipment.spec.tsx.snap (100%)
 rename src/components/EcogestureForm/{ => EcogestureFormEquipment}/ecogestureFormEquipment.scss (100%)
 rename src/components/EcogestureForm/{ => EcogestureFormSingleChoice}/EcogestureFormSingleChoice.spec.tsx (93%)
 rename src/components/EcogestureForm/{ => EcogestureFormSingleChoice}/EcogestureFormSingleChoice.tsx (97%)
 rename src/components/EcogestureForm/{ => EcogestureFormSingleChoice}/__snapshots__/EcogestureFormSingleChoice.spec.tsx.snap (100%)
 rename src/components/EcogestureForm/{ => EcogestureFormSingleChoice}/ecogestureFormSingleChoice.scss (100%)
 rename src/components/EcogestureForm/{ => EcogestureLaunchFormModal}/EcogestureLaunchFormModal.spec.tsx (100%)
 rename src/components/EcogestureForm/{ => EcogestureLaunchFormModal}/EcogestureLaunchFormModal.tsx (100%)
 rename src/components/EcogestureForm/{ => EcogestureLaunchFormModal}/__snapshots__/EcogestureLaunchFormModal.spec.tsx.snap (100%)
 rename src/components/EcogestureForm/{ => EcogestureLaunchFormModal}/ecogestureLaunchFormModal.scss (100%)
 rename src/components/EcogestureForm/{ => EquipmentIcon}/EquipmentIcon.spec.tsx (93%)
 rename src/components/EcogestureForm/{ => EquipmentIcon}/EquipmentIcon.tsx (100%)
 rename src/components/EcogestureForm/{ => EquipmentIcon}/__snapshots__/EquipmentIcon.spec.tsx.snap (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionDetail}/EcogestureSelectionDetail.spec.tsx (93%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionDetail}/EcogestureSelectionDetail.tsx (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionDetail}/__snapshots__/EcogestureSelectionDetail.spec.tsx.snap (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionDetail}/ecogestureSelectionDetail.scss (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionEnd}/EcogestureSelectionEnd.spec.tsx (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionEnd}/EcogestureSelectionEnd.tsx (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionEnd}/__snapshots__/EcogestureSelectionEnd.spec.tsx.snap (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionEnd}/ecogestureSelectionEnd.scss (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionModal}/EcogestureSelectionModal.spec.tsx (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionModal}/EcogestureSelectionModal.tsx (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionModal}/__snapshots__/EcogestureSelectionModal.spec.tsx.snap (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionModal}/ecogestureSelectionModal.scss (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionRestart}/EcogestureSelectionRestart.spec.tsx (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionRestart}/EcogestureSelectionRestart.tsx (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionRestart}/__snapshots__/EcogestureSelectionRestart.spec.tsx.snap (100%)
 rename src/components/EcogestureSelection/{ => EcogestureSelectionRestart}/ecogestureSelectionRestart.scss (100%)
 rename src/components/EcogestureSelection/{EcogestureSelection.spec.tsx => EcogestureSelectionView.spec.tsx} (68%)
 rename src/components/EcogestureSelection/{EcogestureSelection.tsx => EcogestureSelectionView.tsx} (91%)
 rename src/components/EcogestureSelection/__snapshots__/{EcogestureSelection.spec.tsx.snap => EcogestureSelectionView.spec.tsx.snap} (94%)
 rename src/components/EcogestureSelection/{ecogestureSelection.scss => ecogestureSelectionView.scss} (100%)
 rename src/components/{ => FluidChart}/HalfHourNoData/HalfHourNoData.spec.tsx (100%)
 rename src/components/{ => FluidChart}/HalfHourNoData/HalfHourNoData.tsx (100%)
 rename src/components/{ => FluidChart}/HalfHourNoData/__snapshots__/HalfHourNoData.spec.tsx.snap (100%)
 rename src/components/{ => FluidChart}/HalfHourNoData/halfHourNoData.scss (100%)
 rename src/components/{ => FluidChart}/TimeStepSelector/TimeStepSelector.spec.tsx (91%)
 rename src/components/{ => FluidChart}/TimeStepSelector/TimeStepSelector.tsx (100%)
 rename src/components/{ => FluidChart}/TimeStepSelector/__snapshots__/TimeStepSelector.spec.tsx.snap (100%)
 rename src/components/{ => FluidChart}/TimeStepSelector/timeStepSelector.scss (100%)
 rename src/components/{Connection => Konnector/ConnectionNotFound}/ConnectionNotFound.spec.tsx (89%)
 rename src/components/{Connection => Konnector/ConnectionNotFound}/ConnectionNotFound.tsx (100%)
 rename src/components/{Connection => Konnector/ConnectionNotFound}/__snapshots__/ConnectionNotFound.spec.tsx.snap (100%)
 rename src/components/{Connection => Konnector/ConnectionNotFound}/connectionNotFound.scss (100%)
 rename src/components/{Connection => Konnector/ConnectionResult}/ConnectionResult.tsx (99%)
 rename src/components/{Connection => Konnector/ConnectionResult}/connectionResult.scss (100%)
 rename src/components/{Export => Options/ExportData/Modals}/__snapshots__/exportDoneModal.spec.tsx.snap (100%)
 rename src/components/{Export => Options/ExportData/Modals}/__snapshots__/exportLoadingModal.spec.tsx.snap (100%)
 rename src/components/{Export => Options/ExportData/Modals}/__snapshots__/exportStartModal.spec.tsx.snap (100%)
 rename src/components/{Export => Options/ExportData/Modals}/exportDoneModal.scss (100%)
 rename src/components/{Export => Options/ExportData/Modals}/exportDoneModal.spec.tsx (89%)
 rename src/components/{Export => Options/ExportData/Modals}/exportDoneModal.tsx (100%)
 rename src/components/{Export => Options/ExportData/Modals}/exportLoadingModal.scss (100%)
 rename src/components/{Export => Options/ExportData/Modals}/exportLoadingModal.spec.tsx (90%)
 rename src/components/{Export => Options/ExportData/Modals}/exportLoadingModal.tsx (100%)
 rename src/components/{Export => Options/ExportData/Modals}/exportStartModal.scss (100%)
 rename src/components/{Export => Options/ExportData/Modals}/exportStartModal.spec.tsx (90%)
 rename src/components/{Export => Options/ExportData/Modals}/exportStartModal.tsx (100%)
 rename src/components/Options/Unsubscribe/{UnSubscribe.spec.tsx => UnSubscribeView.spec.tsx} (90%)
 rename src/components/Options/Unsubscribe/{UnSubscribe.tsx => UnSubscribeView.tsx} (95%)
 rename src/components/Options/Unsubscribe/__snapshots__/{UnSubscribe.spec.tsx.snap => UnSubscribeView.spec.tsx.snap} (99%)
 rename src/components/Options/Unsubscribe/{unSubscribe.scss => unSubscribeView.scss} (100%)
 rename src/components/ProfileType/{ => ProfileTypeFinished}/ProfileTypeFinished.spec.tsx (89%)
 rename src/components/ProfileType/{ => ProfileTypeFinished}/ProfileTypeFinished.tsx (98%)
 rename src/components/ProfileType/{ => ProfileTypeFinished}/profileTypeFinished.scss (100%)
 rename src/components/ProfileType/{ => ProfileTypeFormDateSelection}/ProfileTypeFormDateSelection.tsx (96%)
 rename src/components/ProfileType/{ => ProfileTypeFormMultiChoice}/ProfileTypeFormMultiChoice.spec.tsx (88%)
 rename src/components/ProfileType/{ => ProfileTypeFormMultiChoice}/ProfileTypeFormMultiChoice.tsx (95%)
 rename src/components/ProfileType/{ => ProfileTypeFormNumber}/ProfileTypeFormNumber.spec.tsx (88%)
 rename src/components/ProfileType/{ => ProfileTypeFormNumber}/ProfileTypeFormNumber.tsx (93%)
 rename src/components/ProfileType/{ => ProfileTypeFormNumberSelection}/ProfileTypeFormNumberSelection.spec.tsx (88%)
 rename src/components/ProfileType/{ => ProfileTypeFormNumberSelection}/ProfileTypeFormNumberSelection.tsx (95%)
 rename src/components/ProfileType/{ => ProfileTypeFormSingleChoice}/ProfileTypeFormSingleChoice.spec.tsx (88%)
 rename src/components/ProfileType/{ => ProfileTypeFormSingleChoice}/ProfileTypeFormSingleChoice.tsx (95%)
 rename src/components/Quiz/{ => QuizBegin}/QuizBegin.spec.tsx (85%)
 rename src/components/Quiz/{ => QuizBegin}/QuizBegin.tsx (91%)
 rename src/components/Quiz/{ => QuizBegin}/quizBegin.scss (100%)
 rename src/components/Quiz/{ => QuizExplanationModal}/QuizExplanationModal.tsx (100%)
 rename src/components/Quiz/{ => QuizExplanationModal}/quizExplanationModal.scss (100%)
 rename src/components/Quiz/{ => QuizFinish}/QuizFinish.spec.tsx (83%)
 rename src/components/Quiz/{ => QuizFinish}/QuizFinish.tsx (100%)
 rename src/components/Quiz/{ => QuizFinish}/quizFinish.scss (100%)
 rename src/components/Quiz/{ => QuizQuestion}/QuizQuestion.spec.tsx (78%)
 rename src/components/Quiz/{ => QuizQuestion}/QuizQuestion.tsx (88%)
 rename src/components/Quiz/{ => QuizQuestion}/QuizQuestionContent.spec.tsx (85%)
 rename src/components/Quiz/{ => QuizQuestion}/QuizQuestionContent.tsx (97%)
 rename src/components/Quiz/{QuizCustomQuestionContent.spec.tsx => QuizQuestion/QuizQuestionContentCustom.spec.tsx} (86%)
 rename src/components/Quiz/{QuizCustomQuestionContent.tsx => QuizQuestion/QuizQuestionContentCustom.tsx} (94%)
 rename src/components/Quiz/{ => QuizQuestion}/quizQuestion.scss (100%)
 rename src/components/{Home => ReleaseNotesModal}/ReleaseNotesModal.scss (100%)
 rename src/components/{Home => ReleaseNotesModal}/ReleaseNotesModal.tsx (100%)

diff --git a/jest.config.js b/jest.config.js
index fa3e2586f..cbbdcfe6b 100644
--- a/jest.config.js
+++ b/jest.config.js
@@ -1,8 +1,10 @@
-module.exports = {
+/** @type {import('jest').Config} */
+const config = {
   testURL: 'http://localhost/',
   moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx', 'json', 'styl'],
   setupFiles: ['<rootDir>/tests/jestLib/setup.js'],
-  moduleDirectories: ['src', 'node_modules'],
+  moduleDirectories: ['<rootDir>', 'node_modules'],
+  modulePaths: ['<rootDir>/src'],
   moduleNameMapper: {
     '\\.(png|gif|jpe?g|svg|hbs)$': '<rootDir>/tests/__mocks__/fileMock.js',
     // identity-obj-proxy module is installed by cozy-scripts
@@ -26,3 +28,5 @@ module.exports = {
     cozy: {},
   },
 }
+
+module.exports = config
diff --git a/src/components/Action/ActionBegin.spec.tsx b/src/components/Action/ActionBegin/ActionBegin.spec.tsx
similarity index 91%
rename from src/components/Action/ActionBegin.spec.tsx
rename to src/components/Action/ActionBegin/ActionBegin.spec.tsx
index cdc6b00e9..2abec2163 100644
--- a/src/components/Action/ActionBegin.spec.tsx
+++ b/src/components/Action/ActionBegin/ActionBegin.spec.tsx
@@ -6,17 +6,17 @@ import { Provider } from 'react-redux'
 import {
   AllEcogestureData,
   defaultEcogestureData,
-} from '../../../tests/__mocks__/actionData.mock'
-import { mockedEcogesturesData } from '../../../tests/__mocks__/ecogesturesData.mock'
+} from 'tests/__mocks__/actionData.mock'
+import { mockedEcogesturesData } from 'tests/__mocks__/ecogesturesData.mock'
 import {
   createMockEcolyoStore,
   mockGlobalState,
   mockProfileState,
-} from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+} from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import ActionModal from '../ActionModal/ActionModal'
 import ActionBegin from './ActionBegin'
-import ActionModal from './ActionModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Action/ActionBegin.tsx b/src/components/Action/ActionBegin/ActionBegin.tsx
similarity index 94%
rename from src/components/Action/ActionBegin.tsx
rename to src/components/Action/ActionBegin/ActionBegin.tsx
index 2fd6a04a1..f66e40a54 100644
--- a/src/components/Action/ActionBegin.tsx
+++ b/src/components/Action/ActionBegin/ActionBegin.tsx
@@ -1,9 +1,9 @@
 import { Button } from '@material-ui/core'
 import defaultIcon from 'assets/icons/visu/ecogesture/default.svg'
-import ActionModal from 'components/Action/ActionModal'
-import StarsContainer from 'components/Challenge/StarsContainer'
+import ActionModal from 'components/Action/ActionModal/ActionModal'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
-import { useClient } from 'cozy-client'
+import StarsContainer from 'components/CommonKit/StarsContainer/StarsContainer'
+import { Client, useClient } from 'cozy-client'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { Ecogesture, UserChallenge } from 'models'
 import React, { useCallback, useEffect, useState } from 'react'
@@ -23,7 +23,7 @@ const ActionBegin = ({
   setShowList,
   userChallenge,
 }: ActionBeginProps) => {
-  const client = useClient()
+  const client: Client = useClient()
   const { t } = useI18n()
   const {
     global: { fluidTypes },
diff --git a/src/components/Action/__snapshots__/ActionBegin.spec.tsx.snap b/src/components/Action/ActionBegin/__snapshots__/ActionBegin.spec.tsx.snap
similarity index 100%
rename from src/components/Action/__snapshots__/ActionBegin.spec.tsx.snap
rename to src/components/Action/ActionBegin/__snapshots__/ActionBegin.spec.tsx.snap
diff --git a/src/components/Action/actionBegin.scss b/src/components/Action/ActionBegin/actionBegin.scss
similarity index 100%
rename from src/components/Action/actionBegin.scss
rename to src/components/Action/ActionBegin/actionBegin.scss
diff --git a/src/components/Action/ActionCard.spec.tsx b/src/components/Action/ActionCard/ActionCard.spec.tsx
similarity index 83%
rename from src/components/Action/ActionCard.spec.tsx
rename to src/components/Action/ActionCard/ActionCard.spec.tsx
index b859485d9..6b41863f9 100644
--- a/src/components/Action/ActionCard.spec.tsx
+++ b/src/components/Action/ActionCard/ActionCard.spec.tsx
@@ -1,14 +1,14 @@
 import { Button } from '@material-ui/core'
 import defaultIcon from 'assets/icons/visu/duel/default.svg'
-import EcogestureModal from 'components/Ecogesture/EcogestureModal'
+import EcogestureModal from 'components/Ecogesture/EcogestureModal/EcogestureModal'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { defaultEcogestureData } from '../../../tests/__mocks__/actionData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { defaultEcogestureData } from 'tests/__mocks__/actionData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import ActionCard from './ActionCard'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Action/ActionCard.tsx b/src/components/Action/ActionCard/ActionCard.tsx
similarity index 98%
rename from src/components/Action/ActionCard.tsx
rename to src/components/Action/ActionCard/ActionCard.tsx
index 119f04b52..7c4fa8b98 100644
--- a/src/components/Action/ActionCard.tsx
+++ b/src/components/Action/ActionCard/ActionCard.tsx
@@ -1,7 +1,7 @@
 import { Button } from '@material-ui/core'
 import defaultIcon from 'assets/icons/visu/ecogesture/default.svg'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
-import EcogestureModal from 'components/Ecogesture/EcogestureModal'
+import EcogestureModal from 'components/Ecogesture/EcogestureModal/EcogestureModal'
 import { useClient } from 'cozy-client'
 import { UsageEventType } from 'enums'
 import { Ecogesture } from 'models'
@@ -9,7 +9,7 @@ import React, { useCallback, useEffect, useState } from 'react'
 import UsageEventService from 'services/usageEvent.service'
 import { useAppSelector } from 'store/hooks'
 import { importIconById } from 'utils/utils'
-import './actionList.scss'
+import './actionCard.scss'
 
 interface ActionCardProps {
   action: Ecogesture
diff --git a/src/components/Action/__snapshots__/ActionCard.spec.tsx.snap b/src/components/Action/ActionCard/__snapshots__/ActionCard.spec.tsx.snap
similarity index 100%
rename from src/components/Action/__snapshots__/ActionCard.spec.tsx.snap
rename to src/components/Action/ActionCard/__snapshots__/ActionCard.spec.tsx.snap
diff --git a/src/components/Action/actionList.scss b/src/components/Action/ActionCard/actionCard.scss
similarity index 66%
rename from src/components/Action/actionList.scss
rename to src/components/Action/ActionCard/actionCard.scss
index 94faf983a..ad7e7498b 100644
--- a/src/components/Action/actionList.scss
+++ b/src/components/Action/ActionCard/actionCard.scss
@@ -1,17 +1,5 @@
 @import 'src/styles/base/color';
 
-.action-list-container {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-  max-width: 600px;
-  margin: auto;
-  gap: 1rem;
-  width: 100%;
-  box-sizing: border-box;
-  padding: 0 1.5rem;
-}
 button.action-card {
   width: 100%;
   box-sizing: border-box;
diff --git a/src/components/Action/ActionChoose.spec.tsx b/src/components/Action/ActionChoose/ActionChoose.spec.tsx
similarity index 84%
rename from src/components/Action/ActionChoose.spec.tsx
rename to src/components/Action/ActionChoose/ActionChoose.spec.tsx
index 5964cac6e..ab20ba7b2 100644
--- a/src/components/Action/ActionChoose.spec.tsx
+++ b/src/components/Action/ActionChoose/ActionChoose.spec.tsx
@@ -6,10 +6,10 @@ import {
   createMockEcolyoStore,
   mockGlobalState,
   mockProfileState,
-} from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
-import ActionBegin from './ActionBegin'
+} from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import ActionBegin from '../ActionBegin/ActionBegin'
 import ActionChoose from './ActionChoose'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Action/ActionChoose.tsx b/src/components/Action/ActionChoose/ActionChoose.tsx
similarity index 86%
rename from src/components/Action/ActionChoose.tsx
rename to src/components/Action/ActionChoose/ActionChoose.tsx
index c137680a9..b1e7d3ad7 100644
--- a/src/components/Action/ActionChoose.tsx
+++ b/src/components/Action/ActionChoose/ActionChoose.tsx
@@ -1,7 +1,7 @@
-import ActionBegin from 'components/Action/ActionBegin'
-import ActionList from 'components/Action/ActionList'
 import { Ecogesture, UserChallenge } from 'models'
 import React, { useState } from 'react'
+import ActionBegin from '../ActionBegin/ActionBegin'
+import ActionList from '../ActionList/ActionList'
 
 const ActionChoose = ({ userChallenge }: { userChallenge: UserChallenge }) => {
   const [selectedAction, setSelectedAction] = useState<Ecogesture | null>(null)
diff --git a/src/components/Action/__snapshots__/ActionChoose.spec.tsx.snap b/src/components/Action/ActionChoose/__snapshots__/ActionChoose.spec.tsx.snap
similarity index 100%
rename from src/components/Action/__snapshots__/ActionChoose.spec.tsx.snap
rename to src/components/Action/ActionChoose/__snapshots__/ActionChoose.spec.tsx.snap
diff --git a/src/components/Action/ActionDone.spec.tsx b/src/components/Action/ActionDone/ActionDone.spec.tsx
similarity index 88%
rename from src/components/Action/ActionDone.spec.tsx
rename to src/components/Action/ActionDone/ActionDone.spec.tsx
index 49823ad46..b48eee510 100644
--- a/src/components/Action/ActionDone.spec.tsx
+++ b/src/components/Action/ActionDone/ActionDone.spec.tsx
@@ -5,9 +5,9 @@ import React from 'react'
 import { Provider } from 'react-redux'
 import UsageEventService from 'services/usageEvent.service'
 import * as challengeActions from 'store/challenge/challenge.slice'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import ActionDone from './ActionDone'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Action/ActionDone.tsx b/src/components/Action/ActionDone/ActionDone.tsx
similarity index 100%
rename from src/components/Action/ActionDone.tsx
rename to src/components/Action/ActionDone/ActionDone.tsx
diff --git a/src/components/Action/__snapshots__/ActionDone.spec.tsx.snap b/src/components/Action/ActionDone/__snapshots__/ActionDone.spec.tsx.snap
similarity index 100%
rename from src/components/Action/__snapshots__/ActionDone.spec.tsx.snap
rename to src/components/Action/ActionDone/__snapshots__/ActionDone.spec.tsx.snap
diff --git a/src/components/Action/actionDone.scss b/src/components/Action/ActionDone/actionDone.scss
similarity index 100%
rename from src/components/Action/actionDone.scss
rename to src/components/Action/ActionDone/actionDone.scss
diff --git a/src/components/Action/ActionList.spec.tsx b/src/components/Action/ActionList/ActionList.spec.tsx
similarity index 87%
rename from src/components/Action/ActionList.spec.tsx
rename to src/components/Action/ActionList/ActionList.spec.tsx
index 3da60b479..a0237a2bc 100644
--- a/src/components/Action/ActionList.spec.tsx
+++ b/src/components/Action/ActionList/ActionList.spec.tsx
@@ -1,13 +1,13 @@
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { defaultEcogestureData } from '../../../tests/__mocks__/actionData.mock'
+import { defaultEcogestureData } from 'tests/__mocks__/actionData.mock'
 import {
   createMockEcolyoStore,
   mockChallengeState,
   mockProfileState,
-} from '../../../tests/__mocks__/store'
-import ActionCard from './ActionCard'
+} from 'tests/__mocks__/store'
+import ActionCard from '../ActionCard/ActionCard'
 import ActionList from './ActionList'
 
 const mockgetCustomActions = jest.fn()
diff --git a/src/components/Action/ActionList.tsx b/src/components/Action/ActionList/ActionList.tsx
similarity index 90%
rename from src/components/Action/ActionList.tsx
rename to src/components/Action/ActionList/ActionList.tsx
index 88c812afd..a9ff78bb1 100644
--- a/src/components/Action/ActionList.tsx
+++ b/src/components/Action/ActionList/ActionList.tsx
@@ -1,10 +1,10 @@
-import ActionCard from 'components/Action/ActionCard'
-import { useClient } from 'cozy-client'
+import ActionCard from 'components/Action/ActionCard/ActionCard'
+import { Client, useClient } from 'cozy-client'
 import { Ecogesture } from 'models'
 import React, { useEffect, useState } from 'react'
 import ActionService from 'services/action.service'
 import { useAppSelector } from 'store/hooks'
-import './actionBegin.scss'
+import './actionList.scss'
 
 interface ActionListProps {
   setSelectedAction: React.Dispatch<React.SetStateAction<Ecogesture | null>>
@@ -12,7 +12,7 @@ interface ActionListProps {
 }
 
 const ActionList = ({ setSelectedAction, setShowList }: ActionListProps) => {
-  const client = useClient()
+  const client: Client = useClient()
   const {
     global: { fluidTypes },
     profile: { isProfileTypeCompleted },
diff --git a/src/components/Action/ActionList/actionList.scss b/src/components/Action/ActionList/actionList.scss
new file mode 100644
index 000000000..038a216c5
--- /dev/null
+++ b/src/components/Action/ActionList/actionList.scss
@@ -0,0 +1,14 @@
+@import 'src/styles/base/color';
+
+.action-list-container {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  max-width: 600px;
+  margin: auto;
+  gap: 1rem;
+  width: 100%;
+  box-sizing: border-box;
+  padding: 0 1.5rem;
+}
diff --git a/src/components/Action/ActionModal.spec.tsx b/src/components/Action/ActionModal/ActionModal.spec.tsx
similarity index 86%
rename from src/components/Action/ActionModal.spec.tsx
rename to src/components/Action/ActionModal/ActionModal.spec.tsx
index f0159a064..64b0d9209 100644
--- a/src/components/Action/ActionModal.spec.tsx
+++ b/src/components/Action/ActionModal/ActionModal.spec.tsx
@@ -5,10 +5,10 @@ import React from 'react'
 import { Provider } from 'react-redux'
 import UsageEventService from 'services/usageEvent.service'
 import * as challengeActions from 'store/challenge/challenge.slice'
-import { defaultEcogestureData } from '../../../tests/__mocks__/actionData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { defaultEcogestureData } from 'tests/__mocks__/actionData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import ActionModal from './ActionModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Action/ActionModal.tsx b/src/components/Action/ActionModal/ActionModal.tsx
similarity index 100%
rename from src/components/Action/ActionModal.tsx
rename to src/components/Action/ActionModal/ActionModal.tsx
diff --git a/src/components/Action/__snapshots__/ActionModal.spec.tsx.snap b/src/components/Action/ActionModal/__snapshots__/ActionModal.spec.tsx.snap
similarity index 100%
rename from src/components/Action/__snapshots__/ActionModal.spec.tsx.snap
rename to src/components/Action/ActionModal/__snapshots__/ActionModal.spec.tsx.snap
diff --git a/src/components/Action/actionModal.scss b/src/components/Action/ActionModal/actionModal.scss
similarity index 100%
rename from src/components/Action/actionModal.scss
rename to src/components/Action/ActionModal/actionModal.scss
diff --git a/src/components/Action/ActionOnGoing.spec.tsx b/src/components/Action/ActionOnGoing/ActionOnGoing.spec.tsx
similarity index 88%
rename from src/components/Action/ActionOnGoing.spec.tsx
rename to src/components/Action/ActionOnGoing/ActionOnGoing.spec.tsx
index 67d5b6a92..3f2f8f492 100644
--- a/src/components/Action/ActionOnGoing.spec.tsx
+++ b/src/components/Action/ActionOnGoing/ActionOnGoing.spec.tsx
@@ -1,5 +1,5 @@
 import { Button } from '@material-ui/core'
-import EcogestureModal from 'components/Ecogesture/EcogestureModal'
+import EcogestureModal from 'components/Ecogesture/EcogestureModal/EcogestureModal'
 import { UserActionState } from 'enums'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
@@ -7,9 +7,9 @@ import { DateTime } from 'luxon'
 import { UserAction } from 'models'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { defaultEcogestureData } from '../../../tests/__mocks__/actionData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { defaultEcogestureData } from 'tests/__mocks__/actionData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import ActionOnGoing from './ActionOnGoing'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Action/ActionOnGoing.tsx b/src/components/Action/ActionOnGoing/ActionOnGoing.tsx
similarity index 99%
rename from src/components/Action/ActionOnGoing.tsx
rename to src/components/Action/ActionOnGoing/ActionOnGoing.tsx
index 28d704299..383616089 100644
--- a/src/components/Action/ActionOnGoing.tsx
+++ b/src/components/Action/ActionOnGoing/ActionOnGoing.tsx
@@ -1,7 +1,7 @@
 import { Button } from '@material-ui/core'
 import ClockIcon from 'assets/icons/visu/action/duration-clock.svg'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
-import EcogestureModal from 'components/Ecogesture/EcogestureModal'
+import EcogestureModal from 'components/Ecogesture/EcogestureModal/EcogestureModal'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { DateTime } from 'luxon'
 import { UserAction } from 'models'
diff --git a/src/components/Action/__snapshots__/ActionOnGoing.spec.tsx.snap b/src/components/Action/ActionOnGoing/__snapshots__/ActionOnGoing.spec.tsx.snap
similarity index 100%
rename from src/components/Action/__snapshots__/ActionOnGoing.spec.tsx.snap
rename to src/components/Action/ActionOnGoing/__snapshots__/ActionOnGoing.spec.tsx.snap
diff --git a/src/components/Action/actionOnGoing.scss b/src/components/Action/ActionOnGoing/actionOnGoing.scss
similarity index 100%
rename from src/components/Action/actionOnGoing.scss
rename to src/components/Action/ActionOnGoing/actionOnGoing.scss
diff --git a/src/components/Action/ActionView.spec.tsx b/src/components/Action/ActionView.spec.tsx
index 5bf2322c8..e34726252 100644
--- a/src/components/Action/ActionView.spec.tsx
+++ b/src/components/Action/ActionView.spec.tsx
@@ -4,12 +4,12 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
-import ActionChoose from './ActionChoose'
-import ActionDone from './ActionDone'
-import ActionOnGoing from './ActionOnGoing'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import ActionChoose from './ActionChoose/ActionChoose'
+import ActionDone from './ActionDone/ActionDone'
+import ActionOnGoing from './ActionOnGoing/ActionOnGoing'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
@@ -24,7 +24,10 @@ jest.mock('react-router-dom', () => ({
 jest.mock('components/Header/CozyBar', () => 'mock-cozybar')
 jest.mock('components/Header/Header', () => 'mock-header')
 jest.mock('components/Content/Content', () => 'mock-content')
-jest.mock('components/Action/ActionBegin', () => 'mock-action-begin')
+jest.mock(
+  'components/Action/ActionBegin/ActionBegin.tsx',
+  () => 'mock-action-begin'
+)
 
 describe('ActionView component', () => {
   it('should render ActionChoose component', async () => {
diff --git a/src/components/Action/ActionView.tsx b/src/components/Action/ActionView.tsx
index cb38bbb44..44a101159 100644
--- a/src/components/Action/ActionView.tsx
+++ b/src/components/Action/ActionView.tsx
@@ -1,6 +1,3 @@
-import ActionChoose from 'components/Action/ActionChoose'
-import ActionDone from 'components/Action/ActionDone'
-import ActionOnGoing from 'components/Action/ActionOnGoing'
 import Content from 'components/Content/Content'
 import CozyBar from 'components/Header/CozyBar'
 import Header from 'components/Header/Header'
@@ -8,6 +5,9 @@ import { UserActionState } from 'enums'
 import { UserChallenge } from 'models'
 import React, { useState } from 'react'
 import { useAppSelector } from 'store/hooks'
+import ActionChoose from './ActionChoose/ActionChoose'
+import ActionDone from './ActionDone/ActionDone'
+import ActionOnGoing from './ActionOnGoing/ActionOnGoing'
 
 const ActionView = () => {
   const { currentChallenge } = useAppSelector(state => state.ecolyo.challenge)
diff --git a/src/components/Analysis/AnalysisView.spec.tsx b/src/components/Analysis/AnalysisView.spec.tsx
index e112899bb..ed211248c 100644
--- a/src/components/Analysis/AnalysisView.spec.tsx
+++ b/src/components/Analysis/AnalysisView.spec.tsx
@@ -10,7 +10,7 @@ import {
   mockAnalysisState,
   mockChartState,
   mockProfileState,
-} from '../../../tests/__mocks__/store'
+} from 'tests/__mocks__/store'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Analysis/ElecHalfHourMonthlyAnalysis/ElecHalfHourChart.spec.tsx b/src/components/Analysis/ElecHalfHourMonthlyAnalysis/ElecHalfHourChart.spec.tsx
index fd5718d40..f0756b7ec 100644
--- a/src/components/Analysis/ElecHalfHourMonthlyAnalysis/ElecHalfHourChart.spec.tsx
+++ b/src/components/Analysis/ElecHalfHourMonthlyAnalysis/ElecHalfHourChart.spec.tsx
@@ -3,8 +3,8 @@ import toJson from 'enzyme-to-json'
 import { DateTime } from 'luxon'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { dataLoadArray } from '../../../../tests/__mocks__/chartData.mock'
-import { createMockEcolyoStore } from '../../../../tests/__mocks__/store'
+import { dataLoadArray } from 'tests/__mocks__/chartData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import ElecHalfHourChart from './ElecHalfHourChart'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Analysis/ElecHalfHourMonthlyAnalysis/ElecHalfHourMonthlyAnalysis.spec.tsx b/src/components/Analysis/ElecHalfHourMonthlyAnalysis/ElecHalfHourMonthlyAnalysis.spec.tsx
index ca9c022fe..72b8d6d0a 100644
--- a/src/components/Analysis/ElecHalfHourMonthlyAnalysis/ElecHalfHourMonthlyAnalysis.spec.tsx
+++ b/src/components/Analysis/ElecHalfHourMonthlyAnalysis/ElecHalfHourMonthlyAnalysis.spec.tsx
@@ -7,10 +7,10 @@ import { Provider } from 'react-redux'
 import {
   mockDataLoadEnedisAnalysis,
   mockEnedisMonthlyAnalysisArray,
-} from '../../../../tests/__mocks__/enedisMonthlyAnalysisData.mock'
-import { allLastFluidPrices } from '../../../../tests/__mocks__/fluidPrice.mock'
-import { createMockEcolyoStore } from '../../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../../tests/__mocks__/testUtils'
+} from 'tests/__mocks__/enedisMonthlyAnalysisData.mock'
+import { allLastFluidPrices } from 'tests/__mocks__/fluidPrice.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import ElecHalfHourMonthlyAnalysis from './ElecHalfHourMonthlyAnalysis'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Analysis/MaxConsumptionCard/MaxConsumptionCard.spec.tsx b/src/components/Analysis/MaxConsumptionCard/MaxConsumptionCard.spec.tsx
index 74b19c9c8..7b7e0363f 100644
--- a/src/components/Analysis/MaxConsumptionCard/MaxConsumptionCard.spec.tsx
+++ b/src/components/Analysis/MaxConsumptionCard/MaxConsumptionCard.spec.tsx
@@ -3,10 +3,10 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { graphData } from '../../../../tests/__mocks__/chartData.mock'
-import mockClient from '../../../../tests/__mocks__/client'
-import { createMockEcolyoStore } from '../../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../../tests/__mocks__/testUtils'
+import { graphData } from 'tests/__mocks__/chartData.mock'
+import mockClient from 'tests/__mocks__/client'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import MaxConsumptionCard from './MaxConsumptionCard'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Analysis/MonthlyAnalysis.spec.tsx b/src/components/Analysis/MonthlyAnalysis.spec.tsx
index 5168b4c45..b5ed125cc 100644
--- a/src/components/Analysis/MonthlyAnalysis.spec.tsx
+++ b/src/components/Analysis/MonthlyAnalysis.spec.tsx
@@ -5,9 +5,9 @@ import { PerformanceIndicator } from 'models'
 import React from 'react'
 import { Provider } from 'react-redux'
 import { BrowserRouter } from 'react-router-dom'
-import mockClient from '../../../tests/__mocks__/client'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import mockClient from 'tests/__mocks__/client'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Analysis/ProfileComparator/ProfileComparator.spec.tsx b/src/components/Analysis/ProfileComparator/ProfileComparator.spec.tsx
index be5f00a3b..f8b37f957 100644
--- a/src/components/Analysis/ProfileComparator/ProfileComparator.spec.tsx
+++ b/src/components/Analysis/ProfileComparator/ProfileComparator.spec.tsx
@@ -6,16 +6,13 @@ import { mount } from 'enzyme'
 import { PerformanceIndicator } from 'models'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { profileData } from '../../../../tests/__mocks__/profileData.mock'
+import { profileData } from 'tests/__mocks__/profileData.mock'
 import {
   mockMonthlyForecastJanuaryTestProfile1,
   profileTypeData,
-} from '../../../../tests/__mocks__/profileType.mock'
-import {
-  createMockEcolyoStore,
-  mockAnalysisState,
-} from '../../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../../tests/__mocks__/testUtils'
+} from 'tests/__mocks__/profileType.mock'
+import { createMockEcolyoStore, mockAnalysisState } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import ProfileComparator from './ProfileComparator'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Analysis/ProfileComparator/ProfileComparatorRow.spec.tsx b/src/components/Analysis/ProfileComparator/ProfileComparatorRow.spec.tsx
index 39632fd0b..6c008806c 100644
--- a/src/components/Analysis/ProfileComparator/ProfileComparatorRow.spec.tsx
+++ b/src/components/Analysis/ProfileComparator/ProfileComparatorRow.spec.tsx
@@ -2,7 +2,7 @@ import { FluidType } from 'enums'
 import { mount } from 'enzyme'
 import { MonthlyForecast } from 'models'
 import React from 'react'
-import { mockMonthlyForecastJanuaryTestProfile1 } from '../../../../tests/__mocks__/profileType.mock'
+import { mockMonthlyForecastJanuaryTestProfile1 } from 'tests/__mocks__/profileType.mock'
 import ProfileComparatorRow from './ProfileComparatorRow'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Analysis/TotalAnalysisChart/TotalAnalysisChart.spec.tsx b/src/components/Analysis/TotalAnalysisChart/TotalAnalysisChart.spec.tsx
index f2481bfaf..21effece2 100644
--- a/src/components/Analysis/TotalAnalysisChart/TotalAnalysisChart.spec.tsx
+++ b/src/components/Analysis/TotalAnalysisChart/TotalAnalysisChart.spec.tsx
@@ -5,9 +5,9 @@ import { DateTime } from 'luxon'
 import { Datachart } from 'models'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { graphMonthData } from '../../../../tests/__mocks__/chartData.mock'
-import { createMockEcolyoStore } from '../../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../../tests/__mocks__/testUtils'
+import { graphMonthData } from 'tests/__mocks__/chartData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import TotalAnalysisChart from './TotalAnalysisChart'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Challenge/ChallengeCard.spec.tsx b/src/components/Challenge/ChallengeCard/ChallengeCard.spec.tsx
similarity index 84%
rename from src/components/Challenge/ChallengeCard.spec.tsx
rename to src/components/Challenge/ChallengeCard/ChallengeCard.spec.tsx
index 8cd8bbc49..51fdf9afc 100644
--- a/src/components/Challenge/ChallengeCard.spec.tsx
+++ b/src/components/Challenge/ChallengeCard/ChallengeCard.spec.tsx
@@ -1,10 +1,10 @@
 import { shallow } from 'enzyme'
 import React from 'react'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import ChallengeCardLocked from '../ChallengeCardLocked/ChallengeCardLocked'
+import ChallengeCardOnGoing from '../ChallengeCardOnGoing/ChallengeCardOnGoing'
+import ChallengeCardUnlocked from '../ChallengeCardUnlocked/ChallengeCardUnlocked'
 import ChallengeCard from './ChallengeCard'
-import ChallengeCardLocked from './ChallengeCardLocked'
-import ChallengeCardOnGoing from './ChallengeCardOnGoing'
-import ChallengeCardUnlocked from './ChallengeCardUnlocked'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Challenge/ChallengeCard.tsx b/src/components/Challenge/ChallengeCard/ChallengeCard.tsx
similarity index 80%
rename from src/components/Challenge/ChallengeCard.tsx
rename to src/components/Challenge/ChallengeCard/ChallengeCard.tsx
index 0f297d85e..dc44d0da9 100644
--- a/src/components/Challenge/ChallengeCard.tsx
+++ b/src/components/Challenge/ChallengeCard/ChallengeCard.tsx
@@ -1,11 +1,11 @@
 import { UserChallengeState } from 'enums'
 import { UserChallenge } from 'models'
 import React from 'react'
-import ChallengeCardDone from './ChallengeCardDone'
-import ChallengeCardLast from './ChallengeCardLast'
-import ChallengeCardLocked from './ChallengeCardLocked'
-import ChallengeCardOnGoing from './ChallengeCardOnGoing'
-import ChallengeCardUnlocked from './ChallengeCardUnlocked'
+import ChallengeCardDone from '../ChallengeCardDone/ChallengeCardDone'
+import ChallengeCardLast from '../ChallengeCardLast/ChallengeCardLast'
+import ChallengeCardLocked from '../ChallengeCardLocked/ChallengeCardLocked'
+import ChallengeCardOnGoing from '../ChallengeCardOnGoing/ChallengeCardOnGoing'
+import ChallengeCardUnlocked from '../ChallengeCardUnlocked/ChallengeCardUnlocked'
 import './challengeCard.scss'
 
 interface ChallengeCardProps {
diff --git a/src/components/Challenge/__snapshots__/ChallengeCard.spec.tsx.snap b/src/components/Challenge/ChallengeCard/__snapshots__/ChallengeCard.spec.tsx.snap
similarity index 100%
rename from src/components/Challenge/__snapshots__/ChallengeCard.spec.tsx.snap
rename to src/components/Challenge/ChallengeCard/__snapshots__/ChallengeCard.spec.tsx.snap
diff --git a/src/components/Challenge/challengeCard.scss b/src/components/Challenge/ChallengeCard/challengeCard.scss
similarity index 100%
rename from src/components/Challenge/challengeCard.scss
rename to src/components/Challenge/ChallengeCard/challengeCard.scss
diff --git a/src/components/Challenge/ChallengeCardDone.spec.tsx b/src/components/Challenge/ChallengeCardDone/ChallengeCardDone.spec.tsx
similarity index 93%
rename from src/components/Challenge/ChallengeCardDone.spec.tsx
rename to src/components/Challenge/ChallengeCardDone/ChallengeCardDone.spec.tsx
index 7ef52440f..73bf140fa 100644
--- a/src/components/Challenge/ChallengeCardDone.spec.tsx
+++ b/src/components/Challenge/ChallengeCardDone/ChallengeCardDone.spec.tsx
@@ -1,13 +1,13 @@
 import { Button } from '@material-ui/core'
-import ChallengeCardDone from 'components/Challenge/ChallengeCardDone'
+import ChallengeCardDone from 'components/Challenge/ChallengeCardDone/ChallengeCardDone'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
 import configureStore from 'redux-mock-store'
 import * as storeHooks from 'store/hooks'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Challenge/ChallengeCardDone.tsx b/src/components/Challenge/ChallengeCardDone/ChallengeCardDone.tsx
similarity index 100%
rename from src/components/Challenge/ChallengeCardDone.tsx
rename to src/components/Challenge/ChallengeCardDone/ChallengeCardDone.tsx
diff --git a/src/components/Challenge/__snapshots__/ChallengeCardDone.spec.tsx.snap b/src/components/Challenge/ChallengeCardDone/__snapshots__/ChallengeCardDone.spec.tsx.snap
similarity index 100%
rename from src/components/Challenge/__snapshots__/ChallengeCardDone.spec.tsx.snap
rename to src/components/Challenge/ChallengeCardDone/__snapshots__/ChallengeCardDone.spec.tsx.snap
diff --git a/src/components/Challenge/challengeCardDone.scss b/src/components/Challenge/ChallengeCardDone/challengeCardDone.scss
similarity index 100%
rename from src/components/Challenge/challengeCardDone.scss
rename to src/components/Challenge/ChallengeCardDone/challengeCardDone.scss
diff --git a/src/components/Challenge/ChallengeCardLast.spec.tsx b/src/components/Challenge/ChallengeCardLast/ChallengeCardLast.spec.tsx
similarity index 100%
rename from src/components/Challenge/ChallengeCardLast.spec.tsx
rename to src/components/Challenge/ChallengeCardLast/ChallengeCardLast.spec.tsx
diff --git a/src/components/Challenge/ChallengeCardLast.tsx b/src/components/Challenge/ChallengeCardLast/ChallengeCardLast.tsx
similarity index 100%
rename from src/components/Challenge/ChallengeCardLast.tsx
rename to src/components/Challenge/ChallengeCardLast/ChallengeCardLast.tsx
diff --git a/src/components/Challenge/__snapshots__/ChallengeCardLast.spec.tsx.snap b/src/components/Challenge/ChallengeCardLast/__snapshots__/ChallengeCardLast.spec.tsx.snap
similarity index 100%
rename from src/components/Challenge/__snapshots__/ChallengeCardLast.spec.tsx.snap
rename to src/components/Challenge/ChallengeCardLast/__snapshots__/ChallengeCardLast.spec.tsx.snap
diff --git a/src/components/Challenge/challengeCardLast.scss b/src/components/Challenge/ChallengeCardLast/challengeCardLast.scss
similarity index 100%
rename from src/components/Challenge/challengeCardLast.scss
rename to src/components/Challenge/ChallengeCardLast/challengeCardLast.scss
diff --git a/src/components/Challenge/ChallengeCardLocked.spec.tsx b/src/components/Challenge/ChallengeCardLocked/ChallengeCardLocked.spec.tsx
similarity index 82%
rename from src/components/Challenge/ChallengeCardLocked.spec.tsx
rename to src/components/Challenge/ChallengeCardLocked/ChallengeCardLocked.spec.tsx
index ca7f554f9..08dfd9aa5 100644
--- a/src/components/Challenge/ChallengeCardLocked.spec.tsx
+++ b/src/components/Challenge/ChallengeCardLocked/ChallengeCardLocked.spec.tsx
@@ -1,6 +1,6 @@
 import { shallow } from 'enzyme'
 import React from 'react'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import ChallengeCardLocked from './ChallengeCardLocked'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Challenge/ChallengeCardLocked.tsx b/src/components/Challenge/ChallengeCardLocked/ChallengeCardLocked.tsx
similarity index 100%
rename from src/components/Challenge/ChallengeCardLocked.tsx
rename to src/components/Challenge/ChallengeCardLocked/ChallengeCardLocked.tsx
diff --git a/src/components/Challenge/__snapshots__/ChallengeCardLocked.spec.tsx.snap b/src/components/Challenge/ChallengeCardLocked/__snapshots__/ChallengeCardLocked.spec.tsx.snap
similarity index 100%
rename from src/components/Challenge/__snapshots__/ChallengeCardLocked.spec.tsx.snap
rename to src/components/Challenge/ChallengeCardLocked/__snapshots__/ChallengeCardLocked.spec.tsx.snap
diff --git a/src/components/Challenge/challengeCardLocked.scss b/src/components/Challenge/ChallengeCardLocked/challengeCardLocked.scss
similarity index 100%
rename from src/components/Challenge/challengeCardLocked.scss
rename to src/components/Challenge/ChallengeCardLocked/challengeCardLocked.scss
diff --git a/src/components/Challenge/ChallengeCardOnGoing.tsx b/src/components/Challenge/ChallengeCardOnGoing/ChallengeCardOnGoing.tsx
similarity index 98%
rename from src/components/Challenge/ChallengeCardOnGoing.tsx
rename to src/components/Challenge/ChallengeCardOnGoing/ChallengeCardOnGoing.tsx
index 44620c2d6..000df33b9 100644
--- a/src/components/Challenge/ChallengeCardOnGoing.tsx
+++ b/src/components/Challenge/ChallengeCardOnGoing/ChallengeCardOnGoing.tsx
@@ -7,6 +7,7 @@ import defaultIcon from 'assets/icons/visu/duel/default.svg'
 import lockedDuel from 'assets/icons/visu/duel/locked.svg'
 import classNames from 'classnames'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
+import StarsContainer from 'components/CommonKit/StarsContainer/StarsContainer'
 import Loader from 'components/Loader/Loader'
 import { useClient } from 'cozy-client'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
@@ -24,8 +25,7 @@ import ChallengeService from 'services/challenge.service'
 import { updateUserChallengeList } from 'store/challenge/challenge.slice'
 import { useAppDispatch, useAppSelector } from 'store/hooks'
 import { getChallengeTitleWithLineReturn, importIconById } from 'utils/utils'
-import ChallengeNoFluidModal from './ChallengeNoFluidModal'
-import StarsContainer from './StarsContainer'
+import ChallengeNoFluidModal from '../ChallengeNoFluidModal/ChallengeNoFluidModal'
 import './challengeCardOnGoing.scss'
 
 const ChallengeCardOnGoing = ({
diff --git a/src/components/Challenge/challengeCardOnGoing.scss b/src/components/Challenge/ChallengeCardOnGoing/challengeCardOnGoing.scss
similarity index 100%
rename from src/components/Challenge/challengeCardOnGoing.scss
rename to src/components/Challenge/ChallengeCardOnGoing/challengeCardOnGoing.scss
diff --git a/src/components/Challenge/ChallengeCardUnlocked.spec.tsx b/src/components/Challenge/ChallengeCardUnlocked/ChallengeCardUnlocked.spec.tsx
similarity index 93%
rename from src/components/Challenge/ChallengeCardUnlocked.spec.tsx
rename to src/components/Challenge/ChallengeCardUnlocked/ChallengeCardUnlocked.spec.tsx
index c65af921d..6fadd106a 100644
--- a/src/components/Challenge/ChallengeCardUnlocked.spec.tsx
+++ b/src/components/Challenge/ChallengeCardUnlocked/ChallengeCardUnlocked.spec.tsx
@@ -9,11 +9,11 @@ import {
   createMockEcolyoStore,
   mockChallengeState,
   mockGlobalState,
-} from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+} from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import ChallengeNoFluidModal from '../ChallengeNoFluidModal/ChallengeNoFluidModal'
 import ChallengeCardUnlocked from './ChallengeCardUnlocked'
-import ChallengeNoFluidModal from './ChallengeNoFluidModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Challenge/ChallengeCardUnlocked.tsx b/src/components/Challenge/ChallengeCardUnlocked/ChallengeCardUnlocked.tsx
similarity index 97%
rename from src/components/Challenge/ChallengeCardUnlocked.tsx
rename to src/components/Challenge/ChallengeCardUnlocked/ChallengeCardUnlocked.tsx
index c273f1691..97aad463f 100644
--- a/src/components/Challenge/ChallengeCardUnlocked.tsx
+++ b/src/components/Challenge/ChallengeCardUnlocked/ChallengeCardUnlocked.tsx
@@ -11,7 +11,7 @@ import UsageEventService from 'services/usageEvent.service'
 import { updateUserChallengeList } from 'store/challenge/challenge.slice'
 import { useAppDispatch, useAppSelector } from 'store/hooks'
 import { getChallengeTitleWithLineReturn, importIconById } from 'utils/utils'
-import ChallengeNoFluidModal from './ChallengeNoFluidModal'
+import ChallengeNoFluidModal from '../ChallengeNoFluidModal/ChallengeNoFluidModal'
 import './challengeCardUnlocked.scss'
 
 const ChallengeCardUnlocked = ({
diff --git a/src/components/Challenge/challengeCardUnlocked.scss b/src/components/Challenge/ChallengeCardUnlocked/challengeCardUnlocked.scss
similarity index 100%
rename from src/components/Challenge/challengeCardUnlocked.scss
rename to src/components/Challenge/ChallengeCardUnlocked/challengeCardUnlocked.scss
diff --git a/src/components/Challenge/ChallengeNoFluidModal.spec.tsx b/src/components/Challenge/ChallengeNoFluidModal/ChallengeNoFluidModal.spec.tsx
similarity index 100%
rename from src/components/Challenge/ChallengeNoFluidModal.spec.tsx
rename to src/components/Challenge/ChallengeNoFluidModal/ChallengeNoFluidModal.spec.tsx
diff --git a/src/components/Challenge/ChallengeNoFluidModal.tsx b/src/components/Challenge/ChallengeNoFluidModal/ChallengeNoFluidModal.tsx
similarity index 100%
rename from src/components/Challenge/ChallengeNoFluidModal.tsx
rename to src/components/Challenge/ChallengeNoFluidModal/ChallengeNoFluidModal.tsx
diff --git a/src/components/Challenge/__snapshots__/ChallengeNoFluidModal.spec.tsx.snap b/src/components/Challenge/ChallengeNoFluidModal/__snapshots__/ChallengeNoFluidModal.spec.tsx.snap
similarity index 100%
rename from src/components/Challenge/__snapshots__/ChallengeNoFluidModal.spec.tsx.snap
rename to src/components/Challenge/ChallengeNoFluidModal/__snapshots__/ChallengeNoFluidModal.spec.tsx.snap
diff --git a/src/components/Challenge/challengeNoFluidModal.scss b/src/components/Challenge/ChallengeNoFluidModal/challengeNoFluidModal.scss
similarity index 100%
rename from src/components/Challenge/challengeNoFluidModal.scss
rename to src/components/Challenge/ChallengeNoFluidModal/challengeNoFluidModal.scss
diff --git a/src/components/Challenge/ChallengeView.spec.tsx b/src/components/Challenge/ChallengeView.spec.tsx
index b713fc232..a28970ae9 100644
--- a/src/components/Challenge/ChallengeView.spec.tsx
+++ b/src/components/Challenge/ChallengeView.spec.tsx
@@ -3,8 +3,8 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { challengeStateDataFull } from '../../../tests/__mocks__/challengeStateData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { challengeStateDataFull } from 'tests/__mocks__/challengeStateData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
@@ -15,7 +15,10 @@ jest.mock('cozy-ui/transpiled/react/I18n', () => ({
 jest.mock('components/Header/CozyBar', () => 'mock-cozybar')
 jest.mock('components/Header/Header', () => 'mock-header')
 jest.mock('components/Content/Content', () => 'mock-content')
-jest.mock('components/Challenge/ChallengeCard', () => 'mock-challengecard')
+jest.mock(
+  'components/Challenge/ChallengeCard/ChallengeCard',
+  () => 'mock-challengecard'
+)
 
 describe('ChallengeView component', () => {
   const store = createMockEcolyoStore({
diff --git a/src/components/Challenge/ChallengeView.tsx b/src/components/Challenge/ChallengeView.tsx
index bf2652648..df8ad1daf 100644
--- a/src/components/Challenge/ChallengeView.tsx
+++ b/src/components/Challenge/ChallengeView.tsx
@@ -8,7 +8,7 @@ import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { UserChallengeState } from 'enums'
 import React, { useCallback, useEffect, useState } from 'react'
 import { useAppSelector } from 'store/hooks'
-import ChallengeCard from './ChallengeCard'
+import ChallengeCard from './ChallengeCard/ChallengeCard'
 import './challengeView.scss'
 
 const ChallengeView = () => {
diff --git a/src/components/Charts/AxisBottom.spec.tsx b/src/components/Charts/AxisBottom.spec.tsx
index 8bde11844..da25e6dc0 100644
--- a/src/components/Charts/AxisBottom.spec.tsx
+++ b/src/components/Charts/AxisBottom.spec.tsx
@@ -4,8 +4,8 @@ import { mount } from 'enzyme'
 import { DateTime } from 'luxon'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { graphData } from '../../../tests/__mocks__/chartData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { graphData } from 'tests/__mocks__/chartData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import AxisBottom from './AxisBottom'
 
 const mockXScale: ScaleBand<string> = scaleBand()
diff --git a/src/components/Charts/Bar.spec.tsx b/src/components/Charts/Bar.spec.tsx
index 0e7def2e9..83f0718f5 100644
--- a/src/components/Charts/Bar.spec.tsx
+++ b/src/components/Charts/Bar.spec.tsx
@@ -5,8 +5,8 @@ import { DateTime } from 'luxon'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as chartActions from 'store/chart/chart.slice'
-import { graphData } from '../../../tests/__mocks__/chartData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { graphData } from 'tests/__mocks__/chartData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import Bar from './Bar'
 
 const mockXScale: ScaleBand<string> = scaleBand()
diff --git a/src/components/FormGlobal/FormNavigation.spec.tsx b/src/components/CommonKit/FormNavigation/FormNavigation.spec.tsx
similarity index 95%
rename from src/components/FormGlobal/FormNavigation.spec.tsx
rename to src/components/CommonKit/FormNavigation/FormNavigation.spec.tsx
index fedd1a5ec..8703cfe9d 100644
--- a/src/components/FormGlobal/FormNavigation.spec.tsx
+++ b/src/components/CommonKit/FormNavigation/FormNavigation.spec.tsx
@@ -3,7 +3,7 @@ import { ProfileTypeStepForm } from 'enums'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import FormNavigation from './FormNavigation'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/FormGlobal/FormNavigation.tsx b/src/components/CommonKit/FormNavigation/FormNavigation.tsx
similarity index 98%
rename from src/components/FormGlobal/FormNavigation.tsx
rename to src/components/CommonKit/FormNavigation/FormNavigation.tsx
index edc2b8442..626efbd84 100644
--- a/src/components/FormGlobal/FormNavigation.tsx
+++ b/src/components/CommonKit/FormNavigation/FormNavigation.tsx
@@ -1,10 +1,10 @@
 import Button from '@material-ui/core/Button'
 import classNames from 'classnames'
-import 'components/FormGlobal/formNavigation.scss'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { EcogestureStepForm, ProfileTypeStepForm, SgeStep } from 'enums'
 import React, { useCallback } from 'react'
 import { useNavigate } from 'react-router-dom'
+import './formNavigation.scss'
 
 interface FormNavigationProps {
   step: ProfileTypeStepForm | EcogestureStepForm | SgeStep
diff --git a/src/components/FormGlobal/formNavigation.scss b/src/components/CommonKit/FormNavigation/formNavigation.scss
similarity index 100%
rename from src/components/FormGlobal/formNavigation.scss
rename to src/components/CommonKit/FormNavigation/formNavigation.scss
diff --git a/src/components/FormGlobal/FormProgress.tsx b/src/components/CommonKit/FormProgress/FormProgress.tsx
similarity index 94%
rename from src/components/FormGlobal/FormProgress.tsx
rename to src/components/CommonKit/FormProgress/FormProgress.tsx
index 74249dcc5..255f52b4e 100644
--- a/src/components/FormGlobal/FormProgress.tsx
+++ b/src/components/CommonKit/FormProgress/FormProgress.tsx
@@ -1,6 +1,6 @@
-import 'components/FormGlobal/formProgress.scss'
 import { ProfileTypeStepForm, SgeStep } from 'enums'
 import React from 'react'
+import './formProgress.scss'
 
 interface FormProgressProps {
   step: ProfileTypeStepForm | SgeStep
diff --git a/src/components/FormGlobal/formProgress.scss b/src/components/CommonKit/FormProgress/formProgress.scss
similarity index 100%
rename from src/components/FormGlobal/formProgress.scss
rename to src/components/CommonKit/FormProgress/formProgress.scss
diff --git a/src/components/Challenge/StarsContainer.tsx b/src/components/CommonKit/StarsContainer/StarsContainer.tsx
similarity index 100%
rename from src/components/Challenge/StarsContainer.tsx
rename to src/components/CommonKit/StarsContainer/StarsContainer.tsx
diff --git a/src/components/Connection/Connection.spec.tsx b/src/components/Connection/Connection.spec.tsx
index 51cf0a264..c1fd7f53c 100644
--- a/src/components/Connection/Connection.spec.tsx
+++ b/src/components/Connection/Connection.spec.tsx
@@ -3,8 +3,8 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { fluidStatusConnectedData } from '../../../tests/__mocks__/fluidStatusData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { fluidStatusConnectedData } from 'tests/__mocks__/fluidStatusData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 
 jest.mock('components/Connection/EPGLConnect/EpglInit', () => {
   return jest.fn(() => {
diff --git a/src/components/Connection/EPGLConnect/EpglForm.tsx b/src/components/Connection/EPGLConnect/EpglForm.tsx
index 670f7f222..3ff6e8792 100644
--- a/src/components/Connection/EPGLConnect/EpglForm.tsx
+++ b/src/components/Connection/EPGLConnect/EpglForm.tsx
@@ -1,8 +1,8 @@
-import FormLogin from 'components/Connection/FormLogin'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { FluidStatus } from 'models'
 import React from 'react'
 import '../connection.scss'
+import FormLogin from './FormLogin/FormLogin'
 
 interface EpglFormProps {
   fluidStatus: FluidStatus
diff --git a/src/components/Connection/FormLogin.tsx b/src/components/Connection/EPGLConnect/FormLogin/FormLogin.tsx
similarity index 100%
rename from src/components/Connection/FormLogin.tsx
rename to src/components/Connection/EPGLConnect/FormLogin/FormLogin.tsx
diff --git a/src/components/Connection/formLogin.scss b/src/components/Connection/EPGLConnect/FormLogin/formLogin.scss
similarity index 100%
rename from src/components/Connection/formLogin.scss
rename to src/components/Connection/EPGLConnect/FormLogin/formLogin.scss
diff --git a/src/components/Connection/ExpiredConsentModal.spec.tsx b/src/components/Connection/ExpiredConsentModal/ExpiredConsentModal.spec.tsx
similarity index 94%
rename from src/components/Connection/ExpiredConsentModal.spec.tsx
rename to src/components/Connection/ExpiredConsentModal/ExpiredConsentModal.spec.tsx
index 18f57c69e..b03a29c2a 100644
--- a/src/components/Connection/ExpiredConsentModal.spec.tsx
+++ b/src/components/Connection/ExpiredConsentModal/ExpiredConsentModal.spec.tsx
@@ -5,8 +5,8 @@ import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as storeHooks from 'store/hooks'
-import { fluidStatusConnectedData } from '../../../tests/__mocks__/fluidStatusData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { fluidStatusConnectedData } from 'tests/__mocks__/fluidStatusData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import ExpiredConsentModal from './ExpiredConsentModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Connection/ExpiredConsentModal.tsx b/src/components/Connection/ExpiredConsentModal/ExpiredConsentModal.tsx
similarity index 100%
rename from src/components/Connection/ExpiredConsentModal.tsx
rename to src/components/Connection/ExpiredConsentModal/ExpiredConsentModal.tsx
diff --git a/src/components/Connection/__snapshots__/ExpiredConsentModal.spec.tsx.snap b/src/components/Connection/ExpiredConsentModal/__snapshots__/ExpiredConsentModal.spec.tsx.snap
similarity index 100%
rename from src/components/Connection/__snapshots__/ExpiredConsentModal.spec.tsx.snap
rename to src/components/Connection/ExpiredConsentModal/__snapshots__/ExpiredConsentModal.spec.tsx.snap
diff --git a/src/components/Connection/expiredConsentModal.scss b/src/components/Connection/ExpiredConsentModal/expiredConsentModal.scss
similarity index 100%
rename from src/components/Connection/expiredConsentModal.scss
rename to src/components/Connection/ExpiredConsentModal/expiredConsentModal.scss
diff --git a/src/components/Connection/DeleteGRDFAccountModal.spec.tsx b/src/components/Connection/GRDFDeleteAccountModal/DeleteGRDFAccountModal.spec.tsx
similarity index 100%
rename from src/components/Connection/DeleteGRDFAccountModal.spec.tsx
rename to src/components/Connection/GRDFDeleteAccountModal/DeleteGRDFAccountModal.spec.tsx
diff --git a/src/components/Connection/DeleteGRDFAccountModal.tsx b/src/components/Connection/GRDFDeleteAccountModal/DeleteGRDFAccountModal.tsx
similarity index 100%
rename from src/components/Connection/DeleteGRDFAccountModal.tsx
rename to src/components/Connection/GRDFDeleteAccountModal/DeleteGRDFAccountModal.tsx
diff --git a/src/components/Connection/__snapshots__/DeleteGRDFAccountModal.spec.tsx.snap b/src/components/Connection/GRDFDeleteAccountModal/__snapshots__/DeleteGRDFAccountModal.spec.tsx.snap
similarity index 100%
rename from src/components/Connection/__snapshots__/DeleteGRDFAccountModal.spec.tsx.snap
rename to src/components/Connection/GRDFDeleteAccountModal/__snapshots__/DeleteGRDFAccountModal.spec.tsx.snap
diff --git a/src/components/Connection/deleteGRDFAccountModal.scss b/src/components/Connection/GRDFDeleteAccountModal/deleteGRDFAccountModal.scss
similarity index 100%
rename from src/components/Connection/deleteGRDFAccountModal.scss
rename to src/components/Connection/GRDFDeleteAccountModal/deleteGRDFAccountModal.scss
diff --git a/src/components/Connection/PartnerConnectModal/GrdfConnectModal.tsx b/src/components/Connection/PartnerConnectModal/GrdfConnectModal.tsx
index 267225cf9..452190458 100644
--- a/src/components/Connection/PartnerConnectModal/GrdfConnectModal.tsx
+++ b/src/components/Connection/PartnerConnectModal/GrdfConnectModal.tsx
@@ -1,14 +1,14 @@
 import { Button, Dialog, IconButton } from '@material-ui/core'
 import CloseIcon from 'assets/icons/ico/close.svg'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
-import FormOAuth from 'components/Connection/FormOAuth'
+import GrdfFormOAuth from 'components/Connection/PartnerConnectModal/Steps/GrdfFormOAuth'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { FluidStatus, Konnector } from 'models'
 import React, { useEffect, useState } from 'react'
 import './PartnerConnectModal.scss'
 import GrdfCreateAccount from './Steps/GrdfCreateAccount'
 import GrdfDoYouHaveAccount from './Steps/GrdfDoYouHaveAccount'
-import GiveConsent from './Steps/GrdfGiveConsent'
+import GrdfGiveConsent from './Steps/GrdfGiveConsent'
 import { StepContent } from './stepContent.interface'
 
 enum StepEnum {
@@ -109,7 +109,7 @@ const GrdfConnectModal = ({
       ),
     },
     [StepEnum.GiveConsent]: {
-      content: <GiveConsent />,
+      content: <GrdfGiveConsent />,
       leftButton: (
         <Button
           onClick={handleGiveConsentPrevious}
@@ -122,7 +122,7 @@ const GrdfConnectModal = ({
         </Button>
       ),
       rightButton: (
-        <FormOAuth
+        <GrdfFormOAuth
           konnector={konnector}
           onSuccess={handleSuccess}
           fluidStatus={fluidStatus}
diff --git a/src/components/Connection/FormOAuth.tsx b/src/components/Connection/PartnerConnectModal/Steps/GrdfFormOAuth.tsx
similarity index 94%
rename from src/components/Connection/FormOAuth.tsx
rename to src/components/Connection/PartnerConnectModal/Steps/GrdfFormOAuth.tsx
index 5bfd9245e..7b962fd1c 100644
--- a/src/components/Connection/FormOAuth.tsx
+++ b/src/components/Connection/PartnerConnectModal/Steps/GrdfFormOAuth.tsx
@@ -9,13 +9,17 @@ import UsageEventService from 'services/usageEvent.service'
 import { setShouldRefreshConsent } from 'store/global/global.slice'
 import { useAppDispatch, useAppSelector } from 'store/hooks'
 
-interface FormOAuthProps {
+interface GrdfFormOAuthProps {
   konnector: Konnector | null
   onSuccess: (accountId: string) => Promise<void>
   fluidStatus: FluidStatus
 }
 
-const FormOAuth = ({ konnector, onSuccess, fluidStatus }: FormOAuthProps) => {
+const GrdfFormOAuth = ({
+  konnector,
+  onSuccess,
+  fluidStatus,
+}: GrdfFormOAuthProps) => {
   const IDLE = 'idle'
   const WAITING = 'waiting'
 
@@ -92,4 +96,4 @@ const FormOAuth = ({ konnector, onSuccess, fluidStatus }: FormOAuthProps) => {
   )
 }
 
-export default FormOAuth
+export default GrdfFormOAuth
diff --git a/src/components/Connection/SGEConnect/SgeConnectView.spec.tsx b/src/components/Connection/SGEConnect/SgeConnectView.spec.tsx
index 9b478d18b..0c577af1b 100644
--- a/src/components/Connection/SGEConnect/SgeConnectView.spec.tsx
+++ b/src/components/Connection/SGEConnect/SgeConnectView.spec.tsx
@@ -4,10 +4,7 @@ import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as storeHooks from 'store/hooks'
-import {
-  createMockEcolyoStore,
-  mockGlobalState,
-} from '../../../../tests/__mocks__/store'
+import { createMockEcolyoStore, mockGlobalState } from 'tests/__mocks__/store'
 import SgeConnectView from './SgeConnectView'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
@@ -21,7 +18,6 @@ jest.mock('react-router-dom', () => ({
   useNavigate: () => mockedNavigate,
 }))
 jest.mock('components/Content/Content', () => 'mock-content')
-jest.mock('components/FormGlobal/FormProgress', () => 'mock-formprogress')
 jest.mock('components/Header/CozyBar', () => 'mock-cozybar')
 
 const mockAppDispatch = jest.spyOn(storeHooks, 'useAppDispatch')
diff --git a/src/components/Connection/SGEConnect/SgeConnectView.tsx b/src/components/Connection/SGEConnect/SgeConnectView.tsx
index 4b2363e3b..436de2a23 100644
--- a/src/components/Connection/SGEConnect/SgeConnectView.tsx
+++ b/src/components/Connection/SGEConnect/SgeConnectView.tsx
@@ -1,6 +1,6 @@
+import FormNavigation from 'components/CommonKit/FormNavigation/FormNavigation'
+import FormProgress from 'components/CommonKit/FormProgress/FormProgress'
 import Content from 'components/Content/Content'
-import FormNavigation from 'components/FormGlobal/FormNavigation'
-import FormProgress from 'components/FormGlobal/FormProgress'
 import CozyBar from 'components/Header/CozyBar'
 import Header from 'components/Header/Header'
 import { SgeStep } from 'enums'
diff --git a/src/components/Connection/SGEConnect/SgeInit.spec.tsx b/src/components/Connection/SGEConnect/SgeInit.spec.tsx
index e2e28ffb3..3f1b2bc7d 100644
--- a/src/components/Connection/SGEConnect/SgeInit.spec.tsx
+++ b/src/components/Connection/SGEConnect/SgeInit.spec.tsx
@@ -6,12 +6,9 @@ import { Provider } from 'react-redux'
 import {
   fluidStatusData,
   SgeStatusWithAccount,
-} from '../../../../tests/__mocks__/fluidStatusData.mock'
-import {
-  createMockEcolyoStore,
-  mockGlobalState,
-} from '../../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../../tests/__mocks__/testUtils'
+} from 'tests/__mocks__/fluidStatusData.mock'
+import { createMockEcolyoStore, mockGlobalState } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import SgeInit from './SgeInit'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Connection/SGEConnect/SgeModalHint.spec.tsx b/src/components/Connection/SGEConnect/SgeModalHint.spec.tsx
index b4099e1f6..316d9e0f3 100644
--- a/src/components/Connection/SGEConnect/SgeModalHint.spec.tsx
+++ b/src/components/Connection/SGEConnect/SgeModalHint.spec.tsx
@@ -2,7 +2,7 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import SgeModalHint from './SgeModalHint'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Connection/SGEConnect/StepAddress.spec.tsx b/src/components/Connection/SGEConnect/StepAddress.spec.tsx
index 9cc71083d..500aa61c3 100644
--- a/src/components/Connection/SGEConnect/StepAddress.spec.tsx
+++ b/src/components/Connection/SGEConnect/StepAddress.spec.tsx
@@ -2,10 +2,7 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import {
-  createMockEcolyoStore,
-  mockGlobalState,
-} from '../../../../tests/__mocks__/store'
+import { createMockEcolyoStore, mockGlobalState } from 'tests/__mocks__/store'
 import StepAddress from './StepAddress'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Connection/SGEConnect/StepConsent.spec.tsx b/src/components/Connection/SGEConnect/StepConsent.spec.tsx
index 392b56f33..f1e6c7136 100644
--- a/src/components/Connection/SGEConnect/StepConsent.spec.tsx
+++ b/src/components/Connection/SGEConnect/StepConsent.spec.tsx
@@ -2,10 +2,7 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import {
-  createMockEcolyoStore,
-  mockGlobalState,
-} from '../../../../tests/__mocks__/store'
+import { createMockEcolyoStore, mockGlobalState } from 'tests/__mocks__/store'
 import StepConsent from './StepConsent'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Connection/SGEConnect/StepIdentityAndPdl.spec.tsx b/src/components/Connection/SGEConnect/StepIdentityAndPdl.spec.tsx
index 722ba9054..9e92e0205 100644
--- a/src/components/Connection/SGEConnect/StepIdentityAndPdl.spec.tsx
+++ b/src/components/Connection/SGEConnect/StepIdentityAndPdl.spec.tsx
@@ -2,10 +2,7 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import {
-  createMockEcolyoStore,
-  mockGlobalState,
-} from '../../../../tests/__mocks__/store'
+import { createMockEcolyoStore, mockGlobalState } from 'tests/__mocks__/store'
 import StepIdentityAndPdl from './StepIdentityAndPdl'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Connection/SGEConnect/__snapshots__/SgeConnectView.spec.tsx.snap b/src/components/Connection/SGEConnect/__snapshots__/SgeConnectView.spec.tsx.snap
index bb15318ab..7d7e809cf 100644
--- a/src/components/Connection/SGEConnect/__snapshots__/SgeConnectView.spec.tsx.snap
+++ b/src/components/Connection/SGEConnect/__snapshots__/SgeConnectView.spec.tsx.snap
@@ -309,10 +309,33 @@ exports[`SgeConnectView component should be rendered correctly 1`] = `
         <div
           className="sge-container"
         >
-          <mock-formprogress
+          <FormProgress
             formType="sge"
             step={0}
-          />
+          >
+            <div
+              className="profile-type-progress"
+            >
+              <div
+                className="profile-type-progress-label"
+              >
+                1
+                %
+              </div>
+              <div
+                className="profile-type-progress-bar-container"
+              >
+                <div
+                  className="profile-type-progress-bar-content"
+                  style={
+                    Object {
+                      "width": "1%",
+                    }
+                  }
+                />
+              </div>
+            </div>
+          </FormProgress>
           <StepIdentityAndPdl
             onChange={[Function]}
             sgeState={
diff --git a/src/components/Home/ConsumptionDetails.spec.tsx b/src/components/Consumption/ConsumptionDetails/ConsumptionDetails.spec.tsx
similarity index 88%
rename from src/components/Home/ConsumptionDetails.spec.tsx
rename to src/components/Consumption/ConsumptionDetails/ConsumptionDetails.spec.tsx
index af4167223..b711a5769 100644
--- a/src/components/Home/ConsumptionDetails.spec.tsx
+++ b/src/components/Consumption/ConsumptionDetails/ConsumptionDetails.spec.tsx
@@ -3,8 +3,8 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import ConsumptionDetails from './ConsumptionDetails'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Home/ConsumptionDetails.tsx b/src/components/Consumption/ConsumptionDetails/ConsumptionDetails.tsx
similarity index 100%
rename from src/components/Home/ConsumptionDetails.tsx
rename to src/components/Consumption/ConsumptionDetails/ConsumptionDetails.tsx
diff --git a/src/components/Home/__snapshots__/ConsumptionDetails.spec.tsx.snap b/src/components/Consumption/ConsumptionDetails/__snapshots__/ConsumptionDetails.spec.tsx.snap
similarity index 100%
rename from src/components/Home/__snapshots__/ConsumptionDetails.spec.tsx.snap
rename to src/components/Consumption/ConsumptionDetails/__snapshots__/ConsumptionDetails.spec.tsx.snap
diff --git a/src/components/Home/consumptionDetails.scss b/src/components/Consumption/ConsumptionDetails/consumptionDetails.scss
similarity index 100%
rename from src/components/Home/consumptionDetails.scss
rename to src/components/Consumption/ConsumptionDetails/consumptionDetails.scss
diff --git a/src/components/Home/ConsumptionView.spec.tsx b/src/components/Consumption/ConsumptionView.spec.tsx
similarity index 85%
rename from src/components/Home/ConsumptionView.spec.tsx
rename to src/components/Consumption/ConsumptionView.spec.tsx
index f02b52e4a..7c2a6f0cb 100644
--- a/src/components/Home/ConsumptionView.spec.tsx
+++ b/src/components/Consumption/ConsumptionView.spec.tsx
@@ -4,18 +4,18 @@ import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as chartActions from 'store/chart/chart.slice'
-import { mockCustomPopup } from '../../../tests/__mocks__/customPopup.mock'
+import { mockCustomPopup } from 'tests/__mocks__/customPopup.mock'
 import {
   mockExpiredElec,
   mockExpiredGas,
-} from '../../../tests/__mocks__/fluidStatusData.mock'
-import { mockTestProfile1 } from '../../../tests/__mocks__/profileType.mock'
+} from 'tests/__mocks__/fluidStatusData.mock'
+import { mockTestProfile1 } from 'tests/__mocks__/profileType.mock'
 import {
   createMockEcolyoStore,
   mockChartState,
   mockInitialEcolyoState,
   mockModalState,
-} from '../../../tests/__mocks__/store'
+} from 'tests/__mocks__/store'
 import ConsumptionView from './ConsumptionView'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
@@ -39,22 +39,31 @@ jest.mock('react-router-dom', () => ({
 
 jest.mock('components/Header/CozyBar', () => 'mock-cozybar')
 jest.mock('components/Header/Header', () => 'mock-header')
-jest.mock('components/DateNavigator/DateNavigator', () => 'mock-datenavigator')
+jest.mock('components/DateNavigator/DateNavigator', () => 'mock-dateNavigator')
 jest.mock('components/Content/Content', () => 'mock-content')
-jest.mock('components/Home/FluidButtons', () => 'mock-fluidbuttons')
+jest.mock(
+  'components/Consumption/FluidButtons/FluidButtons',
+  () => 'mock-fluidButtons'
+)
 jest.mock('components/FluidChart/FluidChart', () => 'mock-fluidchart')
-jest.mock('components/Home/ConsumptionDetails', () => 'mock-consumptiondetails')
+jest.mock(
+  'components/Consumption/ConsumptionDetails/ConsumptionDetails',
+  () => 'mock-consumptionDetails'
+)
 jest.mock('components/Connection/Connection', () => 'mock-connection')
 jest.mock(
   'components/Konnector/KonnectorViewerCard',
-  () => 'mock-konnectorviewercard'
+  () => 'mock-konnectorViewerCard'
 )
 jest.mock(
   'components/PartnerIssue/PartnerIssueModal',
-  () => 'mock-partnerissuemodal'
+  () => 'mock-partnerIssueModal'
+)
+jest.mock('components/CustomPopup/CustomPopupModal', () => 'mock-customPopup')
+jest.mock(
+  'components/ReleaseNotesModal/ReleaseNotesModal',
+  () => 'mock-releaseNotes'
 )
-jest.mock('components/CustomPopup/CustomPopupModal', () => 'mock-custompopup')
-jest.mock('components/Home/ReleaseNotesModal', () => 'mock-releasenotes')
 jest.mock(
   'components/Connection/SGEConnect/SgeConnectView',
   () => 'mock-SgeConnectView'
@@ -94,10 +103,10 @@ describe('ConsumptionView component', () => {
     )
     expect(wrapper.find('mock-cozybar').exists()).toBeTruthy()
     expect(wrapper.find('mock-header').exists()).toBeTruthy()
-    expect(wrapper.find('mock-datenavigator').exists()).toBeTruthy()
-    expect(wrapper.find('mock-fluidbuttons').exists()).toBeTruthy()
+    expect(wrapper.find('mock-dateNavigator').exists()).toBeTruthy()
+    expect(wrapper.find('mock-fluidButtons').exists()).toBeTruthy()
     expect(wrapper.find('mock-fluidchart').exists()).toBeTruthy()
-    expect(wrapper.find('mock-consumptiondetails').exists()).toBeTruthy()
+    expect(wrapper.find('mock-consumptionDetails').exists()).toBeTruthy()
   })
 
   it('should display a spinner when fluid connected and is loading', () => {
@@ -120,7 +129,7 @@ describe('ConsumptionView component', () => {
     )
     expect(wrapper.find('mock-cozybar').exists()).toBeTruthy()
     expect(wrapper.find('mock-header').exists()).toBeTruthy()
-    expect(wrapper.find('mock-datenavigator').exists()).toBeTruthy()
+    expect(wrapper.find('mock-dateNavigator').exists()).toBeTruthy()
     expect(wrapper.find(Loader).exists()).toBeTruthy()
   })
 
@@ -159,7 +168,7 @@ describe('ConsumptionView component', () => {
         <ConsumptionView fluidType={FluidType.MULTIFLUID} />
       </Provider>
     )
-    expect(wrapper.find('mock-consumptiondetails').exists()).toBeTruthy()
+    expect(wrapper.find('mock-consumptionDetails').exists()).toBeTruthy()
   })
 
   it('should render mutlifluid consumption if at least one fluid is connected', () => {
@@ -194,7 +203,7 @@ describe('ConsumptionView component', () => {
       </Provider>
     )
     expect(wrapper.find('.consumptionview-content').exists()).toBeTruthy()
-    expect(wrapper.find('mock-consumptiondetails').exists()).toBeTruthy()
+    expect(wrapper.find('mock-consumptionDetails').exists()).toBeTruthy()
   })
 
   // todo describe and add multiple fluids ?
@@ -215,7 +224,7 @@ describe('ConsumptionView component', () => {
         <ConsumptionView fluidType={FluidType.ELECTRICITY} />
       </Provider>
     )
-    expect(wrapper.find('mock-partnerissuemodal').exists()).toBeTruthy()
+    expect(wrapper.find('mock-partnerIssueModal').exists()).toBeTruthy()
   })
   it('should show expired modal when a GRDF consent is expired', () => {
     const updatedStatus = mockInitialEcolyoState.global.fluidStatus
@@ -272,7 +281,7 @@ describe('ConsumptionView component', () => {
         <ConsumptionView fluidType={FluidType.ELECTRICITY} />
       </Provider>
     )
-    expect(wrapper.find('mock-custompopup').exists()).toBeTruthy()
+    expect(wrapper.find('mock-customPopup').exists()).toBeTruthy()
   })
   it('should render releaseNotesModal if releaseNotes.show is true', async () => {
     const store = createMockEcolyoStore({
@@ -292,6 +301,6 @@ describe('ConsumptionView component', () => {
         <ConsumptionView fluidType={FluidType.ELECTRICITY} />
       </Provider>
     )
-    expect(wrapper.find('mock-releasenotes').exists()).toBeTruthy()
+    expect(wrapper.find('mock-releaseNotes').exists()).toBeTruthy()
   })
 })
diff --git a/src/components/Home/ConsumptionView.tsx b/src/components/Consumption/ConsumptionView.tsx
similarity index 97%
rename from src/components/Home/ConsumptionView.tsx
rename to src/components/Consumption/ConsumptionView.tsx
index 10d217683..a8814841b 100644
--- a/src/components/Home/ConsumptionView.tsx
+++ b/src/components/Consumption/ConsumptionView.tsx
@@ -1,17 +1,16 @@
 import classNames from 'classnames'
-import ExpiredConsentModal from 'components/Connection/ExpiredConsentModal'
+import ExpiredConsentModal from 'components/Connection/ExpiredConsentModal/ExpiredConsentModal'
 import Content from 'components/Content/Content'
 import CustomPopupModal from 'components/CustomPopup/CustomPopupModal'
 import DateNavigator from 'components/DateNavigator/DateNavigator'
 import FluidChart from 'components/FluidChart/FluidChart'
 import CozyBar from 'components/Header/CozyBar'
 import Header from 'components/Header/Header'
-import ConsumptionDetails from 'components/Home/ConsumptionDetails'
-import FluidButtons from 'components/Home/FluidButtons'
 import KonnectorViewerCard from 'components/Konnector/KonnectorViewerCard'
 import KonnectorViewerList from 'components/Konnector/KonnectorViewerList'
 import Loader from 'components/Loader/Loader'
 import PartnerIssueModal from 'components/PartnerIssue/PartnerIssueModal'
+import ReleaseNotesModal from 'components/ReleaseNotesModal/ReleaseNotesModal'
 import { useClient } from 'cozy-client'
 import { FluidType, TimeStep } from 'enums'
 import { DateTime } from 'luxon'
@@ -34,7 +33,8 @@ import {
   getTodayDate,
   isKonnectorActive,
 } from 'utils/utils'
-import ReleaseNotesModal from './ReleaseNotesModal'
+import ConsumptionDetails from './ConsumptionDetails/ConsumptionDetails'
+import FluidButtons from './FluidButtons/FluidButtons'
 import './consumptionView.scss'
 
 const ConsumptionView = ({ fluidType }: { fluidType: FluidType }) => {
diff --git a/src/components/Home/FluidButton.spec.tsx b/src/components/Consumption/FluidButtons/FluidButton.spec.tsx
similarity index 93%
rename from src/components/Home/FluidButton.spec.tsx
rename to src/components/Consumption/FluidButtons/FluidButton.spec.tsx
index 5b2a1c7b5..04ed871e4 100644
--- a/src/components/Home/FluidButton.spec.tsx
+++ b/src/components/Consumption/FluidButtons/FluidButton.spec.tsx
@@ -5,11 +5,8 @@ import { GlobalState } from 'models'
 import React from 'react'
 import { Provider } from 'react-redux'
 import UsageEventService from 'services/usageEvent.service'
-import {
-  createMockEcolyoStore,
-  mockGlobalState,
-} from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { createMockEcolyoStore, mockGlobalState } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import FluidButton from './FluidButton'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Home/FluidButton.tsx b/src/components/Consumption/FluidButtons/FluidButton.tsx
similarity index 100%
rename from src/components/Home/FluidButton.tsx
rename to src/components/Consumption/FluidButtons/FluidButton.tsx
diff --git a/src/components/Home/FluidButtons.spec.tsx b/src/components/Consumption/FluidButtons/FluidButtons.spec.tsx
similarity index 86%
rename from src/components/Home/FluidButtons.spec.tsx
rename to src/components/Consumption/FluidButtons/FluidButtons.spec.tsx
index a5b287157..50cf24a07 100644
--- a/src/components/Home/FluidButtons.spec.tsx
+++ b/src/components/Consumption/FluidButtons/FluidButtons.spec.tsx
@@ -3,8 +3,8 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import FluidButtons from './FluidButtons'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Home/FluidButtons.tsx b/src/components/Consumption/FluidButtons/FluidButtons.tsx
similarity index 100%
rename from src/components/Home/FluidButtons.tsx
rename to src/components/Consumption/FluidButtons/FluidButtons.tsx
diff --git a/src/components/Home/__snapshots__/FluidButton.spec.tsx.snap b/src/components/Consumption/FluidButtons/__snapshots__/FluidButton.spec.tsx.snap
similarity index 100%
rename from src/components/Home/__snapshots__/FluidButton.spec.tsx.snap
rename to src/components/Consumption/FluidButtons/__snapshots__/FluidButton.spec.tsx.snap
diff --git a/src/components/Home/__snapshots__/FluidButtons.spec.tsx.snap b/src/components/Consumption/FluidButtons/__snapshots__/FluidButtons.spec.tsx.snap
similarity index 100%
rename from src/components/Home/__snapshots__/FluidButtons.spec.tsx.snap
rename to src/components/Consumption/FluidButtons/__snapshots__/FluidButtons.spec.tsx.snap
diff --git a/src/components/Home/fluidButtons.scss b/src/components/Consumption/FluidButtons/fluidButtons.scss
similarity index 100%
rename from src/components/Home/fluidButtons.scss
rename to src/components/Consumption/FluidButtons/fluidButtons.scss
diff --git a/src/components/Home/consumptionView.scss b/src/components/Consumption/consumptionView.scss
similarity index 100%
rename from src/components/Home/consumptionView.scss
rename to src/components/Consumption/consumptionView.scss
diff --git a/src/components/ConsumptionVisualizer/DataloadConsumptionVisualizer.spec.tsx b/src/components/ConsumptionVisualizer/DataloadConsumptionVisualizer.spec.tsx
index 74d7a4c07..55db7ace8 100644
--- a/src/components/ConsumptionVisualizer/DataloadConsumptionVisualizer.spec.tsx
+++ b/src/components/ConsumptionVisualizer/DataloadConsumptionVisualizer.spec.tsx
@@ -6,12 +6,9 @@ import React from 'react'
 import { Provider } from 'react-redux'
 import { BrowserRouter } from 'react-router-dom'
 import UsageEventService from 'services/usageEvent.service'
-import { baseDataLoad } from '../../../tests/__mocks__/chartData.mock'
-import {
-  createMockEcolyoStore,
-  mockChartState,
-} from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { baseDataLoad } from 'tests/__mocks__/chartData.mock'
+import { createMockEcolyoStore, mockChartState } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import DataloadConsumptionVisualizer from './DataloadConsumptionVisualizer'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/ConsumptionVisualizer/DataloadNoValue.spec.tsx b/src/components/ConsumptionVisualizer/DataloadNoValue.spec.tsx
index 7a332e4dc..2b0e5ab96 100644
--- a/src/components/ConsumptionVisualizer/DataloadNoValue.spec.tsx
+++ b/src/components/ConsumptionVisualizer/DataloadNoValue.spec.tsx
@@ -3,7 +3,7 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import { Dataload } from 'models'
 import React from 'react'
-import { baseDataLoad } from '../../../tests/__mocks__/chartData.mock'
+import { baseDataLoad } from 'tests/__mocks__/chartData.mock'
 import DataloadNoValue from './DataloadNoValue'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/ConsumptionVisualizer/DataloadSection.spec.tsx b/src/components/ConsumptionVisualizer/DataloadSection.spec.tsx
index 7a679918a..84ab4e32d 100644
--- a/src/components/ConsumptionVisualizer/DataloadSection.spec.tsx
+++ b/src/components/ConsumptionVisualizer/DataloadSection.spec.tsx
@@ -3,7 +3,7 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import { Dataload } from 'models'
 import React from 'react'
-import { baseDataLoad } from '../../../tests/__mocks__/chartData.mock'
+import { baseDataLoad } from 'tests/__mocks__/chartData.mock'
 import DataloadSection from './DataloadSection'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/ConsumptionVisualizer/DataloadSectionDetail.spec.tsx b/src/components/ConsumptionVisualizer/DataloadSectionDetail.spec.tsx
index 6cd870e43..fd38a9ca2 100644
--- a/src/components/ConsumptionVisualizer/DataloadSectionDetail.spec.tsx
+++ b/src/components/ConsumptionVisualizer/DataloadSectionDetail.spec.tsx
@@ -3,7 +3,7 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import { Dataload } from 'models'
 import React from 'react'
-import { baseDataLoad } from '../../../tests/__mocks__/chartData.mock'
+import { baseDataLoad } from 'tests/__mocks__/chartData.mock'
 import DataloadSectionDetail from './DataloadSectionDetail'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/ConsumptionVisualizer/DataloadSectionValue.spec.tsx b/src/components/ConsumptionVisualizer/DataloadSectionValue.spec.tsx
index c2ea56db0..c20320527 100644
--- a/src/components/ConsumptionVisualizer/DataloadSectionValue.spec.tsx
+++ b/src/components/ConsumptionVisualizer/DataloadSectionValue.spec.tsx
@@ -6,7 +6,7 @@ import React from 'react'
 import {
   baseDataLoad,
   baseMultiFluidDataLoad,
-} from '../../../tests/__mocks__/chartData.mock'
+} from 'tests/__mocks__/chartData.mock'
 import DataloadSectionValue from './DataloadSectionValue'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/ConsumptionVisualizer/InfoDataConsumptionVisualizer.spec.tsx b/src/components/ConsumptionVisualizer/InfoDataConsumptionVisualizer.spec.tsx
index 8f6f4755b..6f230b8b3 100644
--- a/src/components/ConsumptionVisualizer/InfoDataConsumptionVisualizer.spec.tsx
+++ b/src/components/ConsumptionVisualizer/InfoDataConsumptionVisualizer.spec.tsx
@@ -6,8 +6,8 @@ import { Dataload } from 'models'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as storeHooks from 'store/hooks'
-import { baseDataLoad } from '../../../tests/__mocks__/chartData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { baseDataLoad } from 'tests/__mocks__/chartData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import InfoDataConsumptionVisualizer from './InfoDataConsumptionVisualizer'
 import NoDataModal from './NoDataModal'
 
diff --git a/src/components/CustomPopup/CustomPopupModal.spec.tsx b/src/components/CustomPopup/CustomPopupModal.spec.tsx
index 9b7c41f59..b16023eb1 100644
--- a/src/components/CustomPopup/CustomPopupModal.spec.tsx
+++ b/src/components/CustomPopup/CustomPopupModal.spec.tsx
@@ -6,7 +6,7 @@ import {
   mockCustomPopup,
   mockCustomPopupOff,
   mockCustomPopupOutdated,
-} from '../../../tests/__mocks__/customPopup.mock'
+} from 'tests/__mocks__/customPopup.mock'
 import CustomPopupModal from './CustomPopupModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/DateNavigator/DateNavigator.spec.tsx b/src/components/DateNavigator/DateNavigator.spec.tsx
index a624d8907..b9dedb9d2 100644
--- a/src/components/DateNavigator/DateNavigator.spec.tsx
+++ b/src/components/DateNavigator/DateNavigator.spec.tsx
@@ -4,7 +4,7 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import { DateTime } from 'luxon'
 import React from 'react'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import DateNavigator from './DateNavigator'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Duel/DuelBar.tsx b/src/components/Duel/DuelChart/DuelBar.tsx
similarity index 100%
rename from src/components/Duel/DuelBar.tsx
rename to src/components/Duel/DuelChart/DuelBar.tsx
diff --git a/src/components/Duel/DuelChart.tsx b/src/components/Duel/DuelChart/DuelChart.tsx
similarity index 94%
rename from src/components/Duel/DuelChart.tsx
rename to src/components/Duel/DuelChart/DuelChart.tsx
index 538398c5c..993328d49 100644
--- a/src/components/Duel/DuelChart.tsx
+++ b/src/components/Duel/DuelChart/DuelChart.tsx
@@ -1,4 +1,4 @@
-import DuelBar from 'components/Duel/DuelBar'
+import DuelBar from 'components/Duel/DuelChart/DuelBar'
 import { TimeStep } from 'enums'
 import { Dataload, UserChallenge } from 'models'
 import React, { useEffect, useState } from 'react'
diff --git a/src/components/Duel/duelChart.scss b/src/components/Duel/DuelChart/duelChart.scss
similarity index 100%
rename from src/components/Duel/duelChart.scss
rename to src/components/Duel/DuelChart/duelChart.scss
diff --git a/src/components/Duel/DuelEmptyValueModal.tsx b/src/components/Duel/DuelEmptyValueModal/DuelEmptyValueModal.tsx
similarity index 100%
rename from src/components/Duel/DuelEmptyValueModal.tsx
rename to src/components/Duel/DuelEmptyValueModal/DuelEmptyValueModal.tsx
diff --git a/src/components/Duel/duelEmptyValueModal.scss b/src/components/Duel/DuelEmptyValueModal/duelEmptyValueModal.scss
similarity index 100%
rename from src/components/Duel/duelEmptyValueModal.scss
rename to src/components/Duel/DuelEmptyValueModal/duelEmptyValueModal.scss
diff --git a/src/components/Duel/DuelError.spec.tsx b/src/components/Duel/DuelError/DuelError.spec.tsx
similarity index 91%
rename from src/components/Duel/DuelError.spec.tsx
rename to src/components/Duel/DuelError/DuelError.spec.tsx
index 775b744bb..38538b7fc 100644
--- a/src/components/Duel/DuelError.spec.tsx
+++ b/src/components/Duel/DuelError/DuelError.spec.tsx
@@ -1,6 +1,6 @@
-import DuelError from 'components/Duel/DuelError'
 import { shallow } from 'enzyme'
 import React from 'react'
+import DuelError from './DuelError'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Duel/DuelError.tsx b/src/components/Duel/DuelError/DuelError.tsx
similarity index 100%
rename from src/components/Duel/DuelError.tsx
rename to src/components/Duel/DuelError/DuelError.tsx
diff --git a/src/components/Duel/__snapshots__/DuelError.spec.tsx.snap b/src/components/Duel/DuelError/__snapshots__/DuelError.spec.tsx.snap
similarity index 100%
rename from src/components/Duel/__snapshots__/DuelError.spec.tsx.snap
rename to src/components/Duel/DuelError/__snapshots__/DuelError.spec.tsx.snap
diff --git a/src/components/Duel/duelError.scss b/src/components/Duel/DuelError/duelError.scss
similarity index 100%
rename from src/components/Duel/duelError.scss
rename to src/components/Duel/DuelError/duelError.scss
diff --git a/src/components/Duel/DuelOngoing.spec.tsx b/src/components/Duel/DuelOngoing/DuelOngoing.spec.tsx
similarity index 82%
rename from src/components/Duel/DuelOngoing.spec.tsx
rename to src/components/Duel/DuelOngoing/DuelOngoing.spec.tsx
index 2b1af7138..7345593c2 100644
--- a/src/components/Duel/DuelOngoing.spec.tsx
+++ b/src/components/Duel/DuelOngoing/DuelOngoing.spec.tsx
@@ -1,14 +1,14 @@
-import DuelOngoing from 'components/Duel/DuelOngoing'
 import { UserChallengeState } from 'enums'
 import { mount } from 'enzyme'
 import { DateTime } from 'luxon'
 import { UserChallenge } from 'models'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
-import DuelResultModal from './DuelResultModal'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import DuelResultModal from '../DuelResultModal/DuelResultModal'
+import DuelOngoing from './DuelOngoing'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
@@ -46,8 +46,11 @@ jest.mock('utils/utils', () => {
     }),
   }
 })
-jest.mock('components/Duel/DuelChart', () => 'mock-duelchart')
-jest.mock('components/Duel/DuelResultModal', () => 'mock-duelModal')
+jest.mock('components/Duel/DuelChart/DuelChart', () => 'mock-duelchart')
+jest.mock(
+  'components/Duel/DuelResultModal/DuelResultModal',
+  () => 'mock-duelModal'
+)
 
 describe('DuelOngoing component', () => {
   const store = createMockEcolyoStore()
diff --git a/src/components/Duel/DuelOngoing.tsx b/src/components/Duel/DuelOngoing/DuelOngoing.tsx
similarity index 97%
rename from src/components/Duel/DuelOngoing.tsx
rename to src/components/Duel/DuelOngoing/DuelOngoing.tsx
index b57e15b54..a80cc5a2b 100644
--- a/src/components/Duel/DuelOngoing.tsx
+++ b/src/components/Duel/DuelOngoing/DuelOngoing.tsx
@@ -2,9 +2,6 @@ import CaptionAverageIcon from 'assets/icons/visu/duel/captionAverage.svg'
 import CaptionConsumptionIcon from 'assets/icons/visu/duel/captionConsumption.svg'
 import CaptionIncomingIcon from 'assets/icons/visu/duel/captionIncoming.svg'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
-import DuelChart from 'components/Duel/DuelChart'
-import DuelResultModal from 'components/Duel/DuelResultModal'
-import LastDuelModal from 'components/Duel/lastDuelModal'
 import { useChartResize } from 'components/Hooks/useChartResize'
 import { useClient } from 'cozy-client'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
@@ -26,6 +23,9 @@ import {
 import { toggleChallengeDuelNotification } from 'store/global/global.slice'
 import { useAppDispatch, useAppSelector } from 'store/hooks'
 import { formatNumberValues } from 'utils/utils'
+import DuelChart from '../DuelChart/DuelChart'
+import DuelResultModal from '../DuelResultModal/DuelResultModal'
+import LastDuelModal from '../LastDuelModal/lastDuelModal'
 import './duelOngoing.scss'
 
 interface DuelOngoingProps {
diff --git a/src/components/Duel/duelOngoing.scss b/src/components/Duel/DuelOngoing/duelOngoing.scss
similarity index 100%
rename from src/components/Duel/duelOngoing.scss
rename to src/components/Duel/DuelOngoing/duelOngoing.scss
diff --git a/src/components/Duel/DuelResultModal.spec.tsx b/src/components/Duel/DuelResultModal/DuelResultModal.spec.tsx
similarity index 89%
rename from src/components/Duel/DuelResultModal.spec.tsx
rename to src/components/Duel/DuelResultModal/DuelResultModal.spec.tsx
index c3ba0cf22..6e6836060 100644
--- a/src/components/Duel/DuelResultModal.spec.tsx
+++ b/src/components/Duel/DuelResultModal/DuelResultModal.spec.tsx
@@ -1,8 +1,8 @@
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import DuelResultModal from './DuelResultModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Duel/DuelResultModal.tsx b/src/components/Duel/DuelResultModal/DuelResultModal.tsx
similarity index 100%
rename from src/components/Duel/DuelResultModal.tsx
rename to src/components/Duel/DuelResultModal/DuelResultModal.tsx
diff --git a/src/components/Duel/__snapshots__/DuelResultModal.spec.tsx.snap b/src/components/Duel/DuelResultModal/__snapshots__/DuelResultModal.spec.tsx.snap
similarity index 100%
rename from src/components/Duel/__snapshots__/DuelResultModal.spec.tsx.snap
rename to src/components/Duel/DuelResultModal/__snapshots__/DuelResultModal.spec.tsx.snap
diff --git a/src/components/Duel/duelResultModal.scss b/src/components/Duel/DuelResultModal/duelResultModal.scss
similarity index 100%
rename from src/components/Duel/duelResultModal.scss
rename to src/components/Duel/DuelResultModal/duelResultModal.scss
diff --git a/src/components/Duel/DuelUnlocked.spec.tsx b/src/components/Duel/DuelUnlocked/DuelUnlocked.spec.tsx
similarity index 89%
rename from src/components/Duel/DuelUnlocked.spec.tsx
rename to src/components/Duel/DuelUnlocked/DuelUnlocked.spec.tsx
index f2643e3c0..4ef56d048 100644
--- a/src/components/Duel/DuelUnlocked.spec.tsx
+++ b/src/components/Duel/DuelUnlocked/DuelUnlocked.spec.tsx
@@ -1,18 +1,15 @@
 import Button from '@material-ui/core/Button'
 import defaultIcon from 'assets/icons/visu/duel/default.svg'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
-import DuelUnlocked from 'components/Duel/DuelUnlocked'
 import { FluidType, UserChallengeUpdateFlag } from 'enums'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
 import UsageEventService from 'services/usageEvent.service'
+import { createMockEcolyoStore, mockGlobalState } from 'tests/__mocks__/store'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import { formatNumberValues } from 'utils/utils'
-import {
-  createMockEcolyoStore,
-  mockGlobalState,
-} from '../../../tests/__mocks__/store'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import DuelUnlocked from './DuelUnlocked'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Duel/DuelUnlocked.tsx b/src/components/Duel/DuelUnlocked/DuelUnlocked.tsx
similarity index 100%
rename from src/components/Duel/DuelUnlocked.tsx
rename to src/components/Duel/DuelUnlocked/DuelUnlocked.tsx
diff --git a/src/components/Duel/duelUnlocked.scss b/src/components/Duel/DuelUnlocked/duelUnlocked.scss
similarity index 100%
rename from src/components/Duel/duelUnlocked.scss
rename to src/components/Duel/DuelUnlocked/duelUnlocked.scss
diff --git a/src/components/Duel/DuelView.spec.tsx b/src/components/Duel/DuelView.spec.tsx
index 990383473..f590ca9f3 100644
--- a/src/components/Duel/DuelView.spec.tsx
+++ b/src/components/Duel/DuelView.spec.tsx
@@ -3,15 +3,12 @@ import { UserChallengeState, UserDuelState } from 'enums'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { challengeStateData } from '../../../tests/__mocks__/challengeStateData.mock'
-import {
-  createMockEcolyoStore,
-  mockChartState,
-} from '../../../tests/__mocks__/store'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
-import DuelError from './DuelError'
-import DuelOngoing from './DuelOngoing'
-import DuelUnlocked from './DuelUnlocked'
+import { challengeStateData } from 'tests/__mocks__/challengeStateData.mock'
+import { createMockEcolyoStore, mockChartState } from 'tests/__mocks__/store'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import DuelError from './DuelError/DuelError'
+import DuelOngoing from './DuelOngoing/DuelOngoing'
+import DuelUnlocked from './DuelUnlocked/DuelUnlocked'
 
 jest.mock('components/Header/CozyBar', () => 'mock-cozybar')
 jest.mock('components/Header/Header', () => 'mock-header')
diff --git a/src/components/Duel/DuelView.tsx b/src/components/Duel/DuelView.tsx
index bf19d59d1..71531bc47 100644
--- a/src/components/Duel/DuelView.tsx
+++ b/src/components/Duel/DuelView.tsx
@@ -1,6 +1,4 @@
 import Content from 'components/Content/Content'
-import DuelError from 'components/Duel/DuelError'
-import DuelUnlocked from 'components/Duel/DuelUnlocked'
 import CozyBar from 'components/Header/CozyBar'
 import Header from 'components/Header/Header'
 import { UserChallengeState, UserDuelState } from 'enums'
@@ -8,8 +6,10 @@ import { UserChallenge } from 'models'
 import React, { useState } from 'react'
 import { useLocation, useNavigate } from 'react-router-dom'
 import { useAppSelector } from 'store/hooks'
-import DuelEmptyValueModal from './DuelEmptyValueModal'
-import DuelOngoing from './DuelOngoing'
+import DuelEmptyValueModal from './DuelEmptyValueModal/DuelEmptyValueModal'
+import DuelError from './DuelError/DuelError'
+import DuelOngoing from './DuelOngoing/DuelOngoing'
+import DuelUnlocked from './DuelUnlocked/DuelUnlocked'
 
 const DuelView = () => {
   const navigate = useNavigate()
diff --git a/src/components/Duel/__snapshots__/lastDuelModal.spec.tsx.snap b/src/components/Duel/LastDuelModal/__snapshots__/lastDuelModal.spec.tsx.snap
similarity index 100%
rename from src/components/Duel/__snapshots__/lastDuelModal.spec.tsx.snap
rename to src/components/Duel/LastDuelModal/__snapshots__/lastDuelModal.spec.tsx.snap
diff --git a/src/components/Duel/lastDuelModal.scss b/src/components/Duel/LastDuelModal/lastDuelModal.scss
similarity index 100%
rename from src/components/Duel/lastDuelModal.scss
rename to src/components/Duel/LastDuelModal/lastDuelModal.scss
diff --git a/src/components/Duel/lastDuelModal.spec.tsx b/src/components/Duel/LastDuelModal/lastDuelModal.spec.tsx
similarity index 87%
rename from src/components/Duel/lastDuelModal.spec.tsx
rename to src/components/Duel/LastDuelModal/lastDuelModal.spec.tsx
index e907ad576..f1f88b608 100644
--- a/src/components/Duel/lastDuelModal.spec.tsx
+++ b/src/components/Duel/LastDuelModal/lastDuelModal.spec.tsx
@@ -1,7 +1,7 @@
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import LastDuelModal from './lastDuelModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Duel/lastDuelModal.tsx b/src/components/Duel/LastDuelModal/lastDuelModal.tsx
similarity index 100%
rename from src/components/Duel/lastDuelModal.tsx
rename to src/components/Duel/LastDuelModal/lastDuelModal.tsx
diff --git a/src/components/Ecogesture/EcogestureCard.spec.tsx b/src/components/Ecogesture/EcogestureCard/EcogestureCard.spec.tsx
similarity index 86%
rename from src/components/Ecogesture/EcogestureCard.spec.tsx
rename to src/components/Ecogesture/EcogestureCard/EcogestureCard.spec.tsx
index b5e1b476f..074a0c972 100644
--- a/src/components/Ecogesture/EcogestureCard.spec.tsx
+++ b/src/components/Ecogesture/EcogestureCard/EcogestureCard.spec.tsx
@@ -1,11 +1,11 @@
 /* eslint-disable react/display-name */
-import EcogestureCard from 'components/Ecogesture/EcogestureCard'
+import EcogestureCard from 'components/Ecogesture/EcogestureCard/EcogestureCard'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { BrowserRouter } from 'react-router-dom'
-import { mockedEcogesturesData } from '../../../tests/__mocks__/ecogesturesData.mock'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { mockedEcogesturesData } from 'tests/__mocks__/ecogesturesData.mock'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Ecogesture/EcogestureCard.tsx b/src/components/Ecogesture/EcogestureCard/EcogestureCard.tsx
similarity index 95%
rename from src/components/Ecogesture/EcogestureCard.tsx
rename to src/components/Ecogesture/EcogestureCard/EcogestureCard.tsx
index f2f492132..749ca432d 100644
--- a/src/components/Ecogesture/EcogestureCard.tsx
+++ b/src/components/Ecogesture/EcogestureCard/EcogestureCard.tsx
@@ -6,7 +6,7 @@ import { Ecogesture } from 'models'
 import React, { useEffect, useState } from 'react'
 import { Link as RouterLink } from 'react-router-dom'
 import { importIconById } from 'utils/utils'
-import EfficiencyRating from './EfficiencyRating'
+import EfficiencyRating from '../EfficiencyRating/EfficiencyRating'
 import './ecogestureCard.scss'
 
 interface EcogestureCardProps {
diff --git a/src/components/Ecogesture/__snapshots__/EcogestureCard.spec.tsx.snap b/src/components/Ecogesture/EcogestureCard/__snapshots__/EcogestureCard.spec.tsx.snap
similarity index 100%
rename from src/components/Ecogesture/__snapshots__/EcogestureCard.spec.tsx.snap
rename to src/components/Ecogesture/EcogestureCard/__snapshots__/EcogestureCard.spec.tsx.snap
diff --git a/src/components/Ecogesture/ecogestureCard.scss b/src/components/Ecogesture/EcogestureCard/ecogestureCard.scss
similarity index 100%
rename from src/components/Ecogesture/ecogestureCard.scss
rename to src/components/Ecogesture/EcogestureCard/ecogestureCard.scss
diff --git a/src/components/Ecogesture/EcogestureEmptyList.spec.tsx b/src/components/Ecogesture/EcogestureEmptyList/EcogestureEmptyList.spec.tsx
similarity index 100%
rename from src/components/Ecogesture/EcogestureEmptyList.spec.tsx
rename to src/components/Ecogesture/EcogestureEmptyList/EcogestureEmptyList.spec.tsx
diff --git a/src/components/Ecogesture/EcogestureEmptyList.tsx b/src/components/Ecogesture/EcogestureEmptyList/EcogestureEmptyList.tsx
similarity index 100%
rename from src/components/Ecogesture/EcogestureEmptyList.tsx
rename to src/components/Ecogesture/EcogestureEmptyList/EcogestureEmptyList.tsx
diff --git a/src/components/Ecogesture/__snapshots__/EcogestureEmptyList.spec.tsx.snap b/src/components/Ecogesture/EcogestureEmptyList/__snapshots__/EcogestureEmptyList.spec.tsx.snap
similarity index 100%
rename from src/components/Ecogesture/__snapshots__/EcogestureEmptyList.spec.tsx.snap
rename to src/components/Ecogesture/EcogestureEmptyList/__snapshots__/EcogestureEmptyList.spec.tsx.snap
diff --git a/src/components/Ecogesture/ecogestureEmptyList.scss b/src/components/Ecogesture/EcogestureEmptyList/ecogestureEmptyList.scss
similarity index 100%
rename from src/components/Ecogesture/ecogestureEmptyList.scss
rename to src/components/Ecogesture/EcogestureEmptyList/ecogestureEmptyList.scss
diff --git a/src/components/Ecogesture/EcogestureInitModal.spec.tsx b/src/components/Ecogesture/EcogestureInitModal/EcogestureInitModal.spec.tsx
similarity index 100%
rename from src/components/Ecogesture/EcogestureInitModal.spec.tsx
rename to src/components/Ecogesture/EcogestureInitModal/EcogestureInitModal.spec.tsx
diff --git a/src/components/Ecogesture/EcogestureInitModal.tsx b/src/components/Ecogesture/EcogestureInitModal/EcogestureInitModal.tsx
similarity index 99%
rename from src/components/Ecogesture/EcogestureInitModal.tsx
rename to src/components/Ecogesture/EcogestureInitModal/EcogestureInitModal.tsx
index e5f7959a7..7c92ca992 100644
--- a/src/components/Ecogesture/EcogestureInitModal.tsx
+++ b/src/components/Ecogesture/EcogestureInitModal/EcogestureInitModal.tsx
@@ -5,11 +5,13 @@ import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import Icon from 'cozy-ui/transpiled/react/Icon'
 import React from 'react'
 import './ecogestureInitModal.scss'
+
 interface EcogestureInitModalProps {
   open: boolean
   handleCloseClick: () => void
   handleLaunchForm: () => void
 }
+
 const EcogestureInitModal = ({
   open,
   handleCloseClick,
diff --git a/src/components/Ecogesture/__snapshots__/EcogestureInitModal.spec.tsx.snap b/src/components/Ecogesture/EcogestureInitModal/__snapshots__/EcogestureInitModal.spec.tsx.snap
similarity index 100%
rename from src/components/Ecogesture/__snapshots__/EcogestureInitModal.spec.tsx.snap
rename to src/components/Ecogesture/EcogestureInitModal/__snapshots__/EcogestureInitModal.spec.tsx.snap
diff --git a/src/components/Ecogesture/ecogestureInitModal.scss b/src/components/Ecogesture/EcogestureInitModal/ecogestureInitModal.scss
similarity index 100%
rename from src/components/Ecogesture/ecogestureInitModal.scss
rename to src/components/Ecogesture/EcogestureInitModal/ecogestureInitModal.scss
diff --git a/src/components/Ecogesture/EcogestureList.spec.tsx b/src/components/Ecogesture/EcogestureList/EcogestureList.spec.tsx
similarity index 85%
rename from src/components/Ecogesture/EcogestureList.spec.tsx
rename to src/components/Ecogesture/EcogestureList/EcogestureList.spec.tsx
index 7bf20362e..cc90f64a6 100644
--- a/src/components/Ecogesture/EcogestureList.spec.tsx
+++ b/src/components/Ecogesture/EcogestureList/EcogestureList.spec.tsx
@@ -1,21 +1,24 @@
 import { Button, MenuItem } from '@material-ui/core'
-import EcogestureList from 'components/Ecogesture/EcogestureList'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
 import { BrowserRouter } from 'react-router-dom'
 import * as storeHooks from 'store/hooks'
-import { mockedEcogesturesData } from '../../../tests/__mocks__/ecogesturesData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { mockedEcogesturesData } from 'tests/__mocks__/ecogesturesData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import EcogestureList from './EcogestureList'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
     t: (str: string) => str,
   })),
 }))
-jest.mock('components/Ecogesture/EcogestureCard', () => 'mock-ecogesturecard')
+jest.mock(
+  'components/Ecogesture/EcogestureCard/EcogestureCard',
+  () => 'mock-ecogesturecard'
+)
 
 const mockHandleReinit = jest.fn()
 const updateEcogestureFilter = jest.fn()
@@ -23,7 +26,11 @@ const mockAppDispatch = jest.spyOn(storeHooks, 'useAppDispatch')
 mockAppDispatch.mockImplementation(() => updateEcogestureFilter)
 
 const store = createMockEcolyoStore()
+
 describe('EcogesturesList component', () => {
+  beforeAll(() => {
+    mockAppDispatch.mockClear()
+  })
   it('should be rendered correctly', async () => {
     const wrapper = mount(
       <Provider store={store}>
diff --git a/src/components/Ecogesture/EcogestureList.tsx b/src/components/Ecogesture/EcogestureList/EcogestureList.tsx
similarity index 99%
rename from src/components/Ecogesture/EcogestureList.tsx
rename to src/components/Ecogesture/EcogestureList/EcogestureList.tsx
index 9d651785b..5bf7a7558 100644
--- a/src/components/Ecogesture/EcogestureList.tsx
+++ b/src/components/Ecogesture/EcogestureList/EcogestureList.tsx
@@ -3,7 +3,7 @@ import Button from '@material-ui/core/Button'
 import CheckIcon from 'assets/icons/ico/check.svg'
 import SortIcon from 'assets/icons/ico/sort.svg'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
-import EcogestureCard from 'components/Ecogesture/EcogestureCard'
+import EcogestureCard from 'components/Ecogesture/EcogestureCard/EcogestureCard'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { Usage } from 'enums'
 import { Ecogesture } from 'models'
diff --git a/src/components/Ecogesture/__snapshots__/EcogestureList.spec.tsx.snap b/src/components/Ecogesture/EcogestureList/__snapshots__/EcogestureList.spec.tsx.snap
similarity index 100%
rename from src/components/Ecogesture/__snapshots__/EcogestureList.spec.tsx.snap
rename to src/components/Ecogesture/EcogestureList/__snapshots__/EcogestureList.spec.tsx.snap
diff --git a/src/components/Ecogesture/ecogestureList.scss b/src/components/Ecogesture/EcogestureList/ecogestureList.scss
similarity index 100%
rename from src/components/Ecogesture/ecogestureList.scss
rename to src/components/Ecogesture/EcogestureList/ecogestureList.scss
diff --git a/src/components/Ecogesture/EcogestureModal.spec.tsx b/src/components/Ecogesture/EcogestureModal/EcogestureModal.spec.tsx
similarity index 80%
rename from src/components/Ecogesture/EcogestureModal.spec.tsx
rename to src/components/Ecogesture/EcogestureModal/EcogestureModal.spec.tsx
index 9aac1a7e1..f877e968e 100644
--- a/src/components/Ecogesture/EcogestureModal.spec.tsx
+++ b/src/components/Ecogesture/EcogestureModal/EcogestureModal.spec.tsx
@@ -1,10 +1,10 @@
-import EcogestureModal from 'components/Ecogesture/EcogestureModal'
+import EcogestureModal from 'components/Ecogesture/EcogestureModal/EcogestureModal'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { mockedEcogesturesData } from '../../../tests/__mocks__/ecogesturesData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { mockedEcogesturesData } from 'tests/__mocks__/ecogesturesData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Ecogesture/EcogestureModal.tsx b/src/components/Ecogesture/EcogestureModal/EcogestureModal.tsx
similarity index 98%
rename from src/components/Ecogesture/EcogestureModal.tsx
rename to src/components/Ecogesture/EcogestureModal/EcogestureModal.tsx
index 52ca84070..b82aed9a1 100644
--- a/src/components/Ecogesture/EcogestureModal.tsx
+++ b/src/components/Ecogesture/EcogestureModal/EcogestureModal.tsx
@@ -13,7 +13,7 @@ import React, { useEffect, useState } from 'react'
 import { useAppSelector } from 'store/hooks'
 import { getPicto } from 'utils/picto'
 import { importIconById } from 'utils/utils'
-import EfficiencyRating from './EfficiencyRating'
+import EfficiencyRating from '../EfficiencyRating/EfficiencyRating'
 import './ecogestureModal.scss'
 
 interface EcogestureModalProps {
diff --git a/src/components/Ecogesture/ecogestureModal.scss b/src/components/Ecogesture/EcogestureModal/ecogestureModal.scss
similarity index 100%
rename from src/components/Ecogesture/ecogestureModal.scss
rename to src/components/Ecogesture/EcogestureModal/ecogestureModal.scss
diff --git a/src/components/Ecogesture/EcogestureReinitModal.spec.tsx b/src/components/Ecogesture/EcogestureReinitModal/EcogestureReinitModal.spec.tsx
similarity index 100%
rename from src/components/Ecogesture/EcogestureReinitModal.spec.tsx
rename to src/components/Ecogesture/EcogestureReinitModal/EcogestureReinitModal.spec.tsx
diff --git a/src/components/Ecogesture/EcogestureReinitModal.tsx b/src/components/Ecogesture/EcogestureReinitModal/EcogestureReinitModal.tsx
similarity index 99%
rename from src/components/Ecogesture/EcogestureReinitModal.tsx
rename to src/components/Ecogesture/EcogestureReinitModal/EcogestureReinitModal.tsx
index 25f3ea63e..f4487d8fa 100644
--- a/src/components/Ecogesture/EcogestureReinitModal.tsx
+++ b/src/components/Ecogesture/EcogestureReinitModal/EcogestureReinitModal.tsx
@@ -6,11 +6,13 @@ import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import Icon from 'cozy-ui/transpiled/react/Icon'
 import React from 'react'
 import './ecogestureReinitModal.scss'
+
 interface EcogestureReinitModalProps {
   open: boolean
   handleCloseClick: () => void
   handleLaunchReinit: () => void
 }
+
 const EcogestureReinitModal = ({
   open,
   handleCloseClick,
diff --git a/src/components/Ecogesture/__snapshots__/EcogestureReinitModal.spec.tsx.snap b/src/components/Ecogesture/EcogestureReinitModal/__snapshots__/EcogestureReinitModal.spec.tsx.snap
similarity index 100%
rename from src/components/Ecogesture/__snapshots__/EcogestureReinitModal.spec.tsx.snap
rename to src/components/Ecogesture/EcogestureReinitModal/__snapshots__/EcogestureReinitModal.spec.tsx.snap
diff --git a/src/components/Ecogesture/ecogestureReinitModal.scss b/src/components/Ecogesture/EcogestureReinitModal/ecogestureReinitModal.scss
similarity index 100%
rename from src/components/Ecogesture/ecogestureReinitModal.scss
rename to src/components/Ecogesture/EcogestureReinitModal/ecogestureReinitModal.scss
diff --git a/src/components/Ecogesture/EcogestureView.spec.tsx b/src/components/Ecogesture/EcogestureTabsView.spec.tsx
similarity index 81%
rename from src/components/Ecogesture/EcogestureView.spec.tsx
rename to src/components/Ecogesture/EcogestureTabsView.spec.tsx
index 4f0a0bf69..30c9db5e4 100644
--- a/src/components/Ecogesture/EcogestureView.spec.tsx
+++ b/src/components/Ecogesture/EcogestureTabsView.spec.tsx
@@ -1,16 +1,16 @@
 import { IconButton, Tab } from '@material-ui/core'
-import EcogestureView from 'components/Ecogesture/EcogestureView'
+import EcogestureTabsView from 'components/Ecogesture/EcogestureTabsView'
 import { Season } from 'enums'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as profileActions from 'store/profile/profile.actions'
-import { mockedEcogesturesData } from '../../../tests/__mocks__/ecogesturesData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import EcogestureEmptyList from './EcogestureEmptyList'
-import EcogestureInitModal from './EcogestureInitModal'
+import { mockedEcogesturesData } from 'tests/__mocks__/ecogesturesData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import EcogestureEmptyList from './EcogestureEmptyList/EcogestureEmptyList'
+import EcogestureInitModal from './EcogestureInitModal/EcogestureInitModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
@@ -42,7 +42,10 @@ jest.mock('services/profile.service', () => {
 
 jest.mock('components/Header/CozyBar', () => 'mock-cozybar')
 jest.mock('components/Header/Header', () => 'mock-header')
-jest.mock('components/Ecogesture/EcogestureList', () => 'mock-ecogesturelist')
+jest.mock(
+  'components/Ecogesture/EcogestureList/EcogestureList',
+  () => 'mock-ecogesturelist'
+)
 jest.mock('components/Content/Content', () => 'mock-content')
 const mockGetSeason = jest.fn()
 jest.mock('utils/utils', () => {
@@ -79,7 +82,7 @@ describe('EcogestureView component', () => {
   it('should be rendered correctly', async () => {
     const wrapper = mount(
       <Provider store={store}>
-        <EcogestureView />
+        <EcogestureTabsView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
@@ -93,7 +96,7 @@ describe('EcogestureView component', () => {
 
     const wrapper = mount(
       <Provider store={store}>
-        <EcogestureView />
+        <EcogestureTabsView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
@@ -110,7 +113,7 @@ describe('EcogestureView component', () => {
   it('should render empty list', async () => {
     const wrapper = mount(
       <Provider store={store}>
-        <EcogestureView />
+        <EcogestureTabsView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
@@ -121,7 +124,7 @@ describe('EcogestureView component', () => {
   it('should change tab', async () => {
     const wrapper = mount(
       <Provider store={store}>
-        <EcogestureView />
+        <EcogestureTabsView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
diff --git a/src/components/Ecogesture/EcogestureView.tsx b/src/components/Ecogesture/EcogestureTabsView.tsx
similarity index 96%
rename from src/components/Ecogesture/EcogestureView.tsx
rename to src/components/Ecogesture/EcogestureTabsView.tsx
index 115684128..7f2581807 100644
--- a/src/components/Ecogesture/EcogestureView.tsx
+++ b/src/components/Ecogesture/EcogestureTabsView.tsx
@@ -1,7 +1,6 @@
 import { Tab, Tabs } from '@material-ui/core'
 import classNames from 'classnames'
 import Content from 'components/Content/Content'
-import EcogestureList from 'components/Ecogesture/EcogestureList'
 import CozyBar from 'components/Header/CozyBar'
 import Header from 'components/Header/Header'
 import Loader from 'components/Loader/Loader'
@@ -14,10 +13,11 @@ import { useLocation, useNavigate } from 'react-router-dom'
 import EcogestureService from 'services/ecogesture.service'
 import { useAppDispatch, useAppSelector } from 'store/hooks'
 import { updateProfile } from 'store/profile/profile.actions'
-import EcogestureEmptyList from './EcogestureEmptyList'
-import EcogestureInitModal from './EcogestureInitModal'
-import EcogestureReinitModal from './EcogestureReinitModal'
-import './ecogestureView.scss'
+import EcogestureEmptyList from './EcogestureEmptyList/EcogestureEmptyList'
+import EcogestureInitModal from './EcogestureInitModal/EcogestureInitModal'
+import EcogestureList from './EcogestureList/EcogestureList'
+import EcogestureReinitModal from './EcogestureReinitModal/EcogestureReinitModal'
+import './ecogestureTabsView.scss'
 
 interface TabPanelProps {
   children: React.ReactNode
@@ -37,7 +37,7 @@ const TabPanel = ({ children, tab, value }: TabPanelProps) => {
   )
 }
 
-const EcogestureView = () => {
+const EcogestureTabsView = () => {
   const { t } = useI18n()
   const client = useClient()
   const tab = new URLSearchParams(useLocation().search).get('tab')
@@ -313,4 +313,4 @@ const EcogestureView = () => {
   )
 }
 
-export default EcogestureView
+export default EcogestureTabsView
diff --git a/src/components/Ecogesture/EfficiencyRating.spec.tsx b/src/components/Ecogesture/EfficiencyRating/EfficiencyRating.spec.tsx
similarity index 95%
rename from src/components/Ecogesture/EfficiencyRating.spec.tsx
rename to src/components/Ecogesture/EfficiencyRating/EfficiencyRating.spec.tsx
index f4e4d5238..35690f5f2 100644
--- a/src/components/Ecogesture/EfficiencyRating.spec.tsx
+++ b/src/components/Ecogesture/EfficiencyRating/EfficiencyRating.spec.tsx
@@ -1,4 +1,4 @@
-import EfficiencyRating from 'components/Ecogesture/EfficiencyRating'
+import EfficiencyRating from 'components/Ecogesture/EfficiencyRating/EfficiencyRating'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
diff --git a/src/components/Ecogesture/EfficiencyRating.tsx b/src/components/Ecogesture/EfficiencyRating/EfficiencyRating.tsx
similarity index 100%
rename from src/components/Ecogesture/EfficiencyRating.tsx
rename to src/components/Ecogesture/EfficiencyRating/EfficiencyRating.tsx
diff --git a/src/components/Ecogesture/__snapshots__/EfficiencyRating.spec.tsx.snap b/src/components/Ecogesture/EfficiencyRating/__snapshots__/EfficiencyRating.spec.tsx.snap
similarity index 100%
rename from src/components/Ecogesture/__snapshots__/EfficiencyRating.spec.tsx.snap
rename to src/components/Ecogesture/EfficiencyRating/__snapshots__/EfficiencyRating.spec.tsx.snap
diff --git a/src/components/Ecogesture/SingleEcogesture.spec.tsx b/src/components/Ecogesture/SingleEcogestureView.spec.tsx
similarity index 87%
rename from src/components/Ecogesture/SingleEcogesture.spec.tsx
rename to src/components/Ecogesture/SingleEcogestureView.spec.tsx
index 6ecdc3c04..09315002e 100644
--- a/src/components/Ecogesture/SingleEcogesture.spec.tsx
+++ b/src/components/Ecogesture/SingleEcogestureView.spec.tsx
@@ -1,12 +1,12 @@
 /* eslint-disable react/display-name */
-import SingleEcogesture from 'components/Ecogesture/SingleEcogesture'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { mockedEcogesturesData } from '../../../tests/__mocks__/ecogesturesData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { mockedEcogesturesData } from 'tests/__mocks__/ecogesturesData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import SingleEcogestureView from './SingleEcogestureView'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
@@ -31,9 +31,10 @@ jest.mock('utils/utils', () => {
   }
 })
 
-jest.mock('components/Ecogesture/EfficiencyRating', () => () => (
-  <div id="EfficiencyRating" />
-))
+jest.mock(
+  'components/Ecogesture/EfficiencyRating/EfficiencyRating',
+  () => () => <div id="EfficiencyRating" />
+)
 jest.mock('components/Header/Header', () => () => <div id="Header" />)
 jest.mock('components/Header/CozyBar', () => () => <div id="CozyBar" />)
 jest.mock('components/Loader/Loader', () => () => <div id="spinner" />)
@@ -59,7 +60,7 @@ describe('SingleEcogesture component', () => {
     mockGetEcogesturesByIds.mockResolvedValue([mockedEcogesturesData[0]])
     const wrapper = mount(
       <Provider store={store}>
-        <SingleEcogesture />
+        <SingleEcogestureView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
@@ -73,7 +74,7 @@ describe('SingleEcogesture component', () => {
     mockUpdateEcogesture.mockResolvedValueOnce(updatedEcogesture)
     const wrapper = mount(
       <Provider store={store}>
-        <SingleEcogesture />
+        <SingleEcogestureView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
@@ -89,7 +90,7 @@ describe('SingleEcogesture component', () => {
 
     const wrapper = mount(
       <Provider store={store}>
-        <SingleEcogesture />
+        <SingleEcogestureView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
@@ -103,7 +104,7 @@ describe('SingleEcogesture component', () => {
 
     const wrapper = mount(
       <Provider store={store}>
-        <SingleEcogesture />
+        <SingleEcogestureView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
diff --git a/src/components/Ecogesture/SingleEcogesture.tsx b/src/components/Ecogesture/SingleEcogestureView.tsx
similarity index 97%
rename from src/components/Ecogesture/SingleEcogesture.tsx
rename to src/components/Ecogesture/SingleEcogestureView.tsx
index c46cdfe36..c0c18d95f 100644
--- a/src/components/Ecogesture/SingleEcogesture.tsx
+++ b/src/components/Ecogesture/SingleEcogestureView.tsx
@@ -21,8 +21,8 @@ import { Location, useLocation, useParams } from 'react-router-dom'
 import EcogestureService from 'services/ecogesture.service'
 import { useAppSelector } from 'store/hooks'
 import { importIconById } from 'utils/utils'
-import EfficiencyRating from './EfficiencyRating'
-import './singleEcogesture.scss'
+import EfficiencyRating from './EfficiencyRating/EfficiencyRating'
+import './singleEcogestureView.scss'
 
 interface EcogestureLocation extends Location {
   state: {
@@ -30,7 +30,7 @@ interface EcogestureLocation extends Location {
   }
 }
 
-const SingleEcogesture = () => {
+const SingleEcogestureView = () => {
   const { t } = useI18n()
   const client = useClient()
   const location: EcogestureLocation = useLocation()
@@ -223,4 +223,4 @@ const SingleEcogesture = () => {
   )
 }
 
-export default SingleEcogesture
+export default SingleEcogestureView
diff --git a/src/components/Ecogesture/__snapshots__/EcogestureView.spec.tsx.snap b/src/components/Ecogesture/__snapshots__/EcogestureTabsView.spec.tsx.snap
similarity index 99%
rename from src/components/Ecogesture/__snapshots__/EcogestureView.spec.tsx.snap
rename to src/components/Ecogesture/__snapshots__/EcogestureTabsView.spec.tsx.snap
index bb83aa4a3..f6432521d 100644
--- a/src/components/Ecogesture/__snapshots__/EcogestureView.spec.tsx.snap
+++ b/src/components/Ecogesture/__snapshots__/EcogestureTabsView.spec.tsx.snap
@@ -13,7 +13,7 @@ exports[`EcogestureView component should be rendered correctly 1`] = `
     }
   }
 >
-  <EcogestureView>
+  <EcogestureTabsView>
     <mock-cozybar
       titleKey="common.title_ecogestures"
     />
@@ -2375,6 +2375,6 @@ exports[`EcogestureView component should be rendered correctly 1`] = `
         </WithStyles(ForwardRef(Dialog))>
       </EcogestureInitModal>
     </mock-content>
-  </EcogestureView>
+  </EcogestureTabsView>
 </Provider>
 `;
diff --git a/src/components/Ecogesture/__snapshots__/SingleEcogesture.spec.tsx.snap b/src/components/Ecogesture/__snapshots__/SingleEcogestureView.spec.tsx.snap
similarity index 99%
rename from src/components/Ecogesture/__snapshots__/SingleEcogesture.spec.tsx.snap
rename to src/components/Ecogesture/__snapshots__/SingleEcogestureView.spec.tsx.snap
index f8389c766..73666bc89 100644
--- a/src/components/Ecogesture/__snapshots__/SingleEcogesture.spec.tsx.snap
+++ b/src/components/Ecogesture/__snapshots__/SingleEcogestureView.spec.tsx.snap
@@ -13,7 +13,7 @@ exports[`SingleEcogesture component should be rendered correctly 1`] = `
     }
   }
 >
-  <SingleEcogesture>
+  <SingleEcogestureView>
     <Component
       displayBackArrow={true}
       titleKey="common.title_ecogesture"
@@ -362,6 +362,6 @@ exports[`SingleEcogesture component should be rendered correctly 1`] = `
         </div>
       </div>
     </Component>
-  </SingleEcogesture>
+  </SingleEcogestureView>
 </Provider>
 `;
diff --git a/src/components/Ecogesture/ecogestureView.scss b/src/components/Ecogesture/ecogestureTabsView.scss
similarity index 100%
rename from src/components/Ecogesture/ecogestureView.scss
rename to src/components/Ecogesture/ecogestureTabsView.scss
diff --git a/src/components/Ecogesture/singleEcogesture.scss b/src/components/Ecogesture/singleEcogestureView.scss
similarity index 100%
rename from src/components/Ecogesture/singleEcogesture.scss
rename to src/components/Ecogesture/singleEcogestureView.scss
diff --git a/src/components/EcogestureForm/EcogestureFormEquipment.spec.tsx b/src/components/EcogestureForm/EcogestureFormEquipment/EcogestureFormEquipment.spec.tsx
similarity index 89%
rename from src/components/EcogestureForm/EcogestureFormEquipment.spec.tsx
rename to src/components/EcogestureForm/EcogestureFormEquipment/EcogestureFormEquipment.spec.tsx
index b2c0171d6..b586ef080 100644
--- a/src/components/EcogestureForm/EcogestureFormEquipment.spec.tsx
+++ b/src/components/EcogestureForm/EcogestureFormEquipment/EcogestureFormEquipment.spec.tsx
@@ -3,9 +3,9 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { mockProfileEcogesture } from '../../../tests/__mocks__/profileEcogesture.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { mockProfileEcogesture } from 'tests/__mocks__/profileEcogesture.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import EcogestureFormEquipment from './EcogestureFormEquipment'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
@@ -22,7 +22,7 @@ jest.mock('react-router-dom', () => ({
     push: mockHistoryPush,
   }),
 }))
-jest.mock('./EquipmentIcon', () => 'mock-equipment-icon')
+jest.mock('../EquipmentIcon/EquipmentIcon', () => 'mock-equipment-icon')
 
 describe('EcogestureFormEquipment component', () => {
   const store = createMockEcolyoStore()
diff --git a/src/components/EcogestureForm/EcogestureFormEquipment.tsx b/src/components/EcogestureForm/EcogestureFormEquipment/EcogestureFormEquipment.tsx
similarity index 96%
rename from src/components/EcogestureForm/EcogestureFormEquipment.tsx
rename to src/components/EcogestureForm/EcogestureFormEquipment/EcogestureFormEquipment.tsx
index 1c4ffec4c..36f16f6e3 100644
--- a/src/components/EcogestureForm/EcogestureFormEquipment.tsx
+++ b/src/components/EcogestureForm/EcogestureFormEquipment/EcogestureFormEquipment.tsx
@@ -1,11 +1,11 @@
-import FormNavigation from 'components/FormGlobal/FormNavigation'
+import FormNavigation from 'components/CommonKit/FormNavigation/FormNavigation'
 import 'components/ProfileType/profileTypeForm.scss'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { EcogestureStepForm, EquipmentType, ProfileTypeStepForm } from 'enums'
 import { ProfileEcogesture, ProfileType } from 'models'
 import React, { useCallback, useState } from 'react'
 import { useAppSelector } from 'store/hooks'
-import EquipmentIcon from './EquipmentIcon'
+import EquipmentIcon from '../EquipmentIcon/EquipmentIcon'
 import './ecogestureFormEquipment.scss'
 
 interface EcogestureFormEquipmentProps {
diff --git a/src/components/EcogestureForm/__snapshots__/EcogestureFormEquipment.spec.tsx.snap b/src/components/EcogestureForm/EcogestureFormEquipment/__snapshots__/EcogestureFormEquipment.spec.tsx.snap
similarity index 100%
rename from src/components/EcogestureForm/__snapshots__/EcogestureFormEquipment.spec.tsx.snap
rename to src/components/EcogestureForm/EcogestureFormEquipment/__snapshots__/EcogestureFormEquipment.spec.tsx.snap
diff --git a/src/components/EcogestureForm/ecogestureFormEquipment.scss b/src/components/EcogestureForm/EcogestureFormEquipment/ecogestureFormEquipment.scss
similarity index 100%
rename from src/components/EcogestureForm/ecogestureFormEquipment.scss
rename to src/components/EcogestureForm/EcogestureFormEquipment/ecogestureFormEquipment.scss
diff --git a/src/components/EcogestureForm/EcogestureFormSingleChoice.spec.tsx b/src/components/EcogestureForm/EcogestureFormSingleChoice/EcogestureFormSingleChoice.spec.tsx
similarity index 93%
rename from src/components/EcogestureForm/EcogestureFormSingleChoice.spec.tsx
rename to src/components/EcogestureForm/EcogestureFormSingleChoice/EcogestureFormSingleChoice.spec.tsx
index e10245f14..502f657b4 100644
--- a/src/components/EcogestureForm/EcogestureFormSingleChoice.spec.tsx
+++ b/src/components/EcogestureForm/EcogestureFormSingleChoice/EcogestureFormSingleChoice.spec.tsx
@@ -6,9 +6,9 @@ import { Provider } from 'react-redux'
 import {
   mockEcogestureAnswer,
   mockProfileEcogesture,
-} from '../../../tests/__mocks__/profileEcogesture.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+} from 'tests/__mocks__/profileEcogesture.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import EcogestureFormSingleChoice from './EcogestureFormSingleChoice'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
@@ -23,7 +23,7 @@ jest.mock('react-router-dom', () => ({
 }))
 
 jest.mock(
-  'components/EcogestureForm/EcogestureLaunchFormModal',
+  'components/EcogestureForm/EcogestureLaunchFormModal/EcogestureLaunchFormModal',
   () => 'mock-ecogesturelaunchmodal'
 )
 
diff --git a/src/components/EcogestureForm/EcogestureFormSingleChoice.tsx b/src/components/EcogestureForm/EcogestureFormSingleChoice/EcogestureFormSingleChoice.tsx
similarity index 97%
rename from src/components/EcogestureForm/EcogestureFormSingleChoice.tsx
rename to src/components/EcogestureForm/EcogestureFormSingleChoice/EcogestureFormSingleChoice.tsx
index 0e62adf37..952ce05f9 100644
--- a/src/components/EcogestureForm/EcogestureFormSingleChoice.tsx
+++ b/src/components/EcogestureForm/EcogestureFormSingleChoice/EcogestureFormSingleChoice.tsx
@@ -1,5 +1,5 @@
 import classNames from 'classnames'
-import FormNavigation from 'components/FormGlobal/FormNavigation'
+import FormNavigation from 'components/CommonKit/FormNavigation/FormNavigation'
 import 'components/ProfileType/profileTypeForm.scss'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { EcogestureStepForm } from 'enums'
diff --git a/src/components/EcogestureForm/__snapshots__/EcogestureFormSingleChoice.spec.tsx.snap b/src/components/EcogestureForm/EcogestureFormSingleChoice/__snapshots__/EcogestureFormSingleChoice.spec.tsx.snap
similarity index 100%
rename from src/components/EcogestureForm/__snapshots__/EcogestureFormSingleChoice.spec.tsx.snap
rename to src/components/EcogestureForm/EcogestureFormSingleChoice/__snapshots__/EcogestureFormSingleChoice.spec.tsx.snap
diff --git a/src/components/EcogestureForm/ecogestureFormSingleChoice.scss b/src/components/EcogestureForm/EcogestureFormSingleChoice/ecogestureFormSingleChoice.scss
similarity index 100%
rename from src/components/EcogestureForm/ecogestureFormSingleChoice.scss
rename to src/components/EcogestureForm/EcogestureFormSingleChoice/ecogestureFormSingleChoice.scss
diff --git a/src/components/EcogestureForm/EcogestureFormView.spec.tsx b/src/components/EcogestureForm/EcogestureFormView.spec.tsx
index ad16c165e..717d72343 100644
--- a/src/components/EcogestureForm/EcogestureFormView.spec.tsx
+++ b/src/components/EcogestureForm/EcogestureFormView.spec.tsx
@@ -5,9 +5,9 @@ import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as storeHooks from 'store/hooks'
-import { mockProfileEcogesture } from '../../../tests/__mocks__/profileEcogesture.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { mockProfileEcogesture } from 'tests/__mocks__/profileEcogesture.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import EcogestureFormView from './EcogestureFormView'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
@@ -19,7 +19,7 @@ jest.mock('cozy-ui/transpiled/react/I18n', () => ({
 jest.mock('components/Header/CozyBar', () => 'mock-cozybar')
 jest.mock('components/Header/Header', () => 'mock-header')
 jest.mock(
-  'components/EcogestureForm/EcogestureLaunchFormModal',
+  'components/EcogestureForm/EcogestureLaunchFormModal/EcogestureLaunchFormModal',
   () => 'mock-ecogesturelaunchmodal'
 )
 const mockAppDispatch = jest.spyOn(storeHooks, 'useAppDispatch')
diff --git a/src/components/EcogestureForm/EcogestureFormView.tsx b/src/components/EcogestureForm/EcogestureFormView.tsx
index c95e0c33d..908701794 100644
--- a/src/components/EcogestureForm/EcogestureFormView.tsx
+++ b/src/components/EcogestureForm/EcogestureFormView.tsx
@@ -1,5 +1,4 @@
 import Content from 'components/Content/Content'
-import EcogestureLaunchFormModal from 'components/EcogestureForm/EcogestureLaunchFormModal'
 import CozyBar from 'components/Header/CozyBar'
 import Header from 'components/Header/Header'
 import Loader from 'components/Loader/Loader'
@@ -12,8 +11,9 @@ import ProfileEcogestureFormService from 'services/profileEcogestureForm.service
 import { useAppDispatch, useAppSelector } from 'store/hooks'
 import { updateProfile } from 'store/profile/profile.actions'
 import { newProfileEcogestureEntry } from 'store/profileEcogesture/profileEcogesture.actions'
-import EcogestureFormEquipment from './EcogestureFormEquipment'
-import EcogestureFormSingleChoice from './EcogestureFormSingleChoice'
+import EcogestureFormEquipment from './EcogestureFormEquipment/EcogestureFormEquipment'
+import EcogestureFormSingleChoice from './EcogestureFormSingleChoice/EcogestureFormSingleChoice'
+import EcogestureLaunchFormModal from './EcogestureLaunchFormModal/EcogestureLaunchFormModal'
 
 const EcogestureFormView = () => {
   const navigate = useNavigate()
diff --git a/src/components/EcogestureForm/EcogestureLaunchFormModal.spec.tsx b/src/components/EcogestureForm/EcogestureLaunchFormModal/EcogestureLaunchFormModal.spec.tsx
similarity index 100%
rename from src/components/EcogestureForm/EcogestureLaunchFormModal.spec.tsx
rename to src/components/EcogestureForm/EcogestureLaunchFormModal/EcogestureLaunchFormModal.spec.tsx
diff --git a/src/components/EcogestureForm/EcogestureLaunchFormModal.tsx b/src/components/EcogestureForm/EcogestureLaunchFormModal/EcogestureLaunchFormModal.tsx
similarity index 100%
rename from src/components/EcogestureForm/EcogestureLaunchFormModal.tsx
rename to src/components/EcogestureForm/EcogestureLaunchFormModal/EcogestureLaunchFormModal.tsx
diff --git a/src/components/EcogestureForm/__snapshots__/EcogestureLaunchFormModal.spec.tsx.snap b/src/components/EcogestureForm/EcogestureLaunchFormModal/__snapshots__/EcogestureLaunchFormModal.spec.tsx.snap
similarity index 100%
rename from src/components/EcogestureForm/__snapshots__/EcogestureLaunchFormModal.spec.tsx.snap
rename to src/components/EcogestureForm/EcogestureLaunchFormModal/__snapshots__/EcogestureLaunchFormModal.spec.tsx.snap
diff --git a/src/components/EcogestureForm/ecogestureLaunchFormModal.scss b/src/components/EcogestureForm/EcogestureLaunchFormModal/ecogestureLaunchFormModal.scss
similarity index 100%
rename from src/components/EcogestureForm/ecogestureLaunchFormModal.scss
rename to src/components/EcogestureForm/EcogestureLaunchFormModal/ecogestureLaunchFormModal.scss
diff --git a/src/components/EcogestureForm/EquipmentIcon.spec.tsx b/src/components/EcogestureForm/EquipmentIcon/EquipmentIcon.spec.tsx
similarity index 93%
rename from src/components/EcogestureForm/EquipmentIcon.spec.tsx
rename to src/components/EcogestureForm/EquipmentIcon/EquipmentIcon.spec.tsx
index e06d80896..cf1ebcde7 100644
--- a/src/components/EcogestureForm/EquipmentIcon.spec.tsx
+++ b/src/components/EcogestureForm/EquipmentIcon/EquipmentIcon.spec.tsx
@@ -3,7 +3,7 @@ import { EquipmentType } from 'enums'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import EquipmentIcon from './EquipmentIcon'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/EcogestureForm/EquipmentIcon.tsx b/src/components/EcogestureForm/EquipmentIcon/EquipmentIcon.tsx
similarity index 100%
rename from src/components/EcogestureForm/EquipmentIcon.tsx
rename to src/components/EcogestureForm/EquipmentIcon/EquipmentIcon.tsx
diff --git a/src/components/EcogestureForm/__snapshots__/EquipmentIcon.spec.tsx.snap b/src/components/EcogestureForm/EquipmentIcon/__snapshots__/EquipmentIcon.spec.tsx.snap
similarity index 100%
rename from src/components/EcogestureForm/__snapshots__/EquipmentIcon.spec.tsx.snap
rename to src/components/EcogestureForm/EquipmentIcon/__snapshots__/EquipmentIcon.spec.tsx.snap
diff --git a/src/components/EcogestureSelection/EcogestureSelectionDetail.spec.tsx b/src/components/EcogestureSelection/EcogestureSelectionDetail/EcogestureSelectionDetail.spec.tsx
similarity index 93%
rename from src/components/EcogestureSelection/EcogestureSelectionDetail.spec.tsx
rename to src/components/EcogestureSelection/EcogestureSelectionDetail/EcogestureSelectionDetail.spec.tsx
index 33778d5e0..3b81ac7bd 100644
--- a/src/components/EcogestureSelection/EcogestureSelectionDetail.spec.tsx
+++ b/src/components/EcogestureSelection/EcogestureSelectionDetail/EcogestureSelectionDetail.spec.tsx
@@ -2,8 +2,8 @@ import { Button } from '@material-ui/core'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
-import { mockedEcogesturesData } from '../../../tests/__mocks__/ecogesturesData.mock'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { mockedEcogesturesData } from 'tests/__mocks__/ecogesturesData.mock'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import EcogestureSelectionDetail from './EcogestureSelectionDetail'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/EcogestureSelection/EcogestureSelectionDetail.tsx b/src/components/EcogestureSelection/EcogestureSelectionDetail/EcogestureSelectionDetail.tsx
similarity index 100%
rename from src/components/EcogestureSelection/EcogestureSelectionDetail.tsx
rename to src/components/EcogestureSelection/EcogestureSelectionDetail/EcogestureSelectionDetail.tsx
diff --git a/src/components/EcogestureSelection/__snapshots__/EcogestureSelectionDetail.spec.tsx.snap b/src/components/EcogestureSelection/EcogestureSelectionDetail/__snapshots__/EcogestureSelectionDetail.spec.tsx.snap
similarity index 100%
rename from src/components/EcogestureSelection/__snapshots__/EcogestureSelectionDetail.spec.tsx.snap
rename to src/components/EcogestureSelection/EcogestureSelectionDetail/__snapshots__/EcogestureSelectionDetail.spec.tsx.snap
diff --git a/src/components/EcogestureSelection/ecogestureSelectionDetail.scss b/src/components/EcogestureSelection/EcogestureSelectionDetail/ecogestureSelectionDetail.scss
similarity index 100%
rename from src/components/EcogestureSelection/ecogestureSelectionDetail.scss
rename to src/components/EcogestureSelection/EcogestureSelectionDetail/ecogestureSelectionDetail.scss
diff --git a/src/components/EcogestureSelection/EcogestureSelectionEnd.spec.tsx b/src/components/EcogestureSelection/EcogestureSelectionEnd/EcogestureSelectionEnd.spec.tsx
similarity index 100%
rename from src/components/EcogestureSelection/EcogestureSelectionEnd.spec.tsx
rename to src/components/EcogestureSelection/EcogestureSelectionEnd/EcogestureSelectionEnd.spec.tsx
diff --git a/src/components/EcogestureSelection/EcogestureSelectionEnd.tsx b/src/components/EcogestureSelection/EcogestureSelectionEnd/EcogestureSelectionEnd.tsx
similarity index 100%
rename from src/components/EcogestureSelection/EcogestureSelectionEnd.tsx
rename to src/components/EcogestureSelection/EcogestureSelectionEnd/EcogestureSelectionEnd.tsx
diff --git a/src/components/EcogestureSelection/__snapshots__/EcogestureSelectionEnd.spec.tsx.snap b/src/components/EcogestureSelection/EcogestureSelectionEnd/__snapshots__/EcogestureSelectionEnd.spec.tsx.snap
similarity index 100%
rename from src/components/EcogestureSelection/__snapshots__/EcogestureSelectionEnd.spec.tsx.snap
rename to src/components/EcogestureSelection/EcogestureSelectionEnd/__snapshots__/EcogestureSelectionEnd.spec.tsx.snap
diff --git a/src/components/EcogestureSelection/ecogestureSelectionEnd.scss b/src/components/EcogestureSelection/EcogestureSelectionEnd/ecogestureSelectionEnd.scss
similarity index 100%
rename from src/components/EcogestureSelection/ecogestureSelectionEnd.scss
rename to src/components/EcogestureSelection/EcogestureSelectionEnd/ecogestureSelectionEnd.scss
diff --git a/src/components/EcogestureSelection/EcogestureSelectionModal.spec.tsx b/src/components/EcogestureSelection/EcogestureSelectionModal/EcogestureSelectionModal.spec.tsx
similarity index 100%
rename from src/components/EcogestureSelection/EcogestureSelectionModal.spec.tsx
rename to src/components/EcogestureSelection/EcogestureSelectionModal/EcogestureSelectionModal.spec.tsx
diff --git a/src/components/EcogestureSelection/EcogestureSelectionModal.tsx b/src/components/EcogestureSelection/EcogestureSelectionModal/EcogestureSelectionModal.tsx
similarity index 100%
rename from src/components/EcogestureSelection/EcogestureSelectionModal.tsx
rename to src/components/EcogestureSelection/EcogestureSelectionModal/EcogestureSelectionModal.tsx
diff --git a/src/components/EcogestureSelection/__snapshots__/EcogestureSelectionModal.spec.tsx.snap b/src/components/EcogestureSelection/EcogestureSelectionModal/__snapshots__/EcogestureSelectionModal.spec.tsx.snap
similarity index 100%
rename from src/components/EcogestureSelection/__snapshots__/EcogestureSelectionModal.spec.tsx.snap
rename to src/components/EcogestureSelection/EcogestureSelectionModal/__snapshots__/EcogestureSelectionModal.spec.tsx.snap
diff --git a/src/components/EcogestureSelection/ecogestureSelectionModal.scss b/src/components/EcogestureSelection/EcogestureSelectionModal/ecogestureSelectionModal.scss
similarity index 100%
rename from src/components/EcogestureSelection/ecogestureSelectionModal.scss
rename to src/components/EcogestureSelection/EcogestureSelectionModal/ecogestureSelectionModal.scss
diff --git a/src/components/EcogestureSelection/EcogestureSelectionRestart.spec.tsx b/src/components/EcogestureSelection/EcogestureSelectionRestart/EcogestureSelectionRestart.spec.tsx
similarity index 100%
rename from src/components/EcogestureSelection/EcogestureSelectionRestart.spec.tsx
rename to src/components/EcogestureSelection/EcogestureSelectionRestart/EcogestureSelectionRestart.spec.tsx
diff --git a/src/components/EcogestureSelection/EcogestureSelectionRestart.tsx b/src/components/EcogestureSelection/EcogestureSelectionRestart/EcogestureSelectionRestart.tsx
similarity index 100%
rename from src/components/EcogestureSelection/EcogestureSelectionRestart.tsx
rename to src/components/EcogestureSelection/EcogestureSelectionRestart/EcogestureSelectionRestart.tsx
diff --git a/src/components/EcogestureSelection/__snapshots__/EcogestureSelectionRestart.spec.tsx.snap b/src/components/EcogestureSelection/EcogestureSelectionRestart/__snapshots__/EcogestureSelectionRestart.spec.tsx.snap
similarity index 100%
rename from src/components/EcogestureSelection/__snapshots__/EcogestureSelectionRestart.spec.tsx.snap
rename to src/components/EcogestureSelection/EcogestureSelectionRestart/__snapshots__/EcogestureSelectionRestart.spec.tsx.snap
diff --git a/src/components/EcogestureSelection/ecogestureSelectionRestart.scss b/src/components/EcogestureSelection/EcogestureSelectionRestart/ecogestureSelectionRestart.scss
similarity index 100%
rename from src/components/EcogestureSelection/ecogestureSelectionRestart.scss
rename to src/components/EcogestureSelection/EcogestureSelectionRestart/ecogestureSelectionRestart.scss
diff --git a/src/components/EcogestureSelection/EcogestureSelection.spec.tsx b/src/components/EcogestureSelection/EcogestureSelectionView.spec.tsx
similarity index 68%
rename from src/components/EcogestureSelection/EcogestureSelection.spec.tsx
rename to src/components/EcogestureSelection/EcogestureSelectionView.spec.tsx
index 0605fda95..11ca91568 100644
--- a/src/components/EcogestureSelection/EcogestureSelection.spec.tsx
+++ b/src/components/EcogestureSelection/EcogestureSelectionView.spec.tsx
@@ -3,11 +3,11 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import mockClient from '../../../tests/__mocks__/client'
-import { mockedEcogesturesData } from '../../../tests/__mocks__/ecogesturesData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import EcogestureSelection from './EcogestureSelection'
+import mockClient from 'tests/__mocks__/client'
+import { mockedEcogesturesData } from 'tests/__mocks__/ecogesturesData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import EcogestureSelectionView from './EcogestureSelectionView'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
@@ -46,20 +46,20 @@ jest.mock('components/Header/CozyBar', () => 'mock-cozybar')
 jest.mock('components/Header/Header', () => 'mock-header')
 jest.mock('components/Content/Content', () => 'mock-content')
 jest.mock(
-  'components/EcogestureSelection/EcogestureSelectionModal',
-  () => 'mock-ecogestureselectionmodal'
+  'components/EcogestureSelection/EcogestureSelectionModal/EcogestureSelectionModal',
+  () => 'mock-ecogestureSelectionModal'
 )
 jest.mock(
-  'components/EcogestureSelection/EcogestureSelectionDetail',
-  () => 'mock-ecogestureselectiondetail'
+  'components/EcogestureSelection/EcogestureSelectionDetail/EcogestureSelectionDetail',
+  () => 'mock-ecogestureSelectionDetail'
 )
 jest.mock(
-  'components/EcogestureSelection/EcogestureSelectionRestart',
-  () => 'mock-ecogestureselectionrestart'
+  'components/EcogestureSelection/EcogestureSelectionRestart/EcogestureSelectionRestart',
+  () => 'mock-ecogestureSelectionRestart'
 )
 jest.mock(
-  'components/EcogestureSelection/EcogestureSelectionEnd',
-  () => 'mock-ecogestureselectionend'
+  'components/EcogestureSelection/EcogestureSelectionEnd/EcogestureSelectionEnd',
+  () => 'mock-ecogestureSelectionEnd'
 )
 
 describe('EcogestureSelection component', () => {
@@ -73,7 +73,7 @@ describe('EcogestureSelection component', () => {
     mockGetEcogestureListByProfile.mockResolvedValue([mockedEcogesturesData[0]])
     const wrapper = mount(
       <Provider store={store}>
-        <EcogestureSelection />
+        <EcogestureSelectionView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
@@ -83,30 +83,30 @@ describe('EcogestureSelection component', () => {
     mockGetEcogestureListByProfile.mockResolvedValue([mockedEcogesturesData[0]])
     const wrapper = mount(
       <Provider store={store}>
-        <EcogestureSelection />
+        <EcogestureSelectionView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
-    expect(wrapper.find('mock-ecogestureselectionmodal').exists()).toBeTruthy()
+    expect(wrapper.find('mock-ecogestureSelectionModal').exists()).toBeTruthy()
   })
   it('should render with the EcogestureSelectionDetail', async () => {
     mockGetEcogestureListByProfile.mockResolvedValue([mockedEcogesturesData[0]])
     const wrapper = mount(
       <Provider store={store}>
-        <EcogestureSelection />
+        <EcogestureSelectionView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
-    expect(wrapper.find('mock-ecogestureselectiondetail').exists()).toBeTruthy()
+    expect(wrapper.find('mock-ecogestureSelectionDetail').exists()).toBeTruthy()
   })
   it('should render with the EcogestureSelectionEnd', async () => {
     mockGetEcogestureListByProfile.mockResolvedValue([])
     const wrapper = mount(
       <Provider store={store}>
-        <EcogestureSelection />
+        <EcogestureSelectionView />
       </Provider>
     )
     await waitForComponentToPaint(wrapper)
-    expect(wrapper.find('mock-ecogestureselectionend').exists()).toBeTruthy()
+    expect(wrapper.find('mock-ecogestureSelectionEnd').exists()).toBeTruthy()
   })
 })
diff --git a/src/components/EcogestureSelection/EcogestureSelection.tsx b/src/components/EcogestureSelection/EcogestureSelectionView.tsx
similarity index 91%
rename from src/components/EcogestureSelection/EcogestureSelection.tsx
rename to src/components/EcogestureSelection/EcogestureSelectionView.tsx
index 04d8e343b..3991b7c79 100644
--- a/src/components/EcogestureSelection/EcogestureSelection.tsx
+++ b/src/components/EcogestureSelection/EcogestureSelectionView.tsx
@@ -1,8 +1,4 @@
 import Content from 'components/Content/Content'
-import EcogestureSelectionDetail from 'components/EcogestureSelection/EcogestureSelectionDetail'
-import EcogestureSelectionEnd from 'components/EcogestureSelection/EcogestureSelectionEnd'
-import EcogestureSelectionModal from 'components/EcogestureSelection/EcogestureSelectionModal'
-import EcogestureSelectionRestart from 'components/EcogestureSelection/EcogestureSelectionRestart'
 import CozyBar from 'components/Header/CozyBar'
 import Header from 'components/Header/Header'
 import Loader from 'components/Loader/Loader'
@@ -13,9 +9,13 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'
 import { useNavigate } from 'react-router-dom'
 import EcogestureService from 'services/ecogesture.service'
 import { useAppSelector } from 'store/hooks'
-import './ecogestureSelection.scss'
+import EcogestureSelectionDetail from './EcogestureSelectionDetail/EcogestureSelectionDetail'
+import EcogestureSelectionEnd from './EcogestureSelectionEnd/EcogestureSelectionEnd'
+import EcogestureSelectionModal from './EcogestureSelectionModal/EcogestureSelectionModal'
+import EcogestureSelectionRestart from './EcogestureSelectionRestart/EcogestureSelectionRestart'
+import './ecogestureSelectionView.scss'
 
-const EcogestureSelection = () => {
+const EcogestureSelectionView = () => {
   const { t } = useI18n()
   const client = useClient()
   const navigate = useNavigate()
@@ -165,4 +165,4 @@ const EcogestureSelection = () => {
   )
 }
 
-export default EcogestureSelection
+export default EcogestureSelectionView
diff --git a/src/components/EcogestureSelection/__snapshots__/EcogestureSelection.spec.tsx.snap b/src/components/EcogestureSelection/__snapshots__/EcogestureSelectionView.spec.tsx.snap
similarity index 94%
rename from src/components/EcogestureSelection/__snapshots__/EcogestureSelection.spec.tsx.snap
rename to src/components/EcogestureSelection/__snapshots__/EcogestureSelectionView.spec.tsx.snap
index ef4f90c15..ed9d0311c 100644
--- a/src/components/EcogestureSelection/__snapshots__/EcogestureSelection.spec.tsx.snap
+++ b/src/components/EcogestureSelection/__snapshots__/EcogestureSelectionView.spec.tsx.snap
@@ -13,7 +13,7 @@ exports[`EcogestureSelection component should be rendered correctly 1`] = `
     }
   }
 >
-  <EcogestureSelection>
+  <EcogestureSelectionView>
     <mock-cozybar
       backFunction={[Function]}
       displayBackArrow={true}
@@ -33,7 +33,7 @@ exports[`EcogestureSelection component should be rendered correctly 1`] = `
     <mock-content
       heightOffset={0}
     >
-      <mock-ecogestureselectiondetail
+      <mock-ecogestureSelectionDetail
         ecogesture={
           Object {
             "_id": "ECOGESTURE001",
@@ -70,11 +70,11 @@ exports[`EcogestureSelection component should be rendered correctly 1`] = `
         title="Bonhomme de neige"
         validate={[Function]}
       />
-      <mock-ecogestureselectionmodal
+      <mock-ecogestureSelectionModal
         handleCloseClick={[Function]}
         open={true}
       />
     </mock-content>
-  </EcogestureSelection>
+  </EcogestureSelectionView>
 </Provider>
 `;
diff --git a/src/components/EcogestureSelection/ecogestureSelection.scss b/src/components/EcogestureSelection/ecogestureSelectionView.scss
similarity index 100%
rename from src/components/EcogestureSelection/ecogestureSelection.scss
rename to src/components/EcogestureSelection/ecogestureSelectionView.scss
diff --git a/src/components/Exploration/ExplorationFinished.spec.tsx b/src/components/Exploration/ExplorationFinished.spec.tsx
index c6a173a57..e78072219 100644
--- a/src/components/Exploration/ExplorationFinished.spec.tsx
+++ b/src/components/Exploration/ExplorationFinished.spec.tsx
@@ -3,8 +3,8 @@ import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import ExplorationFinished from './ExplorationFinished'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Exploration/ExplorationOngoing.spec.tsx b/src/components/Exploration/ExplorationOngoing.spec.tsx
index 314f9fa02..4267bb61c 100644
--- a/src/components/Exploration/ExplorationOngoing.spec.tsx
+++ b/src/components/Exploration/ExplorationOngoing.spec.tsx
@@ -2,8 +2,8 @@ import ExplorationOngoing from 'components/Exploration/ExplorationOngoing'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Exploration/ExplorationOngoing.tsx b/src/components/Exploration/ExplorationOngoing.tsx
index d67c2a9ce..9e817ec55 100644
--- a/src/components/Exploration/ExplorationOngoing.tsx
+++ b/src/components/Exploration/ExplorationOngoing.tsx
@@ -1,7 +1,7 @@
 import Button from '@material-ui/core/Button'
 import explorationIcon from 'assets/icons/visu/exploration/shield.svg'
-import StarsContainer from 'components/Challenge/StarsContainer'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
+import StarsContainer from 'components/CommonKit/StarsContainer/StarsContainer'
 import { useClient } from 'cozy-client'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import {
diff --git a/src/components/Exploration/ExplorationView.spec.tsx b/src/components/Exploration/ExplorationView.spec.tsx
index 7d535b9ad..3b64f2ffe 100644
--- a/src/components/Exploration/ExplorationView.spec.tsx
+++ b/src/components/Exploration/ExplorationView.spec.tsx
@@ -2,9 +2,9 @@ import { UserExplorationState } from 'enums'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { challengeStateData } from '../../../tests/__mocks__/challengeStateData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { challengeStateData } from 'tests/__mocks__/challengeStateData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import ExplorationError from './ExplorationError'
 import ExplorationFinished from './ExplorationFinished'
 import ExplorationOngoing from './ExplorationOngoing'
diff --git a/src/components/Feedback/FeedbackModal.spec.tsx b/src/components/Feedback/FeedbackModal.spec.tsx
index b065b5c54..5ce641f8b 100644
--- a/src/components/Feedback/FeedbackModal.spec.tsx
+++ b/src/components/Feedback/FeedbackModal.spec.tsx
@@ -4,7 +4,7 @@ import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as storeHooks from 'store/hooks'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 
 // Value coming from jest.config
 declare let __SAU_LINK__: string
diff --git a/src/components/FluidChart/FluidChart.tsx b/src/components/FluidChart/FluidChart.tsx
index 1d824baa4..3b0b20836 100644
--- a/src/components/FluidChart/FluidChart.tsx
+++ b/src/components/FluidChart/FluidChart.tsx
@@ -2,9 +2,7 @@ import { Button, Slide } from '@material-ui/core'
 import LegendComparisonIcon from 'assets/icons/ico/legendComparison.svg'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
 import StyledSwitch from 'components/CommonKit/Switch/StyledSwitch'
-import HalfHourNoData from 'components/HalfHourNoData/HalfHourNoData'
 import useExploration from 'components/Hooks/useExploration'
-import TimeStepSelector from 'components/TimeStepSelector/TimeStepSelector'
 import { useClient } from 'cozy-client'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { FluidType, TimeStep, UsageEventType, UserExplorationID } from 'enums'
@@ -23,6 +21,8 @@ import { useAppDispatch, useAppSelector } from 'store/hooks'
 import { openConnectionModal } from 'store/modal/modal.slice'
 import { getFluidName, getKonnectorSlug, isKonnectorActive } from 'utils/utils'
 import FluidChartSwipe from './FluidChartSwipe'
+import HalfHourNoData from './HalfHourNoData/HalfHourNoData'
+import TimeStepSelector from './TimeStepSelector/TimeStepSelector'
 import './fluidChart.scss'
 
 interface FluidChartProps {
diff --git a/src/components/HalfHourNoData/HalfHourNoData.spec.tsx b/src/components/FluidChart/HalfHourNoData/HalfHourNoData.spec.tsx
similarity index 100%
rename from src/components/HalfHourNoData/HalfHourNoData.spec.tsx
rename to src/components/FluidChart/HalfHourNoData/HalfHourNoData.spec.tsx
diff --git a/src/components/HalfHourNoData/HalfHourNoData.tsx b/src/components/FluidChart/HalfHourNoData/HalfHourNoData.tsx
similarity index 100%
rename from src/components/HalfHourNoData/HalfHourNoData.tsx
rename to src/components/FluidChart/HalfHourNoData/HalfHourNoData.tsx
diff --git a/src/components/HalfHourNoData/__snapshots__/HalfHourNoData.spec.tsx.snap b/src/components/FluidChart/HalfHourNoData/__snapshots__/HalfHourNoData.spec.tsx.snap
similarity index 100%
rename from src/components/HalfHourNoData/__snapshots__/HalfHourNoData.spec.tsx.snap
rename to src/components/FluidChart/HalfHourNoData/__snapshots__/HalfHourNoData.spec.tsx.snap
diff --git a/src/components/HalfHourNoData/halfHourNoData.scss b/src/components/FluidChart/HalfHourNoData/halfHourNoData.scss
similarity index 100%
rename from src/components/HalfHourNoData/halfHourNoData.scss
rename to src/components/FluidChart/HalfHourNoData/halfHourNoData.scss
diff --git a/src/components/TimeStepSelector/TimeStepSelector.spec.tsx b/src/components/FluidChart/TimeStepSelector/TimeStepSelector.spec.tsx
similarity index 91%
rename from src/components/TimeStepSelector/TimeStepSelector.spec.tsx
rename to src/components/FluidChart/TimeStepSelector/TimeStepSelector.spec.tsx
index e7ae42fa7..e0e0a6c02 100644
--- a/src/components/TimeStepSelector/TimeStepSelector.spec.tsx
+++ b/src/components/FluidChart/TimeStepSelector/TimeStepSelector.spec.tsx
@@ -1,5 +1,5 @@
 import { Button } from '@material-ui/core'
-import TimeStepSelector from 'components/TimeStepSelector/TimeStepSelector'
+import TimeStepSelector from 'components/FluidChart/TimeStepSelector/TimeStepSelector'
 import { FluidType, TimeStep } from 'enums'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
@@ -8,8 +8,8 @@ import React from 'react'
 import { Provider } from 'react-redux'
 import UsageEventService from 'services/usageEvent.service'
 import * as chartActions from 'store/chart/chart.slice'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/TimeStepSelector/TimeStepSelector.tsx b/src/components/FluidChart/TimeStepSelector/TimeStepSelector.tsx
similarity index 100%
rename from src/components/TimeStepSelector/TimeStepSelector.tsx
rename to src/components/FluidChart/TimeStepSelector/TimeStepSelector.tsx
diff --git a/src/components/TimeStepSelector/__snapshots__/TimeStepSelector.spec.tsx.snap b/src/components/FluidChart/TimeStepSelector/__snapshots__/TimeStepSelector.spec.tsx.snap
similarity index 100%
rename from src/components/TimeStepSelector/__snapshots__/TimeStepSelector.spec.tsx.snap
rename to src/components/FluidChart/TimeStepSelector/__snapshots__/TimeStepSelector.spec.tsx.snap
diff --git a/src/components/TimeStepSelector/timeStepSelector.scss b/src/components/FluidChart/TimeStepSelector/timeStepSelector.scss
similarity index 100%
rename from src/components/TimeStepSelector/timeStepSelector.scss
rename to src/components/FluidChart/TimeStepSelector/timeStepSelector.scss
diff --git a/src/components/Header/CozyBar.spec.tsx b/src/components/Header/CozyBar.spec.tsx
index 9b7f32008..ea48ce7a0 100644
--- a/src/components/Header/CozyBar.spec.tsx
+++ b/src/components/Header/CozyBar.spec.tsx
@@ -5,7 +5,7 @@ import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as ModalAction from 'store/modal/modal.slice'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 
 interface BarProps {
   children: React.ReactNode
diff --git a/src/components/Header/Header.spec.tsx b/src/components/Header/Header.spec.tsx
index 21124ae9a..074620e9a 100644
--- a/src/components/Header/Header.spec.tsx
+++ b/src/components/Header/Header.spec.tsx
@@ -4,7 +4,7 @@ import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as ModalAction from 'store/modal/modal.slice'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Hooks/useExploration.spec.tsx b/src/components/Hooks/useExploration.spec.tsx
index c5ba00f5f..4e70b76a8 100644
--- a/src/components/Hooks/useExploration.spec.tsx
+++ b/src/components/Hooks/useExploration.spec.tsx
@@ -3,8 +3,8 @@ import useExploration from 'components/Hooks/useExploration'
 import { UserExplorationID } from 'enums'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { userChallengeExplo1OnGoing } from '../../../tests/__mocks__/userChallengeData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { userChallengeExplo1OnGoing } from 'tests/__mocks__/userChallengeData.mock'
 
 describe('useExploration Hooks', () => {
   it('should return "EXPLORATION001"', () => {
diff --git a/src/components/Connection/ConnectionNotFound.spec.tsx b/src/components/Konnector/ConnectionNotFound/ConnectionNotFound.spec.tsx
similarity index 89%
rename from src/components/Connection/ConnectionNotFound.spec.tsx
rename to src/components/Konnector/ConnectionNotFound/ConnectionNotFound.spec.tsx
index f0df05f18..595f02a28 100644
--- a/src/components/Connection/ConnectionNotFound.spec.tsx
+++ b/src/components/Konnector/ConnectionNotFound/ConnectionNotFound.spec.tsx
@@ -1,7 +1,7 @@
 import Button from '@material-ui/core/Button'
-import ConnectionNotFound from 'components/Connection/ConnectionNotFound'
 import { mount, shallow } from 'enzyme'
 import React from 'react'
+import ConnectionNotFound from './ConnectionNotFound'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Connection/ConnectionNotFound.tsx b/src/components/Konnector/ConnectionNotFound/ConnectionNotFound.tsx
similarity index 100%
rename from src/components/Connection/ConnectionNotFound.tsx
rename to src/components/Konnector/ConnectionNotFound/ConnectionNotFound.tsx
diff --git a/src/components/Connection/__snapshots__/ConnectionNotFound.spec.tsx.snap b/src/components/Konnector/ConnectionNotFound/__snapshots__/ConnectionNotFound.spec.tsx.snap
similarity index 100%
rename from src/components/Connection/__snapshots__/ConnectionNotFound.spec.tsx.snap
rename to src/components/Konnector/ConnectionNotFound/__snapshots__/ConnectionNotFound.spec.tsx.snap
diff --git a/src/components/Connection/connectionNotFound.scss b/src/components/Konnector/ConnectionNotFound/connectionNotFound.scss
similarity index 100%
rename from src/components/Connection/connectionNotFound.scss
rename to src/components/Konnector/ConnectionNotFound/connectionNotFound.scss
diff --git a/src/components/Connection/ConnectionResult.tsx b/src/components/Konnector/ConnectionResult/ConnectionResult.tsx
similarity index 99%
rename from src/components/Connection/ConnectionResult.tsx
rename to src/components/Konnector/ConnectionResult/ConnectionResult.tsx
index 5c7efaac4..617d68831 100644
--- a/src/components/Connection/ConnectionResult.tsx
+++ b/src/components/Konnector/ConnectionResult/ConnectionResult.tsx
@@ -24,7 +24,7 @@ import {
 } from 'store/global/global.slice'
 import { useAppDispatch } from 'store/hooks'
 import { getKonnectorUpdateError } from 'utils/utils'
-import DeleteGRDFAccountModal from './DeleteGRDFAccountModal'
+import DeleteGRDFAccountModal from '../../Connection/GRDFDeleteAccountModal/DeleteGRDFAccountModal'
 import './connectionResult.scss'
 
 interface ConnectionResultProps {
diff --git a/src/components/Connection/connectionResult.scss b/src/components/Konnector/ConnectionResult/connectionResult.scss
similarity index 100%
rename from src/components/Connection/connectionResult.scss
rename to src/components/Konnector/ConnectionResult/connectionResult.scss
diff --git a/src/components/Konnector/KonnectorModal.spec.tsx b/src/components/Konnector/KonnectorModal.spec.tsx
index 55a545193..2d4d38d18 100644
--- a/src/components/Konnector/KonnectorModal.spec.tsx
+++ b/src/components/Konnector/KonnectorModal.spec.tsx
@@ -4,8 +4,8 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import KonnectorModal from './KonnectorModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Konnector/KonnectorModalFooter.spec.tsx b/src/components/Konnector/KonnectorModalFooter.spec.tsx
index 12d9c08ec..8f232344e 100644
--- a/src/components/Konnector/KonnectorModalFooter.spec.tsx
+++ b/src/components/Konnector/KonnectorModalFooter.spec.tsx
@@ -5,9 +5,9 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { accountsData } from '../../../tests/__mocks__/accountsData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { accountsData } from 'tests/__mocks__/accountsData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import KonnectorModalFooter from './KonnectorModalFooter'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Konnector/KonnectorViewerCard.tsx b/src/components/Konnector/KonnectorViewerCard.tsx
index aeaddbd9a..19b1cb27e 100644
--- a/src/components/Konnector/KonnectorViewerCard.tsx
+++ b/src/components/Konnector/KonnectorViewerCard.tsx
@@ -11,8 +11,8 @@ import OfflinePicto from 'assets/icons/visu/offline-param.svg'
 import classNames from 'classnames'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
 import Connection from 'components/Connection/Connection'
-import ConnectionNotFound from 'components/Connection/ConnectionNotFound'
-import ConnectionResult from 'components/Connection/ConnectionResult'
+import ConnectionNotFound from 'components/Konnector/ConnectionNotFound/ConnectionNotFound'
+import ConnectionResult from 'components/Konnector/ConnectionResult/ConnectionResult'
 import KonnectorModal from 'components/Konnector/KonnectorModal'
 import { useClient } from 'cozy-client'
 import { isKonnectorRunning } from 'cozy-harvest-lib/dist/helpers/triggers'
diff --git a/src/components/Konnector/KonnectorViewerList.spec.tsx b/src/components/Konnector/KonnectorViewerList.spec.tsx
index dec26ab13..47a2973bb 100644
--- a/src/components/Konnector/KonnectorViewerList.spec.tsx
+++ b/src/components/Konnector/KonnectorViewerList.spec.tsx
@@ -2,8 +2,8 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import KonnectorViewerList from './KonnectorViewerList'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Navbar/Navbar.spec.tsx b/src/components/Navbar/Navbar.spec.tsx
index ea55dc32e..dad8e7e21 100644
--- a/src/components/Navbar/Navbar.spec.tsx
+++ b/src/components/Navbar/Navbar.spec.tsx
@@ -3,7 +3,7 @@ import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
 import { BrowserRouter } from 'react-router-dom'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Options/ExportData/ExportData.spec.tsx b/src/components/Options/ExportData/ExportData.spec.tsx
index bbf9d4418..34e6a2069 100644
--- a/src/components/Options/ExportData/ExportData.spec.tsx
+++ b/src/components/Options/ExportData/ExportData.spec.tsx
@@ -1,7 +1,7 @@
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
-import mockClient from '../../../../tests/__mocks__/client'
+import mockClient from 'tests/__mocks__/client'
 
 import ExportData from './ExportData'
 
diff --git a/src/components/Options/ExportData/ExportData.tsx b/src/components/Options/ExportData/ExportData.tsx
index a7195bc97..313e7c0a0 100644
--- a/src/components/Options/ExportData/ExportData.tsx
+++ b/src/components/Options/ExportData/ExportData.tsx
@@ -7,9 +7,6 @@ import {
 import chevronDown from 'assets/icons/ico/chevron-down.svg'
 import exportIcon from 'assets/icons/ico/export.svg'
 import classNames from 'classnames'
-import ExportDoneModal from 'components/Export/exportDoneModal'
-import ExportLoadingModal from 'components/Export/exportLoadingModal'
-import ExportStartModal from 'components/Export/exportStartModal'
 import { useClient } from 'cozy-client'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import Icon from 'cozy-ui/transpiled/react/Icon'
@@ -17,6 +14,9 @@ import { FluidType, TimeStep } from 'enums'
 import { remove } from 'lodash'
 import React, { useEffect, useMemo, useState } from 'react'
 import ConsumptionDataManager from 'services/consumption.service'
+import ExportDoneModal from './Modals/exportDoneModal'
+import ExportLoadingModal from './Modals/exportLoadingModal'
+import ExportStartModal from './Modals/exportStartModal'
 import './exportData.scss'
 
 const ExportData = () => {
diff --git a/src/components/Export/__snapshots__/exportDoneModal.spec.tsx.snap b/src/components/Options/ExportData/Modals/__snapshots__/exportDoneModal.spec.tsx.snap
similarity index 100%
rename from src/components/Export/__snapshots__/exportDoneModal.spec.tsx.snap
rename to src/components/Options/ExportData/Modals/__snapshots__/exportDoneModal.spec.tsx.snap
diff --git a/src/components/Export/__snapshots__/exportLoadingModal.spec.tsx.snap b/src/components/Options/ExportData/Modals/__snapshots__/exportLoadingModal.spec.tsx.snap
similarity index 100%
rename from src/components/Export/__snapshots__/exportLoadingModal.spec.tsx.snap
rename to src/components/Options/ExportData/Modals/__snapshots__/exportLoadingModal.spec.tsx.snap
diff --git a/src/components/Export/__snapshots__/exportStartModal.spec.tsx.snap b/src/components/Options/ExportData/Modals/__snapshots__/exportStartModal.spec.tsx.snap
similarity index 100%
rename from src/components/Export/__snapshots__/exportStartModal.spec.tsx.snap
rename to src/components/Options/ExportData/Modals/__snapshots__/exportStartModal.spec.tsx.snap
diff --git a/src/components/Export/exportDoneModal.scss b/src/components/Options/ExportData/Modals/exportDoneModal.scss
similarity index 100%
rename from src/components/Export/exportDoneModal.scss
rename to src/components/Options/ExportData/Modals/exportDoneModal.scss
diff --git a/src/components/Export/exportDoneModal.spec.tsx b/src/components/Options/ExportData/Modals/exportDoneModal.spec.tsx
similarity index 89%
rename from src/components/Export/exportDoneModal.spec.tsx
rename to src/components/Options/ExportData/Modals/exportDoneModal.spec.tsx
index 291fac79c..604f3b94e 100644
--- a/src/components/Export/exportDoneModal.spec.tsx
+++ b/src/components/Options/ExportData/Modals/exportDoneModal.spec.tsx
@@ -1,10 +1,10 @@
 import { Button } from '@material-ui/core'
-import ExportDoneModal from 'components/Export/exportDoneModal'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import ExportDoneModal from './exportDoneModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Export/exportDoneModal.tsx b/src/components/Options/ExportData/Modals/exportDoneModal.tsx
similarity index 100%
rename from src/components/Export/exportDoneModal.tsx
rename to src/components/Options/ExportData/Modals/exportDoneModal.tsx
diff --git a/src/components/Export/exportLoadingModal.scss b/src/components/Options/ExportData/Modals/exportLoadingModal.scss
similarity index 100%
rename from src/components/Export/exportLoadingModal.scss
rename to src/components/Options/ExportData/Modals/exportLoadingModal.scss
diff --git a/src/components/Export/exportLoadingModal.spec.tsx b/src/components/Options/ExportData/Modals/exportLoadingModal.spec.tsx
similarity index 90%
rename from src/components/Export/exportLoadingModal.spec.tsx
rename to src/components/Options/ExportData/Modals/exportLoadingModal.spec.tsx
index a34c49e86..fcfd0a73a 100644
--- a/src/components/Export/exportLoadingModal.spec.tsx
+++ b/src/components/Options/ExportData/Modals/exportLoadingModal.spec.tsx
@@ -1,10 +1,10 @@
 import { Button } from '@material-ui/core'
-import ExportLoadingModal from 'components/Export/exportLoadingModal'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import ExportLoadingModal from './exportLoadingModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Export/exportLoadingModal.tsx b/src/components/Options/ExportData/Modals/exportLoadingModal.tsx
similarity index 100%
rename from src/components/Export/exportLoadingModal.tsx
rename to src/components/Options/ExportData/Modals/exportLoadingModal.tsx
diff --git a/src/components/Export/exportStartModal.scss b/src/components/Options/ExportData/Modals/exportStartModal.scss
similarity index 100%
rename from src/components/Export/exportStartModal.scss
rename to src/components/Options/ExportData/Modals/exportStartModal.scss
diff --git a/src/components/Export/exportStartModal.spec.tsx b/src/components/Options/ExportData/Modals/exportStartModal.spec.tsx
similarity index 90%
rename from src/components/Export/exportStartModal.spec.tsx
rename to src/components/Options/ExportData/Modals/exportStartModal.spec.tsx
index b7381ccc2..8630ed7db 100644
--- a/src/components/Export/exportStartModal.spec.tsx
+++ b/src/components/Options/ExportData/Modals/exportStartModal.spec.tsx
@@ -1,10 +1,10 @@
 import { Button } from '@material-ui/core'
-import ExportStartModal from 'components/Export/exportStartModal'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import ExportStartModal from './exportStartModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Export/exportStartModal.tsx b/src/components/Options/ExportData/Modals/exportStartModal.tsx
similarity index 100%
rename from src/components/Export/exportStartModal.tsx
rename to src/components/Options/ExportData/Modals/exportStartModal.tsx
diff --git a/src/components/Options/ProfileTypeOptions/ProfileTypeOptions.spec.tsx b/src/components/Options/ProfileTypeOptions/ProfileTypeOptions.spec.tsx
index b352abb1e..6a40244d5 100644
--- a/src/components/Options/ProfileTypeOptions/ProfileTypeOptions.spec.tsx
+++ b/src/components/Options/ProfileTypeOptions/ProfileTypeOptions.spec.tsx
@@ -11,12 +11,12 @@ import {
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { mockProfileType } from '../../../../tests/__mocks__/profileType.mock'
+import { mockProfileType } from 'tests/__mocks__/profileType.mock'
 import {
   createMockEcolyoStore,
   mockChallengeState,
   mockProfileState,
-} from '../../../../tests/__mocks__/store'
+} from 'tests/__mocks__/store'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Options/ReportOptions/ReportOptions.spec.tsx b/src/components/Options/ReportOptions/ReportOptions.spec.tsx
index f4e6f8772..8284ab494 100644
--- a/src/components/Options/ReportOptions/ReportOptions.spec.tsx
+++ b/src/components/Options/ReportOptions/ReportOptions.spec.tsx
@@ -9,7 +9,7 @@ import * as profileActions from 'store/profile/profile.actions'
 import {
   createMockEcolyoStore,
   mockInitialEcolyoState,
-} from '../../../../tests/__mocks__/store'
+} from 'tests/__mocks__/store'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Options/Unsubscribe/UnSubscribe.spec.tsx b/src/components/Options/Unsubscribe/UnSubscribeView.spec.tsx
similarity index 90%
rename from src/components/Options/Unsubscribe/UnSubscribe.spec.tsx
rename to src/components/Options/Unsubscribe/UnSubscribeView.spec.tsx
index 9495dc1cf..2ef010932 100644
--- a/src/components/Options/Unsubscribe/UnSubscribe.spec.tsx
+++ b/src/components/Options/Unsubscribe/UnSubscribeView.spec.tsx
@@ -4,8 +4,8 @@ import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as profileActions from 'store/profile/profile.actions'
-import { createMockEcolyoStore } from '../../../../tests/__mocks__/store'
-import UnSubscribe from './UnSubscribe'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import UnSubscribeView from './UnSubscribeView'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
@@ -41,7 +41,7 @@ describe('UnSubscribe component', () => {
   it('should be rendered correctly', () => {
     const wrapper = mount(
       <Provider store={store}>
-        <UnSubscribe />
+        <UnSubscribeView />
       </Provider>
     )
     expect(toJson(wrapper)).toMatchSnapshot()
@@ -50,7 +50,7 @@ describe('UnSubscribe component', () => {
   it('should click on button and deactivate report', () => {
     const wrapper = mount(
       <Provider store={store}>
-        <UnSubscribe />
+        <UnSubscribeView />
       </Provider>
     )
     wrapper.find(Button).simulate('click')
diff --git a/src/components/Options/Unsubscribe/UnSubscribe.tsx b/src/components/Options/Unsubscribe/UnSubscribeView.tsx
similarity index 95%
rename from src/components/Options/Unsubscribe/UnSubscribe.tsx
rename to src/components/Options/Unsubscribe/UnSubscribeView.tsx
index ef117a084..2a2f74e98 100644
--- a/src/components/Options/Unsubscribe/UnSubscribe.tsx
+++ b/src/components/Options/Unsubscribe/UnSubscribeView.tsx
@@ -9,9 +9,9 @@ import React, { useState } from 'react'
 import { useNavigate } from 'react-router-dom'
 import { useAppDispatch } from 'store/hooks'
 import { updateProfile } from 'store/profile/profile.actions'
-import './unSubscribe.scss'
+import './unSubscribeView.scss'
 
-const UnSubscribe = () => {
+const UnSubscribeView = () => {
   const { t } = useI18n()
   const navigate = useNavigate()
   const dispatch = useAppDispatch()
@@ -54,4 +54,4 @@ const UnSubscribe = () => {
   )
 }
 
-export default UnSubscribe
+export default UnSubscribeView
diff --git a/src/components/Options/Unsubscribe/__snapshots__/UnSubscribe.spec.tsx.snap b/src/components/Options/Unsubscribe/__snapshots__/UnSubscribeView.spec.tsx.snap
similarity index 99%
rename from src/components/Options/Unsubscribe/__snapshots__/UnSubscribe.spec.tsx.snap
rename to src/components/Options/Unsubscribe/__snapshots__/UnSubscribeView.spec.tsx.snap
index 40c3d3fdd..851846970 100644
--- a/src/components/Options/Unsubscribe/__snapshots__/UnSubscribe.spec.tsx.snap
+++ b/src/components/Options/Unsubscribe/__snapshots__/UnSubscribeView.spec.tsx.snap
@@ -13,7 +13,7 @@ exports[`UnSubscribe component should be rendered correctly 1`] = `
     }
   }
 >
-  <UnSubscribe>
+  <UnSubscribeView>
     <mock-cozybar
       titleKey="common.title_analysis"
     />
@@ -207,6 +207,6 @@ exports[`UnSubscribe component should be rendered correctly 1`] = `
         </WithStyles(ForwardRef(Button))>
       </div>
     </mock-content>
-  </UnSubscribe>
+  </UnSubscribeView>
 </Provider>
 `;
diff --git a/src/components/Options/Unsubscribe/unSubscribe.scss b/src/components/Options/Unsubscribe/unSubscribeView.scss
similarity index 100%
rename from src/components/Options/Unsubscribe/unSubscribe.scss
rename to src/components/Options/Unsubscribe/unSubscribeView.scss
diff --git a/src/components/PartnerIssue/PartnerIssueModal.spec.tsx b/src/components/PartnerIssue/PartnerIssueModal.spec.tsx
index 2bbe0c57f..ff2e62e9b 100644
--- a/src/components/PartnerIssue/PartnerIssueModal.spec.tsx
+++ b/src/components/PartnerIssue/PartnerIssueModal.spec.tsx
@@ -2,7 +2,7 @@ import { Button } from '@material-ui/core'
 import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
-import { mockInitialEcolyoState } from '../../../tests/__mocks__/store'
+import { mockInitialEcolyoState } from 'tests/__mocks__/store'
 import PartnerIssueModal from './PartnerIssueModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/ProfileType/ProfileTypeFinished.spec.tsx b/src/components/ProfileType/ProfileTypeFinished/ProfileTypeFinished.spec.tsx
similarity index 89%
rename from src/components/ProfileType/ProfileTypeFinished.spec.tsx
rename to src/components/ProfileType/ProfileTypeFinished/ProfileTypeFinished.spec.tsx
index e100ecd8d..afe8e36dc 100644
--- a/src/components/ProfileType/ProfileTypeFinished.spec.tsx
+++ b/src/components/ProfileType/ProfileTypeFinished/ProfileTypeFinished.spec.tsx
@@ -3,8 +3,8 @@ import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
 import UsageEventService from 'services/usageEvent.service'
-import { mockProfileType } from '../../../tests/__mocks__/profileType.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { mockProfileType } from 'tests/__mocks__/profileType.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import ProfileTypeFinished from './ProfileTypeFinished'
 
 const mockedNavigate = jest.fn()
diff --git a/src/components/ProfileType/ProfileTypeFinished.tsx b/src/components/ProfileType/ProfileTypeFinished/ProfileTypeFinished.tsx
similarity index 98%
rename from src/components/ProfileType/ProfileTypeFinished.tsx
rename to src/components/ProfileType/ProfileTypeFinished/ProfileTypeFinished.tsx
index 63cc2babe..38973bed6 100644
--- a/src/components/ProfileType/ProfileTypeFinished.tsx
+++ b/src/components/ProfileType/ProfileTypeFinished/ProfileTypeFinished.tsx
@@ -3,7 +3,6 @@ import * as Sentry from '@sentry/react'
 import finishIcon from 'assets/icons/visu/profileType/finish.svg'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
 import useExploration from 'components/Hooks/useExploration'
-import 'components/ProfileType/profileTypeFinished.scss'
 import { Client, useClient } from 'cozy-client'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { PROFILETYPE_DOCTYPE } from 'doctypes'
@@ -18,6 +17,7 @@ import UsageEventService from 'services/usageEvent.service'
 import { useAppDispatch, useAppSelector } from 'store/hooks'
 import { updateProfile } from 'store/profile/profile.actions'
 import { setProfileType } from 'store/profileType/profileType.slice'
+import './profileTypeFinished.scss'
 
 const ProfileTypeFinished = ({ profileType }: { profileType: ProfileType }) => {
   const { t } = useI18n()
diff --git a/src/components/ProfileType/profileTypeFinished.scss b/src/components/ProfileType/ProfileTypeFinished/profileTypeFinished.scss
similarity index 100%
rename from src/components/ProfileType/profileTypeFinished.scss
rename to src/components/ProfileType/ProfileTypeFinished/profileTypeFinished.scss
diff --git a/src/components/ProfileType/ProfileTypeFormDateSelection.tsx b/src/components/ProfileType/ProfileTypeFormDateSelection/ProfileTypeFormDateSelection.tsx
similarity index 96%
rename from src/components/ProfileType/ProfileTypeFormDateSelection.tsx
rename to src/components/ProfileType/ProfileTypeFormDateSelection/ProfileTypeFormDateSelection.tsx
index 41279cdbb..ab64c5673 100644
--- a/src/components/ProfileType/ProfileTypeFormDateSelection.tsx
+++ b/src/components/ProfileType/ProfileTypeFormDateSelection/ProfileTypeFormDateSelection.tsx
@@ -1,6 +1,6 @@
 import { MenuItem, Select } from '@material-ui/core'
-import FormNavigation from 'components/FormGlobal/FormNavigation'
-import FormProgress from 'components/FormGlobal/FormProgress'
+import FormNavigation from 'components/CommonKit/FormNavigation/FormNavigation'
+import FormProgress from 'components/CommonKit/FormProgress/FormProgress'
 import 'components/ProfileType/profileTypeForm.scss'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { ProfileTypeStepForm } from 'enums'
diff --git a/src/components/ProfileType/ProfileTypeFormMultiChoice.spec.tsx b/src/components/ProfileType/ProfileTypeFormMultiChoice/ProfileTypeFormMultiChoice.spec.tsx
similarity index 88%
rename from src/components/ProfileType/ProfileTypeFormMultiChoice.spec.tsx
rename to src/components/ProfileType/ProfileTypeFormMultiChoice/ProfileTypeFormMultiChoice.spec.tsx
index d1a811b26..1bf3e9ddb 100644
--- a/src/components/ProfileType/ProfileTypeFormMultiChoice.spec.tsx
+++ b/src/components/ProfileType/ProfileTypeFormMultiChoice/ProfileTypeFormMultiChoice.spec.tsx
@@ -5,8 +5,8 @@ import { Provider } from 'react-redux'
 import {
   mockProfileType,
   mockProfileTypeAnswers,
-} from '../../../tests/__mocks__/profileType.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+} from 'tests/__mocks__/profileType.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import ProfileTypeFormMultiChoice from './ProfileTypeFormMultiChoice'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/ProfileType/ProfileTypeFormMultiChoice.tsx b/src/components/ProfileType/ProfileTypeFormMultiChoice/ProfileTypeFormMultiChoice.tsx
similarity index 95%
rename from src/components/ProfileType/ProfileTypeFormMultiChoice.tsx
rename to src/components/ProfileType/ProfileTypeFormMultiChoice/ProfileTypeFormMultiChoice.tsx
index 008be6979..7cf356ab4 100644
--- a/src/components/ProfileType/ProfileTypeFormMultiChoice.tsx
+++ b/src/components/ProfileType/ProfileTypeFormMultiChoice/ProfileTypeFormMultiChoice.tsx
@@ -1,6 +1,6 @@
 import classNames from 'classnames'
-import FormNavigation from 'components/FormGlobal/FormNavigation'
-import FormProgress from 'components/FormGlobal/FormProgress'
+import FormNavigation from 'components/CommonKit/FormNavigation/FormNavigation'
+import FormProgress from 'components/CommonKit/FormProgress/FormProgress'
 import 'components/ProfileType/profileTypeForm.scss'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { ProfileTypeStepForm } from 'enums'
diff --git a/src/components/ProfileType/ProfileTypeFormNumber.spec.tsx b/src/components/ProfileType/ProfileTypeFormNumber/ProfileTypeFormNumber.spec.tsx
similarity index 88%
rename from src/components/ProfileType/ProfileTypeFormNumber.spec.tsx
rename to src/components/ProfileType/ProfileTypeFormNumber/ProfileTypeFormNumber.spec.tsx
index c5ebae6c7..9d5265440 100644
--- a/src/components/ProfileType/ProfileTypeFormNumber.spec.tsx
+++ b/src/components/ProfileType/ProfileTypeFormNumber/ProfileTypeFormNumber.spec.tsx
@@ -5,8 +5,8 @@ import { Provider } from 'react-redux'
 import {
   mockProfileType,
   mockProfileTypeAnswers,
-} from '../../../tests/__mocks__/profileType.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+} from 'tests/__mocks__/profileType.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import ProfileTypeFormNumber from './ProfileTypeFormNumber'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/ProfileType/ProfileTypeFormNumber.tsx b/src/components/ProfileType/ProfileTypeFormNumber/ProfileTypeFormNumber.tsx
similarity index 93%
rename from src/components/ProfileType/ProfileTypeFormNumber.tsx
rename to src/components/ProfileType/ProfileTypeFormNumber/ProfileTypeFormNumber.tsx
index cb3d4e6a4..e5fcaecdb 100644
--- a/src/components/ProfileType/ProfileTypeFormNumber.tsx
+++ b/src/components/ProfileType/ProfileTypeFormNumber/ProfileTypeFormNumber.tsx
@@ -1,5 +1,5 @@
-import FormNavigation from 'components/FormGlobal/FormNavigation'
-import FormProgress from 'components/FormGlobal/FormProgress'
+import FormNavigation from 'components/CommonKit/FormNavigation/FormNavigation'
+import FormProgress from 'components/CommonKit/FormProgress/FormProgress'
 import 'components/ProfileType/profileTypeForm.scss'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { ProfileTypeStepForm } from 'enums'
diff --git a/src/components/ProfileType/ProfileTypeFormNumberSelection.spec.tsx b/src/components/ProfileType/ProfileTypeFormNumberSelection/ProfileTypeFormNumberSelection.spec.tsx
similarity index 88%
rename from src/components/ProfileType/ProfileTypeFormNumberSelection.spec.tsx
rename to src/components/ProfileType/ProfileTypeFormNumberSelection/ProfileTypeFormNumberSelection.spec.tsx
index 10eadf07a..891f30ff4 100644
--- a/src/components/ProfileType/ProfileTypeFormNumberSelection.spec.tsx
+++ b/src/components/ProfileType/ProfileTypeFormNumberSelection/ProfileTypeFormNumberSelection.spec.tsx
@@ -5,8 +5,8 @@ import { Provider } from 'react-redux'
 import {
   mockProfileType,
   mockProfileTypeAnswers,
-} from '../../../tests/__mocks__/profileType.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+} from 'tests/__mocks__/profileType.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import ProfileTypeFormNumberSelection from './ProfileTypeFormNumberSelection'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/ProfileType/ProfileTypeFormNumberSelection.tsx b/src/components/ProfileType/ProfileTypeFormNumberSelection/ProfileTypeFormNumberSelection.tsx
similarity index 95%
rename from src/components/ProfileType/ProfileTypeFormNumberSelection.tsx
rename to src/components/ProfileType/ProfileTypeFormNumberSelection/ProfileTypeFormNumberSelection.tsx
index 2f1905ad1..9ca3b4ebc 100644
--- a/src/components/ProfileType/ProfileTypeFormNumberSelection.tsx
+++ b/src/components/ProfileType/ProfileTypeFormNumberSelection/ProfileTypeFormNumberSelection.tsx
@@ -1,6 +1,6 @@
 import { Button } from '@material-ui/core'
-import FormNavigation from 'components/FormGlobal/FormNavigation'
-import FormProgress from 'components/FormGlobal/FormProgress'
+import FormNavigation from 'components/CommonKit/FormNavigation/FormNavigation'
+import FormProgress from 'components/CommonKit/FormProgress/FormProgress'
 import 'components/ProfileType/profileTypeForm.scss'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { ProfileTypeStepForm } from 'enums'
diff --git a/src/components/ProfileType/ProfileTypeFormSingleChoice.spec.tsx b/src/components/ProfileType/ProfileTypeFormSingleChoice/ProfileTypeFormSingleChoice.spec.tsx
similarity index 88%
rename from src/components/ProfileType/ProfileTypeFormSingleChoice.spec.tsx
rename to src/components/ProfileType/ProfileTypeFormSingleChoice/ProfileTypeFormSingleChoice.spec.tsx
index 293e3fa26..e0370e717 100644
--- a/src/components/ProfileType/ProfileTypeFormSingleChoice.spec.tsx
+++ b/src/components/ProfileType/ProfileTypeFormSingleChoice/ProfileTypeFormSingleChoice.spec.tsx
@@ -5,8 +5,8 @@ import { Provider } from 'react-redux'
 import {
   mockProfileType,
   mockProfileTypeAnswers,
-} from '../../../tests/__mocks__/profileType.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+} from 'tests/__mocks__/profileType.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import ProfileTypeFormSingleChoice from './ProfileTypeFormSingleChoice'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/ProfileType/ProfileTypeFormSingleChoice.tsx b/src/components/ProfileType/ProfileTypeFormSingleChoice/ProfileTypeFormSingleChoice.tsx
similarity index 95%
rename from src/components/ProfileType/ProfileTypeFormSingleChoice.tsx
rename to src/components/ProfileType/ProfileTypeFormSingleChoice/ProfileTypeFormSingleChoice.tsx
index b7cb5f8fa..dd37be32b 100644
--- a/src/components/ProfileType/ProfileTypeFormSingleChoice.tsx
+++ b/src/components/ProfileType/ProfileTypeFormSingleChoice/ProfileTypeFormSingleChoice.tsx
@@ -1,6 +1,6 @@
 import classNames from 'classnames'
-import FormNavigation from 'components/FormGlobal/FormNavigation'
-import FormProgress from 'components/FormGlobal/FormProgress'
+import FormNavigation from 'components/CommonKit/FormNavigation/FormNavigation'
+import FormProgress from 'components/CommonKit/FormProgress/FormProgress'
 import 'components/ProfileType/profileTypeForm.scss'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { ProfileTypeStepForm } from 'enums'
diff --git a/src/components/ProfileType/ProfileTypeView.spec.tsx b/src/components/ProfileType/ProfileTypeView.spec.tsx
index 4c360ea56..04bfc3bd5 100644
--- a/src/components/ProfileType/ProfileTypeView.spec.tsx
+++ b/src/components/ProfileType/ProfileTypeView.spec.tsx
@@ -2,7 +2,7 @@ import ProfileTypeView from 'components/ProfileType/ProfileTypeView'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/ProfileType/ProfileTypeView.tsx b/src/components/ProfileType/ProfileTypeView.tsx
index 56db7b246..010c4a351 100644
--- a/src/components/ProfileType/ProfileTypeView.tsx
+++ b/src/components/ProfileType/ProfileTypeView.tsx
@@ -1,13 +1,8 @@
 import Content from 'components/Content/Content'
-import EcogestureFormEquipment from 'components/EcogestureForm/EcogestureFormEquipment'
+import EcogestureFormEquipment from 'components/EcogestureForm/EcogestureFormEquipment/EcogestureFormEquipment'
 import CozyBar from 'components/Header/CozyBar'
 import Header from 'components/Header/Header'
 import Loader from 'components/Loader/Loader'
-import ProfileTypeFinished from 'components/ProfileType/ProfileTypeFinished'
-import ProfileTypeFormMultiChoice from 'components/ProfileType/ProfileTypeFormMultiChoice'
-import ProfileTypeFormNumber from 'components/ProfileType/ProfileTypeFormNumber'
-import ProfileTypeFormNumberSelection from 'components/ProfileType/ProfileTypeFormNumberSelection'
-import ProfileTypeFormSingleChoice from 'components/ProfileType/ProfileTypeFormSingleChoice'
 import 'components/ProfileType/profileTypeView.scss'
 import {
   ConstructionYear,
@@ -29,7 +24,12 @@ import { ProfileType, ProfileTypeAnswer } from 'models'
 import React, { useCallback, useEffect, useState } from 'react'
 import ProfileTypeFormService from 'services/profileTypeForm.service'
 import { useAppSelector } from 'store/hooks'
-import ProfileTypeFormDateSelection from './ProfileTypeFormDateSelection'
+import ProfileTypeFinished from './ProfileTypeFinished/ProfileTypeFinished'
+import ProfileTypeFormDateSelection from './ProfileTypeFormDateSelection/ProfileTypeFormDateSelection'
+import ProfileTypeFormMultiChoice from './ProfileTypeFormMultiChoice/ProfileTypeFormMultiChoice'
+import ProfileTypeFormNumber from './ProfileTypeFormNumber/ProfileTypeFormNumber'
+import ProfileTypeFormNumberSelection from './ProfileTypeFormNumberSelection/ProfileTypeFormNumberSelection'
+import ProfileTypeFormSingleChoice from './ProfileTypeFormSingleChoice/ProfileTypeFormSingleChoice'
 
 const ProfileTypeView = () => {
   const { profile, profileType, profileEcogesture } = useAppSelector(
diff --git a/src/components/Quiz/QuizBegin.spec.tsx b/src/components/Quiz/QuizBegin/QuizBegin.spec.tsx
similarity index 85%
rename from src/components/Quiz/QuizBegin.spec.tsx
rename to src/components/Quiz/QuizBegin/QuizBegin.spec.tsx
index 0bb0dbb7e..4dfc32037 100644
--- a/src/components/Quiz/QuizBegin.spec.tsx
+++ b/src/components/Quiz/QuizBegin/QuizBegin.spec.tsx
@@ -4,8 +4,8 @@ import { UserChallengeUpdateFlag } from 'enums'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import QuizBegin from './QuizBegin'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Quiz/QuizBegin.tsx b/src/components/Quiz/QuizBegin/QuizBegin.tsx
similarity index 91%
rename from src/components/Quiz/QuizBegin.tsx
rename to src/components/Quiz/QuizBegin/QuizBegin.tsx
index d4efb4d0a..ee0a1bf83 100644
--- a/src/components/Quiz/QuizBegin.tsx
+++ b/src/components/Quiz/QuizBegin/QuizBegin.tsx
@@ -1,8 +1,8 @@
 import Button from '@material-ui/core/Button'
 import quizIcon from 'assets/icons/visu/quiz/questionMark.svg'
-import StarsContainer from 'components/Challenge/StarsContainer'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
-import { useClient } from 'cozy-client'
+import StarsContainer from 'components/CommonKit/StarsContainer/StarsContainer'
+import { Client, useClient } from 'cozy-client'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { UserChallengeUpdateFlag } from 'enums'
 import { UserChallenge } from 'models'
@@ -13,7 +13,7 @@ import { useAppDispatch } from 'store/hooks'
 import './quizBegin.scss'
 
 const QuizBegin = ({ userChallenge }: { userChallenge: UserChallenge }) => {
-  const client = useClient()
+  const client: Client = useClient()
   const { t } = useI18n()
   const dispatch = useAppDispatch()
   const launchQuiz = async () => {
diff --git a/src/components/Quiz/quizBegin.scss b/src/components/Quiz/QuizBegin/quizBegin.scss
similarity index 100%
rename from src/components/Quiz/quizBegin.scss
rename to src/components/Quiz/QuizBegin/quizBegin.scss
diff --git a/src/components/Quiz/QuizExplanationModal.tsx b/src/components/Quiz/QuizExplanationModal/QuizExplanationModal.tsx
similarity index 100%
rename from src/components/Quiz/QuizExplanationModal.tsx
rename to src/components/Quiz/QuizExplanationModal/QuizExplanationModal.tsx
diff --git a/src/components/Quiz/quizExplanationModal.scss b/src/components/Quiz/QuizExplanationModal/quizExplanationModal.scss
similarity index 100%
rename from src/components/Quiz/quizExplanationModal.scss
rename to src/components/Quiz/QuizExplanationModal/quizExplanationModal.scss
diff --git a/src/components/Quiz/QuizFinish.spec.tsx b/src/components/Quiz/QuizFinish/QuizFinish.spec.tsx
similarity index 83%
rename from src/components/Quiz/QuizFinish.spec.tsx
rename to src/components/Quiz/QuizFinish/QuizFinish.spec.tsx
index 979763f64..6b9038e26 100644
--- a/src/components/Quiz/QuizFinish.spec.tsx
+++ b/src/components/Quiz/QuizFinish/QuizFinish.spec.tsx
@@ -4,9 +4,9 @@ import { UserChallengeUpdateFlag } from 'enums'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import QuizFinish from './QuizFinish'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Quiz/QuizFinish.tsx b/src/components/Quiz/QuizFinish/QuizFinish.tsx
similarity index 100%
rename from src/components/Quiz/QuizFinish.tsx
rename to src/components/Quiz/QuizFinish/QuizFinish.tsx
diff --git a/src/components/Quiz/quizFinish.scss b/src/components/Quiz/QuizFinish/quizFinish.scss
similarity index 100%
rename from src/components/Quiz/quizFinish.scss
rename to src/components/Quiz/QuizFinish/quizFinish.scss
diff --git a/src/components/Quiz/QuizQuestion.spec.tsx b/src/components/Quiz/QuizQuestion/QuizQuestion.spec.tsx
similarity index 78%
rename from src/components/Quiz/QuizQuestion.spec.tsx
rename to src/components/Quiz/QuizQuestion/QuizQuestion.spec.tsx
index ee64e535a..d849881ac 100644
--- a/src/components/Quiz/QuizQuestion.spec.tsx
+++ b/src/components/Quiz/QuizQuestion/QuizQuestion.spec.tsx
@@ -3,8 +3,8 @@ import { UserQuestionState } from 'enums'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
 import QuizQuestion from './QuizQuestion'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
@@ -30,10 +30,11 @@ jest.mock('services/quiz.service', () => {
   })
 })
 
-jest.mock('components/Quiz/QuizCustomQuestionContent', () => () => (
-  <div id="quizcustomquestioncontent" />
-))
-jest.mock('components/Quiz/QuizQuestionContent', () => () => (
+jest.mock(
+  'components/Quiz/QuizQuestion/QuizQuestionContentCustom',
+  () => () => <div id="QuizQuestionContentCustom" />
+)
+jest.mock('components/Quiz/QuizQuestion/QuizQuestionContent', () => () => (
   <div id="quizquestioncontent" />
 ))
 
@@ -50,7 +51,7 @@ describe('QuizQuestion component', () => {
       </Provider>
     )
     expect(wrapper.find('#quizquestioncontent').exists()).toBeTruthy()
-    expect(wrapper.find('#quizcustomquestioncontent').exists()).toBeFalsy()
+    expect(wrapper.find('#QuizQuestionContentCustom').exists()).toBeFalsy()
   })
 
   it('should be rendered correctly with customQuestion', () => {
@@ -66,6 +67,6 @@ describe('QuizQuestion component', () => {
       </Provider>
     )
     expect(wrapper.find('#quizquestioncontent').exists()).toBeFalsy()
-    expect(wrapper.find('#quizcustomquestioncontent').exists()).toBeTruthy()
+    expect(wrapper.find('#QuizQuestionContentCustom').exists()).toBeTruthy()
   })
 })
diff --git a/src/components/Quiz/QuizQuestion.tsx b/src/components/Quiz/QuizQuestion/QuizQuestion.tsx
similarity index 88%
rename from src/components/Quiz/QuizQuestion.tsx
rename to src/components/Quiz/QuizQuestion/QuizQuestion.tsx
index bd2feb8ca..f8f13cc72 100644
--- a/src/components/Quiz/QuizQuestion.tsx
+++ b/src/components/Quiz/QuizQuestion/QuizQuestion.tsx
@@ -1,17 +1,14 @@
-import QuizCustomQuestionContent from 'components/Quiz/QuizCustomQuestionContent'
-import QuizQuestionContent from 'components/Quiz/QuizQuestionContent'
-import { useClient } from 'cozy-client'
+import { Client, useClient } from 'cozy-client'
 import { QuestionEntity, UserChallenge } from 'models'
 import React, { useEffect, useState } from 'react'
 import { useNavigate } from 'react-router-dom'
 import QuizService from 'services/quiz.service'
 import { useAppSelector } from 'store/hooks'
+import QuizQuestionContent from './QuizQuestionContent'
+import QuizQuestionContentCustom from './QuizQuestionContentCustom'
 import './quizQuestion.scss'
 
 const QuizQuestion = ({ userChallenge }: { userChallenge: UserChallenge }) => {
-  const client = useClient()
-  const navigate = useNavigate()
-  const { fluidTypes } = useAppSelector(state => state.ecolyo.global)
   const questionsIsLocked: boolean = userChallenge.quiz.questions.some(
     answer => answer.result == 0
   )
@@ -21,6 +18,9 @@ const QuizQuestion = ({ userChallenge }: { userChallenge: UserChallenge }) => {
   )
   const [customQuestionLoading, setCustomQuestionLoading] =
     useState<boolean>(false)
+  const client: Client = useClient()
+  const { fluidTypes } = useAppSelector(state => state.ecolyo.global)
+  const navigate = useNavigate()
 
   const goBack = () => {
     navigate('/challenges')
@@ -52,7 +52,7 @@ const QuizQuestion = ({ userChallenge }: { userChallenge: UserChallenge }) => {
   return (
     <>
       {isCustomQuest ? (
-        <QuizCustomQuestionContent
+        <QuizQuestionContentCustom
           userChallenge={userChallenge}
           goBack={goBack}
           question={question}
diff --git a/src/components/Quiz/QuizQuestionContent.spec.tsx b/src/components/Quiz/QuizQuestion/QuizQuestionContent.spec.tsx
similarity index 85%
rename from src/components/Quiz/QuizQuestionContent.spec.tsx
rename to src/components/Quiz/QuizQuestion/QuizQuestionContent.spec.tsx
index 093cc6be3..269720464 100644
--- a/src/components/Quiz/QuizQuestionContent.spec.tsx
+++ b/src/components/Quiz/QuizQuestion/QuizQuestionContent.spec.tsx
@@ -1,9 +1,9 @@
-import QuizQuestionContent from 'components/Quiz/QuizQuestionContent'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import QuizQuestionContent from './QuizQuestionContent'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Quiz/QuizQuestionContent.tsx b/src/components/Quiz/QuizQuestion/QuizQuestionContent.tsx
similarity index 97%
rename from src/components/Quiz/QuizQuestionContent.tsx
rename to src/components/Quiz/QuizQuestion/QuizQuestionContent.tsx
index fb45ffb81..d26f33bdf 100644
--- a/src/components/Quiz/QuizQuestionContent.tsx
+++ b/src/components/Quiz/QuizQuestion/QuizQuestionContent.tsx
@@ -1,8 +1,8 @@
 import Button from '@material-ui/core/Button'
 import CloseIcon from 'assets/icons/ico/close.svg'
 import StyledIconButton from 'components/CommonKit/IconButton/StyledIconButton'
-import QuizExplanationModal from 'components/Quiz/QuizExplanationModal'
-import { useClient } from 'cozy-client'
+import QuizExplanationModal from 'components/Quiz/QuizExplanationModal/QuizExplanationModal'
+import { Client, useClient } from 'cozy-client'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { UserChallengeUpdateFlag } from 'enums'
 import { Answer, UserChallenge, UserQuiz } from 'models'
@@ -25,7 +25,7 @@ const QuizQuestionContent = ({
   goBack,
 }: QuizQuestionContent) => {
   const { t } = useI18n()
-  const client = useClient()
+  const client: Client = useClient()
   const dispatch = useAppDispatch()
   const questionIndexLocked = userChallenge.quiz.questions.findIndex(
     answer => answer.result == 0
diff --git a/src/components/Quiz/QuizCustomQuestionContent.spec.tsx b/src/components/Quiz/QuizQuestion/QuizQuestionContentCustom.spec.tsx
similarity index 86%
rename from src/components/Quiz/QuizCustomQuestionContent.spec.tsx
rename to src/components/Quiz/QuizQuestion/QuizQuestionContentCustom.spec.tsx
index 5f355a86c..9b42e7b32 100644
--- a/src/components/Quiz/QuizCustomQuestionContent.spec.tsx
+++ b/src/components/Quiz/QuizQuestion/QuizQuestionContentCustom.spec.tsx
@@ -3,11 +3,11 @@ import Loader from 'components/Loader/Loader'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { questionEntity } from '../../../tests/__mocks__/quizData.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
-import QuizCustomQuestionContent from './QuizCustomQuestionContent'
-import QuizExplanationModal from './QuizExplanationModal'
+import { questionEntity } from 'tests/__mocks__/quizData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import QuizExplanationModal from '../QuizExplanationModal/QuizExplanationModal'
+import QuizQuestionContentCustom from './QuizQuestionContentCustom'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
@@ -48,7 +48,7 @@ describe('QuizCustomQuestionContent component', () => {
   it('should be rendered correctly', () => {
     const wrapper = mount(
       <Provider store={store}>
-        <QuizCustomQuestionContent
+        <QuizQuestionContentCustom
           userChallenge={userChallengeData[0]}
           question={questionEntity}
           goBack={mockHistoryPush('/challenges')}
@@ -68,7 +68,7 @@ describe('QuizCustomQuestionContent component', () => {
   it('should be rendered correctly with loader', () => {
     const wrapper = mount(
       <Provider store={store}>
-        <QuizCustomQuestionContent
+        <QuizQuestionContentCustom
           userChallenge={userChallengeData[0]}
           question={questionEntity}
           goBack={mockHistoryPush('/challenges')}
@@ -81,7 +81,7 @@ describe('QuizCustomQuestionContent component', () => {
   it('should display QuizExplanationModal when click on Button', () => {
     const wrapper = mount(
       <Provider store={store}>
-        <QuizCustomQuestionContent
+        <QuizQuestionContentCustom
           userChallenge={userChallengeData[0]}
           question={questionEntity}
           goBack={mockHistoryPush('/challenges')}
diff --git a/src/components/Quiz/QuizCustomQuestionContent.tsx b/src/components/Quiz/QuizQuestion/QuizQuestionContentCustom.tsx
similarity index 94%
rename from src/components/Quiz/QuizCustomQuestionContent.tsx
rename to src/components/Quiz/QuizQuestion/QuizQuestionContentCustom.tsx
index 004ff6883..dc55ae0a7 100644
--- a/src/components/Quiz/QuizCustomQuestionContent.tsx
+++ b/src/components/Quiz/QuizQuestion/QuizQuestionContentCustom.tsx
@@ -2,8 +2,8 @@ import Button from '@material-ui/core/Button'
 import CloseIcon from 'assets/icons/ico/close.svg'
 import StyledIconButton from 'components/CommonKit/IconButton/StyledIconButton'
 import Loader from 'components/Loader/Loader'
-import QuizExplanationModal from 'components/Quiz/QuizExplanationModal'
-import { useClient } from 'cozy-client'
+import QuizExplanationModal from 'components/Quiz/QuizExplanationModal/QuizExplanationModal'
+import { Client, useClient } from 'cozy-client'
 import { useI18n } from 'cozy-ui/transpiled/react/I18n'
 import { UsageEventType, UserChallengeUpdateFlag } from 'enums'
 import { Answer, QuestionEntity, UserChallenge, UserQuiz } from 'models'
@@ -15,21 +15,21 @@ import { updateUserChallengeList } from 'store/challenge/challenge.slice'
 import { useAppDispatch } from 'store/hooks'
 import './quizQuestion.scss'
 
-interface QuizCustomQuestionContent {
+interface QuizQuestionContentCustomProps {
   userChallenge: UserChallenge
   goBack: () => void
   question: QuestionEntity | undefined
   isLoading: boolean
 }
 
-const QuizCustomQuestionContent = ({
+const QuizQuestionContentCustom = ({
   userChallenge,
   goBack,
   question,
   isLoading,
-}: QuizCustomQuestionContent) => {
+}: QuizQuestionContentCustomProps) => {
   const { t } = useI18n()
-  const client = useClient()
+  const client: Client = useClient()
   const dispatch = useAppDispatch()
 
   const [userChoice, setUserChoice] = useState<string>('')
@@ -148,4 +148,4 @@ const QuizCustomQuestionContent = ({
   )
 }
 
-export default QuizCustomQuestionContent
+export default QuizQuestionContentCustom
diff --git a/src/components/Quiz/quizQuestion.scss b/src/components/Quiz/QuizQuestion/quizQuestion.scss
similarity index 100%
rename from src/components/Quiz/quizQuestion.scss
rename to src/components/Quiz/QuizQuestion/quizQuestion.scss
diff --git a/src/components/Quiz/QuizView.spec.tsx b/src/components/Quiz/QuizView.spec.tsx
index 5ba5d28c2..7ad781c8a 100644
--- a/src/components/Quiz/QuizView.spec.tsx
+++ b/src/components/Quiz/QuizView.spec.tsx
@@ -4,15 +4,12 @@ import { mount } from 'enzyme'
 import { ChallengeState } from 'models'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { challengeStateData } from '../../../tests/__mocks__/challengeStateData.mock'
-import {
-  createMockEcolyoStore,
-  mockGlobalState,
-} from '../../../tests/__mocks__/store'
-import { userChallengeData } from '../../../tests/__mocks__/userChallengeData.mock'
-import QuizBegin from './QuizBegin'
-import QuizFinish from './QuizFinish'
-import QuizQuestion from './QuizQuestion'
+import { challengeStateData } from 'tests/__mocks__/challengeStateData.mock'
+import { createMockEcolyoStore, mockGlobalState } from 'tests/__mocks__/store'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import QuizBegin from './QuizBegin/QuizBegin'
+import QuizFinish from './QuizFinish/QuizFinish'
+import QuizQuestion from './QuizQuestion/QuizQuestion'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
   useI18n: jest.fn(() => ({
diff --git a/src/components/Quiz/QuizView.tsx b/src/components/Quiz/QuizView.tsx
index 7b1dcd04b..604e6e3a5 100644
--- a/src/components/Quiz/QuizView.tsx
+++ b/src/components/Quiz/QuizView.tsx
@@ -5,9 +5,9 @@ import { UserQuizState } from 'enums'
 import { UserChallenge } from 'models'
 import React, { useState } from 'react'
 import { useAppSelector } from 'store/hooks'
-import QuizBegin from './QuizBegin'
-import QuizFinish from './QuizFinish'
-import QuizQuestion from './QuizQuestion'
+import QuizBegin from './QuizBegin/QuizBegin'
+import QuizFinish from './QuizFinish/QuizFinish'
+import QuizQuestion from './QuizQuestion/QuizQuestion'
 
 const QuizView = () => {
   const { currentChallenge } = useAppSelector(state => state.ecolyo.challenge)
diff --git a/src/components/Home/ReleaseNotesModal.scss b/src/components/ReleaseNotesModal/ReleaseNotesModal.scss
similarity index 100%
rename from src/components/Home/ReleaseNotesModal.scss
rename to src/components/ReleaseNotesModal/ReleaseNotesModal.scss
diff --git a/src/components/Home/ReleaseNotesModal.tsx b/src/components/ReleaseNotesModal/ReleaseNotesModal.tsx
similarity index 100%
rename from src/components/Home/ReleaseNotesModal.tsx
rename to src/components/ReleaseNotesModal/ReleaseNotesModal.tsx
diff --git a/src/components/Routes/Routes.tsx b/src/components/Routes/Routes.tsx
index 327ed1389..259830e52 100644
--- a/src/components/Routes/Routes.tsx
+++ b/src/components/Routes/Routes.tsx
@@ -3,10 +3,10 @@ import ChallengeView from 'components/Challenge/ChallengeView'
 import SgeConnectView from 'components/Connection/SGEConnect/SgeConnectView'
 import DuelView from 'components/Duel/DuelView'
 import EcogestureFormView from 'components/EcogestureForm/EcogestureFormView'
-import EcogestureSelection from 'components/EcogestureSelection/EcogestureSelection'
+import EcogestureSelectionView from 'components/EcogestureSelection/EcogestureSelectionView'
 import ExplorationView from 'components/Exploration/ExplorationView'
 import Loader from 'components/Loader/Loader'
-import UnSubscribe from 'components/Options/Unsubscribe/UnSubscribe'
+import UnSubscribeView from 'components/Options/Unsubscribe/UnSubscribeView'
 import QuizView from 'components/Quiz/QuizView'
 import TermsView from 'components/Terms/TermsView'
 import { FluidType } from 'enums'
@@ -14,12 +14,14 @@ import { TermsStatus } from 'models'
 import React, { lazy, Suspense } from 'react'
 import { Navigate, Route, Routes } from 'react-router-dom'
 
-const ConsumptionView = lazy(() => import('components/Home/ConsumptionView'))
-const EcogestureView = lazy(
-  () => import('components/Ecogesture/EcogestureView')
+const ConsumptionView = lazy(
+  () => import('components/Consumption/ConsumptionView')
 )
-const SingleEcogesture = lazy(
-  () => import('components/Ecogesture/SingleEcogesture')
+const EcogestureTabsView = lazy(
+  () => import('components/Ecogesture/EcogestureTabsView')
+)
+const SingleEcogestureView = lazy(
+  () => import('components/Ecogesture/SingleEcogestureView')
 )
 const OptionsView = lazy(() => import('components/Options/OptionsView'))
 const LegalNoticeView = lazy(
@@ -77,24 +79,20 @@ const AppRoutes = ({ termsStatus }: { termsStatus: TermsStatus }) => {
             <Route path="/ecogesture-form" element={<EcogestureFormView />} />
             <Route
               path="/ecogesture-selection"
-              element={<EcogestureSelection />}
-            />
-            <Route
-              path="/ecogesture/:ecogestureID/:tab"
-              element={<SingleEcogesture />}
+              element={<EcogestureSelectionView />}
             />
             <Route
               path="/ecogesture/:ecogestureID"
-              element={<SingleEcogesture />}
+              element={<SingleEcogestureView />}
             />
-            <Route path="/ecogestures" element={<EcogestureView />} />
+            <Route path="/ecogestures" element={<EcogestureTabsView />} />
             <Route path="/options/legalnotice" element={<LegalNoticeView />} />
             <Route path="/options/gcu" element={<GCUView />} />
             <Route path="/options/:connectParam" element={<OptionsView />} />
             <Route path="/options" element={<OptionsView />} />
             <Route path="/analysis" element={<AnalysisView />} />
             <Route path="/profiletype" element={<ProfileTypeView />} />
-            <Route path="/unsubscribe" element={<UnSubscribe />} />
+            <Route path="/unsubscribe" element={<UnSubscribeView />} />
             <Route path="*" element={<Navigate replace to="/consumption" />} />
           </>
         )}
diff --git a/src/components/Splash/SplashRoot.spec.tsx b/src/components/Splash/SplashRoot.spec.tsx
index c07b9314a..cffe3f6e0 100644
--- a/src/components/Splash/SplashRoot.spec.tsx
+++ b/src/components/Splash/SplashRoot.spec.tsx
@@ -2,7 +2,7 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import SplashRoot from './SplashRoot'
 
 jest.mock('@sentry/react', () => ({
diff --git a/src/components/Terms/DataShareConsentContent.spec.tsx b/src/components/Terms/DataShareConsentContent.spec.tsx
index f214a2947..1e856af6e 100644
--- a/src/components/Terms/DataShareConsentContent.spec.tsx
+++ b/src/components/Terms/DataShareConsentContent.spec.tsx
@@ -2,7 +2,7 @@ import { mount } from 'enzyme'
 import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import DataShareConsentContent from './DataShareConsentContent'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/Terms/TermsView.spec.tsx b/src/components/Terms/TermsView.spec.tsx
index a987bed91..cc905cb48 100644
--- a/src/components/Terms/TermsView.spec.tsx
+++ b/src/components/Terms/TermsView.spec.tsx
@@ -4,8 +4,8 @@ import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as storeHooks from 'store/hooks'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
-import { mockUpToDateTerm } from '../../../tests/__mocks__/termsData.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
+import { mockUpToDateTerm } from 'tests/__mocks__/termsData.mock'
 import TermsView from './TermsView'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/TotalConsumption/TotalConsumption.spec.tsx b/src/components/TotalConsumption/TotalConsumption.spec.tsx
index 91f52d6c6..3a80eab66 100644
--- a/src/components/TotalConsumption/TotalConsumption.spec.tsx
+++ b/src/components/TotalConsumption/TotalConsumption.spec.tsx
@@ -2,12 +2,9 @@ import { FluidType, TimeStep } from 'enums'
 import { mount } from 'enzyme'
 import React from 'react'
 import { Provider } from 'react-redux'
-import { graphData } from '../../../tests/__mocks__/chartData.mock'
-import {
-  createMockEcolyoStore,
-  mockChartState,
-} from '../../../tests/__mocks__/store'
-import { waitForComponentToPaint } from '../../../tests/__mocks__/testUtils'
+import { graphData } from 'tests/__mocks__/chartData.mock'
+import { createMockEcolyoStore, mockChartState } from 'tests/__mocks__/store'
+import { waitForComponentToPaint } from 'tests/__mocks__/testUtils'
 import TotalConsumption from './TotalConsumption'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/components/WelcomeModal/WelcomeModal.spec.tsx b/src/components/WelcomeModal/WelcomeModal.spec.tsx
index 4a60f98b8..d22a87a29 100644
--- a/src/components/WelcomeModal/WelcomeModal.spec.tsx
+++ b/src/components/WelcomeModal/WelcomeModal.spec.tsx
@@ -4,8 +4,8 @@ import toJson from 'enzyme-to-json'
 import React from 'react'
 import { Provider } from 'react-redux'
 import * as profileActions from 'store/profile/profile.actions'
-import mockClient from '../../../tests/__mocks__/client'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import mockClient from 'tests/__mocks__/client'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import WelcomeModal from './WelcomeModal'
 
 jest.mock('cozy-ui/transpiled/react/I18n', () => ({
diff --git a/src/migrations/migration.service.spec.ts b/src/migrations/migration.service.spec.ts
index 5e717326c..4474c7db3 100644
--- a/src/migrations/migration.service.spec.ts
+++ b/src/migrations/migration.service.spec.ts
@@ -3,7 +3,7 @@ import { PROFILE_DOCTYPE } from 'doctypes'
 import { Profile } from 'models'
 import { Notes } from 'models/releaseNotes.model'
 import { Schema } from 'models/schema.models'
-import mockClient from '../../tests/__mocks__/client'
+import mockClient from 'tests/__mocks__/client'
 import * as Migrate from './migration'
 import { MIGRATION_RESULT_FAILED } from './migration.data'
 import { MigrationService } from './migration.service'
diff --git a/src/migrations/migration.spec.ts b/src/migrations/migration.spec.ts
index 4de21c9a9..c07a3181a 100644
--- a/src/migrations/migration.spec.ts
+++ b/src/migrations/migration.spec.ts
@@ -2,8 +2,8 @@ import { QueryResult } from 'cozy-client'
 import { FLUIDSPRICES_DOCTYPE, PROFILE_DOCTYPE } from 'doctypes'
 import { FluidPrice, Profile } from 'models'
 import { Schema } from 'models/schema.models'
-import mockClient from '../../tests/__mocks__/client'
-import { mockProfileState } from '../../tests/__mocks__/store'
+import mockClient from 'tests/__mocks__/client'
+import { mockProfileState } from 'tests/__mocks__/store'
 import { migrate, migrationLog } from './migration'
 import {
   MIGRATION_RESULT_COMPLETE,
diff --git a/src/services/account.service.spec.ts b/src/services/account.service.spec.ts
index c1d2d227c..fea058abf 100644
--- a/src/services/account.service.spec.ts
+++ b/src/services/account.service.spec.ts
@@ -2,10 +2,10 @@
 import { QueryResult } from 'cozy-client'
 import * as harvestLibAccounts from 'cozy-harvest-lib/dist/connections/accounts'
 import { Account, AccountAuthData } from 'models'
-import { accountsData } from '../../tests/__mocks__/accountsData.mock'
-import mockClient from '../../tests/__mocks__/client'
-import { konnectorsData } from '../../tests/__mocks__/konnectorsData.mock'
-import { triggersEnedisData } from '../../tests/__mocks__/triggersData.mock'
+import { accountsData } from 'tests/__mocks__/accountsData.mock'
+import mockClient from 'tests/__mocks__/client'
+import { konnectorsData } from 'tests/__mocks__/konnectorsData.mock'
+import { triggersEnedisData } from 'tests/__mocks__/triggersData.mock'
 import AccountService from './account.service'
 
 jest.mock('cozy-harvest-lib/dist/connections/accounts')
diff --git a/src/services/action.service.spec.ts b/src/services/action.service.spec.ts
index 48f0c210f..df7b19a1f 100644
--- a/src/services/action.service.spec.ts
+++ b/src/services/action.service.spec.ts
@@ -1,14 +1,14 @@
 import { Season, UserActionState } from 'enums'
 import { DateTime } from 'luxon'
 import { Ecogesture, UserAction } from 'models'
-import * as utils from 'utils/utils'
 import {
   AllEcogestureData,
   defaultEcogestureData,
   ecogestureDefault,
-} from '../../tests/__mocks__/actionData.mock'
-import mockClient from '../../tests/__mocks__/client'
-import { userChallengeData } from '../../tests/__mocks__/userChallengeData.mock'
+} from 'tests/__mocks__/actionData.mock'
+import mockClient from 'tests/__mocks__/client'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import * as utils from 'utils/utils'
 import ActionService from './action.service'
 
 const mockgetAllUserChallengeEntities = jest.fn()
diff --git a/src/services/challenge.service.spec.ts b/src/services/challenge.service.spec.ts
index 287719e29..2b5c19152 100644
--- a/src/services/challenge.service.spec.ts
+++ b/src/services/challenge.service.spec.ts
@@ -21,14 +21,14 @@ import {
 import {
   allChallengeEntityData,
   challengeEntityData,
-} from '../../tests/__mocks__/challengeEntity.mock'
-import { graphData } from '../../tests/__mocks__/chartData.mock'
-import mockClient from '../../tests/__mocks__/client'
+} from 'tests/__mocks__/challengeEntity.mock'
+import { graphData } from 'tests/__mocks__/chartData.mock'
+import mockClient from 'tests/__mocks__/client'
 import {
   allDuelEntity,
   duelData,
   duelEntity,
-} from '../../tests/__mocks__/duelData.mock'
+} from 'tests/__mocks__/duelData.mock'
 import {
   explorationDefault,
   explorationEntity,
@@ -39,16 +39,16 @@ import {
   userExploration4,
   userExploration4_0,
   userExplorationUnlocked,
-} from '../../tests/__mocks__/explorationData.mock'
-import { fluidStatusData } from '../../tests/__mocks__/fluidStatusData.mock'
-import { quizEntity, userQuiz } from '../../tests/__mocks__/quizData.mock'
+} from 'tests/__mocks__/explorationData.mock'
+import { fluidStatusData } from 'tests/__mocks__/fluidStatusData.mock'
+import { quizEntity, userQuiz } from 'tests/__mocks__/quizData.mock'
 import {
   userChallengeData,
   userChallengeDefault,
   userChallengeExplo1OnGoing,
   userChallengeExplo4,
   userChallengeExplo4_0,
-} from '../../tests/__mocks__/userChallengeData.mock'
+} from 'tests/__mocks__/userChallengeData.mock'
 import ChallengeService from './challenge.service'
 
 const mockGetExplorationEntityById = jest.fn()
diff --git a/src/services/connection.service.spec.ts b/src/services/connection.service.spec.ts
index 9b8e6910b..ae41efe92 100644
--- a/src/services/connection.service.spec.ts
+++ b/src/services/connection.service.spec.ts
@@ -1,8 +1,8 @@
 import { AccountAuthData } from 'models'
-import { accountsData } from '../../tests/__mocks__/accountsData.mock'
-import mockClient from '../../tests/__mocks__/client'
-import { konnectorsData } from '../../tests/__mocks__/konnectorsData.mock'
-import { triggersData } from '../../tests/__mocks__/triggersData.mock'
+import { accountsData } from 'tests/__mocks__/accountsData.mock'
+import mockClient from 'tests/__mocks__/client'
+import { konnectorsData } from 'tests/__mocks__/konnectorsData.mock'
+import { triggersData } from 'tests/__mocks__/triggersData.mock'
 import ConnectionService from './connection.service'
 
 const mockGetKonnector = jest.fn()
diff --git a/src/services/consumption.service.spec.ts b/src/services/consumption.service.spec.ts
index 3e2c3019a..4ba1838b0 100644
--- a/src/services/consumption.service.spec.ts
+++ b/src/services/consumption.service.spec.ts
@@ -10,10 +10,10 @@ import {
   FluidStatus,
   TimePeriod,
 } from 'models'
-import mockClient from '../../tests/__mocks__/client'
-import { fluidPrices } from '../../tests/__mocks__/fluidPrice.mock'
-import { fluidStatusConnectedData } from '../../tests/__mocks__/fluidStatusData.mock'
-import { loadDayData } from '../../tests/__mocks__/loadDayData.mock'
+import mockClient from 'tests/__mocks__/client'
+import { fluidPrices } from 'tests/__mocks__/fluidPrice.mock'
+import { fluidStatusConnectedData } from 'tests/__mocks__/fluidStatusData.mock'
+import { loadDayData } from 'tests/__mocks__/loadDayData.mock'
 import ConsumptionDataManager from './consumption.service'
 
 const mockFetchFluidData = jest.fn()
diff --git a/src/services/consumptionFormatter.service.spec.ts b/src/services/consumptionFormatter.service.spec.ts
index 7b1a5db7f..bfcb9f2cb 100644
--- a/src/services/consumptionFormatter.service.spec.ts
+++ b/src/services/consumptionFormatter.service.spec.ts
@@ -1,7 +1,7 @@
 import { DataloadState, FluidType, TimeStep } from 'enums'
 import { DateTime } from 'luxon'
 import { Dataload, FluidStatus, TimePeriod } from 'models'
-import { fluidStatusConnectedData } from '../../tests/__mocks__/fluidStatusData.mock'
+import { fluidStatusConnectedData } from 'tests/__mocks__/fluidStatusData.mock'
 import ConsumptionFormatterService from './consumptionFormatter.service'
 
 const localSpy = jest.spyOn(DateTime, 'local')
diff --git a/src/services/customPopup.service.test.ts b/src/services/customPopup.service.test.ts
index 952019749..fbd69e543 100644
--- a/src/services/customPopup.service.test.ts
+++ b/src/services/customPopup.service.test.ts
@@ -1,5 +1,5 @@
-import mockClient from '../../tests/__mocks__/client'
-import { mockCustomPopup } from '../../tests/__mocks__/customPopup.mock'
+import mockClient from 'tests/__mocks__/client'
+import { mockCustomPopup } from 'tests/__mocks__/customPopup.mock'
 import CustomPopupService from './customPopup.service'
 
 jest.mock('services/environment.service', () => {
diff --git a/src/services/duel.service.spec.ts b/src/services/duel.service.spec.ts
index 3b40046d7..86db4ddc4 100644
--- a/src/services/duel.service.spec.ts
+++ b/src/services/duel.service.spec.ts
@@ -3,17 +3,17 @@ import { FluidType, UserDuelState } from 'enums'
 import { DateTime, Duration } from 'luxon'
 import { DuelEntity, UserDuel } from 'models'
 import DuelService from 'services/duel.service'
-import { fullGraphData, graphData } from '../../tests/__mocks__/chartData.mock'
-import mockClient from '../../tests/__mocks__/client'
+import { fullGraphData, graphData } from 'tests/__mocks__/chartData.mock'
+import mockClient from 'tests/__mocks__/client'
 import {
   allDuelData,
   duelData,
   duelEntity,
-} from '../../tests/__mocks__/duelData.mock'
+} from 'tests/__mocks__/duelData.mock'
 import {
   fluidStatusConnectedData,
   fluidStatusData,
-} from '../../tests/__mocks__/fluidStatusData.mock'
+} from 'tests/__mocks__/fluidStatusData.mock'
 
 const mockGetPerformanceIndicators = jest.fn()
 const mockGetGraphData = jest.fn()
diff --git a/src/services/ecogesture.service.spec.ts b/src/services/ecogesture.service.spec.ts
index 30cd5ee55..db5c4424d 100644
--- a/src/services/ecogesture.service.spec.ts
+++ b/src/services/ecogesture.service.spec.ts
@@ -3,16 +3,16 @@ import ecogestureData from 'db/ecogestureData.json'
 import { EquipmentType, IndividualOrCollective, WarmingType } from 'enums'
 import { Ecogesture } from 'models'
 import { ProfileEcogesture } from 'models/profileEcogesture.model'
-import { hashFile } from 'utils/hash'
-import mockClient from '../../tests/__mocks__/client'
+import mockClient from 'tests/__mocks__/client'
 import {
   BoilerEcogesture,
   BoilerEcogestureFalse,
   ecogesturesECSData,
   ecogesturesHeatingData,
   mockedEcogesturesData,
-} from '../../tests/__mocks__/ecogesturesData.mock'
-import { mockProfileEcogesture } from '../../tests/__mocks__/profileEcogesture.mock'
+} from 'tests/__mocks__/ecogesturesData.mock'
+import { mockProfileEcogesture } from 'tests/__mocks__/profileEcogesture.mock'
+import { hashFile } from 'utils/hash'
 import EcogestureService from './ecogesture.service'
 
 // Add types definition to json data
diff --git a/src/services/enedisMonthlyAnalysisData.service.spec.ts b/src/services/enedisMonthlyAnalysisData.service.spec.ts
index 3a5f15f44..ee545f25b 100644
--- a/src/services/enedisMonthlyAnalysisData.service.spec.ts
+++ b/src/services/enedisMonthlyAnalysisData.service.spec.ts
@@ -1,13 +1,13 @@
 import { QueryResult } from 'cozy-client'
 import { EnedisMonthlyAnalysisData } from 'models/enedisMonthlyAnalysis'
 import { MaxPowerEntity } from 'models/maxPower.model'
-import mockClient from '../../tests/__mocks__/client'
+import mockClient from 'tests/__mocks__/client'
 import {
   maxPowerData,
   mockDataLoadEnedisAnalysis,
   mockEnedisMonthlyAnalysis,
   mockEnedisMonthlyAnalysisArray,
-} from '../../tests/__mocks__/enedisMonthlyAnalysisData.mock'
+} from 'tests/__mocks__/enedisMonthlyAnalysisData.mock'
 import EnedisMonthlyAnalysisDataService from './enedisMonthlyAnalysisData.service'
 
 describe('Enedis Monthly Analysis service', () => {
diff --git a/src/services/exploration.service.spec.ts b/src/services/exploration.service.spec.ts
index f6c84e02e..966588ab3 100644
--- a/src/services/exploration.service.spec.ts
+++ b/src/services/exploration.service.spec.ts
@@ -1,18 +1,18 @@
 import { QueryResult } from 'cozy-client'
 import { UserExplorationState } from 'enums'
 import { ExplorationEntity, UserChallenge, UserExploration } from 'models'
-import mockClient from '../../tests/__mocks__/client'
+import mockClient from 'tests/__mocks__/client'
 import {
   allExplorationEntities,
   explorationEntity,
   userExplorationDone,
   userExplorationStarted,
   userExplorationUnlocked,
-} from '../../tests/__mocks__/explorationData.mock'
+} from 'tests/__mocks__/explorationData.mock'
 import {
   userChallengeExplo1OnGoing,
   userChallengeExplo2OnGoing,
-} from '../../tests/__mocks__/userChallengeData.mock'
+} from 'tests/__mocks__/userChallengeData.mock'
 import ExplorationService from './exploration.service'
 
 describe('Exploration service', () => {
diff --git a/src/services/fluid.service.spec.ts b/src/services/fluid.service.spec.ts
index e5e3694f2..26c3114ba 100644
--- a/src/services/fluid.service.spec.ts
+++ b/src/services/fluid.service.spec.ts
@@ -2,11 +2,11 @@
 import { FluidSlugType, FluidState, FluidType } from 'enums'
 import { DateTime } from 'luxon'
 import { FluidStatus } from 'models'
-import { accountsData } from '../../tests/__mocks__/accountsData.mock'
-import mockClient from '../../tests/__mocks__/client'
-import { konnectorsData } from '../../tests/__mocks__/konnectorsData.mock'
-import { triggerStateData } from '../../tests/__mocks__/triggerStateData.mock'
-import { triggersData } from '../../tests/__mocks__/triggersData.mock'
+import { accountsData } from 'tests/__mocks__/accountsData.mock'
+import mockClient from 'tests/__mocks__/client'
+import { konnectorsData } from 'tests/__mocks__/konnectorsData.mock'
+import { triggerStateData } from 'tests/__mocks__/triggerStateData.mock'
+import { triggersData } from 'tests/__mocks__/triggersData.mock'
 import FluidService from './fluid.service'
 
 const mockGetAccountByType = jest.fn()
diff --git a/src/services/fluidsPrices.service.spec.ts b/src/services/fluidsPrices.service.spec.ts
index 0e2a551a3..f1455d8a2 100644
--- a/src/services/fluidsPrices.service.spec.ts
+++ b/src/services/fluidsPrices.service.spec.ts
@@ -2,11 +2,11 @@ import { QueryResult } from 'cozy-client'
 import { FluidType } from 'enums'
 import { DateTime } from 'luxon'
 import { FluidPrice } from 'models'
-import mockClient from '../../tests/__mocks__/client'
+import mockClient from 'tests/__mocks__/client'
 import {
   allLastFluidPrices,
   fluidPrices,
-} from '../../tests/__mocks__/fluidPrice.mock'
+} from 'tests/__mocks__/fluidPrice.mock'
 import FluidPricesService from './fluidsPrices.service'
 
 describe('FluidPrices service', () => {
diff --git a/src/services/initialization.service.spec.ts b/src/services/initialization.service.spec.ts
index b8a438127..fe608098c 100644
--- a/src/services/initialization.service.spec.ts
+++ b/src/services/initialization.service.spec.ts
@@ -6,22 +6,22 @@ import quizEntityData from 'db/quizEntity.json'
 import { FluidType } from 'enums'
 import { DateTime } from 'luxon'
 import { Profile, UserChallenge } from 'models'
-import { getActualAnalysisDate } from 'utils/date'
-import { hashFile } from 'utils/hash'
-import { allChallengeEntityData } from '../../tests/__mocks__/challengeEntity.mock'
-import { graphData } from '../../tests/__mocks__/chartData.mock'
-import mockClient from '../../tests/__mocks__/client'
-import { allDuelEntity } from '../../tests/__mocks__/duelData.mock'
-import { allExplorationEntities } from '../../tests/__mocks__/explorationData.mock'
-import { fluidPrices } from '../../tests/__mocks__/fluidPrice.mock'
-import { fluidStatusData } from '../../tests/__mocks__/fluidStatusData.mock'
-import { allQuizEntities } from '../../tests/__mocks__/quizData.mock'
-import { mockProfileState } from '../../tests/__mocks__/store'
+import { allChallengeEntityData } from 'tests/__mocks__/challengeEntity.mock'
+import { graphData } from 'tests/__mocks__/chartData.mock'
+import mockClient from 'tests/__mocks__/client'
+import { allDuelEntity } from 'tests/__mocks__/duelData.mock'
+import { allExplorationEntities } from 'tests/__mocks__/explorationData.mock'
+import { fluidPrices } from 'tests/__mocks__/fluidPrice.mock'
+import { fluidStatusData } from 'tests/__mocks__/fluidStatusData.mock'
+import { allQuizEntities } from 'tests/__mocks__/quizData.mock'
+import { mockProfileState } from 'tests/__mocks__/store'
 import {
   mockOutdatedTerm,
   mockUpToDateTerm,
-} from '../../tests/__mocks__/termsData.mock'
-import { userChallengeData } from '../../tests/__mocks__/userChallengeData.mock'
+} from 'tests/__mocks__/termsData.mock'
+import { userChallengeData } from 'tests/__mocks__/userChallengeData.mock'
+import { getActualAnalysisDate } from 'utils/date'
+import { hashFile } from 'utils/hash'
 import InitializationService from './initialization.service'
 
 const mockCreateIndexKonnector = jest.fn()
diff --git a/src/services/konnector.service.spec.ts b/src/services/konnector.service.spec.ts
index 844fa0748..d13fc9c5f 100644
--- a/src/services/konnector.service.spec.ts
+++ b/src/services/konnector.service.spec.ts
@@ -1,10 +1,10 @@
 import { QueryResult } from 'cozy-client'
 import { Konnector } from 'models'
-import { accountsData } from '../../tests/__mocks__/accountsData.mock'
-import mockClient from '../../tests/__mocks__/client'
-import { konnectorsData } from '../../tests/__mocks__/konnectorsData.mock'
-import { triggersData } from '../../tests/__mocks__/triggersData.mock'
-import { triggerStateData } from '../../tests/__mocks__/triggerStateData.mock'
+import { accountsData } from 'tests/__mocks__/accountsData.mock'
+import mockClient from 'tests/__mocks__/client'
+import { konnectorsData } from 'tests/__mocks__/konnectorsData.mock'
+import { triggerStateData } from 'tests/__mocks__/triggerStateData.mock'
+import { triggersData } from 'tests/__mocks__/triggersData.mock'
 import KonnectorService from './konnector.service'
 
 const mockGetTrigger = jest.fn()
diff --git a/src/services/konnectorStatus.service.spec.ts b/src/services/konnectorStatus.service.spec.ts
index 2f4a8a786..8363fb7e4 100644
--- a/src/services/konnectorStatus.service.spec.ts
+++ b/src/services/konnectorStatus.service.spec.ts
@@ -1,5 +1,5 @@
-import { accountsData } from '../../tests/__mocks__/accountsData.mock'
-import mockClient from '../../tests/__mocks__/client'
+import { accountsData } from 'tests/__mocks__/accountsData.mock'
+import mockClient from 'tests/__mocks__/client'
 import KonnectorStatusService from './konnectorStatus.service'
 
 const mockGetAccountByType = jest.fn()
diff --git a/src/services/mail.service.spec.ts b/src/services/mail.service.spec.ts
index b67f09c8f..b18adf458 100644
--- a/src/services/mail.service.spec.ts
+++ b/src/services/mail.service.spec.ts
@@ -1,4 +1,4 @@
-import mockClient from '../../tests/__mocks__/client'
+import mockClient from 'tests/__mocks__/client'
 import MailService from './mail.service'
 
 describe('Mail service', () => {
diff --git a/src/services/partnersInfo.service.spec.ts b/src/services/partnersInfo.service.spec.ts
index ffb46973e..e6d00896e 100644
--- a/src/services/partnersInfo.service.spec.ts
+++ b/src/services/partnersInfo.service.spec.ts
@@ -1,5 +1,5 @@
 import { PartnersInfo } from 'models/partnersInfo.model'
-import mockClient from '../../tests/__mocks__/client'
+import mockClient from 'tests/__mocks__/client'
 import PartnersInfoService from './partnersInfo.service'
 
 jest.mock('services/environment.service', () => {
diff --git a/src/services/profile.service.spec.ts b/src/services/profile.service.spec.ts
index c699a6559..e23cf9877 100644
--- a/src/services/profile.service.spec.ts
+++ b/src/services/profile.service.spec.ts
@@ -1,8 +1,8 @@
 import { QueryResult } from 'cozy-client'
 import { DateTime } from 'luxon'
 import { Profile } from 'models'
-import mockClient from '../../tests/__mocks__/client'
-import { mockProfileState } from '../../tests/__mocks__/store'
+import mockClient from 'tests/__mocks__/client'
+import { mockProfileState } from 'tests/__mocks__/store'
 import ProfileService from './profile.service'
 
 describe('UserProfile service', () => {
diff --git a/src/services/profileEcogesture.service.spec.ts b/src/services/profileEcogesture.service.spec.ts
index 79974fbc4..a52714795 100644
--- a/src/services/profileEcogesture.service.spec.ts
+++ b/src/services/profileEcogesture.service.spec.ts
@@ -1,8 +1,8 @@
 import { QueryResult } from 'cozy-client'
 import { EquipmentType } from 'enums'
 import { ProfileEcogesture } from 'models/profileEcogesture.model'
-import mockClient from '../../tests/__mocks__/client'
-import { mockProfileEcogestureUpdated } from '../../tests/__mocks__/profileEcogesture.mock'
+import mockClient from 'tests/__mocks__/client'
+import { mockProfileEcogestureUpdated } from 'tests/__mocks__/profileEcogesture.mock'
 import ProfileEcogestureService from './profileEcogesture.service'
 
 const profileEcogestureService = new ProfileEcogestureService(mockClient)
diff --git a/src/services/profileType.service.spec.ts b/src/services/profileType.service.spec.ts
index 42993963c..fc9dc8e3b 100644
--- a/src/services/profileType.service.spec.ts
+++ b/src/services/profileType.service.spec.ts
@@ -10,7 +10,7 @@ import {
 } from 'enums'
 import { DateTime } from 'luxon'
 import { ProfileType } from 'models/profileType.model'
-import mockClient from '../../tests/__mocks__/client'
+import mockClient from 'tests/__mocks__/client'
 import {
   mockCorrectedConsumption,
   mockEstimatedConsumption,
@@ -36,7 +36,7 @@ import {
   mockTestProfile3,
   mockWaterRawNeeds,
   mockWaterSpreadNeeds,
-} from '../../tests/__mocks__/profileType.mock'
+} from 'tests/__mocks__/profileType.mock'
 import ProfileTypeService from './profileType.service'
 import ProfileTypeFormService from './profileTypeForm.service'
 
diff --git a/src/services/profileTypeEntity.service.spec.ts b/src/services/profileTypeEntity.service.spec.ts
index 1fc0e9b66..a1b91cc8c 100644
--- a/src/services/profileTypeEntity.service.spec.ts
+++ b/src/services/profileTypeEntity.service.spec.ts
@@ -1,7 +1,7 @@
 import { QueryResult } from 'cozy-client'
 import { ProfileType } from 'models'
-import mockClient from '../../tests/__mocks__/client'
-import { profileTypeData } from '../../tests/__mocks__/profileType.mock'
+import mockClient from 'tests/__mocks__/client'
+import { profileTypeData } from 'tests/__mocks__/profileType.mock'
 import ProfileTypeEntityService from './profileTypeEntity.service'
 
 describe('UserProfileTypeEntity service', () => {
diff --git a/src/services/queryRunner.service.spec.ts b/src/services/queryRunner.service.spec.ts
index 79bde6490..9627d2adf 100644
--- a/src/services/queryRunner.service.spec.ts
+++ b/src/services/queryRunner.service.spec.ts
@@ -2,11 +2,11 @@ import { QueryResult } from 'cozy-client'
 import { DataloadState, FluidType, TimeStep } from 'enums'
 import { DateTime } from 'luxon'
 import { Dataload, DataloadEntity } from 'models'
-import mockClient from '../../tests/__mocks__/client'
-import { loadDayData } from '../../tests/__mocks__/loadDayData.mock'
-import { loadMinuteData } from '../../tests/__mocks__/loadMinuteData.mock'
-import { loadMonthData } from '../../tests/__mocks__/loadMonthData.mock'
-import { loadYearData } from '../../tests/__mocks__/loadYearData.mock'
+import mockClient from 'tests/__mocks__/client'
+import { loadDayData } from 'tests/__mocks__/loadDayData.mock'
+import { loadMinuteData } from 'tests/__mocks__/loadMinuteData.mock'
+import { loadMonthData } from 'tests/__mocks__/loadMonthData.mock'
+import { loadYearData } from 'tests/__mocks__/loadYearData.mock'
 import QueryRunner from './queryRunner.service'
 
 const unknownTimeStep = 99 as TimeStep
diff --git a/src/services/quiz.service.spec.ts b/src/services/quiz.service.spec.ts
index d9673eb4b..9e5e91850 100644
--- a/src/services/quiz.service.spec.ts
+++ b/src/services/quiz.service.spec.ts
@@ -19,8 +19,8 @@ import {
   fullMonthGraphData,
   graphData,
   graphMonthData,
-} from '../../tests/__mocks__/chartData.mock'
-import mockClient from '../../tests/__mocks__/client'
+} from 'tests/__mocks__/chartData.mock'
+import mockClient from 'tests/__mocks__/client'
 import {
   UserQuizDone,
   UserQuizReseted,
@@ -30,7 +30,7 @@ import {
   quizDefault,
   quizEntity,
   userQuiz,
-} from '../../tests/__mocks__/quizData.mock'
+} from 'tests/__mocks__/quizData.mock'
 import QuizService from './quiz.service'
 
 const localSpy = jest.spyOn(DateTime, 'local')
diff --git a/src/services/terms.service.spec.ts b/src/services/terms.service.spec.ts
index 2d6e2768a..08ba3d743 100644
--- a/src/services/terms.service.spec.ts
+++ b/src/services/terms.service.spec.ts
@@ -1,13 +1,13 @@
 import { QueryResult } from 'cozy-client'
 import { DateTime } from 'luxon'
 import { Term } from 'models'
-import mockClient from '../../tests/__mocks__/client'
-import mockConfig from '../../tests/__mocks__/mockConfig.mock'
+import mockClient from 'tests/__mocks__/client'
+import mockConfig from 'tests/__mocks__/mockConfig.mock'
 import {
   mockOutdatedTerm,
   mockTermsData,
   mockUpToDateTerm,
-} from '../../tests/__mocks__/termsData.mock'
+} from 'tests/__mocks__/termsData.mock'
 import TermsService from './terms.service'
 
 const localSpy = jest.spyOn(DateTime, 'local')
diff --git a/src/services/triggers.service.spec.ts b/src/services/triggers.service.spec.ts
index f4aabb01a..58b444dc7 100644
--- a/src/services/triggers.service.spec.ts
+++ b/src/services/triggers.service.spec.ts
@@ -1,10 +1,10 @@
 import { QueryResult } from 'cozy-client'
 import { Trigger, TriggerState } from 'models'
-import { accountsData } from '../../tests/__mocks__/accountsData.mock'
-import mockClient from '../../tests/__mocks__/client'
-import { konnectorsData } from '../../tests/__mocks__/konnectorsData.mock'
-import { triggersData } from '../../tests/__mocks__/triggersData.mock'
-import { triggerStateData } from '../../tests/__mocks__/triggerStateData.mock'
+import { accountsData } from 'tests/__mocks__/accountsData.mock'
+import mockClient from 'tests/__mocks__/client'
+import { konnectorsData } from 'tests/__mocks__/konnectorsData.mock'
+import { triggerStateData } from 'tests/__mocks__/triggerStateData.mock'
+import { triggersData } from 'tests/__mocks__/triggersData.mock'
 import TriggerService from './triggers.service'
 
 const mockCreateTrigger = jest.fn()
diff --git a/src/services/usageEvent.service.spec.ts b/src/services/usageEvent.service.spec.ts
index 3296cd2e5..64aa8e84f 100644
--- a/src/services/usageEvent.service.spec.ts
+++ b/src/services/usageEvent.service.spec.ts
@@ -2,7 +2,7 @@ import { QueryResult } from 'cozy-client'
 import { UsageEventType } from 'enums'
 import { DateTime } from 'luxon'
 import { AddEventParams, UsageEventEntity } from 'models'
-import mockClient from '../../tests/__mocks__/client'
+import mockClient from 'tests/__mocks__/client'
 import {
   allUsageEventsData,
   connectionAttemptEGLError,
@@ -11,7 +11,7 @@ import {
   connectionUsageEventsData,
   usageEventData,
   usageEventEntityData,
-} from '../../tests/__mocks__/usageEventsData.mock'
+} from 'tests/__mocks__/usageEventsData.mock'
 import UsageEventService from './usageEvent.service'
 
 const localSpy = jest.spyOn(DateTime, 'local')
diff --git a/src/store/analysis/analysis.slice.spec.ts b/src/store/analysis/analysis.slice.spec.ts
index cfe316189..8e8ac488e 100644
--- a/src/store/analysis/analysis.slice.spec.ts
+++ b/src/store/analysis/analysis.slice.spec.ts
@@ -1,5 +1,5 @@
 import { DateTime } from 'luxon'
-import { mockAnalysisState } from '../../../tests/__mocks__/store'
+import { mockAnalysisState } from 'tests/__mocks__/store'
 import { analysisSlice, setAnalysisMonth, setPeriod } from './analysis.slice'
 
 describe('analysis reducer', () => {
diff --git a/src/store/challenge/challenge.slice.spec.ts b/src/store/challenge/challenge.slice.spec.ts
index fe8d9a1ea..759c4c868 100644
--- a/src/store/challenge/challenge.slice.spec.ts
+++ b/src/store/challenge/challenge.slice.spec.ts
@@ -1,11 +1,11 @@
 import { DataloadState, UserChallengeState } from 'enums'
 import { DateTime } from 'luxon'
 import { ChallengeState, Dataload, UserChallenge } from 'models'
-import { mockChallengeState } from '../../../tests/__mocks__/store'
+import { mockChallengeState } from 'tests/__mocks__/store'
 import {
   userChallengeData,
   userChallengeDefault,
-} from '../../../tests/__mocks__/userChallengeData.mock'
+} from 'tests/__mocks__/userChallengeData.mock'
 import {
   challengeSlice,
   setChallengeConsumption,
diff --git a/src/store/chart/chart.slice.spec.ts b/src/store/chart/chart.slice.spec.ts
index 3bade62d1..e0d04f15c 100644
--- a/src/store/chart/chart.slice.spec.ts
+++ b/src/store/chart/chart.slice.spec.ts
@@ -1,7 +1,7 @@
 import { TimeStep } from 'enums'
 import { DateTime } from 'luxon'
-import { graphData } from '../../../tests/__mocks__/chartData.mock'
-import { mockChartState } from '../../../tests/__mocks__/store'
+import { graphData } from 'tests/__mocks__/chartData.mock'
+import { mockChartState } from 'tests/__mocks__/store'
 import {
   chartSlice,
   setCurrentDataChart,
diff --git a/src/store/global/global.slice.spec.ts b/src/store/global/global.slice.spec.ts
index 0d83f40b3..43f74e7bf 100644
--- a/src/store/global/global.slice.spec.ts
+++ b/src/store/global/global.slice.spec.ts
@@ -3,10 +3,10 @@ import { FluidSlugType, FluidState, FluidType, ScreenType, Usage } from 'enums'
 import { DateTime } from 'luxon'
 import { FluidStatus, PartnersInfo, TermsStatus } from 'models'
 import { SgeStore } from 'models/sgeStore.model'
-import { accountsData } from '../../../tests/__mocks__/accountsData.mock'
-import { konnectorsData } from '../../../tests/__mocks__/konnectorsData.mock'
-import { mockGlobalState } from '../../../tests/__mocks__/store'
-import { triggersData } from '../../../tests/__mocks__/triggersData.mock'
+import { accountsData } from 'tests/__mocks__/accountsData.mock'
+import { konnectorsData } from 'tests/__mocks__/konnectorsData.mock'
+import { mockGlobalState } from 'tests/__mocks__/store'
+import { triggersData } from 'tests/__mocks__/triggersData.mock'
 import {
   changeScreenType,
   globalSlice,
diff --git a/src/store/modal/modal.slice.spec.ts b/src/store/modal/modal.slice.spec.ts
index 8ba681d55..f9f98b9a3 100644
--- a/src/store/modal/modal.slice.spec.ts
+++ b/src/store/modal/modal.slice.spec.ts
@@ -1,6 +1,6 @@
 import { ModalState } from 'models'
-import { mockCustomPopup } from '../../../tests/__mocks__/customPopup.mock'
-import { mockModalState } from '../../../tests/__mocks__/store'
+import { mockCustomPopup } from 'tests/__mocks__/customPopup.mock'
+import { mockModalState } from 'tests/__mocks__/store'
 import {
   modalSlice,
   openConnectionModal,
diff --git a/src/store/profile/profile.action.spec.ts b/src/store/profile/profile.action.spec.ts
index bac7ff63c..3514e50ca 100644
--- a/src/store/profile/profile.action.spec.ts
+++ b/src/store/profile/profile.action.spec.ts
@@ -1,7 +1,4 @@
-import {
-  createMockEcolyoStore,
-  mockProfileState,
-} from '../../../tests/__mocks__/store'
+import { createMockEcolyoStore, mockProfileState } from 'tests/__mocks__/store'
 import { UPDATE_PROFILE, updateProfile } from './profile.actions'
 
 const mockUpdateProfile = jest.fn()
diff --git a/src/store/profile/profile.reducer.spec.ts b/src/store/profile/profile.reducer.spec.ts
index 7f3ef296d..637260069 100644
--- a/src/store/profile/profile.reducer.spec.ts
+++ b/src/store/profile/profile.reducer.spec.ts
@@ -1,5 +1,5 @@
 import { defaultAction } from 'store/store'
-import { mockProfileState } from '../../../tests/__mocks__/store'
+import { mockProfileState } from 'tests/__mocks__/store'
 import { UPDATE_PROFILE } from './profile.actions'
 import { profileReducer } from './profile.reducer'
 
diff --git a/src/store/profileEcogesture/profileEcogesture.action.spec.ts b/src/store/profileEcogesture/profileEcogesture.action.spec.ts
index 9b4a93ec5..45337183a 100644
--- a/src/store/profileEcogesture/profileEcogesture.action.spec.ts
+++ b/src/store/profileEcogesture/profileEcogesture.action.spec.ts
@@ -1,5 +1,5 @@
-import { mockProfileEcogesture } from '../../../tests/__mocks__/profileEcogesture.mock'
-import { createMockEcolyoStore } from '../../../tests/__mocks__/store'
+import { mockProfileEcogesture } from 'tests/__mocks__/profileEcogesture.mock'
+import { createMockEcolyoStore } from 'tests/__mocks__/store'
 import {
   UPDATE_PROFILE_ECOGESTURE,
   updateProfileEcogesture,
diff --git a/src/store/profileEcogesture/profileEcogesture.reducer.spec.ts b/src/store/profileEcogesture/profileEcogesture.reducer.spec.ts
index fad1d9947..bd6e46023 100644
--- a/src/store/profileEcogesture/profileEcogesture.reducer.spec.ts
+++ b/src/store/profileEcogesture/profileEcogesture.reducer.spec.ts
@@ -2,7 +2,7 @@ import { defaultAction } from 'store/store'
 import {
   mockProfileEcogesture,
   mockProfileEcogestureUpdated,
-} from '../../../tests/__mocks__/profileEcogesture.mock'
+} from 'tests/__mocks__/profileEcogesture.mock'
 import { UPDATE_PROFILE_ECOGESTURE } from './profileEcogesture.actions'
 import { profileEcogestureReducer } from './profileEcogesture.reducer'
 
diff --git a/src/store/profileType/profileType.slice.spec.ts b/src/store/profileType/profileType.slice.spec.ts
index c23f76d7e..d359df254 100644
--- a/src/store/profileType/profileType.slice.spec.ts
+++ b/src/store/profileType/profileType.slice.spec.ts
@@ -13,7 +13,7 @@ import {
 } from 'enums'
 import { DateTime } from 'luxon'
 import { ProfileType } from 'models'
-import { mockProfileTypeState } from '../../../tests/__mocks__/store'
+import { mockProfileTypeState } from 'tests/__mocks__/store'
 import { profileTypeSlice, setProfileType } from './profileType.slice'
 
 describe('profileType reducer', () => {
diff --git a/src/utils/date.spec.ts b/src/utils/date.spec.ts
index 9bed97a99..2e3d5ee8c 100644
--- a/src/utils/date.spec.ts
+++ b/src/utils/date.spec.ts
@@ -1,7 +1,7 @@
 import { FluidType, TimeStep } from 'enums'
 import { DateTime } from 'luxon'
 import { Dataload } from 'models'
-import { graphData } from '../../tests/__mocks__/chartData.mock'
+import { graphData } from 'tests/__mocks__/chartData.mock'
 import {
   compareDates,
   convertDateToMonthYearString,
diff --git a/src/utils/hash.spec.ts b/src/utils/hash.spec.ts
index bc97808de..0edc793c1 100644
--- a/src/utils/hash.spec.ts
+++ b/src/utils/hash.spec.ts
@@ -1,4 +1,4 @@
-import { mockedEcogesturesData } from '../../tests/__mocks__/ecogesturesData.mock'
+import { mockedEcogesturesData } from 'tests/__mocks__/ecogesturesData.mock'
 import { hashFile } from './hash'
 
 describe('hash utils test', () => {
diff --git a/tsconfig.json b/tsconfig.json
index 02ef50158..918223a92 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,7 +1,7 @@
 {
   "compilerOptions": {
     "target": "esnext",
-    "baseUrl": "src",
+    "baseUrl": ".",
     "allowJs": true,
     "skipLibCheck": true,
     "esModuleInterop": true,
@@ -16,7 +16,8 @@
     "jsx": "react",
     "lib": ["esnext", "dom"],
     "paths": {
-      "*": ["*", "../node_modules/*", "types/*"]
+      "tests/*": ["tests/*"],
+      "*": ["src/*", "../node_modules/*", "types/*"]
     }
   },
   "include": ["src/**/*", "tests/**/*"]
-- 
GitLab