diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 0000000000000000000000000000000000000000..2e1fa2d52e12f690ce40ac89f77912faba0f993d
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1 @@
+*.md
\ No newline at end of file
diff --git a/README.md b/README.md
index 8deb2af337986c414e0099ad2e5de02a5ee8d155..ee9feb336195afa851199999b8ed5f8d67cdf8ab 100644
--- a/README.md
+++ b/README.md
@@ -2,10 +2,10 @@
 
 ## Commands
 
-* `py -m pip install mkdocs` - Install mkdocs
-* `mkdocs serve` - Start the live-reloading docs server.
-* `mkdocs build` - Build the documentation site.
-* `mkdocs help` - Print this help message.
+- `py -m pip install mkdocs` - Install mkdocs
+- `mkdocs serve` - Start the live-reloading docs server.
+- `mkdocs build` - Build the documentation site.
+- `mkdocs help` - Print this help message.
 
 ## Mkdocs packages
 
@@ -13,96 +13,98 @@
     py -m pip install plantuml-markdown
 
 ## Setting files hierarchy
+
     inside mkdocs.yml, configure the md files hierarchy
 
 nav:
-  - Home: index.md
-  - Easy Cozy:
-      - Configuration: easycozy/config.md
-      - Commands: easycozy/commands.md
-      - Known errors: easycozy/known_errors.md
-      - Scripts: easycozy/scripts.md
-      - Tips: easycozy/tips.md
-  - Ecolyo:
-      - Introduction: ecolyo/index.md
-      - Getting started:
-          - Setup your environment: ecolyo/getting_started/setup_your_environment.md
-          - Launch the application on local: ecolyo/getting_started/launch_local_application.md
-          - Launch a konnector on local: ecolyo/getting_started/launch_local_konnector.md
-      - Project Architecture:
-          - Architecture: ecolyo/project_architecture/architecture.md
-          - Libraries: ecolyo/project_architecture/libraries.md
-          - Environments: ecolyo/project_architecture/environments.md
-          - DocTypes: ecolyo/project_architecture/doctypes.md
-          - Remote DocTypes: ecolyo/project_architecture/remote_doctypes.md
-      - Application:
-          - Description: ecolyo/application/description.md
-          - Redux: ecolyo/application/redux.md
-          - Scaffolding: ecolyo/application/scaffolding.md
-          - Services: ecolyo/application/services.md
-          - Gitflow: ecolyo/application/gitflow.md
-          - Deploy: ecolyo/application/deploy.md
-          - Mail: ecolyo/application/mail.md
-      - Services: 
-          - Description: ecolyo/services/index.md
-          - Monthly report notification: ecolyo/services/monthly_report_notification.md
-          - Aggregator usage events: ecolyo/services/aggregator_usage_events.md
-          - Consumption Alert: ecolyo/services/consumption_alert.md
-      - Functionalities:
-          - Initialization: ecolyo/functionalities/initialization.md
-          - Consumption: ecolyo/functionalities/consumption.md
-          - Ecogesture: ecolyo/functionalities/ecogesture.md
-          - Challenge: ecolyo/functionalities/challenge.md
-          - Profile Type: ecolyo/functionalities/profile_type.md
-          - Analysis: ecolyo/functionalities/analysis.md
-          - Usage events tracking: ecolyo/functionalities/usage_events_tracking.md
-  - Pilote:
-      - Pilote - TS - Back:
-          - Index: pilote/Pilote - TS - Back/index.md
-          - Application:
-              - Deploy: pilote/Pilote - TS - Back/application/deploy.md
-          - Functionalities:
-              - Routes: pilote/Pilote - TS - Back/functionalities/routes.md
-          - Getting Started:
-              - Launch the application on local: pilote/Pilote - TS - Back/getting_started/launch_local_application.md
-              - Setup your environment: pilote/Pilote - TS - Back/getting_started/setup_your_environment.md
-          - Project Architecture: pilote/Pilote - TS - Back/project_architecture/architecture.md
-      - Pilote - TS - Front:
-          - Index: pilote/Pilote - TS - Front/index.md
-          - Application:
-              - Deploy: pilote/Pilote - TS - Front/application/deploy.md
-          - Functionalities:
-              - Routes: pilote/Pilote - TS - Front/functionalities/functions.md
-          - Getting Started:
-              - Launch the application on local: pilote/Pilote - TS - Front/getting_started/launch_local_application.md
-      - Pilote - Usager:
-          - Application:
-              - Deploy: pilote/Pilote - Usager/application/deploy.md
-              - Doctypes: pilote/Pilote - Usager/application/doctypes.md
-              - Gitflow: pilote/Pilote - Usager/application/gitflow.md
-              - Scaffolding: pilote/Pilote - Usager/application/scaffolding.md
-              - Services: pilote/Pilote - Usager/application/services.md
-              - Store: pilote/Pilote - Usager/application/store.md
-          - Functionalities:
-              - Appointments: pilote/Pilote - Usager/functionalities/appointments.md
-              - Contact: pilote/Pilote - Usager/functionalities/contact.md
-              - Document: pilote/Pilote - Usager/functionalities/document.md
-              - Settings: pilote/Pilote - Usager/functionalities/setting.md
-          - Getting Started:
-              - Launch local doctypes: pilote/Pilote - Usager/getting_started/launch_local_doctypes.md
-              - Launch local services: pilote/Pilote - Usager/getting_started/launch_local_services.md
-  - Konnectors:
-      - Introduction: konnectors/index.md
-      - Enedis: konnectors/enedis.md
-      - GRDF: konnectors/grdf.md
-      - Eau du Grand Lyon: konnectors/egl.md
-  - Proxy:
-      - Description: proxy/description.md
-      - Monitoring: proxy/monitoring.md
-      - Use cases:
-          - Enedis: proxy/use_cases/enedis.md
-          - Grdf Adict: proxy/use_cases/grdfadict.md
 
