diff --git a/.Rbuildignore b/.Rbuildignore
index c726cfaf36aca9dce8729bc6c61ae847e9f60a42..32136ab3663c18ed50b4b859883f2340d5d0bfa9 100644
--- a/.Rbuildignore
+++ b/.Rbuildignore
@@ -4,3 +4,5 @@
 ^CODE_OF_CONDUCT\.md$
 ^data\.nitrates\.Rproj$
 ^\.Rproj\.user$
+^.gitlab-ci\.yml$
+^_pkgdown\.yml$
diff --git a/R/create_nitrate_prelevement_table.R b/R/create_nitrate_prelevement_table.R
index 4e87ea70feae25fd5e95fac52a661c5b7662916e..38e479fdb53811043f1adb4997e0e9239ba0aafc 100644
--- a/R/create_nitrate_prelevement_table.R
+++ b/R/create_nitrate_prelevement_table.R
@@ -18,7 +18,7 @@
 #' connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
 #'
 #' # Création du script SQL avec la version choisie
-#' version <- "v0_15"
+#' version <- "v0_16"
 #' last_year <- "2023"
 #' sql <- create_nitrate_analyse_table(version, last_year, connexion)
 create_nitrate_analyse_table <- function(version, last_year, connexion) {
@@ -117,7 +117,7 @@ create_nitrate_analyse_table <- function(version, last_year, connexion) {
 #' connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
 #'
 #' # Création du script SQL avec la version choisie
-#' version <- "v0_15"
+#' version <- "v0_16"
 #' last_year <- "2023"
 #' sql <- create_nitrate_prelevement_table(version, last_year, connexion)
 create_nitrate_prelevement_table  <- function(version, last_year, connexion) {
@@ -137,6 +137,7 @@ create_nitrate_prelevement_table  <- function(version, last_year, connexion) {
       date_prelevement date,
       heure_prelevement character varying(8),
       code_support int,
+      nature_eau character varying(3),
       id_usage character varying(3),
       id_prelevement_motif character varying(2),
       commentaire character varying(254),
@@ -166,6 +167,7 @@ create_nitrate_prelevement_table  <- function(version, last_year, connexion) {
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.date_prelevement IS 'Date du pr\u00e9l\u00e8vement';
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.heure_prelevement IS 'Heure du pr\u00e9l\u00e8vement';
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.code_support IS 'Code du support de pr\u00e9l\u00e8vement';
+    COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.nature_eau IS 'Nature de l''eau du pr\u00e9l\u00e8vement (ESO/ESU)';
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.id_usage IS 'Code de l''usage du pr\u00e9l\u00e8vement';
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.id_prelevement_motif IS 'Code du motif du pr\u00e9l\u00e8vement';
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.commentaire IS 'Commentaire';
diff --git a/dev/flat_create_tables.Rmd b/dev/flat_create_tables.Rmd
index edee83eaa2914ec2a296e7f3b6521468b2db7a93..564b9336e203b3060fd4e17631a4f966a89f3fac 100644
--- a/dev/flat_create_tables.Rmd
+++ b/dev/flat_create_tables.Rmd
@@ -54,6 +54,7 @@ create_nitrate_prelevement_table  <- function(version, last_year, connexion) {
       date_prelevement date,
       heure_prelevement character varying(8),
       code_support int,
+      nature_eau character varying(3),
       id_usage character varying(3),
       id_prelevement_motif character varying(2),
       commentaire character varying(254),
@@ -83,6 +84,7 @@ create_nitrate_prelevement_table  <- function(version, last_year, connexion) {
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.date_prelevement IS 'Date du pr\u00e9l\u00e8vement';
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.heure_prelevement IS 'Heure du pr\u00e9l\u00e8vement';
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.code_support IS 'Code du support de pr\u00e9l\u00e8vement';
+    COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.nature_eau IS 'Nature de l''eau du pr\u00e9l\u00e8vement (ESO/ESU)';
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.id_usage IS 'Code de l''usage du pr\u00e9l\u00e8vement';
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.id_prelevement_motif IS 'Code du motif du pr\u00e9l\u00e8vement';
     COMMENT ON COLUMN nitrates.nitrate_prelevement_{version}.commentaire IS 'Commentaire';
@@ -113,7 +115,7 @@ create_nitrate_prelevement_table  <- function(version, last_year, connexion) {
 connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
 
 # Création du script SQL avec la version choisie
-version <- "v0_15"
+version <- "v0_16"
 last_year <- "2023"
 sql <- create_nitrate_prelevement_table(version, last_year, connexion)
 ```
@@ -216,7 +218,7 @@ create_nitrate_analyse_table <- function(version, last_year, connexion) {
 connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
 
 # Création du script SQL avec la version choisie
-version <- "v0_15"
+version <- "v0_16"
 last_year <- "2023"
 sql <- create_nitrate_analyse_table(version, last_year, connexion)
 ```
diff --git a/dev/flat_insert_ars_into_prelevement.Rmd b/dev/flat_insert_ars_into_prelevement.Rmd
index 2507cc574230d42bc5c14a05aad6a9cef405ed5c..4330e91d714547a3ec72b911abca2f491921dc4a 100644
--- a/dev/flat_insert_ars_into_prelevement.Rmd
+++ b/dev/flat_insert_ars_into_prelevement.Rmd
@@ -22,7 +22,7 @@ pkgload::load_all(export_all = FALSE)
 
 # Consolidation et insertion des données de l'ARS dans la table des prélèvements
 
-## Chargement des données ARS brutes
+## Chargement des données ARS brutes et des stations ESO
 
 La table des données brutes Nitrates de l'ARS est chargée :
 ```{r load-nitrate_data_analyse_ars, eval=FALSE}
@@ -34,6 +34,16 @@ nitrate_data_analyse_ars <- datalibaba::importer_data(
 )
 ```
 
+La table des stations ESO est chargée :
+```{r load-nitrate_station_eso, eval=FALSE}
+station_eso <- datalibaba::importer_data(
+  table = "station_eso",
+  schema = "stations",
+  db = "si_eau",
+  user = "admin"
+)
+```
+
 ## Consolidation des données ARS
 
 On ajoute les variables `source` et `code_support` :
@@ -63,6 +73,7 @@ nitrate_data_analyse_ars <- nitrate_data_analyse_ars |>
                 date_prelevement = plv_date,
                 heure_prelevement = plv_heure,
                 code_support,
+                nature_eau,
                 id_usage = usage,
                 id_prelevement_motif = plv_motif)
 
@@ -76,6 +87,31 @@ nitrate_data_analyse_ars <- nitrate_data_analyse_ars |>
   dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE)
 ```
 
+On met à jour le champs code_station avec le code BSS :
+```{r update_code_bss, eval=FALSE}
+nitrate_data_analyse_ars <- nitrate_data_analyse_ars |>
+  dplyr::left_join(station_eso, by = c("code_station" = "code_sise_eaux"), suffix = c("_ars", "_station_eso")) 
+
+nitrate_data_analyse_ars <- nitrate_data_analyse_ars |>
+  dplyr::mutate(code_station = ifelse(!is.na(code_station_station_eso), code_station_station_eso, code_station)) |>
+  dplyr::select(-code_station_station_eso, -source_station_eso)
+```
+
+On ne conserve que les champs utiles à la table des prélèvements :
+```{r select-variables-ars_v2, eval=FALSE}
+nitrate_data_analyse_ars <- nitrate_data_analyse_ars |>
+  dplyr::select(code_intervenant,
+                source = source_ars,
+                code_station,
+                date_prelevement,
+                heure_prelevement,
+                code_support,
+                nature_eau,
+                id_usage,
+                id_prelevement_motif)
+```
+
+
 ```{r function-add_code_prelevement, eval=FALSE} 
 #' Ajouter une variable code_prelevement au dataframe
 #'
@@ -129,7 +165,7 @@ On ajoute un identifiant unique s'appuyant sur une séquence stockée en base :
 ```{r add_code_prelevement_ars, eval=FALSE}
 # Utiliser la fonction add_code_prelevement_ars avec la version souhaitée
 nitrate_data_analyse_ars <- add_code_prelevement(
-  nitrate_data_analyse_ars, "v0_15")
+  nitrate_data_analyse_ars, "v0_16")
 
 # Afficher le dataframe pour vérifier les modifications
 print(nitrate_data_analyse_ars)
@@ -137,10 +173,10 @@ print(nitrate_data_analyse_ars)
 ```
 
 On charge les données consolidées dans un table dédiée :
-```{r insert-into_nitrate_prelevement_v0_15, eval=FALSE}
+```{r insert-into_nitrate_prelevement_v0_16, eval=FALSE}
 # Charger les données dans une nouvelle table en base
 datalibaba::poster_data(data = nitrate_data_analyse_ars, 
-                        table = "nitrate_prelevement_ars_v0_15", 
+                        table = "nitrate_prelevement_ars_v0_16", 
                         schema = "nitrates", 
                         db = "si_eau",
                         overwrite = TRUE,
@@ -154,9 +190,9 @@ On insère enfin les enregistrements de cette table dans la table globale :
 ```{r import_and_merge_tables_ars, 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_prelevement_ars_v0_15", 
+                                  source_table = "nitrate_prelevement_ars_v0_16", 
                                   source_schema = "nitrates", 
-                                  target_table = "nitrate_prelevement_v0_15", 
+                                  target_table = "nitrate_prelevement_v0_16", 
                                   target_schema = "nitrates",
                                   role = "admin")
 
diff --git a/dev/flat_insert_hubeau_eso_into_prelevement.Rmd b/dev/flat_insert_hubeau_eso_into_prelevement.Rmd
index b87e02a5463d04ad7339633af1a6e845eb28f823..9ef92fb731ac4c4a3e08bf95be9769f14693c72d 100644
--- a/dev/flat_insert_hubeau_eso_into_prelevement.Rmd
+++ b/dev/flat_insert_hubeau_eso_into_prelevement.Rmd
@@ -47,13 +47,14 @@ nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
 
 ## Consolidation des prélèvements Hub'eau ESO
 
-On ajoute les variables `source` et `code_support` :
+On ajoute les variables `source`, `code_support` et `nature_eau` :
 ```{r add-source_code_support_hubeau_eso, eval=FALSE}
-# Ajouter les variables source et code_support
+# Ajouter les variables source, code_support et nature_eau
 nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::mutate(
     source = "ADES",
-    code_support = 3)
+    code_support = 3,
+    nature_eau = "ESO")
 ```
 
 On sélectionne les champs utiles à la table des prélèvements :
@@ -64,7 +65,8 @@ nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
                 code_reseau = codes_reseau,
                 code_station = bss_id,
                 date_prelevement = date_debut_prelevement,
-                code_support)
+                code_support,
+                nature_eau)
 ```
 
 On modifie le type de la variable `code_support` de character en integer :
@@ -87,7 +89,7 @@ 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_prelevements <- add_code_prelevement(
-  nitrate_qualite_nappes_prelevements, "v0_15")
+  nitrate_qualite_nappes_prelevements, "v0_16")
 
 # Afficher le dataframe pour vérifier les modifications
 print(nitrate_qualite_nappes_prelevements)
@@ -98,7 +100,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_prelevements, 
-                        table = "nitrate_prelevement_hubeau_eso_v0_15", 
+                        table = "nitrate_prelevement_hubeau_eso_v0_16", 
                         schema = "nitrates", 
                         db = "si_eau",
                         overwrite = TRUE,
@@ -112,9 +114,9 @@ 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 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_table = "nitrate_prelevement_hubeau_eso_v0_16", 
                                   source_schema = "nitrates", 
-                                  target_table = "nitrate_prelevement_v0_15", 
+                                  target_table = "nitrate_prelevement_v0_16", 
                                   target_schema = "nitrates",
                                   role = "admin")
 
diff --git a/dev/flat_insert_hubeau_esu_into_prelevement.Rmd b/dev/flat_insert_hubeau_esu_into_prelevement.Rmd
index 856ef327732c96f5f1427b0026779c5400449404..40e8a150462c73344a8fb66b17737a5cfda91430 100644
--- a/dev/flat_insert_hubeau_esu_into_prelevement.Rmd
+++ b/dev/flat_insert_hubeau_esu_into_prelevement.Rmd
@@ -47,11 +47,14 @@ nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |
     )
 ```
 
-On ajoute la variable `source` :
+On ajoute les variables `source` et `nature_eau` :
 ```{r add-source_code_support_hubeau_esu, eval=FALSE}
-# Ajouter les variables source et code_support
+# Ajouter les variables source et nature_eau
 nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
-  dplyr::mutate(source = "Na\u00efades")
+  dplyr::mutate(
+    source = "Na\u00efades",
+    nature_eau = "ESO")
+
 ```
 
 On sélectionne les champs utiles à la table des prélèvements :
@@ -64,6 +67,7 @@ nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |
                 date_prelevement,
                 heure_prelevement,
                 code_support,
+                nature_eau,
                 commentaire = commentaires_analyse)
 ```
 
@@ -87,7 +91,7 @@ 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_prelevements <- add_code_prelevement(
-  nitrate_qualite_rivieres_prelevements, "v0_15")
+  nitrate_qualite_rivieres_prelevements, "v0_16")
 
 # Afficher le dataframe pour vérifier les modifications
 print(nitrate_qualite_rivieres_prelevements)
@@ -98,7 +102,7 @@ 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_prelevements, 
-                        table = "nitrate_prelevement_hubeau_esu_v0_15", 
+                        table = "nitrate_prelevement_hubeau_esu_v0_16", 
                         schema = "nitrates", 
                         db = "si_eau",
                         overwrite = TRUE,
@@ -112,9 +116,9 @@ 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_prelevement_hubeau_esu_v0_15", 
+                                  source_table = "nitrate_prelevement_hubeau_esu_v0_16", 
                                   source_schema = "nitrates", 
-                                  target_table = "nitrate_prelevement_v0_15", 
+                                  target_table = "nitrate_prelevement_v0_16", 
                                   target_schema = "nitrates",
                                   role = "admin")
 
diff --git a/man/create_nitrate_analyse_table.Rd b/man/create_nitrate_analyse_table.Rd
index 8e3c978d34ab80f82b2e924a3149faedd4a3b71b..a3b57535a3cef4a504277ddd38a5e874b7045348 100644
--- a/man/create_nitrate_analyse_table.Rd
+++ b/man/create_nitrate_analyse_table.Rd
@@ -26,7 +26,7 @@ les contraintes et les séquences nécessaires.
 connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
 
 # Création du script SQL avec la version choisie
-version <- "v0_15"
+version <- "v0_16"
 last_year <- "2023"
 sql <- create_nitrate_analyse_table(version, last_year, connexion)
 }
