diff --git a/R/poster_documenter_data.R b/R/poster_documenter_data.R
index c719eca2296afa7067853b76b761d592326ab628..f6cfe163ca01c1f17d3f56613d0004b1cad3fb98 100644
--- a/R/poster_documenter_data.R
+++ b/R/poster_documenter_data.R
@@ -1,97 +1,97 @@
-library(datalibaba)
-library(googlesheets4)
-
-poster_documenter_it <- function(df = pop10, nom_table_sgbd = "source_pop_rgp_insee", 
-                                 comm_source_en_plus = "T\u00e9l\u00e9chargement depuis...") {
-  
-  # Vérif clé primaire : une ligne par commune et par date
-  doublons <- df %>% 
-    dplyr::count(depcom, date) %>% 
-    dplyr::filter(n>1) %>% 
-    nrow()
-  attempt::stop_if(doublons > 0, msg =  glue::glue("La table df contient plusieurs lignes qui ont \u00e0 la fois le m\u00eame code commune et la m\u00eame date m\u00eame date"))
-  
-  
-  # CHARGEMENT de la table dans le SGBD
-  datalibaba::poster_data(data = df,
-              db = "datamart",
-              schema = "portrait_territoires", 
-              table = nom_table_sgbd,
-              post_row_name = FALSE, 
-              overwrite = TRUE,
-              droits_schema = TRUE,
-              pk = c("depcom", "date"), # déclaration d'une clé primaire sur la table postée : on ne doit pas avoir deux lignes avec à la fois le même code commune et la meme date
-              user = "does") 
-  
-  
-  # RECUPERATION DES METADONNEES
-  
-  ## On récupère la liste des variables qui sont à documenter dans le tableur google sheet à partir du jeu de données posté
-  var <- dplyr::setdiff(names(df), c("depcom", "date"))
-  
-  ## récupération du nom du présent script source pour filtrer ensuite le référentiel des indicateurs
-  nom_script_sce <- rstudioapi::getActiveDocumentContext()$path %>% # utilisation de rstudioapi pour récupérer le nom du présent script 
-    basename() %>% # on enlève le chemin d'accès pour ne garder que le nom du fichier
-    gsub(pattern = ".R$", "", .) # on enlève l'extension '.R'
-  message("nom_script_sce détecté ", nom_script_sce)
-  ## authentification google sheet grâce au .Renviron
-  googlesheets4::gs4_auth_configure(api_key = Sys.getenv("google_api_key"))
-  googlesheets4::gs4_deauth()
-  
-  ## chargement du référentiel indicateurs google sheet
-  metadata_indicateur <- googlesheets4::read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
-                                    sheet = "indicateurs") %>%
-    # on ne garde que les variables concernées par le présent script de chargement
-    dplyr::filter(source == nom_script_sce) %>% 
-    # on ajoute l'unité dans le libellé de la variable
-    dplyr::mutate(libelle_variable = paste0(libelle_variable, " (unit\u00e9 : ", unite, ")")) %>% 
-    dplyr::select(variable, libelle_variable) %>% 
-    # ajout des libellés pour depcom et date
-    dplyr::bind_rows(
-      tidyr::tribble(
-        ~variable, ~libelle_variable,
-        "depcom", "Code INSEE de la commune",
-        "date", "Millesime"
-      )
-    )
-  
-  ## Vérification que la documentation des indicateurs est complète
-  var_mq <- dplyr::setdiff(var, metadata_indicateur$variable) %>% paste(collapse = "\n")
-  var_en_trop <- dplyr::setdiff(metadata_indicateur$variable, c("depcom", "date", var)) %>% paste(collapse = "\n")
-  attempt::stop_if_not(all(var %in% metadata_indicateur$variable),
-                       msg = glue::glue("La table df contient des variables non document\u00e9es dans le r\u00e9f\u00e9rentiel google sheet : \n{var_mq}\n"))
-  attempt::stop_if_not(all(metadata_indicateur$variable %in% c("depcom", "date", var)),
-                       msg = glue::glue("Le r\u00e9f\u00e9rentiel google sheet des indicateurs contient des variables absentes de la table df :\n{var_en_trop}\n",
-                                        "V\u00e9rifier si df contient bien toutes les variables attendues et adpatez le r\u00e9f\u00e9rentiel des indicateurs au besoin."))
-  
-  
-  ## Envoi des libellés de variable dans le SGBD
-  datalibaba::post_dico_attr(dico = metadata_indicateur, table = nom_table_sgbd, schema = "portrait_territoires",
-                 db = "datamart", user = "does")
-  
-  ## Récupération des métadonnées de la source
-  nom_sce <- stringr::str_replace(nom_script_sce, "chargement_|ref_|specifique_", "") %>%
-    stringr::str_replace("indicateur_", "") %>%
-    stringr::str_replace("_cogiter|_cog$", "")
-  
-  metadata_source <- googlesheets4::read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
-                                sheet = "sources") %>%
-    dplyr::filter(source == nom_sce) %>% 
-    dplyr::mutate(com_table = paste0(source_lib, " - ", producteur, ".\n", descriptif_sources)) %>% 
-    dplyr::pull(com_table) %>% 
-    # ajout de complement sur la généalogie
-    paste0("\n", comm_source_en_plus)
-  
-  
-  ## commentaires de la table
-  
-  datalibaba::commenter_table(comment = metadata_source,
-                  db = "datamart",
-                  schema = "portrait_territoires",
-                  table = nom_table_sgbd, 
-                  user = "does")
-  
-}
-
-
-
+library(datalibaba)
+library(googlesheets4)
+
+poster_documenter_it <- function(df = pop10, nom_table_sgbd = "source_pop_rgp_insee", user = "does", serveur = NULL, secret = FALSE,
+                                 comm_source_en_plus = "T\u00e9l\u00e9chargement depuis...") {
+  
+  # Vérif clé primaire : une ligne par commune et par date
+  doublons <- df %>% 
+    dplyr::count(depcom, date) %>% 
+    dplyr::filter(n>1) %>% 
+    nrow()
+  attempt::stop_if(doublons > 0, msg =  glue::glue("La table df contient plusieurs lignes qui ont \u00e0 la fois le m\u00eame code commune et la m\u00eame date m\u00eame date"))
+  
+  
+  # CHARGEMENT de la table dans le SGBD
+  datalibaba::poster_data(data = df, server = serveur,
+                          db = "datamart",
+                          schema = "portrait_territoires", 
+                          table = nom_table_sgbd,
+                          post_row_name = FALSE, 
+                          overwrite = TRUE,
+                          droits_schema = !secret,
+                          pk = c("depcom", "date"), # déclaration d'une clé primaire sur la table postée : on ne doit pas avoir deux lignes avec à la fois le même code commune et la meme date
+                          user = user) 
+  
+  
+  # RECUPERATION DES METADONNEES
+  
+  ## On récupère la liste des variables qui sont à documenter dans le tableur google sheet à partir du jeu de données posté
+  var <- dplyr::setdiff(names(df), c("depcom", "date"))
+  
+  ## récupération du nom du présent script source pour filtrer ensuite le référentiel des indicateurs
+  nom_script_sce <- rstudioapi::getActiveDocumentContext()$path %>% # utilisation de rstudioapi pour récupérer le nom du présent script 
+    basename() %>% # on enlève le chemin d'accès pour ne garder que le nom du fichier
+    gsub(pattern = ".R$", "", .) # on enlève l'extension '.R'
+  message("nom_script_sce détecté ", nom_script_sce)
+  ## authentification google sheet grâce au .Renviron
+  googlesheets4::gs4_auth_configure(api_key = Sys.getenv("google_api_key"))
+  googlesheets4::gs4_deauth()
+  
+  ## chargement du référentiel indicateurs google sheet
+  metadata_indicateur <- googlesheets4::read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
+                                    sheet = "indicateurs") %>%
+    # on ne garde que les variables concernées par le présent script de chargement
+    dplyr::filter(source == nom_script_sce) %>% 
+    # on ajoute l'unité dans le libellé de la variable
+    dplyr::mutate(libelle_variable = paste0(libelle_variable, " (unit\u00e9 : ", unite, ")")) %>% 
+    dplyr::select(variable, libelle_variable) %>% 
+    # ajout des libellés pour depcom et date
+    dplyr::bind_rows(
+      tidyr::tribble(
+        ~variable, ~libelle_variable,
+        "depcom", "Code INSEE de la commune",
+        "date", "Millesime"
+      )
+    )
+  
+  ## Vérification que la documentation des indicateurs est complète
+  var_mq <- dplyr::setdiff(var, metadata_indicateur$variable) %>% paste(collapse = "\n")
+  var_en_trop <- dplyr::setdiff(metadata_indicateur$variable, c("depcom", "date", var)) %>% paste(collapse = "\n")
+  attempt::stop_if_not(all(var %in% metadata_indicateur$variable),
+                       msg = glue::glue("La table df contient des variables non document\u00e9es dans le r\u00e9f\u00e9rentiel google sheet : \n{var_mq}\n"))
+  attempt::stop_if_not(all(metadata_indicateur$variable %in% c("depcom", "date", var)),
+                       msg = glue::glue("Le r\u00e9f\u00e9rentiel google sheet des indicateurs contient des variables absentes de la table df :\n{var_en_trop}\n",
+                                        "V\u00e9rifier si df contient bien toutes les variables attendues et adpatez le r\u00e9f\u00e9rentiel des indicateurs au besoin."))
+  
+  
+  ## Envoi des libellés de variable en commentaire de champ dans le SGBD
+  datalibaba::post_dico_attr(dico = metadata_indicateur, table = nom_table_sgbd, schema = "portrait_territoires",
+                             db = "datamart", user = user, server = serveur)
+  
+  ## Récupération des métadonnées de la source
+  nom_sce <- stringr::str_replace(nom_script_sce, "chargement_|ref_|specifique_", "") %>%
+    stringr::str_replace("indicateur_", "") %>%
+    stringr::str_replace("_cogiter|_cog$", "")
+  
+  metadata_source <- googlesheets4::read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
+                                sheet = "sources") %>%
+    dplyr::filter(source == nom_sce) %>% 
+    dplyr::mutate(com_table = paste0(source_lib, " - ", producteur, ".\n", descriptif_sources)) %>% 
+    dplyr::pull(com_table) %>% 
+    # ajout de complement sur la généalogie
+    paste0("\n", comm_source_en_plus)
+  
+  
+  ## commentaires de la table
+  datalibaba::commenter_table(comment = metadata_source,
+                              db = "datamart",
+                              server = serveur,
+                              schema = "portrait_territoires",
+                              table = nom_table_sgbd, 
+                              user = user)
+  
+}
+
+
+
diff --git a/R/poster_documenter_ind.R b/R/poster_documenter_ind.R
index cacdb64d6e8c838ec24ae47c24f60f8ee2f7c74b..e0b691b14c592aa1b00b9db1e5e7e4a21198ac5d 100644
--- a/R/poster_documenter_ind.R
+++ b/R/poster_documenter_ind.R
@@ -2,7 +2,7 @@ library(datalibaba)
 library(googlesheets4)
 
 poster_documenter_ind <- function(df = indicateur_bimotor_menages, nom_table_sgbd = "indicateur_bimotor_menages", 
-                                  comm_source_en_plus = "", nom_script_sce = NULL) {
+                                  comm_source_en_plus = "", nom_script_sce = NULL, user = "does", serveur = NULL, secret = FALSE) {
   
   # Vérif clé primaire : une ligne par commune et par date
   doublons <- df %>% 
@@ -14,14 +14,15 @@ poster_documenter_ind <- function(df = indicateur_bimotor_menages, nom_table_sgb
   
   # CHARGEMENT de la table dans le SGBD
   datalibaba::poster_data(data = df,
-              db = "datamart",
-              schema = "portrait_territoires", 
-              table = nom_table_sgbd,
-              post_row_name = FALSE, 
-              overwrite = TRUE,
-              droits_schema = TRUE,
-              pk = c("TypeZone", "CodeZone", "date"), # déclaration d'une clé primaire sur la table postée : on ne doit pas avoir deux lignes avec à la fois la même zone et la meme date
-              user = "does") 
+                          server = serveur,
+                          db = "datamart",
+                          schema = "portrait_territoires", 
+                          table = nom_table_sgbd,
+                          post_row_name = FALSE, 
+                          overwrite = TRUE,
+                          droits_schema = !secret,
+                          pk = c("TypeZone", "CodeZone", "date"), # déclaration d'une clé primaire sur la table postée : on ne doit pas avoir deux lignes avec à la fois la même zone et la meme date
+                          user = user) 
   
   
   # RECUPERATION DES METADONNEES
@@ -33,11 +34,11 @@ poster_documenter_ind <- function(df = indicateur_bimotor_menages, nom_table_sgb
   if(is.null(nom_script_sce)) {
     nom_script_sce <- rstudioapi::getSourceEditorContext()$path %>% # utilisation de rstudioapi pour récupérer le nom du présent script 
       basename() %>% # on enlève le chemin d'accès pour ne garder que le nom du fichier
-      gsub(pattern = ".R$", "", .) # on enlève l'extension '.R'
+      gsub(pattern = ".R$", "", .)  }# on enlève l'extension '.R'
     if(nom_script_sce == "cogifier_en_masse") {
       nom_script_sce <- nom_table_sgbd
     }
-  }
+ 
   message("nom_script_sce détecté ", nom_script_sce)
   ## authentification google sheet grâce au .Renviron
   googlesheets4::gs4_auth_configure(api_key = Sys.getenv("google_api_key"))
@@ -45,7 +46,7 @@ poster_documenter_ind <- function(df = indicateur_bimotor_menages, nom_table_sgb
   
   ## chargement du référentiel indicateurs google sheet
   metadata_indicateur0 <- googlesheets4::read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
-                                    sheet = "indicateurs")
+                                                    sheet = "indicateurs")
   metadata_indicateur <- metadata_indicateur0 %>%
     # on ne garde que les variables concernées par le présent script de chargement
     dplyr::filter(source == nom_script_sce)  %>% 
