From d27fe2fc935642eda5c645c04f2da06f2e42a599 Mon Sep 17 00:00:00 2001
From: "ronan.vignard" <ronan.vignard@developpement-durable.gouv.fr>
Date: Fri, 13 Sep 2024 13:25:28 +0000
Subject: [PATCH] Finalisation de flat_insert_hubeau_eso_into_analyse.Rmd

---
 dev/config_fusen.yaml                         |  26 +++
 dev/flat_insert_ars_into_analyse.Rmd          |   8 +-
 dev/flat_insert_hubeau_eso_into_analyse.Rmd   | 195 +++++++++++++++++
 ...lat_insert_hubeau_eso_into_prelevement.Rmd |  32 +--
 dev/flat_insert_hubeau_esu_into_analyse.Rmd   | 185 ++++++++++++++++
 ...lat_insert_hubeau_esu_into_prelevement.Rmd |  31 +--
 .../insertion-des-analyses-hubeau-eso.Rmd     | 202 ++++++++++++++++++
 .../insertion-des-analyses-hubeau-esu.Rmd     | 191 +++++++++++++++++
 .../insertion-des-prelevements-hubeau-eso.Rmd |  32 +--
 .../insertion-des-prelevements-hubeau-esu.Rmd |  31 +--
 10 files changed, 869 insertions(+), 64 deletions(-)
 create mode 100644 dev/flat_insert_hubeau_eso_into_analyse.Rmd
 create mode 100644 dev/flat_insert_hubeau_esu_into_analyse.Rmd
 create mode 100644 vignettes/insertion-des-analyses-hubeau-eso.Rmd
 create mode 100644 vignettes/insertion-des-analyses-hubeau-esu.Rmd

diff --git a/dev/config_fusen.yaml b/dev/config_fusen.yaml
index 15f23e3..9499de0 100644
--- a/dev/config_fusen.yaml
+++ b/dev/config_fusen.yaml
@@ -89,6 +89,19 @@ flat_insert_ars_into_prelevement.Rmd:
     check: true
     document: true
     overwrite: ask
+flat_insert_hubeau_eso_into_analyse.Rmd:
+  path: dev/flat_insert_hubeau_eso_into_analyse.Rmd
+  state: active
+  R: []
+  tests: []
+  vignettes: vignettes/insertion-des-analyses-hubeau-eso.Rmd
+  inflate:
+    flat_file: dev/flat_insert_hubeau_eso_into_analyse.Rmd
+    vignette_name: Insertion des analyses Hubeau ESO
+    open_vignette: true
+    check: true
+    document: true
+    overwrite: ask
 flat_insert_hubeau_eso_into_prelevement.Rmd:
   path: dev/flat_insert_hubeau_eso_into_prelevement.Rmd
   state: active
@@ -102,6 +115,19 @@ flat_insert_hubeau_eso_into_prelevement.Rmd:
     check: true
     document: true
     overwrite: ask
+flat_insert_hubeau_esu_into_analyse.Rmd:
+  path: dev/flat_insert_hubeau_esu_into_analyse.Rmd
+  state: active
+  R: []
+  tests: []
+  vignettes: vignettes/insertion-des-analyses-hubeau-esu.Rmd
+  inflate:
+    flat_file: dev/flat_insert_hubeau_esu_into_analyse.Rmd
+    vignette_name: Insertion des analyses Hubeau ESU
+    open_vignette: true
+    check: true
+    document: true
+    overwrite: ask
 flat_insert_hubeau_esu_into_prelevement.Rmd:
   path: dev/flat_insert_hubeau_esu_into_prelevement.Rmd
   state: active
diff --git a/dev/flat_insert_ars_into_analyse.Rmd b/dev/flat_insert_ars_into_analyse.Rmd
index 8c1a04d..418785f 100644
--- a/dev/flat_insert_ars_into_analyse.Rmd
+++ b/dev/flat_insert_ars_into_analyse.Rmd
@@ -20,7 +20,7 @@ library(RPostgres)
 pkgload::load_all(export_all = FALSE)
 ```
 
-# Consolidation et insertion des données de l'ARS dans la table des prélèvements
+# Consolidation et insertion des données de l'ARS dans la table des analyses
 
 ## Chargement des données ARS brutes
 
@@ -128,7 +128,7 @@ nitrate_analyse_ars <- nitrate_analyse_ars |>
 
 ```
 
-# Jointure avec la table des prélèvements créée auparavant
+## Jointure avec la table des prélèvements créée auparavant
 
 La table des prélèvements est chargée :
 ```{r load-nitrate_prelevement, eval=FALSE}
@@ -220,7 +220,7 @@ print(nitrate_analyse_ars)
 
 ```
 
-# Chargement en base
+## Préparation pour l'insertion en base
 
 On corrige l'ordre des champs les champs utiles à la table des analyses :
 ```{r select-variables-ars-final, eval=FALSE}
@@ -250,7 +250,7 @@ datalibaba::poster_data(data = nitrate_analyse_ars,
                         user = "admin")
 ```
 