diff --git a/man/create_nitrate_prelevement_table.Rd b/man/create_nitrate_prelevement_table.Rd
index 1ce577962fedd7b01dce091861201205d786caee..1f1f58ec328c308d7e46d84770bd6f86d6a87634 100644
--- a/man/create_nitrate_prelevement_table.Rd
+++ b/man/create_nitrate_prelevement_table.Rd
@@ -26,7 +26,7 @@ incluant les contraintes et les séquences nécessaires.
 connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
 
 # Création du script SQL avec la version choisie
-version <- "v0_15"
+version <- "v0_16"
 last_year <- "2023"
 sql <- create_nitrate_prelevement_table(version, last_year, connexion)
 }
diff --git a/vignettes/creation-des-tables-finales.Rmd b/vignettes/creation-des-tables-finales.Rmd
index 37b8ba7edc61e4a1323fef0f2acd29304684151b..88b9a5f25615a6aabfacb765dc8045d53a123fbb 100644
--- a/vignettes/creation-des-tables-finales.Rmd
+++ b/vignettes/creation-des-tables-finales.Rmd
@@ -32,7 +32,7 @@ library(data.nitrates)
 connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
 
 # Création du script SQL avec la version choisie
-version <- "v0_15"
+version <- "v0_16"
 last_year <- "2023"
 sql <- create_nitrate_prelevement_table(version, last_year, connexion)
 ```
@@ -42,7 +42,7 @@ sql <- create_nitrate_prelevement_table(version, last_year, connexion)
 connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
 
 # Création du script SQL avec la version choisie
-version <- "v0_15"
+version <- "v0_16"
 last_year <- "2023"
 sql <- create_nitrate_analyse_table(version, last_year, connexion)
 ```