@@ -76,7 +77,7 @@ poster_documenter_ind <- function(df = indicateur_bimotor_menages, nom_table_sgb
   
   ## Envoi des libellés de variable dans le SGBD
   datalibaba::post_dico_attr(dico = metadata_indicateur, table = nom_table_sgbd, schema = "portrait_territoires",
-                 db = "datamart", user = "does")
+                             db = "datamart", server = serveur, user = user)
   
   ## Récupération des métadonnées de la source
   nom_sce <- stringr::str_replace(nom_script_sce, "chargement_|ref_|specifique_", "") %>%
@@ -84,7 +85,7 @@ poster_documenter_ind <- function(df = indicateur_bimotor_menages, nom_table_sgb
     stringr::str_replace("_cogiter|_cog$", "")
   
   metadata_source0 <- googlesheets4::read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
-                                sheet = "sources") 
+                                                sheet = "sources") 
   metadata_source <- metadata_source0  %>%
     dplyr::filter(source == nom_sce) %>% 
     dplyr::mutate(com_table = paste0(source_lib, " - ", producteur, ".\n", descriptif_sources)) %>% 
@@ -96,12 +97,13 @@ poster_documenter_ind <- function(df = indicateur_bimotor_menages, nom_table_sgb
   ## commentaires de la table
   
   datalibaba::commenter_table(comment = metadata_source,
-                  db = "datamart",
-                  schema = "portrait_territoires",
-                  table = nom_table_sgbd, 
-                  user = "does")
+                              db = "datamart",
+                              schema = "portrait_territoires",
+                              table = nom_table_sgbd, 
+                              user = user, server = serveur)
   
 }
 
 
 