+- Home: index.md
+- Easy Cozy:
+  - Configuration: easycozy/config.md
+  - Commands: easycozy/commands.md
+  - Known errors: easycozy/known_errors.md
+  - Scripts: easycozy/scripts.md
+  - Tips: easycozy/tips.md
+- Ecolyo:
+  - Introduction: ecolyo/index.md
+  - Getting started:
+    - Setup your environment: ecolyo/getting_started/setup_your_environment.md
+    - Launch the application on local: ecolyo/getting_started/launch_local_application.md
+    - Launch a konnector on local: ecolyo/getting_started/launch_local_konnector.md
+  - Project Architecture:
+    - Architecture: ecolyo/project_architecture/architecture.md
+    - Libraries: ecolyo/project_architecture/libraries.md
+    - Environments: ecolyo/project_architecture/environments.md
+    - DocTypes: ecolyo/project_architecture/doctypes.md
+    - Remote DocTypes: ecolyo/project_architecture/remote_doctypes.md
+  - Application:
+    - Description: ecolyo/application/description.md
+    - Redux: ecolyo/application/redux.md
+    - Scaffolding: ecolyo/application/scaffolding.md
+    - Services: ecolyo/application/services.md
+    - Gitflow: ecolyo/application/gitflow.md
+    - Deploy: ecolyo/application/deploy.md
+    - Mail: ecolyo/application/mail.md
+  - Services:
+    - Description: ecolyo/services/index.md
+    - Monthly report notification: ecolyo/services/monthly_report_notification.md
+    - Aggregator usage events: ecolyo/services/aggregator_usage_events.md
+    - Consumption Alert: ecolyo/services/consumption_alert.md
+  - Functionalities:
+    - Initialization: ecolyo/functionalities/initialization.md
+    - Onboarding: ecolyo/functionalities/onboarding.md
+    - Consumption: ecolyo/functionalities/consumption.md
+    - Ecogesture: ecolyo/functionalities/ecogesture.md
+    - Challenge: ecolyo/functionalities/challenge.md
+    - Profile Type: ecolyo/functionalities/profile_type.md
+    - Analysis: ecolyo/functionalities/analysis.md
+    - Usage events tracking: ecolyo/functionalities/usage_events_tracking.md
+- Pilote:
+  - Pilote - TS - Back:
+    - Index: pilote/Pilote - TS - Back/index.md
+    - Application:
+      - Deploy: pilote/Pilote - TS - Back/application/deploy.md
+    - Functionalities:
+      - Routes: pilote/Pilote - TS - Back/functionalities/routes.md
+    - Getting Started:
+      - Launch the application on local: pilote/Pilote - TS - Back/getting_started/launch_local_application.md
+      - Setup your environment: pilote/Pilote - TS - Back/getting_started/setup_your_environment.md
+    - Project Architecture: pilote/Pilote - TS - Back/project_architecture/architecture.md
+  - Pilote - TS - Front:
+    - Index: pilote/Pilote - TS - Front/index.md
+    - Application:
+      - Deploy: pilote/Pilote - TS - Front/application/deploy.md
+    - Functionalities:
+      - Routes: pilote/Pilote - TS - Front/functionalities/functions.md
+    - Getting Started:
+      - Launch the application on local: pilote/Pilote - TS - Front/getting_started/launch_local_application.md
+  - Pilote - Usager:
+    - Application:
+      - Deploy: pilote/Pilote - Usager/application/deploy.md
+      - Doctypes: pilote/Pilote - Usager/application/doctypes.md
+      - Gitflow: pilote/Pilote - Usager/application/gitflow.md
+      - Scaffolding: pilote/Pilote - Usager/application/scaffolding.md
+      - Services: pilote/Pilote - Usager/application/services.md
+      - Store: pilote/Pilote - Usager/application/store.md
+    - Functionalities:
+      - Appointments: pilote/Pilote - Usager/functionalities/appointments.md
+      - Contact: pilote/Pilote - Usager/functionalities/contact.md
+      - Document: pilote/Pilote - Usager/functionalities/document.md
+      - Settings: pilote/Pilote - Usager/functionalities/setting.md
+    - Getting Started:
+      - Launch local doctypes: pilote/Pilote - Usager/getting_started/launch_local_doctypes.md
+      - Launch local services: pilote/Pilote - Usager/getting_started/launch_local_services.md
+- Konnectors:
+  - Introduction: konnectors/index.md
+  - Enedis: konnectors/enedis.md
+  - GRDF: konnectors/grdf.md
+  - Eau du Grand Lyon: konnectors/egl.md
+- Proxy:
+  - Description: proxy/description.md
+  - Monitoring: proxy/monitoring.md
+  - Use cases:
+    - Enedis: proxy/use_cases/enedis.md
+    - Grdf Adict: proxy/use_cases/grdfadict.md
 
 ## Project layout
 
diff --git a/docs/easycozy/commands.md b/docs/easycozy/commands.md
index ac3da7766bacfc5360f171366cdd92e783e5b084..5988bdca3d8fb7286685ecbe14f585632e84fe7d 100644
--- a/docs/easycozy/commands.md
+++ b/docs/easycozy/commands.md
@@ -51,6 +51,13 @@ $ cd /root/easy-cozy
 $ docker-compose exec cozy ./cozy instances debug --domain "[name].cozy.self-data.alpha.grandlyon.com" true
 ```
 
+### List all instances
+
+```bash
+$ cd /root/easy-cozy
+# cozy-stack instances ls
+$ docker-compose exec cozy ./cozy instances ls
+```
 
 ## Stack
 
diff --git a/docs/easycozy/config.md b/docs/easycozy/config.md
index 0a525cad7e8f16377ace179d4f7327f47f325c06..8f2bf2ebda6c3713094786bc3053d629cf4ec20c 100644
--- a/docs/easycozy/config.md
+++ b/docs/easycozy/config.md
@@ -4,13 +4,10 @@ This section includes all configurations available for the stack.
 
 ## Configuration File
 
-The configuration file of the stack is located at `.easy-cozy/cozystack/cozy.yml`. It can be edit in order to changes various parameters, smtp, logs ...
-
+The stack's configuration file is located at `.easy-cozy/cozystack/cozy.yml`. It can be edited in order to changes various parameters, smtp, logs ...
 ## SMTP
 
-### Install a specific version of an app
-
-Modif the `cozy.yml` responsible for the configuration :
+Modify the `cozy.yml` responsible for the configuration :
 
 ```yml
 mail:
