diff --git a/scodoc.py b/scodoc.py
index f2c2b3d92b268c117508fd93cba62834955af39f..818867989e1145e84f2805880b0d9ba6686cb176 100755
--- a/scodoc.py
+++ b/scodoc.py
@@ -274,6 +274,23 @@ def list_depts(depts=""):  # list-dept
             print(f"{dept.id}\t{dept.acronym}")
 
 
+@app.cli.command()
+@click.option(
+    "-n",
+    "--name",
+    is_flag=True,
+    help="show database name instead of connexion string (required for "
+    "dropdb/createddb commands)",
+)
+def scodoc_database(name):  # list-dept
+    """print the database connexion string"""
+    uri = app.config["SQLALCHEMY_DATABASE_URI"]
+    if name:
+        print(uri.split("/")[-1])
+    else:
+        print(uri)
+
+
 @app.cli.command()
 @with_appcontext
 def import_scodoc7_users():  # import-scodoc7-users
diff --git a/tools/restore_scodoc9_data.sh b/tools/restore_scodoc9_data.sh
index 12e09b1918eb9add6fe54e9e4ce3ed6336d137e3..43624ba8acc59503bec08ab74f29535021ea0e5d 100755
--- a/tools/restore_scodoc9_data.sh
+++ b/tools/restore_scodoc9_data.sh
@@ -15,29 +15,47 @@ source "$SCRIPT_DIR/utils.sh"
 # Ce script doit tourner comme "root"
 check_uid_root "$0"
 
-
 # Usage
