diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9ab993739542aed2f33c1f1e3ac9bcbae79ea109..ae6400dff411cd66ee9e9acc288a52c666df537f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,16 +5,21 @@ stages:
 variables:
   tag_dev: "dev"
   imagedb_name: "stacomi_db"
-  db_version: "0.6.1"
+  db_version: "0.6.0"
   postgres_version: "14"
   postgis_version: "3.2"
+  POSTGRES_PASSWORD: postgres
   imager_name:  "environnement_test_r"
   r_version: "0.1"
   imageR_name: "r4stacomi"
   r_base_version: "4.x"
   docker_version: "20.10"
   docker_version_dind: "${docker_version}-dind"
-  POSTGRES_PASSWORD: postgres
+  PG_USER: stacomi_test
+  PG_USER_PASSWORD: stacomi_test
+  PG_DB: bd_contmig_nat
+  PG_HOST: host_db
+  PG_PORT: 5432
 
 include:
   - local: '/gitlab-ci/rules.gitlab-ci.yml'						# generic rules to be used for main branch or others
diff --git a/README.md b/README.md
index 127c67f35d805d3a913b4af95b1e5fdf52cf6ac2..01e60300cbbf512483730e203165628d0b5184d3 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,8 @@ The arguments (`ARG`or when building the image `--build-arg`) `postgresql_versio
 
 - You should have [docker installed](https://docs.docker.com/get-docker/) in your machine (computer or server).
 - You should pull the desired image using one of the following line depending if you want the latest version or [a
-   given version](https://forgemia.inra.fr/stacomi/stacomi_db/container_registry/368)
+   given version](https://forgemia.inra.fr/stacomi/stacomi_db/container_registry/368), eventually after [being authenticate to the registry](https://docs.gitlab.com/user/packages/container_registry/authenticate_with_container_registry/)
+
 ~~~ shell
 docker pull registry.forgemia.inra.fr/stacomi/stacomi_db/stacomi_db:latest
 docker pull registry.forgemia.inra.fr/stacomi/stacomi_db/stacomi_db:0.6.0-pg9.6-ps3.2
diff --git a/gitlab-ci/R/test_BDD.R b/gitlab-ci/R/test_BDD.R
index 7a21b7cae42401710f469fd63a579dd77980f19a..4d3bf4ce227d1b114f2cb9bd001d487969ba1968 100644
--- a/gitlab-ci/R/test_BDD.R
+++ b/gitlab-ci/R/test_BDD.R
@@ -1,11 +1,45 @@
 require("RPostgreSQL")
 require("sqldf")
 
-options(sqldf.RPostgreSQL.user = "postgres",
-  sqldf.RPostgreSQL.password = "postgres",
+options(
+  sqldf.RPostgreSQL.user = "stacomi_test",
+  sqldf.RPostgreSQL.password = "stacomi_test",
   sqldf.RPostgreSQL.dbname = "bd_contmig_nat",
   sqldf.RPostgreSQL.host = "host_db",
-  sqldf.RPostgreSQL.port = 5432)
+  sqldf.RPostgreSQL.port = 5432
+)
+
+check_postgres_connection <- function(
+  host = getOption("sqldf.RPostgreSQL.host"),
+  port = getOption("sqldf.RPostgreSQL.port"),
+  dbname = getOption("sqldf.RPostgreSQL.dbname"),
+  user = getOption("sqldf.RPostgreSQL.user"),
+  password = getOption("sqldf.RPostgreSQL.password"),
+  timeout = 3
+) {
+  tryCatch(
+    {
+      drv <- dbDriver("PostgreSQL")
+      con <- dbConnect(drv,
+        host = host,
+        port = port,
+        dbname = dbname,
+        user = user,
+        password = password
+      )
+
+      dbDisconnect(con)
+      return(TRUE)
+    },
+    error = function(e) {
+      return(FALSE)
+    }
+  )
+}
+
+cat("Waiting postgresql\n")
+while(check_postgres_connection() == FALSE)
+  cat(".")
 
 cat("###################")
 cat("Version postgresql")
diff --git a/gitlab-ci/build_images_docker.gitlab-ci.yml b/gitlab-ci/build_images_docker.gitlab-ci.yml
index 32298064c601b906620e275365ce96d3789b92ab..ef10f753eec3d4eaf15bb07e38b406cef1d111da 100644
--- a/gitlab-ci/build_images_docker.gitlab-ci.yml
+++ b/gitlab-ci/build_images_docker.gitlab-ci.yml
@@ -6,7 +6,7 @@
 #######################
 # for any branch, but main
 build_db-dev:
-  image: docker:$docker_version
+  image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version
   stage: build_images
   services:
     - docker:$docker_version_dind
@@ -21,7 +21,7 @@ build_db-dev:
 #######################            
 # for main banch only
 build_db-prod:
-  image: docker:$docker_version
+  image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version
   stage: build_images
   services:
     - docker:$docker_version_dind
@@ -41,7 +41,7 @@ build_db-prod:
 #######################
 # for any branch, but main
 build_R-dev:
-  image: docker:$docker_version
+  image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version
   stage: build_images
   services:
     - docker:$docker_version_dind
@@ -55,7 +55,7 @@ build_R-dev:
 #######################            
 # for main banch only
 build_R-prod:
-  image: docker:$docker_version
+  image: ${CI_DEPENDENCY_PROXY_DIRECT_GROUP_IMAGE_PREFIX}/docker:$docker_version
   stage: build_images
   services:
     - docker:$docker_version_dind
diff --git a/gitlab-ci/services.gitlab-ci.yml b/gitlab-ci/services.gitlab-ci.yml
index 4821c2769a539220aaba0ade5fb7407c613bfd2e..39919fe76ebacd9829c8bfdee26d08c2b1a6cae1 100644
--- a/gitlab-ci/services.gitlab-ci.yml
+++ b/gitlab-ci/services.gitlab-ci.yml
@@ -2,14 +2,14 @@
 
 #######################
 # for any branch, but main
-.service-dev:   
+.service-pg-dev:   
   services:
     - name:  $CI_REGISTRY_IMAGE/$imagedb_name:$db_version-pg$postgres_version-ps$postgis_version-$tag_dev
-      alias: host_db
+      alias: $PG_HOST
       
 #######################
 # for main banch only
-.service-prod:   
+.service-pg-prod:   
   services:
     - name:  $CI_REGISTRY_IMAGE/$imagedb_name:latest
-      alias: host_db
\ No newline at end of file
+      alias: $PG_HOST
\ No newline at end of file
diff --git a/gitlab-ci/test_psql.gitlab-ci.yml b/gitlab-ci/test_psql.gitlab-ci.yml
index 33ac420ea5d145685b5ab83991e6299b400e9174..997d65a5a1b8d6456c92f6dcf4fb824c863414b1 100644
--- a/gitlab-ci/test_psql.gitlab-ci.yml
+++ b/gitlab-ci/test_psql.gitlab-ci.yml
@@ -6,13 +6,17 @@
   stage: test
   image: postgres:${postgres_version}
   before_script:
-    - sleep 120 # waiting postgresql
+    - echo "En attente de la disponibilité de PostgreSQL"
+    - |
+      until pg_isready -U $PG_USER -h $PG_HOST -p $PG_PORT -d $PG_DB; do
+        sleep 2
+      done
     - psql --version
-    - export PGPASSWORD=$POSTGRES_PASSWORD
+    - export PGPASSWORD=$PG_USER_PASSWORD
   script:
-    - psql -U postgres -h host_db  -c "SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';"
-    - psql -U postgres -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat
-    - export PGPASSWORD=test && psql -U test -h host_db -c "select * from test.t_dispositifcomptage_dic" bd_contmig_nat # test avec l'utilisateur iav pour vérfier les droits
+    - psql -U $PG_USER -h $PG_HOST -p $PG_PORT -d $PG_DB -c "SELECT version();"
+    - psql -U $PG_USER -h $PG_HOST -p $PG_PORT -d $PG_DB  -c "SELECT postgis_version();"
+    - psql -U $PG_USER -h $PG_HOST -p $PG_PORT -d $PG_DB  -c "SELECT * from test.t_dispositifcomptage_dic"
   
 #######################
 # for any branch, but main
@@ -21,7 +25,7 @@ test_psql-dev:
     - build_db-dev
   extends:
     - .rules_other 
-    - .service-dev
+    - .service-pg-dev
     - .test_psql_template
 
 
@@ -32,5 +36,5 @@ test_psql-prod:
     - build_db-prod
   extends:
     - .rules_main 
-    - .service-prod
+    - .service-pg-prod
     - .test_psql_template
diff --git a/gitlab-ci/test_r.gitlab-ci.yml b/gitlab-ci/test_r.gitlab-ci.yml
index e2a948d2250390f1b419cff26d1b738039f30e01..01ea043be426106afd5fc32ab2483034df00c614 100644
--- a/gitlab-ci/test_r.gitlab-ci.yml
+++ b/gitlab-ci/test_r.gitlab-ci.yml
@@ -4,8 +4,6 @@
 # template for the test
 .test_r_template:
   stage: test
-  before_script:
-    - sleep 120 # waiting postgresql
   script:
     - Rscript -e '1+1'
     - Rscript -e 'a<-1; a+1'
@@ -22,7 +20,7 @@ test_r-dev:
     - test_psql-dev
   extends:
     - .rules_other 
-    - .service-dev
+    - .service-pg-dev
     - .test_r_template
 
 
@@ -35,5 +33,5 @@ test_r-prod:
     - build_R-prod
   extends:
     - .rules_main 
-    - .service-prod
+    - .service-pg-prod
     - .test_r_template
diff --git a/initdb/11_role_extension.sql b/initdb/11_role_extension.sql
index 572ab4d12662558d3f488cb4ec0a4317482d66ec..db2d75054fb4d800b8e6c89e5cb4b3da2f2cfac0 100644
--- a/initdb/11_role_extension.sql
+++ b/initdb/11_role_extension.sql
@@ -1,5 +1,3 @@
-CREATE ROLE iav LOGIN PASSWORD 'iav';
-CREATE ROLE invite LOGIN PASSWORD 'invite';
 CREATE ROLE user_1 LOGIN PASSWORD 'user_1';
 CREATE ROLE stacomi_test LOGIN PASSWORD 'stacomi_test';
 --CREATE ROLE group_stacomi_sequence NOINHERIT NOLOGIN; -- no inherit ensures that the privileges cannot be passed to another group role created later
diff --git a/initdb/20_create_ref.sql b/initdb/20_create_ref.sql
index 9063e4fd59ae2c00751e936d9951889fb911c351..492766530f185546f74f4371c1b208179504841e 100644
--- a/initdb/20_create_ref.sql
+++ b/initdb/20_create_ref.sql
@@ -3688,7 +3688,6 @@ GRANT ALL ON SCHEMA ref TO PUBLIC;
 -- Name: TABLE tg_parametre_par; Type: ACL; Schema: ref; Owner: postgres
 --
 
-GRANT SELECT ON TABLE ref.tg_parametre_par TO invite;
 GRANT SELECT ON TABLE ref.tg_parametre_par TO stacomi_test;
 
 
@@ -3699,7 +3698,6 @@ GRANT SELECT ON TABLE ref.tg_parametre_par TO stacomi_test;
 --
 
 GRANT SELECT ON TABLE ref.tr_devenirlot_dev TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_devenirlot_dev TO invite;
 
 
 --
@@ -3709,7 +3707,6 @@ GRANT SELECT ON TABLE ref.tr_devenirlot_dev TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_importancepatho_imp TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_importancepatho_imp TO invite;
 
 
 --
@@ -3719,7 +3716,6 @@ GRANT SELECT ON TABLE ref.tr_importancepatho_imp TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_localisationanatomique_loc TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_localisationanatomique_loc TO invite;
 
 
 --
@@ -3729,7 +3725,6 @@ GRANT SELECT ON TABLE ref.tr_localisationanatomique_loc TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_naturemarque_nmq TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_naturemarque_nmq TO invite;
 
 
 --
@@ -3739,7 +3734,6 @@ GRANT SELECT ON TABLE ref.tr_naturemarque_nmq TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_natureouvrage_nov TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_natureouvrage_nov TO invite;
 
 
 --
@@ -3749,7 +3743,6 @@ GRANT SELECT ON TABLE ref.tr_natureouvrage_nov TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_niveauechappement_ech TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_niveauechappement_ech TO invite;
 
 
 --
@@ -3759,8 +3752,6 @@ GRANT SELECT ON TABLE ref.tr_niveauechappement_ech TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_niveautaxonomique_ntx TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_niveautaxonomique_ntx TO invite;
-
 
 --
 -- TOC entry 4647 (class 0 OID 0)
@@ -3769,7 +3760,6 @@ GRANT SELECT ON TABLE ref.tr_niveautaxonomique_ntx TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_parametrequalitatif_qal TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_parametrequalitatif_qal TO invite;
 
 
 --
@@ -3779,7 +3769,6 @@ GRANT SELECT ON TABLE ref.tr_parametrequalitatif_qal TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_parametrequantitatif_qan TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_parametrequantitatif_qan TO invite;
 
 
 --
@@ -3789,7 +3778,6 @@ GRANT SELECT ON TABLE ref.tr_parametrequantitatif_qan TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_pathologie_pat TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_pathologie_pat TO invite;
 
 
 --
@@ -3799,7 +3787,6 @@ GRANT SELECT ON TABLE ref.tr_pathologie_pat TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_prelevement_pre TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_prelevement_pre TO invite;
 
 
 --
@@ -3809,7 +3796,6 @@ GRANT SELECT ON TABLE ref.tr_prelevement_pre TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_stadedeveloppement_std TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_stadedeveloppement_std TO invite;
 
 
 --
@@ -3819,7 +3805,6 @@ GRANT SELECT ON TABLE ref.tr_stadedeveloppement_std TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_taxon_tax TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_taxon_tax TO invite;
 
 
 --
@@ -3829,7 +3814,6 @@ GRANT SELECT ON TABLE ref.tr_taxon_tax TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_typearretdisp_tar TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_typearretdisp_tar TO invite;
 
 
 --
@@ -3839,7 +3823,6 @@ GRANT SELECT ON TABLE ref.tr_typearretdisp_tar TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_typedc_tdc TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_typedc_tdc TO invite;
 
 
 --
@@ -3849,7 +3832,6 @@ GRANT SELECT ON TABLE ref.tr_typedc_tdc TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_typedf_tdf TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_typedf_tdf TO invite;
 
 
 --
@@ -3859,8 +3841,6 @@ GRANT SELECT ON TABLE ref.tr_typedf_tdf TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_typequantitelot_qte TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_typequantitelot_qte TO invite;
-
 
 --
 -- TOC entry 4657 (class 0 OID 0)
@@ -3869,7 +3849,6 @@ GRANT SELECT ON TABLE ref.tr_typequantitelot_qte TO invite;
 --
 
 GRANT SELECT ON TABLE ref.tr_valeurparametrequalitatif_val TO stacomi_test;
-GRANT SELECT ON TABLE ref.tr_valeurparametrequalitatif_val TO invite;
 
 
 --
@@ -3879,7 +3858,6 @@ GRANT SELECT ON TABLE ref.tr_valeurparametrequalitatif_val TO invite;
 --
 
 GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE ref.ts_maintenance_main TO stacomi_test;
-GRANT SELECT ON TABLE ref.ts_maintenance_main TO invite;
 
 
 --
@@ -3889,7 +3867,6 @@ GRANT SELECT ON TABLE ref.ts_maintenance_main TO invite;
 --
 
 GRANT SELECT ON TABLE ref.ts_messager_msr TO stacomi_test;
-GRANT SELECT ON TABLE ref.ts_messager_msr TO invite;
 
 
 --
@@ -3899,7 +3876,6 @@ GRANT SELECT ON TABLE ref.ts_messager_msr TO invite;
 --
 
 GRANT SELECT ON TABLE ref.ts_messagerlang_mrl TO stacomi_test;
-GRANT SELECT ON TABLE ref.ts_messagerlang_mrl TO invite;
 
 
 --
@@ -3909,7 +3885,6 @@ GRANT SELECT ON TABLE ref.ts_messagerlang_mrl TO invite;
 --
 
 GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE ref.ts_nomenclature_nom TO stacomi_test;
-GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE ref.ts_nomenclature_nom TO invite;
 
 
 --
@@ -3918,7 +3893,6 @@ GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE ref.ts_nomenclature_nom TO invite;
 -- Name: TABLE ts_organisme_org; Type: ACL; Schema: ref; Owner: postgres
 --
 
-GRANT SELECT ON TABLE ref.ts_organisme_org TO invite;
 GRANT SELECT ON TABLE ref.ts_organisme_org TO stacomi_test;
 
 
@@ -3929,7 +3903,6 @@ GRANT SELECT ON TABLE ref.ts_organisme_org TO stacomi_test;
 --
 
 GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE ref.ts_sequence_seq TO stacomi_test;
-GRANT SELECT ON TABLE ref.ts_sequence_seq TO invite;
 
 
 --
diff --git a/initdb/40_change_owner.sql b/initdb/40_change_owner.sql
index bdd29a7689c9adfa414a66df4703023db2792e07..ec91d7f4db308560c77286b31b3d053b18054eff 100644
--- a/initdb/40_change_owner.sql
+++ b/initdb/40_change_owner.sql
@@ -42,7 +42,7 @@ ALTER VIEW test.vue_lot_ope_car OWNER TO stacomi_test;
 ALTER VIEW test.vue_lot_ope_car_qan OWNER TO stacomi_test;
 ALTER VIEW test.vue_ope_lot_ech_parqual OWNER TO stacomi_test;
 ALTER VIEW test.vue_ope_lot_ech_parquan OWNER TO stacomi_test;
-REASSIGN OWNED BY test TO group_stacomi;
+REASSIGN OWNED BY stacomi_test TO group_stacomi;
 
 
 -- below owned by just ensures that the sequence is dropped if the column is dropped also.