diff --git a/vignettes/insertion-des-prelevements-ars.Rmd b/vignettes/insertion-des-prelevements-ars.Rmd
index 0d13459ca561cd9605e756675d9f7dfb7ae83fe9..1d1f9c3b4aeab335c4f2aae1b7722d6ac261610c 100644
--- a/vignettes/insertion-des-prelevements-ars.Rmd
+++ b/vignettes/insertion-des-prelevements-ars.Rmd
@@ -22,7 +22,7 @@ library(data.nitrates)
 
 # Consolidation et insertion des données de l'ARS dans la table des prélèvements
 
-## Chargement des données ARS brutes
+## Chargement des données ARS brutes et des stations ESO
 
 La table des données brutes Nitrates de l'ARS est chargée :
 
@@ -35,6 +35,17 @@ nitrate_data_analyse_ars <- datalibaba::importer_data(
 )
 ```
 
+La table des stations ESO est chargée :
+
+```{r load-nitrate_station_eso, eval = FALSE}
+station_eso <- datalibaba::importer_data(
+  table = "station_eso",
+  schema = "stations",
+  db = "si_eau",
+  user = "admin"
+)
+```
+
 ## Consolidation des données ARS
 
 On ajoute les variables `source` et `code_support` :
@@ -67,6 +78,7 @@ nitrate_data_analyse_ars <- nitrate_data_analyse_ars |>
                 date_prelevement = plv_date,
                 heure_prelevement = plv_heure,
                 code_support,
+                nature_eau,
                 id_usage = usage,
                 id_prelevement_motif = plv_motif)
 
@@ -81,12 +93,38 @@ nitrate_data_analyse_ars <- nitrate_data_analyse_ars |>
   dplyr::distinct(code_station, date_prelevement, .keep_all = TRUE)
 ```
 
