diff --git a/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx b/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx
index 39d009bc58f2c7eaa0a53e96f70791241017ebac..b2fe9942ce102237b1129f1c9d70afb935dd83e5 100644
--- a/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx
+++ b/src/components/ContainerComponents/ViewContainer/ParametersViewContainer.tsx
@@ -4,6 +4,7 @@ import Header from 'components/ContainerComponents/Header/Header'
 import Content from 'components/ContainerComponents/Content/Content'
 import KonnectorViewerContainer from 'components/ContainerComponents/KonnectorViewerContainer/KonnectorViewerContainer'
 import FAQContainer from 'components/ContainerComponents/FAQContainer/FAQContainer'
+import LegalContainer from 'components/ContainerComponents/LegalContainer/LegalContainer'
 
 const ParametersViewContainer: React.FC = () => {
   const [headerHeight, setHeaderHeight] = useState<number>(0)
@@ -20,6 +21,7 @@ const ParametersViewContainer: React.FC = () => {
       <Content height={headerHeight}>
         <FAQContainer />
         <KonnectorViewerContainer isParam={true} />
+        <LegalContainer />
       </Content>
     </React.Fragment>
   )
diff --git a/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx b/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx
index 84cc1c60d9d44afdb4f4450a578f5940fbeec313..c700cf5eb79198e2b6a9e274608a11ad628fc47c 100644
--- a/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx
+++ b/src/components/ContainerComponents/ViewContainer/ViewContainer.tsx
@@ -18,6 +18,7 @@ import OngoingChallengeDetailsViewContainer from './OngoingChallengeDetailsViewC
 import LockedChallengeDetailsViewContainer from './LockedChallengeDetailsViewContainer'
 import AvailableChallengeDetailsViewContainer from './AvailableChallengeDetailsViewContainer'
 import SplashContainer from 'components/ContainerComponents/SplashContainer/SplashContainer'
+import LegalViewContainer from './LegalViewContainer'
 
 export const history = createBrowserHistory()
 
@@ -103,6 +104,10 @@ export const ViewContainer = () => {
                           path={`${url}/FAQ`}
                           component={FAQViewContainer}
                         />
+                        <Route
+                          path={`${url}/legal`}
+                          component={LegalViewContainer}
+                        />
                         <Route
                           path={`${url}/`}
                           component={ParametersViewContainer}
diff --git a/src/components/ContentComponents/EcogestureCard/EcogestureCard.tsx b/src/components/ContentComponents/EcogestureCard/EcogestureCard.tsx
index f6ff64f40476cd6925470b88c75cb7c2893b39b4..b58c90f234a23eeddcffa7a88078277f443fdfa8 100644
--- a/src/components/ContentComponents/EcogestureCard/EcogestureCard.tsx
+++ b/src/components/ContentComponents/EcogestureCard/EcogestureCard.tsx
@@ -22,18 +22,27 @@ const EcogestureCard: React.FC<EcogestureCardProps> = ({
     handleClick && ecogesture ? handleClick(ecogesture) : null
   }
   const [ecogestureIcon, setEcogestureIcon] = useState(def)
+  const ecogestureIcons: any[] = []
 
   async function importEcogestureIcon(id: string) {
     // Les svg doivent être au format id.svg
     let importedEcogesture
+    let importedEcogestureBis
     try {
       importedEcogesture = await import(
         /* webpackMode: "eager" */ `assets/icons/visu/ecogesture/${id}.svg`
       )
+      importedEcogestureBis = await import(
+        /* webpackMode: "eager" */ `assets/icons/visu/ecogesture/${id}b.svg`
+      )
+      ecogestureIcons.push(importedEcogesture, importedEcogestureBis)
     } catch (e) {}
     if (importedEcogesture) {
       setEcogestureIcon(importedEcogesture.default)
     }
+    if (importedEcogestureBis) {
+      setEcogestureIcon(_.sample(ecogestureIcons).default)
+    }
   }
 
   useEffect(() => {
diff --git a/src/components/ContentComponents/EcogestureModal/EcogestureModal.tsx b/src/components/ContentComponents/EcogestureModal/EcogestureModal.tsx
index 635e1591259a1bee46c838e8952c4e887d34223a..609ca6262c27a758ec9023a125d45995bf250fa7 100644
--- a/src/components/ContentComponents/EcogestureModal/EcogestureModal.tsx
+++ b/src/components/ContentComponents/EcogestureModal/EcogestureModal.tsx
@@ -6,6 +6,7 @@ import { EcogestureType } from 'services/dataChallengeContracts'
 import StyledIcon from 'components/CommonKit/Icon/StyledIcon'
 import Icon from 'cozy-ui/react/Icon'
 import def from 'assets/icons/visu/ecogesture/default.svg'
+import _ from 'lodash'
 
 interface EcogestureModalProps {
   opened: boolean
@@ -24,18 +25,27 @@ const EcogestureModal: React.FC<EcogestureModalProps> = ({
   handleCloseClick,
 }: EcogestureModalProps) => {
   const [ecogestureIcon, setEcogestureIcon] = useState(def)
+  const ecogestureIcons: any[] = []
 
   async function importEcogestureIcon(id: string) {
     // Les svg doivent être au format id.svg
     let importedEcogesture
+    let importedEcogestureBis
     try {
       importedEcogesture = await import(
         /* webpackMode: "eager" */ `assets/icons/visu/ecogesture/${id}.svg`
       )
+      importedEcogestureBis = await import(
+        /* webpackMode: "eager" */ `assets/icons/visu/ecogesture/${id}b.svg`
+      )
+      ecogestureIcons.push(importedEcogesture, importedEcogestureBis)
     } catch (e) {}
     if (importedEcogesture) {
       setEcogestureIcon(importedEcogesture.default)
     }
+    if (importedEcogestureBis) {
+      setEcogestureIcon(_.sample(ecogestureIcons).default)
+    }
   }
 
   useEffect(() => {
diff --git a/src/locales/fr.json b/src/locales/fr.json
index 8b5f54211b16ef6d179818ce3c9c631215066cea..b8375f0d90585e76ddd56e7ddc7a88327f59cbda 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -31,6 +31,7 @@
     "YEARLY_FRENQUENCY": "annuel",
     "MINI_CARDS_LABEL": "AUTRES ENERGIES",
     "APP_FAQ_TITLE": "FAQ",
+    "APP_LEGAL_TITLE": "Mentions légales",
     "APP_NEW_CHALLENGE_TITLE": "Nouveau défi",
     "APP_LOCKED_CHALLENGE_TITLE": "Défi à débloquer",
     "APP_ONGOING_CHALLENGE_TITLE": "Défi en cours",
@@ -146,6 +147,10 @@
     "TITLE_FAQ": "Foire aux questions",
     "READ_FAQ": "Lire la FAQ"
   },
+  "LEGAL": {
+    "TITLE_LEGAL": "Mentions légales",
+    "READ_LEGAL": "Lire les mentions légales"
+  },
   "CHALLENGE": {
     "TITLE_CHALLENGE": "Defi",
     "NO_CHALLENGE": "Veuillez selectionner un defi",
@@ -192,40 +197,40 @@
       "WEAK": "1 nWh : économie faible"
     }
   },
-    "auth": {
+  "auth": {
     "enedis": {
       "connect": {
-        "info" : "En cliquant sur ce bouton, vous accéderez à votre compte Enedis. Vous pourrez donner votre accord pour récupérer vos données de consommation électriques dans votre cloud personnel",
+        "info": "En cliquant sur ce bouton, vous accéderez à votre compte Enedis. Vous pourrez donner votre accord pour récupérer vos données de consommation électriques dans votre cloud personnel",
         "label1": "J'accède à mon",
         "label2": "espace client Enedis"
       },
-      "no_account" : {
+      "no_account": {
         "title": "Pas de compte Enedis ?",
         "text": "Vous pouvez le créer en vous munissant d'une facture d'élétricité."
       },
-      "create_account":  "Je crée mon compte personnel Enedis"
+      "create_account": "Je crée mon compte personnel Enedis"
     },
-    "grdf" : {
+    "grdf": {
       "connect": {
         "label1": "Je me connecte à",
         "label2": "mon compte GRDF"
       },
-      "no_account" : {
+      "no_account": {
         "title": "Pas de compte GRDF ?",
         "text": "Vous pouvez le créer en vous munissant d'une facture de gaz."
       },
-      "create_account":  "Je crée mon compte GRDF"
+      "create_account": "Je crée mon compte GRDF"
     },
-    "egl" : {
+    "egl": {
       "connect": {
         "label1": "Je me connecte à",
         "label2": "mon compte Eau du Grand Lyon"
       },
-      "no_account" : {
+      "no_account": {
         "title": "Pas de compte Eau du Grand Lyon ?",
         "text": "Vous pouvez le créer en vous munissant d'une facture d'eau."
       },
-      "create_account":  "Je crée mon compte Eau du GL"
+      "create_account": "Je crée mon compte Eau du GL"
     }
   },
   "oauth": {
diff --git a/src/styles/index.scss b/src/styles/index.scss
index 79e0b9103d483cb5de60521f71f4276d6130e4f0..0545d607d34b96ae573444bcbd8e8eae554f9bfe 100644
--- a/src/styles/index.scss
+++ b/src/styles/index.scss
@@ -21,6 +21,7 @@
 @import 'components/ecogesture';
 @import 'components/modal';
 @import 'components/faq';
+@import 'components/legal';
 @import 'components/splash';
 @import 'components/auth';