diff --git a/src/components/FAQ/FAQContent.tsx b/src/components/FAQ/FAQContent.tsx
index 74d2220c27488b714b8af18f19c32881d2ac75f7..00365ad0267d8da743ea0cbd938bcb93a93ee64e 100644
--- a/src/components/FAQ/FAQContent.tsx
+++ b/src/components/FAQ/FAQContent.tsx
@@ -1,6 +1,6 @@
 import React, { useState } from 'react'
 import GenericExpansionPanel from 'components/CommonKit/ExpansionPanel/StyledSampleExpansionPanel'
-import FAQJSon from 'db/FAQ.json'
+import FAQJSon from 'constants/faq.json'
 import './faqContent.scss'
 
 const decoreText = (line: string) => {
diff --git a/src/components/Options/AnalysisOptions.tsx b/src/components/Options/AnalysisOptions.tsx
deleted file mode 100644
index 00c627f4af26c44836f1a1fdfa523136a6b722ea..0000000000000000000000000000000000000000
--- a/src/components/Options/AnalysisOptions.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-import React from 'react'
-import { useI18n } from 'cozy-ui/transpiled/react/I18n'
-import { useSelector, useDispatch } from 'react-redux'
-import { AppStore } from 'store'
-import { updateProfile } from 'store/profile/profile.actions'
-import './analysisOptions.scss'
-
-const AnalysisOptions: React.FC = () => {
-  const { t } = useI18n()
-  const dispatch = useDispatch()
-  const profile = useSelector((state: AppStore) => state.ecolyo.profile)
-
-  const updateProfileReport = async (value: boolean) => {
-    dispatch(updateProfile({ sendReportNotification: value }))
-  }
-
-  const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
-    e.target.value === 'true'
-      ? updateProfileReport(true)
-      : updateProfileReport(false)
-  }
-
-  return (
-    <div className="analysis-option-root">
-      <div className="analysis-option-content">
-        <div className="head text-14-normal-uppercase">
-          {t('PROFILE.ANALYSIS.TITLE')}
-        </div>
-        <form action="" className="radios">
-          <div className="input">
-            <input
-              id="monthly"
-              name="report"
-              type="radio"
-              value="true"
-              onChange={handleChange}
-              checked={
-                profile && profile.sendReportNotification === true
-                  ? true
-                  : false
-              }
-            ></input>
-            <label htmlFor="monthly"> {t('PROFILE.ANALYSIS.MONTHLY')}</label>
-          </div>
-          <div className="input">
-            <input
-              id="never"
-              name="report"
-              type="radio"
-              value="false"
-              onChange={handleChange}
-              checked={
-                profile && profile.sendReportNotification === false
-                  ? true
-                  : false
-              }
-            ></input>
-            <label htmlFor="never"> {t('PROFILE.ANALYSIS.NEVER')}</label>
-          </div>
-        </form>
-      </div>
-    </div>
-  )
-}
-
-export default AnalysisOptions
diff --git a/src/components/Options/OptionsView.tsx b/src/components/Options/OptionsView.tsx
index bceb2723f671bf2b8579b96a0339346ae6c53efb..e58f22d61b9a40c3bd04638138f120eeb62afe80 100644
--- a/src/components/Options/OptionsView.tsx
+++ b/src/components/Options/OptionsView.tsx
@@ -3,7 +3,7 @@ import CozyBar from 'components/Header/CozyBar'
 import Header from 'components/Header/Header'
 import Content from 'components/Content/Content'
 import KonnectorViewerList from 'components/Konnector/KonnectorViewerList'
-import AnalysisOptions from 'components/Options/AnalysisOptions'
+import ReportOptions from 'components/Options/ReportOptions'
 import FAQLink from 'components/FAQ/FAQLink'
 import LegalNoticeLink from 'components/LegalNotice/LegalNoticeLink'
 import Version from 'components/Version/Version'