+On met à jour le champs code_station avec le code BSS :
+
+```{r update_code_bss, eval = FALSE}
+nitrate_data_analyse_ars <- nitrate_data_analyse_ars |>
+  dplyr::left_join(station_eso, by = c("code_station" = "code_sise_eaux"), suffix = c("_ars", "_station_eso")) 
+
+nitrate_data_analyse_ars <- nitrate_data_analyse_ars |>
+  dplyr::mutate(code_station = ifelse(!is.na(code_station_station_eso), code_station_station_eso, code_station)) |>
+  dplyr::select(-code_station_station_eso, -source_station_eso)
+```
+
+On ne conserve que les champs utiles à la table des prélèvements :
+
+```{r select-variables-ars_v2, eval = FALSE}
+nitrate_data_analyse_ars <- nitrate_data_analyse_ars |>
+  dplyr::select(code_intervenant,
+                source = source_ars,
+                code_station,
+                date_prelevement,
+                heure_prelevement,
+                code_support,
+                nature_eau,
+                id_usage,
+                id_prelevement_motif)
+```
+
 On ajoute un identifiant unique s'appuyant sur une séquence stockée en base :
 
 ```{r add_code_prelevement_ars, eval = FALSE}
 # Utiliser la fonction add_code_prelevement_ars avec la version souhaitée
 nitrate_data_analyse_ars <- add_code_prelevement(
-  nitrate_data_analyse_ars, "v0_15")
+  nitrate_data_analyse_ars, "v0_16")
 
 # Afficher le dataframe pour vérifier les modifications
 print(nitrate_data_analyse_ars)
@@ -95,10 +133,10 @@ print(nitrate_data_analyse_ars)
 
 On charge les données consolidées dans un table dédiée :
 
-```{r insert-into_nitrate_prelevement_v0_15, eval = FALSE}
+```{r insert-into_nitrate_prelevement_v0_16, eval = FALSE}
 # Charger les données dans une nouvelle table en base
 datalibaba::poster_data(data = nitrate_data_analyse_ars, 
-                        table = "nitrate_prelevement_ars_v0_15", 
+                        table = "nitrate_prelevement_ars_v0_16", 
                         schema = "nitrates", 
                         db = "si_eau",
                         overwrite = TRUE,
@@ -113,9 +151,9 @@ On insère enfin les enregistrements de cette table dans la table globale :
 ```{r import_and_merge_tables_ars, 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_prelevement_ars_v0_15", 
+                                  source_table = "nitrate_prelevement_ars_v0_16", 
                                   source_schema = "nitrates", 
-                                  target_table = "nitrate_prelevement_v0_15", 
+                                  target_table = "nitrate_prelevement_v0_16", 
                                   target_schema = "nitrates",
                                   role = "admin")
 