+
diff --git a/data-raw/chargement_eptb.R b/data-raw/chargement_eptb.R
index a5e6024610460daf790cb7fd2d57762a4087a6d7..8b02dceb0c6f4d4dd8964ec918011fc60ea8aaf1 100644
--- a/data-raw/chargement_eptb.R
+++ b/data-raw/chargement_eptb.R
@@ -1,116 +1,36 @@
+# chargement_eptb (a exécuter dans sur le serveur du SDES)
 
-# chargement_eptb
+# installation propre.eptb
+# remotes::install_gitlab("rdes_dreal/propre.eptb")
 
-
-# librairies --------
+# librairies --------------
 library(tidyverse)
-library(readxl)
-library(tricky)
 library(lubridate)
 library(DBI)
 library(RPostgreSQL)
 library(datalibaba)
 library(googlesheets4)
+library(propre.eptb)
 
 rm(list = ls())
 
+eptb <- propre.eptb::dataprep(nom_reg = "Bretagne", df = "/nfs/data/partage-EPTB/propre.EPTB/tab_result.parquet") %>% 
+  filter (TypeZone != "Densité") %>% 
+  select(-Zone_de_ref,-Zone_de_comp) %>% 
+  rename(date=millesime) %>% 
+  mutate_if(is.factor,as.character) %>% 
+  mutate(date= as.Date(paste0(date,"-12-31")))
+
+# versement dans le sgbd EcoSQL/datamart.portrait_territoires -------------
+
+source("R/poster_documenter_ind.R", encoding = "UTF-8")
+poster_documenter_ind(
+  df = eptb,
+  nom_table_sgbd = "source_eptb", 
+  comm_source_en_plus = "Données chargées depuis le serveur RStudio du SDES pour les DREALs",
+  secret = TRUE,
+  user = "ecosql_stat",
+  serveur = Sys.getenv("server_ecosql")
+)
 
-# chargement et calcul ----------
-# chargement des données EPTB (Enquete sur le prix des terrains à batir) --------
-# fichier cree a partir d une requete geokit 3 :
-# "Dossiers publics/geokit3/Regions Pays de la Loire/DREAL/INDICATEURS TER DATA LAB/gk3_eptb"
-eptb <-bind_rows(read_excel("extdata/gk3_eptb.xlsx",sheet=1),
-                 read_excel("extdata/gk3_eptb.xlsx",sheet=2),
-                 read_excel("extdata/gk3_eptb.xlsx",sheet=3)) %>% 
-  rename(date = 'eptb - Année',
-         depcom = 'eptb - Code de la commune',
-         nombre_d_observations_non_pondere='eptb - Nombre d observations (non pondéré)',
-         nombre_de_maisons_terrain_achete_ou_non='eptb - Nombre de maisons (terrain acheté ou non)',
-         prix_total_des_maisons_en_euros='eptb - Prix total des maisons (en euros)',
-         surface_totale_des_maisons_en_m2='eptb - Surface totale des maisons (en m2)',
-         nombre_de_terrains_achetes='eptb - Nombre de terrains achetés',
-         prix_total_des_maisons_en_euros_avec_terrain_achete='eptb - Prix total des maisons (en euros) avec terrain achete',
-         prix_total_des_terrains_en_euros='eptb - Prix total des terrains (en euros)',
-         superficie_totale_des_terrains_achetes_en_m2='eptb - Superficie totale des terrains achetés (en m²)') %>%
-  gather(variable,valeur,nombre_d_observations_non_pondere:superficie_totale_des_terrains_achetes_en_m2) %>% 
-  select(depcom,date,variable,valeur) %>% 
-  filter(date>=2008) %>%
-  mutate(date=make_date(date,12,31))%>% 
-  mutate_if(is.character,as.factor) %>% 
-  complete(depcom,date,variable,fill = list(valeur =0)) %>% 
-  pivot_wider(names_from = variable,values_from = valeur) %>%
-  filter(depcom != "97123")
-
-# versement dans le sgbd/datamart.portrait_territoires -------------
-poster_data(data = eptb,
-            db = "datamart",
-            schema = "portrait_territoires", 
-            table = "source_eptb",
-            post_row_name = FALSE, 
-            overwrite = TRUE,
-            droits_schema = TRUE,
-            pk = c("depcom", "date"), # déclaration d'une clé primaire sur la table postée : on ne doit pas avoir deux lignes avec à la fois le même code commune et la meme date
-            user = "does")
-
-
-# METADONNEES------------------------------------
-
-## On récupère la liste des variables qui sont à documenter dans le tableur google sheet à partir du jeu de données posté
-var <- setdiff(names(eptb), c("depcom", "date"))
-
-## récupération du nom du présent script source pour filtrer ensuite le référentiel des indicateurs
-nom_script_sce <- rstudioapi::getActiveDocumentContext()$path %>% # utilisation de rstudioapi pour récupérer le nom du présent script 
-  basename() %>% # on enlève le chemin d'accès pour ne garder que le nom du fichier
-  gsub(pattern = ".R$", "", .) # on enlève l'extension '.R'
-
-## authentification google sheet grâce au .Renviron
-gs4_auth_configure(api_key = Sys.getenv("google_api_key"))
-gs4_deauth()
-
-
-
-## chargement du référentiel indicateurs google sheet
-metadata_indicateur <- read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
-                                  sheet = "indicateurs") %>%
-  # on ne garde que les variables concernées par le présent script de chargement
-  filter(source == nom_script_sce) %>% 
-  # on ajoute l'unité dans le libellé de la variable
-  mutate(libelle_variable = paste0(libelle_variable, " (unit\u00e9 : ", unite, ")")) %>% 
-  select(variable, libelle_variable) %>% 
-  # ajout des libellés pour depcom et date
-  bind_rows(
-    tribble(
-      ~variable, ~libelle_variable,
-      "depcom", "Code INSEE de la commune",
-      "date", "Millesime"
-    )
-  )
-
-1## Vérification que la documentation des indicateurs est complète
-all(var %in% metadata_indicateur$variable) # doit renvoyer TRUE
-
-## Envoi des libellés de variable dans le SGBD
-post_dico_attr(dico = metadata_indicateur, table = "source_eptb", schema = "portrait_territoires",
-               db = "datamart", user = "does")
-
-## Récupération des métadonnées de la source
-nom_sce <- str_replace(nom_script_sce, "chargement_|ref_|specifique_", "") %>%
-  str_replace("indicateur_", "") %>%
-  str_replace("_cogiter|_cog$", "")
-
-metadata_source <- read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
-                              sheet = "sources") %>%
-  filter(source == nom_sce) %>% 
-  mutate(com_table = paste0(source_lib, " - ", producteur, ".\n", descriptif_sources)) %>% 
-  pull(com_table) %>%
-  # ajout de complement sur la généalogie
-  paste0(".\n", "Chargement des donn\u00e9es sur Geokit3")
-
-## commentaires de la table
-
-commenter_table(comment = metadata_source,
-                db = "datamart",
-                schema = "portrait_territoires",
-                table = "source_eptb", 
-                user = "does")
 