@@ -32,13 +29,13 @@ mail:
   skip_certificate_validation: false
 ```
 
-According to cozy-stack issue: https://github.com/cozy/cozy-stack/issues/2009 you might need to change above configuration with :
-
+!!! warning "known issue"
+    A known cozy-stack issue: [here](https://github.com/cozy/cozy-stack/issues/2009) causes you to have to above configuration with:
 ```yml
 mail:
   # mail smtp port - flags: --mail-port
   port: 587
-  # disable mail tls - flags: --mail-disable-tls
+  # disable mail tls - flags: --mail-disable-tls  
   disable_tls: true
 ```
 
diff --git a/docs/easycozy/known_errors.md b/docs/easycozy/known_errors.md
index bdf141b21c39ff2938254a450416733a870695da..cf56c48b888f2bea0423c2a85b3f26607f7b9d05 100644
--- a/docs/easycozy/known_errors.md
+++ b/docs/easycozy/known_errors.md
@@ -1,10 +1,10 @@
 # Oops...
 
-Sometime the stack is stuck when we reset several instances due to rabbit mq process. The following screen is then obtain when trying to access to an instance:
+Sometime the stack get stucks when we reset several instances, overflowing our message broker rabbitmq. The following screen is then obtained when trying to access an instance:
 ![oops_error](/img/known_errors/oops_error.png)
 
 On the server, we can see that the server is underwater by using "top" command:
 ![oops_error_1](/img/known_errors/oops_error_1.png)
 
-To fix the issue you can just restart the service on the server with "docker-compose down / docker-compose up -d" in the easy-cozy folder:
+To fix this issue, just restart the service on the server with "docker-compose down / docker-compose up -d" in the easy-cozy folder:
 ![oops_error_2](/img/known_errors/oops_error_2.png)
\ No newline at end of file
diff --git a/docs/easycozy/scripts.md b/docs/easycozy/scripts.md
index 91766c9b973179cb552a8cceaf41e8d3fabafae7..4de6b61b2c6e1d2a556de70de411791dc82b43fd 100644
--- a/docs/easycozy/scripts.md
+++ b/docs/easycozy/scripts.md
@@ -5,7 +5,7 @@ Easy cozy project comes with 2 main scripts:
 - create-instance.sh: used to create an instance for a user
 - remove-instance.sh: used to remove an instance for a specific user
 
-In addition of these scripts we have added custom scripts for some specific needs. All these scripts are available in the "admin_scripts" folder
+In addition of these scripts we have added custom scripts for some specific needs. All these scripts are available in the "ecolyo-infa-scripts/admin_scripts" folder
 
 ## Scripts for instances
 
diff --git a/docs/ecolyo/application/redux.md b/docs/ecolyo/application/redux.md
index 8a04bd6182048f5b4606f960bb4287781ecd6c03..438e463c4956b24289dc4a6cb956a9747836d569 100644
--- a/docs/ecolyo/application/redux.md
+++ b/docs/ecolyo/application/redux.md
@@ -12,7 +12,9 @@ For a better state management, combineReducers(reducers) is used to split the re
 | Reducer   | Type           | Description                                                                                                                                                                                                                                                                                                                                                                    |
 | --------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
 | global    | GlobalState    | store global states such as: notification, type device or fluid type<br><br>GlobalState enum<br>- _screenType = ScreenType_<br>- _challengeExplorationNotification = boolean_<br>_releaseNotes = ReleaseNotes_<br>_termsStatus = TermsStatus_<br>_openPartnersIssueModal = boolean_<br>- _challengeActionNotification = boolean_<br>- _challengeDuelNotification = boolean_<br>- _analysisNotification = boolean_<br>- _fluidStatus = FluidStatus[]_<br>- _fluidTypes = FluidType[]_ |
-| profile   | Profile        | store states about profile information such as: notification, connectionDate, profileType                                                                                                                                                                                                                                                                                      |
+| profile   | Profile        | store states about profile information such as: notification, connectionDate 
+| profileType   | ProfileTypeState        | store states about user's profileType filled through the profile form 
+| profileEcogesture   | ProfileEcogestureState        | store states about user's profileEcogesture filled through the profile ecogesture form
 | chart     | ChartState     | store consumption chart states such as: timeStep, graph data<br><br>ChartState enum<br>- _selectedDate = DateTime_<br>- _currentTimeStep = TimeStep_<br>- _currentIndex = number_<br>- _currentDatachart = Datachart_<br>- _currentDatachartIndex = number_<br>- _loading = boolean_                                                                                           |
 | modal     | ModalState     | store opening state of the feedback modal <br><br>ModalState enum<br>- _isFeedbacksOpen = boolean_                                                                                                                                                                                                                                                                             |
 | challenge | ChallengeState | store challenge state such as: list of user challenge, data load and current challenge <br><br>ChallengeState enum<br>- _userChallengeList = UserChallenge[]_<br>- _currentChallenge = UserChallenge_<br>- _currentDataload = Dataload[]_                                                                                                                                      |
diff --git a/docs/ecolyo/application/scaffolding.md b/docs/ecolyo/application/scaffolding.md
index 0110961c29e93a6c2f64e8e316ca275c26959a41..e2267cd24a8751f1ca000f447b73ed8816df4210 100644
--- a/docs/ecolyo/application/scaffolding.md
+++ b/docs/ecolyo/application/scaffolding.md
@@ -14,11 +14,14 @@ In this section, you will find information about the project file structure and
 | doctypes             | This folder contains the **cozy** doctypes, you can see more on [Cozy Documentation](https://github.com/cozy/cozy-doctypes)                                                                                                                                                                                 |
 | enum                 | This folder contains all enums like Fluid types, Screen types, and Timesteps.                                                                                                                                                                                                                               |
 | locales              | This folder contains JSON data used by the translation system i18n provided by [Cozy-ui](https://github.com/cozy/cozy-ui)                                                                                                                                                                                   |
+| migrations           | This folder contains all migrations
 | models               | This folder contains all models                                                                                                                                                                                                                                                                             |
+| notifications        | This folder contains all mail notifications                                                                                                                                                                                                                                                                     |
 | services             | This folder contains all the services                                                                                                                                                                                                                                 |
 | store                | This folder contains all actions and reducers classified by component                                                                                                                                                                                                                                       |
 | styles               | The styles folder you'll find a **base** folder that contains our variables and a **components** folder that contains components styles                                                                                                                                                                     |
 | targets              |
+| types                |
 | utils                | In this folder you'll find utilitaries methods                                                                                                                                                                                                                                                              |
 
 ##Configuration Files
diff --git a/docs/ecolyo/ecolyo-agent/development/backup.md b/docs/ecolyo/ecolyo-agent/development/backup.md
index 1752221cfb84b7fdf0b1b29f7ea05bfd2974b34c..26410239bc3845860abd5d3eee91746417519b99 100644
--- a/docs/ecolyo/ecolyo-agent/development/backup.md
+++ b/docs/ecolyo/ecolyo-agent/development/backup.md
@@ -13,7 +13,7 @@ The location of the backup folder on the server is specified in the volumes of t
 To backup manually, run this command : 
 
 ```