diff --git a/vignettes/insertion-des-prelevements-hubeau-eso.Rmd b/vignettes/insertion-des-prelevements-hubeau-eso.Rmd
index 66ffb8a6d800afd82bdd2f94505c6395504bef96..131e7f3d0cd24f4b22de83f7b249d14812ee9c01 100644
--- a/vignettes/insertion-des-prelevements-hubeau-eso.Rmd
+++ b/vignettes/insertion-des-prelevements-hubeau-eso.Rmd
@@ -49,14 +49,15 @@ nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
 
 ## Consolidation des prélèvements Hub'eau ESO
 
-On ajoute les variables `source` et `code_support` :
+On ajoute les variables `source`, `code_support` et `nature_eau` :
 
 ```{r add-source_code_support_hubeau_eso, eval = FALSE}
-# Ajouter les variables source et code_support
+# Ajouter les variables source, code_support et nature_eau
 nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
   dplyr::mutate(
     source = "ADES",
-    code_support = 3)
+    code_support = 3,
+    nature_eau = "ESO")
 ```
 
 On sélectionne les champs utiles à la table des prélèvements :
@@ -68,7 +69,8 @@ nitrate_qualite_nappes_prelevements <- nitrate_qualite_nappes_prelevements |>
                 code_reseau = codes_reseau,
                 code_station = bss_id,
                 date_prelevement = date_debut_prelevement,