diff --git a/data-raw/chargement_lgt_rgp_insee.R b/data-raw/chargement_lgt_rgp_insee.R
index d704df4ef9c0b2e4fbdbc10b1a79004049ce9d8a..3946add566c148536486a407aacef03dd25f2db0 100644
--- a/data-raw/chargement_lgt_rgp_insee.R
+++ b/data-raw/chargement_lgt_rgp_insee.R
@@ -17,14 +17,15 @@ rm(list=ls())
 
 # chargement des données logement du dernier recensement INSEE ----------
 
+
 # doc INSEE disponible à https://www.insee.fr/fr/statistiques/7631186?sommaire=7631713
-# Logement en 2020 - Recensement de la population - Base des principaux indicateurs
+# Logement en 2021 - Recensement de la population - Base des principaux indicateurs
 
 # paramètres à saisir
-url <- "https://www.insee.fr/fr/statistiques/fichier/7631186/base-cc-logement-2020_xlsx.zip"
-mil <- c(2020, 2014, 2009) # mettre le millesime le plus récent en premier
+url <- "https://www.insee.fr/fr/statistiques/fichier/8202349/base-cc-logement-2021_xlsx.zip"
+mil <- c(2021, 2015, 2010) # mettre le millesime le plus récent en premier
 mil_court <- substr(mil, 3,4)
-fic <- "base-cc-logement-2020"
+fic <- "base-cc-logement-2021"
 
 # préfixe des variables à enlever (indique le millésime)
 var_mil <- paste0("P", mil_court,"_")
@@ -73,7 +74,7 @@ setdiff(noms_var, lib_var$variable_deb) # rien attendu (character(0))
 
 
 # calcul des variables ------
-lgt_rp <- bind_rows(lgt_rp_actu, lgt_rp_old, lgt_rp_very_old) %>% 
+lgt_rp <- bind_rows(lgt_rp_actu, lgt_rp_old, lgt_rp_very_old) %>%   
   # mutate(RP_ACHTOT = coalesce(RP_ACHTT, RP_ACHTOT)) %>% 
   # select(-RP_ACHTT) %>%
   select(date = annee, depcom = CODGEO, everything(), -REG, -DEP, -LIBGEO) %>%
diff --git a/data-raw/chargement_observatoire_artificialisation.R b/data-raw/chargement_observatoire_artificialisation.R
index 035ef78c50088c951d51f8a88e71fe9ed01fb590..43a64bbe16d8cb881a5cb015a50aa3c39c46b0df 100644
--- a/data-raw/chargement_observatoire_artificialisation.R
+++ b/data-raw/chargement_observatoire_artificialisation.R
@@ -35,36 +35,33 @@ rm(list = ls())
 # # [91] "surfcom2021" 
 
 
-# Les données de l'observatoire de l'artificialisation 2009-2022 ont été publiées en juillet 2023 :
+# Les données de l'observatoire de l'artificialisation 2009-2023 ont été publiées en octobre 2024 :
 # https://cerema.app.box.com/v/pnb-action7-indicateurs-ff
-# un clic droit sur le répertoire "donnees nationales conso espaces" fait apparaître une popup de téléchargement 
-# qui permet de récupérer le fichier "donnees nationales conso espaces.zip" qu'on range dans extdata et qu'on dézipe à la main
+# ouvrir le répertoire "donnees nationales conso espaces" fait apparaître 
+# le fichier "conso2009_2023_resultats_com.csv" qu'on télécharge et range dans extdata
 
 obs_artif_conso_com <- utils::read.csv(
-  file = "extdata/donnees nationales conso espaces/obs_artif_conso_com_2009_2022.csv",
+  file = "extdata/conso2009_2023_resultats_com.csv",
   header = TRUE, 
   sep = ";", 
   encoding = "UTF-8"
   )
 