-# Insertion des données ARS du nouveau millésime en base dans la table globale
+## Insertion des analyses ARS en base dans la table globale
 
 On insère enfin les enregistrements de cette table dans la table globale :
 ```{r import_and_merge_tables_ars, eval=FALSE}
diff --git a/dev/flat_insert_hubeau_eso_into_analyse.Rmd b/dev/flat_insert_hubeau_eso_into_analyse.Rmd
new file mode 100644
index 0000000..d48a962
--- /dev/null
+++ b/dev/flat_insert_hubeau_eso_into_analyse.Rmd
@@ -0,0 +1,195 @@
+---
+title: "Insertion des analyses Hubeau ESO"
+output: html_document
+editor_options: 
+  chunk_output_type: console
+---
+
+```{r development, include=FALSE}
+library(testthat)
+library(datalibaba)
+library(dplyr)
+library(stringr)
+library(glue)
+library(DBI)
+library(RPostgres)
+```
+
+```{r development-load}
+# Load already included functions if relevant
+pkgload::load_all(export_all = FALSE)
+```
+
+# Consolidation et insertion des analyses Hub'eau ESO dans la table des analyses
+
+## Chargement des analyses Hub'eau ESO
+
+La table des données brutes Nitrates Hub'eau ESO est chargée :
+```{r load-nitrate_qualite_nappes_analyses, eval=FALSE}
+# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_nappes_analyses
+nitrate_qualite_nappes_analyses <- datalibaba::importer_data(
+  table = "nitrate_qualite_nappes_analyses",
+  schema = "qualite_nappes_eau_souterraine",
+  db = "si_eau",
+  user = "admin"
+)
+```
+
+## Filtre par code_producteur pour exclure les données ARS
+
+On sélectionne les code_producteur correspondants aux enregistrements hors 
+données ARS de la région :
+```{r select-code_producteur_hubeau_eso, eval=FALSE}
+# Filtrer pour exclure les données ARS
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::filter(!code_producteur %in% c('44','49','53','72','85'))
+```
+
+## Consolidation des données Hub'eau ESO
+
+On remplace des valeurs dans limite_detection et limite_quantification :
+```{r replace-dot_limite_detection, eval=FALSE}
+# Remplacer les valeurs dans les colonnes limite_detection et limite_quantification
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::mutate(
+    resultat = stringr::str_replace(resultat, "\\,", "."),
+    limite_detection = stringr::str_replace(limite_detection, "\\,", "."),
+    limite_quantification = stringr::str_replace(limite_quantification, "\\,", ".")
+    )
+
+```
+
+On sélectionne les champs utiles à la table des analyses :
+```{r select-variables-hubeau_eso, eval=FALSE}
+# Sélectionner les variables
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::select(code_station = bss_id,
+                code_intervenant = code_lieu_analyse,
+                date_prelevement = date_debut_prelevement,
+                date_analyse = date_debut_prelevement,
+                resultat_analyse = resultat,
+                code_parametre = code_param,
+                code_fraction_analysee = code_fraction,
+                code_remarque = code_remarque_analyse,
+                limite_detection,
+                limite_quantification)
+
+```
+
+On modifie le type des variables numériques :
+```{r change-fieldtypes, eval=FALSE}
+# Remplacer les valeurs dans les colonnes resultat_analyse et limite_quantification
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::mutate(resultat_analyse = as.numeric(resultat_analyse),
+                limite_detection = as.numeric(limite_detection),
+                limite_quantification = as.numeric(limite_quantification),
+                code_parametre = as.integer(code_parametre),
+                code_fraction_analysee  = as.integer(code_fraction_analysee),
+                code_remarque = as.integer(code_remarque)
+                )
+
+```
+
+# Jointure avec la table des prélèvements créée auparavant
+
+La table des prélèvements est chargée :
+```{r load-nitrate_prelevement, eval=FALSE}
+# Charger la table nitrates.nitrate_prelevement_v0_15
+nitrate_prelevement <- datalibaba::importer_data(
+  table = "nitrate_prelevement_v0_15",
+  schema = "nitrates",
+  db = "si_eau",
+  user = "admin"
+)
+
+```
+
+On dédoublonne les lignes en utilisant les champs `code_station` et `date_prelevement` 
+afin de ne conserver qu'un prélèvement par station et date donnée :
+```{r select-distinct-rows_hubeau_eso, eval=FALSE}
+# Dédoublonner les lignes sur les colonnes code_station et date_prelevement
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE)
+
+```
+
+On joint le dataframe des prélèvements pour récupérer la variable code_prelevement :
+```{r join-prelevement_hubeau_eso, eval=FALSE}
+# Joindre les dataframes nitrate_qualite_nappes_analyses et nitrate_prelevement
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  left_join(nitrate_prelevement |>
+              select(code_station, date_prelevement, code_prelevement), 
+            by = c("code_station" = "code_station", "date_prelevement" = "date_prelevement"))
+```
+
+On dédoublonne les lignes en utilisant les champs `code_prelevement`,
+`code_parametre` et `resultat_analyse` afin de ne conserver qu'une analyse :
+```{r select-distinct-rows_hubeau_eso_2, eval=FALSE}
+# Dédoublonner les lignes sur les colonnes code_station et date_prelevement
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::distinct(code_prelevement, code_parametre, resultat_analyse, .keep_all = TRUE)
+
+```
+
+On ajoute un identifiant unique s'appuyant sur une séquence stockée en base :
+```{r add_code_analyse_hubeau_eso, eval=FALSE}
+# Utiliser la fonction add_code_analyse_ars avec la version souhaitée
+nitrate_qualite_nappes_analyses <- add_code_analyse(
+  nitrate_qualite_nappes_analyses, "v0_15")
+
+# Afficher le dataframe pour vérifier les modifications
+print(nitrate_qualite_nappes_analyses)
+
+```
+
+# Chargement en base
+
+On corrige l'ordre des champs les champs utiles à la table des analyses :
+```{r select-variables-hubeau_eso_final, eval=FALSE}
+# Sélectionner les variables dans l'ordre des champs de la table à alimenter
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::select(code_analyse,
+                code_intervenant,
+                code_prelevement,
+                code_parametre,
+                code_fraction_analysee,
+                date_analyse,
+                resultat_analyse,
+                code_remarque,
+                limite_detection,
+                limite_quantification)
+
+```
+
+On charge les données consolidées dans un table dédiée :
+```{r insert-into_nitrate_prelevement_v0_15, eval=FALSE}
+# Charger les données dans une nouvelle table en base
+datalibaba::poster_data(data = nitrate_qualite_nappes_analyses, 
+                        table = "nitrate_analyse_hubeau_eso_v0_15", 
+                        schema = "nitrates", 
+                        db = "si_eau",
+                        overwrite = TRUE,
+                        pk = "code_analyse",
+                        user = "admin")
+```
+
+# Insertion des données Hub'eau ESO en base dans la table globale
+
+On insère enfin les enregistrements de cette table dans la table globale :
+```{r import_and_merge_tables_hubeau_eso, eval=FALSE}
+# Insérer les données de la table du dernier millésime vers la table complète
+collectr::import_and_merge_tables(database = "si_eau",
+                                  source_table = "nitrate_analyse_hubeau_eso_v0_15", 
+                                  source_schema = "nitrates", 
+                                  target_table = "nitrate_analyse_v0_15", 
+                                  target_schema = "nitrates",
+                                  role = "admin")
+
+```
+
+```{r development-inflate, eval=FALSE}
+# Run but keep eval=FALSE to avoid infinite loop
+# Execute in the console directly
+fusen::inflate(flat_file = "dev/flat_insert_hubeau_eso_into_analyse.Rmd", vignette_name = "Insertion des analyses Hubeau ESO")
+```
+
diff --git a/dev/flat_insert_hubeau_eso_into_prelevement.Rmd b/dev/flat_insert_hubeau_eso_into_prelevement.Rmd
index 9672477..b87e02a 100644
--- a/dev/flat_insert_hubeau_eso_into_prelevement.Rmd
+++ b/dev/flat_insert_hubeau_eso_into_prelevement.Rmd
@@ -22,11 +22,12 @@ pkgload::load_all(export_all = FALSE)
 
 # Consolidation et insertion des données Hub'eau ESO dans la table des prélèvements
 
-## Chargement des données Hub'eau ESO
+## Chargement des prélèvements Hub'eau ESO
 
 La table des données brutes Nitrates Hub'eau ESO est chargée :
-```{r load-nitrate_data_analyse_hubeau_eso, eval=FALSE}
-nitrate_qualite_nappes_analyses <- datalibaba::importer_data(
+```{r load-nitrate_qualite_nappes_analyses, eval=FALSE}
+# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_rivieres_analyse_pc
+nitrate_qualite_nappes_prelevements <- datalibaba::importer_data(
   table = "nitrate_qualite_nappes_analyses",
   schema = "qualite_nappes_eau_souterraine",
   db = "si_eau",
@@ -39,16 +40,17 @@ nitrate_qualite_nappes_analyses <- datalibaba::importer_data(
 On sélectionne les code_producteur correspondants aux enregistrements hors 
 données ARS de la région :
 ```{r select-code_producteur_hubeau_eso, eval=FALSE}
-nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+# Filtrer pour exclure les données ARS
+nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::filter(!code_producteur %in% c('44','49','53','72','85'))
 ```
 
-## Consolidation des données Hub'eau ESO
+## Consolidation des prélèvements Hub'eau ESO
 
 On ajoute les variables `source` et `code_support` :
 ```{r add-source_code_support_hubeau_eso, eval=FALSE}
 # Ajouter les variables source et code_support
-nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::mutate(
     source = "ADES",
     code_support = 3)
@@ -57,7 +59,7 @@ nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
 On sélectionne les champs utiles à la table des prélèvements :
 ```{r select-variables_hubeau_eso, eval=FALSE}
 # Sélectionner les variables
-nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::select(source,
                 code_reseau = codes_reseau,
                 code_station = bss_id,
@@ -68,7 +70,7 @@ nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
 On modifie le type de la variable `code_support` de character en integer :
 ```{r change-type_code_support, eval=FALSE}
 # Convertir la variable code_support de character en integer
-nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::mutate(code_support = as.integer(code_support))
 ```
 
@@ -77,25 +79,25 @@ On dédoublonne les lignes en utilisant les champs `code_station` et
 donnée :
 ```{r select-distinct-rows_hubeau_eso, eval=FALSE}
 # Dédoublonner les lignes sur les colonnes code_station et date_prelevement
-nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE)
 ```
 
 On ajoute un identifiant unique s'appuyant sur une séquence stockée en base :
 ```{r add_code_prelevement_hubeau_eso, eval=FALSE}
 # Utiliser la fonction add_code_prelevement avec la version souhaitée