-docker exec -it backoffice-client_database-backup_1 sh /etc/cron.d/restore.sh ecolyo-agent-YEAR-MONTH-DAY-HOUR-MINUTE-SECOND
+docker exec -it ecolyo-agent_database-backup_1 sh /etc/cron.d/backup.sh
 ```
 
 ## Restore manually
@@ -21,5 +21,5 @@ docker exec -it backoffice-client_database-backup_1 sh /etc/cron.d/restore.sh ec
 To restore a specific dump, run this command replacing YEAR etc.. by the date of the wanted backup :
 
 ```
-docker exec -it backoffice-client_database-backup_1 sh /etc/cron.d/restore.sh ecolyo-agent-YEAR-MONTH-DAY-HOUR-MINUTE-SECOND
+docker exec -it ecolyo-agent_database-backup_1 sh /etc/cron.d/restore.sh ecolyo-agent-YEAR-MONTH-DAY-HOUR-MINUTE-SECOND
 ```
\ No newline at end of file
diff --git a/docs/ecolyo/ecolyo-agent/development/deploy.md b/docs/ecolyo/ecolyo-agent/development/deploy.md
index 3c88e3af82565c692997af24c2d1e687a403570a..ee836ece245c9839819b459765eb80b4100f7044 100644
--- a/docs/ecolyo/ecolyo-agent/development/deploy.md
+++ b/docs/ecolyo/ecolyo-agent/development/deploy.md
@@ -28,7 +28,7 @@ services:
       - 3306:3306
     networks:
       backoffice:
-    restart: unless-stopped
+    restart: always
     environment:
       MYSQL_ROOT_PASSWORD: ${DATABASE_PASSWORD}
       MYSQL_DATABASE: ${DATABASE_NAME}
@@ -38,20 +38,34 @@ services:
       timeout: 10s
       retries: 60
 
+  database-backup:
+    image: registry.forge.grandlyon.com/web-et-numerique/llle_project/backoffice-server:db-backup
+    networks:
+      backoffice:
+    environment:
+      MYSQL_ROOT_PASSWORD: ${DATABASE_PASSWORD}
+      MYSQL_DATABASE: ${DATABASE_NAME}
+    volumes:
+      - /mnt/local/data/backup:/backup
+    restart: unless-stopped
+    depends_on:
+      database-agent:
+        condition: service_healthy
+  
   backend:
     image: registry.forge.grandlyon.com/web-et-numerique/llle_project/backoffice-server:dev
     networks:
       backoffice:
     depends_on:
       database-agent:
-        condition: service_healthy
+       condition: service_healthy
     restart: unless-stopped
     volumes:
       - /etc/localtime:/etc/localtime:ro
       - ./configs:/app/configs
       - ./letsencrypt_cache:/app/letsencrypt_cache
       - ./data:/app/data
-      - ./image-lib/${IMAGE_FOLDER}:/app/${IMAGE_FOLDER}
+      - ./${IMAGE_FOLDER}:/app/${IMAGE_FOLDER}
     ports:
       - ${HTTPS_PORT}:${HTTPS_PORT}
       - 8190:8090
@@ -72,7 +86,6 @@ services:
       - DATABASE_NAME=${DATABASE_NAME}
       - DATABASE_PASSWORD=${DATABASE_PASSWORD}
       - DATABASE_HOST=database-agent
-
 networks:
   backoffice:
 ```