-# names(obs_artif_conso_com)
-# [1] "idcom"        "idcomtxt"     "idreg"        "idregtxt"     "iddep"        "iddeptxt"     "epci22"       "epci22txt"    "scot"        
-# [10] "aav2020"      "aav2020txt"   "aav2020_typo" "naf09art10"   "art09act10"   "art09hab10"   "art09mix10"   "art09rou10"   "art09fer10"  
-# [19] "art09inc10"   "naf10art11"   "art10act11"   "art10hab11"   "art10mix11"   "art10rou11"   "art10fer11"   "art10inc11"   "naf11art12"  
-# [28] "art11act12"   "art11hab12"   "art11mix12"   "art11rou12"   "art11fer12"   "art11inc12"   "naf12art13"   "art12act13"   "art12hab13"  
-# [37] "art12mix13"   "art12rou13"   "art12fer13"   "art12inc13"   "naf13art14"   "art13act14"   "art13hab14"   "art13mix14"   "art13rou14"  
-# [46] "art13fer14"   "art13inc14"   "naf14art15"   "art14act15"   "art14hab15"   "art14mix15"   "art14rou15"   "art14fer15"   "art14inc15"  
-# [55] "naf15art16"   "art15act16"   "art15hab16"   "art15mix16"   "art15rou16"   "art15fer16"   "art15inc16"   "naf16art17"   "art16act17"  
-# [64] "art16hab17"   "art16mix17"   "art16rou17"   "art16fer17"   "art16inc17"   "naf17art18"   "art17act18"   "art17hab18"   "art17mix18"  
-# [73] "art17rou18"   "art17fer18"   "art17inc18"   "naf18art19"   "art18act19"   "art18hab19"   "art18mix19"   "art18rou19"   "art18fer19"  
-# [82] "art18inc19"   "naf19art20"   "art19act20"   "art19hab20"   "art19mix20"   "art19rou20"   "art19fer20"   "art19inc20"   "naf20art21"  
-# [91] "art20act21"   "art20hab21"   "art20mix21"   "art20rou21"   "art20fer21"   "art20inc21"   "naf21art22"   "art21act22"   "art21hab22"  
-# [100] "art21mix22"   "art21rou22"   "art21fer22"   "art21inc22"   "naf09art22"   "art09act22"   "art09hab22"   "art09mix22"   "art09inc22"  
-# [109] "art09rou22"   "art09fer22"   "artcom0922"   "pop13"        "pop19"        "pop1319"      "men13"        "men19"        "men1319"     
-# [118] "emp13"        "emp19"        "emp1319"      "mepart1319"   "menhab1319"   "artpop1319"   "surfcom2022" 
+# > names(observatoire_artificialisation)
+# [1] "idcom"      "naf09art10" "art09act10" "art09hab10" "art09mix10" "art09rou10" "art09fer10" "art09inc10" "naf10art11"
+# [10] "art10act11" "art10hab11" "art10mix11" "art10rou11" "art10fer11" "art10inc11" "naf11art12" "art11act12" "art11hab12"
+# [19] "art11mix12" "art11rou12" "art11fer12" "art11inc12" "naf12art13" "art12act13" "art12hab13" "art12mix13" "art12rou13"
+# [28] "art12fer13" "art12inc13" "naf13art14" "art13act14" "art13hab14" "art13mix14" "art13rou14" "art13fer14" "art13inc14"
+# [37] "naf14art15" "art14act15" "art14hab15" "art14mix15" "art14rou15" "art14fer15" "art14inc15" "naf15art16" "art15act16"
+# [46] "art15hab16" "art15mix16" "art15rou16" "art15fer16" "art15inc16" "naf16art17" "art16act17" "art16hab17" "art16mix17"
+# [55] "art16rou17" "art16fer17" "art16inc17" "naf17art18" "art17act18" "art17hab18" "art17mix18" "art17rou18" "art17fer18"
+# [64] "art17inc18" "naf18art19" "art18act19" "art18hab19" "art18mix19" "art18rou19" "art18fer19" "art18inc19" "naf19art20"
+# [73] "art19act20" "art19hab20" "art19mix20" "art19rou20" "art19fer20" "art19inc20" "naf20art21" "art20act21" "art20hab21"
+# [82] "art20mix21" "art20rou21" "art20fer21" "art20inc21" "naf21art22" "art21act22" "art21hab22" "art21mix22" "art21rou22"
+# [91] "art21fer22" "art21inc22" "naf22art23" "art22act23" "art22hab23" "art22mix23" "art22rou23" "art22fer23" "art22inc23"
+# [100] "naf09art23" "art09act23" "art09hab23" "art09mix23" "art09inc23" "art09rou23" "art09fer23"
 
-
-# Au 22/02/2024 : pas de données plus récentes.
+# Au 13/03/2025 : pas de données plus récentes.
 
 
 # calcul des indicateurs communaux ----------- 
@@ -77,8 +74,8 @@ observatoire_artificialisation <- obs_artif_conso_com %>%
        iddeptxt,
        # epci21,
        # epci21txt,
-       epci22,
-       epci22txt,
+       epci23,
+       epci23txt,
        scot,
        aav2020,
        aav2020txt,
@@ -135,13 +132,13 @@ observatoire_artificialisation <- obs_artif_conso_com %>%
 
 
 # complétude de la liste des communes -------
-liste_COG_2023 <- COGiter::communes %>%
+liste_COG <- COGiter::communes %>%
   dplyr::select(depcom = DEPCOM) %>%
   dplyr::pull() %>% 
-  as.character() # 34945 obs
+  as.character() # 34935 obs
 
 source_observatoire_artificialisation <- observatoire_artificialisation %>% 
