diff --git a/package.json b/package.json
index 4484c8f6ccec779e13fb4e00d22afeaa15d38af1..185c02638ea36c04302c32e9e579fc16d2f4f5ce 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,7 @@
     "build": "yarn run build:css && yarn run build:browser",
     "release": "standard-version --no-verify",
     "winstack": "start powershell -command docker run --rm -it -p 8080:8080 -p 5984:5984 -p 8025:8025 -v $PWD/build:/data/cozy-app/ecolyo -v $PWD/data/konnectors_sources/:/data/cozy_konnectors/ -v $PWD/data:/usr/local/couchdb/data -v $PWD/docker/disableCSP.yaml:/etc/cozy/cozy.yaml registry.forge.grandlyon.com/web-et-numerique/llle_project/ecolyo/cozy-env",
-    "linuxstack": "docker run --rm -it -p 8080:8080 -p 5984:5984 -p 8025:8025 -v $(pwd)/build:/data/cozy-app/ecolyo -v ~/cozy/data/db/konnectors_sources/:/data/cozy_konnectors/ -v ~/cozy/data/db:/usr/local/couchdb/data -v ~/cozy/data/storage:/data/cozy-storage -v $(pwd)/docker/disableCSP.yaml:/etc/cozy/cozy.yaml registry.forge.grandlyon.com/web-et-numerique/llle_project/ecolyo/cozy-env",
+    "linuxstack": "docker run --rm -it -p 8080:8080 -p 5984:5984 -p 8025:8025 -v $(pwd)/build:/data/cozy-app/ecolyo -v ~/cozy/data/db/konnectors_sources/:/data/cozy_konnectors/ -v ~/cozy/data/db:/usr/local/couchdb/data -v ~/cozy/data/storage:/data/cozy-storage -v $(pwd)/docker/disableCSP.yaml:/etc/cozy/cozy.yaml 5fdc0725024f",
     "load-data": "cd test && importData.bat"
   },
   "repository": {
diff --git a/src/components/CommonKit/Modal/Modal.tsx b/src/components/CommonKit/Modal/Modal.tsx
index ae0432779c7c0f019e123de0f2564be1bdd8db89..8a8fa49da4ac2e5d5f30897ef9cbb3313f9ba1e2 100644
--- a/src/components/CommonKit/Modal/Modal.tsx
+++ b/src/components/CommonKit/Modal/Modal.tsx
@@ -7,6 +7,7 @@ interface ModalProps {
   border?: boolean
   handleCloseClick: () => void
   children: ReactNode
+  yellowBorder?: string
 }
 
 const Modal: React.FC<ModalProps> = ({
@@ -14,10 +15,15 @@ const Modal: React.FC<ModalProps> = ({
   border,
   handleCloseClick,
   children,
+  yellowBorder,
 }: ModalProps) => {
   return (
     <div className={`modal-overlay ${open ? 'modal-opened' : ''}`}>
-      <div className={`modal-box ${border ? 'modal-box-bordered' : ''}`}>
+      <div
+        className={`modal-box ${
+          border ? 'modal-box-bordered' : ''
+        }${yellowBorder}`}
+      >
         <StyledIconButton
           className="modal-close-button"
           icon={CloseIcon}
diff --git a/src/components/ContainerComponents/IndicatorsContainer/IndicatorContainerSwitcher.tsx b/src/components/ContainerComponents/IndicatorsContainer/IndicatorContainerSwitcher.tsx
index db0cab397cd8cd0a6a02942097f9948cf4c8abe7..1c742ebe59155530163b1fff4cebe848432e1262 100644
--- a/src/components/ContainerComponents/IndicatorsContainer/IndicatorContainerSwitcher.tsx
+++ b/src/components/ContainerComponents/IndicatorsContainer/IndicatorContainerSwitcher.tsx
@@ -24,6 +24,7 @@ const IndicatorContainerSwitcher: React.FC<IndicatorContainerSwitcherProps> = ({
   const appContext = useContext(AppContext)
   const allConfiguredFluidTypes = appContext.fluidTypes
   const fluidConfig = new FluidConfigService().getFluidConfig()
+
   return (
     <div>
       {fluidConfig.map((fluid, index) => {
@@ -37,7 +38,10 @@ const IndicatorContainerSwitcher: React.FC<IndicatorContainerSwitcherProps> = ({
               timeStep
             )}
           />
-        ) : (
+        ) : null
+      })}
+      {fluidConfig.map((fluid, index) => {
+        return allConfiguredFluidTypes.includes(fluid.fluidTypeId) ? null : (
           <KonnectorViewer key={index} fluidConfig={fluid} />
         )
       })}
diff --git a/src/components/ContainerComponents/ViewContainer/AvailableChallengeDetailsViewContainer.tsx b/src/components/ContainerComponents/ViewContainer/AvailableChallengeDetailsViewContainer.tsx
index 6197d6774d9d17c93736019c1ac1cc7250ad79a1..4167ee49f1cb88cf9bdb4897a842b51d3ea96e41 100644
--- a/src/components/ContainerComponents/ViewContainer/AvailableChallengeDetailsViewContainer.tsx
+++ b/src/components/ContainerComponents/ViewContainer/AvailableChallengeDetailsViewContainer.tsx
@@ -10,8 +10,6 @@ import { Redirect } from 'react-router-dom'
 import StyledSpinner from 'components/CommonKit/Spinner/StyledSpinner'
 import StyledIconButton from 'components/CommonKit/IconButton/StyledIconButton'
 import AvailableChallengeIcon from 'assets/icons/badges/available-big.svg'
-import EcogestureModal from 'components/ContentComponents/EcogestureModal/EcogestureModal'
-import EcogestureCard from 'components/ContentComponents/EcogestureCard/EcogestureCard'
 import ChallengeManager from 'services/challengeDataManagerService'
 import { Client, withClient } from 'cozy-client'
 import StyledButtonValid from 'components/CommonKit/Button/StyledButtonValid'
diff --git a/src/components/ContainerComponents/ViewContainer/HomeViewContainer.tsx b/src/components/ContainerComponents/ViewContainer/HomeViewContainer.tsx
index faf1c232e716552d6db757bb2ae9a73c575346d1..7638dde51c84f966405a193ddf609fac5c78c705 100644
--- a/src/components/ContainerComponents/ViewContainer/HomeViewContainer.tsx
+++ b/src/components/ContainerComponents/ViewContainer/HomeViewContainer.tsx
@@ -10,13 +10,13 @@ import { AppContext } from 'components/Contexts/AppContextProvider'
 import MultliFluidIndicatorsContainer from 'components/ContainerComponents/IndicatorsContainer/MultiFluidIndicatorsContainer'
 import ChallengeCardContainer from 'components/ContainerComponents/ChallengeCardContainer/ChallengeCardContainer'
 import KonnectorViewerContainer from 'components/ContainerComponents/KonnectorViewerContainer/KonnectorViewerContainer'
+import WelcomeModalContainer from '../WelcomeModalContainer/WelcomeModalContainer'
 
 const HomeViewContainer: React.FC = () => {
   const [timeStep, setTimeStep] = useState<TimeStep>(20)
   const [resetRefenceDate, setResetReferenceDate] = useState<boolean>(false)
   const { fluidTypes } = useContext(AppContext)
   const [headerHeight, setHeaderHeight] = useState<number>(0)
-
   const [isChartLoading, setChartLoading] = useState<boolean>(true)
   const [isIndicatorsLoading, setIndicatorsLoading] = useState<boolean>(true)
 
@@ -44,6 +44,7 @@ const HomeViewContainer: React.FC = () => {
 
   return (
     <React.Fragment>
+      <WelcomeModalContainer />
       <CozyBar />
       {fluidTypes && fluidTypes.length > 0 ? (
         <>
diff --git a/src/components/ContainerComponents/WelcomeModalContainer/WelcomeModalContainer.tsx b/src/components/ContainerComponents/WelcomeModalContainer/WelcomeModalContainer.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..dae75ee79225167822c7389288722a7974ad71a1
--- /dev/null
+++ b/src/components/ContainerComponents/WelcomeModalContainer/WelcomeModalContainer.tsx
@@ -0,0 +1,78 @@
+import React, { useState, useEffect } from 'react'
+import Modal from 'components/CommonKit/Modal/Modal'
+import StyledButton from 'components/CommonKit/Button/StyledButton'
+import { translate } from 'cozy-ui/react/I18n'
+import { withClient, Client } from 'cozy-client'
+import { USERPROFILE_DOCTYPE } from 'doctypes'
+import useInstanceSettings from 'components/Hooks/userInstanceSettings'
+
+interface WelcomeModalContainerProps {
+  t: Function
+  client: Client
+}
+
+const WelcomeModalContainer: React.FC<WelcomeModalContainerProps> = ({
+  t,
+  client,
+}: WelcomeModalContainerProps) => {
+  const [modalOpen, setModalOpen] = useState<boolean>(true)
+
+  const { data: instanceSettings } = useInstanceSettings(client)
+
+  async function updateWelcomeModalState() {
+    await client
+      .query(client.find(USERPROFILE_DOCTYPE).limitBy(1))
+      .then(async ({ data }) => {
+        const doc = data[0]
+        await client.save({
+          ...doc,
+          haveSeenWelcomeModal: true,
+        })
+      })
+  }
+
+  const handleCloseClick = () => {
+    setModalOpen(false)
+    updateWelcomeModalState()
+  }
+
+  useEffect(() => {
+    async function getWelcomeModalState() {
+      await client
+        .query(client.find(USERPROFILE_DOCTYPE).limitBy(1))
+        .then(async ({ data }) => {
+          const welcomeModalState = data[0].haveSeenWelcomeModal
+          setModalOpen(!welcomeModalState)
+        })
+    }
+    getWelcomeModalState()
+  }, [])
+
+  return (
+    <React.Fragment>
+      <Modal
+        open={modalOpen}
+        handleCloseClick={handleCloseClick}
+        yellowBorder="yellow-border"
+      >
+        <div className="wm-header text-24-bold">
+          {t('COMMON.WELCOME_MODAL_TITLE')}
+        </div>
+        <div className="wm-name text-24-bold">
+          {instanceSettings.public_name} !
+        </div>
+        <div className="wm-perso text-18-bold">
+          {t('COMMON.WELCOME_MODAL_PERSO')}
+        </div>
+        <div className="wm-connect text-18-bold">
+          {t('COMMON.WELCOME_MODAL_CONNECT')}
+        </div>
+        <StyledButton className="button-ok" onClick={handleCloseClick}>
+          {t('COMMON.WELCOME_MODAL_OK')}
+        </StyledButton>
+      </Modal>
+    </React.Fragment>
+  )
+}
+
+export default translate()(withClient(WelcomeModalContainer))
diff --git a/src/components/ContentComponents/KonnectorViewer/KonnectorViewerList.tsx b/src/components/ContentComponents/KonnectorViewer/KonnectorViewerList.tsx
index 749f19b188e747a7869f954ac3f18c93834858d9..d6b486250c6bb554542fefabb2ae47f4cc339a03 100644
--- a/src/components/ContentComponents/KonnectorViewer/KonnectorViewerList.tsx
+++ b/src/components/ContentComponents/KonnectorViewer/KonnectorViewerList.tsx
@@ -1,6 +1,7 @@
-import React from 'react'
+import React, { useContext } from 'react'
 import KonnectorViewer from 'components/ContentComponents/KonnectorViewer/KonnectorViewer'
 import IFluidConfig from 'services/IFluidConfig'
+import { AppContext } from 'components/Contexts/AppContextProvider'
 
 export interface KonnectorViewerListProps {
   isParam: boolean
@@ -11,10 +12,16 @@ const KonnectorViewerList: React.FC<KonnectorViewerListProps> = ({
   isParam = false,
   fluidConfigs,
 }: KonnectorViewerListProps) => {
+  const { fluidTypes } = useContext(AppContext)
   return (
     <div>
       {fluidConfigs.map((item: IFluidConfig, index: number) => {
-        return (
+        return fluidTypes.includes(item.fluidTypeId) ? (
+          <KonnectorViewer isParam={isParam} key={index} fluidConfig={item} />
+        ) : null
+      })}
+      {fluidConfigs.map((item: IFluidConfig, index: number) => {
+        return fluidTypes.includes(item.fluidTypeId) ? null : (
           <KonnectorViewer isParam={isParam} key={index} fluidConfig={item} />
         )
       })}
diff --git a/src/db/userProfileData.json b/src/db/userProfileData.json
index 0f70e192add0bb98384bbc7886b428eb2e06f2c1..c6c09dabefa0f1c01399fb3da6cfffae6d935b62 100644
--- a/src/db/userProfileData.json
+++ b/src/db/userProfileData.json
@@ -2,6 +2,7 @@
   {
     "level": 1,
     "challengeTypeHash": "",
-    "ecogestureHash": ""
+    "ecogestureHash": "",
+    "haveSeenWelcomeModal": false
   }
 ]
diff --git a/src/locales/en.json b/src/locales/en.json
index 85fbb46a6ec07c9d11717813ec1fd8332709014b..8f90c311f7835ae7b2c01ee6d62cab01b35852ab 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -34,7 +34,11 @@
     "APP_NEW_CHALLENGE_TITLE": "Nouveau défi",
     "APP_LOCKED_CHALLENGE_TITLE": "Défi à débloquer",
     "APP_ONGOING_CHALLENGE_TITLE": "Défi en cours",
-    "APP_FINISHED_CHALLENGE_TITLE": "Défi terminé"
+    "APP_FINISHED_CHALLENGE_TITLE": "Défi terminé",
+    "WELCOME_MODAL_TITLE": "Félicitations",
+    "WELCOME_MODAL_PERSO": "Votre espace personnel a bien été créé.",
+    "WELCOME_MODAL_CONNECT": "Vous pouvez maintenant connecter vos compteurs d’énergie à Ecolyo en toute sécurité.",
+    "WELCOME_MODAL_OK": "Ok"
   },
   "LOADING": {
     "INDEX": "Vérification des données",
diff --git a/src/styles/base/_color.scss b/src/styles/base/_color.scss
index bb06be05a3e2f0b3875808a3aa1c978bdf0719ac..3fd5c7ad2066febce2af07814c9633e94a268fc9 100644
--- a/src/styles/base/_color.scss
+++ b/src/styles/base/_color.scss
@@ -33,6 +33,7 @@ $red-no-data: #d24444;
 
 /** YELLOW **/
 $gold: #b2901b;
+$gold-40: rgba(227, 184, 42, 0.4);
 $gold-light: #deaf0e;
 $gold-shadow: #e3b82a;
 
diff --git a/src/styles/components/_modal.scss b/src/styles/components/_modal.scss
index 49cae038dd39a9ad0f76c4fed1563dc9d0bf0d7e..72ec865ef3aefd4bbac2aeb1a4c037f50511375a 100644
--- a/src/styles/components/_modal.scss
+++ b/src/styles/components/_modal.scss
@@ -36,7 +36,10 @@
     box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.55);
     border-radius: 4px;
     &.modal-box-bordered {
-      border: 1px solid $blue-40
+      border: 1px solid $blue-40;
+    }
+    &.yellow-border {
+      border: 1px solid $gold-40;
     }
     .modal-close-button {
       position: absolute;
@@ -50,5 +53,33 @@
       align-items: center;
       color: $text-white;
     }
+    .wm-header {
+      background: $multi-color-radial-gradient;
+      background-clip: 'text';
+      -webkit-background-clip: text;
+      color: transparent;
+      margin-top: 2rem;
+    }
+    .wm-name {
+      background: $multi-color-radial-gradient;
+      background-clip: 'text';
+      -webkit-background-clip: text;
+      color: transparent;
+      margin-bottom: 1.25rem;
+    }
+    .button-ok {
+      width: 90%;
+      margin-bottom: 2rem;
+    }
+    .wm-perso {
+      text-align: center;
+      width: 60%;
+      margin: 1rem;
+    }
+    .wm-connect {
+      text-align: center;
+      width: 88%;
+      margin: 1rem;
+    }
   }
 }