-                code_support)
+                code_support,
+                nature_eau)
 ```
 
 On modifie le type de la variable `code_support` de character en integer :
@@ -94,7 +96,7 @@ 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_prelevements <- add_code_prelevement(
-  nitrate_qualite_nappes_prelevements, "v0_15")
+  nitrate_qualite_nappes_prelevements, "v0_16")
 
 # Afficher le dataframe pour vérifier les modifications
 print(nitrate_qualite_nappes_prelevements)
@@ -106,7 +108,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_prelevements, 
-                        table = "nitrate_prelevement_hubeau_eso_v0_15", 
+                        table = "nitrate_prelevement_hubeau_eso_v0_16", 
                         schema = "nitrates", 
                         db = "si_eau",
                         overwrite = TRUE,
@@ -121,9 +123,9 @@ 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 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_table = "nitrate_prelevement_hubeau_eso_v0_16", 
                                   source_schema = "nitrates", 
-                                  target_table = "nitrate_prelevement_v0_15", 
+                                  target_table = "nitrate_prelevement_v0_16", 
                                   target_schema = "nitrates",
                                   role = "admin")
 
diff --git a/vignettes/insertion-des-prelevements-hubeau-esu.Rmd b/vignettes/insertion-des-prelevements-hubeau-esu.Rmd
index 6632c6269624d85b6073d1228e9466b40d3d2be6..b24dc407a803f9fe7b1c909261646891d60f2509 100644
--- a/vignettes/insertion-des-prelevements-hubeau-esu.Rmd
+++ b/vignettes/insertion-des-prelevements-hubeau-esu.Rmd
@@ -49,12 +49,15 @@ nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |
     )
 ```
 
-On ajoute la variable `source` :
+On ajoute les variables `source` et `nature_eau` :
 
 ```{r add-source_code_support_hubeau_esu, eval = FALSE}
-# Ajouter les variables source et code_support
+# Ajouter les variables source et nature_eau
 nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |>
-  dplyr::mutate(source = "Na\u00efades")
+  dplyr::mutate(
+    source = "Na\u00efades",
+    nature_eau = "ESO")
+
 ```
 
 On sélectionne les champs utiles à la table des prélèvements :
@@ -68,6 +71,7 @@ nitrate_qualite_rivieres_prelevements <- nitrate_qualite_rivieres_prelevements |
                 date_prelevement,
                 heure_prelevement,
                 code_support,
+                nature_eau,
                 commentaire = commentaires_analyse)
 ```
 
@@ -94,7 +98,7 @@ 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_prelevements <- add_code_prelevement(
-  nitrate_qualite_rivieres_prelevements, "v0_15")
+  nitrate_qualite_rivieres_prelevements, "v0_16")
 
 # Afficher le dataframe pour vérifier les modifications
 print(nitrate_qualite_rivieres_prelevements)
@@ -106,7 +110,7 @@ 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_prelevements, 
-                        table = "nitrate_prelevement_hubeau_esu_v0_15", 
+                        table = "nitrate_prelevement_hubeau_esu_v0_16", 
                         schema = "nitrates", 
                         db = "si_eau",
                         overwrite = TRUE,
@@ -121,9 +125,9 @@ 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_prelevement_hubeau_esu_v0_15", 
+                                  source_table = "nitrate_prelevement_hubeau_esu_v0_16", 
                                   source_schema = "nitrates", 
-                                  target_table = "nitrate_prelevement_v0_15", 
+                                  target_table = "nitrate_prelevement_v0_16", 
                                   target_schema = "nitrates",
                                   role = "admin")