diff --git a/docs/konnectors/enedis.md b/docs/archive/enedis.md
similarity index 96%
rename from docs/konnectors/enedis.md
rename to docs/archive/enedis.md
index 1adfe425953eaf2b7a1270b2382f685414204ede..0cda7fdcb98e2ba8c5c19f8d89bb47f6efe35191 100644
--- a/docs/konnectors/enedis.md
+++ b/docs/archive/enedis.md
@@ -1,7 +1,7 @@
 # Enedis Konnector
 
 :::warning DEPRECATED
-This section of documentation is not relevant anymore, enedis data connect has been replaced with [enedis sge](./enedis-sge.md)
+This section of documentation is not relevant anymore, enedis data connect has been replaced with [enedis sge](../konnectors/enedis-sge.md)
 :::
 
 This konnector fetches consumption measures from Enedis API. This is an Oauth Konnector, meaning the authentication performed to access all data is made following an Oauth2 protocol.
@@ -12,12 +12,12 @@ You should also check Cozy's official documentations for konnectors :
 - https://docs.cozy.io/en/tutorials/konnector/getting-started
 - https://docs.cozy.io/en/tutorials/konnector/oauth/
 
-The Oauth protocol does not take place in the konnector code, therefore it is also important to take a look at the [proxy](/docs/proxy/description) documentation to fully understand all the interactions that will be told below.
+The Oauth protocol does not take place in the konnector code, therefore it is also important to take a look at the [proxy](/docs/archive/proxy) documentation to fully understand all the interactions that will be told below.
 
 All the actions performed by the stack are targeted from pre-registered parameters, here is the list of all parameters needed by the stack to perform the Oauth protocol and allow the konnector to fetch data.
 On its first launch, following the Oauth Client Connect authentication.
 
-- The cozy stack calls the **authentication_endpoint** and start the oauth protocol, see [proxy doc](/docs/proxy/description).
+- The cozy stack calls the **authentication_endpoint** and start the oauth protocol, see [proxy doc](/docs/archive/proxy).
 - The account has now an access_token and an id_token from the oauth call
 
 :::info
diff --git a/docs/konnectors/grdf.md b/docs/archive/grdf.md
similarity index 95%
rename from docs/konnectors/grdf.md
rename to docs/archive/grdf.md
index 971f5be6fe53018f539e8ca9ffcf1bd75a2fd2bd..5af46c04bf0c2e7d0b6773f0a8a34ba4a0dde54b 100644
--- a/docs/konnectors/grdf.md
+++ b/docs/archive/grdf.md
@@ -1,7 +1,7 @@
 # GRDF Client Connect Konnector
 
 :::warning DEPRECATED
-This section of documentation is not relevant anymore, grdf client connect has been replaced with [grdf tier direct](./grdf-td.md)
+This section of documentation is not relevant anymore, grdf client connect has been replaced with [grdf tier direct](../konnectors/grdf-td.md)
 :::
 
 This konnector fetches consumption measures from Grdf Adict API. This is an Oauth Konnector, meaning the authentication performed to access all data is made following an Oauth2 protocol.
@@ -12,7 +12,7 @@ You should also check Cozy's official documentations for konnectors :
 - https://docs.cozy.io/en/tutorials/konnector/getting-started/
 - https://docs.cozy.io/en/tutorials/konnector/oauth/
 
-The Oauth protocol does not take place in the konnector code, therefore it is also important to take a look at the [proxy](/docs/proxy/description) documentation to fully understand all the interactions that will be told below.
+The Oauth protocol does not take place in the konnector code, therefore it is also important to take a look at the [proxy](/docs/archive/proxy) documentation to fully understand all the interactions that will be told below.
 
 All the actions performed by the stack are targeted from pre-registered parameters, here is the list of all parameters needed by the stack to perform the Oauth protocol and allow the konnector to fetch data.
 
@@ -20,7 +20,7 @@ All the actions performed by the stack are targeted from pre-registered paramete
 
 On its first launch, following the Oauth Client Connect authentication.
 
-- The cozy stack calls the **authentication_endpoint** and start the oauth protocol, see [proxy doc](/docs/proxy/description).
+- The cozy stack calls the **authentication_endpoint** and start the oauth protocol, see [proxy doc](/docs/archive/proxy).
 - The account has now an access_token and an id_token from the oauth call
 
 :::note
diff --git a/docs/pilote/Pilote-TS-Back/application/deploy.md b/docs/archive/pilote/Pilote-TS-Back/application/deploy.md
similarity index 100%
rename from docs/pilote/Pilote-TS-Back/application/deploy.md
rename to docs/archive/pilote/Pilote-TS-Back/application/deploy.md
diff --git a/docs/pilote/Pilote-TS-Back/functionalities/routes.md b/docs/archive/pilote/Pilote-TS-Back/functionalities/routes.md
similarity index 100%
rename from docs/pilote/Pilote-TS-Back/functionalities/routes.md
rename to docs/archive/pilote/Pilote-TS-Back/functionalities/routes.md
diff --git a/docs/pilote/Pilote-TS-Back/getting_started/launch_local_application.md b/docs/archive/pilote/Pilote-TS-Back/getting_started/launch_local_application.md
similarity index 100%
rename from docs/pilote/Pilote-TS-Back/getting_started/launch_local_application.md
rename to docs/archive/pilote/Pilote-TS-Back/getting_started/launch_local_application.md
diff --git a/docs/pilote/Pilote-TS-Back/project_architecture/architecture.md b/docs/archive/pilote/Pilote-TS-Back/project_architecture/architecture.md
similarity index 100%
rename from docs/pilote/Pilote-TS-Back/project_architecture/architecture.md
rename to docs/archive/pilote/Pilote-TS-Back/project_architecture/architecture.md
diff --git a/docs/pilote/Pilote-TS-Back/project_architecture/share_sms.png b/docs/archive/pilote/Pilote-TS-Back/project_architecture/share_sms.png
similarity index 100%
rename from docs/pilote/Pilote-TS-Back/project_architecture/share_sms.png
rename to docs/archive/pilote/Pilote-TS-Back/project_architecture/share_sms.png
diff --git a/docs/pilote/Pilote-TS-Front/application/deploy.md b/docs/archive/pilote/Pilote-TS-Front/application/deploy.md
similarity index 100%
rename from docs/pilote/Pilote-TS-Front/application/deploy.md
rename to docs/archive/pilote/Pilote-TS-Front/application/deploy.md
diff --git a/docs/pilote/Pilote-TS-Front/functionalities/functions.md b/docs/archive/pilote/Pilote-TS-Front/functionalities/functions.md
similarity index 100%
rename from docs/pilote/Pilote-TS-Front/functionalities/functions.md
rename to docs/archive/pilote/Pilote-TS-Front/functionalities/functions.md
diff --git a/docs/pilote/Pilote-TS-Front/getting_started/launch_local_application.md b/docs/archive/pilote/Pilote-TS-Front/getting_started/launch_local_application.md
similarity index 100%
rename from docs/pilote/Pilote-TS-Front/getting_started/launch_local_application.md
rename to docs/archive/pilote/Pilote-TS-Front/getting_started/launch_local_application.md
diff --git a/docs/pilote/Pilote-Usager/application/deploy.md b/docs/archive/pilote/Pilote-Usager/application/deploy.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/application/deploy.md
rename to docs/archive/pilote/Pilote-Usager/application/deploy.md
diff --git a/docs/pilote/Pilote-Usager/application/doctypes.md b/docs/archive/pilote/Pilote-Usager/application/doctypes.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/application/doctypes.md
rename to docs/archive/pilote/Pilote-Usager/application/doctypes.md
diff --git a/docs/pilote/Pilote-Usager/application/redux.md b/docs/archive/pilote/Pilote-Usager/application/redux.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/application/redux.md
rename to docs/archive/pilote/Pilote-Usager/application/redux.md
diff --git a/docs/pilote/Pilote-Usager/application/scaffolding.md b/docs/archive/pilote/Pilote-Usager/application/scaffolding.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/application/scaffolding.md
rename to docs/archive/pilote/Pilote-Usager/application/scaffolding.md
diff --git a/docs/pilote/Pilote-Usager/application/services.md b/docs/archive/pilote/Pilote-Usager/application/services.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/application/services.md
rename to docs/archive/pilote/Pilote-Usager/application/services.md
diff --git a/docs/pilote/Pilote-Usager/functionalities/appointments.md b/docs/archive/pilote/Pilote-Usager/functionalities/appointments.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/functionalities/appointments.md
rename to docs/archive/pilote/Pilote-Usager/functionalities/appointments.md
diff --git a/docs/pilote/Pilote-Usager/functionalities/contact.md b/docs/archive/pilote/Pilote-Usager/functionalities/contact.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/functionalities/contact.md
rename to docs/archive/pilote/Pilote-Usager/functionalities/contact.md
diff --git a/docs/pilote/Pilote-Usager/functionalities/cozy-registry.md b/docs/archive/pilote/Pilote-Usager/functionalities/cozy-registry.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/functionalities/cozy-registry.md
rename to docs/archive/pilote/Pilote-Usager/functionalities/cozy-registry.md
diff --git a/docs/pilote/Pilote-Usager/functionalities/document.md b/docs/archive/pilote/Pilote-Usager/functionalities/document.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/functionalities/document.md
rename to docs/archive/pilote/Pilote-Usager/functionalities/document.md
diff --git a/docs/pilote/Pilote-Usager/functionalities/setting.md b/docs/archive/pilote/Pilote-Usager/functionalities/setting.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/functionalities/setting.md
rename to docs/archive/pilote/Pilote-Usager/functionalities/setting.md
diff --git a/docs/pilote/Pilote-Usager/getting_started/launch_local_application.md b/docs/archive/pilote/Pilote-Usager/getting_started/launch_local_application.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/getting_started/launch_local_application.md
rename to docs/archive/pilote/Pilote-Usager/getting_started/launch_local_application.md
diff --git a/docs/pilote/Pilote-Usager/getting_started/launch_local_doctypes.md b/docs/archive/pilote/Pilote-Usager/getting_started/launch_local_doctypes.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/getting_started/launch_local_doctypes.md
rename to docs/archive/pilote/Pilote-Usager/getting_started/launch_local_doctypes.md
diff --git a/docs/pilote/Pilote-Usager/getting_started/launch_local_services.md b/docs/archive/pilote/Pilote-Usager/getting_started/launch_local_services.md
similarity index 100%
rename from docs/pilote/Pilote-Usager/getting_started/launch_local_services.md
rename to docs/archive/pilote/Pilote-Usager/getting_started/launch_local_services.md
diff --git a/docs/pilote/index.mdx b/docs/archive/pilote/index.mdx
similarity index 90%
rename from docs/pilote/index.mdx
rename to docs/archive/pilote/index.mdx
index e4cd33f766cf027ae38fce42c0712b1ecf900b64..d74e788b203b8d979490612efe32f8e61f4b02ae 100644
--- a/docs/pilote/index.mdx
+++ b/docs/archive/pilote/index.mdx
@@ -1,11 +1,15 @@
 # Pilote
 
