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/ViewContainer/HomeViewContainer.tsx b/src/components/ContainerComponents/ViewContainer/HomeViewContainer.tsx
index faf1c232e716552d6db757bb2ae9a73c575346d1..daef70947a8b16fe7287479df7b3cd94ecff7e54 100644
--- a/src/components/ContainerComponents/ViewContainer/HomeViewContainer.tsx
+++ b/src/components/ContainerComponents/ViewContainer/HomeViewContainer.tsx
@@ -1,4 +1,4 @@
-import React, { useState, useContext } from 'react'
+import React, { useState, useContext, useEffect } from 'react'
 import StyledSpinner from 'components/CommonKit/Spinner/StyledSpinner'
 import CozyBar from 'components/ContainerComponents/CozyBar/CozyBar'
 import Header from 'components/ContainerComponents/Header/Header'
@@ -10,16 +10,38 @@ 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 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'
 
-const HomeViewContainer: React.FC = () => {
+interface HomeViewContainerProps {
+  t: Function
+  client: Client
+}
+
+const HomeViewContainer: React.FC = ({ t, client }: HomeViewContainerProps) => {
   const [timeStep, setTimeStep] = useState<TimeStep>(20)
   const [resetRefenceDate, setResetReferenceDate] = useState<boolean>(false)
   const { fluidTypes } = useContext(AppContext)
   const [headerHeight, setHeaderHeight] = useState<number>(0)
-
+  const [modalOpen, setModalOpen] = useState<boolean>(true)
   const [isChartLoading, setChartLoading] = useState<boolean>(true)
   const [isIndicatorsLoading, setIndicatorsLoading] = useState<boolean>(true)
 
+  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 setChartLoaded = () => {
     setChartLoading(false)
   }
@@ -42,8 +64,43 @@ const HomeViewContainer: React.FC = () => {
     setHeaderHeight(height)
   }
 
+  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-txt text-18-bold">
+          {t('COMMON.WELCOME_MODAL_PERSO')}
+        </div>
+        <div className="wm-txt text-18-bold">
+          {t('COMMON.WELCOME_MODAL_CONNECT')}
+        </div>
+        <StyledButton className="button-ok" onClick={handleCloseClick}>
+          {t('COMMON.WELCOME_MODAL_OK')}
+        </StyledButton>
+      </Modal>
       <CozyBar />
       {fluidTypes && fluidTypes.length > 0 ? (
         <>
@@ -91,4 +148,4 @@ const HomeViewContainer: React.FC = () => {
   )
 }
 
-export default HomeViewContainer
+export default translate()(withClient(HomeViewContainer))
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 eef1f870d1cf69daabef174c011661872d67c4e5..e102dff97f08065dc2417a029ab93a7cbd4f96a9 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..323ef0d13c6e62f56a579e34b7e91021ce977b40 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,21 @@
       align-items: center;
       color: $text-white;
     }
+    .wm-header {
+      background: $multi-color-radial-gradient;
+      background-clip: 'text';
+      -webkit-background-clip: text;
+      color: transparent;
+      margin: 2rem 0 1rem;
+    }
+    .button-ok {
+      width: 90%;
+      margin-bottom: 2rem;
+    }
+    .wm-txt {
+      text-align: center;
+      width: 88%;
+      margin: 1rem;
+    }
   }
 }