-  dplyr::mutate(depcom = forcats::fct_expand(depcom, liste_COG_2023)) %>% 
+  dplyr::mutate(depcom = forcats::fct_expand(depcom, liste_COG)) %>% 
   tidyr::complete(
     depcom, date, fill = list(
       flux_naf_artificialisation_activite = 0,
diff --git a/data-raw/chargement_pop_rgp_insee.R b/data-raw/chargement_pop_rgp_insee.R
index a258b33c66b6c67895eaff8c3018dfcc0da7b2ed..a231dab4556a4eb763f25081d5ecf46f8d4ba391 100644
--- a/data-raw/chargement_pop_rgp_insee.R
+++ b/data-raw/chargement_pop_rgp_insee.R
@@ -25,11 +25,11 @@ rm(list=ls())
 # var_mil <- c(paste0("P", mil, "_"), paste0("C", mil, "_")) %>% gsub("20", "", .)
 # url <- "https://www.insee.fr/fr/statistiques/fichier/6456153/base-ccx-evol-struct-pop-2019.zip"
 # fic <- "base-cc-evol-struct-pop-2019"
-mil <- c(2020, 2014, 2009) # mettre le plus récent en premier
-mil2 <- c(20, 14, "09")
+mil <- c(2021, 2015, 2010) # mettre le plus récent en premier
+mil2 <- c(21, 15, "10")
 var_mil <- c(paste0("P", mil2, "_"), paste0("C", mil2, "_"))
-url <- "https://www.insee.fr/fr/statistiques/fichier/7632446/base-cc-evol-struct-pop-2020_xlsx.zip"
-fic <- "base-cc-evol-struct-pop-2020"
+url <- "https://www.insee.fr/fr/statistiques/fichier/8201904/base-cc-evol-struct-pop-2021_xlsx.zip"
+fic <- "base-cc-evol-struct-pop-2021"
 
 
 # chargement data ---------
@@ -57,7 +57,7 @@ pop_very_old <- read_xlsx(path = paste0("extdata/", fic,".xlsx"), sheet = paste0
 
 # retrait des variables de l'exploitation complémentaire qui sont absentes de l'exploitation principale
 nom_var_pop_very_old_a_oter <- setdiff(names(pop_very_old), names(pop_actu))
-pop_very_old <- pop_very_old %>% 
+pop_very_old <- pop_very_old %>%
   select(-all_of(nom_var_pop_very_old_a_oter))
 
 
diff --git a/data-raw/chargement_siclop.R b/data-raw/chargement_siclop.R
index c690e985cf79bc171f16e04304e96a572a65cafc..be712a9e3330d44841f042e8ebf438f69aa97a6c 100644
--- a/data-raw/chargement_siclop.R
+++ b/data-raw/chargement_siclop.R
@@ -5,8 +5,6 @@
 # (Si COGiter est bien à jour sur le serveur de dataviz.......)
 # scripts de collecte et nettoyage : https://gitlab-forge.din.developpement-durable.gouv.fr/dreal-pdl/csd/siclop/-/tree/main/scripts
 
-rm(list=ls())
-
 ## librairies ----------
 library(dplyr)
 library(tidyr)
@@ -86,27 +84,105 @@ data_prep <- function(typzon) {
                                                   nombre_annonces_appart_T4 = 0,
                                                   nombre_annonces_appart_T5 = 0,
                                                   `nombre_annonces_appart_T6 et +` = 0))
+  
+  # total pour maisons
+  data_prep_indic4 <- data_prep_indic0 %>%
+    filter(type_logement == "maison") %>%
+    group_by(codezone, annee_annonce) %>%
+    summarise(nombre_annonces_maison = length(id_annonce),
+              loy_hc_moyen_maison = round(mean(loyer_hc, na.rm = T), 2),
+              surf_habitable_moyenne_maison = round(mean(surf_habitable, na.rm = T), 2),
+              loy_hc_mediane_maison = round(median(loyer_hc, na.rm = T), 2)
+    ) %>%
+    ungroup() %>%
+    complete(codezone, annee_annonce, fill = list(nombre_annonces_appart = 0))
+  # maisons par nombre de pieces
+  data_prep_indic5 <- data_prep_indic0 %>%
+    filter(type_logement == "maison") %>%
+    group_by(codezone, annee_annonce, nombre_pieces) %>%
+    summarise(nombre_annonces_maison = length(id_annonce),
+              loy_hc_moyen_maison = round(mean(loyer_hc, na.rm = T), 2),
+              surf_habitable_moyenne_maison = round(mean(surf_habitable, na.rm = T), 2),
+              loy_hc_mediane_maison = round(median(loyer_hc, na.rm = T), 2)) %>%
+    pivot_wider(names_from = nombre_pieces,
+                values_from = c(nombre_annonces_maison, loy_hc_moyen_maison, surf_habitable_moyenne_maison, loy_hc_mediane_maison)) %>%
+    ungroup() %>%
+    complete(codezone, annee_annonce, fill = list(nombre_annonces_maison_T1 = 0,
+                                                  nombre_annonces_maison_T2 = 0,
+                                                  nombre_annonces_maison_T3 = 0,
+                                                  nombre_annonces_maison_T4 = 0,
+                                                  nombre_annonces_maison_T5 = 0,
+                                                  `nombre_annonces_maison_T6 et +` = 0)) 
+  # ensemble par nombre de pieces
+  data_prep_indic6 <- data_prep_indic0 %>%
+    group_by(codezone, annee_annonce, nombre_pieces) %>%
+    summarise(nombre_annonces_ensemble = length(id_annonce),
+              loy_hc_moyen_ensemble = round(mean(loyer_hc, na.rm = T), 2),
+              surf_habitable_moyenne_ensemble = round(mean(surf_habitable, na.rm = T), 2),
+              loy_hc_mediane_ensemble = round(median(loyer_hc, na.rm = T), 2)) %>%
+    pivot_wider(names_from = nombre_pieces,
+                values_from = c(nombre_annonces_ensemble, loy_hc_moyen_ensemble, surf_habitable_moyenne_ensemble, loy_hc_mediane_ensemble)) %>%
+    ungroup() %>%
+    complete(codezone, annee_annonce, fill = list(nombre_annonces_ensemble_T1 = 0,
+                                                  nombre_annonces_ensemble_T2 = 0,
+                                                  nombre_annonces_ensemble_T3 = 0,
+                                                  nombre_annonces_ensemble_T4 = 0,
+                                                  nombre_annonces_ensemble_T5 = 0,
+                                                  `nombre_annonces_ensemble_T6 et +` = 0)) 
+  
   # regroupement des données
   data_prep_indic <- data_prep_indic1 %>%
     left_join(data_prep_indic2, by = c("codezone", "annee_annonce")) %>%
     left_join(data_prep_indic3, by = c("codezone", "annee_annonce")) %>%
+    left_join(data_prep_indic4, by = c("codezone", "annee_annonce")) %>%
+    left_join(data_prep_indic5, by = c("codezone", "annee_annonce")) %>%
+    left_join(data_prep_indic6, by = c("codezone", "annee_annonce")) %>%
     mutate(date = make_date(annee_annonce, 12, 31)) %>%
-    rename(CodeZone = codezone, nombre_annonces_appart_T6_et_plus = "nombre_annonces_appart_T6 et +",
+    rename(CodeZone = codezone,
+           nombre_annonces_appart_T6_et_plus = "nombre_annonces_appart_T6 et +",
            surf_habitable_moyenne_appart_T6_et_plus = "surf_habitable_moyenne_appart_T6 et +",
            loy_hc_moyen_appart_T6_et_plus = "loy_hc_moyen_appart_T6 et +",
-           loy_hc_mediane_appart_T6_et_plus = "loy_hc_mediane_appart_T6 et +") %>%
+           loy_hc_mediane_appart_T6_et_plus = "loy_hc_mediane_appart_T6 et +",
+           nombre_annonces_maison_T6_et_plus = "nombre_annonces_maison_T6 et +",
+           surf_habitable_moyenne_maison_T6_et_plus = "surf_habitable_moyenne_maison_T6 et +",
+           loy_hc_moyen_maison_T6_et_plus = "loy_hc_moyen_maison_T6 et +",
+           loy_hc_mediane_maison_T6_et_plus = "loy_hc_mediane_maison_T6 et +",
+           nombre_annonces_ensemble_T6_et_plus = "nombre_annonces_ensemble_T6 et +",
+           surf_habitable_moyenne_ensemble_T6_et_plus = "surf_habitable_moyenne_ensemble_T6 et +",
+           loy_hc_moyen_ensemble_T6_et_plus = "loy_hc_moyen_ensemble_T6 et +",
+           loy_hc_mediane_ensemble_T6_et_plus = "loy_hc_mediane_ensemble_T6 et +"           
+    ) %>%
     # mutate (TypeZone = colnames(siclop_exploitation[{zonag}]) ) %>%
     mutate(TypeZone = zonag) %>%
-    select(TypeZone, CodeZone, date, nombre_annonces_ensemble, nombre_annonces_appart, nombre_annonces_appart_T1,
-           nombre_annonces_appart_T2, nombre_annonces_appart_T3, nombre_annonces_appart_T4,
-           nombre_annonces_appart_T5, nombre_annonces_appart_T6_et_plus, surf_habitable_moyenne_ensemble,
-           surf_habitable_moyenne_appart, surf_habitable_moyenne_appart_T1, surf_habitable_moyenne_appart_T2,
-           surf_habitable_moyenne_appart_T3, surf_habitable_moyenne_appart_T4, surf_habitable_moyenne_appart_T5,
-           surf_habitable_moyenne_appart_T6_et_plus, loy_hc_moyen_ensemble, loy_hc_moyen_appart, loy_hc_moyen_appart_T1,
-           loy_hc_moyen_appart_T2, loy_hc_moyen_appart_T3, loy_hc_moyen_appart_T4, loy_hc_moyen_appart_T5,
-           loy_hc_moyen_appart_T6_et_plus, loy_hc_mediane_ensemble, loy_hc_mediane_appart, loy_hc_mediane_appart_T1,
-           loy_hc_mediane_appart_T2, loy_hc_mediane_appart_T3, loy_hc_mediane_appart_T4, loy_hc_mediane_appart_T5,
-           loy_hc_mediane_appart_T6_et_plus
+    select(TypeZone, CodeZone, date,
+           nombre_annonces_ensemble, nombre_annonces_appart, nombre_annonces_maison,
+           nombre_annonces_ensemble_T1,nombre_annonces_ensemble_T2, nombre_annonces_ensemble_T3,
+           nombre_annonces_ensemble_T4,nombre_annonces_ensemble_T5, nombre_annonces_ensemble_T6_et_plus,
+           nombre_annonces_appart_T1,nombre_annonces_appart_T2, nombre_annonces_appart_T3,
+           nombre_annonces_appart_T4,nombre_annonces_appart_T5, nombre_annonces_appart_T6_et_plus,
+           nombre_annonces_maison_T1,nombre_annonces_maison_T2, nombre_annonces_maison_T3,
+           nombre_annonces_maison_T4,nombre_annonces_maison_T5, nombre_annonces_maison_T6_et_plus,
+           surf_habitable_moyenne_ensemble, surf_habitable_moyenne_appart,surf_habitable_moyenne_maison,
+           surf_habitable_moyenne_ensemble_T1, surf_habitable_moyenne_ensemble_T2,surf_habitable_moyenne_ensemble_T3,
+           surf_habitable_moyenne_ensemble_T4, surf_habitable_moyenne_ensemble_T5,surf_habitable_moyenne_ensemble_T6_et_plus,
+           surf_habitable_moyenne_appart_T1, surf_habitable_moyenne_appart_T2,surf_habitable_moyenne_appart_T3,
+           surf_habitable_moyenne_appart_T4, surf_habitable_moyenne_appart_T5,surf_habitable_moyenne_appart_T6_et_plus,
+           surf_habitable_moyenne_maison_T1, surf_habitable_moyenne_maison_T2,surf_habitable_moyenne_maison_T3,
+           surf_habitable_moyenne_maison_T4, surf_habitable_moyenne_maison_T5,surf_habitable_moyenne_maison_T6_et_plus,
+           loy_hc_moyen_ensemble,loy_hc_moyen_appart,loy_hc_moyen_maison,
+           loy_hc_moyen_ensemble_T1,loy_hc_moyen_ensemble_T2, loy_hc_moyen_ensemble_T3,
+           loy_hc_moyen_ensemble_T4, loy_hc_moyen_ensemble_T5,loy_hc_moyen_ensemble_T6_et_plus,
+           loy_hc_moyen_appart_T1,loy_hc_moyen_appart_T2, loy_hc_moyen_appart_T3,
+           loy_hc_moyen_appart_T4, loy_hc_moyen_appart_T5,loy_hc_moyen_appart_T6_et_plus,
+           loy_hc_moyen_maison_T1,loy_hc_moyen_maison_T2, loy_hc_moyen_maison_T3,
+           loy_hc_moyen_maison_T4, loy_hc_moyen_maison_T5,loy_hc_moyen_maison_T6_et_plus,
+           loy_hc_mediane_ensemble,loy_hc_mediane_appart,loy_hc_mediane_maison,
+           loy_hc_mediane_ensemble_T1,loy_hc_mediane_ensemble_T2, loy_hc_mediane_ensemble_T3,
+           loy_hc_mediane_ensemble_T4, loy_hc_mediane_ensemble_T5,loy_hc_mediane_ensemble_T6_et_plus,
+           loy_hc_mediane_appart_T1,loy_hc_mediane_appart_T2, loy_hc_mediane_appart_T3,
+           loy_hc_mediane_appart_T4, loy_hc_mediane_appart_T5,loy_hc_mediane_appart_T6_et_plus,
+           loy_hc_mediane_maison_T1,loy_hc_mediane_maison_T2, loy_hc_mediane_maison_T3,
+           loy_hc_mediane_maison_T4, loy_hc_mediane_maison_T5,loy_hc_mediane_maison_T6_et_plus
     )
   return(data_prep_indic)
 }
diff --git a/data-raw/cogification_eptb.R b/data-raw/cogification_eptb.R
deleted file mode 100644
index a75f6c773713fd0c3783d6e48457c7963ffd8ed3..0000000000000000000000000000000000000000
--- a/data-raw/cogification_eptb.R
+++ /dev/null
@@ -1,75 +0,0 @@
-
-# cogification_eptb
-
-
-# librairies ------
-library(DBI)
-library(RPostgreSQL)
-library(dplyr)
-library(COGiter)
-library(datalibaba)
-
-rm(list = ls())
-
-
-source_eptb <- importer_data(db = "datamart",
-                             schema = "portrait_territoires",
-                             table = "source_eptb")
-
-cogifiee_eptb<-cogifier(source_eptb %>% rename(DEPCOM=depcom))%>% 
-  mutate_if(is.factor,as.character)
-
-
-poster_data(data = cogifiee_eptb,
-            db = "datamart",
-            schema = "portrait_territoires", 
-            table = "cogifiee_eptb",
-            pk = c("TypeZone", "Zone", "CodeZone", "date"),
-            post_row_name = FALSE, 
-            overwrite = TRUE,
-            droits_schema = TRUE,
-            user = "does")
-
-
-# commentaires de la table et des variables -------------
-
-# récupération des commentaires de la table source
-dico_var <- get_table_comments(
-  db = "datamart",
-  schema = "portrait_territoires",
-  table = "source_eptb",
-  user = "does")
-
-# commentaire de la table
-comm_table <- filter(dico_var, is.na(nom_col)) %>% 
-  pull(commentaire) %>% 
-  gsub("\nCommentaire.*$", "", .)
-
-commenter_table(
-  comment = comm_table,
-  db = "datamart",
-  schema = "portrait_territoires",
-  table = "cogifiee_eptb",
-  user = "does"
-)
-
-# commentaire des variables
-comm_champ <- select(dico_var, nom_col, commentaire) %>% 
-  filter(!is.na(nom_col), nom_col != "depcom") %>% 
-  bind_rows(
-    tribble(
-      ~nom_col, ~commentaire,
-      "TypeZone", "Type de territoire",
-      "Zone", " Nom du territoire",
-      "CodeZone", "Code INSEE du territoire"
-    )
-  )
-
-post_dico_attr(
-  dico = comm_champ,
-  db = "datamart",
-  schema = "portrait_territoires",
-  table = "cogifiee_eptb",
-  user = "does"
-)
-
diff --git a/data-raw/indicateur_eptb.R b/data-raw/indicateur_eptb.R
index 3545e7526eb7ec8b300e17848d7de1b3b4558be0..1b07203b0f0d30948da61a4766e765defe87c50a 100644
--- a/data-raw/indicateur_eptb.R
+++ b/data-raw/indicateur_eptb.R
@@ -1,107 +1,24 @@
+# cogification_eptb (a exécuter dans le contexte DREAL, tant que tout le datamart n'est pas passé sur EcoSQL)
 
-# indicateur_eptb
-
-# librairies ---------
-library(googlesheets4)
-library(tidyverse)
+# librairies ------
 library(dplyr)
-library(tidyr)
-library(DBI)
-library(RPostgreSQL)
+library(COGiter)
 library(datalibaba)
+library(googlesheets4)
 
-rm(list=ls())
-
-
-secretise_eptb <- importer_data(db = "datamart",
-                             schema = "portrait_territoires",
-                             table = "secretise_eptb")
-
-
-# calcul -----------
-indicateur_eptb<-secretise_eptb %>%
-  mutate(cout_global_moyen_constructions_neuves_de_particuliers = round((prix_total_des_maisons_en_euros_avec_terrain_achete + prix_total_des_terrains_en_euros) /nombre_de_terrains_achetes ,digits = 1)) %>%
-  mutate(cout_moyen_maison_par_m2_pour_constructions_neuves_individuelle = round(prix_total_des_maisons_en_euros / surface_totale_des_maisons_en_m2,digits = 1)) %>%
-  mutate(cout_moyen_maison_pour_constructions_neuves_individuelles = round(prix_total_des_maisons_en_euros / nombre_de_maisons_terrain_achete_ou_non,digits = 1)) %>%
-  mutate(cout_moyen_terrain_par_m2_pour_constructions_neuves_individuell = round(prix_total_des_terrains_en_euros / superficie_totale_des_terrains_achetes_en_m2,digits = 1))%>%
-  mutate(cout_moyen_terrain_pour_constructions_neuves_individuelles = round(prix_total_des_terrains_en_euros / nombre_de_terrains_achetes,digits = 1)) %>%
-  mutate(superficie_moyenne_des_terrains_achetes = round(superficie_totale_des_terrains_achetes_en_m2 / nombre_de_terrains_achetes,digits = 1)) %>%
-  mutate(surface_moyenne_des_maisons_construites = round(surface_totale_des_maisons_en_m2 / nombre_de_maisons_terrain_achete_ou_non,digits = 1)) %>%
-  mutate(part_du_terrain_dans_le_cout_total_du_projet = round(prix_total_des_terrains_en_euros / (prix_total_des_maisons_en_euros_avec_terrain_achete + prix_total_des_terrains_en_euros)*100,digits = 1)) %>%
-  select(-c(nombre_d_observations_non_pondere:surface_totale_des_maisons_en_m2)) %>%
-  mutate_if(is.factor, as.character)
-
-
-# versement dans le sgbd/datamart.portrait_territoires -------------
-poster_data(data = indicateur_eptb,
-            db = "datamart",
-            schema = "portrait_territoires", 
-            table = "indicateur_eptb",
-            pk = c("TypeZone", "Zone", "CodeZone", "date"),
-            post_row_name = FALSE, 
-            overwrite = TRUE,
-            droits_schema = TRUE,
-            user = "does")
-
-# METADONNEES------------------------------------
-
-## On récupère la liste des variables qui sont à documenter dans le tableur google sheet à partir du jeu de données posté
-var <- setdiff(names(indicateur_eptb), c("TypeZone", "Zone" , "CodeZone" , "date"))
-
-## récupération du nom du présent script source pour filtrer ensuite le référentiel des indicateurs
-nom_script_sce <- rstudioapi::getActiveDocumentContext()$path %>% # utilisation de rstudioapi pour récupérer le nom du présent script 
-  basename() %>% # on enlève le chemin d'accès pour ne garder que le nom du fichier
-  gsub(pattern = ".R$", "", .) # on enlève l'extension '.R'
-
-## authentification google sheet grâce au .Renviron
-gs4_auth_configure(api_key = Sys.getenv("google_api_key"))
-gs4_deauth()
-
-
-
-## chargement du référentiel indicateurs google sheet
-metadata_indicateur <- read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
-                                  sheet = "indicateurs") %>%
-  # on ne garde que les variables concernées par le présent script de chargement
-  filter(source == nom_script_sce) %>% 
-  # on ajoute l'unité dans le libellé de la variable
-  mutate(libelle_variable = paste0(libelle_variable, " (unit\u00e9 : ", unite, ")")) %>% 
-  select(variable, libelle_variable) %>% 
-  # ajout des libellés pour depcom et date
-  bind_rows(
-    tribble(
-      ~variable, ~libelle_variable,
-      "TypeZone", "Type de territoire",
-      "Zone", " Nom du territoire",
-      "CodeZone", "Code INSEE du territoire",
-      "date", "Millesime"
-    )
-  )
-
-## Vérification que la documentation des indicateurs est complète
-all(var %in% metadata_indicateur$variable) # doit renvoyer TRUE
-
-## Envoi des libellés de variable dans le SGBD
-post_dico_attr(dico = metadata_indicateur, table = "indicateur_eptb", schema = "portrait_territoires",
-               db = "datamart", user = "does")
-
-## Récupération des métadonnées de la source
-nom_sce <- str_replace(nom_script_sce, "chargement_|ref_|specifique_", "") %>%
-  str_replace("indicateur_", "") %>%
-  str_replace("_cogiter|_cog$", "")
+rm(list = ls())
+# source("R/poster_doc_post_cogifier.R")
+source("R/poster_documenter_ind.R")
 
-metadata_source <- read_sheet("https://docs.google.com/spreadsheets/d/1n-dhtrJM3JwFVz5WSEGOQzQ8A0G7VT_VcxDe5gh6zSo/edit#gid=60292277",
-                              sheet = "sources") %>%
-  filter(source == nom_sce) %>% 
-  mutate(com_table = paste0(source_lib, " - ", producteur, ".\n", descriptif_sources)) %>% 
-  pull(com_table) %>%
-  # ajout de complement sur la généalogie
-  paste0(".\n", "Chargement des donn\u00e9es sur Geokit3")
+# récupération des données sur EcoSQL
+df_cogifie <- importer_data(db = "datamart",
+                     schema = "portrait_territoires",
+                     table = "source_eptb",
+                     user = "ecosql_stat",
+                     server = Sys.getenv("server_ecosql"))
 
-## commentaires de la table
+# process SGBD
+poster_documenter_ind(df = df_cogifie, nom_table_sgbd = "indicateur_eptb",
+                      comm_source_en_plus = "", nom_script_sce = "chargement_eptb", user = "does", serveur = NULL, secret = FALSE)
 
-commenter_table(comment = metadata_source,
-                db = "datamart",
-                schema = "portrait_territoires",
-                table = "indicateur_eptb", 
-                user = "does")
+rm(list=ls())
diff --git a/metadata/Insee_RGP_lgt_lib_variable.ods b/metadata/Insee_RGP_lgt_lib_variable.ods
index ed0a1dea969d3f7ebec4926b8e88bbae7c560b54..494e382482bc73609c124152e59a2502594266e5 100644
Binary files a/metadata/Insee_RGP_lgt_lib_variable.ods and b/metadata/Insee_RGP_lgt_lib_variable.ods differ
diff --git a/metadata/Insee_RGP_pop_lib_variable.ods b/metadata/Insee_RGP_pop_lib_variable.ods
index d32133f5e34df36f409d155c9234f25413998eb2..e74666e38bac88c48ab02e8468416b6f26b65ef7 100644
Binary files a/metadata/Insee_RGP_pop_lib_variable.ods and b/metadata/Insee_RGP_pop_lib_variable.ods differ