@@ -29,7 +29,7 @@ const OptionsView: React.FC = () => {
       ></Header>
       <Content height={headerHeight}>
         <KonnectorViewerList isParam={true} />
-        <AnalysisOptions />
+        <ReportOptions />
         <ProfileTypeOptions />
         <FAQLink />
         <LegalNoticeLink />
diff --git a/src/components/Options/AnalysisOptions.spec.tsx b/src/components/Options/ReportOptions.spec.tsx
similarity index 61%
rename from src/components/Options/AnalysisOptions.spec.tsx
rename to src/components/Options/ReportOptions.spec.tsx
index 8ff833ad6dcba46257a30454f993cf1337430941..e5bdbfe4a1f6bfa17471bacd44ec3768e53313de 100644
--- a/src/components/Options/AnalysisOptions.spec.tsx
+++ b/src/components/Options/ReportOptions.spec.tsx
@@ -1,7 +1,7 @@
 import React from 'react'
 import { mount } from 'enzyme'
 import { Provider } from 'react-redux'
-import AnlysisOptions from 'components/Options/AnalysisOptions'
+import ReportOptions from 'components/Options/ReportOptions'
 import {
   createMockStore,
   mockInitialEcolyoState,
@@ -18,6 +18,15 @@ jest.mock('cozy-ui/transpiled/react/I18n', () => {
   }
 })
 
+const mockUpdateProfile = jest.fn()
+jest.mock('services/profile.service', () => {
+  return jest.fn(() => {
+    return {
+      updateProfile: mockUpdateProfile,
+    }
+  })
+})
+
 const updateProfileSpy = jest.spyOn(profileActions, 'updateProfile')
 
 describe('ReportOptions component', () => {
@@ -28,44 +37,34 @@ describe('ReportOptions component', () => {
     updateProfileSpy.mockClear()
   })
 
-  it('should be rendered with 2 inputs', () => {
+  it('should be rendered with sendReportNotification to false', () => {
     const wrapper = mount(
       <Provider store={store}>
-        <AnlysisOptions />
+        <ReportOptions />
       </Provider>
     )
-    expect(wrapper.find('input')).toHaveLength(2)
+    expect(wrapper.find('input')).toHaveLength(1)
+    expect(
+      wrapper
+        .find('#switch-report')
+        .first()
+        .props().checked
+    ).toBeFalsy()
   })
 
   it('should update the profile with sendReportNotification to true', () => {
     const wrapper = mount(
       <Provider store={store}>
-        <AnlysisOptions />
+        <ReportOptions />
       </Provider>
     )
     wrapper
-      .find('#monthly')
+      .find('#switch-report')
       .first()
-      .simulate('change', { target: { value: 'true' } })
+      .simulate('change', { target: { checked: 'true' } })
     expect(updateProfileSpy).toBeCalledTimes(1)
     expect(updateProfileSpy).toHaveBeenCalledWith({
       sendReportNotification: true,
     })
   })
-
-  it('should update the profile with sendReportNotification to false', () => {
-    const wrapper = mount(
-      <Provider store={store}>
-        <AnlysisOptions />
-      </Provider>
-    )
-    wrapper
-      .find('#monthly')
-      .first()
-      .simulate('change', { target: { value: 'false' } })
-    expect(updateProfileSpy).toBeCalledTimes(1)
-    expect(updateProfileSpy).toHaveBeenCalledWith({
-      sendReportNotification: false,
-    })
-  })
 })
diff --git a/src/components/Options/ReportOptions.tsx b/src/components/Options/ReportOptions.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..85abc687b7b4152ee7fdb88b4aac47cec3b6b7d3
--- /dev/null
+++ b/src/components/Options/ReportOptions.tsx
@@ -0,0 +1,47 @@
+import React from 'react'
+import { useI18n } from 'cozy-ui/transpiled/react/I18n'
+import { useSelector, useDispatch } from 'react-redux'
+import { AppStore } from 'store'
+import { updateProfile } from 'store/profile/profile.actions'
+import './reportOptions.scss'
+
+const ReportOptions: React.FC = () => {
+  const { t } = useI18n()
+  const dispatch = useDispatch()
+  const profile = useSelector((state: AppStore) => state.ecolyo.profile)
+
+  const updateProfileReport = async (value: boolean) => {
+    dispatch(updateProfile({ sendReportNotification: value }))
+  }
+
+  const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
+    e.target.checked ? updateProfileReport(true) : updateProfileReport(false)
+  }
+
+  return (
+    <div className="analysis-option-root">
+      <div className="analysis-option-content">
+        <div className="head text-16-normal-uppercase">
+          {t('PROFILE.ANALYSIS.TITLE')}
+        </div>
+        <div className="switch-container">
+          <label htmlFor="switch-report">
+            <input
+              type="checkbox"
+              id="switch-report"
+              name="switch-report"
+              checked={profile.sendReportNotification}
+              onChange={handleChange}
+            />
+            <span className="switch-slider"></span>
+          </label>
+          <div className="text-16-normal">
+            {t('PROFILE.ANALYSIS.SWITCH_LABEL')}
+          </div>
+        </div>
+      </div>
+    </div>
+  )
+}
+
+export default ReportOptions
diff --git a/src/components/Options/__snapshots__/OptionsView.spec.tsx.snap b/src/components/Options/__snapshots__/OptionsView.spec.tsx.snap
index 5780afa6178e7653c6ac25911217d0e0b985d232..c4d3156eabfca8d61fd3efe22b9c7db2b2f459f4 100644
--- a/src/components/Options/__snapshots__/OptionsView.spec.tsx.snap
+++ b/src/components/Options/__snapshots__/OptionsView.spec.tsx.snap
@@ -15,7 +15,7 @@ exports[`OptionsView component should be rendered correctly 1`] = `
     <KonnectorViewerList
       isParam={true}
     />
-    <AnalysisOptions />
+    <ReportOptions />
     <ProfileTypeOptions />
     <FAQLink />
     <LegalNoticeLink />
diff --git a/src/components/Options/analysisOptions.scss b/src/components/Options/analysisOptions.scss
deleted file mode 100644
index 99adef540e6945713a8c4a10911208235da15cb0..0000000000000000000000000000000000000000
--- a/src/components/Options/analysisOptions.scss
+++ /dev/null
@@ -1,63 +0,0 @@
-@import 'src/styles/base/color';
-@import 'src/styles/base/breakpoint';
-.analysis-option-root {
-  display: flex;
-  flex-direction: column;
-  align-items: center;
-  justify-content: center;
-  padding: 0 1.5rem;
-  .analysis-option-content {
-    width: 45.75rem;
-    @media #{$large-phone} {
-      width: 100%;
-    }
-  }
-  .head {
-    margin-top: 2rem;
-    color: $grey-bright;
-  }
-  .radios {
-    margin-top: 0.5rem;
-    .input {
-      padding: 0.5rem;
-      input[type='radio'] {
-        box-sizing: border-box;
-        -webkit-appearance: none;
-        outline: none;
-        border-radius: 50%;
-        position: relative;
-        top: 0.3rem;
-        width: 1.3rem;
-        height: 1.3rem;
-        border: 2px solid $soft-grey;
-        background: transparent;
-        &:after {
-          transition: all 300ms ease;
-          content: '';
-          border-radius: 50%;
-        }
-        &:checked {
-          & ~ label {
-            color: $grey-bright;
-          }
-          &:after {
-            content: '';
-            position: absolute;
-            top: -2px;
-            left: -2px;
-            box-sizing: border-box;
-            width: inherit;
-            height: inherit;
-            background-color: transparent;
-            border-radius: 50%;
-            border: 6px solid $gold-shadow;
-          }
-        }
-      }
-    }
-    label {
-      color: $soft-grey;
-      margin-left: 1rem;
-    }
-  }
-}
diff --git a/src/components/Options/reportOptions.scss b/src/components/Options/reportOptions.scss
new file mode 100644
index 0000000000000000000000000000000000000000..ffc6594980f36674399c351d347c3062efaee851
--- /dev/null
+++ b/src/components/Options/reportOptions.scss
@@ -0,0 +1,67 @@
+@import 'src/styles/base/color';
+@import 'src/styles/base/breakpoint';
+.analysis-option-root {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+  justify-content: center;
+  padding: 0 1.5rem;
+  .analysis-option-content {
+    width: 45.75rem;
+    @media #{$large-phone} {
+      width: 100%;
+    }
+  }
+  .head {
+    margin: 2rem 0 1rem;
+    color: $grey-bright;
+  }
+  .switch-container {
+    display: flex;
+    align-items: center;
+    color: $grey-bright;
+    label {
+      position: relative;
+      display: inline-block;
+      width: 34px;
+      height: 14px;
+      margin-right: 1rem;
+    }
+    input {
+      opacity: 0;
+      width: 0;
+      height: 0;
+      &:checked + .switch-slider {
+        background-color: $gold-shadow;
+      }
+      &:focus + .switch-slider {
+        box-shadow: 0 0 1px $gold-shadow;
+      }
+      &:checked + .switch-slider:before {
+        transform: translateX(19px);
+      }
+    }
+    .switch-slider {
+      position: absolute;
+      cursor: pointer;
+      top: 0;
+      left: 0;
+      right: 0;
+      bottom: 0;
+      background-color: $grey-dark;
+      transition: 0.4s;
+      border-radius: 34px;
+      &::before {
+        position: absolute;
+        content: '';
+        height: 20px;
+        width: 20px;
+        left: -3px;
+        bottom: -3px;
+        border-radius: 50%;
+        background-color: $grey-bright;
+        transition: 0.4s;
+      }
+    }
+  }
+}
diff --git a/src/components/ProfileType/ProfileTypeFormMultiChoice.tsx b/src/components/ProfileType/ProfileTypeFormMultiChoice.tsx
index 60ff6609caf94f75a16197172a25bc109c4a387e..1924a877d52b7955f3af21d9ddbda75375c98668 100644
--- a/src/components/ProfileType/ProfileTypeFormMultiChoice.tsx
+++ b/src/components/ProfileType/ProfileTypeFormMultiChoice.tsx
@@ -89,7 +89,9 @@ const ProfileTypeFormMultiChoice: React.FC<ProfileTypeFormMultiChoiceProps> = ({
             `profile_type.${ProfileTypeStepForm[step].toLowerCase()}.question`
           )}
         </div>
-        <span>{t('profile_type.multi_choices')}</span>
+        <span className="profile-question-hint">
+          {t('profile_type.multi_choices')}
+        </span>
         {answerType.choices.map(
           (value: ProfileTypeAnswerChoices, index: number) => {
             return value ? (
diff --git a/src/components/ProfileType/profileTypeForm.scss b/src/components/ProfileType/profileTypeForm.scss
index c7a487fadbe90a59c59f3f096b9f1fc28d8aaf5c..62dd76b00aca103ddb641f5004fc4bf21ef0ef11 100644
--- a/src/components/ProfileType/profileTypeForm.scss
+++ b/src/components/ProfileType/profileTypeForm.scss
@@ -13,19 +13,27 @@
   line-height: 150%;
   padding: 1rem 0;
 }
-
+.profile-question-hint {
+  font-size: 1rem;
+  color: $grey-bright;
+  display: block;
+  margin-bottom: 1rem;
+  font-style: italic;
+}
 .profile-question-answers {
   display: flex;
 }
-.profile-question-answers-radio-long  {
+.profile-question-answers-radio-long {
   flex-wrap: wrap;
 }
 
 .profile-question-answers-other {
   flex-direction: column;
 }
-.radio_short, .radio_long, .checkbox {
-  background: linear-gradient(180deg, #323339 0%, #25262B 100%);
+.radio_short,
+.radio_long,
+.checkbox {
+  background: linear-gradient(180deg, #323339 0%, #25262b 100%);
   box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.55);
   margin: 0.5rem 0;
   display: flex;
@@ -52,44 +60,52 @@
     border-radius: 1px;
   }
 }
-.radio_short, .checkbox {
-  padding: 1.2rem;   
-  border-radius: 4px; 
+.radio_short,
+.checkbox {
+  padding: 1.2rem;
+  border-radius: 4px;
 }
 .radio_long {
-  padding: .5rem 1rem;   
-  border-radius: 20px; 
+  padding: 0.5rem 1rem;
+  border-radius: 4px;
   text-align: center;
 }
 .answer-checked {
-  background: radial-gradient(105.25% 64.58% at 49.68% 70.83%, rgba(226, 137, 4, 0.5) 0%, rgba(255, 255, 255, 0) 100%), #F1C017;
+  background: radial-gradient(
+      105.25% 64.58% at 49.68% 70.83%,
+      rgba(226, 137, 4, 0.5) 0%,
+      rgba(255, 255, 255, 0) 100%
+    ),
+    #f1c017;
   color: $dark-light-2;
   input {
-    &:before, &:after {
-    content: '';
-    position: absolute;
-    display: inline-block;
-    background: $gold-shadow;
-    border-radius: 0.5rem;
-  }
-  &:before {
-    width: 3px;
-    height: 12px;
-    left: 10px;
-    top: 4px;
-    transform: rotate(41deg);
-  }
-  &:after {
-    width: 3px;
-    height: 6px;
-    left: 5px;
-    top: 8px;
-    transform: rotate(133deg);
+    &:before,
+    &:after {
+      content: '';
+      position: absolute;
+      display: inline-block;
+      background: $gold-shadow;
+      border-radius: 0.5rem;
+    }
+    &:before {
+      width: 3px;
+      height: 12px;
+      left: 10px;
+      top: 4px;
+      transform: rotate(41deg);
+    }
+    &:after {
+      width: 3px;
+      height: 6px;
+      left: 5px;
+      top: 8px;
+      transform: rotate(133deg);
+    }
   }
-  }  
 }
 
-.text, .number {
+.text,
+.number {
   font-size: 1.25rem;
   input {
     margin: 0.5rem;
@@ -124,9 +140,9 @@
   margin: 0.5rem;
 
   &:focus {
-    outline:none;
+    outline: none;
   }
 }
 button:disabled {
   opacity: 0.5;
-}
\ No newline at end of file
+}
diff --git a/src/constants/consumptionConstants/electricSpecific.json b/src/constants/consumptionConstants/electricSpecific.json
index 0e5bf5ddf7863ef29185716049e238993391b967..86968545b046c8466cde29e61440f29b08f56234 100644
--- a/src/constants/consumptionConstants/electricSpecific.json
+++ b/src/constants/consumptionConstants/electricSpecific.json
@@ -4,13 +4,15 @@
     "between_1948_and_1974": 3130,
     "between_1975_and_1989": 2900,
     "between_1990_and_1998": 3230,
-    "after_1999": 2900
+    "after_1999": 2900,
+    "unknown": 2900
   },
   "appartment": {
     "before_1948": 1120,
     "between_1948_and_1974": 1880,
     "between_1975_and_1989": 1780,
     "between_1990_and_1998": 1670,
-    "after_1999": 2060
+    "after_1999": 2060,
+    "unknown": 1780
   }
 }
diff --git a/src/constants/consumptionConstants/heating.json b/src/constants/consumptionConstants/heating.json
index 1bfd6996204431ddb5536bb03bd4b4860337cb98..a4c49b014fb37664d9edf0675f4d68e70e9aa15d 100644
--- a/src/constants/consumptionConstants/heating.json
+++ b/src/constants/consumptionConstants/heating.json
@@ -5,14 +5,16 @@
       "between_1948_and_1974": 184,
       "between_1975_and_1989": 140,
       "between_1990_and_1998": 129,
-      "after_1999": 106
+      "after_1999": 106,
+      "unknown": 140
     },
     "appartment": {
       "before_1948": 119,
       "between_1948_and_1974": 150,
       "between_1975_and_1989": 105,
       "between_1990_and_1998": 73,
-      "after_1999": 74
+      "after_1999": 74,
+      "unknown": 105
     }
   },
   "adjustment_outisde_facing_walls": {
@@ -87,6 +89,16 @@
       "window_replacement_and_roof_insulation": 0,
       "roof_and_wall_insulation": 0,
       "window_replacement_and_roof_and_wall_insulation": 0
+    },
+    "unknown": {
+      "none": 0,
+      "roof_insulation": 0,
+      "window_replacement": -0.06,
+      "wall_insulation": -0.2,
+      "window_replacement_and_wall_insulation": -0.25,
+      "window_replacement_and_roof_insulation": -0.07,
+      "roof_and_wall_insulation": -0.2,
+      "window_replacement_and_roof_and_wall_insulation": -0.25
     }
   },
   "adjustment_facilities": {
diff --git a/src/db/FAQ.json b/src/constants/faq.json
similarity index 100%
rename from src/db/FAQ.json
rename to src/constants/faq.json
diff --git a/src/db/enedisDayView.json b/src/db/enedisDayView.json
deleted file mode 100644
index fca136ec71a08bfd0a55b46dddd377d0397aa08e..0000000000000000000000000000000000000000
--- a/src/db/enedisDayView.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "_id": "_design/day",
-  "views": {
-    "sumLoad": {
-      "map": "function(doc) { emit(doc.time, doc.load) }",
-      "reduce": "function (keys, values) {  var sum = 0; for (i in values) { sum += values[i]; } return sum; }"
-    }
-  },
-  "language": "javascript"
-}
diff --git a/src/enum/profileType.enum.ts b/src/enum/profileType.enum.ts
index be91724175e06405f086cc525586bf83f623cd2c..76b288f4292631fceb458b71828fe8baf43f1ca5 100644
--- a/src/enum/profileType.enum.ts
+++ b/src/enum/profileType.enum.ts
@@ -22,6 +22,7 @@ export enum ConstructionYear {
   BETWEEN_1975_AND_1989 = 'between_1975_and_1989',
   BETWEEN_1990_AND_1998 = 'between_1990_and_1998',
   AFTER_1999 = 'after_1999',
+  UNKNOWN = 'unknown',
 }
 
 export enum IndividualOrCollective {
diff --git a/src/lib/.gitignore b/src/lib/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/src/locales/fr.json b/src/locales/fr.json
index f2d387967c058e236918f06924f94bf50a19f1d6..20882eb5e9c0add4c285d8c0d5031aab8a9cce94 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -125,10 +125,8 @@
   },
   "PROFILE": {
     "ANALYSIS": {
-      "TITLE": "Être notifié de l'arrivée de l'analyse mensuel",
-      "WEEKLY": "Hebdomadaire",
-      "MONTHLY": "Mensuel",
-      "NEVER": "Jamais"
+      "TITLE": "Notification par mail",
+      "SWITCH_LABEL": "Être prévenu de la parution de mon bilan mensuel"
     }
   },
   "KONNECTORCONFIG": {
@@ -437,7 +435,8 @@
       "between_1948_and_1974": "Entre 1975 et 1989",
       "between_1975_and_1989": "Entre 1975 et 1989",
       "between_1990_and_1998": "Entre 1990 et 1998",
-      "after_1999": "Après 1999"
+      "after_1999": "Après 1999",
+      "unknown": "Je ne sais pas"
     },
     "occupantsNumber": {
       "single": " occupant",
@@ -458,7 +457,11 @@
       "text": {
         "single": " façade donne sur l'extérieur",
         "multi": " façades donnent sur l'extérieur"
-      }
+      },
+      "1": "1 façade",
+      "2": "2 façades",
+      "3": "3 façades",
+      "4": "4 façades"
     },
     "floor": {
       "title": "Étage",
@@ -492,7 +495,7 @@
     },
     "ventilation": {
       "title": "Ventilation double flux",
-      "question": "Etes-vous équipé d'une ventialtion double flux ?",
+      "question": "Etes-vous équipé d'une ventilation double flux ?",
       "yes": "Oui",
       "no": "Non",
       "unknown": "Je ne sais pas",
diff --git a/src/services/mail.service.spec.ts b/src/services/mail.service.spec.ts
index 34150672274a13a74bb505ea3d2f4ead1652b79f..448226be623b3a0bf4f4cdab14a7e4d19a1ae4f8 100644
--- a/src/services/mail.service.spec.ts
+++ b/src/services/mail.service.spec.ts
@@ -92,7 +92,7 @@ describe('Mail service', () => {
   })
 
   describe('CreateBodyMonthlyReport service', () => {
-    it('should return body mail with the right values when url is different from bilan', () => {
+    it('should return body mail with the right values when url is different from analysis', () => {
       const result: string = mailService.CreateBodyMonthlyReport(
         'user',
         'https://user-ecolyo.test.com'
@@ -100,7 +100,7 @@ describe('Mail service', () => {
       expect(result).toEqual(expect.stringContaining('Bonjour user'))
       expect(result).toEqual(
         expect.stringContaining(
-          '<a class="btnEcolyo" href="https://user-ecolyo.test.com/#/bilan">'
+          '<a class="btnEcolyo" href="https://user-ecolyo.test.com/#/analysis">'
         )
       )
       expect(result).toEqual(
@@ -110,15 +110,15 @@ describe('Mail service', () => {
       )
     })
 
-    it('should return body mail with the right values when url is equals to bilan', () => {
+    it('should return body mail with the right values when url is equals to analysis', () => {
       const result: string = mailService.CreateBodyMonthlyReport(
         'user',
-        'https://user-ecolyo.test.com/#/bilan'
+        'https://user-ecolyo.test.com/#/analysis'
       )
       expect(result).toEqual(expect.stringContaining('Bonjour user'))
       expect(result).toEqual(
         expect.stringContaining(
-          '<a class="btnEcolyo" href="https://user-ecolyo.test.com/#/bilan">'
+          '<a class="btnEcolyo" href="https://user-ecolyo.test.com/#/analysis">'
         )
       )
       expect(result).toEqual(
diff --git a/src/services/mail.service.ts b/src/services/mail.service.ts
index 1eb375c4a2239f309ef093b210db0cbeff787b6f..7488881d9e955f9f98e8b04a209c1acd940d84e4 100644
--- a/src/services/mail.service.ts
+++ b/src/services/mail.service.ts
@@ -412,17 +412,17 @@ export default class MailService {
   }
   public CreateBodyMonthlyReport(username: string, clientUrl: string) {
     let unsubscibeUrl = clientUrl
-    if (!clientUrl.includes('bilan')) {
+    if (!clientUrl.includes('analysis')) {
       unsubscibeUrl = clientUrl + '/#/options'
-      clientUrl = clientUrl + '/#/bilan'
+      clientUrl = clientUrl + '/#/analysis'
     } else {
-      unsubscibeUrl = clientUrl.replace('bilan', 'options')
+      unsubscibeUrl = clientUrl.replace('analysis', 'options')
     }
     return `
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
   <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
-      <title>Votre bilan hebdomadaire</title>
+      <title>Votre bilan mensuel</title>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       <meta name="viewport" content="width=device-width, initial-scale=1.0" />
       <style type="text/css">
@@ -583,7 +583,7 @@ export default class MailService {
                                     <tbody>
                                     <tr>
                                       <td class="title">
-                                        <h2>Bilan Mensuel</h2>
+                                        <h2>Du nouveau dans votre espace Ecolyo !</h2>
                                       </td>
                                     </tr>
                                     </tbody>
@@ -643,7 +643,10 @@ export default class MailService {
                                         style="color:#FFFFFF; font-size:16px;"
                                         >
                                         <p>
-                                          votre bilan mensuel est disponible sur votre espace Ecolyo. 
+                                          Le bilan de vos consommations du mois dernier est prêt !
+                                        </p>
+                                        <p>
+                                          Retrouvez-le dans le menu Analyse du service.
                                         </p>
                                       </div>
                                     </td>
diff --git a/src/services/profileType.service.ts b/src/services/profileType.service.ts
index 3a9cf3f90427bc3aa827ba2607cd5b0badefced1..756b76654c8436a3afa372dd0acae96dd4c2dab4 100644
--- a/src/services/profileType.service.ts
+++ b/src/services/profileType.service.ts
@@ -591,9 +591,9 @@ export default class ProfileTypeService {
         }
       case ProfileTypeStepForm.OUTSIDE_FACING_WALLS:
         return {
-          type: ProfileTypeFormType.NUMBER_SELECTION,
+          type: ProfileTypeFormType.SINGLE_CHOICE,
           attribute: 'outsideFacingWalls',
-          choices: [1, 2, 3, 4],
+          choices: Object.values(OutsideFacingWalls),
         }
       case ProfileTypeStepForm.FLOOR:
         return {
diff --git a/test/__mocks__/profileType.mock.ts b/test/__mocks__/profileType.mock.ts
index 6c8d1907ad3eb766b30548a89ab147db563c8723..7fcdccf9c0c67a3ac35f798fa4d9e4b5d251c807 100644
--- a/test/__mocks__/profileType.mock.ts
+++ b/test/__mocks__/profileType.mock.ts
@@ -299,9 +299,9 @@ export const mockProfileTypeAnswers: ProfileTypeAnswer[] = [
     choices: Object.values(ConstructionYear),
   },
   {
-    type: ProfileTypeFormType.NUMBER_SELECTION,
+    type: ProfileTypeFormType.SINGLE_CHOICE,
     attribute: 'outsideFacingWalls',
-    choices: [1, 2, 3, 4],
+    choices: Object.values(OutsideFacingWalls),
   },
   {
     type: ProfileTypeFormType.SINGLE_CHOICE,