+:::warning DEPRECATED
+This section of documentation is not relevant anymore.
+:::
+
 <Center>![pilote](/img/mps.png)</Center>
 
 Pilote aims to help people in various administrative processes, allowing them to share their personal information with a social worker to build the best possible claim for every needs.
 
 :::danger "Reminder"
-If you're a new developer tasked to work on this project, please get acquainted with the team [processes](https://forge.grandlyon.com/web-et-numerique/factory/wiki_web_num) and read the advised [dev environment](https://forge.grandlyon.com/web-et-numerique/factory/wiki_web_num) documentation and the self-data [prerequisites](../getting-started/setup.md#installing-prerequisites).
+If you're a new developer tasked to work on this project, please get acquainted with the team [processes](https://forge.grandlyon.com/web-et-numerique/factory/wiki_web_num) and read the advised [dev environment](https://forge.grandlyon.com/web-et-numerique/factory/wiki_web_num) documentation and the self-data [prerequisites](/docs/getting-started/setup.md#installing-prerequisites).
 :::
 
 ## ![gitlab](/img/gitlab-logo.svg) Repositories
diff --git a/docs/proxy/enedis-auth-params.png b/docs/archive/proxy/enedis-auth-params.png
similarity index 100%
rename from docs/proxy/enedis-auth-params.png
rename to docs/archive/proxy/enedis-auth-params.png
diff --git a/docs/proxy/description.mdx b/docs/archive/proxy/index.mdx
similarity index 89%
rename from docs/proxy/description.mdx
rename to docs/archive/proxy/index.mdx
index 02ed17fc042802f74abec41c352d7efbaf0f15ed..c9e4381b3d8c02ac2af113bbdca5e942844f91c9 100644
--- a/docs/proxy/description.mdx
+++ b/docs/archive/proxy/index.mdx
@@ -1,9 +1,13 @@
-# Description
+# Proxy Description
+
+:::warning DEPRECATED
+This section of documentation is not relevant anymore, The proxy is no longer used since we don't use Oauth anymore.
+:::
 
 This section of documentation refers to the Oauth protocols working hand in hand with our custom proxy and the cozy-stack.
-To fully understand its whereabouts, you should also look at the [enedis konnector](/docs/konnectors/enedis.md) and [grdf konnector](/docs/konnectors/grdf.md) documentation.
+To fully understand its whereabouts, you should also look at the [enedis konnector](/docs/archive/enedis.md) and [grdf konnector](/docs/archive/grdf.md) documentation.
 