@@ -81,44 +94,44 @@ networks:
 
 ```
 server {
-    listen 8080;
-    server_name ecolyo-agent-rec.grandlyon.com;
-    location / { 
-        root /usr/share/nginx/html;
-        index index.html index.htm;
-        try_files $uri $uri/ /index.html =404;
-    }
-    location /api {
-        proxy_pass https://backend:1443/api;
-    }
-    location /OAuth2Login {
-        proxy_pass https://backend:1443/OAuth2Login;
-    }
-    location /OAuth2Callback {
-        proxy_pass https://backend:1443/OAuth2Callback;
-    }
-    location /Logout {
-        proxy_pass https://backend:1443/Logout;
-    }
-    location /swagger {
-        proxy_pass https://backend:1443/swagger;
-    }
-    location /imageNames {
-        proxy_pass https://backend:1443/api/admin/imageNames;
-    }
-    # cozy-doctypes workaround
-    location /email {
-        #  if ($arg_serviceName != overview) { return 404; } if ($arg_param !~ "^\d+$") { return 404; } if ($arg_serviceName ="image") { rewrite ^ /usr/share/nginx/html/lib/$arg_param? permanent;
-        #}
-        proxy_pass https://backend:1443/api/common/monthlyReport/$arg_param;
-        # rewrite ^ /usr/share/nginx/html/lib/$arg_param? permanent;
-    }
-    location ~ ^/assets/(.+\.(?:gif|jpe?g|svg|png))$ {
-        alias /usr/share/nginx/html/lib/$1;
-        gzip_static on;
-        expires max;
-        add_header Cache-Control public;
-    }
+        listen 8080;
+        server_name ecolyo-agent.grandlyon.com;
+        location / {
+                root /usr/share/nginx/html;
+                index index.html index.htm;
+                try_files $uri $uri/ /index.html =404;
+        }
+        location /api {
+                proxy_pass https://backend:1443/api;
+        }
+        location /OAuth2Login {
+                proxy_pass https://backend:1443/OAuth2Login;
+        }
+        location /OAuth2Callback {
+                proxy_pass https://backend:1443/OAuth2Callback;
+        }
+        location /Logout {
+                proxy_pass https://backend:1443/Logout;
+        }
+        location /swagger {
+                proxy_pass https://backend:1443/swagger;
+        }
+        location /imageNames {
+                proxy_pass https://backend:1443/api/admin/imageNames;
+        }
+        # cozy-doctypes workaround
+        location /email {
+            #  if ($arg_serviceName != overview) { return 404; } if ($arg_param !~ "^\d+$") { return 404; } if ($arg_serviceName = "image") { rewrite ^ /usr/share/nginx/html/lib/$arg_param? permanent;
+            #}
+            proxy_pass https://backend:1443/api/common/monthlyReport/$arg_param;
+            # rewrite ^ /usr/share/nginx/html/lib/$arg_param? permanent;
+        }
+        location ~ ^/assets/(.+\.(?:gif|jpe?g|svg|png))$ {
+                alias /usr/share/nginx/html/lib/$1;
+                gzip_static on;
+                expires max;
+                add_header Cache-Control public;
+        }
 }
 ```
 
@@ -141,7 +154,7 @@ ADMIN_ROLE=******
 DEBUG_MODE=false
 MOCK_OAUTH2=false
 HTTPS_PORT=1443
-IMAGE_FOLDER=ecogesture
+IMAGE_FOLDER=image-lib
 
 # Needed to user OAuth2 authentication :
 REDIRECT_URL=https://${HOSTNAME}:443/OAuth2Callback
diff --git a/docs/ecolyo/ecolyo-agent/development/handle_assets.md b/docs/ecolyo/ecolyo-agent/development/handle_assets.md
index f5d875609b0f25932abc6e8f7a46502ac99bd46c..047c620b28015174216247598f07e9136ff32fab 100644
--- a/docs/ecolyo/ecolyo-agent/development/handle_assets.md
+++ b/docs/ecolyo/ecolyo-agent/development/handle_assets.md
@@ -1,42 +1,47 @@
 This section will allow you to import the assets used in the newletters from Ecolyo
 
-## Export assets
-
-In Ecolyo project, open a terminal in "/src/assets" folder and run 
-```
-docker build . -t registry.forge.grandlyon.com/web-et-numerique/llle_project/backoffice-client:assets
-docker push registry.forge.grandlyon.com/web-et-numerique/llle_project/backoffice-client:assets
-```
-This will create a small docker image containing all the images needed, converted in png format, and push it to the container registry in the backoffice-client repository.
 
 ## Import assets
 
-In the rec or prod server, create a import_assets.sh file and add execution permission. 
+In the rec or prod server, in the folder ```scripts```, there is the following script, named ```import-convert-assets.sh``` . 
 
-Copy the following content, replacing USERNAME and PASSWORD by the project access token
-```
+```bash
 #!/bin/bash
 
-#Login and pull assets container image
-docker login -u USERNAME -p PASSWORD https://registry.forge.grandlyon.com/v2/web-et-numerique/llle_project/backoffice-client
-docker pull registry.forge.grandlyon.com/web-et-numerique/llle_project/backoffice-client:assets
-
-# Instanciate container
-docker rm assets
-docker run --name assets -it registry.forge.grandlyon.com/web-et-numerique/llle_project/backoffice-client:assets sh
-
-# Copy files
-sudo rm -rf ../image-lib
-sudo docker cp assets:/image-lib ../image-lib
-
-# Give permission to the container user
-sudo chown -R 1000:1000 ../image-lib
+# Get env variables
+. ../.env
+EMAIL_ASSETS_PATH="src/assets/icons/email"
+ECOGESTURE_ASSETS_PATH="src/assets/icons/visu/ecogesture"
+EXPORT_FORMAT=".png"
+pwd=$(pwd)
+
+# Fetch and convert email assets
+curl "https://forge.grandlyon.com/api/v4/projects/409/repository/archive?path=${EMAIL_ASSETS_PATH}" --output email.tar.gz
+tar -xf email.tar.gz
+cd *-email/$EMAIL_ASSETS_PATH && for file in *.svg; do inkscape -h 200 -w 200 -e $(echo "$file" | sed "s/.svg/$EXPORT_FORMAT/") $file; done && rm *.svg
+cd $pwd
+
+# Fetch and convert ecogesture assets
+curl "https://forge.grandlyon.com/api/v4/projects/409/repository/archive?path=$ECOGESTURE_ASSETS_PATH" --output ecogesture.tar.gz
+tar -xf ecogesture.tar.gz
+cd *-ecogesture/$ECOGESTURE_ASSETS_PATH && for file in *.svg; do inkscape -h 200 -w 200 -e $(echo "$file" | sed "s/.svg/$EXPORT_FORMAT/") ${file}; done && rm *.svg
+
+# Cleanup
+cd $pwd
+rm -rf ../$IMAGE_FOLDER
+mv *-email/$EMAIL_ASSETS_PATH ../$IMAGE_FOLDER
+mv *-ecogesture/$ECOGESTURE_ASSETS_PATH ../$IMAGE_FOLDER/ecogesture
+rm -rf email.tar.gz ecogesture.tar.gz *-email *-ecogesture
+
+# Give ownership to container user
+chown -R 1000:1000 ../$IMAGE_FOLDER
 ```
 
-To import assets for the ecogesture images, run
+To import assets for the ecogesture images, run  (inside of ```scripts``` folder)
 ```