-nitrate_qualite_nappes_analyses <- add_code_prelevement(
-  nitrate_qualite_nappes_analyses, "v0_15")
+nitrate_qualite_nappes_prelevements <- add_code_prelevement(
+  nitrate_qualite_nappes_prelevements, "v0_15")
 
 # Afficher le dataframe pour vérifier les modifications
-print(nitrate_qualite_nappes_analyses)
+print(nitrate_qualite_nappes_prelevements)
 
 ```
 
 On charge les données consolidées dans un table dédiée :
 ```{r insert-into_nitrate_prelevement_hubeau_eso, eval=FALSE}
 # Charger les données dans une nouvelle table en base
-datalibaba::poster_data(data = nitrate_qualite_nappes_analyses, 
+datalibaba::poster_data(data = nitrate_qualite_nappes_prelevements, 
                         table = "nitrate_prelevement_hubeau_eso_v0_15", 
                         schema = "nitrates", 
                         db = "si_eau",
@@ -104,11 +106,11 @@ datalibaba::poster_data(data = nitrate_qualite_nappes_analyses,
                         user = "admin")
 ```
 
-# Insertion des données Hub'eau ESO du nouveau millésime en base dans la table globale
+# Insertion des prélèvements Hub'eau ESO en base dans la table globale
 
 On insère enfin les enregistrements de cette table dans la table globale :
 ```{r import_and_merge_tables_hubeau_eso, eval=FALSE}
-# Insérer les données de la table du dernier millésime vers la table complète
+# Insérer les prélèvements Hub'eau ESO vers la table complète
 collectr::import_and_merge_tables(database = "si_eau",
                                   source_table = "nitrate_prelevement_hubeau_eso_v0_15", 
                                   source_schema = "nitrates", 
diff --git a/dev/flat_insert_hubeau_esu_into_analyse.Rmd b/dev/flat_insert_hubeau_esu_into_analyse.Rmd
new file mode 100644
index 0000000..0c1b8ea
--- /dev/null
+++ b/dev/flat_insert_hubeau_esu_into_analyse.Rmd
@@ -0,0 +1,185 @@
+---
+title: "Insertion des analyses Hubeau ESU"
+output: html_document
+editor_options: 
+  chunk_output_type: console
+---
+
+```{r development, include=FALSE}
+library(testthat)
+library(datalibaba)
+library(dplyr)
+library(stringr)
+library(glue)
+library(DBI)
+library(RPostgres)
+```
+
+```{r development-load}
+# Load already included functions if relevant
+pkgload::load_all(export_all = FALSE)
+```
+
+# Consolidation et insertion des analyses Hub'eau ESU dans la table des analyses
+
+## Chargement des analyses Hub'eau ESU
+
+La table des données brutes Nitrates Hub'eau ESU est chargée :
+```{r load-nitrate_qualite_rivieres_analyse_pc, eval=FALSE}
+# Charger la table qualite_cours_d_eau.nitrate_qualite_rivieres_analyse_pc
+nitrate_qualite_rivieres_analyses <- datalibaba::importer_data(
+  table = "nitrate_qualite_rivieres_analyse_pc",
+  schema = "qualite_cours_d_eau",
+  db = "si_eau",
+  user = "admin"
+)
+```
+
+## Consolidation des analyses Hub'eau ESU
+
+On remplace des valeurs dans limite_detection et limite_quantification :
+```{r replace-dot_limite_detection, eval=FALSE}
+# Remplacer les valeurs dans les colonnes limite_detection et limite_quantification
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::mutate(
+    resultat = stringr::str_replace(resultat, "\\,", "."),
+    limite_detection = stringr::str_replace(limite_detection, "\\,", "."),
+    limite_quantification = stringr::str_replace(limite_quantification, "\\,", ".")
+    )
+
+```
+
+On sélectionne les champs utiles à la table des analyses :
+```{r select-variables-hubeau_esu, eval=FALSE}
+# Sélectionner les variables
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::select(code_station,
+                code_intervenant = code_laboratoire,
+                date_prelevement,
+                date_analyse,
+                resultat_analyse = resultat,
+                code_parametre,
+                code_fraction_analysee = code_fraction,
+                code_remarque,
+                limite_detection,
+                limite_quantification)
+
+```
+
+On modifie le type des variables  resultat_analyse et  limite_quantification :
+```{r change-fieldtypes, eval=FALSE}
+# Remplacer les valeurs dans les colonnes resultat_analyse et limite_quantification
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::mutate(resultat_analyse = as.numeric(resultat_analyse),
+                limite_detection = as.numeric(limite_detection),
+                limite_quantification = as.numeric(limite_quantification),
+                code_parametre = as.integer(code_parametre),
+                code_fraction_analysee  = as.integer(code_fraction_analysee),
+                code_remarque = as.integer(code_remarque)
+                )
+
+```
+
+# Jointure avec la table des prélèvements créée auparavant
+
+La table des prélèvements est chargée :
+```{r load-nitrate_prelevement, eval=FALSE}
+# Charger la table nitrates.nitrate_prelevement_v0_15
+nitrate_prelevement <- datalibaba::importer_data(
+  table = "nitrate_prelevement_v0_15",
+  schema = "nitrates",
+  db = "si_eau",
+  user = "admin"
+)
+
+```
+
+On dédoublonne les lignes en utilisant les champs `code_station` et `date_prelevement` 
+afin de ne conserver qu'un prélèvement par station et date donnée :
+```{r select-distinct-rows_hubeau_esu, eval=FALSE}
+# Dédoublonner les lignes sur les colonnes code_station et date_prelevement
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE)
+
+```
+
+On joint le dataframe des prélèvements pour récupérer la variable code_prelevement :
+```{r join-prelevement_hubeau_esu, eval=FALSE}
+# Joindre les dataframes nitrate_qualite_rivieres_analyses et nitrate_prelevement
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  left_join(nitrate_prelevement |>
+              select(code_station, date_prelevement, code_prelevement), 
+            by = c("code_station" = "code_station", "date_prelevement" = "date_prelevement"))
+```
+
+On dédoublonne les lignes en utilisant les champs `code_prelevement`,
+`code_parametre` et `resultat_analyse` afin de ne conserver qu'une analyse :
+```{r select-distinct-rows_hubeau_esu_2, eval=FALSE}
+# Dédoublonner les lignes sur les colonnes code_station et date_prelevement
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::distinct(code_prelevement, code_parametre, resultat_analyse, .keep_all = TRUE)
+
+```
+
+On ajoute un identifiant unique s'appuyant sur une séquence stockée en base :
+```{r add_code_analyse_hubeau_esu, eval=FALSE}
+# Utiliser la fonction add_code_analyse_ars avec la version souhaitée
+nitrate_qualite_rivieres_analyses <- add_code_analyse(
+  nitrate_qualite_rivieres_analyses, "v0_15")
+
+# Afficher le dataframe pour vérifier les modifications
+print(nitrate_qualite_rivieres_analyses)
+
+```
+
+# Chargement en base
+
+On corrige l'ordre des champs les champs utiles à la table des analyses :
+```{r select-variables-hubeau_esu_final, eval=FALSE}
+# Sélectionner les variables dans l'ordre des champs de la table à alimenter
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::select(code_analyse,
+                code_intervenant,
+                code_prelevement,
+                code_parametre,
+                code_fraction_analysee,
+                date_analyse,
+                resultat_analyse,
+                code_remarque,
+                limite_detection,
+                limite_quantification)
+
+```
+
+On charge les données consolidées dans une table dédiée :
+```{r insert-into_nitrate_prelevement_v0_15, eval=FALSE}
+# Charger les données dans une nouvelle table en base
+datalibaba::poster_data(data = nitrate_qualite_rivieres_analyses, 
+                        table = "nitrate_qualite_rivieres_analyses_v0_15", 
+                        schema = "nitrates", 
+                        db = "si_eau",
+                        overwrite = TRUE,
+                        pk = "code_analyse",
+                        user = "admin")
+```
+
+# Insertion des analyses Hub'eau ESU en base dans la table globale
+
+On insère enfin les enregistrements de cette table dans la table globale :
+```{r import_and_merge_tables_hubeau_esu, eval=FALSE}
+# Insérer les données de la table du dernier millésime vers la table complète
+collectr::import_and_merge_tables(database = "si_eau",
+                                  source_table = "nitrate_qualite_rivieres_analyses_v0_15", 
+                                  source_schema = "nitrates", 
+                                  target_table = "nitrate_analyse_v0_15", 
+                                  target_schema = "nitrates",
+                                  role = "admin")
+
+```
+
+```{r development-inflate, eval=FALSE}
+# Run but keep eval=FALSE to avoid infinite loop
+# Execute in the console directly
+fusen::inflate(flat_file = "dev/flat_insert_hubeau_esu_into_analyse.Rmd", vignette_name = "Insertion des analyses Hubeau ESU")
+```
+
diff --git a/dev/flat_insert_hubeau_esu_into_prelevement.Rmd b/dev/flat_insert_hubeau_esu_into_prelevement.Rmd
index d2f7c95..856ef32 100644
--- a/dev/flat_insert_hubeau_esu_into_prelevement.Rmd
+++ b/dev/flat_insert_hubeau_esu_into_prelevement.Rmd
@@ -22,11 +22,12 @@ pkgload::load_all(export_all = FALSE)
 
 # Consolidation et insertion des données Hub'eau ESU dans la table des prélèvements
 
-## Chargement des données Hub'eau ESU
+## Chargement des prélèvements Hub'eau ESU
 
 La table des données brutes Nitrates Hub'eau ESU est chargée :
-```{r load-nitrate_data_analyse_hubeau_esu, eval=FALSE}
-nitrate_qualite_rivieres_analyse_pc <- datalibaba::importer_data(
+```{r load-nitrate_qualite_rivieres_analyse_pc, eval=FALSE}
+# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_rivieres_analyse_pc
+nitrate_qualite_rivieres_prelevements <- datalibaba::importer_data(
   table = "nitrate_qualite_rivieres_analyse_pc",
   schema = "qualite_cours_d_eau",
   db = "si_eau",
@@ -34,12 +35,12 @@ nitrate_qualite_rivieres_analyse_pc <- datalibaba::importer_data(
 )
 ```
 
-## Consolidation des données Hub'eau ESU
+## Consolidation des prélèvements Hub'eau ESU
 
 On remplace "." par "," dans les variables `limite_detection` et `limite_quantification` :
 ```{r replace-in_limite_detection, eval=FALSE}
 # Remplacer "." par "," dans les colonnes limite_detection et limite_quantification
-nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
+nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
   dplyr::mutate(
     limite_detection = stringr::str_replace_all(limite_detection, ".", ","),
     limite_quantification = stringr::str_replace_all(limite_quantification, ".", ",")
@@ -49,14 +50,14 @@ nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
 On ajoute la variable `source` :
 ```{r add-source_code_support_hubeau_esu, eval=FALSE}
 # Ajouter les variables source et code_support
-nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
+nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
   dplyr::mutate(source = "Na\u00efades")
 ```
 
 On sélectionne les champs utiles à la table des prélèvements :
 ```{r select-variables_hubeau_esu, eval=FALSE}
 # Sélectionner les variables
-nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
+nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
   dplyr::select(source,
                 code_reseau,
                 code_station,
@@ -69,7 +70,7 @@ nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
 On modifie le type de la variable `code_support` de character en integer :
 ```{r change-type_code_support, eval=FALSE}
 # Convertir la variable code_support de character en integer
-nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
+nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
   dplyr::mutate(code_support = as.integer(code_support))
 ```
 
@@ -78,25 +79,25 @@ On dédoublonne les lignes en utilisant les champs `code_station` et
 donnée :
 ```{r select-distinct-rows_hubeau_esu, eval=FALSE}
 # Dédoublonner les lignes sur les colonnes code_station et date_prelevement
-nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
+nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
   dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE)
 ```
 
 On ajoute un identifiant unique s'appuyant sur une séquence stockée en base :
 ```{r add_code_prelevement_hubeau_esu, eval=FALSE}
 # Utiliser la fonction add_code_prelevement avec la version souhaitée
-nitrate_qualite_rivieres_analyse_pc <- add_code_prelevement(
-  nitrate_qualite_rivieres_analyse_pc, "v0_15")
+nitrate_qualite_rivieres_prelevements <- add_code_prelevement(
+  nitrate_qualite_rivieres_prelevements, "v0_15")
 
 # Afficher le dataframe pour vérifier les modifications
-print(nitrate_qualite_rivieres_analyse_pc)
+print(nitrate_qualite_rivieres_prelevements)
 
 ```
 
-On charge les données consolidées dans un table dédiée :
+On charge les données consolidées dans une table dédiée :
 ```{r insert-into_nitrate_prelevement_hubeau_esu, eval=FALSE}
 # Charger les données dans une nouvelle table en base
-datalibaba::poster_data(data = nitrate_qualite_rivieres_analyse_pc, 
+datalibaba::poster_data(data = nitrate_qualite_rivieres_prelevements, 
                         table = "nitrate_prelevement_hubeau_esu_v0_15", 
                         schema = "nitrates", 
                         db = "si_eau",
@@ -105,7 +106,7 @@ datalibaba::poster_data(data = nitrate_qualite_rivieres_analyse_pc,
                         user = "admin")
 ```
 
-# Insertion des données Hub'eau ESU du nouveau millésime en base dans la table globale
+# Insertion des prélèvements Hub'eau ESU en base dans la table globale
 
 On insère enfin les enregistrements de cette table dans la table globale :
 ```{r import_and_merge_tables_hubeau_esu, eval=FALSE}
diff --git a/vignettes/insertion-des-analyses-hubeau-eso.Rmd b/vignettes/insertion-des-analyses-hubeau-eso.Rmd
new file mode 100644
index 0000000..891cd91
--- /dev/null
+++ b/vignettes/insertion-des-analyses-hubeau-eso.Rmd
@@ -0,0 +1,202 @@
+---
+title: "Insertion des analyses Hubeau ESO"
+output: rmarkdown::html_vignette
+vignette: >
+  %\VignetteIndexEntry{insertion-des-analyses-hubeau-eso}
+  %\VignetteEngine{knitr::rmarkdown}
+  %\VignetteEncoding{UTF-8}
+---
+
+```{r, include = FALSE}
+knitr::opts_chunk$set(
+  collapse = TRUE,
+  comment = "#>"
+)
+```
+
+```{r setup}
+library(data.nitrates)
+```
+
+<!-- WARNING - This vignette is generated by {fusen} from dev/flat_insert_hubeau_eso_into_analyse.Rmd: do not edit by hand -->
+
+# Consolidation et insertion des analyses Hub'eau ESO dans la table des analyses
+
+## Chargement des analyses Hub'eau ESO
+
+La table des données brutes Nitrates Hub'eau ESO est chargée :
+
+```{r load-nitrate_qualite_nappes_analyses, eval = FALSE}
+# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_nappes_analyses
+nitrate_qualite_nappes_analyses <- datalibaba::importer_data(
+  table = "nitrate_qualite_nappes_analyses",
+  schema = "qualite_nappes_eau_souterraine",
+  db = "si_eau",
+  user = "admin"
+)
+```
+
+## Filtre par code_producteur pour exclure les données ARS
+
+On sélectionne les code_producteur correspondants aux enregistrements hors 
+données ARS de la région :
+
+```{r select-code_producteur_hubeau_eso, eval = FALSE}
+# Filtrer pour exclure les données ARS
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::filter(!code_producteur %in% c('44','49','53','72','85'))
+```
+
+## Consolidation des données Hub'eau ESO
+
+On remplace des valeurs dans limite_detection et limite_quantification :
+
+```{r replace-dot_limite_detection, eval = FALSE}
+# Remplacer les valeurs dans les colonnes limite_detection et limite_quantification
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::mutate(
+    resultat = stringr::str_replace(resultat, "\\,", "."),
+    limite_detection = stringr::str_replace(limite_detection, "\\,", "."),
+    limite_quantification = stringr::str_replace(limite_quantification, "\\,", ".")
+    )
+
+```
+
+On sélectionne les champs utiles à la table des analyses :
+
+```{r select-variables-hubeau_eso, eval = FALSE}
+# Sélectionner les variables
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::select(code_station = bss_id,
+                code_intervenant = code_lieu_analyse,
+                date_prelevement = date_debut_prelevement,
+                date_analyse = date_debut_prelevement,
+                resultat_analyse = resultat,
+                code_parametre = code_param,
+                code_fraction_analysee = code_fraction,
+                code_remarque = code_remarque_analyse,
+                limite_detection,
+                limite_quantification)
+
+```
+
+On modifie le type des variables numériques :
+
+```{r change-fieldtypes, eval = FALSE}
+# Remplacer les valeurs dans les colonnes resultat_analyse et limite_quantification
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::mutate(resultat_analyse = as.numeric(resultat_analyse),
+                limite_detection = as.numeric(limite_detection),
+                limite_quantification = as.numeric(limite_quantification),
+                code_parametre = as.integer(code_parametre),
+                code_fraction_analysee  = as.integer(code_fraction_analysee),
+                code_remarque = as.integer(code_remarque)
+                )
+
+```
+
+# Jointure avec la table des prélèvements créée auparavant
+
+La table des prélèvements est chargée :
+
+```{r load-nitrate_prelevement, eval = FALSE}
+# Charger la table nitrates.nitrate_prelevement_v0_15
+nitrate_prelevement <- datalibaba::importer_data(
+  table = "nitrate_prelevement_v0_15",
+  schema = "nitrates",
+  db = "si_eau",
+  user = "admin"
+)
+
+```
+
+On dédoublonne les lignes en utilisant les champs `code_station` et `date_prelevement` 
+afin de ne conserver qu'un prélèvement par station et date donnée :
+
+```{r select-distinct-rows_hubeau_eso, eval = FALSE}
+# Dédoublonner les lignes sur les colonnes code_station et date_prelevement
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE)
+
+```
+
+On joint le dataframe des prélèvements pour récupérer la variable code_prelevement :
+
+```{r join-prelevement_hubeau_eso, eval = FALSE}
+# Joindre les dataframes nitrate_qualite_nappes_analyses et nitrate_prelevement
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  left_join(nitrate_prelevement |>
+              select(code_station, date_prelevement, code_prelevement), 
+            by = c("code_station" = "code_station", "date_prelevement" = "date_prelevement"))
+```
+
+On dédoublonne les lignes en utilisant les champs `code_prelevement`,
+`code_parametre` et `resultat_analyse` afin de ne conserver qu'une analyse :
+
+```{r select-distinct-rows_hubeau_eso_2, eval = FALSE}
+# Dédoublonner les lignes sur les colonnes code_station et date_prelevement
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::distinct(code_prelevement, code_parametre, resultat_analyse, .keep_all = TRUE)
+
+```
+
+On ajoute un identifiant unique s'appuyant sur une séquence stockée en base :
+
+```{r add_code_analyse_hubeau_eso, eval = FALSE}
+# Utiliser la fonction add_code_analyse_ars avec la version souhaitée
+nitrate_qualite_nappes_analyses <- add_code_analyse(
+  nitrate_qualite_nappes_analyses, "v0_15")
+
+# Afficher le dataframe pour vérifier les modifications
+print(nitrate_qualite_nappes_analyses)
+
+```
+
+# Chargement en base
+
+On corrige l'ordre des champs les champs utiles à la table des analyses :
+
+```{r select-variables-hubeau_eso_final, eval = FALSE}
+# Sélectionner les variables dans l'ordre des champs de la table à alimenter
+nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+  dplyr::select(code_analyse,
+                code_intervenant,
+                code_prelevement,
+                code_parametre,
+                code_fraction_analysee,
+                date_analyse,
+                resultat_analyse,
+                code_remarque,
+                limite_detection,
+                limite_quantification)
+
+```
+
+On charge les données consolidées dans un table dédiée :
+
+```{r insert-into_nitrate_prelevement_v0_15, eval = FALSE}
+# Charger les données dans une nouvelle table en base
+datalibaba::poster_data(data = nitrate_qualite_nappes_analyses, 
+                        table = "nitrate_analyse_hubeau_eso_v0_15", 
+                        schema = "nitrates", 
+                        db = "si_eau",
+                        overwrite = TRUE,
+                        pk = "code_analyse",
+                        user = "admin")
+```
+
+# Insertion des données Hub'eau ESO en base dans la table globale
+
+On insère enfin les enregistrements de cette table dans la table globale :
+
+```{r import_and_merge_tables_hubeau_eso, eval = FALSE}
+# Insérer les données de la table du dernier millésime vers la table complète
+collectr::import_and_merge_tables(database = "si_eau",
+                                  source_table = "nitrate_analyse_hubeau_eso_v0_15", 
+                                  source_schema = "nitrates", 
+                                  target_table = "nitrate_analyse_v0_15", 
+                                  target_schema = "nitrates",
+                                  role = "admin")
+
+```
+
diff --git a/vignettes/insertion-des-analyses-hubeau-esu.Rmd b/vignettes/insertion-des-analyses-hubeau-esu.Rmd
new file mode 100644
index 0000000..0f1689d
--- /dev/null
+++ b/vignettes/insertion-des-analyses-hubeau-esu.Rmd
@@ -0,0 +1,191 @@
+---
+title: "Insertion des analyses Hubeau ESU"
+output: rmarkdown::html_vignette
+vignette: >
+  %\VignetteIndexEntry{insertion-des-analyses-hubeau-esu}
+  %\VignetteEngine{knitr::rmarkdown}
+  %\VignetteEncoding{UTF-8}
+---
+
+```{r, include = FALSE}
+knitr::opts_chunk$set(
+  collapse = TRUE,
+  comment = "#>"
+)
+```
+
+```{r setup}
+library(data.nitrates)
+```
+
+<!-- WARNING - This vignette is generated by {fusen} from dev/flat_insert_hubeau_esu_into_analyse.Rmd: do not edit by hand -->
+
+# Consolidation et insertion des analyses Hub'eau ESU dans la table des analyses
+
+## Chargement des analyses Hub'eau ESU
+
+La table des données brutes Nitrates Hub'eau ESU est chargée :
+
+```{r load-nitrate_qualite_rivieres_analyse_pc, eval = FALSE}
+# Charger la table qualite_cours_d_eau.nitrate_qualite_rivieres_analyse_pc
+nitrate_qualite_rivieres_analyses <- datalibaba::importer_data(
+  table = "nitrate_qualite_rivieres_analyse_pc",
+  schema = "qualite_cours_d_eau",
+  db = "si_eau",
+  user = "admin"
+)
+```
+
+## Consolidation des analyses Hub'eau ESU
+
+On remplace des valeurs dans limite_detection et limite_quantification :
+
+```{r replace-dot_limite_detection, eval = FALSE}
+# Remplacer les valeurs dans les colonnes limite_detection et limite_quantification
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::mutate(
+    resultat = stringr::str_replace(resultat, "\\,", "."),
+    limite_detection = stringr::str_replace(limite_detection, "\\,", "."),
+    limite_quantification = stringr::str_replace(limite_quantification, "\\,", ".")
+    )
+
+```
+
+On sélectionne les champs utiles à la table des analyses :
+
+```{r select-variables-hubeau_esu, eval = FALSE}
+# Sélectionner les variables
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::select(code_station,
+                code_intervenant = code_laboratoire,
+                date_prelevement,
+                date_analyse,
+                resultat_analyse = resultat,
+                code_parametre,
+                code_fraction_analysee = code_fraction,
+                code_remarque,
+                limite_detection,
+                limite_quantification)
+
+```
+
+On modifie le type des variables  resultat_analyse et  limite_quantification :
+
+```{r change-fieldtypes, eval = FALSE}
+# Remplacer les valeurs dans les colonnes resultat_analyse et limite_quantification
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::mutate(resultat_analyse = as.numeric(resultat_analyse),
+                limite_detection = as.numeric(limite_detection),
+                limite_quantification = as.numeric(limite_quantification),
+                code_parametre = as.integer(code_parametre),
+                code_fraction_analysee  = as.integer(code_fraction_analysee),
+                code_remarque = as.integer(code_remarque)
+                )
+
+```
+
+# Jointure avec la table des prélèvements créée auparavant
+
+La table des prélèvements est chargée :
+
+```{r load-nitrate_prelevement, eval = FALSE}
+# Charger la table nitrates.nitrate_prelevement_v0_15
+nitrate_prelevement <- datalibaba::importer_data(
+  table = "nitrate_prelevement_v0_15",
+  schema = "nitrates",
+  db = "si_eau",
+  user = "admin"
+)
+
+```
+
+On dédoublonne les lignes en utilisant les champs `code_station` et `date_prelevement` 
+afin de ne conserver qu'un prélèvement par station et date donnée :
+
+```{r select-distinct-rows_hubeau_esu, eval = FALSE}
+# Dédoublonner les lignes sur les colonnes code_station et date_prelevement
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE)
+
+```
+
+On joint le dataframe des prélèvements pour récupérer la variable code_prelevement :
+
+```{r join-prelevement_hubeau_esu, eval = FALSE}
+# Joindre les dataframes nitrate_qualite_rivieres_analyses et nitrate_prelevement
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  left_join(nitrate_prelevement |>
+              select(code_station, date_prelevement, code_prelevement), 
+            by = c("code_station" = "code_station", "date_prelevement" = "date_prelevement"))
+```
+
+On dédoublonne les lignes en utilisant les champs `code_prelevement`,
+`code_parametre` et `resultat_analyse` afin de ne conserver qu'une analyse :
+
+```{r select-distinct-rows_hubeau_esu_2, eval = FALSE}
+# Dédoublonner les lignes sur les colonnes code_station et date_prelevement
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::distinct(code_prelevement, code_parametre, resultat_analyse, .keep_all = TRUE)
+
+```
+
+On ajoute un identifiant unique s'appuyant sur une séquence stockée en base :
+
+```{r add_code_analyse_hubeau_esu, eval = FALSE}
+# Utiliser la fonction add_code_analyse_ars avec la version souhaitée
+nitrate_qualite_rivieres_analyses <- add_code_analyse(
+  nitrate_qualite_rivieres_analyses, "v0_15")
+
+# Afficher le dataframe pour vérifier les modifications
+print(nitrate_qualite_rivieres_analyses)
+
+```
+
+# Chargement en base
+
+On corrige l'ordre des champs les champs utiles à la table des analyses :
+
+```{r select-variables-hubeau_esu_final, eval = FALSE}
+# Sélectionner les variables dans l'ordre des champs de la table à alimenter
+nitrate_qualite_rivieres_analyses <- nitrate_qualite_rivieres_analyses |>
+  dplyr::select(code_analyse,
+                code_intervenant,
+                code_prelevement,
+                code_parametre,
+                code_fraction_analysee,
+                date_analyse,
+                resultat_analyse,
+                code_remarque,
+                limite_detection,
+                limite_quantification)
+
+```
+
+On charge les données consolidées dans une table dédiée :
+
+```{r insert-into_nitrate_prelevement_v0_15, eval = FALSE}
+# Charger les données dans une nouvelle table en base
+datalibaba::poster_data(data = nitrate_qualite_rivieres_analyses, 
+                        table = "nitrate_qualite_rivieres_analyses_v0_15", 
+                        schema = "nitrates", 
+                        db = "si_eau",
+                        overwrite = TRUE,
+                        pk = "code_analyse",
+                        user = "admin")
+```
+
+# Insertion des analyses Hub'eau ESU en base dans la table globale
+
+On insère enfin les enregistrements de cette table dans la table globale :
+
+```{r import_and_merge_tables_hubeau_esu, eval = FALSE}
+# Insérer les données de la table du dernier millésime vers la table complète
+collectr::import_and_merge_tables(database = "si_eau",
+                                  source_table = "nitrate_qualite_rivieres_analyses_v0_15", 
+                                  source_schema = "nitrates", 
+                                  target_table = "nitrate_analyse_v0_15", 
+                                  target_schema = "nitrates",
+                                  role = "admin")
+
+```
+
diff --git a/vignettes/insertion-des-prelevements-hubeau-eso.Rmd b/vignettes/insertion-des-prelevements-hubeau-eso.Rmd
index 28e1dd5..66ffb8a 100644
--- a/vignettes/insertion-des-prelevements-hubeau-eso.Rmd
+++ b/vignettes/insertion-des-prelevements-hubeau-eso.Rmd
@@ -22,12 +22,13 @@ library(data.nitrates)
 
 # Consolidation et insertion des données Hub'eau ESO dans la table des prélèvements
 
-## Chargement des données Hub'eau ESO
+## Chargement des prélèvements Hub'eau ESO
 
 La table des données brutes Nitrates Hub'eau ESO est chargée :
 
-```{r load-nitrate_data_analyse_hubeau_eso, eval = FALSE}
-nitrate_qualite_nappes_analyses <- datalibaba::importer_data(
+```{r load-nitrate_qualite_nappes_analyses, eval = FALSE}
+# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_rivieres_analyse_pc
+nitrate_qualite_nappes_prelevements <- datalibaba::importer_data(
   table = "nitrate_qualite_nappes_analyses",
   schema = "qualite_nappes_eau_souterraine",
   db = "si_eau",
@@ -41,17 +42,18 @@ On sélectionne les code_producteur correspondants aux enregistrements hors
 données ARS de la région :
 
 ```{r select-code_producteur_hubeau_eso, eval = FALSE}
-nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+# Filtrer pour exclure les données ARS
+nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::filter(!code_producteur %in% c('44','49','53','72','85'))
 ```
 
-## Consolidation des données Hub'eau ESO
+## Consolidation des prélèvements Hub'eau ESO
 
 On ajoute les variables `source` et `code_support` :
 
 ```{r add-source_code_support_hubeau_eso, eval = FALSE}
 # Ajouter les variables source et code_support
-nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::mutate(
     source = "ADES",
     code_support = 3)
@@ -61,7 +63,7 @@ On sélectionne les champs utiles à la table des prélèvements :
 
 ```{r select-variables_hubeau_eso, eval = FALSE}
 # Sélectionner les variables
-nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::select(source,
                 code_reseau = codes_reseau,
                 code_station = bss_id,
@@ -73,7 +75,7 @@ On modifie le type de la variable `code_support` de character en integer :
 
 ```{r change-type_code_support, eval = FALSE}
 # Convertir la variable code_support de character en integer
-nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::mutate(code_support = as.integer(code_support))
 ```
 
@@ -83,7 +85,7 @@ donnée :
 
 ```{r select-distinct-rows_hubeau_eso, eval = FALSE}
 # Dédoublonner les lignes sur les colonnes code_station et date_prelevement
-nitrate_qualite_nappes_analyses <- nitrate_qualite_nappes_analyses |>
+nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE)
 ```
 
@@ -91,11 +93,11 @@ On ajoute un identifiant unique s'appuyant sur une séquence stockée en base :
 
 ```{r add_code_prelevement_hubeau_eso, eval = FALSE}
 # Utiliser la fonction add_code_prelevement avec la version souhaitée
-nitrate_qualite_nappes_analyses <- add_code_prelevement(
-  nitrate_qualite_nappes_analyses, "v0_15")
+nitrate_qualite_nappes_prelevements <- add_code_prelevement(
+  nitrate_qualite_nappes_prelevements, "v0_15")
 
 # Afficher le dataframe pour vérifier les modifications
-print(nitrate_qualite_nappes_analyses)
+print(nitrate_qualite_nappes_prelevements)
 
 ```
 
@@ -103,7 +105,7 @@ On charge les données consolidées dans un table dédiée :
 
 ```{r insert-into_nitrate_prelevement_hubeau_eso, eval = FALSE}
 # Charger les données dans une nouvelle table en base
-datalibaba::poster_data(data = nitrate_qualite_nappes_analyses, 
+datalibaba::poster_data(data = nitrate_qualite_nappes_prelevements, 
                         table = "nitrate_prelevement_hubeau_eso_v0_15", 
                         schema = "nitrates", 
                         db = "si_eau",
@@ -112,12 +114,12 @@ datalibaba::poster_data(data = nitrate_qualite_nappes_analyses,
                         user = "admin")
 ```
 
-# Insertion des données Hub'eau ESO du nouveau millésime en base dans la table globale
+# Insertion des prélèvements Hub'eau ESO en base dans la table globale
 
 On insère enfin les enregistrements de cette table dans la table globale :
 
 ```{r import_and_merge_tables_hubeau_eso, eval = FALSE}
-# Insérer les données de la table du dernier millésime vers la table complète
+# Insérer les prélèvements Hub'eau ESO vers la table complète
 collectr::import_and_merge_tables(database = "si_eau",
                                   source_table = "nitrate_prelevement_hubeau_eso_v0_15", 
                                   source_schema = "nitrates", 
diff --git a/vignettes/insertion-des-prelevements-hubeau-esu.Rmd b/vignettes/insertion-des-prelevements-hubeau-esu.Rmd
index cd203ae..6632c62 100644
--- a/vignettes/insertion-des-prelevements-hubeau-esu.Rmd
+++ b/vignettes/insertion-des-prelevements-hubeau-esu.Rmd
@@ -22,12 +22,13 @@ library(data.nitrates)
 
 # Consolidation et insertion des données Hub'eau ESU dans la table des prélèvements
 
-## Chargement des données Hub'eau ESU
+## Chargement des prélèvements Hub'eau ESU
 
 La table des données brutes Nitrates Hub'eau ESU est chargée :
 
-```{r load-nitrate_data_analyse_hubeau_esu, eval = FALSE}
-nitrate_qualite_rivieres_analyse_pc <- datalibaba::importer_data(
+```{r load-nitrate_qualite_rivieres_analyse_pc, eval = FALSE}
+# Charger la table qualite_nappes_eau_souterraine.nitrate_qualite_rivieres_analyse_pc
+nitrate_qualite_rivieres_prelevements <- datalibaba::importer_data(
   table = "nitrate_qualite_rivieres_analyse_pc",
   schema = "qualite_cours_d_eau",
   db = "si_eau",
@@ -35,13 +36,13 @@ nitrate_qualite_rivieres_analyse_pc <- datalibaba::importer_data(
 )
 ```
 
-## Consolidation des données Hub'eau ESU
+## Consolidation des prélèvements Hub'eau ESU
 
 On remplace "." par "," dans les variables `limite_detection` et `limite_quantification` :
 
 ```{r replace-in_limite_detection, eval = FALSE}
 # Remplacer "." par "," dans les colonnes limite_detection et limite_quantification
-nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
+nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
   dplyr::mutate(
     limite_detection = stringr::str_replace_all(limite_detection, ".", ","),
     limite_quantification = stringr::str_replace_all(limite_quantification, ".", ",")
@@ -52,7 +53,7 @@ On ajoute la variable `source` :
 
 ```{r add-source_code_support_hubeau_esu, eval = FALSE}
 # Ajouter les variables source et code_support
-nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
+nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
   dplyr::mutate(source = "Na\u00efades")
 ```
 
@@ -60,7 +61,7 @@ On sélectionne les champs utiles à la table des prélèvements :
 
 ```{r select-variables_hubeau_esu, eval = FALSE}
 # Sélectionner les variables
-nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
+nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
   dplyr::select(source,
                 code_reseau,
                 code_station,
@@ -74,7 +75,7 @@ On modifie le type de la variable `code_support` de character en integer :
 
 ```{r change-type_code_support, eval = FALSE}
 # Convertir la variable code_support de character en integer
-nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
+nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
   dplyr::mutate(code_support = as.integer(code_support))
 ```
 
@@ -84,7 +85,7 @@ donnée :
 
 ```{r select-distinct-rows_hubeau_esu, eval = FALSE}
 # Dédoublonner les lignes sur les colonnes code_station et date_prelevement
-nitrate_qualite_rivieres_analyse_pc <- nitrate_qualite_rivieres_analyse_pc |>
+nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
   dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE)
 ```
 
@@ -92,19 +93,19 @@ On ajoute un identifiant unique s'appuyant sur une séquence stockée en base :
 
 ```{r add_code_prelevement_hubeau_esu, eval = FALSE}
 # Utiliser la fonction add_code_prelevement avec la version souhaitée
-nitrate_qualite_rivieres_analyse_pc <- add_code_prelevement(
-  nitrate_qualite_rivieres_analyse_pc, "v0_15")
+nitrate_qualite_rivieres_prelevements <- add_code_prelevement(
+  nitrate_qualite_rivieres_prelevements, "v0_15")
 
 # Afficher le dataframe pour vérifier les modifications
-print(nitrate_qualite_rivieres_analyse_pc)
+print(nitrate_qualite_rivieres_prelevements)
 
 ```
 
-On charge les données consolidées dans un table dédiée :
+On charge les données consolidées dans une table dédiée :
 
 ```{r insert-into_nitrate_prelevement_hubeau_esu, eval = FALSE}
 # Charger les données dans une nouvelle table en base
-datalibaba::poster_data(data = nitrate_qualite_rivieres_analyse_pc, 
+datalibaba::poster_data(data = nitrate_qualite_rivieres_prelevements, 
                         table = "nitrate_prelevement_hubeau_esu_v0_15", 
                         schema = "nitrates", 
                         db = "si_eau",
@@ -113,7 +114,7 @@ datalibaba::poster_data(data = nitrate_qualite_rivieres_analyse_pc,
                         user = "admin")
 ```
 
-# Insertion des données Hub'eau ESU du nouveau millésime en base dans la table globale
+# Insertion des prélèvements Hub'eau ESU en base dans la table globale
 
 On insère enfin les enregistrements de cette table dans la table globale :
 
-- 
GitLab