-![gitlab](/img/gitlab-logo.svg) [proxy](https://forge.grandlyon.com/pocs/cozy/cozy-oauth-proxy)
+![gitlab](/img/gitlab-logo.svg) [proxy](https://forge.grandlyon.com/web-et-numerique/factory/llle_project/cozy-oauth-proxy)
 
 ## Oauth Dance
 
@@ -11,7 +15,10 @@ To access customer data, one must first obtain customer authorization. This auth
 
 These APIs implement Oauth 2.0 protocol, it requires authentication from the customer along with its given consent.
 
-See both **[Enedis](./use_cases/enedis.mdx)** and **[Grdf](./use_cases/grdfadict.md)** use cases before going further.
+See both use cases before going further :
+
+- **[Enedis](./use_cases/enedis.mdx)**
+- **[Grdf](./use_cases/grdfadict.md)**
 
 ### Cozy Oauth Protocol
 
@@ -119,7 +126,7 @@ With that in mind, the proxy is now the one calling the auth and token provider
 ## Proxy Code Explained
 
 :::info reminder
-Feel free to check the proxy [code](https://forge.grandlyon.com/pocs/cozy/cozy-oauth-proxy) at all time when reading this documentation.
+Feel free to check the proxy [code](https://forge.grandlyon.com/web-et-numerique/factory/llle_project/cozy-oauth-proxy) at all time when reading this documentation.
 :::
 
 The proxy is coded in golang.
diff --git a/docs/proxy/use_cases/enedis.mdx b/docs/archive/proxy/use_cases/enedis.mdx
similarity index 100%
rename from docs/proxy/use_cases/enedis.mdx
rename to docs/archive/proxy/use_cases/enedis.mdx
diff --git a/docs/proxy/use_cases/grdfadict.md b/docs/archive/proxy/use_cases/grdfadict.md
similarity index 100%
rename from docs/proxy/use_cases/grdfadict.md
rename to docs/archive/proxy/use_cases/grdfadict.md
diff --git a/docs/ecolyo/Functionalities/consumption.md b/docs/ecolyo/Functionalities/consumption.md
index 84015a78573878abb6a284b8e4e9d5304227843d..565a97976da93109735d64ac1f7f4e907ef20b32 100644
--- a/docs/ecolyo/Functionalities/consumption.md
+++ b/docs/ecolyo/Functionalities/consumption.md
@@ -81,7 +81,7 @@ This library loads the slides previous and next the current slide. This reduces
 
 - Calls the `DataloadConsumptionVisualizer` component that shows the dataload of the selected timeStep and fluid
 - For multifluid, shows the total consumption in € of summed connected fluids, and each fluid
-- It displays a message according to the data state as explained in the [DataLoad Consumption Visualizer](./consumption.md#dataload-consumption-visualizer)
+- It displays a message according to the data state as explained in the DataLoad Consumption Visualizer
 
 #### DataLoadConsumptionVisualizer
 
diff --git a/docs/ecolyo/Technical/0-getting-started.md b/docs/ecolyo/Technical/0-getting-started.md
index 14391f476f78e009291c8b501e58280648000b6e..61d6a0a20d5c0f5b8e050379aa806265cc165f57 100644
--- a/docs/ecolyo/Technical/0-getting-started.md
+++ b/docs/ecolyo/Technical/0-getting-started.md
@@ -36,7 +36,7 @@ Once the application is started, run the easy-cozy stack with docker.
 Launch the stack with the following command:
 
 ```sh
-docker-compose up
+docker compose up -d
 ```
 
 :::note If you have an access denied issue
diff --git a/docs/ecolyo/Technical/architecture.md b/docs/ecolyo/Technical/architecture.md
index bf25d3d517e39e91efcba2cabcef01c06adfd4ab..670ddfcb3babb3491585f07504bbc62333a3381e 100644
--- a/docs/ecolyo/Technical/architecture.md
+++ b/docs/ecolyo/Technical/architecture.md
@@ -2,8 +2,6 @@
 
 ## Architecture schema
 
-[Click here to open in full screen](./architecture.svg)
-
 ![architecture](./architecture.svg)
 
 <!-- DEV NOTE use `hediet.vscode-drawio` to edit with VSCode. Then export it to architecture.svg -->
diff --git a/docs/ecolyo/Technical/mail.md b/docs/ecolyo/Technical/mail.md
index c12b018fe480b48d815104a5d761b0fe2a6e416c..5daa440b1230b7973e13b52cd417f33f369fe90b 100644
--- a/docs/ecolyo/Technical/mail.md
+++ b/docs/ecolyo/Technical/mail.md
@@ -82,3 +82,20 @@ A bounce token stored in the profile of each user is sent in email. It allows us
 ## Unsubscribe
 
 A user can unsubscribe to our newsletter by a link in each mails. It **does not** require authentication. This link is built with a `sharecode` token that contains specific permissions to turn off the `sendAnalysisNotification` property in the user profile. The sent link has a TTL of 15 days.
+
+## Mail server
+
+The mail server is configured with the [`cozy.yml` under the mail section](https://github.com/bastiendmt/cozy-stack-compose/blob/main/files/cozy.yml#L36).
+
+The mail server is `mail.alpha.grandlyon.com`. It's IP is 51.15.131.84. This server is managed by Scaleway.
+
+It also has a web interface accessible at [https://mail.alpha.grandlyon.com/](https://mail.alpha.grandlyon.com/).
+
+### Reboot in case of failure
+
+```sh
+cd /opt/mailcow-dockerised
+docker-compose down
+docker volume rm mailcowdockerized_clamd-db-vol-1
+docker-compose up -d
+```
diff --git a/docs/ecolyo/share.mdx b/docs/ecolyo/share.mdx
index fd0acefbdf00a3e2a9a82117fcb92bff49204c50..179f7864cc9d794fc1bc3f1ef91a663a15413f27 100644
--- a/docs/ecolyo/share.mdx
+++ b/docs/ecolyo/share.mdx
@@ -32,7 +32,7 @@ Ecolyo est un service numérique gratuit et ludique permettant de suivre ses con
 
 Ecolyo est un outil au service de la [politique de sobriété énergétique de la Métropole de Lyon](https://met.grandlyon.com/energie-a-lheure-de-la-sobriete/).
 
-Ecolyo est une web-app ⇒ Pour en savoir plus sur l’architecture numérique rendez-vous [ici](https://www.notion.so/Ecolyo-au-del-de-la-M-tropole-de-Lyon-d50628eb7410490f9efda3723e679b88?pvs=21)
+Ecolyo est une web-app ⇒ Pour en savoir plus sur l’architecture numérique rendez-vous [ici](./share.mdx#larchitecture-générale)
 
 ### 🎖️Ses avantages
 
@@ -41,7 +41,7 @@ Ecolyo est une web-app ⇒ Pour en savoir plus sur l’architecture numérique r
 - Récupérer jusqu’à 3 ans d’historique.
 - Permettre le suivi et la comparaison dans le temps de ses consommations : sur plusieurs années et quelque soit le fournisseur d’électricité ou de gaz. Permettre aussi de comparer ses consommations même lors d’un déménagement.
 - Proposer une interface fluide et ludique et dynamique pour inciter au changement
-- Assurer une protection des données optimale. En effet, pour utiliser Ecolyo il faut créer un [cloud personnel grand Lyon - Ma Bulle](https://www.grandlyon.com/services/self-data-cloud-personnel) qui permet de sécuriser les données de l’utilisateur pour que personne, pas même la métropole, n'ait accès à celles-ci.
+- Assurer une protection des données optimale. En effet, pour utiliser Ecolyo il faut créer un [Cloud personnel Cozy Métropole de Lyon](https://www.grandlyon.com/services/self-data-cloud-personnel) qui permet de sécuriser les données de l’utilisateur pour que personne, pas même la métropole, n'ait accès à celles-ci.
 
 #### Les fonctionnalités en détail
 
@@ -52,7 +52,7 @@ Ecolyo est une web-app ⇒ Pour en savoir plus sur l’architecture numérique r
   - Comparaison dans le temps
 
 <Center>
-  <img src='/img/ecolyo/conso.png' alt='conso' height={450}></img>
+  <img src="/img/ecolyo/conso.png" alt="conso" height={450}></img>
 </Center>
 
 - Les défis portant sur :
@@ -61,7 +61,7 @@ Ecolyo est une web-app ⇒ Pour en savoir plus sur l’architecture numérique r
   - L’utilisation du service
 
 <Center>
-  <img src='/img/ecolyo/defis.png' alt='defis' height={450}></img>
+  <img src="/img/ecolyo/defis.png" alt="defis" height={450}></img>
 </Center>
 
 - Les écogestes :
@@ -71,7 +71,7 @@ Ecolyo est une web-app ⇒ Pour en savoir plus sur l’architecture numérique r
   - Adapter à son profil
 
 <Center>
-  <img src='/img/ecolyo/astuces.png' alt='astuces' height={450}></img>
+  <img src="/img/ecolyo/astuces.png" alt="astuces" height={450}></img>
 </Center>
 
 - Analyse comparative :
@@ -80,7 +80,7 @@ Ecolyo est une web-app ⇒ Pour en savoir plus sur l’architecture numérique r
   - Ecolyo propose aussi une newsletter tous les mois avec des actus et des conseils.
 
 <Center>
-  <img src='/img/ecolyo/analyse.png' alt='analyse' height={450}></img>
+  <img src="/img/ecolyo/analyse.png" alt="analyse" height={450}></img>
 </Center>
 
 - Enfin Ecolyo met à disposition un [service utilisateur](http://support.grandlyon.com/ecolyo) pour répondre à toutes les problématiques rencontrées par les utilisateurs ainsi que récolter des idées et remarques.
@@ -94,15 +94,16 @@ Ecolyo est une web-app ⇒ Pour en savoir plus sur l’architecture numérique r
 - Le contexte énergétique de l’hiver 2022-2023 a mis au premier plan la sobriété énergétique. Ecolyo, en tant qu’outil de la politique de sobriété énergétique a bénéficié d’une large campagne de communication pour faire connaître l’outil.
 
 <video
-  src='https://doc-self-data.apps.grandlyon.com/img/ecolyo/video.mp4'
+  src="https://doc-self-data.apps.grandlyon.com/img/ecolyo/video.mp4"
   style={{ margin: 'auto', height: 350, display: 'block' }}
   controls
   autoplay
 ></video>
 
-- De nouvelles campagnes de communications sont prévues pour faire augmenter la notoriété du service numérique.
+- En 2023-2024 le travail a largement porté sur la sortie d'un nouveau mode de connexion aux données de gaz. Une V3 est sortie en juin 2024.
+  Le lien avec la politique publique de l'eau ainsi que sa régie s'est également renforcé.
 
-A date (_début septembre 2023_), Plus de 2500 comptes Ecolyo ont été créés.
+Au 15 juin 2024, Plus de 5000 comptes Ecolyo ont été créés.
 
 ## 📏Les choix architecturaux que nous avons faits
 
@@ -119,26 +120,30 @@ Ecolyo est formée de plusieurs blocs :
 - Un lien vers les SI des partenaires : Enedis, GRDF et Eau du Grand Lyon
 - Un Service Assistance aux utilisateurs (SAU) pour aider les utilisateurs au cours de leur parcours de première connexion et en cas de problème ou pour recueillir leurs idées et avis.
 
-![architecture](https://doc-self-data.apps.grandlyon.com/ecolyo/technical/architecture.svg)
+![architecture](./Technical/architecture.svg)
 
 <details>
-<summary>Pourquoi le Self Data ? Pourquoi Cozy ?</summary>
-La Métropole s’est engagé sur le modèle "self-data"  depuis 2017. Le "self-data"  permet d’apporter à la fois une plateforme de services numériques respectueuse de la vie privée des usagers, un coffre fort numérique récupérant automatiquement les documents.
+  <summary>Pourquoi le Self Data ? Pourquoi Cozy ?</summary>
+  <div >
+  La Métropole s’est engagé sur le modèle "self-data"  depuis 2017. Le "self-data"  permet d’apporter à la fois une plateforme de services numériques respectueuse de la vie privée des usagers, un coffre fort numérique récupérant automatiquement les documents.
 
 L'intérêt principal du self data est de permettre de créer de la valeur pour l'usager autour de ses données personnelles sans les divulguer à des tiers : nous n’amenons pas la donnée vers les services mais nous amenons les services (les applications) vers la donnée qui est dans un espace privatif sous contrôle complet de l'utilisateur.
 Le "self-data" s’appuie sur le produit Cozy qui est la seule plateforme identifiée libre proposant ces deux fonctions.
 Un appel à projet innovant visant à renforcer et développer l’écosystème "self-data" a été remporté par la Métropole et ses partenaires en juin 2023, après une candidature en septembre 2022.
 
+</div>
 </details>
 
 <details>
 <summary>Pourquoi une Web’app ?</summary>
+  <div >
 Les applications Cozy sont privilégiées en mode Web App (même si elles peuvent être exposées dans l'app "Amirale cozy", cela reste des web apps dans une vue web dans cette application).
 
 L'intérêt de la web app est l'interopérabilité : le web est compatible avec tous les smartphones, toutes les tablettes, tous les ordinateurs, et même plus (TVs connectées, pourquoi pas), à la différence des applications natives qui doivent être développées pour chaque familles de terminaux.
 
 Le web repose sur des standards ouverts, et reste donc interopérable dans le temps (vous pouvez ouvrir un site fait en 1990 sur votre ordinateur ou votre smartphone, ça marche), à la différence des applications qui demandent un effort constant pour rester techniquement à jour.
 
+</div>
 </details>
 
 ### La connexion aux données de consommation
@@ -168,14 +173,19 @@ SGE nous a permis de proposer un parcours de connexion plus simple pour l’util
 </details>
 
 <details>
-  <summary>Pourquoi l’API GRDF Adict - Parcours Client Connect ?</summary>
+  <summary>Pourquoi l’API GRDF Adict - Parcours Tiers Direct ?</summary>
   <div>
-    Le parcours Client connect nous permet en tant que collectivité de laisser
-    la gestion du recueil de consentement aux mains de GRDF. Il ajoute de la
-    complexité au parcours utilisateur cependant : nécessité de créer un compte
-    chez GRDF (acteur parfois inconnu du grand public), et recueil du
-    consentement (via un formulaire plutôt compliqué à remplir et pouvant
-    induire de nombreuses erreurs de fonctionnement du service par la suite).
+    Après plusieurs mois de fonctionnement avec le parcours Client connect nous avons décidé de changer de parcours pour Tiers Direct (toujours proposé par GRDF via son API GRDF Adict).
+
+Le parcours Client connect nous permettait en tant que collectivité de laisser la gestion du recueil de consentement aux mains de GRDF. Il ajoutait de la complexité au parcours utilisateur cependant : nécessité de créer un compte chez GRDF (acteur parfois inconnu du grand public), et recueil du consentement (via un formulaire plutôt compliqué à remplir et pouvant induire de nombreuses erreurs de fonctionnement du service par la suite).
+
+La mise en place du nouveau parcours facilite le parcours de l'utilisateur en lui évitant notamment de devoir créer un compte GRDF pour accéder à ses données.
+Il reste toutefois complexe puisqu'il nécessite le clic et l'autorisation dans un mail GRDF lors de la première connexion. Des risques de perte dans le parcours persistent donc.
+
+Pour la Métropole de Lyon, ce parcours implique de nouvelles responsabilités dans la gestion et le stockage des informations liées au consentement de l'utilisateur. Le backoffice créé dans le cadre de la mise en place du parcours avec l'API SGE côté électricité est repris.
+
+**—> Nous avons donc fait le choix de privilégier le parcours utilisateurs vs difficultés techniques et risques juridiques portés par notre collectivité.**
+
   </div>
 </details>
 
diff --git a/docs/konnectors/0-index.md b/docs/konnectors/0-index.md
index bcb2f1c7b59acc9a53ce43da12405a4b1ab4a401..59960a2b8e8f83b1c46b8f3a1d0edec36a4c6ee4 100644
--- a/docs/konnectors/0-index.md
+++ b/docs/konnectors/0-index.md
@@ -30,3 +30,30 @@ Some variation have to be considered :
 - [enedis sge](https://forge.grandlyon.com/web-et-numerique/factory/llle_project/enedis-sge-konnector)
 - [grdf](https://forge.grandlyon.com/web-et-numerique/factory/llle_project/grdf-konnector)
 - [egl](https://forge.grandlyon.com/web-et-numerique/factory/llle_project/egl-konnector)
+
+## Working with konnectors locally
+
+### Cozy resources
+
+Please see also the [official cozy documentation](https://docs.cozy.io/en/cozy-konnector-libs/).
+
+### Run a konnector locally
+
+To develop a konnector or test it, you will need to be able to run a konnector without the constraints imposed by the cozy stack.
+
+To help you, cozy developed a **standalone** mode for konnectors.
+Simply launch it by typing:
+
+`yarn standalone`
+
+This command will create a **konnector-dev-config.json** file if it was not in your project folder before.
+This file needs to hold all the information transmitted by the cozy stack when the konnector runs by default
+
+- baseUrl
+- apiAuthKey
+- login
+- password and so on...
+
+Type them all in the *fields* object.
+
+All data recovered by the standalone konnector will be stored in the *data* folder.
diff --git a/docs/konnectors/egl.md b/docs/konnectors/egl.md
index 2c53b29bbb6528cd1e0bd23f43909d0f333e1765..861032364917eaa7217ab33632d60d923b76a539 100644
--- a/docs/konnectors/egl.md
+++ b/docs/konnectors/egl.md
@@ -1,4 +1,4 @@
-# EGL Konnector
+# EGL
 
 [EGL repository](https://forge.grandlyon.com/web-et-numerique/factory/llle_project/egl-konnector).
 
diff --git a/docs/konnectors/enedis-sge.md b/docs/konnectors/enedis-sge.md
index 31985e3600f6219dd1cb99ae248994e53fa7b8dd..db2d89fc95b71383717348fc0608505fd981768c 100644
--- a/docs/konnectors/enedis-sge.md
+++ b/docs/konnectors/enedis-sge.md
@@ -1,4 +1,4 @@
-# Enedis SGE Konnector
+# Enedis SGE
 
 This konnector fetches consumption measures from Enedis SGE SOAP API.
 
@@ -383,7 +383,7 @@ Data Route : **enedis_SGE_ConsultationDonneesTechniquesContractuelles/1.0**
 
 #### Contract deletion and creation on same day
 
-If you stop a contract on a day, (for exemple 8/08/22), you cannot start a new contract for this date with [start contract route](./enedis-sge.md#user_contract_start). You have to wait for the next day. This might cause some production issues
+If you stop a contract on a day, (for exemple 8/08/22), you cannot start a new contract for this date with [start contract route](./enedis-sge.md#start-user-contract). You have to wait for the next day. This might cause some production issues
 
 #### User data collect opposition
 
diff --git a/docs/konnectors/grdf-td.md b/docs/konnectors/grdf-td.md
index 4fcad1b21e7479d24b476cf02db1ade4b127cc6f..7ad36f4abd403a9d70706d7efba899af3bea1b49 100644
--- a/docs/konnectors/grdf-td.md
+++ b/docs/konnectors/grdf-td.md
@@ -1,7 +1,7 @@
 
 # GRDF Tiers Direct
 
-Le connecteur GRDF Tiers Direct prend place dans un contexte où le parcours [Client Connect](./grdf.md) se complexifie et rend l'accès à la donnée trop compliqué pour nos utilisateurs.
+Le connecteur GRDF Tiers Direct prend place dans un contexte où le parcours [Client Connect](../archive/grdf.md) se complexifie et rend l'accès à la donnée trop compliqué pour nos utilisateurs.
 
 Le parcours **"Tiers Direct"** vise à déléguer cette complexité en laissant la gestion du consentement et de son périmètre au tiers (Métropole de Lyon).
 
@@ -58,33 +58,57 @@ Exemple : Un utilisateur crée sa demande à 9h31. Il va recevoir son mail à 9h
 
 :::
 
-![alt text](./grdf-mail.png)
+:::warning Tiers multiples
+
+Il arrive sur le tiers "Hello Watt" sans aucun accès en attente alors que le mail précise bien que le droit vient de la Métropole de Lyon. S'agit-il d'une anomalie ?
+
+> Le lien donne accès à tous les demandes faites par les prestataires et pas seulement un seul Tiers.
+>
+> Par exemple, un Client donne l'autorisation à 3 prestataires d'accéder à ses consommations. Une fois qu'il a donné toutes les autorisations, il verra sur un seul IHM les 3 accès, plutot que d'avoir 3 IHM différents.
+>
+> Je crois que ce point est déjà remonté à notre équipe technique par votre société pour améliorer la visibilité.
+
+:::
+
+![mail de demande d'accès](./grdf-mail.png)
 
 #### Statut des droits accès (consentements)
 
-Un utilisateur peut avoir plusieurs consentements. Chaque consentement peut avoir différents états *(voir schéma GRDF)*
+Un utilisateur peut avoir plusieurs consentements. Chaque consentement peut avoir différents états *(voir schéma GRDF issue de la [documentation fonctionnelle GRDF](https://sites.grdf.fr/web/portail-api-grdf-adict/documentation_fonctionnelle))*
 
 ![grdf consents](./grdf-consents.png)
 
-Capture d'écran issue de la documentation fonctionnelle GRDF (https://sites.grdf.fr/web/portail-api-grdf-adict/documentation_fonctionnelle)
-
 Le connecteur se base sur l'état des consentements pour déterminer l'accès à la donnée.
 
-:::tip Accès à la donnée
+:::info État "A valider"
+Lorsqu'une demande d'accès est créée chez GRDF, un email est envoyé au titulaire de la demande de consentement. Il dispose de 3 jours pour valider ou refuser la demande.
+
+Si aucune action n'est faite, l'état du Droit d'accès passera automatiquement à **"Refusée"**.
+:::
+
+:::tip État "Active"
 L'accès à la donnée est réalisable avec le statut **"Active"**
 :::
 
-:::danger Révocation
+:::danger État "Révoquée"
 La révocation se traduit par une action explicite de l'utilisateur. C'est à dire lorsque l'utilisateur clique sur "Refuser" dans l'interface GRDF.
 
 Cette action va marquer le consentement comme **"Révoquée"**
 
-❌ Cette action va notamment **bloquer** la création d'un nouveau consentement. Pour débloquer cette révocation, il faut contacter le support GRDF (https://sites.grdf.fr/web/portail-api-grdf-adict/support2).
+❌ Cette action va **bloquer la création d'un nouveau consentement**. Pour débloquer cette révocation, il faut contacter le support GRDF (https://sites.grdf.fr/web/portail-api-grdf-adict/support2). ❌
+:::
+
+:::info État "Refusée"
+
+Si l'utilisateur n'a pas validé son consentement, l'état "Refusée" est obtenu. Le connecteur va supprimer le consentement backoffice.
+
+Lors d'un lancement manuel, cet état n’arrête pas le connecteur et créé un consentement.
+
 :::
 
 :::note État "à revérifier"
 
-Extrait documentation GRDF : 
+Extrait documentation GRDF :
 > En cas de changement de données contractuelles, un Droit d'accès se met à l'état **"A revérifier"** pendant quelques jours, le temps de procéder à une mise à jour.
 >
 > C'est un processus automatique, vous n'aurez rien à intervenir ou lancer un autre appel. Au bout de quelques jours au plus, le Droit d'accès revient automatiquement à l'état "Active" si le Titulaire est toujours le même, ou "Obsolète" si le Titulaire a changé.
@@ -94,21 +118,13 @@ Extrait documentation GRDF :
 
 :::note État "Obsolète" :
 
-Extrait documentation GRDF : 
+Extrait documentation GRDF :
 
 > Il est tout à fait possible de refaire immédiatement une nouvelle déclaration après que le Droit d'accès soit passé à **"Obsolète"**. Cela vaut aussi pour un Droit d'accès à l'état "Refusé".
 >
 > Seul l'état "Révoqué" entraîne le blocage de déclaration.
 :::
 
-:::info État "Refusée"
-
-Si l'utilisateur n'a pas validé son consentement, l'état "Refusée" est obtenu. Le connecteur va supprimer le consentement backoffice.
-
-Lors d'un lancement manuel, cet état n’arrête pas le connecteur et créé un consentement.
-
-:::
-
 ## Liens
 
 ### [Documentation fonctionnelle GRDF](https://sites.grdf.fr/web/portail-api-grdf-adict/documentation_fonctionnelle)
@@ -132,8 +148,7 @@ Des utilisateurs pourraient donc avoir dans leurs droits d'accès sur la périod
 
 #### Erreurs 429
 
-En raison des quotas stipulés dans l'atelier technique et fonctionnel, il arrive que des requêtes échouent et renvoient une erreur non métier `error : { reasons: [], details: { msgId: 'Id-262fca65f174f4019691ee56' } }` ce type de retour se produit dans les [cas d'erreurs **429**](https://forge.grandlyon.com/web-et-numerique/factory/llle_project/grdf-konnector/-/issues/17#note_118439). Ce quota peut-être dépassé si nous faisons plus de 6000 appels par jours ou plus d'1 appel/seconde. 
-
+En raison des quotas stipulés dans l'atelier technique et fonctionnel, il arrive que des requêtes échouent et renvoient une erreur non métier `error : { reasons: [], details: { msgId: 'Id-262fca65f174f4019691ee56' } }` ce type de retour se produit dans les [cas d'erreurs **429**](https://forge.grandlyon.com/web-et-numerique/factory/llle_project/grdf-konnector/-/issues/17#note_118439). Ce quota peut-être dépassé si nous faisons plus de 6000 appels par jours ou plus d'1 appel/seconde.
 
 #### BAS
 
@@ -143,7 +158,7 @@ GRDF dispose d'un Bac À Sable pour réaliser des tests. Au moment des développ
 
 Pouvez-vous nous confirmer qu'il est impossible (blocage technique opéré de votre côté) d'ouvrir un consentement sur un contrat expiré ?
 
-Réponse GRDF : 
+Réponse GRDF :
 > Effectivement, quand on essaie d'ouvrir un Droit d'accès sur un compteur mis hors service (c'est à dire qu'il n'y a aucun Contrat gaz dessus), on reçoit le message d'erreur "Le Contrat de fourniture est échu".
 >
 > Il n'est donc pas possible d'ouvrir le Droit d'accès sur un compteur mis hors service, nos systèmes le bloquent automatiquement.
@@ -152,7 +167,7 @@ Réponse GRDF :
 
 Est-il possible, sur un contrat expiré, de consulter les données historiques (jusqu'à la date d'expiration du contrat) ?
 
-Réponse GRDF : 
+Réponse GRDF :
 
 > Au moment où le Compteur a été mis hors service (c'est à dire que le Contrat est résilié) alors que le Tiers dispose encore d'un Droit d'accès sur ce compteur, alors l'accès deviendra automatiquement obsolète et il n'est plus possible de consulter toute donnée, que ce soit le suivi ou l'historique.
 >
diff --git a/docs/konnectors/launch_local_konnector.md b/docs/konnectors/launch_local_konnector.md
deleted file mode 100644
index 6f3089f05ee68509cc01e5ac5e8dde050079214f..0000000000000000000000000000000000000000
--- a/docs/konnectors/launch_local_konnector.md
+++ /dev/null
@@ -1,26 +0,0 @@
-# Working with konnectors locally
-
-## Cozy resources
-
-Please see also the [official cozy documentation](https://docs.cozy.io/en/cozy-konnector-libs/).
-
-## Run a konnector locally
-
-To develop a konnector or test it, you will need to be able to run a konnector without the constraints imposed by the cozy stack.
-
-To help you, cozy developed a **standalone** mode for konnectors.
-Simply launch it by typing:
-
-`yarn standalone`
-
-This command will create a **konnector-dev-config.json** file if it was not in your project folder before.
-This file needs to hold all the information transmitted by the cozy stack when the konnector runs by default
-
-- baseUrl
-- apiAuthKey
-- login
-- password and so on...
-
-Type them all in the *fields* object.
-
-All data recovered by the standalone konnector will be stored in the *data* folder.
diff --git a/docs/proxy/monitoring.md b/docs/monitoring.md
similarity index 100%
rename from docs/proxy/monitoring.md
rename to docs/monitoring.md
diff --git a/docusaurus.config.ts b/docusaurus.config.ts
index b1c640705670c56fd4284f067be7d1fc481580c5..53476af74cdb7b8ad24aae21e4b56d06f0708157 100644
--- a/docusaurus.config.ts
+++ b/docusaurus.config.ts
@@ -73,16 +73,16 @@ const config: Config = {
         //   position: 'left',
         //   label: 'Ecolyo',
         // },
+        { to: '/docs/getting-started/setup', label: 'Getting started' },
         { to: '/docs/ecolyo/', label: 'Ecolyo' },
         { to: '/docs/ecolyo-agent/', label: 'Ecolyo Agent' },
         { to: '/docs/konnectors/introduction', label: 'Konnectors' },
-        { to: '/docs/getting-started/setup', label: 'Getting started' },
         {
           type: 'dropdown',
           label: 'Infra',
           items: [
             { to: '/docs/openshift', label: 'Openshift' },
-            { to: '/docs/proxy/description', label: 'Proxy' },
+            { to: '/docs/monitoring', label: 'Monitoring' },
           ],
         },
         {
@@ -99,7 +99,18 @@ const config: Config = {
           type: 'dropdown',
           label: 'Archive',
           position: 'right',
-          items: [{ to: '/docs/pilote', label: 'Pilote' }],
+          items: [
+            { to: '/docs/archive/pilote', label: 'Pilote' },
+            { to: '/docs/archive/proxy', label: 'Proxy' },
+            {
+              label: 'GRDF Client Connect',
+              to: '/docs/archive/grdf',
+            },
+            {
+              label: 'Enedis Data Connect',
+              to: '/docs/archive/enedis',
+            },
+          ],
         },
         {
           href: 'https://forge.grandlyon.com/web-et-numerique/factory/llle_project/self-data-technical-doc',
diff --git a/package.json b/package.json
index f9e3d6afbd20a6032373d9d0372ff17c151be06e..1af0f8db32bf99a428d24db8563f8db6b7671250 100644
--- a/package.json
+++ b/package.json
@@ -16,9 +16,9 @@
   },
   "dependencies": {
     "@akebifiky/remark-simple-plantuml": "^1.0.2",
-    "@docusaurus/core": "3.3.2",
-    "@docusaurus/preset-classic": "3.3.2",
-    "@docusaurus/theme-mermaid": "^3.3.2",
+    "@docusaurus/core": "^3.4.0",
+    "@docusaurus/preset-classic": "^3.4.0",
+    "@docusaurus/theme-mermaid": "^3.4.0",
     "@mdx-js/react": "^3.0.0",
     "clsx": "^2.1.1",
     "docusaurus-lunr-search": "^3.3.2",
@@ -27,7 +27,7 @@
     "react-dom": "^18.3.1"
   },
   "devDependencies": {
-    "@docusaurus/module-type-aliases": "3.3.2",
+    "@docusaurus/module-type-aliases": "^3.4.0",
     "@docusaurus/tsconfig": "3.3.2",
     "@docusaurus/types": "3.3.2",
     "typescript": "~5.4.5"
diff --git a/sidebars.ts b/sidebars.ts
index 2bc52bb058f1cecc9bf73fafaf8bbc52d3f3fabc..fe6bb0e63dd880bc5075265133e3ca01c69f7810 100644
--- a/sidebars.ts
+++ b/sidebars.ts
@@ -20,8 +20,7 @@ const sidebars: SidebarsConfig = {
   gettingStarted: [{ type: 'autogenerated', dirName: 'getting-started' }],
   konnectors: [{ type: 'autogenerated', dirName: 'konnectors' }],
   openshift: [{ type: 'autogenerated', dirName: 'openshift' }],
-  pilote: [{ type: 'autogenerated', dirName: 'pilote' }],
-  proxy: [{ type: 'autogenerated', dirName: 'cozystack' }],
+  archive: [{ type: 'autogenerated', dirName: 'archive' }],
   // this custom sidebar allows isolation inside the page but requires much more configuration
   // ecolyoSidebar: [
   //   { type: 'doc', id: 'ecolyo/index', label: 'Introduction' },
diff --git a/yarn.lock b/yarn.lock
index 7d3b08f2fccab28cc293f2771349f34a3a64779f..568f35020c15df597a7d2ad7699cf366d6a29612 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1961,10 +1961,10 @@
     "@docsearch/css" "3.5.2"
     algoliasearch "^4.19.1"
 
-"@docusaurus/core@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.3.2.tgz#67b8cd5329b32f47515ecf12eb7aa306dfc69922"
-  integrity sha512-PzKMydKI3IU1LmeZQDi+ut5RSuilbXnA8QdowGeJEgU8EJjmx3rBHNT1LxQxOVqNEwpWi/csLwd9bn7rUjggPA==
+"@docusaurus/core@3.4.0", "@docusaurus/core@^3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/core/-/core-3.4.0.tgz#bdbf1af4b2f25d1bf4a5b62ec6137d84c821cb3c"
+  integrity sha512-g+0wwmN2UJsBqy2fQRQ6fhXruoEa62JDeEa5d8IdTJlMoaDaEDfHh7WjwGRn4opuTQWpjAwP/fbcgyHKlE+64w==
   dependencies:
     "@babel/core" "^7.23.3"
     "@babel/generator" "^7.23.3"
@@ -1976,12 +1976,12 @@
     "@babel/runtime" "^7.22.6"
     "@babel/runtime-corejs3" "^7.22.6"
     "@babel/traverse" "^7.22.8"
-    "@docusaurus/cssnano-preset" "3.3.2"
-    "@docusaurus/logger" "3.3.2"
-    "@docusaurus/mdx-loader" "3.3.2"
-    "@docusaurus/utils" "3.3.2"
-    "@docusaurus/utils-common" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+    "@docusaurus/cssnano-preset" "3.4.0"
+    "@docusaurus/logger" "3.4.0"
+    "@docusaurus/mdx-loader" "3.4.0"
+    "@docusaurus/utils" "3.4.0"
+    "@docusaurus/utils-common" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     autoprefixer "^10.4.14"
     babel-loader "^9.1.3"
     babel-plugin-dynamic-import-node "^2.3.3"
@@ -2035,32 +2035,32 @@
     webpack-merge "^5.9.0"
     webpackbar "^5.0.2"
 
-"@docusaurus/cssnano-preset@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.3.2.tgz#fb971b3e89fe6821721782124b430b2795faeb38"
-  integrity sha512-+5+epLk/Rp4vFML4zmyTATNc3Is+buMAL6dNjrMWahdJCJlMWMPd/8YfU+2PA57t8mlSbhLJ7vAZVy54cd1vRQ==
+"@docusaurus/cssnano-preset@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/cssnano-preset/-/cssnano-preset-3.4.0.tgz#dc7922b3bbeabcefc9b60d0161680d81cf72c368"
+  integrity sha512-qwLFSz6v/pZHy/UP32IrprmH5ORce86BGtN0eBtG75PpzQJAzp9gefspox+s8IEOr0oZKuQ/nhzZ3xwyc3jYJQ==
   dependencies:
     cssnano-preset-advanced "^6.1.2"
     postcss "^8.4.38"
     postcss-sort-media-queries "^5.2.0"
     tslib "^2.6.0"
 
-"@docusaurus/logger@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.3.2.tgz#f43f7e08d4f5403be6a7196659490053e248325f"
-  integrity sha512-Ldu38GJ4P8g4guN7d7pyCOJ7qQugG7RVyaxrK8OnxuTlaImvQw33aDRwaX2eNmX8YK6v+//Z502F4sOZbHHCHQ==
+"@docusaurus/logger@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/logger/-/logger-3.4.0.tgz#8b0ac05c7f3dac2009066e2f964dee8209a77403"
+  integrity sha512-bZwkX+9SJ8lB9kVRkXw+xvHYSMGG4bpYHKGXeXFvyVc79NMeeBSGgzd4TQLHH+DYeOJoCdl8flrFJVxlZ0wo/Q==
   dependencies:
     chalk "^4.1.2"
     tslib "^2.6.0"
 
-"@docusaurus/mdx-loader@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.3.2.tgz#424e3ffac8bcdeba27d8c0eb84a04736702fc187"
-  integrity sha512-AFRxj/aOk3/mfYDPxE3wTbrjeayVRvNSZP7mgMuUlrb2UlPRbSVAFX1k2RbgAJrnTSwMgb92m2BhJgYRfptN3g==
+"@docusaurus/mdx-loader@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/mdx-loader/-/mdx-loader-3.4.0.tgz#483d7ab57928fdbb5c8bd1678098721a930fc5f6"
+  integrity sha512-kSSbrrk4nTjf4d+wtBA9H+FGauf2gCax89kV8SUSJu3qaTdSIKdWERlngsiHaCFgZ7laTJ8a67UFf+xlFPtuTw==
   dependencies:
-    "@docusaurus/logger" "3.3.2"
-    "@docusaurus/utils" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+    "@docusaurus/logger" "3.4.0"
+    "@docusaurus/utils" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     "@mdx-js/mdx" "^3.0.0"
     "@slorber/remark-comment" "^1.0.0"
     escape-html "^1.0.3"
@@ -2083,12 +2083,12 @@
     vfile "^6.0.1"
     webpack "^5.88.1"
 
-"@docusaurus/module-type-aliases@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.3.2.tgz#02534449d08d080fd52dc9e046932bb600c38b01"
-  integrity sha512-b/XB0TBJah5yKb4LYuJT4buFvL0MGAb0+vJDrJtlYMguRtsEBkf2nWl5xP7h4Dlw6ol0hsHrCYzJ50kNIOEclw==
+"@docusaurus/module-type-aliases@3.4.0", "@docusaurus/module-type-aliases@^3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/module-type-aliases/-/module-type-aliases-3.4.0.tgz#2653bde58fc1aa3dbc626a6c08cfb63a37ae1bb8"
+  integrity sha512-A1AyS8WF5Bkjnb8s+guTDuYmUiwJzNrtchebBHpc0gz0PyHJNMaybUlSrmJjHVcGrya0LKI4YcR3lBDQfXRYLw==
   dependencies:
-    "@docusaurus/types" "3.3.2"
+    "@docusaurus/types" "3.4.0"
     "@types/history" "^4.7.11"
     "@types/react" "*"
     "@types/react-router-config" "*"
@@ -2096,18 +2096,18 @@
     react-helmet-async "*"
     react-loadable "npm:@docusaurus/react-loadable@6.0.0"
 
-"@docusaurus/plugin-content-blog@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.3.2.tgz#6496714b071447687ead1472e5756bfb1ae065d0"
-  integrity sha512-fJU+dmqp231LnwDJv+BHVWft8pcUS2xVPZdeYH6/ibH1s2wQ/sLcmUrGWyIv/Gq9Ptj8XWjRPMghlxghuPPoxg==
-  dependencies:
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/logger" "3.3.2"
-    "@docusaurus/mdx-loader" "3.3.2"
-    "@docusaurus/types" "3.3.2"
-    "@docusaurus/utils" "3.3.2"
-    "@docusaurus/utils-common" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+"@docusaurus/plugin-content-blog@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.4.0.tgz#6373632fdbababbda73a13c4a08f907d7de8f007"
+  integrity sha512-vv6ZAj78ibR5Jh7XBUT4ndIjmlAxkijM3Sx5MAAzC1gyv0vupDQNhzuFg1USQmQVj3P5I6bquk12etPV3LJ+Xw==
+  dependencies:
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/logger" "3.4.0"
+    "@docusaurus/mdx-loader" "3.4.0"
+    "@docusaurus/types" "3.4.0"
+    "@docusaurus/utils" "3.4.0"
+    "@docusaurus/utils-common" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     cheerio "^1.0.0-rc.12"
     feed "^4.2.2"
     fs-extra "^11.1.1"
@@ -2119,19 +2119,19 @@
     utility-types "^3.10.0"
     webpack "^5.88.1"
 
-"@docusaurus/plugin-content-docs@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.3.2.tgz#dadfbb94acfb0b74fae12db51f425c4379e30087"
-  integrity sha512-Dm1ri2VlGATTN3VGk1ZRqdRXWa1UlFubjaEL6JaxaK7IIFqN/Esjpl+Xw10R33loHcRww/H76VdEeYayaL76eg==
-  dependencies:
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/logger" "3.3.2"
-    "@docusaurus/mdx-loader" "3.3.2"
-    "@docusaurus/module-type-aliases" "3.3.2"
-    "@docusaurus/types" "3.3.2"
-    "@docusaurus/utils" "3.3.2"
-    "@docusaurus/utils-common" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+"@docusaurus/plugin-content-docs@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.4.0.tgz#3088973f72169a2a6d533afccec7153c8720d332"
+  integrity sha512-HkUCZffhBo7ocYheD9oZvMcDloRnGhBMOZRyVcAQRFmZPmNqSyISlXA1tQCIxW+r478fty97XXAGjNYzBjpCsg==
+  dependencies:
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/logger" "3.4.0"
+    "@docusaurus/mdx-loader" "3.4.0"
+    "@docusaurus/module-type-aliases" "3.4.0"
+    "@docusaurus/types" "3.4.0"
+    "@docusaurus/utils" "3.4.0"
+    "@docusaurus/utils-common" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     "@types/react-router-config" "^5.0.7"
     combine-promises "^1.1.0"
     fs-extra "^11.1.1"
@@ -2141,114 +2141,114 @@
     utility-types "^3.10.0"
     webpack "^5.88.1"
 
-"@docusaurus/plugin-content-pages@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.3.2.tgz#04fc18d1925618c1102b111b85e6376442c1b7a9"
-  integrity sha512-EKc9fQn5H2+OcGER8x1aR+7URtAGWySUgULfqE/M14+rIisdrBstuEZ4lUPDRrSIexOVClML82h2fDS+GSb8Ew==
-  dependencies:
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/mdx-loader" "3.3.2"
-    "@docusaurus/types" "3.3.2"
-    "@docusaurus/utils" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+"@docusaurus/plugin-content-pages@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.4.0.tgz#1846172ca0355c7d32a67ef8377750ce02bbb8ad"
+  integrity sha512-h2+VN/0JjpR8fIkDEAoadNjfR3oLzB+v1qSXbIAKjQ46JAHx3X22n9nqS+BWSQnTnp1AjkjSvZyJMekmcwxzxg==
+  dependencies:
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/mdx-loader" "3.4.0"
+    "@docusaurus/types" "3.4.0"
+    "@docusaurus/utils" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     fs-extra "^11.1.1"
     tslib "^2.6.0"
     webpack "^5.88.1"
 
-"@docusaurus/plugin-debug@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.3.2.tgz#bb25fac2cb705eff7857b435219faef907ba949e"
-  integrity sha512-oBIBmwtaB+YS0XlmZ3gCO+cMbsGvIYuAKkAopoCh0arVjtlyPbejzPrHuCoRHB9G7abjNZw7zoONOR8+8LM5+Q==
+"@docusaurus/plugin-debug@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-debug/-/plugin-debug-3.4.0.tgz#74e4ec5686fa314c26f3ac150bacadbba7f06948"
+  integrity sha512-uV7FDUNXGyDSD3PwUaf5YijX91T5/H9SX4ErEcshzwgzWwBtK37nUWPU3ZLJfeTavX3fycTOqk9TglpOLaWkCg==
   dependencies:
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/types" "3.3.2"
-    "@docusaurus/utils" "3.3.2"
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/types" "3.4.0"
+    "@docusaurus/utils" "3.4.0"
     fs-extra "^11.1.1"
     react-json-view-lite "^1.2.0"
     tslib "^2.6.0"
 
-"@docusaurus/plugin-google-analytics@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.3.2.tgz#6e51ee8593c79172ed2b2ac4d33e300f04bfbc87"
-  integrity sha512-jXhrEIhYPSClMBK6/IA8qf1/FBoxqGXZvg7EuBax9HaK9+kL3L0TJIlatd8jQJOMtds8mKw806TOCc3rtEad1A==
+"@docusaurus/plugin-google-analytics@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.4.0.tgz#5f59fc25329a59decc231936f6f9fb5663da3c55"
+  integrity sha512-mCArluxEGi3cmYHqsgpGGt3IyLCrFBxPsxNZ56Mpur0xSlInnIHoeLDH7FvVVcPJRPSQ9/MfRqLsainRw+BojA==
   dependencies:
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/types" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/types" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     tslib "^2.6.0"
 
-"@docusaurus/plugin-google-gtag@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.3.2.tgz#f8126dfe1dfa6e722157d7301430da40b97354ba"
-  integrity sha512-vcrKOHGbIDjVnNMrfbNpRQR1x6Jvcrb48kVzpBAOsKbj9rXZm/idjVAXRaewwobHdOrJkfWS/UJoxzK8wyLRBQ==
+"@docusaurus/plugin-google-gtag@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.4.0.tgz#42489ac5fe1c83b5523ceedd5ef74f9aa8bc251b"
+  integrity sha512-Dsgg6PLAqzZw5wZ4QjUYc8Z2KqJqXxHxq3vIoyoBWiLEEfigIs7wHR+oiWUQy3Zk9MIk6JTYj7tMoQU0Jm3nqA==
   dependencies:
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/types" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/types" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     "@types/gtag.js" "^0.0.12"
     tslib "^2.6.0"
 
-"@docusaurus/plugin-google-tag-manager@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.3.2.tgz#7ce4cf4da6ef177d63bd83beafc4a45428ff01e2"
-  integrity sha512-ldkR58Fdeks0vC+HQ+L+bGFSJsotQsipXD+iKXQFvkOfmPIV6QbHRd7IIcm5b6UtwOiK33PylNS++gjyLUmaGw==
+"@docusaurus/plugin-google-tag-manager@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.4.0.tgz#cebb03a5ffa1e70b37d95601442babea251329ff"
+  integrity sha512-O9tX1BTwxIhgXpOLpFDueYA9DWk69WCbDRrjYoMQtFHSkTyE7RhNgyjSPREUWJb9i+YUg3OrsvrBYRl64FCPCQ==
   dependencies:
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/types" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/types" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     tslib "^2.6.0"
 
-"@docusaurus/plugin-sitemap@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.3.2.tgz#f64fba6f03ebc14fdf55434aa2219bf80f752a13"
-  integrity sha512-/ZI1+bwZBhAgC30inBsHe3qY9LOZS+79fRGkNdTcGHRMcdAp6Vw2pCd1gzlxd/xU+HXsNP6cLmTOrggmRp3Ujg==
-  dependencies:
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/logger" "3.3.2"
-    "@docusaurus/types" "3.3.2"
-    "@docusaurus/utils" "3.3.2"
-    "@docusaurus/utils-common" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+"@docusaurus/plugin-sitemap@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.4.0.tgz#b091d64d1e3c6c872050189999580187537bcbc6"
+  integrity sha512-+0VDvx9SmNrFNgwPoeoCha+tRoAjopwT0+pYO1xAbyLcewXSemq+eLxEa46Q1/aoOaJQ0qqHELuQM7iS2gp33Q==
+  dependencies:
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/logger" "3.4.0"
+    "@docusaurus/types" "3.4.0"
+    "@docusaurus/utils" "3.4.0"
+    "@docusaurus/utils-common" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     fs-extra "^11.1.1"
     sitemap "^7.1.1"
     tslib "^2.6.0"
 
-"@docusaurus/preset-classic@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.3.2.tgz#1c89b5f35f9e727a1c91bc03eb25a5b42b7d67a6"
-  integrity sha512-1SDS7YIUN1Pg3BmD6TOTjhB7RSBHJRpgIRKx9TpxqyDrJ92sqtZhomDc6UYoMMLQNF2wHFZZVGFjxJhw2VpL+Q==
-  dependencies:
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/plugin-content-blog" "3.3.2"
-    "@docusaurus/plugin-content-docs" "3.3.2"
-    "@docusaurus/plugin-content-pages" "3.3.2"
-    "@docusaurus/plugin-debug" "3.3.2"
-    "@docusaurus/plugin-google-analytics" "3.3.2"
-    "@docusaurus/plugin-google-gtag" "3.3.2"
-    "@docusaurus/plugin-google-tag-manager" "3.3.2"
-    "@docusaurus/plugin-sitemap" "3.3.2"
-    "@docusaurus/theme-classic" "3.3.2"
-    "@docusaurus/theme-common" "3.3.2"
-    "@docusaurus/theme-search-algolia" "3.3.2"
-    "@docusaurus/types" "3.3.2"
-
-"@docusaurus/theme-classic@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.3.2.tgz#44489580e034a6f5b877ec8bfd1203e226b4a4ab"
-  integrity sha512-gepHFcsluIkPb4Im9ukkiO4lXrai671wzS3cKQkY9BXQgdVwsdPf/KS0Vs4Xlb0F10fTz+T3gNjkxNEgSN9M0A==
-  dependencies:
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/mdx-loader" "3.3.2"
-    "@docusaurus/module-type-aliases" "3.3.2"
-    "@docusaurus/plugin-content-blog" "3.3.2"
-    "@docusaurus/plugin-content-docs" "3.3.2"
-    "@docusaurus/plugin-content-pages" "3.3.2"
-    "@docusaurus/theme-common" "3.3.2"
-    "@docusaurus/theme-translations" "3.3.2"
-    "@docusaurus/types" "3.3.2"
-    "@docusaurus/utils" "3.3.2"
-    "@docusaurus/utils-common" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+"@docusaurus/preset-classic@^3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/preset-classic/-/preset-classic-3.4.0.tgz#6082a32fbb465b0cb2c2a50ebfc277cff2c0f139"
+  integrity sha512-Ohj6KB7siKqZaQhNJVMBBUzT3Nnp6eTKqO+FXO3qu/n1hJl3YLwVKTWBg28LF7MWrKu46UuYavwMRxud0VyqHg==
+  dependencies:
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/plugin-content-blog" "3.4.0"
+    "@docusaurus/plugin-content-docs" "3.4.0"
+    "@docusaurus/plugin-content-pages" "3.4.0"
+    "@docusaurus/plugin-debug" "3.4.0"
+    "@docusaurus/plugin-google-analytics" "3.4.0"
+    "@docusaurus/plugin-google-gtag" "3.4.0"
+    "@docusaurus/plugin-google-tag-manager" "3.4.0"
+    "@docusaurus/plugin-sitemap" "3.4.0"
+    "@docusaurus/theme-classic" "3.4.0"
+    "@docusaurus/theme-common" "3.4.0"
+    "@docusaurus/theme-search-algolia" "3.4.0"
+    "@docusaurus/types" "3.4.0"
+
+"@docusaurus/theme-classic@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/theme-classic/-/theme-classic-3.4.0.tgz#1b0f48edec3e3ec8927843554b9f11e5927b0e52"
+  integrity sha512-0IPtmxsBYv2adr1GnZRdMkEQt1YW6tpzrUPj02YxNpvJ5+ju4E13J5tB4nfdaen/tfR1hmpSPlTFPvTf4kwy8Q==
+  dependencies:
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/mdx-loader" "3.4.0"
+    "@docusaurus/module-type-aliases" "3.4.0"
+    "@docusaurus/plugin-content-blog" "3.4.0"
+    "@docusaurus/plugin-content-docs" "3.4.0"
+    "@docusaurus/plugin-content-pages" "3.4.0"
+    "@docusaurus/theme-common" "3.4.0"
+    "@docusaurus/theme-translations" "3.4.0"
+    "@docusaurus/types" "3.4.0"
+    "@docusaurus/utils" "3.4.0"
+    "@docusaurus/utils-common" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     "@mdx-js/react" "^3.0.0"
     clsx "^2.0.0"
     copy-text-to-clipboard "^3.2.0"
@@ -2263,18 +2263,18 @@
     tslib "^2.6.0"
     utility-types "^3.10.0"
 
-"@docusaurus/theme-common@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.3.2.tgz#26f8a6d26ea6c297350887f614c6dac73c2ede4a"
-  integrity sha512-kXqSaL/sQqo4uAMQ4fHnvRZrH45Xz2OdJ3ABXDS7YVGPSDTBC8cLebFrRR4YF9EowUHto1UC/EIklJZQMG/usA==
-  dependencies:
-    "@docusaurus/mdx-loader" "3.3.2"
-    "@docusaurus/module-type-aliases" "3.3.2"
-    "@docusaurus/plugin-content-blog" "3.3.2"
-    "@docusaurus/plugin-content-docs" "3.3.2"
-    "@docusaurus/plugin-content-pages" "3.3.2"
-    "@docusaurus/utils" "3.3.2"
-    "@docusaurus/utils-common" "3.3.2"
+"@docusaurus/theme-common@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/theme-common/-/theme-common-3.4.0.tgz#01f2b728de6cb57f6443f52fc30675cf12a5d49f"
+  integrity sha512-0A27alXuv7ZdCg28oPE8nH/Iz73/IUejVaCazqu9elS4ypjiLhK3KfzdSQBnL/g7YfHSlymZKdiOHEo8fJ0qMA==
+  dependencies:
+    "@docusaurus/mdx-loader" "3.4.0"
+    "@docusaurus/module-type-aliases" "3.4.0"
+    "@docusaurus/plugin-content-blog" "3.4.0"
+    "@docusaurus/plugin-content-docs" "3.4.0"
+    "@docusaurus/plugin-content-pages" "3.4.0"
+    "@docusaurus/utils" "3.4.0"
+    "@docusaurus/utils-common" "3.4.0"
     "@types/history" "^4.7.11"
     "@types/react" "*"
     "@types/react-router-config" "*"
@@ -2284,32 +2284,32 @@
     tslib "^2.6.0"
     utility-types "^3.10.0"
 
-"@docusaurus/theme-mermaid@^3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/theme-mermaid/-/theme-mermaid-3.3.2.tgz#55f385cb79838f12cdc98965bcf4e6dd788c5398"
-  integrity sha512-JY6q7owe5S5iH2N9oTjNDkqmuPW/+4j/zrX46Xag4RYOzt+WtMkeJilbzak8QGG8I2wDJXjUvX7Lu/jWuDAwUg==
-  dependencies:
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/module-type-aliases" "3.3.2"
-    "@docusaurus/theme-common" "3.3.2"
-    "@docusaurus/types" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+"@docusaurus/theme-mermaid@^3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/theme-mermaid/-/theme-mermaid-3.4.0.tgz#ef1d2231d0858767f67538b4fafd7d0ce2a3e845"
+  integrity sha512-3w5QW0HEZ2O6x2w6lU3ZvOe1gNXP2HIoKDMJBil1VmLBc9PmpAG17VmfhI/p3L2etNmOiVs5GgniUqvn8AFEGQ==
+  dependencies:
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/module-type-aliases" "3.4.0"
+    "@docusaurus/theme-common" "3.4.0"
+    "@docusaurus/types" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     mermaid "^10.4.0"
     tslib "^2.6.0"
 
-"@docusaurus/theme-search-algolia@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.3.2.tgz#fe669e756697a2ca79784052e26c43a07ea7e449"
-  integrity sha512-qLkfCl29VNBnF1MWiL9IyOQaHxUvicZp69hISyq/xMsNvFKHFOaOfk9xezYod2Q9xx3xxUh9t/QPigIei2tX4w==
+"@docusaurus/theme-search-algolia@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.4.0.tgz#c499bad71d668df0d0f15b0e5e33e2fc4e330fcc"
+  integrity sha512-aiHFx7OCw4Wck1z6IoShVdUWIjntC8FHCw9c5dR8r3q4Ynh+zkS8y2eFFunN/DL6RXPzpnvKCg3vhLQYJDmT9Q==
   dependencies:
     "@docsearch/react" "^3.5.2"
-    "@docusaurus/core" "3.3.2"
-    "@docusaurus/logger" "3.3.2"
-    "@docusaurus/plugin-content-docs" "3.3.2"
-    "@docusaurus/theme-common" "3.3.2"
-    "@docusaurus/theme-translations" "3.3.2"
-    "@docusaurus/utils" "3.3.2"
-    "@docusaurus/utils-validation" "3.3.2"
+    "@docusaurus/core" "3.4.0"
+    "@docusaurus/logger" "3.4.0"
+    "@docusaurus/plugin-content-docs" "3.4.0"
+    "@docusaurus/theme-common" "3.4.0"
+    "@docusaurus/theme-translations" "3.4.0"
+    "@docusaurus/utils" "3.4.0"
+    "@docusaurus/utils-validation" "3.4.0"
     algoliasearch "^4.18.0"
     algoliasearch-helper "^3.13.3"
     clsx "^2.0.0"
@@ -2319,10 +2319,10 @@
     tslib "^2.6.0"
     utility-types "^3.10.0"
 
-"@docusaurus/theme-translations@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.3.2.tgz#39ad011573ce963f1eda98ded925971ca57c5a52"
-  integrity sha512-bPuiUG7Z8sNpGuTdGnmKl/oIPeTwKr0AXLGu9KaP6+UFfRZiyWbWE87ti97RrevB2ffojEdvchNujparR3jEZQ==
+"@docusaurus/theme-translations@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/theme-translations/-/theme-translations-3.4.0.tgz#e6355d01352886c67e38e848b2542582ea3070af"
+  integrity sha512-zSxCSpmQCCdQU5Q4CnX/ID8CSUUI3fvmq4hU/GNP/XoAWtXo9SAVnM3TzpU8Gb//H3WCsT8mJcTfyOk3d9ftNg==
   dependencies:
     fs-extra "^11.1.1"
     tslib "^2.6.0"
@@ -2347,32 +2347,49 @@
     webpack "^5.88.1"
     webpack-merge "^5.9.0"
 
-"@docusaurus/utils-common@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.3.2.tgz#d17868a55a25186bfdb35de317a3878e867f2005"
-  integrity sha512-QWFTLEkPYsejJsLStgtmetMFIA3pM8EPexcZ4WZ7b++gO5jGVH7zsipREnCHzk6+eDgeaXfkR6UPaTt86bp8Og==
+"@docusaurus/types@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/types/-/types-3.4.0.tgz#237c3f737e9db3f7c1a5935a3ef48d6eadde8292"
+  integrity sha512-4jcDO8kXi5Cf9TcyikB/yKmz14f2RZ2qTRerbHAsS+5InE9ZgSLBNLsewtFTcTOXSVcbU3FoGOzcNWAmU1TR0A==
+  dependencies:
+    "@mdx-js/mdx" "^3.0.0"
+    "@types/history" "^4.7.11"
+    "@types/react" "*"
+    commander "^5.1.0"
+    joi "^17.9.2"
+    react-helmet-async "^1.3.0"
+    utility-types "^3.10.0"
+    webpack "^5.88.1"
+    webpack-merge "^5.9.0"
+
+"@docusaurus/utils-common@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/utils-common/-/utils-common-3.4.0.tgz#2a43fefd35b85ab9fcc6833187e66c15f8bfbbc6"
+  integrity sha512-NVx54Wr4rCEKsjOH5QEVvxIqVvm+9kh7q8aYTU5WzUU9/Hctd6aTrcZ3G0Id4zYJ+AeaG5K5qHA4CY5Kcm2iyQ==
   dependencies:
     tslib "^2.6.0"
 
-"@docusaurus/utils-validation@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.3.2.tgz#7109888d9c9b23eec787b41341809438f54c2aec"
-  integrity sha512-itDgFs5+cbW9REuC7NdXals4V6++KifgVMzoGOOOSIifBQw+8ULhy86u5e1lnptVL0sv8oAjq2alO7I40GR7pA==
+"@docusaurus/utils-validation@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/utils-validation/-/utils-validation-3.4.0.tgz#0176f6e503ff45f4390ec2ecb69550f55e0b5eb7"
+  integrity sha512-hYQ9fM+AXYVTWxJOT1EuNaRnrR2WGpRdLDQG07O8UOpsvCPWUVOeo26Rbm0JWY2sGLfzAb+tvJ62yF+8F+TV0g==
   dependencies:
-    "@docusaurus/logger" "3.3.2"
-    "@docusaurus/utils" "3.3.2"
-    "@docusaurus/utils-common" "3.3.2"
+    "@docusaurus/logger" "3.4.0"
+    "@docusaurus/utils" "3.4.0"
+    "@docusaurus/utils-common" "3.4.0"
+    fs-extra "^11.2.0"
     joi "^17.9.2"
     js-yaml "^4.1.0"
+    lodash "^4.17.21"
     tslib "^2.6.0"
 
-"@docusaurus/utils@3.3.2":
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.3.2.tgz#2571baccb5b7ed53d50b670094139a31a53558df"
-  integrity sha512-f4YMnBVymtkSxONv4Y8js3Gez9IgHX+Lcg6YRMOjVbq8sgCcdYK1lf6SObAuz5qB/mxiSK7tW0M9aaiIaUSUJg==
+"@docusaurus/utils@3.4.0":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@docusaurus/utils/-/utils-3.4.0.tgz#c508e20627b7a55e2b541e4a28c95e0637d6a204"
+  integrity sha512-fRwnu3L3nnWaXOgs88BVBmG1yGjcQqZNHG+vInhEa2Sz2oQB+ZjbEMO5Rh9ePFpZ0YDiDUhpaVjwmS+AU2F14g==
   dependencies:
-    "@docusaurus/logger" "3.3.2"
-    "@docusaurus/utils-common" "3.3.2"
+    "@docusaurus/logger" "3.4.0"
+    "@docusaurus/utils-common" "3.4.0"
     "@svgr/webpack" "^8.1.0"
     escape-string-regexp "^4.0.0"
     file-loader "^6.2.0"
@@ -2389,6 +2406,7 @@
     shelljs "^0.8.5"
     tslib "^2.6.0"
     url-loader "^4.1.1"
+    utility-types "^3.10.0"
     webpack "^5.88.1"
 
 "@hapi/hoek@^9.0.0", "@hapi/hoek@^9.3.0":
@@ -5378,7 +5396,7 @@ fresh@0.5.2:
   resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
   integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
 
-fs-extra@^11.1.1:
+fs-extra@^11.1.1, fs-extra@^11.2.0:
   version "11.2.0"
   resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b"
   integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==