-sudo sh scripts/import_assets.sh
+sudo sh import-convert-assets.sh
 ```
 
-Check that a "image-lib" folder has been created, that it contains a "ecogesture" folder and some images and that the owner of the "image-lib" folder is the user id 1000.
+
+Check that a "image-lib" folder has been created, that it contains a "ecogesture" folder and some PNG images and that the owner of the "image-lib" folder is the user id 1000.
 
diff --git a/docs/ecolyo/ecolyo-agent/functionalities/general.md b/docs/ecolyo/ecolyo-agent/functionalities/general.md
index 0241c922581d121737c3220a3f4d7a92f60d16a7..19db4081a7e48306457c70be55e87cf75df38c38 100644
--- a/docs/ecolyo/ecolyo-agent/functionalities/general.md
+++ b/docs/ecolyo/ecolyo-agent/functionalities/general.md
@@ -1,13 +1,35 @@
 # Introduction
 
+## Newsletter
 The goal is to send newsletters following this design :
 
 ![Architecture principles](/img/ecolyo-agent/newsletter-template.png)
 
-There are 3 different sections :
+There are 4 different sections :
+
+- subject : manages the mail subject
 
 - monthlyInfo : contains a image URL and some global information
 
 - monthlyNews : contains an editable title and some information about the novelties
 
-- poll : contains a question and a link to answer a survey
\ No newline at end of file
+- poll : contains a question and a link to answer a survey
+
+## Partners issues
+
+This section allow the admin to activate alerts in the ecolyo app when a partners API is down.
+Admin has to activate the modal switch AND at least one fluid switch to make it work. He also has to set the switches to off position manually when the concerned APIs are back to normal
+
+## Prices
+
+This section manages the prices for each fluid in the ecolyo application.
+
+### Rules
+
+- The next price to create is automatically pre-selected by default
+- Only the 2 last prices plus the one to create are editable, the others are just consultable
+- Each fluid has its own date frequency : 
+    - Electricity : one new price every 6 month (February and August)
+    - Water : one new price every year
+    - Gas : one new price every month
+- When user creates a new price, the previous price's endDate is set to the new startDate minus 1 minute, so every prices keeps following in time.
\ No newline at end of file
diff --git a/docs/ecolyo/ecolyo-agent/getting_started/launch_local_application.md b/docs/ecolyo/ecolyo-agent/getting_started/launch_local_application.md
index 6de96761462e6daac7579d0034ed4ed4eae36ad7..b085d648601a9198ac763a7523222610525beabd 100644
--- a/docs/ecolyo/ecolyo-agent/getting_started/launch_local_application.md
+++ b/docs/ecolyo/ecolyo-agent/getting_started/launch_local_application.md
@@ -80,3 +80,65 @@ You should obtain the following messages:
 
 Once the application is started, you can access it here: https://localhost
 
+## Test on alpha
+
+In order to test the app on alpha you can do the following steps:
+
+- Build locally your docker image for the client and/or the server
+
+```
+docker build . -t registry.forge.grandlyon.com/web-et-numerique/llle_project/backoffice-<server/client>:your-tag
+```
+- Push the image
+
+```
+docker push registry.forge.grandlyon.com/web-et-numerique/llle_project/backoffice-<server/client>:your-tag
+```
+
+- Connect to alpha in ssh, go to ecolyo-agent > docker-compose.yml and change the image tag for client and/or server
+
+- Then launch the app, it will pull automatically the new images
+
+```
+docker-compose up -d
+```
+
+- If you have access denied issue, try to docker login
+
+```
+docker login registry.forge.grandlyon.com/web-et-numerique/llle_project/
+```
+
+- If you want to update alpha using the same image tag with edited image, just pull manually your new image and rebuild the concerned image 
+
+```
+docker pull registry.forge.grandlyon.com/web-et-numerique/llle_project/backoffice-<server/client>:your-tag
+
+docker-compose up -d
+```
+
+If you need to work with prices on alpha, you will need to init the prices database. 
+
+- First get the mysql container id
+
+```
+docker ps
+```
+
+- Then get into the container
+
+```
+docker exec -it <container-id> bash
+```
+
+- Then execute the mysql script that imports all the prices in DB
+
+```
+mysql --local-infile=1 -uroot -p backoffice < /dbinit/dbinit.sql
+```
+
+You will be prompted for the admin password, use the db password set in the .env file.
+
+Now you're ready to edit your prices on alpha !
+
+
diff --git a/docs/ecolyo/functionalities/ecogesture.md b/docs/ecolyo/functionalities/ecogesture.md
index 0a9544f22575709cbf08c97105b9802b9a7a5518..44569b02ca5bf5bfc1b91223af242f564744b632 100644
--- a/docs/ecolyo/functionalities/ecogesture.md
+++ b/docs/ecolyo/functionalities/ecogesture.md
@@ -32,25 +32,70 @@ Ecogesture {
   actionDuration: number
   objective: boolean
   doing: boolean
+  viewedInSelection: boolean
 }
 ```
+## Ecogestures screen
+
+This screen is divided in 3 tabs : 
+- *ALL*: display the full list of ecogestures. User can filter ecogesture by usage.
+- *DOING*: display the list of doing ecogestures. User can filter ecogesture by usage.
+- *OBJECTIVES*: display the list of objectives ecogestures. User can filter ecogesture by usage.
+
+### RULES
+
+- By default the *ALL* tab is selected.
+- If user click on an ecogesture, he will see more information about it and will be able to choose manually if it is *doing* AND/OR *objective*
+- The back arrow button on a single ecogesture returns to the tab he came through.
 
 ### Ecogesture Status
 
-An ecogesture can have a status according the user's choice, it can be *doing* and/or *objective* which allows the user to consult them in the related tabs in the ecogesture page.
+An ecogesture can have a status according the user's choice, it can be *doing* and/or *objective* which allows the user to consult them in the related tabs in the ecogesture page. On it is selected by the user in the tinder-like tunnel, the *viewedInSelection* key is set to true, so the user won't see it again in its selection.
+
+## Profile Ecogesture
 
-### TODO: Add ecogesture selection rules 
+The first time the user consults the ecogesture page, he will be prompted to start selecting his custom ecogestures.
+- If he refuses, I will still be able to access this functionnality by clicking on the "Select" button on the tabs 'Doing' and 'Objectives' while they are still empty.
+- If he starts select ecogestures on his own by the tab 'All' and fill both 'objective' and 'doing' sections, he won't be able to access the form and selection as described in the next parts.
 