-if [ ! $# -eq 2 ]
-then
-  echo "Usage: $0 archive dbname"
-  echo "Exemple: $0 /tmp/mon-scodoc.tgz SCODOC"
+usage() {
+  echo "Usage: $0 [ --keep-env ] archive"
+  echo "Exemple: $0 /tmp/mon-scodoc.tgz"
+  echo "OPTION"
+  echo "--keep_env garde la configuration courante"
   exit 1
-fi
-
-SRC=$1
-DBNAME=$2
+}
 
+if (($# < 1 || $# > 2))
+then
+  usage
+elif [ $# -eq 2 -a  $1 != '--keep-env' -a $2 != '--keep-env' ] ; then
+  usage
+elif [ $# -eq 1 ] ; then
+  echo "restauration des données et de la configuration originale (production)"
+  SRC=$1
+  DB_DEST="SCODOC"
+else
+  echo "restauration des données dans la configuration actuelle"
+  DB_CURRENT=$(su -c "(cd $SCODOC_DIR && source venv/bin/activate && flask scodoc-database -n)")
+  DB_DEST="$DB_CURRENT"
+  KEEP=1
+  if [ $1 = '--keep-env' ]; then
+    SRC=$2
+  else
+    SRC=$1
+  fi
+fi
+DB_DUMP="${SCODOC_VAR_DIR}"/SCODOC.dump
 
 # Safety check
 echo "Ce script va remplacer les donnees de votre installation ScoDoc par celles"
-echo "enregistrees dans le fichier fourni."
+echo "enregistrées dans le fichier fourni."
 echo "Ce fichier doit avoir ete cree par le script save_scodoc9_data.sh."
 echo 
 echo "Attention: TOUTES LES DONNEES DE CE SCODOC SERONT REMPLACEES !"
 echo "Notamment, tous les utilisateurs et departements existants seront effaces !"
 echo
-echo "La base SQL $DBNAME sera effacée et remplacée !!!"
-echo 
+echo "La base SQL $DB_CURRENT sera effacée et remplacée !!!"
+echo
 echo -n "Voulez vous poursuivre cette operation ? (y/n) [n]"
 read -r ans
 if [ ! "$(norm_ans "$ans")" = 'Y' ]
@@ -47,8 +65,13 @@ then
 fi
 
 # -- Stop ScoDoc
-echo "Arrêt de scodoc9..."
-systemctl stop scodoc9
+if [ $KEEP -ne 1 ]; then
+   echo "Arrêt de scodoc9..."
+   systemctl stop scodoc9
+else
+   echo -n "Assurez-vous d'avoir arrété le serveur scodoc (validez pour continuer)"
+   read ans
+fi
 
 # Clear caches
 echo "Purge des caches..."
@@ -70,22 +93,31 @@ echo "Vérification du propriétaire..."
 chown -R "${SCODOC_USER}:${SCODOC_GROUP}" "${SCODOC_VAR_DIR}" || die "Error chowning ${SCODOC_VAR_DIR}"
 
 # --- La base SQL: nommée $(db_name).dump
-nb=$(su -c "psql -l" "$SCODOC_USER" | awk '{print $1}' | grep -c -e '^'"$DBNAME"'$')
-if [ "$nb" -gt 0 ] 
+nb=$(su -c "psql -l" "$SCODOC_USER" | awk '{print $1}' | grep -c -x "$DB_DEST")
+if [ "$nb" -gt 0 ]
 then
-  echo "Suppression de la base $DBNAME..."
-  su -c "dropdb $DBNAME" "$SCODOC_USER" || die "Erreur destruction db"
+  echo "Suppression de la base $DB_DEST..."
+  su -c "dropdb $DB_DEST" "$SCODOC_USER" || die "Erreur destruction db"
+fi
+su -c "createdb $DB_DEST" "$SCODOC_USER" || die "Erreur création db"
+
+if [ ! -z $KEEP_ENV ] ; then
+   echo "conservation de la configuration actuelle"
+   cp "$SCODOC_VAR_DIR".old/.env "$SCODOC_VAR_DIR"/.env
+   echo "récupération des données..."
+   su -c "pg_restore -f - $DB_DUMP | psql -q $DB_DEST" "$SCODOC_USER" >/dev/null || die "Erreur chargement/renommage de la base SQL"
+   su -c "(cd $SCODOC_DIR && source venv/bin/activate && flask db upgrade)" "$SCODOC_USER"
+   echo "redémarrez scodoc selon votre configuration"
+else
+# -- Apply migrations if needed (only on "production" database, = SCODOC sauf config particulière)
+   echo "restauration environnement de production"
+   echo "Chargement de la base SQL..."
+   su -c "pg_restore -d $DB_DEST $DB_DUMP" "$SCODOC_USER" || die "Erreur chargement de la base SQL"
+   export FLASK_ENV="production"   # peut-être pas utile? : .env a été recopié
+   su -c "(cd $SCODOC_DIR && source venv/bin/activate && flask db upgrade)" "$SCODOC_USER"
+# -- Start ScoDoc
+   systemctl start scodoc9
 fi
-su -c "createdb $DBNAME" "$SCODOC_USER" || die "Erreur création db"
-
-echo "Chargement de la base SQL..."
-su -c "pg_restore -d $DBNAME ${SCODOC_VAR_DIR}/SCODOC.dump" "$SCODOC_USER" || die "Erreur chargement de la base SQL"
-
-# -- Apply migrations if needed (only on "production" databse, = SCODOC sauf config particulière)
-export FLASK_ENV="production"
-su -c "(cd $SCODOC_DIR && source venv/bin/activate && flask db upgrade)" "$SCODOC_USER"
 
-# -- Start ScoDoc 
-systemctl start scodoc9
 
 echo "Terminé."
diff --git a/tools/save_scodoc9_data.sh b/tools/save_scodoc9_data.sh
index faaa75e0b9f27240f2e6ebae7c7e5f563e5932b5..6bcf22934d593f24dc19e5abb77e303a9d7784db 100755
--- a/tools/save_scodoc9_data.sh
+++ b/tools/save_scodoc9_data.sh
@@ -20,6 +20,14 @@ then
  exit 1
 fi
 
+echo "vérification de la configuration..."
+DB_CURRENT=$(cd $SCODOC_DIR && source venv/bin/activate && flask scodoc-database -n)
+if [ $DB_CURRENT != 'SCODOC' ]; then
+  echo "Ce script ne peut transférer les données que depuis une base nommée SCODOC (c'est normalement le cas pour un serveur en production)"
+  echo "Annulation"
+  exit 1
+fi
+
 echo "Ce script est utile pour transférer toutes les données d'un serveur ScoDoc 9"
 echo "à un autre ScoDoc 9."
 echo "Il est vivement recommandé de mettre à jour votre ScoDoc avant."
@@ -44,8 +52,10 @@ DEST=$1
 db_name="$SCODOC_DB_PROD" # SCODOC
 
 # dump dans /opt/scodoc-data/SCODOC.dump
+echo "sauvegarde de la base de données"
 pg_dump --format=custom --file="$SCODOC_VAR_DIR/$db_name.dump" "$db_name" || die "Error dumping database"
 
+echo "création du fichier d'archivage..."
 # tar scodoc-data vers le fichier indiqué ou stdout
 (cd $(dirname "$SCODOC_VAR_DIR"); tar cfz "$DEST" $(basename "$SCODOC_VAR_DIR")) || die "Error archiving data"