-## All ecogestures screen
+### Model
 
-This screen display the full list of ecogestures. User can filter ecogesture by usage.
+```
+ProfileEcogesture {
+  heating: IndividualOrCollective
+  warmingFluid: WarmingType | null
+  hotWater: IndividualOrCollective
+  equipments: EquipmentType[]
+}
+```
 
-## Ecogestures filtered by profile
+### Ecogesture Form
+The form is compose in 2 parts :
+- The first is made of question concerning his heating fluid and type (individual or collective), and his hotWater type.
+- The second part asks the user to pick the equipment he has.
 
-This screen display is based on a filtered ecogesture list that fit to the user profile type.
-The user can also filter ecogesture by usage.
+*If the user has completed his profileType, he won't see the first part as it is automatically completed with the information he filled in his profileType*
 
-Following rules are used to filter the ecogesture:
+- The first part filters his custom list by Usages ECS and HEATING
+- The second part filters his custom list by Equipments
+
+
+## Ecogesture Selection
+
+Once user has completed his profile ecogesture through the form, he has the possibility to enter the ecogesture selection (tinder-like)
+- A list of custom ecogesture is made according to his profile
+- User will cross this list 10 by 10, and has to choose if it is 'doing' 'objective' or 'not interested
+
+### Important Rules
+
+- If uses refuses to do the selection for now, he will be reminded to do it in the 'doing' and 'objective' tabs, and a continue button will show
+- User can go back and correct his answer at any time
+- User can stop the process at any time, hist answer will be saved ad the next time he will open the selection, a new stack of 10 ecogesture is made (for example, user stops at 4/10, the next time he opens the selection it will be 4/14)
+- If user chooses to select manually an ecogesture outside of the selection tunnel (through the 'all' tab), this ecogesture will be removed from the list it was existing in it.
+- If user chosses to remove manually an ecogesture outside of the selection tunnel (through the 'doing' and 'objective' tab), thoose ecogestures won't be purposes again in the selection tunnel.
+- User can't use the back arrow on the first ecogesture of selection list
+
+Once the whole process is done, the user has no possibility to do it again through the tinder-like selection, but he can still edit his ecogestures manually from the various tabs.
 
 ### Case ecogesture usage is heating
 
@@ -74,7 +119,7 @@ OR
 
 - the ecogesture has gas fluid and profile type has an individual hot water which use gas fluid.
 
-### Case ecogesture usage is ECS
+### Case ecogesture usage is Cooking
 
 We will display the ecogesture if:
 
diff --git a/docs/ecolyo/functionalities/onboarding.md b/docs/ecolyo/functionalities/onboarding.md
new file mode 100644
index 0000000000000000000000000000000000000000..e6559482dff03c0aa911359ebf31058cce0d4749
--- /dev/null
+++ b/docs/ecolyo/functionalities/onboarding.md
@@ -0,0 +1,20 @@
+This section explains the way we handle onboarding the application.
+
+## Description
+
+When the user connects for the first time to Ecolyo, onboarding screens will be displayed.
+!!! note "First connection" 
+    The first connection is define by the **isFirstConnection** boolean contains in the **profile** doctype.
+
+### GCU screen
+
+First of all, we display the GCU screen, which allows user to read the General Condition of Use and the Legal Notive. The user should consent to all the terms to go further in the application.
+!!! note "About terms" 
+    More details are available on the (term section)[/ecolyo/functionalities/terms.md].
+
+### Welcome modal
+
+After GCU screen we display a welcome modal to inform user about further steps needed to use Ecolyo (connection to partners to retrieve the data, ...).
+We store in user's profile a boolean _onboarding.isWelcomeSeen_ that allows the app to know is the modal has already be seen. If the modal has been seen we will never display it again.
+
+When user close this modal, the **welcome mail** is sent to the user.
diff --git a/docs/ecolyo/getting_started/launch_local_application.md b/docs/ecolyo/getting_started/launch_local_application.md
index acff2b908072dc7e33fc8eb2fb67091f42b44dcd..b4c099a243b0024a2c4654d549771e4ad037ceb6 100644
--- a/docs/ecolyo/getting_started/launch_local_application.md
+++ b/docs/ecolyo/getting_started/launch_local_application.md
@@ -87,7 +87,7 @@ Once successfull you can launch your local cozy with following url [Cozy local u
 
 Local database can also be consulted at the following url: [Cozy local DB](http://localhost:5984/_utils/)
 
-## Import moke data
+## Import mock data
 
 !!! info "Requirement" 
           Your dev stack should be running to import the moke data
@@ -130,6 +130,8 @@ cd scripts
 ```
 
 !!! info ""
+    If you cannot execute ```ACH``` after this command, it may be because you do not have the directory where yarn stores its symbolic links in your ```PATH```. Edit it to append the result of ```yarn global bin```.
+
 You'll be prompted for a cozysessid, you can get it in the web console ; in the `application` tab, look for the cookies and just copy the cozysessid value.
 
 A new browser windows will open and asking you approval to import data. Just click on **Approve**
diff --git a/docs/ecolyo/getting_started/setup_your_environment.md b/docs/ecolyo/getting_started/setup_your_environment.md
index 0caebf1d3d4a7466e29e0016dcb710fa673e5bb4..9dca41e94d3bb14297fb837a23cb68f98599d550 100644
--- a/docs/ecolyo/getting_started/setup_your_environment.md
+++ b/docs/ecolyo/getting_started/setup_your_environment.md
@@ -36,8 +36,6 @@ Open the project with VSCode and add the following code into .vscode/settings.js
      /* Put anything you like here */
   },
   "editor.snippetSuggestions": "top",
-  "editor.tabSize": 2,
-  "editor.formatOnSave": true,
   "diffEditor.ignoreTrimWhitespace": false,
   "window.zoomLevel": 0,
   "gitlens.advanced.messages": {
@@ -78,7 +76,7 @@ Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.
 ## Yarn
 
 Yarn is used as package manager for this project. Feel free to use the one you prefere but we advice to install yarn as all the documentation is described with this package manager.
-Installation for yarn can be found here: [Installation of Yarn](https://classic.yarnpkg.com/fr/docs/install/).
+Installation for yarn can be found here: [Installation of Yarn](https://classic.yarnpkg.com/en/docs/install).
 
 ## Docker
 
diff --git a/docs/ecolyo/services/enedis_halfhour_monthly_analysis.md b/docs/ecolyo/services/enedis_halfhour_monthly_analysis.md
index 2a15fea7630b10f3e6850a37da63354c9edcf848..79295a547e113196905244d8de21d3aa82364ee0 100644
--- a/docs/ecolyo/services/enedis_halfhour_monthly_analysis.md
+++ b/docs/ecolyo/services/enedis_halfhour_monthly_analysis.md
@@ -49,7 +49,7 @@ weekEndValuesArray : [
 ```
 - Once the array is filled with all available values, we just have to calculate the average for each half-hour step
 
-- The **minimum value** is calculated by the *getMonthMinLoad* function, it takes the complete week and weekend values arrays as parameters and return the minimum value, excluding -1 (empty values), and 0 (null values).
+- The **minimum value** is calculated by the *getMonthMinLoad* function, it takes the complete week and weekend values arrays as parameters and return the minimum value, excluding -1 (empty values), and 0 (null values). This value is multiplicated with 48 (the number of half hour entries in a day) and with the number of days in the month.
 - The **maxPower** value is fetched from the doctype *com.grandlyon.enedis.maxpower*, the value is stored on a daily basis, so take the maximum value for the given month.
 - The result is stored in *com.grandlyon.enedis.monthly.analysis.data* according to the following model : 
 
@@ -57,7 +57,7 @@ weekEndValuesArray : [
 EnedisMonthlyAnalysisData {
   weekDaysHalfHourAverageValues: number[]
   weekEndDaysHalfHourAverageValues: number[]
-  minLoad: number
+  minimumLoad: number
   maxPower: number
   month: number
   year: number
diff --git a/docs/index.md b/docs/index.md
index a58b554cbe172913fc202e7f3151bc6a28b0f147..68fbaaa518dcf4d3846720785a4965b8e066d5df 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -1,6 +1,6 @@
 ![selfdata](/img/self_data_grdlyon.png){: .center}
 
-The Self-Data Grand Lyon technical doc covers projects developped by the Grandlyon Metropolis in cooperation with [Cozy Cloud](https://cozy.io/fr/).
+The self-data Grandlyon technical documentation covers projects developed by the Grandlyon in cooperation with [Cozy Cloud](https://cozy.io/fr/).
 
 ![europe](/img/partners/europe.png){: .inline-center-left}
 ![auvergne](/img/partners/auvergne.png)
\ No newline at end of file
diff --git a/docs/konnectors/egl.md b/docs/konnectors/egl.md
index 044189814c439473a0b8a2f6d9826ddccb23dafe..7e435b57b06f0ba20c2d2e00ad69a6258e76e915 100644
--- a/docs/konnectors/egl.md
+++ b/docs/konnectors/egl.md
@@ -48,8 +48,9 @@ Once you've sent this request the API should answer with a code 100 if everythin
   "codeRetour": 100,
   "libelleRetour": "Connecté",
   "resultatRetour": {
-    "num_abt": 1895683,
-    "token": "897555754A703055397897456568776E32704C3953514F5R"
+    "num_abt": toto,
+    "list_num_abt": [toto, tata]
+    "token": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
   }
 }
 ```
diff --git a/docs/proxy/monitoring.md b/docs/proxy/monitoring.md
index da9a6c209769bb70ead05e50eb4a95228bf3fdf8..294ce8cceb4daa7692baa6d6b20be70c4401b694 100644
--- a/docs/proxy/monitoring.md
+++ b/docs/proxy/monitoring.md
@@ -3,8 +3,19 @@ All logs printed by the Proxy are read and translated into statistics on a grafa
 !!! info "Grafana"
     [scaleway monitoring](https://grafana.self-data.alpha.grandlyon.com/)
 
-    [production](https://oauth-logs.cozycloud.cc/d/xSRhz8fMk/cozy-oauth-proxy?orgId=1&refresh=5s)
+    [production address](https://oauth-logs.cozycloud.cc/d/xSRhz8fMk/cozy-oauth-proxy?orgId=1&refresh=5s)
  
-Thanks to this monitoring system, the team is able to understand when something goes wrong with a konnector if the konnector or the proxy are to blame or if an issue was coming from Enedis or Grdf.
+This monitoring system allow the team to parse more easily the cozy-stack logs when something goes wrong. For instance, test konnector or check from the proxy if an issue was coming from Enedis or Grdf.
 
 Learn more about how it works [here](https://forge.grandlyon.com/web-et-numerique/llle_project/logs-monitoring).
+
+!!! warning "High volume"
+    The service parses a very high amount of logs, most of all when debugging an instance. To limit our disk usage we tend to stop the service when not needed.
+    Just type docker-compose down to stop it in monitoring/logs-monitoring. The docker volume will be persisted.
+
+To easily plug loki on a specific instance:
+
+- Click on configuration and data sources
+- Add data sources
+- Find Loki and type the loki url http://loki:3100
+- In the query builder select the container "easy-cozy" then add |= "domain=[specific-instance]"
\ No newline at end of file
diff --git a/mkdocs.yml b/mkdocs.yml
index a59c2f849703cb25f0d103fcd19993e4c824e274..d9cd59c03bb205eb229f3042c7b53eb2a01baa3c 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -64,6 +64,7 @@ nav:
           - Ecogesture: ecolyo/functionalities/ecogesture.md
           - Feedback: ecolyo/functionalities/feedback.md
           - Initialization: ecolyo/functionalities/initialization.md
+          - Onboarding: ecolyo/functionalities/onboarding.md
           - Price Calculation: ecolyo/functionalities/prices_calculation.md
           - Profile Type: ecolyo/functionalities/profile_type.md
           - Terms: ecolyo/functionalities/terms.md