diff --git a/INSTALL.md b/INSTALL.md
index bdf789addc5217e2f464f8e0db43d7f8607d0a17..c7b86a08f8afb63fb4850ec62733feeaa538bec5 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -1,302 +1,3 @@
 # Installation de SyGAL
 
-
-
-## Création de la base de données
-
-Reportez-vous au [README consacré à la création de la base de données](database/README.md).
-
-
-
-## Installation 
-
-Pour ce qui est de l'installation du serveur d'application, n'ayant pas à Caen les compétences 
-en déploiement Docker autres que pour le développement (d'où la présence d'un `Dockerfile` et d'un `docker-compose.yml`
-dans les sources), nous documenterons une installation à l'ancienne sur un serveur *entièrement dédié à l'application*.
-Si vous voulez déployer l'application avec Docker, faites-le à partir du `Dockerfile` présent et n'hésitez pas à 
-proposer votre contribution pour améliorer cette doc d'install !
-
-### Première obtention des sources de l'application
-
-*NB: la procédure proposée ici part d'un serveur *Debian Stretch* tout nu et couvre l'installation de tous les packages 
-requis.* Si ce n'était pas le cas, merci de contribuer en le signalant.
-
-En `root` sur votre serveur, pour obtenir les sources de SyGAL, lancez l'une des commandes suivantes en fonction 
-du site sur lequel vous lisez la présente page :
-```bash
-# Si vous êtes sur git.unicaen.fr :
-git clone https://git.unicaen.fr/open-source/sygal.git /app
-
-# Si vous êtes sur github.com :
-git clone https://github.com/EsupPortail/sygal.git /app
-```
-
-*NB: merci de respecter dans un premier temps le choix de `/app` comme répertoire d'installation. 
-Libre à vous une fois que tout fonctionne de changer d'emplacement et de modifier en conséquence les configs
-nécessaires.*
-
-### Configuration du serveur
-
-Sur le serveur, placez-vous dans le répertoire des sources de SyGAL et jetez un oeil au script `Dockerfile.sh`.
-Ce script est en quelque sorte l'équivalent du `Dockerfile` traduit en bash. 
-(Vous y verrez que le dépôt git d'une image Docker Unicaen est cloné pour lancer 
-son script `Dockerfile.sh` qui est lui aussi l'équivalent du `Dockerfile` de l'image 
-traduit en bash.)
-
-Lancez le script `Dockerfile.sh` ainsi :
-```bash
-cd /app
-bash Dockerfile.sh 7.0
-```
-
-Ensuite, vérifiez et ajustez si besoin sur votre serveur les fichiers de configs suivants,
-créés par le script `Dockerfile.sh` :
-- ${APACHE_CONF_DIR}/ports.conf
-- ${APACHE_CONF_DIR}/sites-available/app.conf
-- ${APACHE_CONF_DIR}/sites-available/app-ssl.conf  
-- ${PHP_CONF_DIR}/fpm/pool.d/app.conf
-- ${PHP_CONF_DIR}/fpm/conf.d/90-app.ini
-
-NB: Vérifiez dans le script `Dockerfile.sh` que vous venez de lancer mais normalement 
-`APACHE_CONF_DIR=/etc/apache2` et `PHP_CONF_DIR=/etc/php/7.0`.
-
-### Installation d'une version précise de l'application
-
-Normalement, vous ne devez installer que les versions officielles, c'est à dire les versions taguées, du genre `1.4.2`
-par exemple.
-
-Placez-vous dans le répertoire des sources de l'application puis lancez les commandes suivantes pour obtenir la liste des
-versions officielles (taguées) :
-```bash
-git fetch && git fetch --tags && git tag
-```
-
-Si la version la plus récente est par exemple la `1.4.2`, utilisez les commandes suivantes pour "installer" cette version 
-sur votre serveur :
-```bash
-git checkout --force 1.4.2 && bash install.sh
-```
-
-### Configuration du moteur PHP pour SyGAL
-
-Si vous êtes sur un serveur de PROD, corrigez les lignes suivantes du fichier de config PHP 
-`/etc/php/7.0/fpm/conf.d/90-app.ini` :
-
-    display_errors = Off
-    ...
-    opcache.enable = 1
-    ...
-    xdebug.remote_enable = 0
-
-### Fichiers de config de l'application
-
-Placez-vous dans le répertoire de l'application puis descendez dans le répertoire `config/autoload/`.
-
-Supprimez l'extension `.dist` des fichiers `local.php.dist` et `secret.local.php.dist`, ex :
-```bash
-cp -n local.php.dist        local.php 
-cp -n secret.local.php.dist secret.local.php
-```
-
-Dans la suite, vous adapterez le contenu de ces fichiers à votre situation.
-
-#### `unicaen-app.global.php`
-
-- Adaptez les URL des pages "Mentions légales" et "Informatique et liberté" pour votre établissement :
-
-```php
-    'unicaen-app' => [
-        'app_infos' => [
-            //...
-            'mentionsLegales'        => "http://www.unicaen.fr/acces-direct/mentions-legales/",
-            'informatiqueEtLibertes' => "http://www.unicaen.fr/acces-direct/informatique-et-libertes/",
-```
-
-#### `local.php`
-
-- Adaptez le `'label'`, `'title'` et `'uri'` du lien mentionnant votre établissement dans le pied de page de 
-  l'application :
-
-```php
-    'navigation'   => [
-        'default' => [
-            'home' => [
-                'pages' => [
-                    'etab' => [
-                        'label' => _("Normandie Université"),
-                        'title' => _("Page d'accueil du site de Normandie Université"),
-                        'uri'   => 'http://www.normandie-univ.fr',
-                        'class' => 'logo-etablissement',
-                        // NB: Spécifier la classe 'logo-etablissement' sur une page de navigation provoque le "remplacement"
-                        //     du label du lien par l'image 'public/logo-etablissement.png' (à créer le cas échéant).
-```
-*NB: ensuite créez le fichier `public/logo-etablissement.png` correspondant au logo de votre établissement.*
-
-- Adaptez le chemin du répertoire où seront stockés les fichiers uploadés par les utilisateurs de l'application :
-
-```php
-    'fichier' => [
-        'root_dir_path' => '/app/upload',
-    ],
-```
-*NB: ce répertoire doit être autorisé en écriture à l'utilisateur `www-data` (ou équivalent).*
-
-#### `secret.local.php`
-
-- Dans la config de connexion au WS suivante, `UCN` doit être remplacé par le code établissement choisi lors
-de la création de votre établissement dans la base de données (dans le script `05-init.sql`) :
-
-```php
-    'import-api' => [
-        'etablissements' => [
-            // code établissement => [config]
-            'UCN' => [
-                'url'      => 'https://sygal-import-ws:443',
-                'proxy'    => false,
-                'verify'   => false, // si true et faux certif : cURL error 60: SSL certificate problem: self signed certificate
-                'user'     => 'xxx',
-                'password' => 'yyy',
-```
-
-- Renseignez les infos de connexion à la base de données :
-
-```php
-    'doctrine' => [
-        'connection' => [
-            'orm_default' => [
-                'params' => [
-                    'host'     => 'host.domain.fr',
-                    'dbname'   => 'DBNAME',
-                    'port'     => '1523',
-                    'user'     => $user = 'sygal',
-                    'password' => 'xxxxxxxxxxx',
-                    'charset'  => 'AL32UTF8',
-                    'CURRENT_SCHEMA' => $user,
-```
-
-- La config fournie permet de simuler l'authentification Shibboleth de l'utilisateur 'premierf@univ.fr' 
-créé en base de données (dans le script `06-test.sql`) avec le rôle "Administrateur technique".
-Cela permet d'accéder aux pages de gestion des droits d'accès.
-
-```php
-    'unicaen-auth' => [
-        'shibboleth' => [
-            'simulate' => [
-                'HTTP_EPPN'           => $eppn = 'premierf@univ.fr',
-                'HTTP_SUPANNEMPID'    => '00012345',
-                'HTTP_DISPLAYNAME'    => $eppn,
-                'HTTP_MAIL'           => $eppn,
-                'HTTP_GIVENNAME'      => 'François',
-                'HTTP_SN'             => 'Premier',
-                'HTTP_SUPANNCIVILITE' => 'M.'
-```
-
-- Théoriquement, à ce stade l'application SyGAL devrait être accessible.
-
-
-## Dans l'application SyGAL elle-même
-
-Si vous n'avez rien changé à la config de l'application concernant Shibboleth et si vous cliquez en haut à droite de
-la page d'accueil de SyGAL sur "Connexion" puis sur "Fédération d'identité", vous devriez être dans la peau de 
-François Premier, administrateur technique de test créé en base de données (dans le script `05-init.sql`).
-
-### Droits d'accès
-
-Dans l'application SyGAL, allez dans menu "Droits d'accès" > "Gestion des profils de rôle".
-
-Appliquez, svp : 
-- le profil `ADMIN_TECH` au rôle *Administrateur technique*
-- le profil `OBSERV` au rôle *Observateur*
-- le profil `DOCTORANT` au rôle *Doctorant UCN*
-- le profil `ADMIN` au rôle *Administrateur UCN*
-- le profil `BU` au rôle *Bibliothèque universitaire UCN*
-- le profil `BDD` au rôle *Bureau des doctorats UCN*
-
-Par exemple, pour appliquer le profil `ADMIN_TECH` au rôle *Administrateur technique*, il faut :
-- cliquer sur l'icône bleu en forme de maillon de chaîne tout au bout de la ligne "ADMIN_TECH" du tableau "Liste des profils" ;
-- dans la page qui s'ouvre, sélectionner "Administrateur technique" dans la liste déroulante de droite ;
-- appuyer sur le bouton "Ajouter un rôle".
-
-NB: "UCN" n'est qu'un exemple et pour vous ce sera le code établissement choisi lors
-de la création de votre établissement dans la base de données (dans le script `05-init.sql`) 
-
-### Import
-
-Allez dans menu "Import" pour contrôler que l'application parvient à contacter votre web service. 
-La version de l'API devrait s'afficher, ex: 1.2.4.
-
-Ne tenez pas compte du menu "Lancement" car il n'est pas possible de lancer l'import des données
-depuis l'interface graphique.
-
-
-
-## En ligne de commande 
-
-### Import de données
-
-Placez-vous dans le répertoire de SyGAL sur le serveur.
-
-Ce qui suit n'est possible que si le web service d'import de données est installé, si ce n'est pas le cas, 
-reportez-vous au projet `sygal-import-ws` [sur github.com/EsupPortail](https://github.com/EsupPortail/sygal-import-ws)
-ou [sur git.unicaen.fr](https://git.unicaen.fr/open-source/sygal-import-ws).
-
-#### Lancement de l'import
-
-Il s'agit de l'interrogation du web service pour remplir les tables temporaires TMP_*.
-
-    php public/index.php import-all --etablissement=UCN --synchronize=0 --breakOnServiceNotFound=0
-
-*NB: `UCN` doit être remplacé par le code établissement choisi lors
-de la création de votre établissement dans la base de données (dans le script `05-init.sql`).*
-
-#### Lancement de la synchro 
-
-Il s'agit de la synchronisation des tables définitives de travail de l'application avec les tables TMP_* 
-contenant les données déjà importées.
-
-    php public/index.php synchronize-all
-
-Pour plus de détails, vous pouvez vous reporter à la documentation sur les [lignes de commandes](cli.md).
-
-Une fois la synchro effectuée, vous devriez voir des thèses apparaître en cliquant sur le menu "Thèses" de 
-l'application.
-
-#### Lancement des 2
-
-Pour lancer l'interrogation du web service *puis* la synchronisation des tables définitives de travail, faites :
-
-    php public/index.php import-all --etablissement=UCN --synchronize=1 --breakOnServiceNotFound=0
-    
-*NB: `UCN` doit être remplacé par le code établissement choisi lors
-de la création de votre établissement dans la base de données (dans le script `05-init.sql`).*
-
-
-### Programmation des tâches périodiques
-
-Un certains nombres de tâches périodiques doivent être programmées sur le serveur. 
-Pour cela, créez le fichier `/etc/cron.d/sygal` et adaptez le contenu suivant à votre contexte :
-
-```cron
-MAILTO=nom.prenom@domaine.fr
-
-#
-# Application SyGAL.
-#
-
-APP_DIR=/app
-
-##### Traitements en fonction des résultats de l'import #####
-0 5-17 * * 1-5 root /usr/bin/php $APP_DIR/public/index.php process-observed-import-results --etablissement=UCN 1> /tmp/sygal-process-observed-import-results.log 2>&1
-# (du lundi au vendredi, chaque heure de 5h à 17h)
-
-##### Import des données des établissements #####
-*/20 * * * * root /usr/bin/php $APP_DIR/public/index.php import-all --etablissement=UCN --synchronize=1 --breakOnServiceNotFound=0 1> /tmp/cron-sygal-import.log  2>&1
-## (toutes les 20 minutes)
-
-##### Ménage dans /tmp #####
-0 4 * * * root bash $APP_DIR/bin/purge_temp_files.sh 1> /tmp/sygal_purge_temp_files.sh.log 2>&1
-## (tous les jours à 4h du mat')
-```
-
-*NB: `UCN` doit être remplacé par le code établissement choisi lors
-de la création de votre établissement dans la base de données (dans le script `05-init.sql`).*
+La doc a déménagé [ici](https://git.unicaen.fr/open-source/sygal/-/blob/master/doc/INSTALL.md).
diff --git a/README.md b/README.md
index de7df89e02b3e0e84f56031a78aba3f5b8da4e91..4e543ed86d18d0e93b4ed116281591cafe0ff265 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 Documentation SyGAL
 ===================
 
-- [Installation](INSTALL.md)
-- [Ligne de commande](cli.md)
-- [Base de données](database/README.md)
+Ce dépôt est abandonné. 
+
+Maintenant, ça se passe [ici...](https://git.unicaen.fr/open-source/sygal/-/blob/master/doc)
\ No newline at end of file
diff --git a/bin/README.md b/bin/README.md
deleted file mode 100644
index 6d501bde9136943a8124b7337c91fb3ea88960cc..0000000000000000000000000000000000000000
--- a/bin/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# bin
-
-## [generate-database-scripts.sh](generate-database-scripts.sh) 
-
-Ce script doit être utilisé pour générer une partie des scripts SQL nécessaires à l'installation de 
-la base de données de SyGAL *de zéro*. 
-
-Les scripts générés dans le répertoire temporaire `/tmp/sygal-doc/database` sont les suivants :
-- `00-oracle-clear-schema-SYGAL.sql`
-- `00-oracle-generate-schema-SYGAL.sql`
-- `02-inserts/oracle-data-insert-from-SYGAL.*-into-SYGAL.sql`
-- `03-oracle-generate-ref-constraints-SYGAL.sql`
-
-Les autres scripts sont gérés à la main : 
-- [`00-crea-users.sql`](../database/00-crea-users.sql)
-- [`01-bootstrap.sql`](../database/01-bootstrap.sql)
-- [`04-crea-comue.sql`](../database/04-crea-comue.sql)
-- [`05-init.sql`](../database/05-init.sql)
-- [`06-test.sql`](../database/06-test.sql)
-
-Usage :
-```bash
-# génération des scripts
-./generate-database-scripts.sh
-
-# récupération du résultat
-cp -r /tmp/sygal-doc/database/* database/
-```
diff --git a/bin/docker/gen-db-scripts.sh b/bin/docker/gen-db-scripts.sh
deleted file mode 100755
index 7ed2f0529638f58eb7c7006c39fb59b03ccf08ec..0000000000000000000000000000000000000000
--- a/bin/docker/gen-db-scripts.sh
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/env bash
-
-#
-# Script de génération d'une partie des scripts SQL permettant de créer de zéro la base de données de SyGAL.
-#
-# Arguments :
-#   $1 : Nom du schéma de base de données. Ex: "SYGAL". Obligatoire.
-#
-#        NB: Attention, cet argument n'a pas la vocation de "sélectionner" le schéma de base de données à utiliser,
-#            il est simplement exploité pour les noms de fichiers SQL générés.
-#            Le schéma de base de données utilisé est celui spécifié dans la config Doctrine de l'appli
-#            (cf. fichier `config/autoload/*.secret.local.php` de l'appli).
-#
-# Exemple d'usage :
-#   bash gen-db-scripts.sh "SYGAL"
-#
-
-[[ -z "$1" ]] && echo "Le nom du schéma de base de données doit être spécifié, ex: SYGAL." && exit 1
-
-SCHEMA=$1
-
-# fonction mettant en commentaire certains options de création de séquence dans le(s) fichier(s) spécifié(s)
-commentSeqOptionsInFile() {
-    for f in $1; do
-        sed -i 's/\(START WITH [0-9]\+\)/\/*\1*\//ig; s/\(CACHE [0-9]\+\)/\/*\1*\//ig' ${f}
-    done
-}
-# fonction remplaçant 'SYGAL.' par '/*SYGAL.*/' et '"SYGAL".' par '/*"SYGAL".*/' dans le(s) fichier(s) spécifié(s)
-commentPrefixInFile() {
-    for f in $1; do
-        sed -i "s/\(${SCHEMA}\.\)/\/*\1*\//ig" ${f}
-        sed -i "s/\(\"${SCHEMA}\"\.\)/\/*\1*\//ig" ${f}
-    done
-}
-# fonction remplaçant par exemple "/*HISTO::*/1234" par "$2/*SUBSTIT*/" dans le(s) fichier(s) spécifié(s) en $1
-replaceHistoIdInFile() {
-    for f in $1; do
-        sed -i "s/\/\*HISTO::\*\/[0-9]\+/$2\/\*SUBSTIT\*\//ig" ${f}
-    done
-}
-
-FROM_FILE_PATH_CLEAR="/tmp/oracle-clear-schema-${SCHEMA}.sql"
-FROM_FILE_PATH_SCHEMA="/tmp/oracle-generate-schema-${SCHEMA}-from-${SCHEMA}.sql"
-FROM_FILE_PATH_INSERTS="/tmp/inserts"
-FROM_FILE_PATH_REF="/tmp/oracle-generate-ref-constraints-${SCHEMA}-from-${SCHEMA}.sql"
-
-TABLES="CATEGORIE_PRIVILEGE,DOMAINE_SCIENTIFIQUE,IMPORT_OBSERV,INFORMATION,NATURE_FICHIER,PRIVILEGE,PROFIL,PROFIL_PRIVILEGE,TYPE_STRUCTURE,TYPE_VALIDATION,VERSION_FICHIER,WF_ETAPE"
-HISTO_ID_SUBSTIT=1 # valeur forcée pour les colonnes d'historique
-
-rm -rf ${FROM_FILE_PATH_INSERTS} && mkdir -p ${FROM_FILE_PATH_INSERTS}
-
-php public/index.php generate-script-for-schema-clearing \
-    --connection=doctrine.connection.orm_default && \
-\
-php public/index.php generate-script-for-schema-creation \
-    --src-connection=doctrine.connection.orm_default \
-    --dst-connection=doctrine.connection.orm_default \
-    --ref-constraints-included=0 && \
-\
-php public/index.php generate-scripts-for-data-inserts \
-    --src-connection=doctrine.connection.orm_default \
-    --dst-connection=doctrine.connection.orm_default \
-    --tables=${TABLES} \
-    --output-dir=${FROM_FILE_PATH_INSERTS} && \
-\
-php public/index.php generate-script-for-ref-constraints-creation \
-    --src-connection=doctrine.connection.orm_default \
-    --dst-connection=doctrine.connection.orm_default && \
-\
-commentPrefixInFile     ${FROM_FILE_PATH_CLEAR} && \
-commentPrefixInFile     ${FROM_FILE_PATH_SCHEMA} && \
-commentSeqOptionsInFile ${FROM_FILE_PATH_SCHEMA} && \
-commentPrefixInFile     "${FROM_FILE_PATH_INSERTS}/*" && \
-replaceHistoIdInFile    "${FROM_FILE_PATH_INSERTS}/*" ${HISTO_ID_SUBSTIT} && \
-commentPrefixInFile     ${FROM_FILE_PATH_REF}
diff --git a/bin/generate-database-scripts.sh b/bin/generate-database-scripts.sh
deleted file mode 100755
index 0d751202c1f690f22d68a8d674f17a986fcd9036..0000000000000000000000000000000000000000
--- a/bin/generate-database-scripts.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env bash
-
-#
-# Script de génération d'une partie des scripts SQL permettant de créer de zéro la base de données de SyGAL.
-#
-# Arguments :
-#   Aucun.
-#
-# Exemple d'usage :
-#   bash generate-database-scripts.sh
-#
-
-echo "
-####################################################################################################
-#
-#  Génération d'une partie des scripts SQL permettant de créer de zéro la base de données de SyGAL
-#
-####################################################################################################"
-
-THIS_DIR=$(cd `dirname $0` && pwd)
-SCHEMA="SYGAL"
-
-# répertoire de destination des résultats
-OUTPUT_DIR=/tmp/sygal-doc/database
-[[ -d ${OUTPUT_DIR} ]] && echo "Le répertoire de destination existe déjà : ${OUTPUT_DIR}" && exit 1
-mkdir -p ${OUTPUT_DIR}
-
-# copie et lancement du script dans le container docker
-docker cp ${THIS_DIR}/docker/gen-db-scripts.sh sygal-container:/app && \
-docker exec -it -w /app sygal-container bash gen-db-scripts.sh ${SCHEMA} && \
-docker exec -it -w /app sygal-container rm gen-db-scripts.sh
-
-FROM_FILE_PATH_CLEAR="/tmp/oracle-clear-schema-${SCHEMA}.sql"
-FROM_FILE_PATH_SCHEMA="/tmp/oracle-generate-schema-${SCHEMA}-from-${SCHEMA}.sql"
-FROM_FILE_PATH_INSERTS="/tmp/inserts"
-FROM_FILE_PATH_REF="/tmp/oracle-generate-ref-constraints-${SCHEMA}-from-${SCHEMA}.sql"
-
-TO_FILE_PATH_CLEAR="${OUTPUT_DIR}/00-oracle-clear-schema-${SCHEMA}.sql"
-TO_FILE_PATH_SCHEMA="${OUTPUT_DIR}/00-oracle-generate-schema-${SCHEMA}.sql"
-TO_FILE_PATH_INSERTS="${OUTPUT_DIR}/02-inserts"
-TO_FILE_PATH_REF="${OUTPUT_DIR}/03-oracle-generate-ref-constraints-${SCHEMA}.sql"
-
-# récupération des scripts SQL générés
-docker cp sygal-container:${FROM_FILE_PATH_CLEAR}       ${TO_FILE_PATH_CLEAR} && \
-docker cp sygal-container:${FROM_FILE_PATH_SCHEMA}      ${TO_FILE_PATH_SCHEMA} && \
-docker cp sygal-container:${FROM_FILE_PATH_INSERTS}/.   ${TO_FILE_PATH_INSERTS} && \
-docker cp sygal-container:${FROM_FILE_PATH_REF}         ${TO_FILE_PATH_REF}
-
-echo
-echo "> Terminé."
-echo "> Résultat dans ${OUTPUT_DIR}."
diff --git a/cli.md b/cli.md
deleted file mode 100644
index 077df0de4f418831d1ef972ebf8f5595e36b06b8..0000000000000000000000000000000000000000
--- a/cli.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# Ligne de commande de SyGAL
-
-Pour afficher l'aide de toutes les commandes fournies par l'application, se placer à la racine du projet 
-et faire :
-
-    $ php public/index.php
-
-
-## Import
-
-En fait, on peut désigner par "import" l'enchainement des actions suivantes :
-- "importer" les données d'un établissement, càd :
-    - interroger le WS d'un établissement (projet "sygal-import-ws") ; 
-    - enregistrer les données reçues dans des tables temporaires `TMP_*` ; 
-- "synchroniser" les tables définitives à partir des tables temporaires (module "unicaen/import").
-
-
-### Les services disponibles
-
-Les données importées sont fractionnées en domaines ou "services", qui reflètent en réalité chacun une table dans 
-la base de données de l'application.
-
-Voici les codes des services existants :
-- structure
-- ecole-doctorale
-- unite-recherche
-- etablissement
-- individu
-- doctorant
-- these
-- role
-- acteur
-- variable
-- financement
-- titre-acces
-
-Lorsqu'on importe les écoles doctorales, on référence le service dont le code est `ecole-doctorale`.
-C'est ce code du service qui devra être spécifié via l'argument `--etablissement` des commandes présentées ici.
-
-
-### Commandes d'import
- 
-L'import se fait pour *un seul établissement à la fois*. Les établissements dont on veut importer les données
-doivent être déclarés dans la config PHP de l'appli : cf. [local.php.dist](../config/autoload/local.php.dist)
-
-C'est le "code établissement" choisi dans la config qui devra être spécifié via l'argument `--etablissement` 
-des commandes présentées ici.
-
-#### `import`
-
-On parle ici de lancer l'import d'un service précis.
-
-Par exemple, pour lancer l'import des variables de l'UCN, mais sans lancer la synchro des tables définitives :
-    
-    $ php public/index.php import --service=variable --etablissement=UCN --synchronize=0
-
-Pour lancer en plus la synchro après l'interrogation du WS, mettre `--synchronize=1`.
-
-#### `import-all`
-
-Cette commande lance l'import de tous les services.
-
-Par exemple, pour lancer l'import complet des données de l'UCN, sans lancer la synchro des tables définitives :
-    
-    $ php public/index.php import-all --etablissement=UCN --synchronize=0
-
-Pour que la synchro se fasse après l'interrogation du WS, mettre `--synchronize=1`.
-
-
-### Commandes de synchro
-
-On parle ici de synchroniser les données des tables définitives de l'application avec celles des tables 
-temporaires `TMP_*`. 
-
-Même s'il s'agit de tables, on raisonne tout de même en service. Par exemple, la synchronisation de la table des 
-unités de recherches (`UNITE_RECH`) se fait en spécifiant le code de service `unite-recherche`.
-
-Dans ces commandes, il n'est pas possible de spécifier un établissement précis.
-
-#### `synchronize`
-
-Cette commande lance la synchro d'une table définitive `TABLE` à partir de la table temporaire `TMP_TABLE`
-correspondante.
-
-Par exemple, pour lancer la synchro des variables :
-    
-    $ php public/index.php synchronize --service=variable
-
-#### `synchronize-all`
-
-Cette commande lance la synchro de toutes les tables définitives :
-
-    $ php public/index.php synchronize-all
diff --git a/database/00-crea-users.sql b/database/00-crea-users.sql
deleted file mode 100644
index fda0b53bba74e5e3773d50d9fa677079667d5b50..0000000000000000000000000000000000000000
--- a/database/00-crea-users.sql
+++ /dev/null
@@ -1,47 +0,0 @@
---
--- Tablespace, user, etc.
---
---
--- ATTENTION, ce sript doit être personnalisé pour votre contexte :
---
---      Taille du tablespace (cf. `SIZE`).
---      Mot de passe du user "SYGAL" (cf `IDENTIFIED BY`).
---
-
-
-
---
--- Tablespace
---
-CREATE TABLESPACE SYGAL_TS DATAFILE 'SYGAL_TS' SIZE 8000000000;
-
---
--- User
---
-CREATE USER "SYGAL" IDENTIFIED BY "azerty" DEFAULT TABLESPACE "SYGAL_TS" TEMPORARY TABLESPACE "TEMP";
-
---
--- Grants
---
-GRANT "CONNECT" TO "SYGAL";
-GRANT "RESOURCE" TO "SYGAL";
-GRANT "SELECT_CATALOG_ROLE" TO "SYGAL";
-GRANT CREATE JOB TO "SYGAL";
-GRANT FLASHBACK ANY TABLE TO "SYGAL";
-GRANT DEBUG ANY PROCEDURE TO "SYGAL";
-GRANT DEBUG CONNECT SESSION TO "SYGAL";
-GRANT SELECT ANY DICTIONARY TO "SYGAL";
-GRANT ON COMMIT REFRESH TO "SYGAL";
-GRANT CREATE MATERIALIZED VIEW TO "SYGAL";
-GRANT CREATE DATABASE LINK TO "SYGAL";
-GRANT CREATE VIEW TO "SYGAL";
-GRANT DROP PUBLIC SYNONYM TO "SYGAL";
-GRANT CREATE PUBLIC SYNONYM TO "SYGAL";
-GRANT UNLIMITED TABLESPACE TO "SYGAL";
-GRANT ALTER SESSION TO "SYGAL";
-GRANT SELECT ON "SYS"."DBA_ROLE_PRIVS" TO "SYGAL";
-GRANT SELECT ON "SYS"."DBA_TAB_PRIVS" TO "SYGAL";
-GRANT SELECT ON "SYS"."DBA_ROLES" TO "SYGAL";
-GRANT FLASHBACK ON "SYS"."ALL_SOURCE" TO "SYGAL";
-GRANT EXECUTE ON "SYS"."DBMS_LOCK" TO "SYGAL";
-GRANT EXECUTE ON "SYS"."DBMS_ALERT" TO "SYGAL";
diff --git a/database/00-oracle-clear-schema-SYGAL.sql b/database/00-oracle-clear-schema-SYGAL.sql
deleted file mode 100644
index 10717b4d51477c6d007a94a3e349be94099d3017..0000000000000000000000000000000000000000
--- a/database/00-oracle-clear-schema-SYGAL.sql
+++ /dev/null
@@ -1,402 +0,0 @@
-DROP TRIGGER /*SYGAL.*/INDIVIDU_RECH_UPDATE;
-DROP VIEW /*SYGAL.*/SRC_ACTEUR;
-DROP VIEW /*SYGAL.*/SRC_DOCTORANT;
-DROP VIEW /*SYGAL.*/SRC_ECOLE_DOCT;
-DROP VIEW /*SYGAL.*/SRC_ETABLISSEMENT;
-DROP VIEW /*SYGAL.*/SRC_FINANCEMENT;
-DROP VIEW /*SYGAL.*/SRC_INDIVIDU;
-DROP VIEW /*SYGAL.*/SRC_ROLE;
-DROP VIEW /*SYGAL.*/SRC_STRUCTURE;
-DROP VIEW /*SYGAL.*/SRC_THESE;
-DROP VIEW /*SYGAL.*/SRC_THESE_ANNEE_UNIV;
-DROP VIEW /*SYGAL.*/SRC_TITRE_ACCES;
-DROP VIEW /*SYGAL.*/SRC_UNITE_RECH;
-DROP VIEW /*SYGAL.*/SRC_VARIABLE;
-DROP VIEW /*SYGAL.*/V_DIFF_ACTEUR;
-DROP VIEW /*SYGAL.*/V_DIFF_DOCTORANT;
-DROP VIEW /*SYGAL.*/V_DIFF_ECOLE_DOCT;
-DROP VIEW /*SYGAL.*/V_DIFF_ETABLISSEMENT;
-DROP VIEW /*SYGAL.*/V_DIFF_FINANCEMENT;
-DROP VIEW /*SYGAL.*/V_DIFF_INDIVIDU;
-DROP VIEW /*SYGAL.*/V_DIFF_ROLE;
-DROP VIEW /*SYGAL.*/V_DIFF_STRUCTURE;
-DROP VIEW /*SYGAL.*/V_DIFF_THESE;
-DROP VIEW /*SYGAL.*/V_DIFF_THESE_ANNEE_UNIV;
-DROP VIEW /*SYGAL.*/V_DIFF_TITRE_ACCES;
-DROP VIEW /*SYGAL.*/V_DIFF_UNITE_RECH;
-DROP VIEW /*SYGAL.*/V_DIFF_VARIABLE;
-DROP VIEW /*SYGAL.*/V_IMPORT_TAB_COLS;
-DROP VIEW /*SYGAL.*/V_INDIVIDU_ROLE;
-DROP VIEW /*SYGAL.*/V_SITU_ARCHIVAB_VA;
-DROP VIEW /*SYGAL.*/V_SITU_ARCHIVAB_VAC;
-DROP VIEW /*SYGAL.*/V_SITU_ARCHIVAB_VO;
-DROP VIEW /*SYGAL.*/V_SITU_ARCHIVAB_VOC;
-DROP VIEW /*SYGAL.*/V_SITU_ATTESTATIONS;
-DROP VIEW /*SYGAL.*/V_SITU_ATTESTATIONS_VOC;
-DROP VIEW /*SYGAL.*/V_SITU_AUTORIS_DIFF_THESE;
-DROP VIEW /*SYGAL.*/V_SITU_AUTORIS_DIFF_THESE_VOC;
-DROP VIEW /*SYGAL.*/V_SITU_DEPOT_PV_SOUT;
-DROP VIEW /*SYGAL.*/V_SITU_DEPOT_RAPPORT_SOUT;
-DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VA;
-DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VAC;
-DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VC_VALID_DIR;
-DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VC_VALID_DOCT;
-DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VO;
-DROP VIEW /*SYGAL.*/V_SITU_DEPOT_VOC;
-DROP VIEW /*SYGAL.*/V_SITU_RDV_BU_SAISIE_BU;
-DROP VIEW /*SYGAL.*/V_SITU_RDV_BU_SAISIE_DOCT;
-DROP VIEW /*SYGAL.*/V_SITU_RDV_BU_VALIDATION_BU;
-DROP VIEW /*SYGAL.*/V_SITU_SIGNALEMENT_THESE;
-DROP VIEW /*SYGAL.*/V_SITU_VALIDATION_PAGE_COUV;
-DROP VIEW /*SYGAL.*/V_SITU_VERIF_VA;
-DROP VIEW /*SYGAL.*/V_SITU_VERIF_VAC;
-DROP VIEW /*SYGAL.*/V_SITU_VERSION_PAPIER_CORRIGEE;
-DROP VIEW /*SYGAL.*/V_THESE_ANNEE_UNIV_FIRST;
-DROP VIEW /*SYGAL.*/V_TMP_ANOMALIE;
-DROP VIEW /*SYGAL.*/V_WF_ETAPE_PERTIN;
-DROP VIEW /*SYGAL.*/V_WORKFLOW;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_1;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_101;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_2;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_21;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_3;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_4;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_5;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_6;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_61;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_62;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_7;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_INDICATEUR_81;
-DROP MATERIALIZED VIEW /*SYGAL.*/MV_RECHERCHE_THESE;
-DROP FUNCTION /*SYGAL.*/GEN_TABLE_INSERTS;
-DROP FUNCTION /*SYGAL.*/INDIVIDU_HAYSTACK;
-DROP FUNCTION /*SYGAL.*/NEW_CONTENU;
-DROP PACKAGE /*SYGAL.*/APP_IMPORT;
-DROP PACKAGE /*SYGAL.*/APP_WORKFLOW;
-DROP PACKAGE /*SYGAL.*/UNICAEN_IMPORT;
-DROP PACKAGE /*SYGAL.*/UNICAEN_ORACLE;
-DROP SEQUENCE /*SYGAL.*/ACTEUR_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/API_LOG_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/ATTESTATION_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/DIFFUSION_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/DOCTORANT_COMPL_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/DOCTORANT_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/DOMAINE_SCIENTIFIQUE_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/ECOLE_DOCT_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/ETABLISSEMENT_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/ETABLISSEMENT_RATTACH_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/FAQ_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/FICHIER_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/FICHIER_THESE_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/FINANCEMENT_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/IMPORT_NOTIF_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/IMPORT_OBSERV_ETAB_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/IMPORT_OBSERV_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/IMPORT_OBSERV_RESULT_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/INDICATEUR_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/INDIVIDU_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/INDIVIDU_ROLE_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/INFORMATION_FICHIER_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/INFORMATION_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/MAIL_CONFIRMATION_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/METADONNEE_THESE_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/NATURE_FICHIER_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/NOTIF_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/NOTIF_RESULT_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/ORIGINE_FINANCEMENT_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/PRIVILEGE_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/PROFIL_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/RDV_BU_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/ROLE_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/STRUCTURE_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/STRUCTURE_SUBSTIT_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/SYNCHRO_LOG_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/SYNC_LOG_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/THESE_ANNEE_UNIV_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/THESE_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/TITRE_ACCES_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/UNITE_RECH_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/UTILISATEUR_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/VALIDATION_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/VALIDITE_FICHIER_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/VARIABLE_ID_SEQ;
-DROP SEQUENCE /*SYGAL.*/WF_ETAPE_ID_SEQ;
-ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_ETAB_ID_FK;
-ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_HC_FK;
-ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_HD_FK;
-ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_HM_FK;
-ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_INDIV_FK;
-ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_ROLE_ID_FK;
-ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_THESE_FK;
-ALTER TABLE /*SYGAL.*/ATTESTATION drop CONSTRAINT ATTESTATION_HC_FK;
-ALTER TABLE /*SYGAL.*/ATTESTATION drop CONSTRAINT ATTESTATION_HD_FK;
-ALTER TABLE /*SYGAL.*/ATTESTATION drop CONSTRAINT ATTESTATION_HM_FK;
-ALTER TABLE /*SYGAL.*/ATTESTATION drop CONSTRAINT ATTESTATION_THESE_FK;
-ALTER TABLE /*SYGAL.*/DIFFUSION drop CONSTRAINT DIFFUSION_HC_FK;
-ALTER TABLE /*SYGAL.*/DIFFUSION drop CONSTRAINT DIFFUSION_HD_FK;
-ALTER TABLE /*SYGAL.*/DIFFUSION drop CONSTRAINT DIFFUSION_HM_FK;
-ALTER TABLE /*SYGAL.*/DOCTORANT_COMPL drop CONSTRAINT DOCTORANT_COMPL_DOCTORANT_FK;
-ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_ETAB_FK;
-ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_HC_FK;
-ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_HD_FK;
-ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_HM_FK;
-ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_INDIV_FK;
-ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_HCFK;
-ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_HDFK;
-ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_HMFK;
-ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_STRUCT_FK;
-ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETABLISSEMENT_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETAB_STRUCT_FK;
-ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETAB_UTIL_CREATEUR_FK;
-ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETAB_UTIL_DESTRUCTEUR_FK;
-ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETAB_UTIL_MODIFICATEUR_FK;
-ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_HCFK;
-ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_HDFK;
-ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_HMFK;
-ALTER TABLE /*SYGAL.*/FICHIER_SAV drop CONSTRAINT FICHIER_NATURE_FICHIER_ID_FK;
-ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_NATURE_FIC_ID_FK;
-ALTER TABLE /*SYGAL.*/FICHIER_THESE drop CONSTRAINT FICHIER_THESE_FICHIER_FK;
-ALTER TABLE /*SYGAL.*/FICHIER_THESE drop CONSTRAINT FICHIER_THESE_THESE_FK;
-ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_VERSION_FK;
-ALTER TABLE /*SYGAL.*/FINANCEMENT drop CONSTRAINT FINANCEMENT_HCFK;
-ALTER TABLE /*SYGAL.*/FINANCEMENT drop CONSTRAINT FINANCEMENT_HDFK;
-ALTER TABLE /*SYGAL.*/FINANCEMENT drop CONSTRAINT FINANCEMENT_HMFK;
-ALTER TABLE /*SYGAL.*/FINANCEMENT drop CONSTRAINT FINANCEMENT_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBSERV_ETAB drop CONSTRAINT IMPORT_OBSERV_ETAB_ETAB_FK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBSERV_ETAB drop CONSTRAINT IMPORT_OBSERV_ETAB_OBSERV_FK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBSERV_RESULT drop CONSTRAINT IMPORT_OBSERV_RESULT_IOE_FK;
-ALTER TABLE /*SYGAL.*/INDIVIDU drop CONSTRAINT INDIVIDU_HC_FK;
-ALTER TABLE /*SYGAL.*/INDIVIDU drop CONSTRAINT INDIVIDU_HD_FK;
-ALTER TABLE /*SYGAL.*/INDIVIDU drop CONSTRAINT INDIVIDU_HM_FK;
-ALTER TABLE /*SYGAL.*/INDIVIDU_ROLE drop CONSTRAINT INDIVIDU_ROLE_IND_ID_FK;
-ALTER TABLE /*SYGAL.*/INDIVIDU_ROLE drop CONSTRAINT INDIVIDU_ROLE_ROLE_ID_FK;
-ALTER TABLE /*SYGAL.*/INDIVIDU drop CONSTRAINT INDIVIDU_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/INFORMATION drop CONSTRAINT INFORMATION_HCFK;
-ALTER TABLE /*SYGAL.*/INFORMATION drop CONSTRAINT INFORMATION_HDFK;
-ALTER TABLE /*SYGAL.*/INFORMATION drop CONSTRAINT INFORMATION_HMFK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBS_NOTIF drop CONSTRAINT IOND__IO_FK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBS_NOTIF drop CONSTRAINT IOND__N_FK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBS_RESULT_NOTIF drop CONSTRAINT IORNR__IOR_FK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBS_RESULT_NOTIF drop CONSTRAINT IORNR__NR_FK;
-ALTER TABLE /*SYGAL.*/MAIL_CONFIRMATION drop CONSTRAINT MAILCONFIRMATION_INDIVIDUID_FK;
-ALTER TABLE /*SYGAL.*/METADONNEE_THESE drop CONSTRAINT METADONNEE_THESE_THESE_ID_FK;
-ALTER TABLE /*SYGAL.*/DIFFUSION drop CONSTRAINT MISE_EN_LIGNE_THESE_FK;
-ALTER TABLE /*SYGAL.*/NOTIF_RESULT drop CONSTRAINT NOTIF_RESULT__NOTIF_FK;
-ALTER TABLE /*SYGAL.*/ORIGINE_FINANCEMENT drop CONSTRAINT ORIGINE_FINANCEMENT_HCFK;
-ALTER TABLE /*SYGAL.*/ORIGINE_FINANCEMENT drop CONSTRAINT ORIGINE_FINANCEMENT_HDFK;
-ALTER TABLE /*SYGAL.*/ORIGINE_FINANCEMENT drop CONSTRAINT ORIGINE_FINANCEMENT_HMFK;
-ALTER TABLE /*SYGAL.*/ORIGINE_FINANCEMENT drop CONSTRAINT ORIGINE_FINANCEMENT_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/PROFIL_PRIVILEGE drop CONSTRAINT PROFIL_PRIVILEGE_PROFIL_ID_FK;
-ALTER TABLE /*SYGAL.*/PROFIL_TO_ROLE drop CONSTRAINT PROFIL_TO_ROLE_PROFIL_ID_FK;
-ALTER TABLE /*SYGAL.*/PROFIL_TO_ROLE drop CONSTRAINT PROFIL_TO_ROLE_ROLE_ID_FK;
-ALTER TABLE /*SYGAL.*/ETABLISSEMENT_RATTACH drop CONSTRAINT RATTACHEMENT_ETAB_ID;
-ALTER TABLE /*SYGAL.*/ETABLISSEMENT_RATTACH drop CONSTRAINT RATTACHEMENT_UNITE_ID;
-ALTER TABLE /*SYGAL.*/RDV_BU drop CONSTRAINT RDV_BU_FK;
-ALTER TABLE /*SYGAL.*/RDV_BU drop CONSTRAINT RDV_BU_HC_FK;
-ALTER TABLE /*SYGAL.*/RDV_BU drop CONSTRAINT RDV_BU_HD_FK;
-ALTER TABLE /*SYGAL.*/RDV_BU drop CONSTRAINT RDV_BU_HM_FK;
-ALTER TABLE /*SYGAL.*/PROFIL drop CONSTRAINT ROLEMODELE_STRUCTURETYPE_FK;
-ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_HC_FK;
-ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_HD_FK;
-ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_HM_FK;
-ALTER TABLE /*SYGAL.*/ROLE_PRIVILEGE drop CONSTRAINT ROLE_PRIVILEGE_PRIV_ID_FK;
-ALTER TABLE /*SYGAL.*/ROLE_PRIVILEGE drop CONSTRAINT ROLE_PRIVILEGE_ROLE_ID_FK;
-ALTER TABLE /*SYGAL.*/PROFIL_PRIVILEGE drop CONSTRAINT ROLE_PRIV_MOD_PRIV_ID_FK;
-ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_STRUCTURE_ID_FK;
-ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_TYPE_STRUCT_ID_FK;
-ALTER TABLE /*SYGAL.*/SOURCE drop CONSTRAINT SOURCE_ETABLISSEMENT_ID_FK;
-ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_HCFK;
-ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_HDFK;
-ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_HMFK;
-ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_TYPE_STRUCTURE_ID_FK;
-ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_CREATEUR_FK;
-ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_DESTRUCTEUR_FK;
-ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_MODIFICATEUR_FK;
-ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_STR_FROM_FK;
-ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_STR_TO_FK;
-ALTER TABLE /*SYGAL.*/PRIVILEGE drop CONSTRAINT SYS_C006123;
-ALTER TABLE /*SYGAL.*/DOCTORANT_COMPL drop CONSTRAINT THESARD_COMPL_HCFK;
-ALTER TABLE /*SYGAL.*/DOCTORANT_COMPL drop CONSTRAINT THESARD_COMPL_HDFK;
-ALTER TABLE /*SYGAL.*/DOCTORANT_COMPL drop CONSTRAINT THESARD_COMPL_HMFK;
-ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_HC_FK;
-ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_HD_FK;
-ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_HM_FK;
-ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_THESE_ID_FK;
-ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_DOCTORANT_FK;
-ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_ECOLE_DOCT_FK;
-ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_ETAB_FK;
-ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_HC_FK;
-ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_HD_FK;
-ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_HM_FK;
-ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_UNITE_RECH_FK;
-ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_HC_FK;
-ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_HD_FK;
-ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_HM_FK;
-ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_THESE_ID_FK;
-ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_COMPL_HCFK;
-ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_COMPL_HDFK;
-ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_COMPL_HMFK;
-ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_STRUCT_FK;
-ALTER TABLE /*SYGAL.*/UTILISATEUR drop CONSTRAINT UTILISATEUR_INDIVIDU_FK;
-ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_HCFK;
-ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_HDFK;
-ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_HMFK;
-ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_INDIVIDU_ID_FK;
-ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_THESE_FK;
-ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_TYPE_VALIDATION_FK;
-ALTER TABLE /*SYGAL.*/VALIDITE_FICHIER drop CONSTRAINT VALIDITE_FICHIER_FFK;
-ALTER TABLE /*SYGAL.*/VALIDITE_FICHIER drop CONSTRAINT VALIDITE_FICHIER_HCFK;
-ALTER TABLE /*SYGAL.*/VALIDITE_FICHIER drop CONSTRAINT VALIDITE_FICHIER_HDFK;
-ALTER TABLE /*SYGAL.*/VALIDITE_FICHIER drop CONSTRAINT VALIDITE_FICHIER_HMFK;
-ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_ETAB_FK;
-ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_HC_FK;
-ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_HD_FK;
-ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_HM_FK;
-ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_SOURCE_FK;
-ALTER TABLE /*SYGAL.*/ACTEUR drop CONSTRAINT ACTEUR_PK;
-ALTER TABLE /*SYGAL.*/API_LOG drop CONSTRAINT API_LOG_PK;
-ALTER TABLE /*SYGAL.*/ATTESTATION drop CONSTRAINT ATTESTATION_PK;
-ALTER TABLE /*SYGAL.*/DOCTORANT drop CONSTRAINT DOCTORANT_PK;
-ALTER TABLE /*SYGAL.*/ECOLE_DOCT drop CONSTRAINT ECOLE_DOCT_PK;
-ALTER TABLE /*SYGAL.*/ETABLISSEMENT drop CONSTRAINT ETAB_PK;
-ALTER TABLE /*SYGAL.*/FAQ drop CONSTRAINT FAQ_PK;
-ALTER TABLE /*SYGAL.*/FICHIER_SAV drop CONSTRAINT FICHIER_PK;
-ALTER TABLE /*SYGAL.*/FICHIER drop CONSTRAINT FICHIER_PK_NEW;
-ALTER TABLE /*SYGAL.*/FICHIER_THESE drop CONSTRAINT FICHIER_THESE_PK_NEW;
-ALTER TABLE /*SYGAL.*/IMPORT_NOTIF drop CONSTRAINT IMPORT_NOTIF_PK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBSERV_ETAB drop CONSTRAINT IMPORT_OBSERV_ETAB_PK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBSERV drop CONSTRAINT IMPORT_OBSERV_PK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBSERV_RESULT drop CONSTRAINT IMPORT_OBSERV_RESULT_PK;
-ALTER TABLE /*SYGAL.*/INDIVIDU drop CONSTRAINT INDIVIDU_PK;
-ALTER TABLE /*SYGAL.*/INDIVIDU_RECH drop CONSTRAINT INDIVIDU_RECH_PK;
-ALTER TABLE /*SYGAL.*/INDIVIDU_ROLE drop CONSTRAINT INDIVIDU_ROLE_PK;
-ALTER TABLE /*SYGAL.*/INFORMATION_FICHIER_SAV drop CONSTRAINT INFORMATION_FICHIER_PK;
-ALTER TABLE /*SYGAL.*/INFORMATION drop CONSTRAINT INFORMATION_PK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBS_NOTIF drop CONSTRAINT IOND_PK;
-ALTER TABLE /*SYGAL.*/IMPORT_OBS_RESULT_NOTIF drop CONSTRAINT IORNR_PK;
-ALTER TABLE /*SYGAL.*/METADONNEE_THESE drop CONSTRAINT METADONNEE_THESE_PK;
-ALTER TABLE /*SYGAL.*/DIFFUSION drop CONSTRAINT MISE_EN_LIGNE_PK;
-ALTER TABLE /*SYGAL.*/NOTIF drop CONSTRAINT NOTIF_PK;
-ALTER TABLE /*SYGAL.*/NOTIF_RESULT drop CONSTRAINT NOTIF_RESULT_PK;
-ALTER TABLE /*SYGAL.*/PARAMETRE drop CONSTRAINT PARAMETRE_PK;
-ALTER TABLE /*SYGAL.*/PROFIL_PRIVILEGE drop CONSTRAINT PROFIL_PRIVILEGE_PK;
-ALTER TABLE /*SYGAL.*/PROFIL_TO_ROLE drop CONSTRAINT PROFIL_TO_ROLE_PK;
-ALTER TABLE /*SYGAL.*/RDV_BU drop CONSTRAINT RDV_BU_PK;
-ALTER TABLE /*SYGAL.*/ROLE drop CONSTRAINT ROLE_PK;
-ALTER TABLE /*SYGAL.*/ROLE_PRIVILEGE drop CONSTRAINT ROLE_PRIVILEGE_PK;
-ALTER TABLE /*SYGAL.*/SOURCE drop CONSTRAINT SOURCE_PK;
-ALTER TABLE /*SYGAL.*/STRUCTURE drop CONSTRAINT STRUCTURE_PK;
-ALTER TABLE /*SYGAL.*/STRUCTURE_SUBSTIT drop CONSTRAINT STR_SUBSTIT_PK;
-ALTER TABLE /*SYGAL.*/SYNCHRO_LOG drop CONSTRAINT SYNCHRO_LOG_PK;
-ALTER TABLE /*SYGAL.*/SYNC_LOG drop CONSTRAINT SYNC_LOG_PK;
-ALTER TABLE /*SYGAL.*/UNITE_DOMAINE_LINKER drop CONSTRAINT SYS_C0010859;
-ALTER TABLE /*SYGAL.*/ORIGINE_FINANCEMENT drop CONSTRAINT SYS_C0012274;
-ALTER TABLE /*SYGAL.*/FINANCEMENT drop CONSTRAINT SYS_C0012288;
-ALTER TABLE /*SYGAL.*/CATEGORIE_PRIVILEGE drop CONSTRAINT SYS_C006106;
-ALTER TABLE /*SYGAL.*/NATURE_FICHIER drop CONSTRAINT SYS_C006109;
-ALTER TABLE /*SYGAL.*/PRIVILEGE drop CONSTRAINT SYS_C006122;
-ALTER TABLE /*SYGAL.*/PROFIL drop CONSTRAINT SYS_C006505;
-ALTER TABLE /*SYGAL.*/MAIL_CONFIRMATION drop CONSTRAINT SYS_C006512;
-ALTER TABLE /*SYGAL.*/ETABLISSEMENT_RATTACH drop CONSTRAINT SYS_C006545;
-ALTER TABLE /*SYGAL.*/DOMAINE_SCIENTIFIQUE drop CONSTRAINT SYS_C006550;
-ALTER TABLE /*SYGAL.*/INDICATEUR drop CONSTRAINT SYS_C009540;
-ALTER TABLE /*SYGAL.*/DOCTORANT_COMPL drop CONSTRAINT THESARD_COMPL_PK;
-ALTER TABLE /*SYGAL.*/THESE_ANNEE_UNIV drop CONSTRAINT THESE_ANNEE_UNIV_PK;
-ALTER TABLE /*SYGAL.*/THESE drop CONSTRAINT THESE_PK;
-ALTER TABLE /*SYGAL.*/MV_INDICATEUR_1 drop CONSTRAINT THESE_PK1;
-ALTER TABLE /*SYGAL.*/TITRE_ACCES drop CONSTRAINT TITRE_ACCES_PK;
-ALTER TABLE /*SYGAL.*/TYPE_STRUCTURE drop CONSTRAINT TYPE_STRUCTURE_PK;
-ALTER TABLE /*SYGAL.*/TYPE_VALIDATION drop CONSTRAINT TYPE_VALIDATION_PK;
-ALTER TABLE /*SYGAL.*/UNITE_RECH drop CONSTRAINT UNITE_RECH_PK;
-ALTER TABLE /*SYGAL.*/UTILISATEUR drop CONSTRAINT UTILISATEUR_PK;
-ALTER TABLE /*SYGAL.*/VALIDATION drop CONSTRAINT VALIDATION_PK;
-ALTER TABLE /*SYGAL.*/VALIDITE_FICHIER drop CONSTRAINT VALIDITE_FICHIER_PK;
-ALTER TABLE /*SYGAL.*/VARIABLE drop CONSTRAINT VARIABLE_PK;
-ALTER TABLE /*SYGAL.*/VERSION_FICHIER drop CONSTRAINT VERSION_FICHIER_PK;
-ALTER TABLE /*SYGAL.*/WF_ETAPE drop CONSTRAINT WF_ETAPE_PK;
-DROP TABLE /*SYGAL.*/ACTEUR PURGE;
-DROP TABLE /*SYGAL.*/API_LOG PURGE;
-DROP TABLE /*SYGAL.*/ATTESTATION PURGE;
-DROP TABLE /*SYGAL.*/BACKUP_FICHIER PURGE;
-DROP TABLE /*SYGAL.*/CATEGORIE_PRIVILEGE PURGE;
-DROP TABLE /*SYGAL.*/DIFFUSION PURGE;
-DROP TABLE /*SYGAL.*/DOCTORANT PURGE;
-DROP TABLE /*SYGAL.*/DOCTORANT_COMPL PURGE;
-DROP TABLE /*SYGAL.*/DOMAINE_SCIENTIFIQUE PURGE;
-DROP TABLE /*SYGAL.*/ECOLE_DOCT PURGE;
-DROP TABLE /*SYGAL.*/ETABLISSEMENT PURGE;
-DROP TABLE /*SYGAL.*/ETABLISSEMENT_RATTACH PURGE;
-DROP TABLE /*SYGAL.*/FAQ PURGE;
-DROP TABLE /*SYGAL.*/FICHIER PURGE;
-DROP TABLE /*SYGAL.*/FICHIER_SAV PURGE;
-DROP TABLE /*SYGAL.*/FICHIER_THESE PURGE;
-DROP TABLE /*SYGAL.*/FICHIER_THESE_SAV PURGE;
-DROP TABLE /*SYGAL.*/FINANCEMENT PURGE;
-DROP TABLE /*SYGAL.*/IMPORT_NOTIF PURGE;
-DROP TABLE /*SYGAL.*/IMPORT_OBSERV PURGE;
-DROP TABLE /*SYGAL.*/IMPORT_OBSERV_ETAB PURGE;
-DROP TABLE /*SYGAL.*/IMPORT_OBSERV_RESULT PURGE;
-DROP TABLE /*SYGAL.*/IMPORT_OBS_NOTIF PURGE;
-DROP TABLE /*SYGAL.*/IMPORT_OBS_RESULT_NOTIF PURGE;
-DROP TABLE /*SYGAL.*/INDICATEUR PURGE;
-DROP TABLE /*SYGAL.*/INDIVIDU PURGE;
-DROP TABLE /*SYGAL.*/INDIVIDU_RECH PURGE;
-DROP TABLE /*SYGAL.*/INDIVIDU_ROLE PURGE;
-DROP TABLE /*SYGAL.*/INFORMATION PURGE;
-DROP TABLE /*SYGAL.*/INFORMATION_FICHIER_SAV PURGE;
-DROP TABLE /*SYGAL.*/MAIL_CONFIRMATION PURGE;
-DROP TABLE /*SYGAL.*/METADONNEE_THESE PURGE;
-DROP TABLE /*SYGAL.*/NATURE_FICHIER PURGE;
-DROP TABLE /*SYGAL.*/NOTIF PURGE;
-DROP TABLE /*SYGAL.*/NOTIF_RESULT PURGE;
-DROP TABLE /*SYGAL.*/ORIGINE_FINANCEMENT PURGE;
-DROP TABLE /*SYGAL.*/PARAMETRE PURGE;
-DROP TABLE /*SYGAL.*/PRIVILEGE PURGE;
-DROP TABLE /*SYGAL.*/PROFIL PURGE;
-DROP TABLE /*SYGAL.*/PROFIL_PRIVILEGE PURGE;
-DROP TABLE /*SYGAL.*/PROFIL_TO_ROLE PURGE;
-DROP TABLE /*SYGAL.*/RDV_BU PURGE;
-DROP TABLE /*SYGAL.*/ROLE PURGE;
-DROP TABLE /*SYGAL.*/ROLE_PRIVILEGE PURGE;
-DROP TABLE /*SYGAL.*/SOURCE PURGE;
-DROP TABLE /*SYGAL.*/STRUCTURE PURGE;
-DROP TABLE /*SYGAL.*/STRUCTURE_SUBSTIT PURGE;
-DROP TABLE /*SYGAL.*/SYNCHRO_LOG PURGE;
-DROP TABLE /*SYGAL.*/SYNC_LOG PURGE;
-DROP TABLE /*SYGAL.*/THESE PURGE;
-DROP TABLE /*SYGAL.*/THESE_ANNEE_UNIV PURGE;
-DROP TABLE /*SYGAL.*/TITRE_ACCES PURGE;
-DROP TABLE /*SYGAL.*/TMP_ACTEUR PURGE;
-DROP TABLE /*SYGAL.*/TMP_DOCTORANT PURGE;
-DROP TABLE /*SYGAL.*/TMP_ECOLE_DOCT PURGE;
-DROP TABLE /*SYGAL.*/TMP_ETABLISSEMENT PURGE;
-DROP TABLE /*SYGAL.*/TMP_FINANCEMENT PURGE;
-DROP TABLE /*SYGAL.*/TMP_INDIVIDU PURGE;
-DROP TABLE /*SYGAL.*/TMP_ORIGINE_FINANCEMENT PURGE;
-DROP TABLE /*SYGAL.*/TMP_ROLE PURGE;
-DROP TABLE /*SYGAL.*/TMP_STRUCTURE PURGE;
-DROP TABLE /*SYGAL.*/TMP_THESE PURGE;
-DROP TABLE /*SYGAL.*/TMP_THESE_ANNEE_UNIV PURGE;
-DROP TABLE /*SYGAL.*/TMP_TITRE_ACCES PURGE;
-DROP TABLE /*SYGAL.*/TMP_UNITE_RECH PURGE;
-DROP TABLE /*SYGAL.*/TMP_VARIABLE PURGE;
-DROP TABLE /*SYGAL.*/TYPE_STRUCTURE PURGE;
-DROP TABLE /*SYGAL.*/TYPE_VALIDATION PURGE;
-DROP TABLE /*SYGAL.*/UNITE_DOMAINE_LINKER PURGE;
-DROP TABLE /*SYGAL.*/UNITE_RECH PURGE;
-DROP TABLE /*SYGAL.*/UTILISATEUR PURGE;
-DROP TABLE /*SYGAL.*/VALIDATION PURGE;
-DROP TABLE /*SYGAL.*/VALIDITE_FICHIER PURGE;
-DROP TABLE /*SYGAL.*/VALIDITE_FICHIER_SAV PURGE;
-DROP TABLE /*SYGAL.*/VARIABLE PURGE;
-DROP TABLE /*SYGAL.*/VERSION_FICHIER PURGE;
-DROP TABLE /*SYGAL.*/WF_ETAPE PURGE;
diff --git a/database/00-oracle-generate-schema-SYGAL.sql b/database/00-oracle-generate-schema-SYGAL.sql
deleted file mode 100644
index 2fc90ef5b5d39a5c29239e3acff822ee07592447..0000000000000000000000000000000000000000
--- a/database/00-oracle-generate-schema-SYGAL.sql
+++ /dev/null
@@ -1,4625 +0,0 @@
-SET SQLBLANKLINES ON;
-
-
-   CREATE SEQUENCE  /*"SYGAL".*/"ACTEUR_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 240716*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"API_LOG_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 1269132*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"ATTESTATION_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 6643*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"DIFFUSION_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 7083*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"DOCTORANT_COMPL_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 801*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"DOCTORANT_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 42008*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"DOMAINE_SCIENTIFIQUE_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 21*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"ECOLE_DOCT_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 101*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"ETABLISSEMENT_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 6603*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"ETABLISSEMENT_RATTACH_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 381*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"FAQ_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 101*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"FICHIER_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 10713*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"FICHIER_THESE_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 10533*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"FINANCEMENT_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 11121*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"IMPORT_NOTIF_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 21*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"IMPORT_OBSERV_ETAB_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 21*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"IMPORT_OBSERV_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 21*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"IMPORT_OBSERV_RESULT_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 497361*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"INDICATEUR_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 121*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"INDIVIDU_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 798753*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"INDIVIDU_ROLE_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 2184*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"INFORMATION_FICHIER_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 481*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"INFORMATION_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 181*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"MAIL_CONFIRMATION_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 6676*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"METADONNEE_THESE_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 6403*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"NATURE_FICHIER_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 41*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"NOTIF_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 1*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"NOTIF_RESULT_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 1*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"ORIGINE_FINANCEMENT_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 41*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"PRIVILEGE_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 361*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"PROFIL_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 41*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"RDV_BU_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 6324*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"ROLE_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 1081*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"STRUCTURE_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 7023*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"STRUCTURE_SUBSTIT_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 381*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"SYNCHRO_LOG_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 1148559*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"SYNC_LOG_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 881602*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"THESE_ANNEE_UNIV_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 66701*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"THESE_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 43187*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"TITRE_ACCES_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 12321*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"UNITE_RECH_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 701*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"UTILISATEUR_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 20413*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"VALIDATION_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 17472*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"VALIDITE_FICHIER_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 13848*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"VARIABLE_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 128*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-   CREATE SEQUENCE  /*"SYGAL".*/"WF_ETAPE_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 /*START WITH 81*/ /*CACHE 20*/ NOORDER  NOCYCLE ;
-  CREATE TABLE /*"SYGAL".*/"ACTEUR" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"INDIVIDU_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, 
-	"THESE_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, 
-	"ROLE_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, 
-	"QUALITE" VARCHAR2(200 CHAR), 
-	"LIB_ROLE_COMPL" VARCHAR2(200 CHAR), 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"HISTO_DESTRUCTION" DATE, 
-	"ACTEUR_ETABLISSEMENT_ID" NUMBER, 
-	 CONSTRAINT "ACTEUR_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"API_LOG" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"REQ_URI" VARCHAR2(2000 CHAR) NOT NULL ENABLE, 
-	"REQ_START_DATE" DATE NOT NULL ENABLE, 
-	"REQ_END_DATE" DATE, 
-	"REQ_STATUS" VARCHAR2(32 CHAR), 
-	"REQ_RESPONSE" CLOB, 
-	"REQ_ETABLISSEMENT" VARCHAR2(64), 
-	"REQ_TABLE" VARCHAR2(64), 
-	 CONSTRAINT "API_LOG_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"ATTESTATION" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"THESE_ID" NUMBER NOT NULL ENABLE, 
-	"VER_DEPO_EST_VER_REF" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"EX_IMPR_CONFORM_VER_DEPO" NUMBER(1,0) DEFAULT null, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"VERSION_CORRIGEE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	 CONSTRAINT "ATTESTATION_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"CATEGORIE_PRIVILEGE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(150 CHAR) NOT NULL ENABLE, 
-	"LIBELLE" VARCHAR2(200 CHAR) NOT NULL ENABLE, 
-	"ORDRE" NUMBER, 
-	 PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"DIFFUSION" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"THESE_ID" NUMBER NOT NULL ENABLE, 
-	"DROIT_AUTEUR_OK" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"AUTORIS_MEL" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"AUTORIS_EMBARGO_DUREE" VARCHAR2(20 CHAR), 
-	"AUTORIS_MOTIF" VARCHAR2(2000 CHAR), 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"CERTIF_CHARTE_DIFF" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"CONFIDENT" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"CONFIDENT_DATE_FIN" DATE, 
-	"ORCID" VARCHAR2(200 CHAR), 
-	"NNT" VARCHAR2(30), 
-	"HAL_ID" VARCHAR2(100), 
-	"VERSION_CORRIGEE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	 CONSTRAINT "MISE_EN_LIGNE_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"DOCTORANT" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"ETABLISSEMENT_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, 
-	"INDIVIDU_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"HISTO_DESTRUCTION" DATE, 
-	"INE" VARCHAR2(64), 
-	 CONSTRAINT "DOCTORANT_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"DOCTORANT_COMPL" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"DOCTORANT_ID" NUMBER NOT NULL ENABLE, 
-	"PERSOPASS" VARCHAR2(50 CHAR), 
-	"EMAIL_PRO" VARCHAR2(100 CHAR), 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	 CONSTRAINT "THESARD_COMPL_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"DOMAINE_SCIENTIFIQUE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"LIBELLE" VARCHAR2(128) NOT NULL ENABLE, 
-	 PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"ECOLE_DOCT" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"STRUCTURE_ID" NUMBER NOT NULL ENABLE, 
-	 CONSTRAINT "ECOLE_DOCT_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"ETABLISSEMENT" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"STRUCTURE_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT sysdate NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"DOMAINE" VARCHAR2(50), 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"EST_MEMBRE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"EST_ASSOCIE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"EST_COMUE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	 CONSTRAINT "ETAB_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"ETABLISSEMENT_RATTACH" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"UNITE_ID" NUMBER NOT NULL ENABLE, 
-	"ETABLISSEMENT_ID" NUMBER NOT NULL ENABLE, 
-	 PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"FAQ" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"QUESTION" VARCHAR2(2000 CHAR) NOT NULL ENABLE, 
-	"REPONSE" VARCHAR2(2000 CHAR) NOT NULL ENABLE, 
-	"ORDRE" NUMBER, 
-	 CONSTRAINT "FAQ_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"FICHIER" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"UUID" VARCHAR2(60) NOT NULL ENABLE, 
-	"NATURE_ID" NUMBER DEFAULT 1 NOT NULL ENABLE, 
-	"NOM" VARCHAR2(255 CHAR) NOT NULL ENABLE, 
-	"NOM_ORIGINAL" VARCHAR2(255 CHAR) DEFAULT NULL NOT NULL ENABLE, 
-	"TYPE_MIME" VARCHAR2(128 CHAR) NOT NULL ENABLE, 
-	"TAILLE" NUMBER NOT NULL ENABLE, 
-	"DESCRIPTION" VARCHAR2(256 CHAR), 
-	"VERSION_FICHIER_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	 CONSTRAINT "FICHIER_PK_NEW" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"FICHIER_THESE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"FICHIER_ID" NUMBER NOT NULL ENABLE, 
-	"THESE_ID" NUMBER NOT NULL ENABLE, 
-	"EST_ANNEXE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"EST_EXPURGE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"EST_CONFORME" NUMBER(1,0), 
-	"RETRAITEMENT" VARCHAR2(50 CHAR), 
-	"EST_PARTIEL" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	 CONSTRAINT "FICHIER_THESE_PK_NEW" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"FINANCEMENT" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"THESE_ID" NUMBER, 
-	"ANNEE" NUMBER NOT NULL ENABLE, 
-	"ORIGINE_FINANCEMENT_ID" NUMBER NOT NULL ENABLE, 
-	"COMPLEMENT_FINANCEMENT" VARCHAR2(256), 
-	"QUOTITE_FINANCEMENT" VARCHAR2(8), 
-	"DATE_DEBUT" DATE, 
-	"DATE_FIN" DATE, 
-	"SOURCE_CODE" VARCHAR2(64) DEFAULT NULL NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	 PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"IMPORT_NOTIF" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"TABLE_NAME" VARCHAR2(50 CHAR) NOT NULL ENABLE, 
-	"COLUMN_NAME" VARCHAR2(50 CHAR) NOT NULL ENABLE, 
-	"OPERATION" VARCHAR2(50 CHAR) DEFAULT 'UPDATE' NOT NULL ENABLE, 
-	"TO_VALUE" VARCHAR2(1000 CHAR), 
-	"DESCRIPTION" VARCHAR2(200 CHAR), 
-	"URL" VARCHAR2(1000 CHAR) NOT NULL ENABLE, 
-	 CONSTRAINT "IMPORT_NOTIF_PK" PRIMARY KEY ("ID") ENABLE, 
-	 CONSTRAINT "IMPORT_NOTIF_UN" UNIQUE ("TABLE_NAME", "COLUMN_NAME", "OPERATION") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"IMPORT_OBSERV" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(50 CHAR) NOT NULL ENABLE, 
-	"TABLE_NAME" VARCHAR2(50 CHAR) NOT NULL ENABLE, 
-	"COLUMN_NAME" VARCHAR2(50 CHAR) NOT NULL ENABLE, 
-	"OPERATION" VARCHAR2(50 CHAR) DEFAULT 'UPDATE' NOT NULL ENABLE, 
-	"TO_VALUE" VARCHAR2(1000 CHAR), 
-	"DESCRIPTION" VARCHAR2(200 CHAR), 
-	"ENABLED" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	 CONSTRAINT "IMPORT_OBSERV_PK" PRIMARY KEY ("ID") ENABLE, 
-	 CONSTRAINT "IMPORT_OBSERV_CODE_UN" UNIQUE ("CODE") ENABLE, 
-	 CONSTRAINT "IMPORT_OBSERV_UN" UNIQUE ("TABLE_NAME", "COLUMN_NAME", "OPERATION", "TO_VALUE") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"IMPORT_OBSERV_ETAB" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"IMPORT_OBSERV_ID" NUMBER NOT NULL ENABLE, 
-	"ETABLISSEMENT_ID" NUMBER NOT NULL ENABLE, 
-	"ENABLED" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	 CONSTRAINT "IMPORT_OBSERV_ETAB_PK" PRIMARY KEY ("ID") ENABLE, 
-	 CONSTRAINT "IMPORT_OBSERV_ETAB_UN" UNIQUE ("IMPORT_OBSERV_ID", "ETABLISSEMENT_ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"IMPORT_OBSERV_RESULT" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"IMPORT_OBSERV_ID" NUMBER NOT NULL ENABLE, 
-	"DATE_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"RESULTAT" CLOB NOT NULL ENABLE, 
-	"DATE_NOTIF" DATE, 
-	"IMPORT_OBSERV_ETAB_ID" NUMBER, 
-	"TOO_OLD" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	 CONSTRAINT "IMPORT_OBSERV_RESULT_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"IMPORT_OBS_NOTIF" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"IMPORT_OBSERV_ID" NUMBER NOT NULL ENABLE, 
-	"NOTIF_ID" NUMBER NOT NULL ENABLE, 
-	 CONSTRAINT "IOND_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"IMPORT_OBS_RESULT_NOTIF" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"IMPORT_OBSERV_RESULT_ID" NUMBER NOT NULL ENABLE, 
-	"NOTIF_RESULT_ID" NUMBER NOT NULL ENABLE, 
-	 CONSTRAINT "IORNR_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"INDICATEUR" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"LIBELLE" VARCHAR2(128) NOT NULL ENABLE, 
-	"DESCRIPTION" VARCHAR2(1024), 
-	"REQUETE" VARCHAR2(1024), 
-	"ACTIF" NUMBER, 
-	"DISPLAY_AS" VARCHAR2(128), 
-	"CLASS" VARCHAR2(128), 
-	 PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"INDIVIDU" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"TYPE" VARCHAR2(32), 
-	"CIVILITE" VARCHAR2(5 CHAR) DEFAULT NULL, 
-	"NOM_USUEL" VARCHAR2(60 CHAR) NOT NULL ENABLE, 
-	"NOM_PATRONYMIQUE" VARCHAR2(60 CHAR) DEFAULT NULL, 
-	"PRENOM1" VARCHAR2(60 CHAR) NOT NULL ENABLE, 
-	"PRENOM2" VARCHAR2(60 CHAR), 
-	"PRENOM3" VARCHAR2(60 CHAR), 
-	"EMAIL" VARCHAR2(255 CHAR), 
-	"DATE_NAISSANCE" DATE DEFAULT NULL, 
-	"NATIONALITE" VARCHAR2(128 CHAR), 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"HISTO_DESTRUCTION" DATE, 
-	"SUPANN_ID" VARCHAR2(30), 
-	"ETABLISSEMENT_ID" NUMBER, 
-	 CONSTRAINT "INDIVIDU_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"INDIVIDU_RECH" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"HAYSTACK" CLOB, 
-	 CONSTRAINT "INDIVIDU_RECH_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"INDIVIDU_ROLE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"INDIVIDU_ID" NUMBER, 
-	"ROLE_ID" NUMBER, 
-	 CONSTRAINT "INDIVIDU_ROLE_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"INFORMATION" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"TITRE" VARCHAR2(256) NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"CONTENU" CLOB NOT NULL ENABLE, 
-	"PRIORITE" NUMBER DEFAULT 0 NOT NULL ENABLE, 
-	"EST_VISIBLE" NUMBER DEFAULT 1 NOT NULL ENABLE, 
-	 CONSTRAINT "INFORMATION_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"MAIL_CONFIRMATION" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"INDIVIDU_ID" NUMBER NOT NULL ENABLE, 
-	"EMAIL" VARCHAR2(256) NOT NULL ENABLE, 
-	"ETAT" VARCHAR2(1), 
-	"CODE" VARCHAR2(19), 
-	 PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"METADONNEE_THESE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"THESE_ID" NUMBER NOT NULL ENABLE, 
-	"TITRE" VARCHAR2(2048 CHAR) NOT NULL ENABLE, 
-	"LANGUE" VARCHAR2(40 CHAR) NOT NULL ENABLE, 
-	"RESUME" CLOB DEFAULT NULL NOT NULL ENABLE, 
-	"RESUME_ANGLAIS" CLOB DEFAULT NULL NOT NULL ENABLE, 
-	"MOTS_CLES_LIBRES_FR" VARCHAR2(1024 CHAR) NOT NULL ENABLE, 
-	"MOTS_CLES_RAMEAU" VARCHAR2(1024 CHAR), 
-	"TITRE_AUTRE_LANGUE" VARCHAR2(2048 CHAR) NOT NULL ENABLE, 
-	"MOTS_CLES_LIBRES_ANG" VARCHAR2(1024 CHAR), 
-	 CONSTRAINT "METADONNEE_THESE_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"NATURE_FICHIER" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(50 CHAR) DEFAULT NULL NOT NULL ENABLE, 
-	"LIBELLE" VARCHAR2(100 CHAR) DEFAULT NULL, 
-	 PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"NOTIF" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(100) NOT NULL ENABLE, 
-	"DESCRIPTION" VARCHAR2(255) NOT NULL ENABLE, 
-	"RECIPIENTS" VARCHAR2(500) DEFAULT NULL, 
-	"TEMPLATE" CLOB NOT NULL ENABLE, 
-	"ENABLED" NUMBER DEFAULT 1 NOT NULL ENABLE, 
-	 CONSTRAINT "NOTIF_PK" PRIMARY KEY ("ID") ENABLE, 
-	 CONSTRAINT "NOTIF_UNIQ" UNIQUE ("CODE") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"NOTIF_RESULT" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"NOTIF_ID" NUMBER NOT NULL ENABLE, 
-	"SUBJECT" VARCHAR2(255) NOT NULL ENABLE, 
-	"BODY" CLOB NOT NULL ENABLE, 
-	"SENT_ON" DATE NOT NULL ENABLE, 
-	"ERROR" CLOB, 
-	 CONSTRAINT "NOTIF_RESULT_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"ORIGINE_FINANCEMENT" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"LIBELLE_LONG" VARCHAR2(256) NOT NULL ENABLE, 
-	"SOURCE_ID" NUMBER, 
-	"LIBELLE_COURT" VARCHAR2(64), 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	 PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"PARAMETRE" 
-   (	"ID" VARCHAR2(256) NOT NULL ENABLE, 
-	"DESCRIPTION" VARCHAR2(256) NOT NULL ENABLE, 
-	"VALEUR" VARCHAR2(256) NOT NULL ENABLE, 
-	 CONSTRAINT "PARAMETRE_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"PRIVILEGE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CATEGORIE_ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(150 CHAR) NOT NULL ENABLE, 
-	"LIBELLE" VARCHAR2(200 CHAR) NOT NULL ENABLE, 
-	"ORDRE" NUMBER, 
-	 PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"PROFIL" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"LIBELLE" VARCHAR2(100) NOT NULL ENABLE, 
-	"ROLE_ID" VARCHAR2(100) NOT NULL ENABLE, 
-	"STRUCTURE_TYPE" NUMBER DEFAULT NULL, 
-	"DESCRIPTION" VARCHAR2(1024), 
-	 PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"PROFIL_PRIVILEGE" 
-   (	"PRIVILEGE_ID" NUMBER NOT NULL ENABLE, 
-	"PROFIL_ID" NUMBER, 
-	 CONSTRAINT "PROFIL_PRIVILEGE_PK" PRIMARY KEY ("PROFIL_ID", "PRIVILEGE_ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"PROFIL_TO_ROLE" 
-   (	"PROFIL_ID" NUMBER(*,0) NOT NULL ENABLE, 
-	"ROLE_ID" NUMBER(*,0) NOT NULL ENABLE, 
-	 CONSTRAINT "PROFIL_TO_ROLE_PK" PRIMARY KEY ("PROFIL_ID", "ROLE_ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"RDV_BU" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"THESE_ID" NUMBER NOT NULL ENABLE, 
-	"COORD_DOCTORANT" VARCHAR2(2000 CHAR), 
-	"DISPO_DOCTORANT" VARCHAR2(2000 CHAR), 
-	"MOTS_CLES_RAMEAU" VARCHAR2(1024 CHAR), 
-	"CONVENTION_MEL_SIGNEE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"EXEMPL_PAPIER_FOURNI" NUMBER(1,0) DEFAULT null, 
-	"VERSION_ARCHIVABLE_FOURNIE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"DIVERS" CLOB, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	 CONSTRAINT "RDV_BU_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"ROLE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(50 CHAR) NOT NULL ENABLE, 
-	"LIBELLE" VARCHAR2(200 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"ROLE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"IS_DEFAULT" NUMBER DEFAULT 0, 
-	"LDAP_FILTER" VARCHAR2(255 CHAR), 
-	"ATTRIB_AUTO" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"THESE_DEP" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"HISTO_DESTRUCTION" DATE, 
-	"STRUCTURE_ID" NUMBER, 
-	"TYPE_STRUCTURE_DEPENDANT_ID" NUMBER, 
-	"ORDRE_AFFICHAGE" VARCHAR2(32) DEFAULT 'zzz' NOT NULL ENABLE, 
-	 CONSTRAINT "ROLE_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"ROLE_PRIVILEGE" 
-   (	"ROLE_ID" NUMBER NOT NULL ENABLE, 
-	"PRIVILEGE_ID" NUMBER NOT NULL ENABLE, 
-	 CONSTRAINT "ROLE_PRIVILEGE_PK" PRIMARY KEY ("ROLE_ID", "PRIVILEGE_ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"SOURCE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"LIBELLE" VARCHAR2(128 CHAR) NOT NULL ENABLE, 
-	"IMPORTABLE" NUMBER(1,0) NOT NULL ENABLE, 
-	"ETABLISSEMENT_ID" NUMBER, 
-	 CONSTRAINT "SOURCE_PK" PRIMARY KEY ("ID") ENABLE, 
-	 CONSTRAINT "SOURCE_CODE_UN" UNIQUE ("CODE") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"STRUCTURE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"SIGLE" VARCHAR2(40 CHAR), 
-	"LIBELLE" VARCHAR2(300 CHAR) DEFAULT NULL NOT NULL ENABLE, 
-	"CHEMIN_LOGO" VARCHAR2(200 CHAR), 
-	"TYPE_STRUCTURE_ID" NUMBER, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"CODE" VARCHAR2(64) DEFAULT NULL NOT NULL ENABLE, 
-	"EST_FERME" NUMBER(1,0) DEFAULT 0, 
-	 CONSTRAINT "STRUCTURE_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"FROM_STRUCTURE_ID" NUMBER NOT NULL ENABLE, 
-	"TO_STRUCTURE_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_CREATEUR_ID" NUMBER, 
-	"HISTO_MODIFICATEUR_ID" NUMBER, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	 CONSTRAINT "STR_SUBSTIT_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"SYNCHRO_LOG" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"LOG_DATE" DATE DEFAULT sysdate NOT NULL ENABLE, 
-	"START_DATE" DATE NOT NULL ENABLE, 
-	"FINISH_DATE" DATE NOT NULL ENABLE, 
-	"STATUS" VARCHAR2(50) NOT NULL ENABLE, 
-	"SQL" CLOB NOT NULL ENABLE, 
-	"MESSAGE" CLOB, 
-	 CONSTRAINT "SYNCHRO_LOG_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"SYNC_LOG" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"DATE_SYNC" TIMESTAMP (6) NOT NULL ENABLE, 
-	"MESSAGE" CLOB NOT NULL ENABLE, 
-	"TABLE_NAME" VARCHAR2(30 CHAR), 
-	"SOURCE_CODE" VARCHAR2(200 CHAR), 
-	 CONSTRAINT "SYNC_LOG_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"THESE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"ETABLISSEMENT_ID" NUMBER DEFAULT 2, 
-	"DOCTORANT_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, 
-	"ECOLE_DOCT_ID" NUMBER, 
-	"UNITE_RECH_ID" NUMBER, 
-	"BESOIN_EXPURGE" NUMBER(1,0) DEFAULT 0 NOT NULL ENABLE, 
-	"COD_UNIT_RECH" VARCHAR2(50 CHAR), 
-	"CORREC_AUTORISEE" VARCHAR2(30 CHAR) DEFAULT NULL, 
-	"DATE_AUTORIS_SOUTENANCE" DATE, 
-	"DATE_FIN_CONFID" DATE, 
-	"DATE_PREM_INSC" DATE, 
-	"DATE_PREV_SOUTENANCE" DATE, 
-	"DATE_SOUTENANCE" DATE, 
-	"ETAT_THESE" VARCHAR2(20 CHAR), 
-	"LIB_DISC" VARCHAR2(200 CHAR), 
-	"LIB_ETAB_COTUT" VARCHAR2(60 CHAR), 
-	"LIB_PAYS_COTUT" VARCHAR2(40 CHAR), 
-	"LIB_UNIT_RECH" VARCHAR2(200 CHAR), 
-	"RESULTAT" NUMBER(1,0), 
-	"SOUTENANCE_AUTORIS" VARCHAR2(1 CHAR), 
-	"TEM_AVENANT_COTUT" VARCHAR2(1 CHAR), 
-	"TITRE" VARCHAR2(2048 CHAR), 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"HISTO_DESTRUCTION" DATE, 
-	"CORREC_AUTORISEE_FORCEE" VARCHAR2(30), 
-	"ANNEE_UNIV_1ERE_INSC" NUMBER(*,0), 
-	"DATE_ABANDON" DATE, 
-	"DATE_TRANSFERT" DATE, 
-	 CONSTRAINT "THESE_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"THESE_ID" NUMBER, 
-	"ANNEE_UNIV" NUMBER(*,0), 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"HISTO_DESTRUCTION" DATE, 
-	 CONSTRAINT "THESE_ANNEE_UNIV_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TITRE_ACCES" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"THESE_ID" NUMBER, 
-	"TITRE_ACCES_INTERNE_EXTERNE" VARCHAR2(1), 
-	"LIBELLE_TITRE_ACCES" VARCHAR2(200), 
-	"TYPE_ETB_TITRE_ACCES" VARCHAR2(50), 
-	"LIBELLE_ETB_TITRE_ACCES" VARCHAR2(200), 
-	"CODE_DEPT_TITRE_ACCES" VARCHAR2(20), 
-	"CODE_PAYS_TITRE_ACCES" VARCHAR2(20), 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"HISTO_DESTRUCTION" DATE, 
-	 CONSTRAINT "TITRE_ACCES_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_ACTEUR" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"INDIVIDU_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"THESE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"ROLE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"LIB_CPS" VARCHAR2(200 CHAR), 
-	"COD_CPS" VARCHAR2(50 CHAR), 
-	"COD_ROJ_COMPL" VARCHAR2(50 CHAR), 
-	"LIB_ROJ_COMPL" VARCHAR2(200 CHAR), 
-	"TEM_HAB_RCH_PER" VARCHAR2(1 CHAR), 
-	"TEM_RAP_RECU" VARCHAR2(1 CHAR), 
-	"ACTEUR_ETABLISSEMENT_ID" VARCHAR2(64 CHAR), 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_DOCTORANT" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"INDIVIDU_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"INE" VARCHAR2(64), 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_ECOLE_DOCT" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64) NOT NULL ENABLE, 
-	"STRUCTURE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_ETABLISSEMENT" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64) NOT NULL ENABLE, 
-	"STRUCTURE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_FINANCEMENT" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"THESE_ID" VARCHAR2(50) NOT NULL ENABLE, 
-	"ANNEE" VARCHAR2(50) NOT NULL ENABLE, 
-	"ORIGINE_FINANCEMENT_ID" VARCHAR2(50) NOT NULL ENABLE, 
-	"COMPLEMENT_FINANCEMENT" VARCHAR2(200), 
-	"QUOTITE_FINANCEMENT" VARCHAR2(50), 
-	"DATE_DEBUT_FINANCEMENT" DATE, 
-	"DATE_FIN_FINANCEMENT" DATE, 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_INDIVIDU" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"TYPE" VARCHAR2(32), 
-	"CIV" VARCHAR2(5), 
-	"LIB_NOM_USU_IND" VARCHAR2(60 CHAR) NOT NULL ENABLE, 
-	"LIB_NOM_PAT_IND" VARCHAR2(60 CHAR) NOT NULL ENABLE, 
-	"LIB_PR1_IND" VARCHAR2(60 CHAR) NOT NULL ENABLE, 
-	"LIB_PR2_IND" VARCHAR2(60 CHAR), 
-	"LIB_PR3_IND" VARCHAR2(60 CHAR), 
-	"EMAIL" VARCHAR2(255 CHAR), 
-	"DAT_NAI_PER" DATE, 
-	"LIB_NAT" VARCHAR2(128 CHAR), 
-	"SUPANN_ID" VARCHAR2(30), 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_ORIGINE_FINANCEMENT" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"COD_OFI" VARCHAR2(50) NOT NULL ENABLE, 
-	"LIC_OFI" VARCHAR2(50) NOT NULL ENABLE, 
-	"LIB_OFI" VARCHAR2(200) NOT NULL ENABLE, 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_ROLE" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"LIB_ROJ" VARCHAR2(200 CHAR), 
-	"LIC_ROJ" VARCHAR2(50 CHAR), 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_STRUCTURE" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"TYPE_STRUCTURE_ID" VARCHAR2(64) NOT NULL ENABLE, 
-	"SIGLE" VARCHAR2(64), 
-	"LIBELLE" VARCHAR2(200) NOT NULL ENABLE, 
-	"CODE_PAYS" VARCHAR2(64), 
-	"LIBELLE_PAYS" VARCHAR2(200), 
-	"CODE" VARCHAR2(64), 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_THESE" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"DOCTORANT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"ECOLE_DOCT_ID" VARCHAR2(64 CHAR), 
-	"UNITE_RECH_ID" VARCHAR2(64 CHAR), 
-	"CORRECTION_POSSIBLE" VARCHAR2(30 CHAR), 
-	"DAT_AUT_SOU_THS" DATE, 
-	"DAT_FIN_CFD_THS" DATE, 
-	"DAT_DEB_THS" DATE, 
-	"DAT_PREV_SOU" DATE, 
-	"DAT_SOU_THS" DATE, 
-	"ETA_THS" VARCHAR2(20 CHAR), 
-	"LIB_INT1_DIS" VARCHAR2(200 CHAR), 
-	"LIB_ETAB_COTUT" VARCHAR2(60 CHAR), 
-	"LIB_PAYS_COTUT" VARCHAR2(40 CHAR), 
-	"COD_NEG_TRE" VARCHAR2(1 CHAR), 
-	"TEM_SOU_AUT_THS" VARCHAR2(1 CHAR), 
-	"TEM_AVENANT_COTUT" VARCHAR2(1 CHAR), 
-	"LIB_THS" VARCHAR2(2048 CHAR), 
-	"ANNEE_UNIV_1ERE_INSC" NUMBER(*,0), 
-	"DAT_ABANDON" DATE, 
-	"DAT_TRANSFERT_DEP" DATE, 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_THESE_ANNEE_UNIV" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"THESE_ID" VARCHAR2(50) NOT NULL ENABLE, 
-	"ANNEE_UNIV" NUMBER(*,0), 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_TITRE_ACCES" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"THESE_ID" VARCHAR2(50) NOT NULL ENABLE, 
-	"TITRE_ACCES_INTERNE_EXTERNE" VARCHAR2(1), 
-	"LIBELLE_TITRE_ACCES" VARCHAR2(200), 
-	"TYPE_ETB_TITRE_ACCES" VARCHAR2(50), 
-	"LIBELLE_ETB_TITRE_ACCES" VARCHAR2(200), 
-	"CODE_DEPT_TITRE_ACCES" VARCHAR2(20), 
-	"CODE_PAYS_TITRE_ACCES" VARCHAR2(20), 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_UNITE_RECH" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64) NOT NULL ENABLE, 
-	"STRUCTURE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TMP_VARIABLE" 
-   (	"INSERT_DATE" DATE DEFAULT sysdate, 
-	"ID" VARCHAR2(64), 
-	"ETABLISSEMENT_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64) NOT NULL ENABLE, 
-	"COD_VAP" VARCHAR2(50 CHAR), 
-	"LIB_VAP" VARCHAR2(300 CHAR), 
-	"PAR_VAP" VARCHAR2(200 CHAR), 
-	"DATE_DEB_VALIDITE" DATE DEFAULT NULL NOT NULL ENABLE, 
-	"DATE_FIN_VALIDITE" DATE DEFAULT NULL NOT NULL ENABLE, 
-	"SOURCE_INSERT_DATE" DATE DEFAULT sysdate
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TYPE_STRUCTURE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(50 CHAR) NOT NULL ENABLE, 
-	"LIBELLE" VARCHAR2(100 CHAR), 
-	 CONSTRAINT "TYPE_STRUCTURE_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"TYPE_VALIDATION" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(50 CHAR) NOT NULL ENABLE, 
-	"LIBELLE" VARCHAR2(100 CHAR), 
-	 CONSTRAINT "TYPE_VALIDATION_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"UNITE_DOMAINE_LINKER" 
-   (	"UNITE_ID" NUMBER NOT NULL ENABLE, 
-	"DOMAINE_ID" NUMBER NOT NULL ENABLE, 
-	 CONSTRAINT "SYS_C0010859" PRIMARY KEY ("UNITE_ID", "DOMAINE_ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"UNITE_RECH" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"ETAB_SUPPORT" VARCHAR2(500 CHAR), 
-	"AUTRES_ETAB" VARCHAR2(500 CHAR), 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"STRUCTURE_ID" NUMBER NOT NULL ENABLE, 
-	"RNSR_ID" VARCHAR2(128), 
-	 CONSTRAINT "UNITE_RECH_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"UTILISATEUR" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"USERNAME" VARCHAR2(255 CHAR), 
-	"EMAIL" VARCHAR2(255 CHAR), 
-	"DISPLAY_NAME" VARCHAR2(100 CHAR), 
-	"PASSWORD" VARCHAR2(128 CHAR) NOT NULL ENABLE, 
-	"STATE" NUMBER DEFAULT 1 NOT NULL ENABLE, 
-	"LAST_ROLE_ID" NUMBER, 
-	"INDIVIDU_ID" NUMBER, 
-	"PASSWORD_RESET_TOKEN" VARCHAR2(256) DEFAULT null, 
-	 CONSTRAINT "UTILISATEUR_PK" PRIMARY KEY ("ID") ENABLE, 
-	 CONSTRAINT "UTILISATEUR_USERNAME_UN" UNIQUE ("USERNAME") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"VALIDATION" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"TYPE_VALIDATION_ID" NUMBER NOT NULL ENABLE, 
-	"THESE_ID" NUMBER NOT NULL ENABLE, 
-	"INDIVIDU_ID" NUMBER DEFAULT NULL, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER DEFAULT 1 NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER DEFAULT 1 NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	 CONSTRAINT "VALIDATION_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"VALIDITE_FICHIER" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"FICHIER_ID" NUMBER NOT NULL ENABLE, 
-	"EST_VALIDE" VARCHAR2(1 CHAR) DEFAULT NULL, 
-	"MESSAGE" CLOB DEFAULT NULL, 
-	"LOG" CLOB, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	 CONSTRAINT "VALIDITE_FICHIER_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"VARIABLE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"ETABLISSEMENT_ID" NUMBER DEFAULT NULL NOT NULL ENABLE, 
-	"DESCRIPTION" VARCHAR2(300 CHAR) NOT NULL ENABLE, 
-	"VALEUR" VARCHAR2(200 CHAR) NOT NULL ENABLE, 
-	"SOURCE_CODE" VARCHAR2(64 CHAR) NOT NULL ENABLE, 
-	"SOURCE_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_CREATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"HISTO_DESTRUCTEUR_ID" NUMBER, 
-	"HISTO_DESTRUCTION" DATE, 
-	"HISTO_MODIFICATEUR_ID" NUMBER NOT NULL ENABLE, 
-	"HISTO_MODIFICATION" DATE DEFAULT SYSDATE NOT NULL ENABLE, 
-	"DATE_DEB_VALIDITE" DATE DEFAULT sysdate NOT NULL ENABLE, 
-	"DATE_FIN_VALIDITE" DATE DEFAULT to_date('9999-12-31', 'YYYY-MM-DD') NOT NULL ENABLE, 
-	"CODE" VARCHAR2(64), 
-	 CONSTRAINT "VARIABLE_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"VERSION_FICHIER" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(16 CHAR) NOT NULL ENABLE, 
-	"LIBELLE" VARCHAR2(128 CHAR) NOT NULL ENABLE, 
-	 CONSTRAINT "VERSION_FICHIER_PK" PRIMARY KEY ("ID") ENABLE
-   ) ;
-  CREATE TABLE /*"SYGAL".*/"WF_ETAPE" 
-   (	"ID" NUMBER NOT NULL ENABLE, 
-	"CODE" VARCHAR2(128 CHAR) NOT NULL ENABLE, 
-	"ORDRE" NUMBER DEFAULT 1 NOT NULL ENABLE, 
-	"CHEMIN" NUMBER DEFAULT 1 NOT NULL ENABLE, 
-	"OBLIGATOIRE" NUMBER(1,0) DEFAULT 1 NOT NULL ENABLE, 
-	"ROUTE" VARCHAR2(200 CHAR) NOT NULL ENABLE, 
-	"LIBELLE_ACTEUR" VARCHAR2(150 CHAR) NOT NULL ENABLE, 
-	"LIBELLE_AUTRES" VARCHAR2(150 CHAR) NOT NULL ENABLE, 
-	"DESC_NON_FRANCHIE" VARCHAR2(250 CHAR) NOT NULL ENABLE, 
-	"DESC_SANS_OBJECTIF" VARCHAR2(250 CHAR),
-	 CONSTRAINT "WF_ETAPE_PK" PRIMARY KEY ("ID") ENABLE, 
-	 CONSTRAINT "WF_ETAPE_CODE_UN" UNIQUE ("CODE") ENABLE, 
-	 CONSTRAINT "WF_ETAPE_ORDRE_UN" UNIQUE ("ORDRE") ENABLE
-   ) ;
-  CREATE INDEX /*"SYGAL".*/"ACTEUR_ACTEUR_ETAB_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("ACTEUR_ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ACTEUR_DOCTORANT_ID_IDX" ON /*"SYGAL".*/"THESE" ("DOCTORANT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ACTEUR_ECOLE_DOCT_ID_IDX" ON /*"SYGAL".*/"THESE" ("ECOLE_DOCT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ACTEUR_ETABLISSEMENT_ID_IDX" ON /*"SYGAL".*/"THESE" ("ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ACTEUR_HISTO_DESTRUCT_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ACTEUR_HISTO_MODIF_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ACTEUR_INDIVIDU_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("INDIVIDU_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ACTEUR_ROLE_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("ROLE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"ACTEUR_SOURCE_CODE_UNIQ" ON /*"SYGAL".*/"ACTEUR" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ACTEUR_SOURCE_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("SOURCE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ACTEUR_THESE_ID_IDX" ON /*"SYGAL".*/"ACTEUR" ("THESE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ACTEUR_UNITE_RECH_ID_IDX" ON /*"SYGAL".*/"THESE" ("UNITE_RECH_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ATTESTATION_HC_IDX" ON /*"SYGAL".*/"ATTESTATION" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ATTESTATION_HD_IDX" ON /*"SYGAL".*/"ATTESTATION" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ATTESTATION_HM_IDX" ON /*"SYGAL".*/"ATTESTATION" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ATTESTATION_THESE_IDX" ON /*"SYGAL".*/"ATTESTATION" ("THESE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"CATEGORIE_PRIVILEGE_UNIQUE" ON /*"SYGAL".*/"CATEGORIE_PRIVILEGE" ("CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DIFFUSION_HC_IDX" ON /*"SYGAL".*/"DIFFUSION" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DIFFUSION_HD_IDX" ON /*"SYGAL".*/"DIFFUSION" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DIFFUSION_HM_IDX" ON /*"SYGAL".*/"DIFFUSION" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DIFFUSION_THESE_IDX" ON /*"SYGAL".*/"DIFFUSION" ("THESE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DOCTORANT_COMPL_DOCTORANT_IDX" ON /*"SYGAL".*/"DOCTORANT_COMPL" ("DOCTORANT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DOCTORANT_COMPL_HC_IDX" ON /*"SYGAL".*/"DOCTORANT_COMPL" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DOCTORANT_COMPL_HD_IDX" ON /*"SYGAL".*/"DOCTORANT_COMPL" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DOCTORANT_COMPL_HM_IDX" ON /*"SYGAL".*/"DOCTORANT_COMPL" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"DOCTORANT_COMPL_UN" ON /*"SYGAL".*/"DOCTORANT_COMPL" ("PERSOPASS", "HISTO_DESTRUCTION") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DOCTORANT_ETABLISSEMENT_IDX" ON /*"SYGAL".*/"DOCTORANT" ("ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DOCTORANT_HCFK_IDX" ON /*"SYGAL".*/"DOCTORANT" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DOCTORANT_HDFK_IDX" ON /*"SYGAL".*/"DOCTORANT" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DOCTORANT_HMFK_IDX" ON /*"SYGAL".*/"DOCTORANT" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DOCTORANT_INDIVIDU_IDX" ON /*"SYGAL".*/"DOCTORANT" ("INDIVIDU_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"DOCTORANT_SOURCE_CODE_UNIQ" ON /*"SYGAL".*/"DOCTORANT" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"DOCTORANT_SRC_ID_INDEX" ON /*"SYGAL".*/"DOCTORANT" ("SOURCE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ECOLE_DOCT_HC_IDX" ON /*"SYGAL".*/"ECOLE_DOCT" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ECOLE_DOCT_HD_IDX" ON /*"SYGAL".*/"ECOLE_DOCT" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ECOLE_DOCT_HM_IDX" ON /*"SYGAL".*/"ECOLE_DOCT" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"ECOLE_DOCT_SOURCE_CODE_UN" ON /*"SYGAL".*/"ECOLE_DOCT" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ECOLE_DOCT_SOURCE_IDX" ON /*"SYGAL".*/"ECOLE_DOCT" ("SOURCE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ECOLE_DOCT_STRUCT_ID_IDX" ON /*"SYGAL".*/"ECOLE_DOCT" ("STRUCTURE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"ETABLISSEMENT_DOMAINE_UINDEX" ON /*"SYGAL".*/"ETABLISSEMENT" ("DOMAINE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ETABLISSEMENT_STRUCT_ID_IDX" ON /*"SYGAL".*/"ETABLISSEMENT" ("STRUCTURE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"FICHIER_HCFK_IDX" ON /*"SYGAL".*/"FICHIER" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"FICHIER_HDFK_IDX" ON /*"SYGAL".*/"FICHIER" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"FICHIER_HMFK_IDX" ON /*"SYGAL".*/"FICHIER" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"FICHIER_NATURE_ID_INDEX" ON /*"SYGAL".*/"FICHIER" ("NATURE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"FICHIER_THESE_FICH_ID_IDX" ON /*"SYGAL".*/"FICHIER_THESE" ("FICHIER_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"FICHIER_THESE_THESE_ID_IDX" ON /*"SYGAL".*/"FICHIER_THESE" ("THESE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"FICHIER_UUID_UN" ON /*"SYGAL".*/"FICHIER" ("UUID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"FICHIER_VERSION_FK_IDX" ON /*"SYGAL".*/"FICHIER" ("VERSION_FICHIER_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"FINANCEMENT_SOURCE_CODE_UN" ON /*"SYGAL".*/"FINANCEMENT" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"IMPORT_OBSERV_RESULT_IO_IDX" ON /*"SYGAL".*/"IMPORT_OBSERV_RESULT" ("IMPORT_OBSERV_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"IMPORT_OBS_NOTIF_IOR_IDX" ON /*"SYGAL".*/"IMPORT_OBS_RESULT_NOTIF" ("IMPORT_OBSERV_RESULT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"IMPORT_OBS_NOTIF_IO_IDX" ON /*"SYGAL".*/"IMPORT_OBS_NOTIF" ("IMPORT_OBSERV_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"IMPORT_OBS_NOTIF_NR_IDX" ON /*"SYGAL".*/"IMPORT_OBS_RESULT_NOTIF" ("NOTIF_RESULT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"IMPORT_OBS_NOTIF_N_IDX" ON /*"SYGAL".*/"IMPORT_OBS_NOTIF" ("NOTIF_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"INDIVIDU_HCFK_IDX" ON /*"SYGAL".*/"INDIVIDU" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"INDIVIDU_HDFK_IDX" ON /*"SYGAL".*/"INDIVIDU" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"INDIVIDU_HMFK_IDX" ON /*"SYGAL".*/"INDIVIDU" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"INDIVIDU_ROLE_INDIVIDU_IDX" ON /*"SYGAL".*/"INDIVIDU_ROLE" ("INDIVIDU_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"INDIVIDU_ROLE_ROLE_IDX" ON /*"SYGAL".*/"INDIVIDU_ROLE" ("ROLE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"INDIVIDU_ROLE_UNIQUE" ON /*"SYGAL".*/"INDIVIDU_ROLE" ("INDIVIDU_ID", "ROLE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"INDIVIDU_SOURCE_CODE_UNIQ" ON /*"SYGAL".*/"INDIVIDU" ("SOURCE_CODE", "HISTO_DESTRUCTION") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"INDIVIDU_SRC_ID_INDEX" ON /*"SYGAL".*/"INDIVIDU" ("SOURCE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"MAIL_CONFIRMATION_CODE_UINDEX" ON /*"SYGAL".*/"MAIL_CONFIRMATION" ("CODE")
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"METADONNEE_THESE_UNIQ" ON /*"SYGAL".*/"METADONNEE_THESE" ("THESE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"NOTIF_RESULT_NOTIF_IDX" ON /*"SYGAL".*/"NOTIF_RESULT" ("NOTIF_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"ORIGINE_FIN_SOURCE_CODE_UN" ON /*"SYGAL".*/"ORIGINE_FINANCEMENT" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"PRIVILEGE_CATEG_IDX" ON /*"SYGAL".*/"PRIVILEGE" ("CATEGORIE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"PRIVILEGE_UNIQUE" ON /*"SYGAL".*/"PRIVILEGE" ("CATEGORIE_ID", "CODE") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"PROFIL_ROLE_ID_UINDEX" ON /*"SYGAL".*/"PROFIL" ("ROLE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"RDV_BU_HC_IDX" ON /*"SYGAL".*/"RDV_BU" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"RDV_BU_HD_IDX" ON /*"SYGAL".*/"RDV_BU" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"RDV_BU_HM_IDX" ON /*"SYGAL".*/"RDV_BU" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"RDV_BU_THESE_IDX" ON /*"SYGAL".*/"RDV_BU" ("THESE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ROLE_PRIVILEGE_PRIVILEGE_IDX" ON /*"SYGAL".*/"ROLE_PRIVILEGE" ("PRIVILEGE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ROLE_PRIVILEGE_ROLE_IDX" ON /*"SYGAL".*/"ROLE_PRIVILEGE" ("ROLE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"ROLE_SOURCE_CODE_UN" ON /*"SYGAL".*/"ROLE" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ROLE_STRUCTURE_ID_IDX" ON /*"SYGAL".*/"ROLE" ("STRUCTURE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"ROLE_TYPE_STRUCTURE_ID_IDX" ON /*"SYGAL".*/"ROLE" ("TYPE_STRUCTURE_DEPENDANT_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"SOURCE_CODE_UNIQUE" ON /*"SYGAL".*/"ETABLISSEMENT" ("SOURCE_CODE") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"STRUCTURE_SOURCE_CODE_UN" ON /*"SYGAL".*/"STRUCTURE" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"STRUCTURE_TYPE_STR_ID_IDX" ON /*"SYGAL".*/"STRUCTURE" ("TYPE_STRUCTURE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"STR_SUBSTIT_STR_TO_IDX" ON /*"SYGAL".*/"STRUCTURE_SUBSTIT" ("TO_STRUCTURE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"STR_SUBSTIT_UNIQUE" ON /*"SYGAL".*/"STRUCTURE_SUBSTIT" ("FROM_STRUCTURE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"THESE_ANNEE_UNIV_THESE_ID_IDX" ON /*"SYGAL".*/"THESE_ANNEE_UNIV" ("THESE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"THESE_AN_UNIV_SOURCE_CODE_UN" ON /*"SYGAL".*/"THESE_ANNEE_UNIV" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"THESE_ETAT_INDEX" ON /*"SYGAL".*/"THESE" ("ETAT_THESE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"THESE_HCFK_IDX" ON /*"SYGAL".*/"THESE" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"THESE_HDFK_IDX" ON /*"SYGAL".*/"THESE" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"THESE_HMFK_IDX" ON /*"SYGAL".*/"THESE" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"THESE_SOURCE_CODE_UNIQ" ON /*"SYGAL".*/"THESE" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"THESE_SRC_ID_INDEX" ON /*"SYGAL".*/"THESE" ("SOURCE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"THESE_TITRE_INDEX" ON /*"SYGAL".*/"THESE" ("TITRE") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TITRE_ACCES_SOURCE_CODE_UN" ON /*"SYGAL".*/"TITRE_ACCES" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TITRE_ACCES_THESE_ID_IDX" ON /*"SYGAL".*/"TITRE_ACCES" ("THESE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_ACTEUR_SOURCE_CODE_INDEX" ON /*"SYGAL".*/"TMP_ACTEUR" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_ACTEUR_SOURCE_ID_INDEX" ON /*"SYGAL".*/"TMP_ACTEUR" ("SOURCE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_ACTEUR_UNIQ" ON /*"SYGAL".*/"TMP_ACTEUR" ("ID", "ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_DOCTORANT_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_DOCTORANT" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_DOCTORANT_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_DOCTORANT" ("SOURCE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_DOCTORANT_UNIQ" ON /*"SYGAL".*/"TMP_DOCTORANT" ("ID", "ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_ECOLE_DOCT_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_ECOLE_DOCT" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_ECOLE_DOCT_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_ECOLE_DOCT" ("SOURCE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_ECOLE_DOCT_STRUCT_ID_IDX" ON /*"SYGAL".*/"TMP_ECOLE_DOCT" ("STRUCTURE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_ECOLE_DOCT_UNIQ" ON /*"SYGAL".*/"TMP_ECOLE_DOCT" ("ID", "STRUCTURE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_ETAB_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_ETABLISSEMENT" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_ETAB_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_ETABLISSEMENT" ("SOURCE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_ETAB_STRUCT_ID_IDX" ON /*"SYGAL".*/"TMP_ETABLISSEMENT" ("STRUCTURE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_ETAB_UNIQ" ON /*"SYGAL".*/"TMP_ETABLISSEMENT" ("ID", "STRUCTURE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_FINANCEMENT_UNIQ" ON /*"SYGAL".*/"TMP_FINANCEMENT" ("ID", "ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_INDIVIDU_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_INDIVIDU" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_INDIVIDU_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_INDIVIDU" ("SOURCE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_INDIVIDU_UNIQ" ON /*"SYGAL".*/"TMP_INDIVIDU" ("ID", "ETABLISSEMENT_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_ORIGINE_FINANCEMENT_UNIQ" ON /*"SYGAL".*/"TMP_ORIGINE_FINANCEMENT" ("ID", "ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_ROLE_SOURCE_CODE_INDEX" ON /*"SYGAL".*/"TMP_ROLE" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_ROLE_SOURCE_ID_INDEX" ON /*"SYGAL".*/"TMP_ROLE" ("SOURCE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_ROLE_UNIQ" ON /*"SYGAL".*/"TMP_ROLE" ("ID", "ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_STRUCTURE_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_STRUCTURE" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_STRUCTURE_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_STRUCTURE" ("SOURCE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_STRUCTURE_TYPE_ID_IDX" ON /*"SYGAL".*/"TMP_STRUCTURE" ("TYPE_STRUCTURE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_THESE_ANNEE_U_SRC_COD_IDX" ON /*"SYGAL".*/"TMP_THESE_ANNEE_UNIV" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_THESE_ANNEE_U_SRC_ID_IDX" ON /*"SYGAL".*/"TMP_THESE_ANNEE_UNIV" ("SOURCE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_THESE_ANNEE_U_UNIQ" ON /*"SYGAL".*/"TMP_THESE_ANNEE_UNIV" ("ID", "ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_THESE_SOURCE_CODE_INDEX" ON /*"SYGAL".*/"TMP_THESE" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_THESE_SOURCE_ID_INDEX" ON /*"SYGAL".*/"TMP_THESE" ("SOURCE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_THESE_UNIQ" ON /*"SYGAL".*/"TMP_THESE" ("ID", "ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_TITRE_ACCES_SOURCE_COD_IDX" ON /*"SYGAL".*/"TMP_TITRE_ACCES" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_TITRE_ACCES_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_TITRE_ACCES" ("SOURCE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_TITRE_ACCES_UNIQ" ON /*"SYGAL".*/"TMP_TITRE_ACCES" ("ID", "ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_UNITE_RECH_SOURCE_CODE_IDX" ON /*"SYGAL".*/"TMP_UNITE_RECH" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_UNITE_RECH_SOURCE_ID_IDX" ON /*"SYGAL".*/"TMP_UNITE_RECH" ("SOURCE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_UNITE_RECH_STRUCT_ID_IDX" ON /*"SYGAL".*/"TMP_UNITE_RECH" ("STRUCTURE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_UNITE_RECH_UNIQ" ON /*"SYGAL".*/"TMP_UNITE_RECH" ("ID", "STRUCTURE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_VARIABLE_SOURCE_CODE_INDEX" ON /*"SYGAL".*/"TMP_VARIABLE" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"TMP_VARIABLE_SOURCE_ID_INDEX" ON /*"SYGAL".*/"TMP_VARIABLE" ("SOURCE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TMP_VARIABLE_UNIQ" ON /*"SYGAL".*/"TMP_VARIABLE" ("ID", "ETABLISSEMENT_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TYPE_STRUCTURE_UN" ON /*"SYGAL".*/"TYPE_STRUCTURE" ("CODE") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"TYPE_VALIDATION_UN" ON /*"SYGAL".*/"TYPE_VALIDATION" ("CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"UNITE_RECH_HC_IDX" ON /*"SYGAL".*/"UNITE_RECH" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"UNITE_RECH_HD_IDX" ON /*"SYGAL".*/"UNITE_RECH" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"UNITE_RECH_HM_IDX" ON /*"SYGAL".*/"UNITE_RECH" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"UNITE_RECH_SOURCE_CODE_UN" ON /*"SYGAL".*/"UNITE_RECH" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"UNITE_RECH_SOURCE_IDX" ON /*"SYGAL".*/"UNITE_RECH" ("SOURCE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"UNITE_RECH_STRUCT_ID_IDX" ON /*"SYGAL".*/"UNITE_RECH" ("STRUCTURE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"UTILIS_PASSWORD_RESET_TOKEN_UN" ON /*"SYGAL".*/"UTILISATEUR" ("PASSWORD_RESET_TOKEN") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VALIDATION_HCFK_IDX" ON /*"SYGAL".*/"VALIDATION" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VALIDATION_HDFK_IDX" ON /*"SYGAL".*/"VALIDATION" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VALIDATION_HMFK_IDX" ON /*"SYGAL".*/"VALIDATION" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VALIDATION_INDIVIDU_IDX" ON /*"SYGAL".*/"VALIDATION" ("INDIVIDU_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VALIDATION_THESE_IDX" ON /*"SYGAL".*/"VALIDATION" ("THESE_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VALIDATION_TYPE_IDX" ON /*"SYGAL".*/"VALIDATION" ("TYPE_VALIDATION_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"VALIDATION_UN" ON /*"SYGAL".*/"VALIDATION" ("TYPE_VALIDATION_ID", "THESE_ID", "HISTO_DESTRUCTION", "INDIVIDU_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VALIDITE_FICHIER_FICHIER_IDX" ON /*"SYGAL".*/"VALIDITE_FICHIER" ("FICHIER_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VALIDITE_FICHIER_HCFK_IDX" ON /*"SYGAL".*/"VALIDITE_FICHIER" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VALIDITE_FICHIER_HDFK_IDX" ON /*"SYGAL".*/"VALIDITE_FICHIER" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VALIDITE_FICHIER_HMFK_IDX" ON /*"SYGAL".*/"VALIDITE_FICHIER" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"VARIABLE_CODE_UNIQ" ON /*"SYGAL".*/"VARIABLE" ("CODE", "ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VARIABLE_ETABLISSEMENT_IDX" ON /*"SYGAL".*/"VARIABLE" ("ETABLISSEMENT_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VARIABLE_HC_IDX" ON /*"SYGAL".*/"VARIABLE" ("HISTO_CREATEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VARIABLE_HD_IDX" ON /*"SYGAL".*/"VARIABLE" ("HISTO_DESTRUCTEUR_ID") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VARIABLE_HM_IDX" ON /*"SYGAL".*/"VARIABLE" ("HISTO_MODIFICATEUR_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"VARIABLE_SOURCE_CODE_UNIQ" ON /*"SYGAL".*/"VARIABLE" ("SOURCE_CODE") 
-  ;
-  CREATE INDEX /*"SYGAL".*/"VARIABLE_SOURCE_IDX" ON /*"SYGAL".*/"VARIABLE" ("SOURCE_ID") 
-  ;
-  CREATE UNIQUE INDEX /*"SYGAL".*/"VERSION_FICHIER_UNIQ_CODE" ON /*"SYGAL".*/"VERSION_FICHIER" ("CODE") 
-  ;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_ACTEUR" ("ID", "SOURCE_CODE", "SOURCE_ID", "INDIVIDU_ID", "THESE_ID", "ROLE_ID", "ACTEUR_ETABLISSEMENT_ID", "QUALITE", "LIB_ROLE_COMPL") AS 
-  SELECT
-  NULL                                     AS id,
-  tmp.SOURCE_CODE,
-  src.ID                                   AS SOURCE_ID,
-  i.id                                     AS INDIVIDU_ID,
-  t.id                                     AS THESE_ID,
-  r.id                                     AS ROLE_ID,
-  coalesce(etab_substit.id, eact.id)       AS ACTEUR_ETABLISSEMENT_ID,
-  tmp.LIB_CPS                              AS QUALITE,
-  tmp.LIB_ROJ_COMPL                        AS LIB_ROLE_COMPL
-FROM TMP_ACTEUR tmp
-       JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID
-       JOIN INDIVIDU i ON i.SOURCE_CODE = tmp.INDIVIDU_ID
-       JOIN THESE t ON t.SOURCE_CODE = tmp.THESE_ID
-       JOIN ROLE r ON r.SOURCE_CODE = tmp.ROLE_ID
-       LEFT JOIN ETABLISSEMENT eact ON eact.SOURCE_CODE = tmp.ACTEUR_ETABLISSEMENT_ID
-       LEFT JOIN STRUCTURE_SUBSTIT ss_ed on ss_ed.FROM_STRUCTURE_ID = eact.STRUCTURE_ID
-       LEFT JOIN ETABLISSEMENT etab_substit on etab_substit.STRUCTURE_ID = ss_ed.TO_STRUCTURE_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_DOCTORANT" ("ID", "SOURCE_CODE", "INE", "SOURCE_ID", "INDIVIDU_ID", "ETABLISSEMENT_ID") AS 
-  SELECT
-    NULL                                     AS id,
-    tmp.SOURCE_CODE,
-    tmp.INE,
-    src.id                                   AS source_id,
-    i.id                                     AS individu_id,
-    e.id                                     AS etablissement_id
-FROM TMP_DOCTORANT tmp
-         JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID
-         JOIN ETABLISSEMENT e ON e.STRUCTURE_ID = s.ID
-         JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID
-         JOIN INDIVIDU i ON i.SOURCE_CODE = tmp.INDIVIDU_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_ECOLE_DOCT" ("ID", "SOURCE_CODE", "SOURCE_ID", "STRUCTURE_ID") AS 
-  SELECT
-  NULL              AS id,
-  tmp.SOURCE_CODE   as SOURCE_CODE,
-  src.id            AS SOURCE_ID,
-  s.ID              as STRUCTURE_ID
-FROM TMP_ECOLE_DOCT tmp
-       JOIN STRUCTURE s on s.SOURCE_CODE = tmp.STRUCTURE_ID
-       JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_ETABLISSEMENT" ("ID", "SOURCE_CODE", "SOURCE_ID", "STRUCTURE_ID") AS 
-  SELECT
-  NULL              AS id,
-  tmp.SOURCE_CODE   as SOURCE_CODE,
-  src.id            AS SOURCE_ID,
-  s.ID              as STRUCTURE_ID
-FROM TMP_ETABLISSEMENT tmp
-       JOIN STRUCTURE s on s.SOURCE_CODE = tmp.STRUCTURE_ID
-       JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_FINANCEMENT" ("ID", "SOURCE_CODE", "SOURCE_ID", "THESE_ID", "ANNEE", "ORIGINE_FINANCEMENT_ID", "COMPLEMENT_FINANCEMENT", "QUOTITE_FINANCEMENT", "DATE_DEBUT", "DATE_FIN") AS 
-  SELECT
-    NULL                  AS id,
-    tmp.SOURCE_CODE       AS SOURCE_CODE,
-    src.ID                AS source_id,
-    --e.id                  AS etablissement_id,
-    t.id                  AS THESE_ID,
-    to_number(tmp.ANNEE)  AS ANNEE,
-    ofi.id                AS ORIGINE_FINANCEMENT_ID,
-    tmp.COMPLEMENT_FINANCEMENT,
-    tmp.QUOTITE_FINANCEMENT,
-    tmp.DATE_DEBUT_FINANCEMENT as DATE_DEBUT,
-    tmp.DATE_FIN_FINANCEMENT as DATE_FIN
-FROM TMP_FINANCEMENT tmp
-         JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID
-         JOIN THESE t on t.SOURCE_CODE = tmp.THESE_ID
-         JOIN ORIGINE_FINANCEMENT ofi on ofi.SOURCE_CODE = tmp.ORIGINE_FINANCEMENT_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_INDIVIDU" ("ID", "SOURCE_CODE", "SOURCE_ID", "TYPE", "SUPANN_ID", "CIVILITE", "NOM_USUEL", "NOM_PATRONYMIQUE", "PRENOM1", "PRENOM2", "PRENOM3", "EMAIL", "DATE_NAISSANCE", "NATIONALITE") AS 
-  SELECT
-  NULL                                     AS id,
-  tmp.SOURCE_CODE,
-  src.id                                   AS SOURCE_ID,
-  TYPE,
-  SUPANN_ID,
-  civ                                      AS CIVILITE,
-  lib_nom_usu_ind                          AS NOM_USUEL,
-  lib_nom_pat_ind                          AS NOM_PATRONYMIQUE,
-  lib_pr1_ind                              AS PRENOM1,
-  lib_pr2_ind                              AS PRENOM2,
-  lib_pr3_ind                              AS PRENOM3,
-  EMAIL,
-  dat_nai_per                              AS DATE_NAISSANCE,
-  lib_nat                                  AS NATIONALITE
-FROM TMP_INDIVIDU tmp
-       JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_ROLE" ("ID", "SOURCE_CODE", "SOURCE_ID", "LIBELLE", "CODE", "ROLE_ID", "THESE_DEP", "STRUCTURE_ID", "TYPE_STRUCTURE_DEPENDANT_ID") AS 
-  SELECT
-  NULL                       AS id,
-  tmp.SOURCE_CODE            AS SOURCE_CODE,
-  src.ID                     AS source_id,
-  --e.id                       AS etablissement_id,
-  tmp.LIB_ROJ                AS libelle,
-  to_char(tmp.id)            AS code,
-  tmp.LIB_ROJ||' '||s.CODE   AS role_id,
-  1                          AS these_dep,
-  s.ID                       AS STRUCTURE_ID,
-  NULL                       AS TYPE_STRUCTURE_DEPENDANT_ID
-FROM TMP_ROLE tmp
-       JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID
-       JOIN ETABLISSEMENT e ON e.STRUCTURE_ID = s.ID
-       JOIN STRUCTURE s ON s.id = e.STRUCTURE_ID
-       JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_STRUCTURE" ("ID", "SOURCE_CODE", "CODE", "SOURCE_ID", "TYPE_STRUCTURE_ID", "SIGLE", "LIBELLE", "CODE_PAYS", "LIBELLE_PAYS") AS 
-  SELECT
-  NULL              AS id,
-  tmp.SOURCE_CODE   as SOURCE_CODE,
-  tmp.id            as CODE,
-  src.id            AS SOURCE_ID,
-  ts.id             as TYPE_STRUCTURE_ID,
-  tmp.SIGLE,
-  tmp.LIBELLE,
-  tmp.CODE_PAYS,
-  tmp.LIBELLE_PAYS
-FROM TMP_STRUCTURE tmp
-       JOIN TYPE_STRUCTURE ts on ts.CODE = tmp.TYPE_STRUCTURE_ID
-       JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_THESE" ("ID", "SOURCE_CODE", "SOURCE_ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "ECOLE_DOCT_ID_ORIG", "UNITE_RECH_ID_ORIG", "TITRE", "ETAT_THESE", "RESULTAT", "LIB_DISC", "DATE_PREM_INSC", "ANNEE_UNIV_1ERE_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "DATE_FIN_CONFID", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "CORREC_AUTORISEE", "SOUTENANCE_AUTORIS", "DATE_AUTORIS_SOUTENANCE", "TEM_AVENANT_COTUT", "DATE_ABANDON", "DATE_TRANSFERT") AS 
-  select
-    null                            as id,
-    tmp.source_code                 as source_code,
-    src.id                          as source_id,
-    e.id                            as etablissement_id,
-    d.id                            as doctorant_id,
-    coalesce(ed_substit.id, ed.id)  as ecole_doct_id,
-    coalesce(ur_substit.id, ur.id)  as unite_rech_id,
-    ed.id                           as ecole_doct_id_orig,
-    ur.id                           as unite_rech_id_orig,
-    tmp.lib_ths                     as titre,
-    tmp.eta_ths                     as etat_these,
-    to_number(tmp.cod_neg_tre)      as resultat,
-    tmp.lib_int1_dis                as lib_disc,
-    tmp.dat_deb_ths                 as date_prem_insc,
-    tmp.ANNEE_UNIV_1ERE_INSC        as annee_univ_1ere_insc, -- deprecated
-    tmp.dat_prev_sou                as date_prev_soutenance,
-    tmp.dat_sou_ths                 as date_soutenance,
-    tmp.dat_fin_cfd_ths             as date_fin_confid,
-    tmp.lib_etab_cotut              as lib_etab_cotut,
-    tmp.lib_pays_cotut              as lib_pays_cotut,
-    tmp.correction_possible         as correc_autorisee,
-    tem_sou_aut_ths                 as soutenance_autoris,
-    dat_aut_sou_ths                 as date_autoris_soutenance,
-    tem_avenant_cotut               as tem_avenant_cotut,
-    dat_abandon                     as date_abandon,
-    dat_transfert_dep               as date_transfert
-from tmp_these tmp
-         JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID
-         join etablissement e on e.structure_id = s.id
-         join source src on src.code = tmp.source_id
-         join doctorant d on d.source_code = tmp.doctorant_id
-         left join ecole_doct ed on ed.source_code = tmp.ecole_doct_id
-         left join unite_rech ur on ur.source_code = tmp.unite_rech_id
-         left join structure_substit ss_ed on ss_ed.from_structure_id = ed.structure_id
-         left join ecole_doct ed_substit on ed_substit.structure_id = ss_ed.to_structure_id
-         left join structure_substit ss_ur on ss_ur.from_structure_id = ur.structure_id
-         left join unite_rech ur_substit on ur_substit.structure_id = ss_ur.to_structure_id;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_THESE_ANNEE_UNIV" ("ID", "SOURCE_CODE", "SOURCE_ID", "THESE_ID", "ANNEE_UNIV") AS 
-  SELECT
-  NULL                 AS id,
-  tmp.SOURCE_CODE   AS SOURCE_CODE,
-  src.ID            AS source_id,
-  --e.id              AS etablissement_id,
-  t.id              AS these_id,
-  tmp.ANNEE_UNIV
-FROM TMP_THESE_ANNEE_UNIV tmp
-       JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID
-       JOIN ETABLISSEMENT e ON e.STRUCTURE_ID = s.ID
-       JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID
-       JOIN THESE t ON t.SOURCE_CODE = tmp.THESE_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_TITRE_ACCES" ("ID", "SOURCE_CODE", "SOURCE_ID", "THESE_ID", "TITRE_ACCES_INTERNE_EXTERNE", "LIBELLE_TITRE_ACCES", "TYPE_ETB_TITRE_ACCES", "LIBELLE_ETB_TITRE_ACCES", "CODE_DEPT_TITRE_ACCES", "CODE_PAYS_TITRE_ACCES") AS 
-  SELECT
-  NULL                 AS id,
-  tmp.SOURCE_CODE   AS SOURCE_CODE,
-  src.ID            AS source_id,
-  --e.id              AS etablissement_id,
-  t.id              AS these_id,
-  tmp.TITRE_ACCES_INTERNE_EXTERNE,
-  tmp.LIBELLE_TITRE_ACCES,
-  tmp.TYPE_ETB_TITRE_ACCES,
-  tmp.LIBELLE_ETB_TITRE_ACCES,
-  tmp.CODE_DEPT_TITRE_ACCES,
-  tmp.CODE_PAYS_TITRE_ACCES
-FROM TMP_TITRE_ACCES tmp
-       JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID
-       JOIN ETABLISSEMENT e ON e.STRUCTURE_ID = s.ID
-       JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID
-       JOIN THESE t ON t.SOURCE_CODE = tmp.THESE_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_UNITE_RECH" ("ID", "SOURCE_CODE", "SOURCE_ID", "STRUCTURE_ID") AS 
-  SELECT
-  NULL              AS id,
-  tmp.SOURCE_CODE   as SOURCE_CODE,
-  src.id            AS SOURCE_ID,
-  s.ID              as STRUCTURE_ID
-FROM TMP_UNITE_RECH tmp
-       JOIN STRUCTURE s on s.SOURCE_CODE = tmp.STRUCTURE_ID
-       JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"SRC_VARIABLE" ("ID", "SOURCE_CODE", "SOURCE_ID", "ETABLISSEMENT_ID", "CODE", "DESCRIPTION", "VALEUR", "DATE_DEB_VALIDITE", "DATE_FIN_VALIDITE") AS 
-  SELECT
-  NULL                   AS id,
-  tmp.SOURCE_CODE,
-  src.ID                 AS SOURCE_ID,
-  e.id                   AS ETABLISSEMENT_ID,
-  tmp.COD_VAP            AS CODE,
-  tmp.lib_vap            AS DESCRIPTION,
-  tmp.par_vap            AS VALEUR,
-  tmp.DATE_DEB_VALIDITE,
-  tmp.DATE_FIN_VALIDITE
-FROM TMP_VARIABLE tmp
-       JOIN STRUCTURE s ON s.SOURCE_CODE = tmp.ETABLISSEMENT_ID
-       JOIN ETABLISSEMENT e ON e.STRUCTURE_ID = s.ID
-       JOIN SOURCE src ON src.CODE = tmp.SOURCE_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_ACTEUR" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "ACTEUR_ETABLISSEMENT_ID", "INDIVIDU_ID", "LIB_ROLE_COMPL", "QUALITE", "ROLE_ID", "THESE_ID", "U_ACTEUR_ETABLISSEMENT_ID", "U_INDIVIDU_ID", "U_LIB_ROLE_COMPL", "U_QUALITE", "U_ROLE_ID", "U_THESE_ID") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."ACTEUR_ETABLISSEMENT_ID",diff."INDIVIDU_ID",diff."LIB_ROLE_COMPL",diff."QUALITE",diff."ROLE_ID",diff."THESE_ID",diff."U_ACTEUR_ETABLISSEMENT_ID",diff."U_INDIVIDU_ID",diff."U_LIB_ROLE_COMPL",diff."U_QUALITE",diff."U_ROLE_ID",diff."U_THESE_ID" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ACTEUR_ETABLISSEMENT_ID ELSE S.ACTEUR_ETABLISSEMENT_ID END ACTEUR_ETABLISSEMENT_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.INDIVIDU_ID ELSE S.INDIVIDU_ID END INDIVIDU_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIB_ROLE_COMPL ELSE S.LIB_ROLE_COMPL END LIB_ROLE_COMPL,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.QUALITE ELSE S.QUALITE END QUALITE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ROLE_ID ELSE S.ROLE_ID END ROLE_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.THESE_ID ELSE S.THESE_ID END THESE_ID,
-    CASE WHEN D.ACTEUR_ETABLISSEMENT_ID <> S.ACTEUR_ETABLISSEMENT_ID OR (D.ACTEUR_ETABLISSEMENT_ID IS NULL AND S.ACTEUR_ETABLISSEMENT_ID IS NOT NULL) OR (D.ACTEUR_ETABLISSEMENT_ID IS NOT NULL AND S.ACTEUR_ETABLISSEMENT_ID IS NULL) THEN 1 ELSE 0 END U_ACTEUR_ETABLISSEMENT_ID,
-    CASE WHEN D.INDIVIDU_ID <> S.INDIVIDU_ID OR (D.INDIVIDU_ID IS NULL AND S.INDIVIDU_ID IS NOT NULL) OR (D.INDIVIDU_ID IS NOT NULL AND S.INDIVIDU_ID IS NULL) THEN 1 ELSE 0 END U_INDIVIDU_ID,
-    CASE WHEN D.LIB_ROLE_COMPL <> S.LIB_ROLE_COMPL OR (D.LIB_ROLE_COMPL IS NULL AND S.LIB_ROLE_COMPL IS NOT NULL) OR (D.LIB_ROLE_COMPL IS NOT NULL AND S.LIB_ROLE_COMPL IS NULL) THEN 1 ELSE 0 END U_LIB_ROLE_COMPL,
-    CASE WHEN D.QUALITE <> S.QUALITE OR (D.QUALITE IS NULL AND S.QUALITE IS NOT NULL) OR (D.QUALITE IS NOT NULL AND S.QUALITE IS NULL) THEN 1 ELSE 0 END U_QUALITE,
-    CASE WHEN D.ROLE_ID <> S.ROLE_ID OR (D.ROLE_ID IS NULL AND S.ROLE_ID IS NOT NULL) OR (D.ROLE_ID IS NOT NULL AND S.ROLE_ID IS NULL) THEN 1 ELSE 0 END U_ROLE_ID,
-    CASE WHEN D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) THEN 1 ELSE 0 END U_THESE_ID
-FROM
-  ACTEUR D
-  FULL JOIN SRC_ACTEUR S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.ACTEUR_ETABLISSEMENT_ID <> S.ACTEUR_ETABLISSEMENT_ID OR (D.ACTEUR_ETABLISSEMENT_ID IS NULL AND S.ACTEUR_ETABLISSEMENT_ID IS NOT NULL) OR (D.ACTEUR_ETABLISSEMENT_ID IS NOT NULL AND S.ACTEUR_ETABLISSEMENT_ID IS NULL)
-  OR D.INDIVIDU_ID <> S.INDIVIDU_ID OR (D.INDIVIDU_ID IS NULL AND S.INDIVIDU_ID IS NOT NULL) OR (D.INDIVIDU_ID IS NOT NULL AND S.INDIVIDU_ID IS NULL)
-  OR D.LIB_ROLE_COMPL <> S.LIB_ROLE_COMPL OR (D.LIB_ROLE_COMPL IS NULL AND S.LIB_ROLE_COMPL IS NOT NULL) OR (D.LIB_ROLE_COMPL IS NOT NULL AND S.LIB_ROLE_COMPL IS NULL)
-  OR D.QUALITE <> S.QUALITE OR (D.QUALITE IS NULL AND S.QUALITE IS NOT NULL) OR (D.QUALITE IS NOT NULL AND S.QUALITE IS NULL)
-  OR D.ROLE_ID <> S.ROLE_ID OR (D.ROLE_ID IS NULL AND S.ROLE_ID IS NOT NULL) OR (D.ROLE_ID IS NOT NULL AND S.ROLE_ID IS NULL)
-  OR D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_DOCTORANT" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "ETABLISSEMENT_ID", "INDIVIDU_ID", "INE", "U_ETABLISSEMENT_ID", "U_INDIVIDU_ID", "U_INE") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."ETABLISSEMENT_ID",diff."INDIVIDU_ID",diff."INE",diff."U_ETABLISSEMENT_ID",diff."U_INDIVIDU_ID",diff."U_INE" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ETABLISSEMENT_ID ELSE S.ETABLISSEMENT_ID END ETABLISSEMENT_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.INDIVIDU_ID ELSE S.INDIVIDU_ID END INDIVIDU_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.INE ELSE S.INE END INE,
-    CASE WHEN D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL) THEN 1 ELSE 0 END U_ETABLISSEMENT_ID,
-    CASE WHEN D.INDIVIDU_ID <> S.INDIVIDU_ID OR (D.INDIVIDU_ID IS NULL AND S.INDIVIDU_ID IS NOT NULL) OR (D.INDIVIDU_ID IS NOT NULL AND S.INDIVIDU_ID IS NULL) THEN 1 ELSE 0 END U_INDIVIDU_ID,
-    CASE WHEN D.INE <> S.INE OR (D.INE IS NULL AND S.INE IS NOT NULL) OR (D.INE IS NOT NULL AND S.INE IS NULL) THEN 1 ELSE 0 END U_INE
-FROM
-  DOCTORANT D
-  FULL JOIN SRC_DOCTORANT S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL)
-  OR D.INDIVIDU_ID <> S.INDIVIDU_ID OR (D.INDIVIDU_ID IS NULL AND S.INDIVIDU_ID IS NOT NULL) OR (D.INDIVIDU_ID IS NOT NULL AND S.INDIVIDU_ID IS NULL)
-  OR D.INE <> S.INE OR (D.INE IS NULL AND S.INE IS NOT NULL) OR (D.INE IS NOT NULL AND S.INE IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_ECOLE_DOCT" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "STRUCTURE_ID", "U_STRUCTURE_ID") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."STRUCTURE_ID",diff."U_STRUCTURE_ID" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.STRUCTURE_ID ELSE S.STRUCTURE_ID END STRUCTURE_ID,
-    CASE WHEN D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) THEN 1 ELSE 0 END U_STRUCTURE_ID
-FROM
-  ECOLE_DOCT D
-  FULL JOIN SRC_ECOLE_DOCT S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_ETABLISSEMENT" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "STRUCTURE_ID", "U_STRUCTURE_ID") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."STRUCTURE_ID",diff."U_STRUCTURE_ID" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.STRUCTURE_ID ELSE S.STRUCTURE_ID END STRUCTURE_ID,
-    CASE WHEN D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) THEN 1 ELSE 0 END U_STRUCTURE_ID
-FROM
-  ETABLISSEMENT D
-  FULL JOIN SRC_ETABLISSEMENT S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_FINANCEMENT" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "ANNEE", "COMPLEMENT_FINANCEMENT", "DATE_DEBUT", "DATE_FIN", "ORIGINE_FINANCEMENT_ID", "QUOTITE_FINANCEMENT", "THESE_ID", "U_ANNEE", "U_COMPLEMENT_FINANCEMENT", "U_DATE_DEBUT", "U_DATE_FIN", "U_ORIGINE_FINANCEMENT_ID", "U_QUOTITE_FINANCEMENT", "U_THESE_ID") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."ANNEE",diff."COMPLEMENT_FINANCEMENT",diff."DATE_DEBUT",diff."DATE_FIN",diff."ORIGINE_FINANCEMENT_ID",diff."QUOTITE_FINANCEMENT",diff."THESE_ID",diff."U_ANNEE",diff."U_COMPLEMENT_FINANCEMENT",diff."U_DATE_DEBUT",diff."U_DATE_FIN",diff."U_ORIGINE_FINANCEMENT_ID",diff."U_QUOTITE_FINANCEMENT",diff."U_THESE_ID" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ANNEE ELSE S.ANNEE END ANNEE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.COMPLEMENT_FINANCEMENT ELSE S.COMPLEMENT_FINANCEMENT END COMPLEMENT_FINANCEMENT,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_DEBUT ELSE S.DATE_DEBUT END DATE_DEBUT,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_FIN ELSE S.DATE_FIN END DATE_FIN,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ORIGINE_FINANCEMENT_ID ELSE S.ORIGINE_FINANCEMENT_ID END ORIGINE_FINANCEMENT_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.QUOTITE_FINANCEMENT ELSE S.QUOTITE_FINANCEMENT END QUOTITE_FINANCEMENT,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.THESE_ID ELSE S.THESE_ID END THESE_ID,
-    CASE WHEN D.ANNEE <> S.ANNEE OR (D.ANNEE IS NULL AND S.ANNEE IS NOT NULL) OR (D.ANNEE IS NOT NULL AND S.ANNEE IS NULL) THEN 1 ELSE 0 END U_ANNEE,
-    CASE WHEN D.COMPLEMENT_FINANCEMENT <> S.COMPLEMENT_FINANCEMENT OR (D.COMPLEMENT_FINANCEMENT IS NULL AND S.COMPLEMENT_FINANCEMENT IS NOT NULL) OR (D.COMPLEMENT_FINANCEMENT IS NOT NULL AND S.COMPLEMENT_FINANCEMENT IS NULL) THEN 1 ELSE 0 END U_COMPLEMENT_FINANCEMENT,
-    CASE WHEN D.DATE_DEBUT <> S.DATE_DEBUT OR (D.DATE_DEBUT IS NULL AND S.DATE_DEBUT IS NOT NULL) OR (D.DATE_DEBUT IS NOT NULL AND S.DATE_DEBUT IS NULL) THEN 1 ELSE 0 END U_DATE_DEBUT,
-    CASE WHEN D.DATE_FIN <> S.DATE_FIN OR (D.DATE_FIN IS NULL AND S.DATE_FIN IS NOT NULL) OR (D.DATE_FIN IS NOT NULL AND S.DATE_FIN IS NULL) THEN 1 ELSE 0 END U_DATE_FIN,
-    CASE WHEN D.ORIGINE_FINANCEMENT_ID <> S.ORIGINE_FINANCEMENT_ID OR (D.ORIGINE_FINANCEMENT_ID IS NULL AND S.ORIGINE_FINANCEMENT_ID IS NOT NULL) OR (D.ORIGINE_FINANCEMENT_ID IS NOT NULL AND S.ORIGINE_FINANCEMENT_ID IS NULL) THEN 1 ELSE 0 END U_ORIGINE_FINANCEMENT_ID,
-    CASE WHEN D.QUOTITE_FINANCEMENT <> S.QUOTITE_FINANCEMENT OR (D.QUOTITE_FINANCEMENT IS NULL AND S.QUOTITE_FINANCEMENT IS NOT NULL) OR (D.QUOTITE_FINANCEMENT IS NOT NULL AND S.QUOTITE_FINANCEMENT IS NULL) THEN 1 ELSE 0 END U_QUOTITE_FINANCEMENT,
-    CASE WHEN D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) THEN 1 ELSE 0 END U_THESE_ID
-FROM
-  FINANCEMENT D
-  FULL JOIN SRC_FINANCEMENT S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.ANNEE <> S.ANNEE OR (D.ANNEE IS NULL AND S.ANNEE IS NOT NULL) OR (D.ANNEE IS NOT NULL AND S.ANNEE IS NULL)
-  OR D.COMPLEMENT_FINANCEMENT <> S.COMPLEMENT_FINANCEMENT OR (D.COMPLEMENT_FINANCEMENT IS NULL AND S.COMPLEMENT_FINANCEMENT IS NOT NULL) OR (D.COMPLEMENT_FINANCEMENT IS NOT NULL AND S.COMPLEMENT_FINANCEMENT IS NULL)
-  OR D.DATE_DEBUT <> S.DATE_DEBUT OR (D.DATE_DEBUT IS NULL AND S.DATE_DEBUT IS NOT NULL) OR (D.DATE_DEBUT IS NOT NULL AND S.DATE_DEBUT IS NULL)
-  OR D.DATE_FIN <> S.DATE_FIN OR (D.DATE_FIN IS NULL AND S.DATE_FIN IS NOT NULL) OR (D.DATE_FIN IS NOT NULL AND S.DATE_FIN IS NULL)
-  OR D.ORIGINE_FINANCEMENT_ID <> S.ORIGINE_FINANCEMENT_ID OR (D.ORIGINE_FINANCEMENT_ID IS NULL AND S.ORIGINE_FINANCEMENT_ID IS NOT NULL) OR (D.ORIGINE_FINANCEMENT_ID IS NOT NULL AND S.ORIGINE_FINANCEMENT_ID IS NULL)
-  OR D.QUOTITE_FINANCEMENT <> S.QUOTITE_FINANCEMENT OR (D.QUOTITE_FINANCEMENT IS NULL AND S.QUOTITE_FINANCEMENT IS NOT NULL) OR (D.QUOTITE_FINANCEMENT IS NOT NULL AND S.QUOTITE_FINANCEMENT IS NULL)
-  OR D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_INDIVIDU" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "CIVILITE", "DATE_NAISSANCE", "EMAIL", "NATIONALITE", "NOM_PATRONYMIQUE", "NOM_USUEL", "PRENOM1", "PRENOM2", "PRENOM3", "SUPANN_ID", "TYPE", "U_CIVILITE", "U_DATE_NAISSANCE", "U_EMAIL", "U_NATIONALITE", "U_NOM_PATRONYMIQUE", "U_NOM_USUEL", "U_PRENOM1", "U_PRENOM2", "U_PRENOM3", "U_SUPANN_ID", "U_TYPE") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."CIVILITE",diff."DATE_NAISSANCE",diff."EMAIL",diff."NATIONALITE",diff."NOM_PATRONYMIQUE",diff."NOM_USUEL",diff."PRENOM1",diff."PRENOM2",diff."PRENOM3",diff."SUPANN_ID",diff."TYPE",diff."U_CIVILITE",diff."U_DATE_NAISSANCE",diff."U_EMAIL",diff."U_NATIONALITE",diff."U_NOM_PATRONYMIQUE",diff."U_NOM_USUEL",diff."U_PRENOM1",diff."U_PRENOM2",diff."U_PRENOM3",diff."U_SUPANN_ID",diff."U_TYPE" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CIVILITE ELSE S.CIVILITE END CIVILITE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_NAISSANCE ELSE S.DATE_NAISSANCE END DATE_NAISSANCE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.EMAIL ELSE S.EMAIL END EMAIL,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.NATIONALITE ELSE S.NATIONALITE END NATIONALITE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.NOM_PATRONYMIQUE ELSE S.NOM_PATRONYMIQUE END NOM_PATRONYMIQUE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.NOM_USUEL ELSE S.NOM_USUEL END NOM_USUEL,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.PRENOM1 ELSE S.PRENOM1 END PRENOM1,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.PRENOM2 ELSE S.PRENOM2 END PRENOM2,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.PRENOM3 ELSE S.PRENOM3 END PRENOM3,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.SUPANN_ID ELSE S.SUPANN_ID END SUPANN_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TYPE ELSE S.TYPE END TYPE,
-    CASE WHEN D.CIVILITE <> S.CIVILITE OR (D.CIVILITE IS NULL AND S.CIVILITE IS NOT NULL) OR (D.CIVILITE IS NOT NULL AND S.CIVILITE IS NULL) THEN 1 ELSE 0 END U_CIVILITE,
-    CASE WHEN D.DATE_NAISSANCE <> S.DATE_NAISSANCE OR (D.DATE_NAISSANCE IS NULL AND S.DATE_NAISSANCE IS NOT NULL) OR (D.DATE_NAISSANCE IS NOT NULL AND S.DATE_NAISSANCE IS NULL) THEN 1 ELSE 0 END U_DATE_NAISSANCE,
-    CASE WHEN D.EMAIL <> S.EMAIL OR (D.EMAIL IS NULL AND S.EMAIL IS NOT NULL) OR (D.EMAIL IS NOT NULL AND S.EMAIL IS NULL) THEN 1 ELSE 0 END U_EMAIL,
-    CASE WHEN D.NATIONALITE <> S.NATIONALITE OR (D.NATIONALITE IS NULL AND S.NATIONALITE IS NOT NULL) OR (D.NATIONALITE IS NOT NULL AND S.NATIONALITE IS NULL) THEN 1 ELSE 0 END U_NATIONALITE,
-    CASE WHEN D.NOM_PATRONYMIQUE <> S.NOM_PATRONYMIQUE OR (D.NOM_PATRONYMIQUE IS NULL AND S.NOM_PATRONYMIQUE IS NOT NULL) OR (D.NOM_PATRONYMIQUE IS NOT NULL AND S.NOM_PATRONYMIQUE IS NULL) THEN 1 ELSE 0 END U_NOM_PATRONYMIQUE,
-    CASE WHEN D.NOM_USUEL <> S.NOM_USUEL OR (D.NOM_USUEL IS NULL AND S.NOM_USUEL IS NOT NULL) OR (D.NOM_USUEL IS NOT NULL AND S.NOM_USUEL IS NULL) THEN 1 ELSE 0 END U_NOM_USUEL,
-    CASE WHEN D.PRENOM1 <> S.PRENOM1 OR (D.PRENOM1 IS NULL AND S.PRENOM1 IS NOT NULL) OR (D.PRENOM1 IS NOT NULL AND S.PRENOM1 IS NULL) THEN 1 ELSE 0 END U_PRENOM1,
-    CASE WHEN D.PRENOM2 <> S.PRENOM2 OR (D.PRENOM2 IS NULL AND S.PRENOM2 IS NOT NULL) OR (D.PRENOM2 IS NOT NULL AND S.PRENOM2 IS NULL) THEN 1 ELSE 0 END U_PRENOM2,
-    CASE WHEN D.PRENOM3 <> S.PRENOM3 OR (D.PRENOM3 IS NULL AND S.PRENOM3 IS NOT NULL) OR (D.PRENOM3 IS NOT NULL AND S.PRENOM3 IS NULL) THEN 1 ELSE 0 END U_PRENOM3,
-    CASE WHEN D.SUPANN_ID <> S.SUPANN_ID OR (D.SUPANN_ID IS NULL AND S.SUPANN_ID IS NOT NULL) OR (D.SUPANN_ID IS NOT NULL AND S.SUPANN_ID IS NULL) THEN 1 ELSE 0 END U_SUPANN_ID,
-    CASE WHEN D.TYPE <> S.TYPE OR (D.TYPE IS NULL AND S.TYPE IS NOT NULL) OR (D.TYPE IS NOT NULL AND S.TYPE IS NULL) THEN 1 ELSE 0 END U_TYPE
-FROM
-  INDIVIDU D
-  FULL JOIN SRC_INDIVIDU S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.CIVILITE <> S.CIVILITE OR (D.CIVILITE IS NULL AND S.CIVILITE IS NOT NULL) OR (D.CIVILITE IS NOT NULL AND S.CIVILITE IS NULL)
-  OR D.DATE_NAISSANCE <> S.DATE_NAISSANCE OR (D.DATE_NAISSANCE IS NULL AND S.DATE_NAISSANCE IS NOT NULL) OR (D.DATE_NAISSANCE IS NOT NULL AND S.DATE_NAISSANCE IS NULL)
-  OR D.EMAIL <> S.EMAIL OR (D.EMAIL IS NULL AND S.EMAIL IS NOT NULL) OR (D.EMAIL IS NOT NULL AND S.EMAIL IS NULL)
-  OR D.NATIONALITE <> S.NATIONALITE OR (D.NATIONALITE IS NULL AND S.NATIONALITE IS NOT NULL) OR (D.NATIONALITE IS NOT NULL AND S.NATIONALITE IS NULL)
-  OR D.NOM_PATRONYMIQUE <> S.NOM_PATRONYMIQUE OR (D.NOM_PATRONYMIQUE IS NULL AND S.NOM_PATRONYMIQUE IS NOT NULL) OR (D.NOM_PATRONYMIQUE IS NOT NULL AND S.NOM_PATRONYMIQUE IS NULL)
-  OR D.NOM_USUEL <> S.NOM_USUEL OR (D.NOM_USUEL IS NULL AND S.NOM_USUEL IS NOT NULL) OR (D.NOM_USUEL IS NOT NULL AND S.NOM_USUEL IS NULL)
-  OR D.PRENOM1 <> S.PRENOM1 OR (D.PRENOM1 IS NULL AND S.PRENOM1 IS NOT NULL) OR (D.PRENOM1 IS NOT NULL AND S.PRENOM1 IS NULL)
-  OR D.PRENOM2 <> S.PRENOM2 OR (D.PRENOM2 IS NULL AND S.PRENOM2 IS NOT NULL) OR (D.PRENOM2 IS NOT NULL AND S.PRENOM2 IS NULL)
-  OR D.PRENOM3 <> S.PRENOM3 OR (D.PRENOM3 IS NULL AND S.PRENOM3 IS NOT NULL) OR (D.PRENOM3 IS NOT NULL AND S.PRENOM3 IS NULL)
-  OR D.SUPANN_ID <> S.SUPANN_ID OR (D.SUPANN_ID IS NULL AND S.SUPANN_ID IS NOT NULL) OR (D.SUPANN_ID IS NOT NULL AND S.SUPANN_ID IS NULL)
-  OR D.TYPE <> S.TYPE OR (D.TYPE IS NULL AND S.TYPE IS NOT NULL) OR (D.TYPE IS NOT NULL AND S.TYPE IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_ROLE" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "CODE", "LIBELLE", "ROLE_ID", "STRUCTURE_ID", "THESE_DEP", "TYPE_STRUCTURE_DEPENDANT_ID", "U_CODE", "U_LIBELLE", "U_ROLE_ID", "U_STRUCTURE_ID", "U_THESE_DEP", "U_TYPE_STRUCTURE_DEPENDANT_ID") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."CODE",diff."LIBELLE",diff."ROLE_ID",diff."STRUCTURE_ID",diff."THESE_DEP",diff."TYPE_STRUCTURE_DEPENDANT_ID",diff."U_CODE",diff."U_LIBELLE",diff."U_ROLE_ID",diff."U_STRUCTURE_ID",diff."U_THESE_DEP",diff."U_TYPE_STRUCTURE_DEPENDANT_ID" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CODE ELSE S.CODE END CODE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIBELLE ELSE S.LIBELLE END LIBELLE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ROLE_ID ELSE S.ROLE_ID END ROLE_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.STRUCTURE_ID ELSE S.STRUCTURE_ID END STRUCTURE_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.THESE_DEP ELSE S.THESE_DEP END THESE_DEP,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TYPE_STRUCTURE_DEPENDANT_ID ELSE S.TYPE_STRUCTURE_DEPENDANT_ID END TYPE_STRUCTURE_DEPENDANT_ID,
-    CASE WHEN D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL) THEN 1 ELSE 0 END U_CODE,
-    CASE WHEN D.LIBELLE <> S.LIBELLE OR (D.LIBELLE IS NULL AND S.LIBELLE IS NOT NULL) OR (D.LIBELLE IS NOT NULL AND S.LIBELLE IS NULL) THEN 1 ELSE 0 END U_LIBELLE,
-    CASE WHEN D.ROLE_ID <> S.ROLE_ID OR (D.ROLE_ID IS NULL AND S.ROLE_ID IS NOT NULL) OR (D.ROLE_ID IS NOT NULL AND S.ROLE_ID IS NULL) THEN 1 ELSE 0 END U_ROLE_ID,
-    CASE WHEN D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) THEN 1 ELSE 0 END U_STRUCTURE_ID,
-    CASE WHEN D.THESE_DEP <> S.THESE_DEP OR (D.THESE_DEP IS NULL AND S.THESE_DEP IS NOT NULL) OR (D.THESE_DEP IS NOT NULL AND S.THESE_DEP IS NULL) THEN 1 ELSE 0 END U_THESE_DEP,
-    CASE WHEN D.TYPE_STRUCTURE_DEPENDANT_ID <> S.TYPE_STRUCTURE_DEPENDANT_ID OR (D.TYPE_STRUCTURE_DEPENDANT_ID IS NULL AND S.TYPE_STRUCTURE_DEPENDANT_ID IS NOT NULL) OR (D.TYPE_STRUCTURE_DEPENDANT_ID IS NOT NULL AND S.TYPE_STRUCTURE_DEPENDANT_ID IS NULL) THEN 1 ELSE 0 END U_TYPE_STRUCTURE_DEPENDANT_ID
-FROM
-  ROLE D
-  FULL JOIN SRC_ROLE S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL)
-  OR D.LIBELLE <> S.LIBELLE OR (D.LIBELLE IS NULL AND S.LIBELLE IS NOT NULL) OR (D.LIBELLE IS NOT NULL AND S.LIBELLE IS NULL)
-  OR D.ROLE_ID <> S.ROLE_ID OR (D.ROLE_ID IS NULL AND S.ROLE_ID IS NOT NULL) OR (D.ROLE_ID IS NOT NULL AND S.ROLE_ID IS NULL)
-  OR D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL)
-  OR D.THESE_DEP <> S.THESE_DEP OR (D.THESE_DEP IS NULL AND S.THESE_DEP IS NOT NULL) OR (D.THESE_DEP IS NOT NULL AND S.THESE_DEP IS NULL)
-  OR D.TYPE_STRUCTURE_DEPENDANT_ID <> S.TYPE_STRUCTURE_DEPENDANT_ID OR (D.TYPE_STRUCTURE_DEPENDANT_ID IS NULL AND S.TYPE_STRUCTURE_DEPENDANT_ID IS NOT NULL) OR (D.TYPE_STRUCTURE_DEPENDANT_ID IS NOT NULL AND S.TYPE_STRUCTURE_DEPENDANT_ID IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_STRUCTURE" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "CODE", "LIBELLE", "SIGLE", "TYPE_STRUCTURE_ID", "U_CODE", "U_LIBELLE", "U_SIGLE", "U_TYPE_STRUCTURE_ID") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."CODE",diff."LIBELLE",diff."SIGLE",diff."TYPE_STRUCTURE_ID",diff."U_CODE",diff."U_LIBELLE",diff."U_SIGLE",diff."U_TYPE_STRUCTURE_ID" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CODE ELSE S.CODE END CODE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIBELLE ELSE S.LIBELLE END LIBELLE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.SIGLE ELSE S.SIGLE END SIGLE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TYPE_STRUCTURE_ID ELSE S.TYPE_STRUCTURE_ID END TYPE_STRUCTURE_ID,
-    CASE WHEN D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL) THEN 1 ELSE 0 END U_CODE,
-    CASE WHEN D.LIBELLE <> S.LIBELLE OR (D.LIBELLE IS NULL AND S.LIBELLE IS NOT NULL) OR (D.LIBELLE IS NOT NULL AND S.LIBELLE IS NULL) THEN 1 ELSE 0 END U_LIBELLE,
-    CASE WHEN D.SIGLE <> S.SIGLE OR (D.SIGLE IS NULL AND S.SIGLE IS NOT NULL) OR (D.SIGLE IS NOT NULL AND S.SIGLE IS NULL) THEN 1 ELSE 0 END U_SIGLE,
-    CASE WHEN D.TYPE_STRUCTURE_ID <> S.TYPE_STRUCTURE_ID OR (D.TYPE_STRUCTURE_ID IS NULL AND S.TYPE_STRUCTURE_ID IS NOT NULL) OR (D.TYPE_STRUCTURE_ID IS NOT NULL AND S.TYPE_STRUCTURE_ID IS NULL) THEN 1 ELSE 0 END U_TYPE_STRUCTURE_ID
-FROM
-  STRUCTURE D
-  FULL JOIN SRC_STRUCTURE S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL)
-  OR D.LIBELLE <> S.LIBELLE OR (D.LIBELLE IS NULL AND S.LIBELLE IS NOT NULL) OR (D.LIBELLE IS NOT NULL AND S.LIBELLE IS NULL)
-  OR D.SIGLE <> S.SIGLE OR (D.SIGLE IS NULL AND S.SIGLE IS NOT NULL) OR (D.SIGLE IS NOT NULL AND S.SIGLE IS NULL)
-  OR D.TYPE_STRUCTURE_ID <> S.TYPE_STRUCTURE_ID OR (D.TYPE_STRUCTURE_ID IS NULL AND S.TYPE_STRUCTURE_ID IS NOT NULL) OR (D.TYPE_STRUCTURE_ID IS NOT NULL AND S.TYPE_STRUCTURE_ID IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_THESE" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "ANNEE_UNIV_1ERE_INSC", "CORREC_AUTORISEE", "DATE_ABANDON", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "DATE_TRANSFERT", "DOCTORANT_ID", "ECOLE_DOCT_ID", "ETABLISSEMENT_ID", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "UNITE_RECH_ID", "U_ANNEE_UNIV_1ERE_INSC", "U_CORREC_AUTORISEE", "U_DATE_ABANDON", "U_DATE_AUTORIS_SOUTENANCE", "U_DATE_FIN_CONFID", "U_DATE_PREM_INSC", "U_DATE_PREV_SOUTENANCE", "U_DATE_SOUTENANCE", "U_DATE_TRANSFERT", "U_DOCTORANT_ID", "U_ECOLE_DOCT_ID", "U_ETABLISSEMENT_ID", "U_ETAT_THESE", "U_LIB_DISC", "U_LIB_ETAB_COTUT", "U_LIB_PAYS_COTUT", "U_RESULTAT", "U_SOUTENANCE_AUTORIS", "U_TEM_AVENANT_COTUT", "U_TITRE", "U_UNITE_RECH_ID") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."ANNEE_UNIV_1ERE_INSC",diff."CORREC_AUTORISEE",diff."DATE_ABANDON",diff."DATE_AUTORIS_SOUTENANCE",diff."DATE_FIN_CONFID",diff."DATE_PREM_INSC",diff."DATE_PREV_SOUTENANCE",diff."DATE_SOUTENANCE",diff."DATE_TRANSFERT",diff."DOCTORANT_ID",diff."ECOLE_DOCT_ID",diff."ETABLISSEMENT_ID",diff."ETAT_THESE",diff."LIB_DISC",diff."LIB_ETAB_COTUT",diff."LIB_PAYS_COTUT",diff."RESULTAT",diff."SOUTENANCE_AUTORIS",diff."TEM_AVENANT_COTUT",diff."TITRE",diff."UNITE_RECH_ID",diff."U_ANNEE_UNIV_1ERE_INSC",diff."U_CORREC_AUTORISEE",diff."U_DATE_ABANDON",diff."U_DATE_AUTORIS_SOUTENANCE",diff."U_DATE_FIN_CONFID",diff."U_DATE_PREM_INSC",diff."U_DATE_PREV_SOUTENANCE",diff."U_DATE_SOUTENANCE",diff."U_DATE_TRANSFERT",diff."U_DOCTORANT_ID",diff."U_ECOLE_DOCT_ID",diff."U_ETABLISSEMENT_ID",diff."U_ETAT_THESE",diff."U_LIB_DISC",diff."U_LIB_ETAB_COTUT",diff."U_LIB_PAYS_COTUT",diff."U_RESULTAT",diff."U_SOUTENANCE_AUTORIS",diff."U_TEM_AVENANT_COTUT",diff."U_TITRE",diff."U_UNITE_RECH_ID" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ANNEE_UNIV_1ERE_INSC ELSE S.ANNEE_UNIV_1ERE_INSC END ANNEE_UNIV_1ERE_INSC,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CORREC_AUTORISEE ELSE S.CORREC_AUTORISEE END CORREC_AUTORISEE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_ABANDON ELSE S.DATE_ABANDON END DATE_ABANDON,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_AUTORIS_SOUTENANCE ELSE S.DATE_AUTORIS_SOUTENANCE END DATE_AUTORIS_SOUTENANCE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_FIN_CONFID ELSE S.DATE_FIN_CONFID END DATE_FIN_CONFID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_PREM_INSC ELSE S.DATE_PREM_INSC END DATE_PREM_INSC,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_PREV_SOUTENANCE ELSE S.DATE_PREV_SOUTENANCE END DATE_PREV_SOUTENANCE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_SOUTENANCE ELSE S.DATE_SOUTENANCE END DATE_SOUTENANCE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_TRANSFERT ELSE S.DATE_TRANSFERT END DATE_TRANSFERT,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DOCTORANT_ID ELSE S.DOCTORANT_ID END DOCTORANT_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ECOLE_DOCT_ID ELSE S.ECOLE_DOCT_ID END ECOLE_DOCT_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ETABLISSEMENT_ID ELSE S.ETABLISSEMENT_ID END ETABLISSEMENT_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ETAT_THESE ELSE S.ETAT_THESE END ETAT_THESE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIB_DISC ELSE S.LIB_DISC END LIB_DISC,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIB_ETAB_COTUT ELSE S.LIB_ETAB_COTUT END LIB_ETAB_COTUT,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIB_PAYS_COTUT ELSE S.LIB_PAYS_COTUT END LIB_PAYS_COTUT,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.RESULTAT ELSE S.RESULTAT END RESULTAT,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.SOUTENANCE_AUTORIS ELSE S.SOUTENANCE_AUTORIS END SOUTENANCE_AUTORIS,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TEM_AVENANT_COTUT ELSE S.TEM_AVENANT_COTUT END TEM_AVENANT_COTUT,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TITRE ELSE S.TITRE END TITRE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.UNITE_RECH_ID ELSE S.UNITE_RECH_ID END UNITE_RECH_ID,
-    CASE WHEN D.ANNEE_UNIV_1ERE_INSC <> S.ANNEE_UNIV_1ERE_INSC OR (D.ANNEE_UNIV_1ERE_INSC IS NULL AND S.ANNEE_UNIV_1ERE_INSC IS NOT NULL) OR (D.ANNEE_UNIV_1ERE_INSC IS NOT NULL AND S.ANNEE_UNIV_1ERE_INSC IS NULL) THEN 1 ELSE 0 END U_ANNEE_UNIV_1ERE_INSC,
-    CASE WHEN D.CORREC_AUTORISEE <> S.CORREC_AUTORISEE OR (D.CORREC_AUTORISEE IS NULL AND S.CORREC_AUTORISEE IS NOT NULL) OR (D.CORREC_AUTORISEE IS NOT NULL AND S.CORREC_AUTORISEE IS NULL) THEN 1 ELSE 0 END U_CORREC_AUTORISEE,
-    CASE WHEN D.DATE_ABANDON <> S.DATE_ABANDON OR (D.DATE_ABANDON IS NULL AND S.DATE_ABANDON IS NOT NULL) OR (D.DATE_ABANDON IS NOT NULL AND S.DATE_ABANDON IS NULL) THEN 1 ELSE 0 END U_DATE_ABANDON,
-    CASE WHEN D.DATE_AUTORIS_SOUTENANCE <> S.DATE_AUTORIS_SOUTENANCE OR (D.DATE_AUTORIS_SOUTENANCE IS NULL AND S.DATE_AUTORIS_SOUTENANCE IS NOT NULL) OR (D.DATE_AUTORIS_SOUTENANCE IS NOT NULL AND S.DATE_AUTORIS_SOUTENANCE IS NULL) THEN 1 ELSE 0 END U_DATE_AUTORIS_SOUTENANCE,
-    CASE WHEN D.DATE_FIN_CONFID <> S.DATE_FIN_CONFID OR (D.DATE_FIN_CONFID IS NULL AND S.DATE_FIN_CONFID IS NOT NULL) OR (D.DATE_FIN_CONFID IS NOT NULL AND S.DATE_FIN_CONFID IS NULL) THEN 1 ELSE 0 END U_DATE_FIN_CONFID,
-    CASE WHEN D.DATE_PREM_INSC <> S.DATE_PREM_INSC OR (D.DATE_PREM_INSC IS NULL AND S.DATE_PREM_INSC IS NOT NULL) OR (D.DATE_PREM_INSC IS NOT NULL AND S.DATE_PREM_INSC IS NULL) THEN 1 ELSE 0 END U_DATE_PREM_INSC,
-    CASE WHEN D.DATE_PREV_SOUTENANCE <> S.DATE_PREV_SOUTENANCE OR (D.DATE_PREV_SOUTENANCE IS NULL AND S.DATE_PREV_SOUTENANCE IS NOT NULL) OR (D.DATE_PREV_SOUTENANCE IS NOT NULL AND S.DATE_PREV_SOUTENANCE IS NULL) THEN 1 ELSE 0 END U_DATE_PREV_SOUTENANCE,
-    CASE WHEN D.DATE_SOUTENANCE <> S.DATE_SOUTENANCE OR (D.DATE_SOUTENANCE IS NULL AND S.DATE_SOUTENANCE IS NOT NULL) OR (D.DATE_SOUTENANCE IS NOT NULL AND S.DATE_SOUTENANCE IS NULL) THEN 1 ELSE 0 END U_DATE_SOUTENANCE,
-    CASE WHEN D.DATE_TRANSFERT <> S.DATE_TRANSFERT OR (D.DATE_TRANSFERT IS NULL AND S.DATE_TRANSFERT IS NOT NULL) OR (D.DATE_TRANSFERT IS NOT NULL AND S.DATE_TRANSFERT IS NULL) THEN 1 ELSE 0 END U_DATE_TRANSFERT,
-    CASE WHEN D.DOCTORANT_ID <> S.DOCTORANT_ID OR (D.DOCTORANT_ID IS NULL AND S.DOCTORANT_ID IS NOT NULL) OR (D.DOCTORANT_ID IS NOT NULL AND S.DOCTORANT_ID IS NULL) THEN 1 ELSE 0 END U_DOCTORANT_ID,
-    CASE WHEN D.ECOLE_DOCT_ID <> S.ECOLE_DOCT_ID OR (D.ECOLE_DOCT_ID IS NULL AND S.ECOLE_DOCT_ID IS NOT NULL) OR (D.ECOLE_DOCT_ID IS NOT NULL AND S.ECOLE_DOCT_ID IS NULL) THEN 1 ELSE 0 END U_ECOLE_DOCT_ID,
-    CASE WHEN D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL) THEN 1 ELSE 0 END U_ETABLISSEMENT_ID,
-    CASE WHEN D.ETAT_THESE <> S.ETAT_THESE OR (D.ETAT_THESE IS NULL AND S.ETAT_THESE IS NOT NULL) OR (D.ETAT_THESE IS NOT NULL AND S.ETAT_THESE IS NULL) THEN 1 ELSE 0 END U_ETAT_THESE,
-    CASE WHEN D.LIB_DISC <> S.LIB_DISC OR (D.LIB_DISC IS NULL AND S.LIB_DISC IS NOT NULL) OR (D.LIB_DISC IS NOT NULL AND S.LIB_DISC IS NULL) THEN 1 ELSE 0 END U_LIB_DISC,
-    CASE WHEN D.LIB_ETAB_COTUT <> S.LIB_ETAB_COTUT OR (D.LIB_ETAB_COTUT IS NULL AND S.LIB_ETAB_COTUT IS NOT NULL) OR (D.LIB_ETAB_COTUT IS NOT NULL AND S.LIB_ETAB_COTUT IS NULL) THEN 1 ELSE 0 END U_LIB_ETAB_COTUT,
-    CASE WHEN D.LIB_PAYS_COTUT <> S.LIB_PAYS_COTUT OR (D.LIB_PAYS_COTUT IS NULL AND S.LIB_PAYS_COTUT IS NOT NULL) OR (D.LIB_PAYS_COTUT IS NOT NULL AND S.LIB_PAYS_COTUT IS NULL) THEN 1 ELSE 0 END U_LIB_PAYS_COTUT,
-    CASE WHEN D.RESULTAT <> S.RESULTAT OR (D.RESULTAT IS NULL AND S.RESULTAT IS NOT NULL) OR (D.RESULTAT IS NOT NULL AND S.RESULTAT IS NULL) THEN 1 ELSE 0 END U_RESULTAT,
-    CASE WHEN D.SOUTENANCE_AUTORIS <> S.SOUTENANCE_AUTORIS OR (D.SOUTENANCE_AUTORIS IS NULL AND S.SOUTENANCE_AUTORIS IS NOT NULL) OR (D.SOUTENANCE_AUTORIS IS NOT NULL AND S.SOUTENANCE_AUTORIS IS NULL) THEN 1 ELSE 0 END U_SOUTENANCE_AUTORIS,
-    CASE WHEN D.TEM_AVENANT_COTUT <> S.TEM_AVENANT_COTUT OR (D.TEM_AVENANT_COTUT IS NULL AND S.TEM_AVENANT_COTUT IS NOT NULL) OR (D.TEM_AVENANT_COTUT IS NOT NULL AND S.TEM_AVENANT_COTUT IS NULL) THEN 1 ELSE 0 END U_TEM_AVENANT_COTUT,
-    CASE WHEN D.TITRE <> S.TITRE OR (D.TITRE IS NULL AND S.TITRE IS NOT NULL) OR (D.TITRE IS NOT NULL AND S.TITRE IS NULL) THEN 1 ELSE 0 END U_TITRE,
-    CASE WHEN D.UNITE_RECH_ID <> S.UNITE_RECH_ID OR (D.UNITE_RECH_ID IS NULL AND S.UNITE_RECH_ID IS NOT NULL) OR (D.UNITE_RECH_ID IS NOT NULL AND S.UNITE_RECH_ID IS NULL) THEN 1 ELSE 0 END U_UNITE_RECH_ID
-FROM
-  THESE D
-  FULL JOIN SRC_THESE S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.ANNEE_UNIV_1ERE_INSC <> S.ANNEE_UNIV_1ERE_INSC OR (D.ANNEE_UNIV_1ERE_INSC IS NULL AND S.ANNEE_UNIV_1ERE_INSC IS NOT NULL) OR (D.ANNEE_UNIV_1ERE_INSC IS NOT NULL AND S.ANNEE_UNIV_1ERE_INSC IS NULL)
-  OR D.CORREC_AUTORISEE <> S.CORREC_AUTORISEE OR (D.CORREC_AUTORISEE IS NULL AND S.CORREC_AUTORISEE IS NOT NULL) OR (D.CORREC_AUTORISEE IS NOT NULL AND S.CORREC_AUTORISEE IS NULL)
-  OR D.DATE_ABANDON <> S.DATE_ABANDON OR (D.DATE_ABANDON IS NULL AND S.DATE_ABANDON IS NOT NULL) OR (D.DATE_ABANDON IS NOT NULL AND S.DATE_ABANDON IS NULL)
-  OR D.DATE_AUTORIS_SOUTENANCE <> S.DATE_AUTORIS_SOUTENANCE OR (D.DATE_AUTORIS_SOUTENANCE IS NULL AND S.DATE_AUTORIS_SOUTENANCE IS NOT NULL) OR (D.DATE_AUTORIS_SOUTENANCE IS NOT NULL AND S.DATE_AUTORIS_SOUTENANCE IS NULL)
-  OR D.DATE_FIN_CONFID <> S.DATE_FIN_CONFID OR (D.DATE_FIN_CONFID IS NULL AND S.DATE_FIN_CONFID IS NOT NULL) OR (D.DATE_FIN_CONFID IS NOT NULL AND S.DATE_FIN_CONFID IS NULL)
-  OR D.DATE_PREM_INSC <> S.DATE_PREM_INSC OR (D.DATE_PREM_INSC IS NULL AND S.DATE_PREM_INSC IS NOT NULL) OR (D.DATE_PREM_INSC IS NOT NULL AND S.DATE_PREM_INSC IS NULL)
-  OR D.DATE_PREV_SOUTENANCE <> S.DATE_PREV_SOUTENANCE OR (D.DATE_PREV_SOUTENANCE IS NULL AND S.DATE_PREV_SOUTENANCE IS NOT NULL) OR (D.DATE_PREV_SOUTENANCE IS NOT NULL AND S.DATE_PREV_SOUTENANCE IS NULL)
-  OR D.DATE_SOUTENANCE <> S.DATE_SOUTENANCE OR (D.DATE_SOUTENANCE IS NULL AND S.DATE_SOUTENANCE IS NOT NULL) OR (D.DATE_SOUTENANCE IS NOT NULL AND S.DATE_SOUTENANCE IS NULL)
-  OR D.DATE_TRANSFERT <> S.DATE_TRANSFERT OR (D.DATE_TRANSFERT IS NULL AND S.DATE_TRANSFERT IS NOT NULL) OR (D.DATE_TRANSFERT IS NOT NULL AND S.DATE_TRANSFERT IS NULL)
-  OR D.DOCTORANT_ID <> S.DOCTORANT_ID OR (D.DOCTORANT_ID IS NULL AND S.DOCTORANT_ID IS NOT NULL) OR (D.DOCTORANT_ID IS NOT NULL AND S.DOCTORANT_ID IS NULL)
-  OR D.ECOLE_DOCT_ID <> S.ECOLE_DOCT_ID OR (D.ECOLE_DOCT_ID IS NULL AND S.ECOLE_DOCT_ID IS NOT NULL) OR (D.ECOLE_DOCT_ID IS NOT NULL AND S.ECOLE_DOCT_ID IS NULL)
-  OR D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL)
-  OR D.ETAT_THESE <> S.ETAT_THESE OR (D.ETAT_THESE IS NULL AND S.ETAT_THESE IS NOT NULL) OR (D.ETAT_THESE IS NOT NULL AND S.ETAT_THESE IS NULL)
-  OR D.LIB_DISC <> S.LIB_DISC OR (D.LIB_DISC IS NULL AND S.LIB_DISC IS NOT NULL) OR (D.LIB_DISC IS NOT NULL AND S.LIB_DISC IS NULL)
-  OR D.LIB_ETAB_COTUT <> S.LIB_ETAB_COTUT OR (D.LIB_ETAB_COTUT IS NULL AND S.LIB_ETAB_COTUT IS NOT NULL) OR (D.LIB_ETAB_COTUT IS NOT NULL AND S.LIB_ETAB_COTUT IS NULL)
-  OR D.LIB_PAYS_COTUT <> S.LIB_PAYS_COTUT OR (D.LIB_PAYS_COTUT IS NULL AND S.LIB_PAYS_COTUT IS NOT NULL) OR (D.LIB_PAYS_COTUT IS NOT NULL AND S.LIB_PAYS_COTUT IS NULL)
-  OR D.RESULTAT <> S.RESULTAT OR (D.RESULTAT IS NULL AND S.RESULTAT IS NOT NULL) OR (D.RESULTAT IS NOT NULL AND S.RESULTAT IS NULL)
-  OR D.SOUTENANCE_AUTORIS <> S.SOUTENANCE_AUTORIS OR (D.SOUTENANCE_AUTORIS IS NULL AND S.SOUTENANCE_AUTORIS IS NOT NULL) OR (D.SOUTENANCE_AUTORIS IS NOT NULL AND S.SOUTENANCE_AUTORIS IS NULL)
-  OR D.TEM_AVENANT_COTUT <> S.TEM_AVENANT_COTUT OR (D.TEM_AVENANT_COTUT IS NULL AND S.TEM_AVENANT_COTUT IS NOT NULL) OR (D.TEM_AVENANT_COTUT IS NOT NULL AND S.TEM_AVENANT_COTUT IS NULL)
-  OR D.TITRE <> S.TITRE OR (D.TITRE IS NULL AND S.TITRE IS NOT NULL) OR (D.TITRE IS NOT NULL AND S.TITRE IS NULL)
-  OR D.UNITE_RECH_ID <> S.UNITE_RECH_ID OR (D.UNITE_RECH_ID IS NULL AND S.UNITE_RECH_ID IS NOT NULL) OR (D.UNITE_RECH_ID IS NOT NULL AND S.UNITE_RECH_ID IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_THESE_ANNEE_UNIV" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "ANNEE_UNIV", "THESE_ID", "U_ANNEE_UNIV", "U_THESE_ID") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."ANNEE_UNIV",diff."THESE_ID",diff."U_ANNEE_UNIV",diff."U_THESE_ID" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ANNEE_UNIV ELSE S.ANNEE_UNIV END ANNEE_UNIV,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.THESE_ID ELSE S.THESE_ID END THESE_ID,
-    CASE WHEN D.ANNEE_UNIV <> S.ANNEE_UNIV OR (D.ANNEE_UNIV IS NULL AND S.ANNEE_UNIV IS NOT NULL) OR (D.ANNEE_UNIV IS NOT NULL AND S.ANNEE_UNIV IS NULL) THEN 1 ELSE 0 END U_ANNEE_UNIV,
-    CASE WHEN D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) THEN 1 ELSE 0 END U_THESE_ID
-FROM
-  THESE_ANNEE_UNIV D
-  FULL JOIN SRC_THESE_ANNEE_UNIV S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.ANNEE_UNIV <> S.ANNEE_UNIV OR (D.ANNEE_UNIV IS NULL AND S.ANNEE_UNIV IS NOT NULL) OR (D.ANNEE_UNIV IS NOT NULL AND S.ANNEE_UNIV IS NULL)
-  OR D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_TITRE_ACCES" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "CODE_DEPT_TITRE_ACCES", "CODE_PAYS_TITRE_ACCES", "LIBELLE_ETB_TITRE_ACCES", "LIBELLE_TITRE_ACCES", "THESE_ID", "TITRE_ACCES_INTERNE_EXTERNE", "TYPE_ETB_TITRE_ACCES", "U_CODE_DEPT_TITRE_ACCES", "U_CODE_PAYS_TITRE_ACCES", "U_LIBELLE_ETB_TITRE_ACCES", "U_LIBELLE_TITRE_ACCES", "U_THESE_ID", "U_TITRE_ACCES_INTERNE_EXTERNE", "U_TYPE_ETB_TITRE_ACCES") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."CODE_DEPT_TITRE_ACCES",diff."CODE_PAYS_TITRE_ACCES",diff."LIBELLE_ETB_TITRE_ACCES",diff."LIBELLE_TITRE_ACCES",diff."THESE_ID",diff."TITRE_ACCES_INTERNE_EXTERNE",diff."TYPE_ETB_TITRE_ACCES",diff."U_CODE_DEPT_TITRE_ACCES",diff."U_CODE_PAYS_TITRE_ACCES",diff."U_LIBELLE_ETB_TITRE_ACCES",diff."U_LIBELLE_TITRE_ACCES",diff."U_THESE_ID",diff."U_TITRE_ACCES_INTERNE_EXTERNE",diff."U_TYPE_ETB_TITRE_ACCES" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CODE_DEPT_TITRE_ACCES ELSE S.CODE_DEPT_TITRE_ACCES END CODE_DEPT_TITRE_ACCES,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CODE_PAYS_TITRE_ACCES ELSE S.CODE_PAYS_TITRE_ACCES END CODE_PAYS_TITRE_ACCES,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIBELLE_ETB_TITRE_ACCES ELSE S.LIBELLE_ETB_TITRE_ACCES END LIBELLE_ETB_TITRE_ACCES,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.LIBELLE_TITRE_ACCES ELSE S.LIBELLE_TITRE_ACCES END LIBELLE_TITRE_ACCES,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.THESE_ID ELSE S.THESE_ID END THESE_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TITRE_ACCES_INTERNE_EXTERNE ELSE S.TITRE_ACCES_INTERNE_EXTERNE END TITRE_ACCES_INTERNE_EXTERNE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.TYPE_ETB_TITRE_ACCES ELSE S.TYPE_ETB_TITRE_ACCES END TYPE_ETB_TITRE_ACCES,
-    CASE WHEN D.CODE_DEPT_TITRE_ACCES <> S.CODE_DEPT_TITRE_ACCES OR (D.CODE_DEPT_TITRE_ACCES IS NULL AND S.CODE_DEPT_TITRE_ACCES IS NOT NULL) OR (D.CODE_DEPT_TITRE_ACCES IS NOT NULL AND S.CODE_DEPT_TITRE_ACCES IS NULL) THEN 1 ELSE 0 END U_CODE_DEPT_TITRE_ACCES,
-    CASE WHEN D.CODE_PAYS_TITRE_ACCES <> S.CODE_PAYS_TITRE_ACCES OR (D.CODE_PAYS_TITRE_ACCES IS NULL AND S.CODE_PAYS_TITRE_ACCES IS NOT NULL) OR (D.CODE_PAYS_TITRE_ACCES IS NOT NULL AND S.CODE_PAYS_TITRE_ACCES IS NULL) THEN 1 ELSE 0 END U_CODE_PAYS_TITRE_ACCES,
-    CASE WHEN D.LIBELLE_ETB_TITRE_ACCES <> S.LIBELLE_ETB_TITRE_ACCES OR (D.LIBELLE_ETB_TITRE_ACCES IS NULL AND S.LIBELLE_ETB_TITRE_ACCES IS NOT NULL) OR (D.LIBELLE_ETB_TITRE_ACCES IS NOT NULL AND S.LIBELLE_ETB_TITRE_ACCES IS NULL) THEN 1 ELSE 0 END U_LIBELLE_ETB_TITRE_ACCES,
-    CASE WHEN D.LIBELLE_TITRE_ACCES <> S.LIBELLE_TITRE_ACCES OR (D.LIBELLE_TITRE_ACCES IS NULL AND S.LIBELLE_TITRE_ACCES IS NOT NULL) OR (D.LIBELLE_TITRE_ACCES IS NOT NULL AND S.LIBELLE_TITRE_ACCES IS NULL) THEN 1 ELSE 0 END U_LIBELLE_TITRE_ACCES,
-    CASE WHEN D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL) THEN 1 ELSE 0 END U_THESE_ID,
-    CASE WHEN D.TITRE_ACCES_INTERNE_EXTERNE <> S.TITRE_ACCES_INTERNE_EXTERNE OR (D.TITRE_ACCES_INTERNE_EXTERNE IS NULL AND S.TITRE_ACCES_INTERNE_EXTERNE IS NOT NULL) OR (D.TITRE_ACCES_INTERNE_EXTERNE IS NOT NULL AND S.TITRE_ACCES_INTERNE_EXTERNE IS NULL) THEN 1 ELSE 0 END U_TITRE_ACCES_INTERNE_EXTERNE,
-    CASE WHEN D.TYPE_ETB_TITRE_ACCES <> S.TYPE_ETB_TITRE_ACCES OR (D.TYPE_ETB_TITRE_ACCES IS NULL AND S.TYPE_ETB_TITRE_ACCES IS NOT NULL) OR (D.TYPE_ETB_TITRE_ACCES IS NOT NULL AND S.TYPE_ETB_TITRE_ACCES IS NULL) THEN 1 ELSE 0 END U_TYPE_ETB_TITRE_ACCES
-FROM
-  TITRE_ACCES D
-  FULL JOIN SRC_TITRE_ACCES S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.CODE_DEPT_TITRE_ACCES <> S.CODE_DEPT_TITRE_ACCES OR (D.CODE_DEPT_TITRE_ACCES IS NULL AND S.CODE_DEPT_TITRE_ACCES IS NOT NULL) OR (D.CODE_DEPT_TITRE_ACCES IS NOT NULL AND S.CODE_DEPT_TITRE_ACCES IS NULL)
-  OR D.CODE_PAYS_TITRE_ACCES <> S.CODE_PAYS_TITRE_ACCES OR (D.CODE_PAYS_TITRE_ACCES IS NULL AND S.CODE_PAYS_TITRE_ACCES IS NOT NULL) OR (D.CODE_PAYS_TITRE_ACCES IS NOT NULL AND S.CODE_PAYS_TITRE_ACCES IS NULL)
-  OR D.LIBELLE_ETB_TITRE_ACCES <> S.LIBELLE_ETB_TITRE_ACCES OR (D.LIBELLE_ETB_TITRE_ACCES IS NULL AND S.LIBELLE_ETB_TITRE_ACCES IS NOT NULL) OR (D.LIBELLE_ETB_TITRE_ACCES IS NOT NULL AND S.LIBELLE_ETB_TITRE_ACCES IS NULL)
-  OR D.LIBELLE_TITRE_ACCES <> S.LIBELLE_TITRE_ACCES OR (D.LIBELLE_TITRE_ACCES IS NULL AND S.LIBELLE_TITRE_ACCES IS NOT NULL) OR (D.LIBELLE_TITRE_ACCES IS NOT NULL AND S.LIBELLE_TITRE_ACCES IS NULL)
-  OR D.THESE_ID <> S.THESE_ID OR (D.THESE_ID IS NULL AND S.THESE_ID IS NOT NULL) OR (D.THESE_ID IS NOT NULL AND S.THESE_ID IS NULL)
-  OR D.TITRE_ACCES_INTERNE_EXTERNE <> S.TITRE_ACCES_INTERNE_EXTERNE OR (D.TITRE_ACCES_INTERNE_EXTERNE IS NULL AND S.TITRE_ACCES_INTERNE_EXTERNE IS NOT NULL) OR (D.TITRE_ACCES_INTERNE_EXTERNE IS NOT NULL AND S.TITRE_ACCES_INTERNE_EXTERNE IS NULL)
-  OR D.TYPE_ETB_TITRE_ACCES <> S.TYPE_ETB_TITRE_ACCES OR (D.TYPE_ETB_TITRE_ACCES IS NULL AND S.TYPE_ETB_TITRE_ACCES IS NOT NULL) OR (D.TYPE_ETB_TITRE_ACCES IS NOT NULL AND S.TYPE_ETB_TITRE_ACCES IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_UNITE_RECH" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "STRUCTURE_ID", "U_STRUCTURE_ID") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."STRUCTURE_ID",diff."U_STRUCTURE_ID" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.STRUCTURE_ID ELSE S.STRUCTURE_ID END STRUCTURE_ID,
-    CASE WHEN D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL) THEN 1 ELSE 0 END U_STRUCTURE_ID
-FROM
-  UNITE_RECH D
-  FULL JOIN SRC_UNITE_RECH S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.STRUCTURE_ID <> S.STRUCTURE_ID OR (D.STRUCTURE_ID IS NULL AND S.STRUCTURE_ID IS NOT NULL) OR (D.STRUCTURE_ID IS NOT NULL AND S.STRUCTURE_ID IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_DIFF_VARIABLE" ("ID", "SOURCE_ID", "SOURCE_CODE", "IMPORT_ACTION", "CODE", "DATE_DEB_VALIDITE", "DATE_FIN_VALIDITE", "DESCRIPTION", "ETABLISSEMENT_ID", "VALEUR", "U_CODE", "U_DATE_DEB_VALIDITE", "U_DATE_FIN_VALIDITE", "U_DESCRIPTION", "U_ETABLISSEMENT_ID", "U_VALEUR") AS 
-  select diff."ID",diff."SOURCE_ID",diff."SOURCE_CODE",diff."IMPORT_ACTION",diff."CODE",diff."DATE_DEB_VALIDITE",diff."DATE_FIN_VALIDITE",diff."DESCRIPTION",diff."ETABLISSEMENT_ID",diff."VALEUR",diff."U_CODE",diff."U_DATE_DEB_VALIDITE",diff."U_DATE_FIN_VALIDITE",diff."U_DESCRIPTION",diff."U_ETABLISSEMENT_ID",diff."U_VALEUR" from (SELECT
-  COALESCE( D.id, S.id ) id,
-  COALESCE( S.source_id, D.source_id ) source_id,
-  COALESCE( S.source_code, D.source_code ) source_code,
-CASE
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NULL THEN 'insert'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'update'
-    WHEN S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE) THEN 'delete'
-    WHEN S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE THEN 'undelete' END import_action,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.CODE ELSE S.CODE END CODE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_DEB_VALIDITE ELSE S.DATE_DEB_VALIDITE END DATE_DEB_VALIDITE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DATE_FIN_VALIDITE ELSE S.DATE_FIN_VALIDITE END DATE_FIN_VALIDITE,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.DESCRIPTION ELSE S.DESCRIPTION END DESCRIPTION,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.ETABLISSEMENT_ID ELSE S.ETABLISSEMENT_ID END ETABLISSEMENT_ID,
-    CASE WHEN S.source_code IS NULL AND D.source_code IS NOT NULL THEN D.VALEUR ELSE S.VALEUR END VALEUR,
-    CASE WHEN D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL) THEN 1 ELSE 0 END U_CODE,
-    CASE WHEN D.DATE_DEB_VALIDITE <> S.DATE_DEB_VALIDITE OR (D.DATE_DEB_VALIDITE IS NULL AND S.DATE_DEB_VALIDITE IS NOT NULL) OR (D.DATE_DEB_VALIDITE IS NOT NULL AND S.DATE_DEB_VALIDITE IS NULL) THEN 1 ELSE 0 END U_DATE_DEB_VALIDITE,
-    CASE WHEN D.DATE_FIN_VALIDITE <> S.DATE_FIN_VALIDITE OR (D.DATE_FIN_VALIDITE IS NULL AND S.DATE_FIN_VALIDITE IS NOT NULL) OR (D.DATE_FIN_VALIDITE IS NOT NULL AND S.DATE_FIN_VALIDITE IS NULL) THEN 1 ELSE 0 END U_DATE_FIN_VALIDITE,
-    CASE WHEN D.DESCRIPTION <> S.DESCRIPTION OR (D.DESCRIPTION IS NULL AND S.DESCRIPTION IS NOT NULL) OR (D.DESCRIPTION IS NOT NULL AND S.DESCRIPTION IS NULL) THEN 1 ELSE 0 END U_DESCRIPTION,
-    CASE WHEN D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL) THEN 1 ELSE 0 END U_ETABLISSEMENT_ID,
-    CASE WHEN D.VALEUR <> S.VALEUR OR (D.VALEUR IS NULL AND S.VALEUR IS NOT NULL) OR (D.VALEUR IS NOT NULL AND S.VALEUR IS NULL) THEN 1 ELSE 0 END U_VALEUR
-FROM
-  VARIABLE D
-  FULL JOIN SRC_VARIABLE S ON S.source_id = D.source_id AND S.source_code = D.source_code
-WHERE
-       (S.source_code IS NOT NULL AND D.source_code IS NOT NULL AND D.histo_destruction IS NOT NULL AND D.histo_destruction <= SYSDATE)
-    OR (S.source_code IS NULL AND D.source_code IS NOT NULL AND (D.histo_destruction IS NULL OR D.histo_destruction > SYSDATE))
-    OR (S.source_code IS NOT NULL AND D.source_code IS NULL)
-    OR D.CODE <> S.CODE OR (D.CODE IS NULL AND S.CODE IS NOT NULL) OR (D.CODE IS NOT NULL AND S.CODE IS NULL)
-  OR D.DATE_DEB_VALIDITE <> S.DATE_DEB_VALIDITE OR (D.DATE_DEB_VALIDITE IS NULL AND S.DATE_DEB_VALIDITE IS NOT NULL) OR (D.DATE_DEB_VALIDITE IS NOT NULL AND S.DATE_DEB_VALIDITE IS NULL)
-  OR D.DATE_FIN_VALIDITE <> S.DATE_FIN_VALIDITE OR (D.DATE_FIN_VALIDITE IS NULL AND S.DATE_FIN_VALIDITE IS NOT NULL) OR (D.DATE_FIN_VALIDITE IS NOT NULL AND S.DATE_FIN_VALIDITE IS NULL)
-  OR D.DESCRIPTION <> S.DESCRIPTION OR (D.DESCRIPTION IS NULL AND S.DESCRIPTION IS NOT NULL) OR (D.DESCRIPTION IS NOT NULL AND S.DESCRIPTION IS NULL)
-  OR D.ETABLISSEMENT_ID <> S.ETABLISSEMENT_ID OR (D.ETABLISSEMENT_ID IS NULL AND S.ETABLISSEMENT_ID IS NOT NULL) OR (D.ETABLISSEMENT_ID IS NOT NULL AND S.ETABLISSEMENT_ID IS NULL)
-  OR D.VALEUR <> S.VALEUR OR (D.VALEUR IS NULL AND S.VALEUR IS NOT NULL) OR (D.VALEUR IS NOT NULL AND S.VALEUR IS NULL)
-) diff JOIN source on source.id = diff.source_id WHERE import_action IS NOT NULL AND source.importable = 1;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_IMPORT_TAB_COLS" ("TABLE_NAME", "COLUMN_NAME", "DATA_TYPE", "LENGTH", "NULLABLE", "HAS_DEFAULT", "C_TABLE_NAME", "C_COLUMN_NAME", "IMPORT_ACTIF") AS 
-  WITH importable_tables (table_name )AS (
-    SELECT
-      t.table_name
-    FROM
-      user_tab_cols c
-      join user_tables t on t.table_name = c.table_name
-    WHERE
-      c.column_name = 'SOURCE_CODE'
-
-    MINUS
-
-    SELECT
-      mview_name table_name
-    FROM
-      USER_MVIEWS
-  ), c_values (table_name, column_name, c_table_name, c_column_name) AS (
-      SELECT
-        tc.table_name,
-        tc.column_name,
-        pcc.table_name c_table_name,
-        pcc.column_name c_column_name
-      FROM
-        user_tab_cols tc
-        JOIN USER_CONS_COLUMNS cc ON cc.table_name = tc.table_name AND cc.column_name = tc.column_name
-        JOIN USER_CONSTRAINTS c ON c.constraint_name = cc.constraint_name
-        JOIN USER_CONSTRAINTS pc ON pc.constraint_name = c.r_constraint_name
-        JOIN USER_CONS_COLUMNS pcc ON pcc.constraint_name = pc.constraint_name
-      WHERE
-        c.constraint_type = 'R' AND pc.constraint_type = 'P'
-  )
-  SELECT
-    tc.table_name,
-    tc.column_name,
-    tc.data_type,
-    CASE WHEN tc.char_length = 0 THEN NULL ELSE tc.char_length END length,
-    CASE WHEN tc.nullable = 'Y' THEN 1 ELSE 0 END nullable,
-    CASE WHEN tc.data_default IS NOT NULL THEN 1 ELSE 0 END has_default,
-    cv.c_table_name,
-    cv.c_column_name,
-    CASE WHEN stc.table_name IS NULL THEN 0 ELSE 1 END AS import_actif
-  FROM
-    user_tab_cols tc
-    JOIN importable_tables t ON t.table_name = tc.table_name
-    LEFT JOIN c_values cv ON cv.table_name = tc.table_name AND cv.column_name = tc.column_name
-    LEFT JOIN user_tab_cols stc ON stc.table_name = 'SRC_' || tc.table_name AND stc.column_name = tc.column_name
-  WHERE
-    tc.column_name not like 'HISTO_%'
-  ORDER BY
-    tc.table_name, tc.column_id;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_INDIVIDU_ROLE" ("UTILISATEUR_ID", "NOM_USUEL", "PRENOM1", "EMAIL", "SOURCE_CODE", "ROLE_ID", "ID") AS 
-  select
-    i.id utilisateur_id, i.NOM_USUEL, i.PRENOM1, i.EMAIL, i.SOURCE_CODE,
-    r.ROLE_ID, r.id
-  from INDIVIDU_ROLE ir
-    join INDIVIDU i on i.id = ir.INDIVIDU_ID
-    join role r on r.id = ir.ROLE_ID
-  order by NOM_USUEL, PRENOM1, r.ROLE_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ARCHIVAB_VA" ("THESE_ID", "RETRAITEMENT", "EST_VALIDE") AS 
-  SELECT
-    ft.these_id,
-    ft.RETRAITEMENT,
-    vf.EST_VALIDE
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VA'
-         JOIN VALIDITE_FICHIER vf ON vf.FICHIER_ID = f.id
-where EST_ANNEXE = 0 AND EST_EXPURGE = 0;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ARCHIVAB_VAC" ("THESE_ID", "RETRAITEMENT", "EST_VALIDE") AS 
-  SELECT
-    ft.these_id,
-    ft.RETRAITEMENT,
-    vf.EST_VALIDE
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VAC'
-         JOIN VALIDITE_FICHIER vf ON vf.FICHIER_ID = f.id
-where EST_ANNEXE = 0 AND EST_EXPURGE = 0;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ARCHIVAB_VO" ("THESE_ID", "EST_VALIDE") AS 
-  SELECT
-    ft.these_id,
-    vf.EST_VALIDE
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VO'
-         JOIN VALIDITE_FICHIER vf ON vf.FICHIER_ID = f.id
-where EST_ANNEXE = 0 AND EST_EXPURGE = 0;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ARCHIVAB_VOC" ("THESE_ID", "EST_VALIDE") AS 
-  SELECT
-    ft.these_id,
-    vf.EST_VALIDE
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VOC'
-         JOIN VALIDITE_FICHIER vf ON vf.FICHIER_ID = f.id
-where EST_ANNEXE = 0 AND EST_EXPURGE = 0;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ATTESTATIONS" ("THESE_ID", "ATTESTATION_ID") AS 
-  SELECT
-    a.these_id,
-    a.id AS attestation_id
-FROM ATTESTATION a
-where a.VERSION_CORRIGEE = 0 and a.HISTO_DESTRUCTEUR_ID is null;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_ATTESTATIONS_VOC" ("THESE_ID", "ATTESTATION_ID") AS 
-  SELECT
-    a.these_id,
-    a.id AS attestation_id
-FROM ATTESTATION a
-         -- NB: on se base sur l'existence d'une version corrigée et pas sur t.CORRECTION_AUTORISEE qui peut revenir à null
-         JOIN FICHIER_THESE ft ON ft.THESE_ID = a.THESE_ID AND EST_ANNEXE = 0 AND EST_EXPURGE = 0
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VOC'
-where a.VERSION_CORRIGEE = 1 and a.HISTO_DESTRUCTEUR_ID is null;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_AUTORIS_DIFF_THESE" ("THESE_ID", "DIFFUSION_ID") AS 
-  SELECT
-    d.these_id,
-    d.id AS diffusion_id
-FROM DIFFUSION d
-where d.VERSION_CORRIGEE = 0 and d.HISTO_DESTRUCTEUR_ID is null;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_AUTORIS_DIFF_THESE_VOC" ("THESE_ID", "DIFFUSION_ID") AS 
-  SELECT
-    d.these_id,
-    d.id AS diffusion_id
-FROM DIFFUSION d
-         -- NB: on se base sur l'existence d'une version corrigée et pas sur t.CORRECTION_AUTORISEE qui peut revenir à null
-         JOIN FICHIER_THESE ft ON ft.THESE_ID = d.THESE_ID AND EST_ANNEXE = 0 AND EST_EXPURGE = 0
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VOC'
-where d.VERSION_CORRIGEE = 1 and d.HISTO_DESTRUCTEUR_ID is null;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_PV_SOUT" ("THESE_ID", "FICHIER_ID") AS 
-  SELECT
-    ft.these_id,
-    f.id AS fichier_id
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN NATURE_FICHIER nf on f.NATURE_ID = nf.id and nf.CODE = 'PV_SOUTENANCE';
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_RAPPORT_SOUT" ("THESE_ID", "FICHIER_ID") AS 
-  SELECT
-    ft.these_id,
-    f.id AS fichier_id
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN NATURE_FICHIER nf on f.NATURE_ID = nf.id and nf.CODE = 'RAPPORT_SOUTENANCE';
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VA" ("THESE_ID", "FICHIER_ID") AS 
-  SELECT
-    ft.these_id,
-    f.id AS fichier_id
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN NATURE_FICHIER nf ON f.NATURE_ID = nf.id AND nf.CODE = 'THESE_PDF'
-         JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VA'
-where EST_ANNEXE = 0 AND EST_EXPURGE = 0;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VAC" ("THESE_ID", "FICHIER_ID") AS 
-  SELECT
-    ft.these_id,
-    f.id AS fichier_id
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN NATURE_FICHIER nf ON f.NATURE_ID = nf.id AND nf.CODE = 'THESE_PDF'
-         JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VAC'
-where EST_ANNEXE = 0 AND EST_EXPURGE = 0;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VC_VALID_DIR" ("ID", "THESE_ID", "INDIVIDU_ID", "VALIDE") AS 
-  WITH validations_attendues AS (
-    SELECT a.THESE_ID, a.INDIVIDU_ID, tv.ID as TYPE_VALIDATION_ID
-    FROM ACTEUR a
-             JOIN ROLE r on a.ROLE_ID = r.ID and r.CODE = 'D' -- directeur de thèse
-             JOIN TYPE_VALIDATION tv on tv.code = 'CORRECTION_THESE'
-    where a.HISTO_DESTRUCTION is null
-)
-SELECT
-    ROWNUM as id,
-    va.these_id,
-    va.INDIVIDU_ID,
-    CASE WHEN v.id is not null THEN 1 ELSE 0 END valide
-FROM validations_attendues va
-         LEFT JOIN VALIDATION v ON
-            v.THESE_ID = va.THESE_ID and
-            v.INDIVIDU_ID = va.INDIVIDU_ID and -- suppose que l'INDIVIDU_ID soit enregistré lors de la validation
-            v.HISTO_DESTRUCTEUR_ID is null and
-            v.TYPE_VALIDATION_ID = va.TYPE_VALIDATION_ID;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VC_VALID_DOCT" ("THESE_ID", "VALIDE") AS 
-  SELECT
-    v.these_id,
-    CASE WHEN v.id is not null THEN 1 ELSE 0 END valide
-FROM VALIDATION v
-         JOIN TYPE_VALIDATION tv on v.TYPE_VALIDATION_ID = tv.id and tv.code = 'DEPOT_THESE_CORRIGEE'
-where v.HISTO_DESTRUCTEUR_ID is null;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VO" ("THESE_ID", "FICHIER_ID") AS 
-  SELECT
-    ft.these_id,
-    f.id AS fichier_id
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN NATURE_FICHIER nf ON f.NATURE_ID = nf.id AND nf.CODE = 'THESE_PDF'
-         JOIN VERSION_FICHIER vf ON f.VERSION_FICHIER_ID = vf.ID AND vf.CODE = 'VO'
-where EST_ANNEXE = 0 AND EST_EXPURGE = 0 AND RETRAITEMENT IS NULL;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_DEPOT_VOC" ("THESE_ID", "FICHIER_ID") AS 
-  SELECT
-    ft.these_id,
-    f.id AS fichier_id
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN NATURE_FICHIER nf ON f.NATURE_ID = nf.id AND nf.CODE = 'THESE_PDF'
-         JOIN VERSION_FICHIER vf ON f.VERSION_FICHIER_ID = vf.ID AND vf.CODE = 'VOC'
-where EST_ANNEXE = 0 AND EST_EXPURGE = 0 AND RETRAITEMENT IS NULL;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_RDV_BU_SAISIE_BU" ("THESE_ID", "OK") AS 
-  SELECT
-    r.these_id,
-    CASE WHEN r.VERSION_ARCHIVABLE_FOURNIE = 1 and r.CONVENTION_MEL_SIGNEE = 1 and r.EXEMPL_PAPIER_FOURNI = 1
-        and r.MOTS_CLES_RAMEAU is not null
-             THEN 1 ELSE 0 END ok
-FROM RDV_BU r;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_RDV_BU_SAISIE_DOCT" ("THESE_ID", "OK") AS 
-  SELECT
-    r.these_id,
-    CASE WHEN r.COORD_DOCTORANT IS NOT NULL AND r.DISPO_DOCTORANT IS NOT NULL
-             THEN 1 ELSE 0 END ok
-FROM RDV_BU r;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_RDV_BU_VALIDATION_BU" ("THESE_ID", "VALIDE") AS 
-  SELECT
-    v.these_id,
-    CASE WHEN v.id is not null THEN 1 ELSE 0 END valide
-FROM VALIDATION v
-         JOIN TYPE_VALIDATION tv on v.TYPE_VALIDATION_ID = tv.id and tv.code = 'RDV_BU'
-where v.HISTO_DESTRUCTEUR_ID is null;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_SIGNALEMENT_THESE" ("THESE_ID", "DESCRIPTION_ID") AS 
-  SELECT
-    d.these_id,
-    d.id AS description_id
-FROM METADONNEE_THESE d;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_VALIDATION_PAGE_COUV" ("THESE_ID", "VALIDE") AS 
-  SELECT
-    v.these_id,
-    CASE WHEN v.id is not null THEN 1 ELSE 0 END valide
-FROM VALIDATION v
-         JOIN TYPE_VALIDATION tv on v.TYPE_VALIDATION_ID = tv.id and tv.code = 'PAGE_DE_COUVERTURE'
-where v.HISTO_DESTRUCTEUR_ID is null;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_VERIF_VA" ("THESE_ID", "EST_CONFORME") AS 
-  SELECT
-    ft.these_id,
-    ft.EST_CONFORME
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VA'
-where EST_ANNEXE = 0 AND EST_EXPURGE = 0;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_VERIF_VAC" ("THESE_ID", "EST_CONFORME") AS 
-  SELECT
-    ft.these_id,
-    ft.EST_CONFORME
-FROM FICHIER_THESE ft
-         JOIN FICHIER f ON ft.FICHIER_ID = f.id and f.HISTO_DESTRUCTION is null
-         JOIN VERSION_FICHIER v ON f.VERSION_FICHIER_ID = v.id AND v.CODE = 'VAC'
-where EST_ANNEXE = 0 AND EST_EXPURGE = 0;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_SITU_VERSION_PAPIER_CORRIGEE" ("THESE_ID", "VALIDATION_ID") AS 
-  SELECT
-    v.these_id,
-    v.id as validation_id
-FROM VALIDATION v
-         JOIN TYPE_VALIDATION tv ON tv.ID = v.TYPE_VALIDATION_ID
-WHERE tv.CODE='VERSION_PAPIER_CORRIGEE';
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_THESE_ANNEE_UNIV_FIRST" ("ID", "SOURCE_CODE", "SOURCE_ID", "THESE_ID", "ANNEE_UNIV", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION") AS 
-  with firsts(SOURCE_CODE) as (
-    select distinct first_value(SOURCE_CODE) OVER (PARTITION BY THESE_ID ORDER BY ANNEE_UNIV)
-    from THESE_ANNEE_UNIV
-    )
-    select au."ID",au."SOURCE_CODE",au."SOURCE_ID",au."THESE_ID",au."ANNEE_UNIV",au."HISTO_CREATEUR_ID",au."HISTO_CREATION",au."HISTO_MODIFICATEUR_ID",au."HISTO_MODIFICATION",au."HISTO_DESTRUCTEUR_ID",au."HISTO_DESTRUCTION"
-    from THESE_ANNEE_UNIV au
-           join firsts fi on au.SOURCE_CODE = fi.SOURCE_CODE;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_TMP_ANOMALIE" ("ID", "ETABLISSEMENT_ID", "TABLE_NAME", "SOURCE_CODE", "TABLE_COLUMN", "COLUMN_VALUE", "DESCRIPTION") AS 
-  with ds(ETABLISSEMENT_ID, TABLE_NAME, SOURCE_CODE, TABLE_COLUMN, COLUMN_VALUE, DESCRIPTION) as (
-    --
-    -- TMP_ACTEUR
-    --
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ACTEUR',
-      SOURCE_CODE,
-      'ETABLISSEMENT_ID',
-      ETABLISSEMENT_ID,
-      'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID
-    from TMP_ACTEUR tmp
-    where not exists(select *
-                     from STRUCTURE t
-                     where t.CODE = tmp.ETABLISSEMENT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ACTEUR',
-      SOURCE_CODE,
-      'SOURCE_ID',
-      SOURCE_ID,
-      'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID
-    from TMP_ACTEUR tmp
-    where not exists(select *
-                     from SOURCE t
-                     where t.CODE = tmp.SOURCE_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ACTEUR',
-      SOURCE_CODE,
-      'INDIVIDU_ID',
-      INDIVIDU_ID,
-      'Aucun enregistrement existant dans TMP_INDIVIDU avec SOURCE_CODE = ' || INDIVIDU_ID
-    from TMP_ACTEUR tmp
-    where not exists(select *
-                     from TMP_INDIVIDU t
-                     where t.SOURCE_CODE = tmp.INDIVIDU_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ACTEUR',
-      SOURCE_CODE,
-      'THESE_ID',
-      THESE_ID,
-      'Aucun enregistrement existant dans TMP_THESE avec SOURCE_CODE = ' || THESE_ID
-    from TMP_ACTEUR tmp
-    where not exists(select *
-                     from TMP_THESE t
-                     where t.SOURCE_CODE = tmp.THESE_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ACTEUR',
-      SOURCE_CODE,
-      'ROLE_ID',
-      ROLE_ID,
-      'Aucun enregistrement existant dans TMP_ROLE avec SOURCE_CODE = ' || ROLE_ID
-    from TMP_ACTEUR tmp
-    where not exists(select *
-                     from TMP_ROLE t
-                     where t.SOURCE_CODE = tmp.ROLE_ID)
-    union all
-
-    --
-    -- TMP_DOCTORANT
-    --
-    select
-      ETABLISSEMENT_ID,
-      'TMP_DOCTORANT',
-      SOURCE_CODE,
-      'ETABLISSEMENT_ID',
-      ETABLISSEMENT_ID,
-      'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID
-    from TMP_DOCTORANT tmp
-    where not exists(select *
-                     from STRUCTURE t
-                     where t.CODE = tmp.ETABLISSEMENT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_DOCTORANT',
-      SOURCE_CODE,
-      'SOURCE_ID',
-      SOURCE_ID,
-      'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID
-    from TMP_DOCTORANT tmp
-    where not exists(select *
-                     from SOURCE t
-                     where t.CODE = tmp.SOURCE_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_DOCTORANT',
-      SOURCE_CODE,
-      'INDIVIDU_ID',
-      INDIVIDU_ID,
-      'Aucun enregistrement existant dans TMP_INDIVIDU avec SOURCE_CODE = ' || INDIVIDU_ID
-    from TMP_DOCTORANT tmp
-    where not exists(select *
-                     from TMP_INDIVIDU t
-                     where t.SOURCE_CODE = tmp.INDIVIDU_ID)
-    union all
-
-    --
-    -- TMP_ECOLE_DOCT
-    --
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ECOLE_DOCT',
-      SOURCE_CODE,
-      'ETABLISSEMENT_ID',
-      ETABLISSEMENT_ID,
-      'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID
-    from TMP_ECOLE_DOCT tmp
-    where not exists(select *
-                     from STRUCTURE t
-                     where t.CODE = tmp.ETABLISSEMENT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ECOLE_DOCT',
-      SOURCE_CODE,
-      'SOURCE_ID',
-      SOURCE_ID,
-      'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID
-    from TMP_ECOLE_DOCT tmp
-    where not exists(select *
-                     from SOURCE t
-                     where t.CODE = tmp.SOURCE_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ECOLE_DOCT',
-      SOURCE_CODE,
-      'STRUCTURE_ID',
-      STRUCTURE_ID,
-      'Aucun enregistrement existant dans TMP_STRUCTURE avec SOURCE_CODE = ' || STRUCTURE_ID
-    from TMP_ECOLE_DOCT tmp
-    where not exists(select *
-                     from TMP_STRUCTURE t
-                     where t.SOURCE_CODE = tmp.STRUCTURE_ID)
-    union all
-
-    --
-    -- TMP_ETABLISSEMENT
-    --
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ETABLISSEMENT',
-      SOURCE_CODE,
-      'ETABLISSEMENT_ID',
-      ETABLISSEMENT_ID,
-      'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID
-    from TMP_STRUCTURE tmp
-    where not exists(select *
-                     from STRUCTURE t
-                     where t.CODE = tmp.ETABLISSEMENT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ETABLISSEMENT',
-      SOURCE_CODE,
-      'SOURCE_ID',
-      SOURCE_ID,
-      'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID
-    from TMP_ETABLISSEMENT tmp
-    where not exists(select *
-                     from SOURCE t
-                     where t.CODE = tmp.SOURCE_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ETABLISSEMENT',
-      SOURCE_CODE,
-      'STRUCTURE_ID',
-      STRUCTURE_ID,
-      'Aucun enregistrement existant dans TMP_STRUCTURE avec SOURCE_CODE = ' || STRUCTURE_ID
-    from TMP_ETABLISSEMENT tmp
-    where not exists(select *
-                     from TMP_ETABLISSEMENT t
-                     where t.SOURCE_CODE = tmp.STRUCTURE_ID)
-    union all
-
-    --
-    -- TMP_INDIVIDU
-    --
-    select
-      ETABLISSEMENT_ID,
-      'TMP_INDIVIDU',
-      SOURCE_CODE,
-      'ETABLISSEMENT_ID',
-      ETABLISSEMENT_ID,
-      'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID
-    from TMP_INDIVIDU tmp
-    where not exists(select *
-                     from STRUCTURE t
-                     where t.CODE = tmp.ETABLISSEMENT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_INDIVIDU',
-      SOURCE_CODE,
-      'SOURCE_ID',
-      SOURCE_ID,
-      'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID
-    from TMP_INDIVIDU tmp
-    where not exists(select *
-                     from SOURCE t
-                     where t.CODE = tmp.SOURCE_ID)
-    union all
-
-    --
-    -- TMP_ROLE
-    --
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ROLE',
-      SOURCE_CODE,
-      'ETABLISSEMENT_ID',
-      ETABLISSEMENT_ID,
-      'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID
-    from TMP_ROLE tmp
-    where not exists(select *
-                     from STRUCTURE t
-                     where t.CODE = tmp.ETABLISSEMENT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_ROLE',
-      SOURCE_CODE,
-      'SOURCE_ID',
-      SOURCE_ID,
-      'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID
-    from TMP_ROLE tmp
-    where not exists(select *
-                     from SOURCE t
-                     where t.CODE = tmp.SOURCE_ID)
-    union all
-
-    --
-    -- TMP_STRUCTURE
-    --
-    select
-      ETABLISSEMENT_ID,
-      'TMP_STRUCTURE',
-      SOURCE_CODE,
-      'ETABLISSEMENT_ID',
-      ETABLISSEMENT_ID,
-      'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID
-    from TMP_STRUCTURE tmp
-    where not exists(select *
-                     from STRUCTURE t
-                     where t.CODE = tmp.ETABLISSEMENT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_STRUCTURE',
-      SOURCE_CODE,
-      'SOURCE_ID',
-      SOURCE_ID,
-      'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID
-    from TMP_STRUCTURE tmp
-    where not exists(select *
-                     from SOURCE t
-                     where t.CODE = tmp.SOURCE_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_STRUCTURE',
-      SOURCE_CODE,
-      'TYPE_STRUCTURE_ID',
-      TYPE_STRUCTURE_ID,
-      'Aucun enregistrement existant dans TYPE_STRUCTURE avec CODE = ' || TYPE_STRUCTURE_ID
-    from TMP_STRUCTURE tmp
-    where not exists(select *
-                     from TYPE_STRUCTURE t
-                     where t.CODE = tmp.TYPE_STRUCTURE_ID)
-    union all
-
-    --
-    -- TMP_THESE
-    --
-    select
-      ETABLISSEMENT_ID,
-      'TMP_THESE',
-      SOURCE_CODE,
-      'ETABLISSEMENT_ID',
-      ETABLISSEMENT_ID,
-      'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID
-    from TMP_THESE tmp
-    where not exists(select *
-                     from STRUCTURE t
-                     where t.CODE = tmp.ETABLISSEMENT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_THESE',
-      SOURCE_CODE,
-      'SOURCE_ID',
-      SOURCE_ID,
-      'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID
-    from TMP_THESE tmp
-    where not exists(select *
-                     from SOURCE t
-                     where t.CODE = tmp.SOURCE_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_THESE',
-      SOURCE_CODE,
-      'DOCTORANT_ID',
-      DOCTORANT_ID,
-      'Aucun enregistrement existant dans TMP_DOCTORANT avec SOURCE_CODE = ' || DOCTORANT_ID
-    from TMP_THESE tmp
-    where not exists(select *
-                     from TMP_DOCTORANT t
-                     where t.SOURCE_CODE = tmp.DOCTORANT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_THESE',
-      SOURCE_CODE,
-      'ECOLE_DOCT_ID',
-      ECOLE_DOCT_ID,
-      'Aucun enregistrement existant dans TMP_ECOLE_DOCT avec SOURCE_CODE = ' || ECOLE_DOCT_ID
-    from TMP_THESE tmp
-    where not exists(select *
-                     from TMP_ECOLE_DOCT t
-                     where t.SOURCE_CODE = tmp.ECOLE_DOCT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_THESE',
-      SOURCE_CODE,
-      'UNITE_RECH_ID',
-      UNITE_RECH_ID,
-      'Aucun enregistrement existant dans TMP_UNITE_RECH avec SOURCE_CODE = ' || UNITE_RECH_ID
-    from TMP_THESE tmp
-    where not exists(select *
-                     from TMP_UNITE_RECH t
-                     where t.SOURCE_CODE = tmp.UNITE_RECH_ID)
-    union all
-
-    --
-    -- TMP_UNITE_RECH
-    --
-    select
-      ETABLISSEMENT_ID,
-      'TMP_UNITE_RECH',
-      SOURCE_CODE,
-      'ETABLISSEMENT_ID',
-      ETABLISSEMENT_ID,
-      'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID
-    from TMP_UNITE_RECH tmp
-    where not exists(select *
-                     from STRUCTURE t
-                     where t.CODE = tmp.ETABLISSEMENT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_UNITE_RECH',
-      SOURCE_CODE,
-      'SOURCE_ID',
-      SOURCE_ID,
-      'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID
-    from TMP_UNITE_RECH tmp
-    where not exists(select *
-                     from SOURCE t
-                     where t.CODE = tmp.SOURCE_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_UNITE_RECH',
-      SOURCE_CODE,
-      'STRUCTURE_ID',
-      STRUCTURE_ID,
-      'Aucun enregistrement existant dans TMP_STRUCTURE avec SOURCE_CODE = ' || STRUCTURE_ID
-    from TMP_UNITE_RECH tmp
-    where not exists(select *
-                     from TMP_STRUCTURE t
-                     where t.SOURCE_CODE = tmp.STRUCTURE_ID)
-    union all
-
-    --
-    -- TMP_VARIABLE
-    --
-    select
-      ETABLISSEMENT_ID,
-      'TMP_VARIABLE',
-      SOURCE_CODE,
-      'ETABLISSEMENT_ID',
-      ETABLISSEMENT_ID,
-      'Aucun enregistrement existant dans ETABLISSEMENT avec CODE = ' || ETABLISSEMENT_ID
-    from TMP_VARIABLE tmp
-    where not exists(select *
-                     from STRUCTURE t
-                     where t.CODE = tmp.ETABLISSEMENT_ID)
-    union all
-    select
-      ETABLISSEMENT_ID,
-      'TMP_VARIABLE',
-      SOURCE_CODE,
-      'SOURCE_ID',
-      SOURCE_ID,
-      'Aucun enregistrement existant dans SOURCE avec CODE = ' || SOURCE_ID
-    from TMP_VARIABLE tmp
-    where not exists(select *
-                     from SOURCE t
-                     where t.CODE = tmp.SOURCE_ID)
-  )
-
-  select rownum as id, ETABLISSEMENT_ID, TABLE_NAME, SOURCE_CODE, TABLE_COLUMN, COLUMN_VALUE, DESCRIPTION
-  from ds;
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_WF_ETAPE_PERTIN" ("THESE_ID", "ETAPE_ID", "CODE", "ORDRE", "ID") AS 
-  select
-    to_number(these_id) these_id,
-    to_number(etape_id) etape_id,
-    code,
-    ordre,
-    rownum id
-from (
-         --
-         -- validation_page_de_couverture
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'VALIDATION_PAGE_DE_COUVERTURE'
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- depot_version_originale
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'DEPOT_VERSION_ORIGINALE'
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- autorisation_diffusion_these
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'AUTORISATION_DIFFUSION_THESE'
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- attestations
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'ATTESTATIONS'
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- signalement_these
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'SIGNALEMENT_THESE'
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- archivabilite_version_originale
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'ARCHIVABILITE_VERSION_ORIGINALE'
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- depot_version_archivage
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'DEPOT_VERSION_ARCHIVAGE'
-                  join v_situ_archivab_vo situ on situ.these_id = t.id and situ.est_valide = 0 -- VO non archivable
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- archivabilite_version_archivage
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'ARCHIVABILITE_VERSION_ARCHIVAGE'
-                  join v_situ_archivab_vo situ on situ.these_id = t.id and situ.est_valide = 0 -- VO non archivable
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- verification_version_archivage
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'VERIFICATION_VERSION_ARCHIVAGE'
-                  join v_situ_archivab_va situ on situ.these_id = t.id and situ.est_valide = 1 -- VA archivable
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- rdv_bu_saisie_doctorant
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'RDV_BU_SAISIE_DOCTORANT'
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- rdv_bu_saisie_bu
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'RDV_BU_SAISIE_BU'
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- rdv_bu_validation_bu
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'RDV_BU_VALIDATION_BU'
-         where t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-
-
-         union all
-
-
-
-         --
-         -- depot_version_originale_corrigee
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'DEPOT_VERSION_ORIGINALE_CORRIGEE'
-         where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue
-           and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- autorisation_diffusion_these_version_corrigee
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE'
-         where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue
-           and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- attestations_version_corrigee
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'ATTESTATIONS_VERSION_CORRIGEE'
-         where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue
-           and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- archivabilite_version_originale_corrigee
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE'
-         where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue
-           and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- depot_version_archivage_corrigee
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'DEPOT_VERSION_ARCHIVAGE_CORRIGEE'
-                  join v_situ_archivab_voc situ on situ.these_id = t.id and situ.est_valide = 0 -- VOC non archivable
-         where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue
-           and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- archivabilite_version_archivage_corrigee
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE'
-                  join v_situ_archivab_voc situ on situ.these_id = t.id and situ.est_valide = 0 -- VOC non archivable
-         where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue
-           and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- verification_version_archivage_corrigee
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE'
-                  join v_situ_archivab_vac situ on situ.these_id = t.id and situ.est_valide = 1 -- VAC archivable
-         where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue
-           and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- depot_version_corrigee_validation_doctorant
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT'
-         where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue
-           and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- depot_version_corrigee_validation_directeur
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR'
-         where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue
-           and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-         union all
-
-         --
-         -- REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE
-         --
-         select
-             t.id as these_id,
-             e.id as etape_id,
-             e.code,
-             e.ordre
-         from these t
-                  join wf_etape e on e.code = 'REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE'
-                  join DIFFUSION d on d.VERSION_CORRIGEE = 1 and d.AUTORIS_MEL in (0/*Non*/, 1/*Oui+embargo*/) -- exemplaire papier requis
-         where (t.correc_autorisee is not null or t.CORREC_AUTORISEE_FORCEE is not null) -- correction attendue
-           and t.ETAT_THESE in ('E', 'S') -- thèses en cours ou soutenues
-
-     );
-  CREATE OR REPLACE FORCE VIEW /*"SYGAL".*/"V_WORKFLOW" ("ID", "THESE_ID", "ETAPE_ID", "CODE", "ORDRE", "FRANCHIE", "RESULTAT", "OBJECTIF", "DENSE_RANK", "ATTEIGNABLE", "COURANTE") AS 
-  SELECT
-    ROWNUM as id,
-    t.THESE_ID,
-    t.ETAPE_ID,
-    t.CODE,
-    t.ORDRE,
-    t.FRANCHIE,
-    t.RESULTAT,
-    t.OBJECTIF,
-    -- NB: dans les 3 lignes suivantes, c'est la même expression 'dense_rank() over(...)' qui est répétée :
-    (dense_rank() over(partition by t.THESE_ID, t.FRANCHIE order by t.ORDRE)) dense_rank,
-    case when t.FRANCHIE = 1 or (dense_rank() over(partition by t.THESE_ID, t.FRANCHIE order by t.ORDRE)) = 1 then 1 else 0 end atteignable,
-    case when (dense_rank() over(partition by t.THESE_ID, t.FRANCHIE order by t.ORDRE)) = 1 and t.FRANCHIE = 0 then 1 else 0 end courante
-FROM (
-
-         --
-         -- VALIDATION_PAGE_DE_COUVERTURE : franchie si version page de couverture validée
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.valide IS NULL THEN 0 ELSE 1 END franchie,
-             CASE WHEN v.valide IS NULL THEN 0 ELSE 1 END resultat,
-             1 objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'VALIDATION_PAGE_DE_COUVERTURE'
-                  LEFT JOIN V_SITU_VALIDATION_PAGE_COUV v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- DEPOT_VERSION_ORIGINALE : franchie si version originale déposée
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.fichier_id IS NULL
-                      THEN 0
-                  ELSE 1 END franchie,
-             CASE WHEN v.fichier_id IS NULL
-                      THEN 0
-                  ELSE 1 END resultat,
-             1          objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_ORIGINALE'
-                  LEFT JOIN V_SITU_DEPOT_VO v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- AUTORISATION_DIFFUSION_THESE : franchie si données saisies
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.diffusion_id IS NULL
-                      THEN 0
-                  ELSE 1 END franchie,
-             CASE WHEN v.diffusion_id IS NULL
-                      THEN 0
-                  ELSE 1 END resultat,
-             1          objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'AUTORISATION_DIFFUSION_THESE'
-                  LEFT JOIN V_SITU_AUTORIS_DIFF_THESE v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- ATTESTATIONS : franchie si données saisies
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.attestation_id IS NULL THEN 0 ELSE 1 END franchie,
-             CASE WHEN v.attestation_id IS NULL THEN 0 ELSE 1 END resultat,
-             1          objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'ATTESTATIONS'
-                  LEFT JOIN V_SITU_ATTESTATIONS v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- SIGNALEMENT_THESE : franchie si données saisies
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.description_id IS NULL
-                      THEN 0
-                  ELSE 1 END franchie,
-             CASE WHEN v.description_id IS NULL
-                      THEN 0
-                  ELSE 1 END resultat,
-             1          objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'SIGNALEMENT_THESE'
-                  LEFT JOIN V_SITU_SIGNALEMENT_THESE v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- ARCHIVABILITE_VERSION_ORIGINALE : franchie si l'archivabilité de la version originale a été testée
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.THESE_ID IS NULL THEN 0 ELSE 1 END franchie,
-             -- CASE WHEN v.THESE_ID IS NULL THEN
-             --   0 -- test d'archivabilité inexistant
-             -- ELSE
-             --   CASE WHEN v.EST_VALIDE IS NULL THEN
-             --     1 -- test d'archivabilité existant mais résultat indéterminé (plantage)
-             --   ELSE
-             --     CASE WHEN v.EST_VALIDE = 1 THEN
-             --       1 -- test d'archivabilité réussi
-             --     ELSE
-             --       0 -- test d'archivabilité échoué
-             --     END
-             --   END
-             -- END franchie,
-             CASE WHEN v.EST_VALIDE IS NULL OR v.EST_VALIDE = 0 THEN 0 ELSE 1 END resultat,
-             1 objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'ARCHIVABILITE_VERSION_ORIGINALE'
-                  LEFT JOIN V_SITU_ARCHIVAB_VO v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- DEPOT_VERSION_ARCHIVAGE : franchie si version d'archivage déposée
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.fichier_id IS NULL
-                      THEN 0
-                  ELSE 1 END franchie,
-             CASE WHEN v.fichier_id IS NULL
-                      THEN 0
-                  ELSE 1 END resultat,
-             1          objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_ARCHIVAGE'
-                  LEFT JOIN V_SITU_DEPOT_VA v ON v.these_id = t.id
-                  LEFT JOIN fichier f ON f.id = v.fichier_id
-
-         UNION ALL
-
-         --
-         -- ARCHIVABILITE_VERSION_ARCHIVAGE : franchie si l'archivabilité de la version d'archivage a été testée
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.EST_VALIDE IS NULL
-                      THEN 0
-                  ELSE 1 END franchie,
-             CASE WHEN v.EST_VALIDE IS NULL OR v.EST_VALIDE = 0
-                      THEN 0
-                  ELSE 1 END resultat,
-             1          objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'ARCHIVABILITE_VERSION_ARCHIVAGE'
-                  LEFT JOIN V_SITU_ARCHIVAB_VA v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- VERIFICATION_VERSION_ARCHIVAGE : franchie si vérification de la version originale effectuée (peu importe la réponse)
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.EST_CONFORME IS NULL
-                      THEN 0
-                  ELSE 1 END franchie,
-             CASE WHEN v.EST_CONFORME IS NULL OR v.EST_CONFORME = 0
-                      THEN 0
-                  ELSE 1 END resultat,
-             1          objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'VERIFICATION_VERSION_ARCHIVAGE'
-                  LEFT JOIN V_SITU_VERIF_VA v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- RDV_BU_SAISIE_DOCTORANT : franchie si données doctorant saisies
-         --
-         SELECT
-             t.id AS                      these_id,
-             e.id AS                      etape_id,
-             e.code,
-             e.ORDRE,
-             coalesce(v.ok, 0)            franchie,
-             (CASE WHEN rdv.COORD_DOCTORANT IS NULL THEN 0 ELSE 1 END +
-              CASE WHEN rdv.DISPO_DOCTORANT IS NULL THEN 0 ELSE 1 END) resultat,
-             2                            objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'RDV_BU_SAISIE_DOCTORANT'
-                  LEFT JOIN V_SITU_RDV_BU_SAISIE_DOCT v ON v.these_id = t.id
-                  LEFT JOIN RDV_BU rdv ON rdv.THESE_ID = t.id
-
-         UNION ALL
-
-         --
-         -- RDV_BU_VALIDATION_BU : franchie si /*données BU saisies ET*/ une validation BU existe
-         --
-         SELECT
-             t.id AS               these_id,
-             e.id AS               etape_id,
-             e.code,
-             e.ORDRE,
-             /*coalesce(vs.ok, 0) **/ coalesce(v.valide, 0) franchie,
-             /*coalesce(vs.ok, 0) +*/ coalesce(v.valide, 0) resultat,
-             /*2*/1 objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'RDV_BU_VALIDATION_BU'
-             --LEFT JOIN V_SITU_RDV_BU_SAISIE_BU vs ON vs.these_id = t.id
-                  LEFT JOIN V_SITU_RDV_BU_VALIDATION_BU v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- DEPOT_VERSION_ORIGINALE_CORRIGEE : franchie si version originale corrigée déposée
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.fichier_id IS NULL
-                      THEN 0
-                  ELSE 1 END franchie,
-             CASE WHEN v.fichier_id IS NULL
-                      THEN 0
-                  ELSE 1 END resultat,
-             1          objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_ORIGINALE_CORRIGEE'
-                  LEFT JOIN V_SITU_DEPOT_VOC v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE : franchie si données saisies
-         --
-         SELECT
-             t.id AS these_id,
-             e.id AS etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.diffusion_id IS NULL THEN 0 ELSE 1 END franchie,
-             CASE WHEN v.diffusion_id IS NULL THEN 0 ELSE 1 END resultat,
-             1 objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE'
-                  LEFT JOIN V_SITU_AUTORIS_DIFF_THESE_VOC v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- ATTESTATIONS_VERSION_CORRIGEE : franchie si données saisies
-         --
-         SELECT
-             t.id AS these_id,
-             e.id AS etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.attestation_id IS NULL THEN 0 ELSE 1 END franchie,
-             CASE WHEN v.attestation_id IS NULL THEN 0 ELSE 1 END resultat,
-             1 objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'ATTESTATIONS_VERSION_CORRIGEE'
-                  LEFT JOIN V_SITU_ATTESTATIONS_VOC v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE : franchie si l'archivabilité de la version originale corrigée a été testée
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.THESE_ID IS NULL THEN 0 ELSE 1 END franchie,
-             CASE WHEN v.EST_VALIDE IS NULL OR v.EST_VALIDE = 0 THEN 0 ELSE 1 END resultat,
-             1 objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE'
-                  LEFT JOIN V_SITU_ARCHIVAB_VOC v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- DEPOT_VERSION_ARCHIVAGE_CORRIGEE : franchie si version d'archivage corrigée déposée
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.fichier_id IS NULL
-                      THEN 0
-                  ELSE 1 END franchie,
-             CASE WHEN v.fichier_id IS NULL
-                      THEN 0
-                  ELSE 1 END resultat,
-             1          objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_ARCHIVAGE_CORRIGEE'
-                  LEFT JOIN V_SITU_DEPOT_VAC v ON v.these_id = t.id
-                  LEFT JOIN fichier f ON f.id = v.fichier_id
-
-         UNION ALL
-
-         --
-         -- ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE : franchie si la version d'archivage corrigée est archivable
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.EST_VALIDE = 1 THEN 1 ELSE 0 END franchie,
-             CASE WHEN v.EST_VALIDE = 1 THEN 1 ELSE 0 END resultat,
-             1 objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE'
-                  LEFT JOIN V_SITU_ARCHIVAB_VAC v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE : franchie si la version corrigée est certifiée conforme
-         --
-         SELECT
-             t.id AS    these_id,
-             e.id AS    etape_id,
-             e.code,
-             e.ORDRE,
-             CASE WHEN v.EST_CONFORME = 1 THEN 1 ELSE 0 END franchie,
-             CASE WHEN v.EST_CONFORME = 1 THEN 1 ELSE 0 END resultat,
-             1 objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE'
-                  LEFT JOIN V_SITU_VERIF_VAC v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT : franchie si la validation attendue existe
-         --
-         SELECT
-             t.id AS               these_id,
-             e.id AS               etape_id,
-             e.code,
-             e.ORDRE,
-             coalesce(v.valide, 0) franchie,
-             coalesce(v.valide, 0) resultat,
-             1 objectif
-         FROM these t
-                  JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT'
-                  LEFT JOIN V_SITU_DEPOT_VC_VALID_DOCT v ON v.these_id = t.id
-
-         UNION ALL
-
-         --
-         -- DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR : franchie si toutes les validations attendues existent
-         --
-         select * from (
-                           WITH tmp AS (
-                               SELECT
-                                   these_id,
-                                   sum(valide)   AS resultat,
-                                   count(valide) AS objectif
-                               FROM V_SITU_DEPOT_VC_VALID_DIR
-                               GROUP BY these_id
-                           )
-                           SELECT
-                               t.id AS                 these_id,
-                               e.id AS                 etape_id,
-                               e.code,
-                               e.ORDRE,
-                               case when coalesce(v.resultat, 0) = v.objectif then 1 else 0 end franchie,
-                               coalesce(v.resultat, 0) resultat,
-                               v.objectif
-                           FROM these t
-                                    JOIN WF_ETAPE e ON e.code = 'DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR'
-                                    LEFT JOIN tmp v ON v.these_id = t.id
-                       )
-
-         UNION ALL
-
-         --
-         -- REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE  : franchie pas pour le moment
-         --
-         select * from (
-                           WITH tmp_last AS (
-                               SELECT
-                                   THESE_ID as these_id,
-                                   count(THESE_ID) AS resultat
-                               FROM V_SITU_VERSION_PAPIER_CORRIGEE
-                               GROUP BY THESE_ID
-                           )
-                           SELECT
-                               t.id AS                 these_id,
-                               e.id AS                 etape_id,
-                               e.code,
-                               e.ORDRE,
-                               coalesce(tl.resultat, 0) franchie,
-                               0,
-                               1
-                           FROM these t
-                                    JOIN WF_ETAPE e ON e.code = 'REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE'
-                                    LEFT JOIN tmp_last tl ON tl.these_id = t.id
-                       )
-
-     ) t
-         JOIN V_WF_ETAPE_PERTIN v ON t.these_id = v.these_id AND t.etape_id = v.etape_id;
-  CREATE OR REPLACE PACKAGE /*"SYGAL".*/"APP_IMPORT" IS
-
-  PROCEDURE REFRESH_MV( mview_name VARCHAR2 );
-  PROCEDURE SYNC_TABLES;
-  PROCEDURE SYNCHRONISATION;
-
-  PROCEDURE STORE_OBSERV_RESULTS;
-
-END APP_IMPORT;
-/
-  CREATE OR REPLACE PACKAGE /*"SYGAL".*/"APP_WORKFLOW" AS
-
-    /**
-     * @deprecated depuis l'utilisation de 'dense_rank' pour calculer les témoins 'attegnable' et 'courant'
-     * dans la vue V_WORKFLOW.
-     */
-    function atteignable(p_etape_id NUMERIC, p_these_id NUMERIC) return NUMERIC;
-
-END APP_WORKFLOW;
-/
-  CREATE OR REPLACE PACKAGE /*"SYGAL".*/"UNICAEN_IMPORT" AS
-
-  PROCEDURE set_current_user(p_current_user IN INTEGER);
-  FUNCTION get_current_user return INTEGER;
-
-  FUNCTION get_current_annee RETURN INTEGER;
-  PROCEDURE set_current_annee (p_current_annee INTEGER);
-
-  FUNCTION get_sql_criterion( table_name varchar2, sql_criterion VARCHAR2 ) RETURN CLOB;
-  PROCEDURE SYNC_LOG( message CLOB, table_name VARCHAR2 DEFAULT NULL, source_code VARCHAR2 DEFAULT NULL );
-
-  -- AUTOMATIC GENERATION --
-
-  PROCEDURE MAJ_STRUCTURE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_ETABLISSEMENT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_ECOLE_DOCT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_UNITE_RECH(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_INDIVIDU(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_DOCTORANT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_THESE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_ROLE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_ACTEUR(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_VARIABLE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_TITRE_ACCES(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_THESE_ANNEE_UNIV(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-  PROCEDURE MAJ_FINANCEMENT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '');
-
-  -- END OF AUTOMATIC GENERATION --
-END UNICAEN_IMPORT;
-/
-  CREATE OR REPLACE PACKAGE /*"SYGAL".*/"UNICAEN_ORACLE" AS
-
-  FUNCTION implode(i_query VARCHAR2, i_seperator VARCHAR2 DEFAULT ',') RETURN VARCHAR2;
-
-  FUNCTION STR_REDUCE( str CLOB ) RETURN CLOB;
-
-  FUNCTION STR_FIND( haystack CLOB, needle VARCHAR2 ) RETURN NUMERIC;
-
-  FUNCTION LIKED( haystack CLOB, needle CLOB ) RETURN NUMERIC;
-
-  FUNCTION COMPRISE_ENTRE( date_debut DATE, date_fin DATE, date_obs DATE DEFAULT NULL, inclusif NUMERIC DEFAULT 0 ) RETURN NUMERIC;
-
-END UNICAEN_ORACLE;
-/
-  CREATE OR REPLACE FUNCTION /*"SYGAL".*/"GEN_TABLE_INSERTS" (V_TABLE_NAME VARCHAR2) RETURN clob
-AS
-  v_column_list     clob;
-  v_insert_list     clob;
-  v_ref_cur_columns clob;
-  v_ref_cur_query   clob;
-  v_ref_cur_output  clob;
-  v_column_name     clob;
-  v_result          clob;
-  cursor c1 is select column_name, data_type from all_tab_columns where table_name = v_table_name
-               order by column_id;
-  refcur            sys_refcursor;
-begin
-  for i in c1 loop
-    v_column_list := v_column_list||','||i.column_name;
-    if i.data_type = 'NUMBER' then
-      v_column_name := i.column_name;
-    elsif i.data_type = 'DATE' then
-      v_column_name :=
-      chr(39)||'to_date('||chr(39)||'||chr(39)'||'||to_char('||i.column_name||','||chr(39)||'dd/mm/yyyy
-hh:mi:ss'||chr(39)||')||chr(39)||'||chr(39)||', '||chr(39)||'||chr(39)||'||chr(39)||'dd/mm/rrrr
-hh:mi:ss'||chr(39)||'||chr(39)||'||chr(39)||')'||chr(39);
-    elsif i.data_type = 'VARCHAR2' then
-      v_column_name := 'chr(39)||'||i.column_name||'||chr(39)';
-    end if;
-    v_ref_cur_columns := v_ref_cur_columns||'||'||chr(39)||','||chr(39)||'||'||v_column_name;
-  end loop;
-  v_column_list     := ltrim(v_column_list,',');
-  v_ref_cur_columns := substr(v_ref_cur_columns,8);
-
-  v_insert_list     := 'INSERT INTO '||v_table_name||' ('||v_column_list||') VALUES ';
-  v_ref_cur_query   := 'SELECT '||v_ref_cur_columns||' FROM '||v_table_name;
-
-  open refcur for v_ref_cur_query;
-  loop
-    fetch refcur into v_ref_cur_output;
-    exit when refcur%notfound;
-    v_ref_cur_output := '('||v_ref_cur_output||');';
-    v_ref_cur_output := replace(v_ref_cur_output,',,',',null,');
-    v_ref_cur_output := replace(v_ref_cur_output,'(,','(null,');
-    v_ref_cur_output := replace(v_ref_cur_output,',,)',',null)');
-    v_ref_cur_output := replace(v_ref_cur_output,'null,)','null,null)');
-    v_ref_cur_output := v_insert_list||v_ref_cur_output;
-    dbms_output.put_line (v_ref_cur_output);
-
-    v_result := v_result||v_ref_cur_output || chr(10);
-  end loop;
-
-  return v_result;
-end;
-/
-  CREATE OR REPLACE FUNCTION /*"SYGAL".*/"INDIVIDU_HAYSTACK" (
-  NOM_USUEL varchar2,
-  NOM_PATRONYMIQUE varchar2,
-  PRENOM1 varchar2,
-  EMAIL varchar2,
-  SOURCE_CODE varchar2) RETURN VARCHAR2
-AS
-  BEGIN
-    return trim(UNICAEN_ORACLE.str_reduce(
-                    NOM_USUEL || ' ' || PRENOM1 || ' ' || NOM_PATRONYMIQUE || ' ' || PRENOM1 || ' ' ||
-                    PRENOM1 || ' ' || NOM_USUEL || ' ' || PRENOM1 || ' ' || NOM_PATRONYMIQUE || ' ' ||
-                    EMAIL || ' ' ||
-                    SOURCE_CODE
-                ));
-  END;
-/
-  CREATE OR REPLACE PACKAGE BODY /*"SYGAL".*/"APP_IMPORT" 
-IS
-  PROCEDURE REFRESH_MV( mview_name VARCHAR2 ) IS
-  BEGIN
-    DBMS_MVIEW.REFRESH(mview_name, 'C');
-    EXCEPTION WHEN OTHERS THEN
-      UNICAEN_IMPORT.SYNC_LOG( SQLERRM, mview_name );
-  END;
-
-  PROCEDURE SYNC_TABLES
-  IS
-  BEGIN
-    -- mise à jour des tables à partir des vues sources
-    -- NB: l'ordre importe !
-    UNICAEN_IMPORT.MAJ_STRUCTURE();
-    UNICAEN_IMPORT.MAJ_ETABLISSEMENT();
-    UNICAEN_IMPORT.MAJ_ECOLE_DOCT();
-    UNICAEN_IMPORT.MAJ_UNITE_RECH();
-    UNICAEN_IMPORT.MAJ_INDIVIDU();
-    UNICAEN_IMPORT.MAJ_DOCTORANT();
-    UNICAEN_IMPORT.MAJ_THESE();
-    UNICAEN_IMPORT.MAJ_THESE_ANNEE_UNIV();
-    UNICAEN_IMPORT.MAJ_ROLE();
-    UNICAEN_IMPORT.MAJ_ACTEUR();
-    UNICAEN_IMPORT.MAJ_VARIABLE();
-    UNICAEN_IMPORT.MAJ_FINANCEMENT();
-    UNICAEN_IMPORT.MAJ_TITRE_ACCES();
-    REFRESH_MV('MV_RECHERCHE_THESE'); -- NB: à faire en dernier
-  END;
-
-  --
-  -- Recherche des changements de type UPDATE concernant la colonne de table observée et
-  -- enregistrement de ces changements dans une table.
-  --
-  PROCEDURE STORE_UPDATE_OBSERV_RESULT(observ IMPORT_OBSERV%ROWTYPE)
-  IS
-    u_col_name VARCHAR2(50) := 'U_' || observ.column_name;
-    where_to_value CLOB := 'v.' || observ.column_name || case when observ.to_value is null then ' is null' else ' = ''' || observ.to_value || '''' end;
-    i_query clob := 'select v.source_code, t.' || observ.column_name || ' || ''>'' || v.' || observ.column_name || ' detail ' ||
-                    'from v_diff_' || observ.table_name || ' v join ' || observ.table_name || ' t on t.source_code = v.source_code where ' || u_col_name || ' = 1 and ' || where_to_value || ' order by v.source_code';
-
-    TYPE r_cursor is REF CURSOR;
-    rc r_cursor;
-    l_id CLOB;
-    l_detail CLOB;
-  BEGIN
-    --DBMS_OUTPUT.PUT_LINE(i_query);
-    OPEN rc FOR i_query;
-    LOOP
-      FETCH rc INTO l_id, l_detail;
-      EXIT WHEN rc%NOTFOUND;
-      --DBMS_OUTPUT.PUT_LINE(l_id); DBMS_OUTPUT.PUT_LINE(l_detail);
-      insert into IMPORT_OBSERV_RESULT(ID, IMPORT_OBSERV_ID, DATE_CREATION, SOURCE_CODE, RESULTAT) values
-      (IMPORT_OBSERV_RESULT_ID_SEQ.nextval, observ.id, sysdate, l_id, l_detail);
-    END LOOP;
-  END;
-
-  PROCEDURE STORE_OBSERV_RESULTS
-  IS
-  BEGIN
-    for observ in (select * from IMPORT_OBSERV where enabled = 1) loop
-      if (observ.operation = 'UPDATE') then
-        STORE_UPDATE_OBSERV_RESULT(observ);
-      end if;
-    end loop;
-  END;
-
-  PROCEDURE SYNCHRONISATION
-  IS
-  BEGIN
-    STORE_OBSERV_RESULTS;
-    SYNC_TABLES;
-  END;
-
-END APP_IMPORT;
-/
-  CREATE OR REPLACE PACKAGE BODY /*"SYGAL".*/"APP_WORKFLOW" 
-AS
-
-    /**
-     * @deprecated depuis l'utilisation de 'dense_rank' pour calculer les témoins 'attegnable' et 'courant'
-     * dans la vue V_WORKFLOW.
-     */
-    function atteignable(p_etape_id NUMERIC, p_these_id NUMERIC) return NUMERIC AS
-        v_ordre numeric;
-    BEGIN
-        select ordre into v_ordre from wf_etape where id = p_etape_id;
-        --DBMS_OUTPUT.PUT_LINE('ordre ' || v_ordre);
-        for row in (
-            select code, ORDRE, franchie, resultat, objectif
-            from V_WORKFLOW v
-            where v.these_id = p_these_id and v.ordre < v_ordre
-            order by v.ordre
-            ) loop
-            --DBMS_OUTPUT.PUT_LINE(rpad(row.ordre, 5) || ' ' || row.code || ' : ' || row.franchie);
-            if row.franchie = 0 then
-                return 0;
-            end if;
-        end loop;
-
-        RETURN 1;
-    END atteignable;
-
-END APP_WORKFLOW;
-/
-  CREATE OR REPLACE PACKAGE BODY /*"SYGAL".*/"UNICAEN_IMPORT" AS
-
-  v_current_user INTEGER;
-  v_current_annee INTEGER;
-
-
-
-  FUNCTION get_current_user RETURN INTEGER IS
-    BEGIN
-      IF v_current_user IS NULL THEN
-        v_current_user := 1; -- A remplacer par l'utilisateur (ID de la table USER) qui sera le créateur ou le modificateur des données
-      END IF;
-      RETURN v_current_user;
-    END get_current_user;
-
-  PROCEDURE set_current_user (p_current_user INTEGER) is
-    BEGIN
-      v_current_user := p_current_user;
-    END set_current_user;
-
-
-
-  FUNCTION get_current_annee RETURN INTEGER IS
-    BEGIN
-      IF v_current_annee IS NULL THEN
-        v_current_annee := NULL; -- A remplacer par l'année d'import souhaitée (si vous avez de l'annualisation de prévue dans votre BDD)
-      END IF;
-      RETURN v_current_annee;
-    END get_current_annee;
-
-  PROCEDURE set_current_annee (p_current_annee INTEGER) IS
-    BEGIN
-      v_current_annee := p_current_annee;
-    END set_current_annee;
-
-
-
-  FUNCTION get_sql_criterion( table_name varchar2, sql_criterion VARCHAR2 ) RETURN CLOB IS
-    BEGIN
-      IF sql_criterion <> '' OR sql_criterion IS NOT NULL THEN
-        RETURN sql_criterion;
-      END IF;
-      RETURN '';
-      /* Exemple d'usage :
-
-      RETURN CASE table_name
-        WHEN 'INTERVENANT' THEN -- Met à jour toutes les données sauf le statut, qui sera traité à part
-          'WHERE IMPORT_ACTION IN (''delete'',''update'',''undelete'')'
-
-        WHEN 'AFFECTATION_RECHERCHE' THEN
-          'WHERE INTERVENANT_ID IS NOT NULL'
-
-        WHEN 'ADRESSE_INTERVENANT' THEN
-          'WHERE INTERVENANT_ID IS NOT NULL'
-
-        WHEN 'ELEMENT_TAUX_REGIMES' THEN
-          'WHERE IMPORT_ACTION IN (''delete'',''insert'',''undelete'')'
-
-        ELSE
-          ''
-      END;*/
-    END;
-
-
-
-  PROCEDURE SYNC_LOG( message CLOB, table_name VARCHAR2 DEFAULT NULL, source_code VARCHAR2 DEFAULT NULL ) IS
-    BEGIN
-      INSERT INTO SYNC_LOG("ID","DATE_SYNC","MESSAGE","TABLE_NAME","SOURCE_CODE") VALUES (SYNC_LOG_ID_SEQ.NEXTVAL, SYSDATE, message,table_name,source_code);
-    END SYNC_LOG;
-
-
-
-  FUNCTION IN_COLUMN_LIST( VALEUR VARCHAR2, CHAMPS CLOB ) RETURN NUMERIC IS
-    BEGIN
-      IF REGEXP_LIKE(CHAMPS, '(^|,)[ \t\r\n\v\f]*' || VALEUR || '[ \t\r\n\v\f]*(,|$)') THEN RETURN 1; END IF;
-      RETURN 0;
-    END;
-
-
-  -- AUTOMATIC GENERATION --
-
-  PROCEDURE MAJ_STRUCTURE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_STRUCTURE%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_STRUCTURE.* FROM V_DIFF_STRUCTURE ' || get_sql_criterion('STRUCTURE',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO STRUCTURE
-              ( id, CODE,LIBELLE,SIGLE,TYPE_STRUCTURE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,STRUCTURE_ID_SEQ.NEXTVAL), diff_row.CODE,diff_row.LIBELLE,diff_row.SIGLE,diff_row.TYPE_STRUCTURE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIBELLE = 1 AND IN_COLUMN_LIST('LIBELLE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET LIBELLE = diff_row.LIBELLE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_SIGLE = 1 AND IN_COLUMN_LIST('SIGLE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET SIGLE = diff_row.SIGLE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TYPE_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('TYPE_STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET TYPE_STRUCTURE_ID = diff_row.TYPE_STRUCTURE_ID WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE STRUCTURE SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIBELLE = 1 AND IN_COLUMN_LIST('LIBELLE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET LIBELLE = diff_row.LIBELLE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_SIGLE = 1 AND IN_COLUMN_LIST('SIGLE',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET SIGLE = diff_row.SIGLE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TYPE_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('TYPE_STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE STRUCTURE SET TYPE_STRUCTURE_ID = diff_row.TYPE_STRUCTURE_ID WHERE ID = diff_row.id; END IF;
-            UPDATE STRUCTURE SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'STRUCTURE', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_STRUCTURE;
-
-
-
-  PROCEDURE MAJ_ETABLISSEMENT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_ETABLISSEMENT%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_ETABLISSEMENT.* FROM V_DIFF_ETABLISSEMENT ' || get_sql_criterion('ETABLISSEMENT',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO ETABLISSEMENT
-              ( id, STRUCTURE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,ETABLISSEMENT_ID_SEQ.NEXTVAL), diff_row.STRUCTURE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ETABLISSEMENT SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE ETABLISSEMENT SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ETABLISSEMENT SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF;
-            UPDATE ETABLISSEMENT SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'ETABLISSEMENT', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_ETABLISSEMENT;
-
-
-
-  PROCEDURE MAJ_ECOLE_DOCT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_ECOLE_DOCT%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_ECOLE_DOCT.* FROM V_DIFF_ECOLE_DOCT ' || get_sql_criterion('ECOLE_DOCT',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO ECOLE_DOCT
-              ( id, STRUCTURE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,ECOLE_DOCT_ID_SEQ.NEXTVAL), diff_row.STRUCTURE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ECOLE_DOCT SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE ECOLE_DOCT SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ECOLE_DOCT SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF;
-            UPDATE ECOLE_DOCT SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'ECOLE_DOCT', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_ECOLE_DOCT;
-
-
-
-  PROCEDURE MAJ_UNITE_RECH(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_UNITE_RECH%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_UNITE_RECH.* FROM V_DIFF_UNITE_RECH ' || get_sql_criterion('UNITE_RECH',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO UNITE_RECH
-              ( id, STRUCTURE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,UNITE_RECH_ID_SEQ.NEXTVAL), diff_row.STRUCTURE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE UNITE_RECH SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE UNITE_RECH SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE UNITE_RECH SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF;
-            UPDATE UNITE_RECH SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'UNITE_RECH', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_UNITE_RECH;
-
-
-
-  PROCEDURE MAJ_INDIVIDU(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_INDIVIDU%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_INDIVIDU.* FROM V_DIFF_INDIVIDU ' || get_sql_criterion('INDIVIDU',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO INDIVIDU
-              ( id, CIVILITE,DATE_NAISSANCE,EMAIL,NATIONALITE,NOM_PATRONYMIQUE,NOM_USUEL,PRENOM1,PRENOM2,PRENOM3,SUPANN_ID,TYPE, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,INDIVIDU_ID_SEQ.NEXTVAL), diff_row.CIVILITE,diff_row.DATE_NAISSANCE,diff_row.EMAIL,diff_row.NATIONALITE,diff_row.NOM_PATRONYMIQUE,diff_row.NOM_USUEL,diff_row.PRENOM1,diff_row.PRENOM2,diff_row.PRENOM3,diff_row.SUPANN_ID,diff_row.TYPE, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_CIVILITE = 1 AND IN_COLUMN_LIST('CIVILITE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET CIVILITE = diff_row.CIVILITE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_NAISSANCE = 1 AND IN_COLUMN_LIST('DATE_NAISSANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET DATE_NAISSANCE = diff_row.DATE_NAISSANCE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_EMAIL = 1 AND IN_COLUMN_LIST('EMAIL',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET EMAIL = diff_row.EMAIL WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_NATIONALITE = 1 AND IN_COLUMN_LIST('NATIONALITE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NATIONALITE = diff_row.NATIONALITE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_NOM_PATRONYMIQUE = 1 AND IN_COLUMN_LIST('NOM_PATRONYMIQUE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NOM_PATRONYMIQUE = diff_row.NOM_PATRONYMIQUE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_NOM_USUEL = 1 AND IN_COLUMN_LIST('NOM_USUEL',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NOM_USUEL = diff_row.NOM_USUEL WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_PRENOM1 = 1 AND IN_COLUMN_LIST('PRENOM1',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM1 = diff_row.PRENOM1 WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_PRENOM2 = 1 AND IN_COLUMN_LIST('PRENOM2',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM2 = diff_row.PRENOM2 WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_PRENOM3 = 1 AND IN_COLUMN_LIST('PRENOM3',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM3 = diff_row.PRENOM3 WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_SUPANN_ID = 1 AND IN_COLUMN_LIST('SUPANN_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET SUPANN_ID = diff_row.SUPANN_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TYPE = 1 AND IN_COLUMN_LIST('TYPE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET TYPE = diff_row.TYPE WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE INDIVIDU SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_CIVILITE = 1 AND IN_COLUMN_LIST('CIVILITE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET CIVILITE = diff_row.CIVILITE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_NAISSANCE = 1 AND IN_COLUMN_LIST('DATE_NAISSANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET DATE_NAISSANCE = diff_row.DATE_NAISSANCE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_EMAIL = 1 AND IN_COLUMN_LIST('EMAIL',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET EMAIL = diff_row.EMAIL WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_NATIONALITE = 1 AND IN_COLUMN_LIST('NATIONALITE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NATIONALITE = diff_row.NATIONALITE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_NOM_PATRONYMIQUE = 1 AND IN_COLUMN_LIST('NOM_PATRONYMIQUE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NOM_PATRONYMIQUE = diff_row.NOM_PATRONYMIQUE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_NOM_USUEL = 1 AND IN_COLUMN_LIST('NOM_USUEL',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET NOM_USUEL = diff_row.NOM_USUEL WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_PRENOM1 = 1 AND IN_COLUMN_LIST('PRENOM1',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM1 = diff_row.PRENOM1 WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_PRENOM2 = 1 AND IN_COLUMN_LIST('PRENOM2',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM2 = diff_row.PRENOM2 WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_PRENOM3 = 1 AND IN_COLUMN_LIST('PRENOM3',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET PRENOM3 = diff_row.PRENOM3 WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_SUPANN_ID = 1 AND IN_COLUMN_LIST('SUPANN_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET SUPANN_ID = diff_row.SUPANN_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TYPE = 1 AND IN_COLUMN_LIST('TYPE',IGNORE_UPD_COLS) = 0) THEN UPDATE INDIVIDU SET TYPE = diff_row.TYPE WHERE ID = diff_row.id; END IF;
-            UPDATE INDIVIDU SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'INDIVIDU', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_INDIVIDU;
-
-
-
-  PROCEDURE MAJ_DOCTORANT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_DOCTORANT%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_DOCTORANT.* FROM V_DIFF_DOCTORANT ' || get_sql_criterion('DOCTORANT',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO DOCTORANT
-              ( id, ETABLISSEMENT_ID,INDIVIDU_ID,INE, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,DOCTORANT_ID_SEQ.NEXTVAL), diff_row.ETABLISSEMENT_ID,diff_row.INDIVIDU_ID,diff_row.INE, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_INDIVIDU_ID = 1 AND IN_COLUMN_LIST('INDIVIDU_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET INDIVIDU_ID = diff_row.INDIVIDU_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_INE = 1 AND IN_COLUMN_LIST('INE',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET INE = diff_row.INE WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE DOCTORANT SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_INDIVIDU_ID = 1 AND IN_COLUMN_LIST('INDIVIDU_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET INDIVIDU_ID = diff_row.INDIVIDU_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_INE = 1 AND IN_COLUMN_LIST('INE',IGNORE_UPD_COLS) = 0) THEN UPDATE DOCTORANT SET INE = diff_row.INE WHERE ID = diff_row.id; END IF;
-            UPDATE DOCTORANT SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'DOCTORANT', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_DOCTORANT;
-
-
-
-  PROCEDURE MAJ_THESE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_THESE%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_THESE.* FROM V_DIFF_THESE ' || get_sql_criterion('THESE',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO THESE
-              ( id, ANNEE_UNIV_1ERE_INSC,CORREC_AUTORISEE,DATE_ABANDON,DATE_AUTORIS_SOUTENANCE,DATE_FIN_CONFID,DATE_PREM_INSC,DATE_PREV_SOUTENANCE,DATE_SOUTENANCE,DATE_TRANSFERT,DOCTORANT_ID,ECOLE_DOCT_ID,ETABLISSEMENT_ID,ETAT_THESE,LIB_DISC,LIB_ETAB_COTUT,LIB_PAYS_COTUT,RESULTAT,SOUTENANCE_AUTORIS,TEM_AVENANT_COTUT,TITRE,UNITE_RECH_ID, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,THESE_ID_SEQ.NEXTVAL), diff_row.ANNEE_UNIV_1ERE_INSC,diff_row.CORREC_AUTORISEE,diff_row.DATE_ABANDON,diff_row.DATE_AUTORIS_SOUTENANCE,diff_row.DATE_FIN_CONFID,diff_row.DATE_PREM_INSC,diff_row.DATE_PREV_SOUTENANCE,diff_row.DATE_SOUTENANCE,diff_row.DATE_TRANSFERT,diff_row.DOCTORANT_ID,diff_row.ECOLE_DOCT_ID,diff_row.ETABLISSEMENT_ID,diff_row.ETAT_THESE,diff_row.LIB_DISC,diff_row.LIB_ETAB_COTUT,diff_row.LIB_PAYS_COTUT,diff_row.RESULTAT,diff_row.SOUTENANCE_AUTORIS,diff_row.TEM_AVENANT_COTUT,diff_row.TITRE,diff_row.UNITE_RECH_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_ANNEE_UNIV_1ERE_INSC = 1 AND IN_COLUMN_LIST('ANNEE_UNIV_1ERE_INSC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ANNEE_UNIV_1ERE_INSC = diff_row.ANNEE_UNIV_1ERE_INSC WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_CORREC_AUTORISEE = 1 AND IN_COLUMN_LIST('CORREC_AUTORISEE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET CORREC_AUTORISEE = diff_row.CORREC_AUTORISEE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_ABANDON = 1 AND IN_COLUMN_LIST('DATE_ABANDON',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_ABANDON = diff_row.DATE_ABANDON WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_AUTORIS_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_AUTORIS_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_AUTORIS_SOUTENANCE = diff_row.DATE_AUTORIS_SOUTENANCE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_FIN_CONFID = 1 AND IN_COLUMN_LIST('DATE_FIN_CONFID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_FIN_CONFID = diff_row.DATE_FIN_CONFID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_PREM_INSC = 1 AND IN_COLUMN_LIST('DATE_PREM_INSC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_PREM_INSC = diff_row.DATE_PREM_INSC WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_PREV_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_PREV_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_PREV_SOUTENANCE = diff_row.DATE_PREV_SOUTENANCE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_SOUTENANCE = diff_row.DATE_SOUTENANCE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_TRANSFERT = 1 AND IN_COLUMN_LIST('DATE_TRANSFERT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_TRANSFERT = diff_row.DATE_TRANSFERT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DOCTORANT_ID = 1 AND IN_COLUMN_LIST('DOCTORANT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DOCTORANT_ID = diff_row.DOCTORANT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ECOLE_DOCT_ID = 1 AND IN_COLUMN_LIST('ECOLE_DOCT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ECOLE_DOCT_ID = diff_row.ECOLE_DOCT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ETAT_THESE = 1 AND IN_COLUMN_LIST('ETAT_THESE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ETAT_THESE = diff_row.ETAT_THESE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIB_DISC = 1 AND IN_COLUMN_LIST('LIB_DISC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_DISC = diff_row.LIB_DISC WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIB_ETAB_COTUT = 1 AND IN_COLUMN_LIST('LIB_ETAB_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_ETAB_COTUT = diff_row.LIB_ETAB_COTUT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIB_PAYS_COTUT = 1 AND IN_COLUMN_LIST('LIB_PAYS_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_PAYS_COTUT = diff_row.LIB_PAYS_COTUT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_RESULTAT = 1 AND IN_COLUMN_LIST('RESULTAT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET RESULTAT = diff_row.RESULTAT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_SOUTENANCE_AUTORIS = 1 AND IN_COLUMN_LIST('SOUTENANCE_AUTORIS',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET SOUTENANCE_AUTORIS = diff_row.SOUTENANCE_AUTORIS WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TEM_AVENANT_COTUT = 1 AND IN_COLUMN_LIST('TEM_AVENANT_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET TEM_AVENANT_COTUT = diff_row.TEM_AVENANT_COTUT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TITRE = 1 AND IN_COLUMN_LIST('TITRE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET TITRE = diff_row.TITRE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_UNITE_RECH_ID = 1 AND IN_COLUMN_LIST('UNITE_RECH_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET UNITE_RECH_ID = diff_row.UNITE_RECH_ID WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE THESE SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_ANNEE_UNIV_1ERE_INSC = 1 AND IN_COLUMN_LIST('ANNEE_UNIV_1ERE_INSC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ANNEE_UNIV_1ERE_INSC = diff_row.ANNEE_UNIV_1ERE_INSC WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_CORREC_AUTORISEE = 1 AND IN_COLUMN_LIST('CORREC_AUTORISEE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET CORREC_AUTORISEE = diff_row.CORREC_AUTORISEE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_ABANDON = 1 AND IN_COLUMN_LIST('DATE_ABANDON',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_ABANDON = diff_row.DATE_ABANDON WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_AUTORIS_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_AUTORIS_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_AUTORIS_SOUTENANCE = diff_row.DATE_AUTORIS_SOUTENANCE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_FIN_CONFID = 1 AND IN_COLUMN_LIST('DATE_FIN_CONFID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_FIN_CONFID = diff_row.DATE_FIN_CONFID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_PREM_INSC = 1 AND IN_COLUMN_LIST('DATE_PREM_INSC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_PREM_INSC = diff_row.DATE_PREM_INSC WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_PREV_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_PREV_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_PREV_SOUTENANCE = diff_row.DATE_PREV_SOUTENANCE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_SOUTENANCE = 1 AND IN_COLUMN_LIST('DATE_SOUTENANCE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_SOUTENANCE = diff_row.DATE_SOUTENANCE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_TRANSFERT = 1 AND IN_COLUMN_LIST('DATE_TRANSFERT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DATE_TRANSFERT = diff_row.DATE_TRANSFERT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DOCTORANT_ID = 1 AND IN_COLUMN_LIST('DOCTORANT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET DOCTORANT_ID = diff_row.DOCTORANT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ECOLE_DOCT_ID = 1 AND IN_COLUMN_LIST('ECOLE_DOCT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ECOLE_DOCT_ID = diff_row.ECOLE_DOCT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ETAT_THESE = 1 AND IN_COLUMN_LIST('ETAT_THESE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET ETAT_THESE = diff_row.ETAT_THESE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIB_DISC = 1 AND IN_COLUMN_LIST('LIB_DISC',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_DISC = diff_row.LIB_DISC WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIB_ETAB_COTUT = 1 AND IN_COLUMN_LIST('LIB_ETAB_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_ETAB_COTUT = diff_row.LIB_ETAB_COTUT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIB_PAYS_COTUT = 1 AND IN_COLUMN_LIST('LIB_PAYS_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET LIB_PAYS_COTUT = diff_row.LIB_PAYS_COTUT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_RESULTAT = 1 AND IN_COLUMN_LIST('RESULTAT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET RESULTAT = diff_row.RESULTAT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_SOUTENANCE_AUTORIS = 1 AND IN_COLUMN_LIST('SOUTENANCE_AUTORIS',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET SOUTENANCE_AUTORIS = diff_row.SOUTENANCE_AUTORIS WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TEM_AVENANT_COTUT = 1 AND IN_COLUMN_LIST('TEM_AVENANT_COTUT',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET TEM_AVENANT_COTUT = diff_row.TEM_AVENANT_COTUT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TITRE = 1 AND IN_COLUMN_LIST('TITRE',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET TITRE = diff_row.TITRE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_UNITE_RECH_ID = 1 AND IN_COLUMN_LIST('UNITE_RECH_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE SET UNITE_RECH_ID = diff_row.UNITE_RECH_ID WHERE ID = diff_row.id; END IF;
-            UPDATE THESE SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'THESE', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_THESE;
-
-
-
-  PROCEDURE MAJ_ROLE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_ROLE%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_ROLE.* FROM V_DIFF_ROLE ' || get_sql_criterion('ROLE',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO ROLE
-              ( id, CODE,LIBELLE,ROLE_ID,STRUCTURE_ID,THESE_DEP,TYPE_STRUCTURE_DEPENDANT_ID, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,ROLE_ID_SEQ.NEXTVAL), diff_row.CODE,diff_row.LIBELLE,diff_row.ROLE_ID,diff_row.STRUCTURE_ID,diff_row.THESE_DEP,diff_row.TYPE_STRUCTURE_DEPENDANT_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIBELLE = 1 AND IN_COLUMN_LIST('LIBELLE',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET LIBELLE = diff_row.LIBELLE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ROLE_ID = 1 AND IN_COLUMN_LIST('ROLE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET ROLE_ID = diff_row.ROLE_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_THESE_DEP = 1 AND IN_COLUMN_LIST('THESE_DEP',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET THESE_DEP = diff_row.THESE_DEP WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TYPE_STRUCTURE_DEPENDANT_ID = 1 AND IN_COLUMN_LIST('TYPE_STRUCTURE_DEPENDANT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET TYPE_STRUCTURE_DEPENDANT_ID = diff_row.TYPE_STRUCTURE_DEPENDANT_ID WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE ROLE SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIBELLE = 1 AND IN_COLUMN_LIST('LIBELLE',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET LIBELLE = diff_row.LIBELLE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ROLE_ID = 1 AND IN_COLUMN_LIST('ROLE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET ROLE_ID = diff_row.ROLE_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_STRUCTURE_ID = 1 AND IN_COLUMN_LIST('STRUCTURE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET STRUCTURE_ID = diff_row.STRUCTURE_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_THESE_DEP = 1 AND IN_COLUMN_LIST('THESE_DEP',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET THESE_DEP = diff_row.THESE_DEP WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TYPE_STRUCTURE_DEPENDANT_ID = 1 AND IN_COLUMN_LIST('TYPE_STRUCTURE_DEPENDANT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ROLE SET TYPE_STRUCTURE_DEPENDANT_ID = diff_row.TYPE_STRUCTURE_DEPENDANT_ID WHERE ID = diff_row.id; END IF;
-            UPDATE ROLE SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'ROLE', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_ROLE;
-
-
-
-  PROCEDURE MAJ_ACTEUR(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_ACTEUR%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_ACTEUR.* FROM V_DIFF_ACTEUR ' || get_sql_criterion('ACTEUR',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO ACTEUR
-              ( id, ACTEUR_ETABLISSEMENT_ID,INDIVIDU_ID,LIB_ROLE_COMPL,QUALITE,ROLE_ID,THESE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,ACTEUR_ID_SEQ.NEXTVAL), diff_row.ACTEUR_ETABLISSEMENT_ID,diff_row.INDIVIDU_ID,diff_row.LIB_ROLE_COMPL,diff_row.QUALITE,diff_row.ROLE_ID,diff_row.THESE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_ACTEUR_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ACTEUR_ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET ACTEUR_ETABLISSEMENT_ID = diff_row.ACTEUR_ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_INDIVIDU_ID = 1 AND IN_COLUMN_LIST('INDIVIDU_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET INDIVIDU_ID = diff_row.INDIVIDU_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIB_ROLE_COMPL = 1 AND IN_COLUMN_LIST('LIB_ROLE_COMPL',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET LIB_ROLE_COMPL = diff_row.LIB_ROLE_COMPL WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_QUALITE = 1 AND IN_COLUMN_LIST('QUALITE',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET QUALITE = diff_row.QUALITE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ROLE_ID = 1 AND IN_COLUMN_LIST('ROLE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET ROLE_ID = diff_row.ROLE_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE ACTEUR SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_ACTEUR_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ACTEUR_ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET ACTEUR_ETABLISSEMENT_ID = diff_row.ACTEUR_ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_INDIVIDU_ID = 1 AND IN_COLUMN_LIST('INDIVIDU_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET INDIVIDU_ID = diff_row.INDIVIDU_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIB_ROLE_COMPL = 1 AND IN_COLUMN_LIST('LIB_ROLE_COMPL',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET LIB_ROLE_COMPL = diff_row.LIB_ROLE_COMPL WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_QUALITE = 1 AND IN_COLUMN_LIST('QUALITE',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET QUALITE = diff_row.QUALITE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ROLE_ID = 1 AND IN_COLUMN_LIST('ROLE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET ROLE_ID = diff_row.ROLE_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE ACTEUR SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF;
-            UPDATE ACTEUR SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'ACTEUR', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_ACTEUR;
-
-
-
-  PROCEDURE MAJ_VARIABLE(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_VARIABLE%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_VARIABLE.* FROM V_DIFF_VARIABLE ' || get_sql_criterion('VARIABLE',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO VARIABLE
-              ( id, CODE,DATE_DEB_VALIDITE,DATE_FIN_VALIDITE,DESCRIPTION,ETABLISSEMENT_ID,VALEUR, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,VARIABLE_ID_SEQ.NEXTVAL), diff_row.CODE,diff_row.DATE_DEB_VALIDITE,diff_row.DATE_FIN_VALIDITE,diff_row.DESCRIPTION,diff_row.ETABLISSEMENT_ID,diff_row.VALEUR, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_DEB_VALIDITE = 1 AND IN_COLUMN_LIST('DATE_DEB_VALIDITE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DATE_DEB_VALIDITE = diff_row.DATE_DEB_VALIDITE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_FIN_VALIDITE = 1 AND IN_COLUMN_LIST('DATE_FIN_VALIDITE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DATE_FIN_VALIDITE = diff_row.DATE_FIN_VALIDITE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DESCRIPTION = 1 AND IN_COLUMN_LIST('DESCRIPTION',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DESCRIPTION = diff_row.DESCRIPTION WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_VALEUR = 1 AND IN_COLUMN_LIST('VALEUR',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET VALEUR = diff_row.VALEUR WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE VARIABLE SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_CODE = 1 AND IN_COLUMN_LIST('CODE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET CODE = diff_row.CODE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_DEB_VALIDITE = 1 AND IN_COLUMN_LIST('DATE_DEB_VALIDITE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DATE_DEB_VALIDITE = diff_row.DATE_DEB_VALIDITE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_FIN_VALIDITE = 1 AND IN_COLUMN_LIST('DATE_FIN_VALIDITE',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DATE_FIN_VALIDITE = diff_row.DATE_FIN_VALIDITE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DESCRIPTION = 1 AND IN_COLUMN_LIST('DESCRIPTION',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET DESCRIPTION = diff_row.DESCRIPTION WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ETABLISSEMENT_ID = 1 AND IN_COLUMN_LIST('ETABLISSEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET ETABLISSEMENT_ID = diff_row.ETABLISSEMENT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_VALEUR = 1 AND IN_COLUMN_LIST('VALEUR',IGNORE_UPD_COLS) = 0) THEN UPDATE VARIABLE SET VALEUR = diff_row.VALEUR WHERE ID = diff_row.id; END IF;
-            UPDATE VARIABLE SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'VARIABLE', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_VARIABLE;
-
-
-
-  PROCEDURE MAJ_TITRE_ACCES(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_TITRE_ACCES%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_TITRE_ACCES.* FROM V_DIFF_TITRE_ACCES ' || get_sql_criterion('TITRE_ACCES',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO TITRE_ACCES
-              ( id, CODE_DEPT_TITRE_ACCES,CODE_PAYS_TITRE_ACCES,LIBELLE_ETB_TITRE_ACCES,LIBELLE_TITRE_ACCES,THESE_ID,TITRE_ACCES_INTERNE_EXTERNE,TYPE_ETB_TITRE_ACCES, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,TITRE_ACCES_ID_SEQ.NEXTVAL), diff_row.CODE_DEPT_TITRE_ACCES,diff_row.CODE_PAYS_TITRE_ACCES,diff_row.LIBELLE_ETB_TITRE_ACCES,diff_row.LIBELLE_TITRE_ACCES,diff_row.THESE_ID,diff_row.TITRE_ACCES_INTERNE_EXTERNE,diff_row.TYPE_ETB_TITRE_ACCES, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_CODE_DEPT_TITRE_ACCES = 1 AND IN_COLUMN_LIST('CODE_DEPT_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET CODE_DEPT_TITRE_ACCES = diff_row.CODE_DEPT_TITRE_ACCES WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_CODE_PAYS_TITRE_ACCES = 1 AND IN_COLUMN_LIST('CODE_PAYS_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET CODE_PAYS_TITRE_ACCES = diff_row.CODE_PAYS_TITRE_ACCES WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIBELLE_ETB_TITRE_ACCES = 1 AND IN_COLUMN_LIST('LIBELLE_ETB_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET LIBELLE_ETB_TITRE_ACCES = diff_row.LIBELLE_ETB_TITRE_ACCES WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIBELLE_TITRE_ACCES = 1 AND IN_COLUMN_LIST('LIBELLE_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET LIBELLE_TITRE_ACCES = diff_row.LIBELLE_TITRE_ACCES WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TITRE_ACCES_INTERNE_EXTERNE = 1 AND IN_COLUMN_LIST('TITRE_ACCES_INTERNE_EXTERNE',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET TITRE_ACCES_INTERNE_EXTERNE = diff_row.TITRE_ACCES_INTERNE_EXTERNE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TYPE_ETB_TITRE_ACCES = 1 AND IN_COLUMN_LIST('TYPE_ETB_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET TYPE_ETB_TITRE_ACCES = diff_row.TYPE_ETB_TITRE_ACCES WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE TITRE_ACCES SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_CODE_DEPT_TITRE_ACCES = 1 AND IN_COLUMN_LIST('CODE_DEPT_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET CODE_DEPT_TITRE_ACCES = diff_row.CODE_DEPT_TITRE_ACCES WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_CODE_PAYS_TITRE_ACCES = 1 AND IN_COLUMN_LIST('CODE_PAYS_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET CODE_PAYS_TITRE_ACCES = diff_row.CODE_PAYS_TITRE_ACCES WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIBELLE_ETB_TITRE_ACCES = 1 AND IN_COLUMN_LIST('LIBELLE_ETB_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET LIBELLE_ETB_TITRE_ACCES = diff_row.LIBELLE_ETB_TITRE_ACCES WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_LIBELLE_TITRE_ACCES = 1 AND IN_COLUMN_LIST('LIBELLE_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET LIBELLE_TITRE_ACCES = diff_row.LIBELLE_TITRE_ACCES WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TITRE_ACCES_INTERNE_EXTERNE = 1 AND IN_COLUMN_LIST('TITRE_ACCES_INTERNE_EXTERNE',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET TITRE_ACCES_INTERNE_EXTERNE = diff_row.TITRE_ACCES_INTERNE_EXTERNE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_TYPE_ETB_TITRE_ACCES = 1 AND IN_COLUMN_LIST('TYPE_ETB_TITRE_ACCES',IGNORE_UPD_COLS) = 0) THEN UPDATE TITRE_ACCES SET TYPE_ETB_TITRE_ACCES = diff_row.TYPE_ETB_TITRE_ACCES WHERE ID = diff_row.id; END IF;
-            UPDATE TITRE_ACCES SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'TITRE_ACCES', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_TITRE_ACCES;
-
-
-
-  PROCEDURE MAJ_THESE_ANNEE_UNIV(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_THESE_ANNEE_UNIV%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_THESE_ANNEE_UNIV.* FROM V_DIFF_THESE_ANNEE_UNIV ' || get_sql_criterion('THESE_ANNEE_UNIV',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO THESE_ANNEE_UNIV
-              ( id, ANNEE_UNIV,THESE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,THESE_ANNEE_UNIV_ID_SEQ.NEXTVAL), diff_row.ANNEE_UNIV,diff_row.THESE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_ANNEE_UNIV = 1 AND IN_COLUMN_LIST('ANNEE_UNIV',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE_ANNEE_UNIV SET ANNEE_UNIV = diff_row.ANNEE_UNIV WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE_ANNEE_UNIV SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE THESE_ANNEE_UNIV SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_ANNEE_UNIV = 1 AND IN_COLUMN_LIST('ANNEE_UNIV',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE_ANNEE_UNIV SET ANNEE_UNIV = diff_row.ANNEE_UNIV WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE THESE_ANNEE_UNIV SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF;
-            UPDATE THESE_ANNEE_UNIV SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'THESE_ANNEE_UNIV', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_THESE_ANNEE_UNIV;
-
-
-
-  PROCEDURE MAJ_FINANCEMENT(SQL_CRITERION CLOB DEFAULT '', IGNORE_UPD_COLS CLOB DEFAULT '') IS
-    TYPE r_cursor IS REF CURSOR;
-    sql_query CLOB;
-    diff_cur r_cursor;
-    diff_row V_DIFF_FINANCEMENT%ROWTYPE;
-  BEGIN
-    sql_query := 'SELECT V_DIFF_FINANCEMENT.* FROM V_DIFF_FINANCEMENT ' || get_sql_criterion('FINANCEMENT',SQL_CRITERION);
-    OPEN diff_cur FOR sql_query;
-    LOOP
-      FETCH diff_cur INTO diff_row; EXIT WHEN diff_cur%NOTFOUND;
-      BEGIN
-
-        CASE diff_row.import_action
-          WHEN 'insert' THEN
-            INSERT INTO FINANCEMENT
-              ( id, ANNEE,COMPLEMENT_FINANCEMENT,DATE_DEBUT,DATE_FIN,ORIGINE_FINANCEMENT_ID,QUOTITE_FINANCEMENT,THESE_ID, source_id, source_code, histo_createur_id, histo_modificateur_id )
-            VALUES
-              ( COALESCE(diff_row.id,FINANCEMENT_ID_SEQ.NEXTVAL), diff_row.ANNEE,diff_row.COMPLEMENT_FINANCEMENT,diff_row.DATE_DEBUT,diff_row.DATE_FIN,diff_row.ORIGINE_FINANCEMENT_ID,diff_row.QUOTITE_FINANCEMENT,diff_row.THESE_ID, diff_row.source_id, diff_row.source_code, get_current_user, get_current_user );
-
-          WHEN 'update' THEN
-            IF (diff_row.u_ANNEE = 1 AND IN_COLUMN_LIST('ANNEE',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET ANNEE = diff_row.ANNEE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_COMPLEMENT_FINANCEMENT = 1 AND IN_COLUMN_LIST('COMPLEMENT_FINANCEMENT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET COMPLEMENT_FINANCEMENT = diff_row.COMPLEMENT_FINANCEMENT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_DEBUT = 1 AND IN_COLUMN_LIST('DATE_DEBUT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET DATE_DEBUT = diff_row.DATE_DEBUT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_FIN = 1 AND IN_COLUMN_LIST('DATE_FIN',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET DATE_FIN = diff_row.DATE_FIN WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ORIGINE_FINANCEMENT_ID = 1 AND IN_COLUMN_LIST('ORIGINE_FINANCEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET ORIGINE_FINANCEMENT_ID = diff_row.ORIGINE_FINANCEMENT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_QUOTITE_FINANCEMENT = 1 AND IN_COLUMN_LIST('QUOTITE_FINANCEMENT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET QUOTITE_FINANCEMENT = diff_row.QUOTITE_FINANCEMENT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF;
-
-          WHEN 'delete' THEN
-            UPDATE FINANCEMENT SET histo_destruction = SYSDATE, histo_destructeur_id = get_current_user WHERE ID = diff_row.id;
-
-          WHEN 'undelete' THEN
-            IF (diff_row.u_ANNEE = 1 AND IN_COLUMN_LIST('ANNEE',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET ANNEE = diff_row.ANNEE WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_COMPLEMENT_FINANCEMENT = 1 AND IN_COLUMN_LIST('COMPLEMENT_FINANCEMENT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET COMPLEMENT_FINANCEMENT = diff_row.COMPLEMENT_FINANCEMENT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_DEBUT = 1 AND IN_COLUMN_LIST('DATE_DEBUT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET DATE_DEBUT = diff_row.DATE_DEBUT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_DATE_FIN = 1 AND IN_COLUMN_LIST('DATE_FIN',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET DATE_FIN = diff_row.DATE_FIN WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_ORIGINE_FINANCEMENT_ID = 1 AND IN_COLUMN_LIST('ORIGINE_FINANCEMENT_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET ORIGINE_FINANCEMENT_ID = diff_row.ORIGINE_FINANCEMENT_ID WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_QUOTITE_FINANCEMENT = 1 AND IN_COLUMN_LIST('QUOTITE_FINANCEMENT',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET QUOTITE_FINANCEMENT = diff_row.QUOTITE_FINANCEMENT WHERE ID = diff_row.id; END IF;
-          IF (diff_row.u_THESE_ID = 1 AND IN_COLUMN_LIST('THESE_ID',IGNORE_UPD_COLS) = 0) THEN UPDATE FINANCEMENT SET THESE_ID = diff_row.THESE_ID WHERE ID = diff_row.id; END IF;
-            UPDATE FINANCEMENT SET histo_destruction = NULL, histo_destructeur_id = NULL WHERE ID = diff_row.id;
-
-        END CASE;
-
-      EXCEPTION WHEN OTHERS THEN
-        UNICAEN_IMPORT.SYNC_LOG( SQLERRM, 'FINANCEMENT', diff_row.source_code );
-      END;
-    END LOOP;
-    CLOSE diff_cur;
-
-  END MAJ_FINANCEMENT;
-
-  -- END OF AUTOMATIC GENERATION --
-END UNICAEN_IMPORT;
-/
-  CREATE OR REPLACE PACKAGE BODY /*"SYGAL".*/"UNICAEN_ORACLE" AS
-
-  FUNCTION implode(i_query VARCHAR2, i_seperator VARCHAR2 DEFAULT ',') RETURN VARCHAR2 AS
-    l_return CLOB:='';
-    l_temp CLOB;
-    TYPE r_cursor is REF CURSOR;
-    rc r_cursor;
-    BEGIN
-      OPEN rc FOR i_query;
-      LOOP
-        FETCH rc INTO L_TEMP;
-        EXIT WHEN RC%NOTFOUND;
-        l_return:=l_return||L_TEMP||i_seperator;
-      END LOOP;
-      RETURN RTRIM(l_return,i_seperator);
-    END;
-
-  FUNCTION STR_REDUCE( str CLOB ) RETURN CLOB IS
-    BEGIN
-      RETURN utl_raw.cast_to_varchar2((nlssort(str, 'nls_sort=binary_ai')));
-    END;
-
-  FUNCTION STR_FIND( haystack CLOB, needle VARCHAR2 ) RETURN NUMERIC IS
-    BEGIN
-      IF STR_REDUCE( haystack ) LIKE STR_REDUCE( '%' || needle || '%' ) THEN RETURN 1; END IF;
-      RETURN 0;
-    END;
-
-  FUNCTION LIKED( haystack CLOB, needle CLOB ) RETURN NUMERIC IS
-    BEGIN
-      RETURN CASE WHEN STR_REDUCE(haystack) LIKE STR_REDUCE(needle) THEN 1 ELSE 0 END;
-    END;
-
-  FUNCTION COMPRISE_ENTRE( date_debut DATE, date_fin DATE, date_obs DATE DEFAULT NULL, inclusif NUMERIC DEFAULT 0 ) RETURN NUMERIC IS
-    d_deb DATE;
-    d_fin DATE;
-    d_obs DATE;
-    res NUMERIC;
-    BEGIN
-      IF inclusif = 1 THEN
-        d_obs := TRUNC( COALESCE( d_obs     , SYSDATE ) );
-        d_deb := TRUNC( COALESCE( date_debut, d_obs   ) );
-        d_fin := TRUNC( COALESCE( date_fin  , d_obs   ) );
-        IF d_obs BETWEEN d_deb AND d_fin THEN
-          RETURN 1;
-        ELSE
-          RETURN 0;
-        END IF;
-      ELSE
-        d_obs := TRUNC( COALESCE( d_obs, SYSDATE ) );
-        d_deb := TRUNC( date_debut );
-        d_fin := TRUNC( date_fin   );
-
-        IF d_deb IS NOT NULL AND NOT d_deb <= d_obs THEN
-          RETURN 0;
-        END IF;
-        IF d_fin IS NOT NULL AND NOT d_obs < d_fin THEN
-          RETURN 0;
-        END IF;
-        RETURN 1;
-      END IF;
-    END;
-
-END UNICAEN_ORACLE;
-/
-  CREATE OR REPLACE TRIGGER /*"SYGAL".*/"INDIVIDU_RECH_UPDATE" 
-  after insert or update of NOM_USUEL,NOM_PATRONYMIQUE,PRENOM1,PRENOM2,PRENOM3,SOURCE_CODE or delete
-  on 	INDIVIDU
-  for each row
-  DECLARE
-    v_haystack CLOB := individu_haystack(:new.NOM_USUEL, :new.NOM_PATRONYMIQUE, :new.PRENOM1, :new.EMAIL, :new.SOURCE_CODE);
-  BEGIN
-    IF INSERTING THEN
-      insert into INDIVIDU_RECH(ID, HAYSTACK) values (:new.ID, v_haystack);
-    END IF;
-    IF UPDATING THEN
-      UPDATE INDIVIDU_RECH SET HAYSTACK = v_haystack where ID = :new.ID;
-    END IF;
-    IF DELETING THEN
-      delete from INDIVIDU_RECH where id = :old.ID;
-    END IF;
-  END;
-/
-ALTER TRIGGER /*"SYGAL".*/"INDIVIDU_RECH_UPDATE" ENABLE;
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_1" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  WITH PRIMARY KEY USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS SELECT "THESE"."ID" "ID","THESE"."ETABLISSEMENT_ID" "ETABLISSEMENT_ID","THESE"."DOCTORANT_ID" "DOCTORANT_ID","THESE"."ECOLE_DOCT_ID" "ECOLE_DOCT_ID","THESE"."UNITE_RECH_ID" "UNITE_RECH_ID","THESE"."BESOIN_EXPURGE" "BESOIN_EXPURGE","THESE"."COD_UNIT_RECH" "COD_UNIT_RECH","THESE"."CORREC_AUTORISEE" "CORREC_AUTORISEE","THESE"."DATE_AUTORIS_SOUTENANCE" "DATE_AUTORIS_SOUTENANCE","THESE"."DATE_FIN_CONFID" "DATE_FIN_CONFID","THESE"."DATE_PREM_INSC" "DATE_PREM_INSC","THESE"."DATE_PREV_SOUTENANCE" "DATE_PREV_SOUTENANCE","THESE"."DATE_SOUTENANCE" "DATE_SOUTENANCE","THESE"."ETAT_THESE" "ETAT_THESE","THESE"."LIB_DISC" "LIB_DISC","THESE"."LIB_ETAB_COTUT" "LIB_ETAB_COTUT","THESE"."LIB_PAYS_COTUT" "LIB_PAYS_COTUT","THESE"."LIB_UNIT_RECH" "LIB_UNIT_RECH","THESE"."RESULTAT" "RESULTAT","THESE"."SOUTENANCE_AUTORIS" "SOUTENANCE_AUTORIS","THESE"."TEM_AVENANT_COTUT" "TEM_AVENANT_COTUT","THESE"."TITRE" "TITRE","THESE"."SOURCE_CODE" "SOURCE_CODE","THESE"."SOURCE_ID" "SOURCE_ID","THESE"."HISTO_CREATEUR_ID" "HISTO_CREATEUR_ID","THESE"."HISTO_CREATION" "HISTO_CREATION","THESE"."HISTO_MODIFICATEUR_ID" "HISTO_MODIFICATEUR_ID","THESE"."HISTO_MODIFICATION" "HISTO_MODIFICATION","THESE"."HISTO_DESTRUCTEUR_ID" "HISTO_DESTRUCTEUR_ID","THESE"."HISTO_DESTRUCTION" "HISTO_DESTRUCTION" FROM "THESE" "THESE";
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_101" ("ID", "TYPE", "CIVILITE", "NOM_USUEL", "NOM_PATRONYMIQUE", "PRENOM1", "PRENOM2", "PRENOM3", "EMAIL", "DATE_NAISSANCE", "NATIONALITE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION", "SUPANN_ID")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS select i.*
-from DOCTORANT d
-join INDIVIDU i ON d.INDIVIDU_ID = i.ID
-left join THESE t ON d.ID = t.DOCTORANT_ID
-where t.ETAT_THESE = 'E'and t.DATE_PREM_INSC < ADD_MONTHS(SYSDATE,60)and t.ID IN (  SELECT THESE_ID  FROM THESE_ANNEE_UNIV         JOIN THESE T on THESE_ANNEE_UNIV.THESE_ID = T.ID  WHERE T.ETAT_THESE = 'E'  GROUP BY (THESE_ID)  HAVING MAX(ANNEE_UNIV) < TO_CHAR(ADD_MONTHS(SYSDATE, -12), 'yyyy')) ;
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_2" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS SELECT t.*
-FROM THESE T
-       LEFT JOIN VALIDATION V ON T.ID = V.THESE_ID
-       LEFT JOIN TYPE_VALIDATION N on V.TYPE_VALIDATION_ID = N.ID
-WHERE T.DATE_SOUTENANCE > ADD_MONTHS(SYSDATE,-2)  AND T.ETAT_THESE = 'E'  AND N.CODE = 'PAGE_DE_COUVERTURE'  AND V.ID IS NULL;
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_21" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS SELECT * FROM THESE WHERE ECOLE_DOCT_ID=(SELECT ID FROM ECOLE_DOCT WHERE SOURCE_CODE='UCN::497') AND ETAT_THESE='E';
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_3" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS SELECT t.*
-  FROM THESE T
-  LEFT JOIN FICHIER F on T.ID = F.THESE_ID
-  LEFT JOIN NATURE_FICHIER N on F.NATURE_ID = N.ID
-  WHERE T.DATE_SOUTENANCE > ADD_MONTHS(SYSDATE,-1)    AND T.ETAT_THESE = 'E'    AND N.CODE = 'THESE_PDF'    AND F.ID IS NULL;
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_4" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS SELECT *
-FROM THESE t
-WHERE t.ETAT_THESE = 'E'      AND t.DATE_SOUTENANCE < SYSDATE;
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_5" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS SELECT * 
-FROM THESE t 
-WHERE t.ETAT_THESE = 'E'       AND t.DATE_SOUTENANCE > SYSDATE;
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_6" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS SELECT *
-FROM THESE t
-WHERE t.ETAT_THESE = 'E'       AND t.DATE_PREM_INSC < ADD_MONTHS(SYSDATE,-72);
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_61" ("ID", "SIGLE", "LIBELLE", "CHEMIN_LOGO", "TYPE_STRUCTURE_ID", "HISTO_CREATION", "HISTO_CREATEUR_ID", "HISTO_MODIFICATION", "HISTO_MODIFICATEUR_ID", "HISTO_DESTRUCTION", "HISTO_DESTRUCTEUR_ID", "SOURCE_ID", "SOURCE_CODE", "CODE")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS SELECT *
-FROM STRUCTURE
-WHERE ID IN (
-  SELECT UNITE_RECH.STRUCTURE_ID
-  FROM THESE
-   LEFT JOIN UNITE_RECH ON THESE.UNITE_RECH_ID = UNITE_RECH.ID
-  WHERE THESE.ETAT_THESE='E'    AND UNITE_RECH.STRUCTURE_ID IS NOT NULL  GROUP BY UNITE_RECH.STRUCTURE_ID)  AND CHEMIN_LOGO IS NULL ;
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_62" ("ID", "SIGLE", "LIBELLE", "CHEMIN_LOGO", "TYPE_STRUCTURE_ID", "HISTO_CREATION", "HISTO_CREATEUR_ID", "HISTO_MODIFICATION", "HISTO_MODIFICATEUR_ID", "HISTO_DESTRUCTION", "HISTO_DESTRUCTEUR_ID", "SOURCE_ID", "SOURCE_CODE", "CODE")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS SELECT *
-FROM STRUCTURE
-WHERE ID IN (
-  SELECT ECOLE_DOCT.STRUCTURE_ID
-  FROM THESE
-  LEFT JOIN ECOLE_DOCT ON THESE.ECOLE_DOCT_ID = ECOLE_DOCT.ID
-  WHERE THESE.ETAT_THESE='E'  AND ECOLE_DOCT.STRUCTURE_ID IS NOT NULL  GROUP BY ECOLE_DOCT.STRUCTURE_ID)AND CHEMIN_LOGO IS NULL ;
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_7" ("ID", "TYPE", "CIVILITE", "NOM_USUEL", "NOM_PATRONYMIQUE", "PRENOM1", "PRENOM2", "PRENOM3", "EMAIL", "DATE_NAISSANCE", "NATIONALITE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS SELECT i.*
-FROM THESE t
-JOIN DOCTORANT d ON d.ID = t.DOCTORANT_ID
-JOIN INDIVIDU I on d.INDIVIDU_ID = I.ID
-WHERE i.TYPE='doctorant'  AND t.ETAT_THESE = 'E'  AND i.EMAIL is NULL;
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_INDICATEUR_81" ("ID", "ETABLISSEMENT_ID", "DOCTORANT_ID", "ECOLE_DOCT_ID", "UNITE_RECH_ID", "BESOIN_EXPURGE", "COD_UNIT_RECH", "CORREC_AUTORISEE", "DATE_AUTORIS_SOUTENANCE", "DATE_FIN_CONFID", "DATE_PREM_INSC", "DATE_PREV_SOUTENANCE", "DATE_SOUTENANCE", "ETAT_THESE", "LIB_DISC", "LIB_ETAB_COTUT", "LIB_PAYS_COTUT", "LIB_UNIT_RECH", "RESULTAT", "SOUTENANCE_AUTORIS", "TEM_AVENANT_COTUT", "TITRE", "SOURCE_CODE", "SOURCE_ID", "HISTO_CREATEUR_ID", "HISTO_CREATION", "HISTO_MODIFICATEUR_ID", "HISTO_MODIFICATION", "HISTO_DESTRUCTEUR_ID", "HISTO_DESTRUCTION", "CORREC_AUTORISEE_FORCEE", "ANNEE_UNIV_1ERE_INSC")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND START WITH sysdate+0 NEXT SYSDATE + 1
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS SELECT *
-FROM THESE t
-WHERE t.DATE_PREM_INSC <= ADD_MONTHS(SYSDATE, -60)AND T.ETAT_THESE = 'E'AND ID IN (  SELECT THESE_ID  FROM THESE_ANNEE_UNIV         JOIN THESE T on THESE_ANNEE_UNIV.THESE_ID = T.ID  WHERE T.ETAT_THESE = 'E'  GROUP BY (THESE_ID)  HAVING MAX(ANNEE_UNIV) <= TO_CHAR(ADD_MONTHS(SYSDATE, -12), 'yyyy')) ;
-  CREATE MATERIALIZED VIEW /*"SYGAL".*/"MV_RECHERCHE_THESE" ("CODE_THESE", "CODE_DOCTORANT", "CODE_ECOLE_DOCT", "HAYSTACK")
-  ORGANIZATION HEAP PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
- NOCOMPRESS LOGGING
- LOB ("HAYSTACK") STORE AS BASICFILE (ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
-  NOCACHE LOGGING ) 
-  BUILD IMMEDIATE
-  USING INDEX 
-  REFRESH FORCE ON DEMAND
-  USING DEFAULT LOCAL ROLLBACK SEGMENT
-  USING ENFORCED CONSTRAINTS DISABLE QUERY REWRITE
-  AS with acteurs as (
-  select a.these_id, i.nom_usuel, INDIVIDU_ID
-  from individu i
-         join acteur a on i.id = a.individu_id
-         join these t on t.id = a.these_id
-         join role r on a.role_id = r.id and r.CODE in ('D', 'K') -- (co)directeur de thèse
-  )
-  select
-    t.source_code code_these,
-    d.source_code code_doctorant,
-    ed.source_code code_ecole_doct,
-    trim(UNICAEN_ORACLE.str_reduce(
-          t.COD_UNIT_RECH || ' ' || t.TITRE || ' ' ||
-          d.SOURCE_CODE || ' ' || id.NOM_PATRONYMIQUE || ' ' || id.NOM_USUEL || ' ' || id.PRENOM1 || ' ' ||
-          a.nom_usuel)) as haystack
-  from these t
-         join doctorant d on d.id = t.doctorant_id
-         join individu id on id.id = d.INDIVIDU_ID
-         join these th on th.source_code = t.source_code
-    --join mv_thesard mvd on mvd.source_code = d.source_code
-         left join ecole_doct ed on t.ecole_doct_id = ed.id
-         left join acteurs a on a.these_id = t.id
-         left join individu ia on ia.id = a.INDIVIDU_ID;
\ No newline at end of file
diff --git a/database/01-bootstrap.sql b/database/01-bootstrap.sql
deleted file mode 100644
index 24692563fd84371c8756eb77a401a6f3e8d3c3d2..0000000000000000000000000000000000000000
--- a/database/01-bootstrap.sql
+++ /dev/null
@@ -1,94 +0,0 @@
---
--- BOOTSTRAP
---
-
---
--- Sources de données SyGAL.
---
-delete from SOURCE where CODE = 'SYGAL::sygal'
-/
-INSERT INTO SOURCE (ID, CODE, LIBELLE, IMPORTABLE)
-VALUES (1, 'SYGAL::sygal', 'SyGAL', 0)
-/
-
---
--- Pseudo-utilisateur 'sygal-app'.
---
-delete from UTILISATEUR where USERNAME = 'sygal-app'
-/
-INSERT INTO UTILISATEUR (ID, USERNAME, DISPLAY_NAME, PASSWORD)
-VALUES (1, 'sygal-app', 'Application SyGAL', 'ldap')
-/
-
---
--- Rôles multi-établissements.
---
-delete from ROLE where SOURCE_CODE in ('ADMIN_TECH', 'OBSERV')
-/
-INSERT INTO ROLE (ID, CODE, LIBELLE, SOURCE_CODE, SOURCE_ID, ROLE_ID, THESE_DEP, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID)
-  VALUES (1, 'ADMIN_TECH', 'Administrateur technique', 'ADMIN_TECH', 1, 'Administrateur technique', 0, 1, 1)
-/
-INSERT INTO ROLE (ID, CODE, LIBELLE, ROLE_ID, SOURCE_CODE, SOURCE_ID, THESE_DEP, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID)
-  VALUES (2 /*241*/, 'OBSERV', 'Observateur', 'Observateur', 'OBSERV', 1, 0, 1, 1)
-/
-
--- drop sequence INDIVIDU_ID_SEQ;
--- drop sequence UTILISATEUR_ID_SEQ;
--- drop sequence STRUCTURE_ID_SEQ;
--- drop sequence ETABLISSEMENT_ID_SEQ;
--- CREATE SEQUENCE  "INDIVIDU_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 NOORDER  NOCYCLE ;
--- CREATE SEQUENCE  "UTILISATEUR_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 NOORDER  NOCYCLE ;
--- CREATE SEQUENCE  "STRUCTURE_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 NOORDER  NOCYCLE ;
--- CREATE SEQUENCE  "ETABLISSEMENT_ID_SEQ"  MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 NOORDER  NOCYCLE ;
-
---
--- L'établissement inconnu.
---
-delete from ETABLISSEMENT where SOURCE_CODE  = 'ETAB_INCONNU'
-/
-delete from STRUCTURE where SOURCE_CODE  = 'ETAB_INCONNU'
-/
-insert into STRUCTURE(ID, LIBELLE, TYPE_STRUCTURE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, SOURCE_ID, SOURCE_CODE, CODE)
-select STRUCTURE_ID_SEQ.nextval,
-       'Établissement inconnu',
-       1, -- type etab
-       1, 1,
-       1, -- source sygal
-       'ETAB_INCONNU', -- source code unique
-       'INCONNU' -- code
-from dual
-/
-insert into ETABLISSEMENT(ID, STRUCTURE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID, SOURCE_ID, SOURCE_CODE)
-select ETABLISSEMENT_ID_SEQ.nextval,
-       STRUCTURE_ID_SEQ.currval,
-       1, 1,
-       1, -- source sygal
-       'ETAB_INCONNU' -- source code unique, idem structure
-from dual
-/
-
---
--- Avance de sequences.
---
-declare
-  maxid integer;
-  seqnextval integer;
-begin
-  select max(id) into maxid from UTILISATEUR;
-  LOOP
-    select UTILISATEUR_ID_SEQ.nextval into seqnextval from dual;
-    EXIT WHEN seqnextval >= maxid;
-  END LOOP;
-end;
-/
-declare
-  maxid integer;
-  seqnextval integer;
-begin
-  select max(id) into maxid from ROLE;
-  LOOP
-    select ROLE_ID_SEQ.nextval into seqnextval from dual;
-    EXIT WHEN seqnextval >= maxid;
-  END LOOP;
-end;
-/
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.CATEGORIE_PRIVILEGE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.CATEGORIE_PRIVILEGE-into-SYGAL.sql
deleted file mode 100644
index dc5ef4d22d1a6f4a192bd48d61506117dee4f421..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.CATEGORIE_PRIVILEGE-into-SYGAL.sql
+++ /dev/null
@@ -1,17 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (21, 'ecole-doctorale', 'École doctorale', 100) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (23, 'faq', 'FAQ', 10) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (1, 'droit', 'Gestion des droits', 1) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (2, 'import', 'Import', 10) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (3, 'these', 'Thèse', 20) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (4, 'doctorant', 'Doctorant', 30) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (5, 'utilisateur', 'Utilisateur', 5) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (22, 'unite-recherche', 'Unité de Recherche', 200) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (24, 'validation', 'Validations', 25) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (44, 'fichier-divers', 'Fichier divers', 40) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (20, 'etablissement', 'Établissement', 90) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (50, 'indicateur', 'Indicateur & Statistiques', 250) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (47, 'fichier-commun', 'Dépôt de fichier commun (non lié à une thèse)', 50) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (19, 'substitution', 'Substitution de structures', 300) ;
-INSERT INTO /*SYGAL.*/CATEGORIE_PRIVILEGE (ID, CODE, LIBELLE, ORDRE) VALUES (100, 'structure', 'Structures associées à SyGAL (écoles doctorales, établissements et unités de recherche)', 80) ;
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.DOMAINE_SCIENTIFIQUE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.DOMAINE_SCIENTIFIQUE-into-SYGAL.sql
deleted file mode 100644
index 5239f2a584d87867c37539549bc9822c144abfed..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.DOMAINE_SCIENTIFIQUE-into-SYGAL.sql
+++ /dev/null
@@ -1,12 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (1, 'Mathématiques et leurs interactions') ;
-INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (2, 'Physique') ;
-INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (3, 'Sciences de la terre et de l''univers, espace') ;
-INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (4, 'Chimie') ;
-INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (5, 'Biologie, médecine et santé') ;
-INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (6, 'Sciences humaines et humanités') ;
-INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (7, 'Sciences de la société') ;
-INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (8, 'Sciences pour l''ingénieur') ;
-INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (9, 'Sciences et technologies de l''information et de la communication') ;
-INSERT INTO /*SYGAL.*/DOMAINE_SCIENTIFIQUE (ID, LIBELLE) VALUES (10, 'Sciences agronomiques et écologiques') ;
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.IMPORT_OBSERV-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.IMPORT_OBSERV-into-SYGAL.sql
deleted file mode 100644
index 7f8f145ba3124fcc0c7fceaaa7127755cb95db60..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.IMPORT_OBSERV-into-SYGAL.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/IMPORT_OBSERV (ID, CODE, TABLE_NAME, COLUMN_NAME, OPERATION, TO_VALUE, DESCRIPTION, ENABLED) VALUES (6, 'RESULTAT_PASSE_A_ADMIS', 'THESE', 'RESULTAT', 'UPDATE', '1', 'Le résultat de la thèse passe à 1 (admis)', 1) ;
-INSERT INTO /*SYGAL.*/IMPORT_OBSERV (ID, CODE, TABLE_NAME, COLUMN_NAME, OPERATION, TO_VALUE, DESCRIPTION, ENABLED) VALUES (9, 'CORRECTION_PASSE_A_FACULTATIVE', 'THESE', 'CORREC_AUTORISEE', 'UPDATE', 'facultative', 'Correction attendue passe à facultative', 1) ;
-INSERT INTO /*SYGAL.*/IMPORT_OBSERV (ID, CODE, TABLE_NAME, COLUMN_NAME, OPERATION, TO_VALUE, DESCRIPTION, ENABLED) VALUES (10, 'CORRECTION_PASSE_A_OBLIGATOIRE', 'THESE', 'CORREC_AUTORISEE', 'UPDATE', 'obligatoire', 'Correction attendue passe à obligatoire', 1) ;
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.INFORMATION-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.INFORMATION-into-SYGAL.sql
deleted file mode 100644
index fef4c256fd42d1c63fe98a2dfbf465a61769acd4..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.INFORMATION-into-SYGAL.sql
+++ /dev/null
@@ -1,395 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/INFORMATION (ID, TITRE, HISTO_CREATION, HISTO_CREATEUR_ID, HISTO_MODIFICATION, HISTO_MODIFICATEUR_ID, HISTO_DESTRUCTION, HISTO_DESTRUCTEUR_ID, CONTENU, PRIORITE, EST_VISIBLE) VALUES (61, 'Le doctorat', TO_DATE('2018-12-13 10:53:25', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, TO_DATE('2019-12-05 16:07:14', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, NULL, NULL, TO_CLOB('<h2>Normandie Universit&eacute;</h2>
-<p><a href="http://www.normandie-univ.fr">Normandie Universit&eacute;</a> est une <a href="https://fr.wikipedia.org/wiki/Communaut%C3%A9_d%27universit%C3%A9s_et_%C3%A9tablissements">communaut&eacute; d''universit&eacute;s et &eacute;tablissements</a> associant les &eacute;tablissements d&rsquo;enseignement sup&eacute;rieur et de recherche de la <a href="https://fr.wikipedia.org/wiki/R%C3%A9gion_Normandie">r&eacute;gion Normandie</a>. Le doctorat est devenu depuis 2015 une comp&eacute;tence propre de Normandie Universit&eacute; qui coordonne la politique doctorale en Normandie au nom de ses membres et associ&eacute;s. Pour cette raison, quel que soit l&rsquo;&eacute;tablissement d&rsquo;inscription, les doctorants re&ccedil;oivent apr&egrave;s leur soutenance le dipl&ocirc;me de docteur de Normandie Universit&eacute;.&nbsp;</p>
-<p>Normandie Universit&eacute; regroupe :</p>
-<ul>
-<li>des &eacute;tablissements membres&nbsp;:
-<ul>
-<li><a href="http://recherche.unicaen.fr/etudes-doctorales/">Universit&eacute; de Caen Normandie</a></li>
-<li><a href="http://www.univ-rouen.fr/">Universit&eacute; de Rouen Normandie</a></li>
-<li><a href="http://www.univ-lehavre.fr">Universit&eacute; Le Havre Normandie</a></li>
-<li><a href="https://www.insa-rouen.fr/" target="Institut national des sciences appliqu&eacute;es de Rouen">Institut national des sciences appliqu&eacute;es de Rouen Normandie</a></li>
-<li><a href="https://www.ensicaen.fr/" target="&Eacute;cole nationale sup&eacute;rieure d''ing&eacute;nieurs de Caen">&Eacute;cole nationale sup&eacute;rieure d''ing&eacute;nieurs de Caen</a></li>
-<li><a href="http://www.rouen.archi.fr/" target="&Eacute;cole nationale sup&eacute;rieure d''architecture de Normandie">&Eacute;cole nationale sup&eacute;rieure d''architecture de Normandie</a></li>
-</ul>
-</li>
-<li>des &eacute;tablissements associ&eacute;s&nbsp;:
-<ul>
-<li><a href="https://www.unilasalle.fr">Institut polytechnique UniLaSalle</a></li>
-<li><a href="http://www.esigelec.fr">&Eacute;cole sup&eacute;rieure d''ing&eacute;nieurs en g&eacute;nie &eacute;lectrique</a></li>
-<li><a href="https://www.cesi.fr">CESI</a></li>
-<li><a href="https://www.vet-alfort.fr">&Eacute;cole nationale v&eacute;t&eacute;rinaire d''Alfort</a></li>
-<li><a href="https://www.anses.fr">Agence nationale de s&eacute;curit&eacute; sanitaire de l''alimentation</a></li>
-<li><a href="http://www.esam-c2.fr">&Eacute;cole sup&eacute;rieure d''Arts et M&eacute;dias de Caen-Cherbourg</a></li>
-<li><a href="http://esadhar.fr">&Eacute;cole sup&eacute;rieure d''Art et design Le Havre-Rouen</a></li>
-<li><a href="https://www.em-normandie.com">&Eacute;cole de Management de Normandie</a></li>
-<li>Centres Hospitaliers Universitaires de Rouen et Caen</li>
-<li>Centres Fran&ccedil;ois Baclesse et Becquerel</li>
-</ul>
-</li>
-<li>des &eacute;tablissements partenaires&nbsp;accueillant des doctorants:
-<ul>
-<li><a href="https://www.ganil-spiral2.eu">Grand acc&eacute;l&eacute;rateur national d''ions lourds</a></li>
-<li><a href="http://www.esitc-caen.fr">&Eacute;cole sup&eacute;rieure d''ing&eacute;nieurs des travaux de la construction</a></li>
-</ul>
-</li>
-</ul>
-<h2>Inscription en doctorat</h2>
-<p>Si vous souhaitez vous inscrire en doctorat en Normandie, suivre les liens suivants en fonction de l&rsquo; &eacute;tablissement d&rsquo;inscription&nbsp;:</p>
-<ul>
-<li><a href="https://www.insa-rouen.fr">INSA Rouen Normandie</a></li>
-<li><a href="http://www.unicaen.fr">Universit&eacute; de Caen Normandie</a></li>
-<li><a href="http://www.univ-rouen.fr">Universit&eacute; de Rouen Normandie</a></li>
-<li><a href="https://www.univ-lehavre.fr">Universit&eacute; Le Havre Normandie</a></li>
-</ul>
-<h2>Le doctorat&nbsp;</h2>
-<p>Le doctorat est le plus &eacute;lev&eacute; des <a href="http://www.enseignementsup-recherche.gouv.fr/cid20185/le-doctorat.html">grades universitaires</a>. Il correspond au grade et titre de docteur (ou Dr) et est attes')||TO_CLOB('t&eacute; par un dipl&ocirc;me national. Le doctorat est conf&eacute;r&eacute; g&eacute;n&eacute;ralement apr&egrave;s trois ann&eacute;es de recherche post&eacute;rieures &agrave; l''obtention du grade de master ou &eacute;quivalent et &agrave; la suite de la soutenance d''une th&egrave;se portant sur la r&eacute;alisation de travaux scientifiques originaux. Le doctorat sanctionne &laquo;&nbsp;une formation par la recherche, &agrave; la recherche et &agrave; l''innovation&nbsp;&raquo; et &laquo;&nbsp;une exp&eacute;rience professionnelle de recherche&nbsp;&raquo;.</p>
-<h2>La direction de th&egrave;se</h2>
-<p>La direction de la th&egrave;se est assur&eacute;e par une ou deux personnes habilit&eacute;es &agrave; diriger des recherches (HDR) rattach&eacute;es &agrave; une <a title="unit&eacute; de recherche" href="../fichiers/telecharger/7710">Unit&eacute; de Recherche de Normandie</a>. Exceptionnellement, une seconde co-direction de th&egrave;se peut &ecirc;tre assur&eacute;e par une personne du monde socio-&eacute;conomique non universitaire.</p>
-<h2>Co-encadrement de th&egrave;se</h2>
-<p>Le doctorant peut &ecirc;tre co-encadr&eacute; par une personne non habilit&eacute;e &agrave; diriger des recherches. La demande de co-encadrement est valid&eacute;e par la commission recherche de votre &eacute;tablissement d''inscription apr&egrave;s avis de l&rsquo;Ecole Doctorale de rattachement.</p>
-<h2><strong>Obligations l&eacute;gales</strong></h2>
-<p>&nbsp;L&rsquo;<a href="../../documents/autres/arrete-du-25-mai-2016.pdf">arr&ecirc;t&eacute; minist&eacute;riel du 25 mai 2016</a> fixe le cadre national de la formation et les modalit&eacute;s conduisant &agrave; la d&eacute;livrance du dipl&ocirc;me national de doctorat.</p>
-<p>&nbsp;Parmi les obligations l&eacute;gales, rappelons&nbsp;:</p>
-<ul>
-<li>&nbsp;la signature, &agrave; l&rsquo;inscription en th&egrave;se, de la charte du doctorat et&nbsp;de la convention de formation doctorale et la lecture du r&egrave;glement int&eacute;rieur de l&rsquo;Ecole Doctorale de rattachement&nbsp;et le respect des clauses rapport&eacute;es dans ces textes&nbsp;;</li>
-<li>&nbsp;la mise en place et la tenue d&rsquo;un comit&eacute; de suivi de th&egrave;se individuel (CSTI)&nbsp;;</li>
-<li>&nbsp;l&rsquo;application du r&egrave;glement int&eacute;rieur et/ou des pratiques (s&eacute;curit&eacute;, confidentialit&eacute; &hellip;) de <a title="unit&eacute; de recherche" href="../fichiers/telecharger/7710">l&rsquo;Unit&eacute; de Recherche </a>;</li>
-<li>&nbsp;la r&eacute;daction d&rsquo;un rapport annuel.</li>
-</ul>
-<h2>Le doctorat en Normandie</h2>
-<p>&nbsp;En 2018, pr&egrave;s de 1800 doctorants &eacute;taient inscrits en th&egrave;se en Normandie et 415 ont soutenu leur th&egrave;se selon la r&eacute;partition disciplinaire suivante&nbsp;:</p>
-<table>
-<tbody>
-<tr>
-<td>&nbsp;</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Inscrits</td>
-<td>&nbsp;</td>
-<td>&nbsp;Soutenances de th&egrave;se</td>
-</tr>
-<tr>
-<td>&nbsp;Biologie Int&eacute;grative, Sant&eacute;, Environnement&nbsp;(ED NBISE)</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 321</td>
-<td>&nbsp;</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 85</td>
-</tr>
-<tr>
-<td>&nbsp;Physique, Sciences de l''Ing&eacute;nieur, Mat&eacute;riaux, Energie (ED PSIME)</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 275</td>
-<td>&nbsp;</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 94</td>
-</tr>
-<tr>
-<td>&nbsp;Math&eacute;matiques, Information, Ing&eacute;nierie des Syst&egrave;mes&nbsp;(ED MIIS)</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 168</td>
-<td>&nbsp;</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;58</td>
-</tr>
-<tr>
-<td>&nbsp;Normande de Chimie (ED NC)</td>
-<td>&nbsp;&nbsp;&nbsp;&')||TO_CLOB('nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 131</td>
-<td>&nbsp;</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 47</td>
-</tr>
-<tr>
-<td>&nbsp;Homme, Soci&eacute;t&eacute;, Risque, Territoire (ED HSRT)</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;286</td>
-<td>&nbsp;</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 51</td>
-</tr>
-<tr>
-<td>&nbsp;Histoire, M&eacute;moire, Patrimoine, Langage (ED HMPL)</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;348</td>
-<td>&nbsp;</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 55</td>
-</tr>
-<tr>
-<td>&nbsp;Droit Normandie (ED DN)</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 136</td>
-<td>&nbsp;</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;16</td>
-</tr>
-<tr>
-<td>&nbsp;Economie, Gestion Normandie (ED EGN)</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 78</td>
-<td>&nbsp;</td>
-<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9</td>
-</tr>
-</tbody>
-</table>
-<p>&nbsp;Les doctorants sont inscrits dans un des quatre &eacute;tablissements normands habilit&eacute;s &agrave; inscrire en th&egrave;se. Quel que soit l&rsquo;&eacute;tablissement d&rsquo;inscription, les doctorants re&ccedil;oivent apr&egrave;s leur soutenance le dipl&ocirc;me de docteur de Normandie Universit&eacute;.</p>
-<h2>Financement des th&egrave;ses en Normandie</h2>
-<p>Le financement des doctorants en Normandie s&rsquo;&eacute;tablit comme suit&nbsp;:&nbsp;</p>
-<table>
-<tbody>
-<tr>
-<td>Allocation doctorale d&rsquo;&eacute;tablissement / minist&egrave;res / grands organismes</td>
-<td>24 %</td>
-</tr>
-<tr>
-<td>Allocation doctorale r&eacute;gionale / collectivit&eacute;s locales</td>
-<td>25 %</td>
-</tr>
-<tr>
-<td>ANR</td>
-<td>3 %</td>
-</tr>
-<tr>
-<td>Partenariat de recherche</td>
-<td>2 %</td>
-</tr>
-<tr>
-<td>CIFRE</td>
-<td>6 %</td>
-</tr>
-<tr>
-<td>Programmes europ&eacute;ens</td>
-<td>2 %</td>
-</tr>
-<tr>
-<td>Financement pour doctorant en situation de handicap</td>
-<td>1 %</td>
-</tr>
-<tr>
-<td>Financement pour doctorants &eacute;trangers</td>
-<td>10 %</td>
-</tr>
-<tr>
-<td>Fondations et m&eacute;c&eacute;nat</td>
-<td>1 %</td>
-</tr>
-<tr>
-<td>Doctorants sans financement d&eacute;di&eacute;</td>
-<td>8 %</td>
-</tr>
-<tr>
-<td>Doctorants ayant une activit&eacute; professionnelle autre</td>
-<td>18%</td>
-</tr>
-</tbody>
-</table>
-<h2>Bilan de la formation doctorale 2015-2019</h2>
-<p>Le bilan d&eacute;taill&eacute; de la formation doctorale pour la p&eacute;riode 2015-2019 est t&eacute;l&eacute;chargeable &agrave; <a href="../fichiers/telecharger/4466">bilan 2015-2019</a>.</p>
-<h2>Les maisons du doctorat</h2>
-<p>Les services supports et conseil&nbsp;sur le&nbsp;doctorat (Ecoles Doctorales et gestion administrative de l&rsquo;&eacute;tablissement d&rsquo;inscription) sont regroup&eacute;s au sein <strong>des maisons du doctorat</strong>. Si vous &ecirc;tes un &eacute;tudiant en master, vous pourrez y trouver des informations&nbsp;utiles sur l''accession en doctorat. Si vous &ecirc;tes en doctorat, vous pourrez trouver&nbsp;au sein de&nbsp;ces maisons du doctorat les informations et conseils pour&nbsp;vous accompagner dans l''ensemble des &eacute;tapes de votre parcours doctoral depuis l''inscription jusqu''&agrave; l''insertion professionnelle.</p>
-<p>Des lieux de rencontre entre doctorants et des salles d&eacute;di&eacute;es &agrave; la formation doctorale sont mis &agrave; disposition dans les locaux des maisons du doctorat ou &agrave; proximit&eacute;.</p>
-<p>Ces maisons du doctorat sont localis&eacute;es sur les principaux sites universitaires normands&nbsp;:</p>
-<ul>
-<li>Site de Mont-Saint-Aignan, Universit&eacute; de Rouen Normand')||TO_CLOB('ie&nbsp;: <a href="../fichiers/telecharger/2200">1er &eacute;tage, b&acirc;timent Monod</a>&nbsp;;</li>
-<li>Site du Madrillet, Universit&eacute; de Rouen Normandie&nbsp;: <a href="../../documents/MaisonDoctorat/Plan maison Madrillet.pptx">hall, facult&eacute; des Sciences et Techniques</a>&nbsp;;</li>
-<li>Campus 1, Universit&eacute; de Caen Normandie&nbsp;: <a href="../fichiers/telecharger/2185">MRSH</a>&nbsp;;</li>
-<li>Campus 2, Universit&eacute; de Caen Normandie&nbsp;:<a href="../fichiers/telecharger/2186"> B&acirc;timent Sciences 3</a>&nbsp;;</li>
-<li>Universit&eacute; Le Havre Normandie&nbsp;: <a href="../fichiers/telecharger/2187">DirVED</a>.</li>
-</ul>
-<h2>Le devenir des docteurs</h2>
-<p>Un suivi sur le devenir des docteurs normands est assur&eacute; par les observatoires des &eacute;tablissements qui interrogent r&eacute;guli&egrave;rement les docteurs sur leurs situations professionnelles 3 ans apr&egrave;s la soutenance de th&egrave;se. Les r&eacute;sultats de ces enqu&ecirc;tes disponibles &agrave;&nbsp;<a href="../fichiers/telecharger/2189">devenir des docteurs normands</a>.</p>
-<p>Egalement &agrave; votre disposition, le <a href="../fichiers/telecharger/2188">bilan de l''emploi des docteurs en 2018 en France</a>.</p>'), 100, 1) ;
-INSERT INTO /*SYGAL.*/INFORMATION (ID, TITRE, HISTO_CREATION, HISTO_CREATEUR_ID, HISTO_MODIFICATION, HISTO_MODIFICATEUR_ID, HISTO_DESTRUCTION, HISTO_DESTRUCTEUR_ID, CONTENU, PRIORITE, EST_VISIBLE) VALUES (81, 'Les Écoles Doctorales', TO_DATE('2018-12-13 17:59:40', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, TO_DATE('2019-12-02 10:01:56', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, NULL, NULL, TO_CLOB('<h2>&nbsp;</h2>
-<p>Les &Eacute;coles Doctorales ont &eacute;t&eacute; cr&eacute;&eacute;es au d&eacute;but des ann&eacute;es 90 avec pour mission l&rsquo;accompagnement des doctorants vers leur insertion professionnelle &agrave; l''issue de leur formation doctorale. Les &eacute;coles doctorales regroupent des doctorants d&rsquo;un m&ecirc;me domaine scientifique pouvant &ecirc;tre issus de plusieurs &eacute;tablissements.</p>
-<p>Les missions des &Eacute;coles Doctorales&nbsp;sont :</p>
-<ul>
-<li>mettre en &oelig;uvre une politique d''admission des nouveaux doctorants, fond&eacute;e sur des crit&egrave;res explicites et publics. Elles informent les &eacute;tudiants sur les conditions d''acc&egrave;s, les comp&eacute;tences requises, les financements susceptibles d''&ecirc;tre obtenus, la nature, la qualit&eacute; et les taux d''activit&eacute; professionnelle apr&egrave;s l''obtention du doctorat&nbsp;;</li>
-<li>organiser les &eacute;changes scientifiques entre doctorants et leur communaut&eacute; scientifique&nbsp;;</li>
-<li>proposer aux doctorants des activit&eacute;s de formation disciplinaire&nbsp;;</li>
-<li>assurer une d&eacute;marche qualit&eacute; de suivi de la formation en mettant notamment en place des comit&eacute;s de suivi de th&egrave;se individuel du doctorant ;</li>
-<li>contribuer &agrave; une ouverture internationale.</li>
-</ul>
-<h2>Les &Eacute;coles Doctorales de Normandie Universit&eacute;</h2>
-<p>La formation doctorale en Normandie s&rsquo;articule autour de 8 &Eacute;coles Doctorales (ED) disciplinaires qui regroupent des unit&eacute;s de recherche rattach&eacute;es aux Universit&eacute;s de Caen Normandie, Le Havre Normandie et de Rouen Normandie, des deux &eacute;coles d&rsquo;ing&eacute;nieurs l''ENSICAEN et l''INSA Rouen Normandie, ainsi que des &eacute;tablissements associ&eacute;s ou partenaires accueillant des doctorants&nbsp;: ESIGELEC, UniLaSalle, CESI, ESITC, GANIL et ENVA. Ces ED sont&nbsp;:</p>
-<ul>
-<li><a href="http://www.normandie-univ.fr/ed-98-droit-normandie-1069.kjsp?RH=1351093832209">ED 98 Droit Normandie (DN)</a></li>
-<li><a href="http://www.normandie-univ.fr/ed-242-economie-gestion-normandie-1077.kjsp?RH=1351093832209">ED 242 &Eacute;conomie-Gestion Normandie (EGN)</a></li>
-<li><a href="http://www.normandie-univ.fr/ednbise-497-normande-de-biologie-integrative-sante-environnement-1085.kjsp?RH=1351093832209">ED 497 Normande de Biologie Int&eacute;grative, Sant&eacute;, Environnement (NBISE)</a></li>
-<li><a href="http://www.normandie-univ.fr/ed-508-normande-de-chimie--1089.kjsp?RH=1351093832209">ED 508 Normande de Chimie (NC)</a></li>
-<li><a href="http://www.normandie-univ.fr/edhsrt-556-homme-societes-risques-territoire-1061.kjsp?RH=1351093832209">ED 556 Homme, Soci&eacute;t&eacute;s, Risques, Territoire (HSRT)</a></li>
-<li><a href="http://www.normandie-univ.fr/ed-558-hmpl-histoire-memoire-patrimoine-langage-1065.kjsp?RH=1351093832209">ED 558 Histoire, M&eacute;moire, Patrimoine, Langage (HMPL)</a></li>
-<li><a href="http://www.normandie-univ.fr/ed-590-miis-mathematiques-information-ingenierie-des-systemes-1081.kjsp?RH=1351093832209">ED 590 Math&eacute;matiques, Information, Ing&eacute;nierie des Syst&egrave;mes (MIIS)</a></li>
-<li><a href="http://www.normandie-univ.fr/ed-591-psime-physique-sciences-de-l-ingenieur-materiaux-energie-1073.kjsp?RH=1351093832209">ED 591 Physique, Sciences de l&rsquo;Ing&eacute;nieur, Mat&eacute;riaux, &Eacute;nergie (PSIME)</a></li>
-</ul>
-<p>Chaque &eacute;cole doctorale est g&eacute;r&eacute;e par un directeur et des directeurs-adjoints de site, assist&eacute;s de gestionnaires et d&rsquo;un conseil dans lequel si&egrave;gent aussi des repr&eacute;sentants des doctorants. Ce conseil d&eacute;finit les actions &agrave; mener et b&eacute;n&eacute;ficie d&rsquo;un budget propre. Le fonctionnement de chaque &Eacute;cole Doctorale est r&eacute;gi par un r&egrave;glement int&eacute;rieur.</p>
-<h2>Le Coll&egrave;ge des &Eacute;coles Doctorales (C')||TO_CLOB('ED)</h2>
-<p>La politique doctorale est une comp&eacute;tence propre de Normandie Universit&eacute;. En cons&eacute;quence, elle assure la coordination des &Eacute;coles Doctorales via une composante interne en charge de la formation doctorale en Normandie : le Coll&egrave;ge des &Eacute;coles Doctorales (CED). Ce coll&egrave;ge est un lieu de concertation qui rassemble les directions Recherche des &eacute;tablissements, les directions des 8 &Eacute;coles Doctorales et des repr&eacute;sentants des doctorants.</p>
-<p>Les missions du Coll&egrave;ge des &Eacute;coles Doctorales&nbsp;sont :</p>
-<ul>
-<li>harmoniser les politiques doctorales des &eacute;tablissements normands&nbsp;;</li>
-<li>communiquer la politique doctorale de Normandie Universit&eacute; vers les &eacute;tudiants et le monde socio-&eacute;conomique&nbsp;;</li>
-<li>consolider les liens entre les ED et le tissu &eacute;conomique&nbsp;;</li>
-<li>proposer aux doctorants une formation transversale favorisant l''interdisciplinarit&eacute; et l''acquisition d''une culture scientifique &eacute;largie&nbsp;en veillant &agrave; ce que chaque doctorant re&ccedil;oive une formation &agrave; l''&eacute;thique de la recherche, &agrave; l''int&eacute;grit&eacute; scientifique&nbsp;et aux enjeux de la diffusion de la culture scientifique, technique et industrielle ;</li>
-<li>organiser des &eacute;v&eacute;nements&nbsp;transversaux de grande ampleur : c&eacute;r&eacute;monie publique de remise du dipl&ocirc;me de docteur, Ma Th&egrave;se en 180 secondes, les Doctoriales, etc. ;</li>
-<li>enqu&ecirc;ter sur le devenir des docteurs apr&egrave;s leur soutenance de th&egrave;se.</li>
-</ul>'), 50, 1) ;
-INSERT INTO /*SYGAL.*/INFORMATION (ID, TITRE, HISTO_CREATION, HISTO_CREATEUR_ID, HISTO_MODIFICATION, HISTO_MODIFICATEUR_ID, HISTO_DESTRUCTION, HISTO_DESTRUCTEUR_ID, CONTENU, PRIORITE, EST_VISIBLE) VALUES (82, 'Guide de la thèse', TO_DATE('2018-12-13 18:00:01', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, TO_DATE('2020-01-28 17:37:47', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, NULL, NULL, TO_CLOB('<h2>Inscriptions</h2>
-<p>Sauf cas particuliers (contrats CIFRE, contrats industriels), elles ont lieu &agrave; partir de juillet et jusqu&rsquo;&agrave; fin octobre. Tout dossier d&rsquo;inscription devant &ecirc;tre sign&eacute; par les directeurs ou directrices de th&egrave;se, de l&rsquo;Unit&eacute; de recherche concern&eacute;e et de l&rsquo;Ecole doctorale, il convient de pr&eacute;voir un d&eacute;lai suffisant pour recueillir les signatures n&eacute;cessaires avant de d&eacute;poser le dossier &agrave; la Maison du doctorat pour autorisation d''inscription de la direction de l''&eacute;tablissement concern&eacute;.</p>
-<p><strong>Les demandes de co-direction de th&egrave;se, de co-encadrement et de confidentialit&eacute; de la th&egrave;se se font en g&eacute;n&eacute;ral lors de l&rsquo;&eacute;tape d&rsquo;inscription en th&egrave;se. </strong>Le doctorant doit &eacute;galement signer la charte du doctorat et la convention de formation doctorale. Cette convention pr&eacute;cise, en accord avec les directions de th&egrave;se et de l''unit&eacute; de recherche, le d&eacute;roulement de&nbsp;la th&egrave;se et son environnement mat&eacute;riel. Une fois l&rsquo;inscription termin&eacute;e (administrative et p&eacute;dagogique), le doctorant peut acc&eacute;der &agrave; sa page personnelle de l&rsquo;application SyGAL <em>via</em> son espace num&eacute;rique de travail (ENT). Les &eacute;tapes suivantes de la th&egrave;se sont g&eacute;r&eacute;es <em>via</em> cette application.</p>
-<h2>Dur&eacute;e de la th&egrave;se</h2>
-<p>La dur&eacute;e de la&nbsp;th&egrave;se est de trois ans pour les doctorants. Il est toutefois possible apr&egrave;s accord de l''Ecole Doctorale et&nbsp;de la direction de l''&eacute;tablissement de prolonger cette dur&eacute;e :&nbsp;</p>
-<ul>
-<li>
-<p>d&rsquo;une ann&eacute;e dite d&eacute;rogatoire pour les doctorants contractuels, soit quatre ann&eacute;es de th&egrave;se au total.</p>
-</li>
-<li>
-<p>de trois ann&eacute;es d&eacute;rogatoires pour les autres doctorants, soit six ann&eacute;es de th&egrave;se au total.</p>
-</li>
-</ul>
-<h2>Les associations et repr&eacute;sentants des doctorants</h2>
-<p>Les doctorants sont repr&eacute;sent&eacute;s dans les diff&eacute;rents conseils des &eacute;tablissements pour d&eacute;fendre leurs droits et &ecirc;tre force de proposition. Les associations des doctorants offrent un autre espace de construction du doctorat en Normandie et un lieu de rencontre entre doctorants issus de diff&eacute;rents domaine scientifiques. Les coordonn&eacute;es sont:</p>
-<p>&nbsp;- Les repr&eacute;sentants des doctorants au sein des Ecoles Doctorales : <strong>noms et coordonn&eacute;es indiqu&eacute;s sur la page web de l&rsquo;Ecole Doctorale</strong> dans la rubrique &laquo; les&nbsp; &eacute;coles doctorales de Normandie universit&eacute; &raquo;. Ces repr&eacute;sentants sont de droit invit&eacute;s au Conseil des Ecoles Doctorales.</p>
-<p>- Les repr&eacute;sentants des doctorants au Conseil Acad&eacute;mique de Normandie Universit&eacute;:</p>
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Yohan MARC, <a href="mailto:yohan.marc@etu.univ-rouen.fr">yohan.marc@etu.univ-rouen.fr</a></p>
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - Aimie LE SAUX,&nbsp; <a href="mailto:aimie.le-saux@etu.univ-lehavre.fr">aimie.le-saux@etu.univ-lehavre.fr</a></p>
-<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - L''association OPTIC</p>
-<h2>&nbsp;<strong>Le contrat doctoral</strong></h2>
-<p>Mis en place en 2009, <strong>le contrat doctoral </strong>permet au doctorant de se consacrer pleinement &agrave; ses travaux de recherche, tout en apportant toutes les garanties sociales d&rsquo;un <strong>contrat de travail de droit public</strong>. <strong>D&rsquo;une dur&eacute;e de trois ans</strong>, il est accord&eacute; et g&eacute;r&eacute; par un &eacute;tablissement universitaire, une &eacute;cole (INSA, UniLaSalle, ESIGELEC&hellip;) ou un grand organisme de recherche (CNRS, INSERM).</p>
-<p>Cet &eacute;tabli')||TO_CLOB('ssement, signataire de ce contrat doctoral est en cons&eacute;quence <strong>l&rsquo;employeur du doctorant</strong>.</p>
-<p>Les fonds mobilis&eacute;s pour financer un contrat doctoral peuvent provenir de diverses origines&nbsp;: &eacute;tablissement, grand organisme de recherche, conseil r&eacute;gional, association, fondation, etc&nbsp;...</p>
-<p>Le contrat doctoral fixe &eacute;galement une r&eacute;mun&eacute;ration minimale pour une activit&eacute; de recherche. Il est possible d&rsquo;obtenir un avenant &agrave; ce contrat en cas d''activit&eacute;s compl&eacute;mentaires accord&eacute;es annuellement.</p>
-<p>Ces activit&eacute;s compl&eacute;mentaires sont&nbsp;:</p>
-<p><strong>- une mission d&rsquo;enseignement</strong><strong>&nbsp;</strong></p>
-<p><strong>- une mission de</strong><strong> diffusion</strong>&nbsp;<strong>de la culture scientifique et technique</strong> : r&eacute;daction d''articles, journalisme scientifique, mise en place et animation d''ateliers p&eacute;dagogiques et d&rsquo;&eacute;v&eacute;nements publics ...</p>
-<p><strong>- une mission de valorisation</strong> <strong>de r&eacute;sultats de la recherche</strong> : promotion de la technologie, prospection, &eacute;tude sur le d&eacute;p&ocirc;t d''un brevet, activit&eacute; de veille technologique, recherche d''applications pour une technologie...</p>
-<p><strong>- une mission doctorale d&rsquo;expertise</strong>&nbsp;: analyse juridique, &eacute;tude de march&eacute; ou de faisabilit&eacute;, conseil, recherches bibliographiques, exp&eacute;rimentations, enqu&ecirc;tes, accompagnement de projet...</p>
-<p>Les trois premi&egrave;res missions peuvent &ecirc;tre propos&eacute;es aux doctorants apr&egrave;s appel &agrave; candidature par les &eacute;tablissements d&rsquo;inscription en th&egrave;se selon des proc&eacute;dures propres &agrave; chaque universit&eacute; ou &eacute;cole.</p>
-<p>Concernant la mission doctorale d&rsquo;expertise, le doctorant ou l&rsquo;Unit&eacute; de Recherche peut &ecirc;tre &agrave; l&rsquo;origine du contact. La demande peut &eacute;galement &eacute;maner d&rsquo;une entreprise, association ou autre partenaire qui informe alors les p&ocirc;les doctoraux de leur volont&eacute; d&rsquo;avoir recours &agrave; des comp&eacute;tences d&rsquo;un doctorant. Les p&ocirc;les doctoraux contactent alors les doctorants pouvant potentiellement r&eacute;pondre &agrave; cette demande. Pour plus d&rsquo;informations, consultez <a title="mission doctorale expertise" href="../fichiers/telecharger/2194">mission doctorale d&rsquo;expertise</a>.</p>
-<h2><strong>Les vacations</strong></h2>
-<p>Les missions cit&eacute;es ci-dessus peuvent &ecirc;tre accord&eacute;s annuellement &agrave; tous les doctorants, y compris les doctorants&nbsp;sans contrat doctoral s&rsquo;ils sont &acirc;g&eacute;s de moins de 28 ans au 1er septembre de l&rsquo;ann&eacute;e Universitaire ou &agrave; des doctorants ayant une activit&eacute; professionnelle.</p>
-<p>Ces missions peuvent vous &ecirc;tre propos&eacute;es par un &eacute;tablissement, une UFR ou un d&eacute;partement d&rsquo;enseignement. <strong>Vous devrez signer un contrat d&rsquo;</strong><strong>agent temporaire vacataire</strong> indiquant la mission confi&eacute;e et le nombre d&rsquo;heures &agrave; assurer.</p>
-<h2><strong>La formation Doctorale</strong></h2>
-<p>Le c&oelig;ur de votre doctorat est votre projet de th&egrave;se men&eacute; au sein d&rsquo;un laboratoire labellis&eacute; et sous la responsabilit&eacute; d&rsquo;un directeur de th&egrave;se habilit&eacute;. Vous allez ainsi acqu&eacute;rir et d&eacute;velopper des comp&eacute;tences gr&acirc;ce aux activit&eacute;s que vous allez mener tout au long de votre projet de recherche. <strong>L&rsquo;objectif de la formation doctorale est de compl&eacute;ter cette formation dite &laquo; &agrave; la recherche et par la recherche &raquo;</strong> pour vous pr&eacute;parer &agrave; la poursuite de votre parcours professionnel. ')||TO_CLOB('Il est donc n&eacute;cessaire que les modules de formation doctorale que vous allez choisir soit en coh&eacute;rence avec votre projet professionnel.</p>
-<p>L&rsquo;offre de formation est ouverte sur les m&eacute;tiers de demain et elle s&rsquo;adresse &agrave; tous les doctorants quel que soit leur domaine scientifique. Elle est compos&eacute;e&nbsp;:</p>
-<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>De modules et parcours mutualis&eacute;s mis en place et g&eacute;r&eacute;s par le CED</strong>, transverses &agrave; l''ensemble des secteurs de recherche des ED et ouverts &agrave; tous les doctorants. Pour l&rsquo;offre 2019-2020, consultez <a href="../fichiers/telecharger/4566">offre de formation 2019-2020</a>&nbsp; ;</p>
-<p>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <strong>De modules disciplinaires mis en place et g&eacute;r&eacute;s par chaque ED</strong> et r&eacute;pondant aux besoins sp&eacute;cifiques de ses doctorants et pr&eacute;sent&eacute;s dans leur R&egrave;glement Int&eacute;rieur (voir <strong>r&egrave;glement int&eacute;rieur</strong> accessible &agrave; la page web de l&rsquo;ED dans la rubrique &laquo; les &eacute;coles doctorales de Normandie universit&eacute; &raquo;). <strong>Attention, des &eacute;ventuelles obligations de suivi</strong> (formation, module, volume horaire &hellip;) ont &eacute;t&eacute; fix&eacute;es pour chaque ED et sont &eacute;galement d&eacute;taill&eacute;es dans leur R&egrave;glement Int&eacute;rieur.</p>
-<h2>Comit&eacute; de suivi (pour les doctorants inscrits depuis 2016)</h2>
-<p>Chaque doctorant doit avoir un comit&eacute; de suivi pour sa th&egrave;se. Etabli d&egrave;s la premi&egrave;re ann&eacute;e, ce comit&eacute; de suivi est l&agrave; pour accompagner le d&eacute;roulement de la th&egrave;se et v&eacute;rifier que tout se passe bien. Les membres du comit&eacute; ne pourront pas &ecirc;tre pr&eacute;-rapporteurs au moment de l&rsquo;arriv&eacute;e de la th&egrave;se &agrave; soutenance. Les compositions de ces comit&eacute;s et les modalit&eacute;s sp&eacute;cifiques &agrave; chaque discipline sont <strong>pr&eacute;cis&eacute;es dans les r&egrave;glements Int&eacute;rieurs de votre Ecole Doctorale de rattachement</strong> (accessible <em>via</em> le lien de votre Ecole Doctorale, page d''accueil "Ecoles Doctorales"). Pour prendre connaissance de ce r&egrave;glement int&eacute;rieur, allez &agrave; la page "Ecoles Doctorales", puis cliquez sur le lien de votre Ecole Doctorale. Vous acc&eacute;derez ainsi &agrave; sa page d''information et &agrave; son r&egrave;glement int&eacute;rieur.</p>
-<h2>Soutenance de th&egrave;se</h2>
-<p>La demande de soutenance doit &ecirc;tre <strong>d&eacute;pos&eacute;e</strong> <strong>et valid&eacute;e</strong> sur SyGAL <strong>au moins deux mois avant la date de soutenance. </strong>Les &eacute;tapes suivantes de la soutenance sont ensuite enti&egrave;rement conduites <em>via</em> cette application (<em><strong>voir page d''accueil "guide d''utilisation"</strong></em>).</p>
-<p>La soutenance est autoris&eacute;e par le chef d''&eacute;tablissement apr&egrave;s <strong>r&eacute;ception des deux rapports favorables</strong> &agrave; une soutenance orale des travaux. <strong>Cette soutenance est publique</strong> sauf demande de confidentialit&eacute; d&eacute;pos&eacute;e pr&eacute;alablement par l''Unit&eacute; de Recherche.</p>
-<h2><strong>D&eacute;p&ocirc;t du fichier de th&egrave;se</strong></h2>
-<p><strong>Un mois au plus tard avant la soutenance de th&egrave;se et apr&egrave;s validation de la demande de soutenance par le chef de l''&eacute;tablissement d&rsquo;inscription</strong>, le doctorant doit <strong>d&eacute;poser son manuscrit de th&egrave;se</strong> sous forme num&eacute;rique dans l''application SyGAL et effectuer ses formalit&eacute;s de d&eacute;p&ocirc;t avec l''aide des services des biblioth&egrave;ques universitaires (<em><strong>voir page d''accueil "guide d''utilisation"</strong></em>).</p>
-<p></p>
-<h2>Le')||TO_CLOB(' label Doctorat Europ&eacute;en</h2>
-<p>Ce dispositif permet d&rsquo;ajouter au doctorat la reconnaissance d&rsquo;une dimension europ&eacute;enne.  Le doctorat europ&eacute;en est un label qui peut &ecirc;tre d&eacute;cern&eacute; sur demande en suppl&eacute;ment du dipl&ocirc;me de doctorat lorsque la th&egrave;se a &eacute;t&eacute; pr&eacute;par&eacute;e, en partie, lors d&rsquo;un s&eacute;jour&nbsp;dans un pays de l&rsquo;Union Europ&eacute;enne &eacute;largie. Le terme &laquo; Union Europ&eacute;enne &eacute;largie &raquo; s&rsquo;entend au sens des pays membres de l&rsquo;Union Europ&eacute;enne &eacute;tendu aux autres &eacute;tats de libre &eacute;change : Suisse, Norv&egrave;ge, Islande et Liechtenstein.</p>
-<p> Pour l''obtention de ce label, les quatre conditions suivantes doivent remplies :</p>
-<ol>
-<li>Le doctorat doit avoir &eacute;t&eacute; pr&eacute;par&eacute;, en partie, lors d&rsquo;un s&eacute;jour d&rsquo;au moins trois mois dans un autre &Eacute;tat europ&eacute;en ;</li>
-<li>L&rsquo;autorisation de soutenance est accord&eacute;e au vu de rapports r&eacute;dig&eacute;s par au moins deux professeurs ou assimil&eacute;s appartenant &agrave; deux &eacute;tablissements d&rsquo;enseignement sup&eacute;rieur de deux Etats europ&eacute;ens autres que celui dans lequel le doctorat est soutenu&nbsp;;</li>
-<li>Un membre au moins du jury doit appartenir &agrave; un &eacute;tablissement d&rsquo;enseignement Sup&eacute;rieur d&rsquo;un Etat europ&eacute;en autre que celui dans lequel le doctorat est soutenu ;</li>
-<li>Une partie de la soutenance doit &ecirc;tre effectu&eacute;e dans une langue nationale europ&eacute;enne autre que la (ou les) langue(s) nationale(s) du pays o&ugrave; est soutenu le doctorat.</li>
-</ol>
-<h2>Changement de direction de th&egrave;se au cours de la th&egrave;se</h2>
-<p>Tout doctorant souhaitant changer de directeur ou de co-directeur de th&egrave;se doit imp&eacute;rativement remplir un <a href="../fichiers/telecharger/2201">formulaire de changement de direction de th&egrave;se</a>.</p>
-<h2>Abandon de th&egrave;se</h2>
-<p>Tout doctorant souhaitant abandonner d&eacute;finitivement sa th&egrave;se doit imp&eacute;rativement remplir un <a href="../fichiers/telecharger/2202">formulaire de d&eacute;claration d&rsquo;abandon de th&egrave;se</a>.</p>
-<h2>Suspension de th&egrave;se</h2>
-<p>Une suspension de th&egrave;se peut est accord&eacute;e de droit &agrave; tout doctorant ayant b&eacute;n&eacute;fici&eacute; d''un cong&eacute; de maternit&eacute;, de paternit&eacute;, d''un cong&eacute; d''accueil d&rsquo;un l''enfant ou d''adoption, d''un cong&eacute; parental, d''un cong&eacute; de maladie d''une dur&eacute;e sup&eacute;rieure &agrave; quatre mois cons&eacute;cutifs ou d''un cong&eacute; d''une dur&eacute;e au moins &eacute;gale &agrave; deux mois faisant suite &agrave; un accident de travail. La dur&eacute;e de la pr&eacute;paration du doctorat est prolong&eacute;e si l''int&eacute;ress&eacute; formule une<a title="prolonagtion de th&egrave;se" href="../fichiers/telecharger/2198"> demande de prolongation de th&egrave;se</a> dans le cas d&rsquo;une suspension.</p>
-<h2>P&eacute;riode de c&eacute;sure</h2>
-<p>Conform&eacute;ment &agrave; l&rsquo;arr&ecirc;t&eacute; de 18 mai 2018, un doctorant peut se voir accorder une p&eacute;riode de c&eacute;sure ins&eacute;cable de 6 &agrave; 12 mois et ceci s&rsquo;il peut attester d&rsquo;une des situations suivantes :</p>
-<ul>
-<li>une formation dans un domaine diff&eacute;rent de celui de la formation dans laquelle l''&eacute;tudiant est inscrit ;&nbsp;&nbsp;&nbsp;</li>
-<li>une exp&eacute;rience en milieu professionnel en France ou &agrave; l''&eacute;tranger ;&nbsp;&nbsp;&nbsp;</li>
-<li>un engagement de service civique en France ou &agrave; l''&eacute;tranger, qui peut notamment prendre la forme d''un volontariat de solidarit&eacute; internationale, d''un volontariat international en administration ou en entreprise ou d''un servic')||TO_CLOB('e volontaire europ&eacute;en ;&nbsp;&nbsp;&nbsp;</li>
-<li>un projet de cr&eacute;ation d''activit&eacute; en qualit&eacute; d''&eacute;tudiant-entrepreneur.</li>
-</ul>
-<p>Comme l&rsquo;autorise l&rsquo;arr&ecirc;t&eacute; du 25 mai 2016, le doctorant pourra ou non maintenir son inscription dans son &eacute;tablissement. Par contre, si cette p&eacute;riode est inf&eacute;rieure &agrave; une ann&eacute;e, le doctorant devra se r&eacute;inscrire pour l&rsquo;ann&eacute;e compl&egrave;te lors de sa reprise d&rsquo;activit&eacute;. Durant cette p&eacute;riode, le doctorant suspend temporairement sa formation et son travail de recherche, mais peut demeurer inscrit, s&rsquo;il le souhaite, au sein de son &eacute;tablissement. Cette p&eacute;riode n&rsquo;est pas comptabilis&eacute;e dans la dur&eacute;e de la th&egrave;se. L&rsquo;&eacute;tablissement garantit au doctorant qui suspend sa scolarit&eacute; son inscription au sein de la formation doctorale &agrave; la fin de la p&eacute;riode de c&eacute;sure.</p>
-<p>Tout doctorant souhaitant b&eacute;n&eacute;ficier d&rsquo;une p&eacute;riode de c&eacute;sure doit imp&eacute;rativement remplir un formulaire de <a title="demande de c&eacute;sure" href="../fichiers/telecharger/2193">demande d&rsquo;une p&eacute;riode de c&eacute;sure</a>.</p>
-<h2>&nbsp;</h2>
-<p>&nbsp;</p>'), 15, 1) ;
-INSERT INTO /*SYGAL.*/INFORMATION (ID, TITRE, HISTO_CREATION, HISTO_CREATEUR_ID, HISTO_MODIFICATION, HISTO_MODIFICATEUR_ID, HISTO_DESTRUCTION, HISTO_DESTRUCTEUR_ID, CONTENU, PRIORITE, EST_VISIBLE) VALUES (162, 'Guide d''utilisation de SyGAL', TO_DATE('2019-11-13 08:51:11', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, TO_DATE('2020-01-25 11:40:18', 'YYYY-MM-DD HH24:MI:SS'), 1/*SUBSTIT*/, NULL, NULL, TO_CLOB('<p>L&rsquo;application SyGAL &laquo;&nbsp;Syst&egrave;me de Gestion et d&rsquo;Accompagnement doctoraL&nbsp;&raquo; vous permet de prendre connaissance de <strong>la politique doctorale en Normandie</strong> et donne acc&egrave;s <strong>&agrave; la liste des doctorants et docteurs normands</strong>. SyGAL offre &eacute;galement aux doctorants et leurs encadrants un outil interactif avec les services des p&ocirc;les doctoraux et les &Eacute;coles Doctorales en permettant une <strong>gestion d&eacute;mat&eacute;rialis&eacute;e des diff&eacute;rentes &eacute;tapes de la th&egrave;se</strong>.</p>
-<h2><strong>Se connecter &agrave; SyGAL&nbsp;</strong></h2>
-<ul>
-<li>en tapant le mot &laquo;&nbsp;SyGAL&nbsp;&raquo; sur un moteur de recherche ;</li>
-<li><em>via</em> l&rsquo;onglet SyGAL sur l&rsquo;ENT (rubrique formation) de l&rsquo;Universit&eacute; de Rouen Normandie.</li>
-</ul>
-<p>&nbsp;<strong>La page d&rsquo;accueil vous propose :</strong></p>
-<ul>
-<li>des informations sur le doctorat en Normandie ;</li>
-<li>des informations sur les &Eacute;coles Doctorales&nbsp;normandes ;</li>
-<li>un guide de la th&egrave;se&nbsp;;</li>
-<li>un guide d''utilisation de SyGAL ;</li>
-<li>des informations sur les actualit&eacute;s doctorales et les ressources vid&eacute;o sur le doctorat&nbsp;en Normandie.</li>
-</ul>
-<p><strong>Apr&egrave;s avoir &eacute;t&eacute; identifi&eacute;s <em>via</em> vos ide</strong><strong>ntifiants acad&eacute;miques, vous pouvez acc&eacute;der aux th&egrave;ses pass&eacute;es ou en cours</strong>.<strong> Les donn&eacute;es propos&eacute;es sont&nbsp;:</strong></p>
-<ul>
-<li>la situation de la th&egrave;se&nbsp;: soutenue, abandonn&eacute;e, transf&eacute;r&eacute;e ou en cours ;</li>
-<li>l&rsquo;&eacute;tablissement d&rsquo;inscription ;</li>
-<li>l&rsquo;&Eacute;cole Doctorale de rattachement (Les ED pass&eacute;es sont indiqu&eacute;es comme &eacute;tant ferm&eacute;es);</li>
-<li>l''Unit&eacute; de Recherche de rattachement (Les Unit&eacute;s de Recherche pass&eacute;es sont indiqu&eacute;es comme &eacute;tant ferm&eacute;es);</li>
-<li>la direction de th&egrave;se ;</li>
-<li>le financement de la th&egrave;se ;</li>
-<li>l&rsquo;ann&eacute;e (civile ou acad&eacute;mique) d&rsquo;inscription ;</li>
-<li>l&rsquo;ann&eacute;e de soutenance ;</li>
-<li>un onglet de recherche par mot-cl&eacute; ;</li>
-<li>une fiche descriptive sur chaque th&egrave;se.</li>
-</ul>
-<p><strong>Attention, les donn&eacute;es ne sont compl&egrave;tes que pour les inscriptions post&eacute;rieures &agrave; 2014</strong>.&nbsp;</p>
-<h2>Les acteurs de la formation doctorale</h2>
-<p>Selon votre statut, vous disposer de<strong> droits</strong> <strong>associ&eacute;s</strong> dans SyGAL :</p>
-<ul>
-<li>doctorant ;</li>
-<li>directeur de th&egrave;se ;</li>
-<li>directeur de laboratoire ;</li>
-<li>directeur d&rsquo;&Eacute;cole Doctorale ;</li>
-<li>gestionnaire des maisons du doctorat ;</li>
-<li>membre des biblioth&egrave;ques ;</li>
-<li>membre des observatoires.</li>
-</ul>
-<p><strong>SyGAL vous permet une extraction des donn&eacute;es</strong> <strong>relatives aux docteurs et doctorants que vous aurez s&eacute;lectionn&eacute;s </strong>(clicker sur<strong> "Exporter ces th&egrave;ses &nbsp;au format CSV</strong>" en fin de listing). Hormis les donn&eacute;es list&eacute;es ci-dessus, vous seront &eacute;galement indiqu&eacute;es les informations sur les dipl&ocirc;mes d''acc&egrave;s en th&egrave;se, les co-tutelles, la dur&eacute;e des th&egrave;ses et les dates d''abandon de th&egrave;se.</p>
-<p><strong>SyGAL vous propose une gestion d&eacute;mat&eacute;rialis&eacute;e des diff&eacute;rentes &eacute;tapes de la th&egrave;se</strong>. &Agrave; votre connexion, vous serez identifi&eacute;s et votre statut (doctorant, directeur de th&egrave;se, etc.) sera indiqu&eacute; sur la page d&rsquo;accueil &agrave; droite dans le bandeau sup&eacute;rieur.</p>
-<p><strong>Attention, vous pouvez &ecirc;tre identifi&eacute;s so')||TO_CLOB('us plusieurs statuts </strong>(par exemple directeur de laboratoire<strong> et </strong>directeur de th&egrave;se, etc.). Vous devrez s&eacute;lectionner dans le bandeau sup&eacute;rieur le statut correspondant &agrave; votre requ&ecirc;te.</p>
-<p>Pour le doctorant, il pourra lui &ecirc;tre demand&eacute;, &agrave; la premi&egrave;re connexion, un mel ou courriel personnel pour les contacts apr&egrave;s la soutenance. Ce mel ou courriel priv&eacute; n&rsquo;apparaitra pas sur sa page personnelle.</p>
-<p>En cliquant sur l''onglet "soutenance", les <strong>directeurs de th&egrave;se et de laboratoire peuvent acc&eacute;der aux demandes en cours des doctorants</strong> sous leur responsabilit&eacute;.</p>
-<h2><strong>Soutenance de th&egrave;se</strong></h2>
-<p>La demande de soutenance de th&egrave;se doit &ecirc;tre valid&eacute;e sur SyGAL<strong> imp&eacute;rativement deux mois avant la date pr&eacute;visionnelle de soutenance </strong>selon la proc&eacute;dure suivante&nbsp;(pr&eacute;voir un d&eacute;lai pour permettre la validation administrative dans les d&eacute;lais impartis). L''ensemble des &eacute;tapes est r&eacute;sum&eacute; dans le document <a href="../fichiers/telecharger/8688">planning de soutenance de th&egrave;se:</a></p>
-<h3><strong>Date et lieu de la soutenance. Composition du jury</strong></h3>
-<p>La date de soutenance, le lieu, les noms des deux rapporteurs et la composition du jury sont d&eacute;cid&eacute;s conjointement par le directeur de th&egrave;se et le doctorant. Les rapporteurs doivent &ecirc;tre <strong>habilit&eacute;s &agrave; diriger des recherches (ou des scientifiques de renom pour des &eacute;trangers) et ext&eacute;rieurs &agrave; Normandie Universit&eacute;</strong>. Un professeur ou MCF-HDR &eacute;m&eacute;rite peut &ecirc;tre rapporteur.</p>
-<p>Dans le cas de travaux impliquant des personnes du monde socio-&eacute;conomique, un troisi&egrave;me rapporteur, reconnu pour ses comp&eacute;tences dans le domaine, peut &ecirc;tre propos&eacute;. Dans le cas d''une th&egrave;se conduisant &agrave; un label Europ&eacute;en, la th&egrave;se doit &ecirc;tre &eacute;valu&eacute;e par 3 rapporteurs sont dont 2 membres de l''Union Europ&eacute;enne.</p>
-<p>Les rapporteurs ne doivent pas avoir des liens familiaux avec le doctorant ou le directeur de th&egrave;se et ne pas avoir pris part <strong>aux travaux de la th&egrave;se ni &agrave; des publications co-sign&eacute;es avec le doctorant pendant les 5 derni&egrave;res ann&eacute;es</strong>.</p>
-<p>Le jury doit &ecirc;tre compos&eacute; de quatre &agrave; huit membres, dont au moins 50% ext&eacute;rieurs &agrave; Normandie Universit&eacute;. Au moins la moiti&eacute; des membres doivent &ecirc;tre professeurs ou assimil&eacute;s (un ma&icirc;tre de conf&eacute;rences habilit&eacute; &agrave; diriger des recherches n&rsquo;entre pas dans cette cat&eacute;gorie). La parit&eacute; doit &ecirc;tre autant que possible recherch&eacute;e, mais en cas d&rsquo;impossibilit&eacute; chaque jury doit comporter au moins un homme et une femme.</p>
-<p><strong>&Agrave; titre exceptionnel,</strong> et &agrave; l''exception de son pr&eacute;sident, un membre du jury peut participer &agrave; la soutenance <em>via</em> la visioconf&eacute;rence. Dans ce cas, ce membre de jury devra remplir la <strong>demande de d&eacute;l&eacute;gation de signature</strong> <strong>au pr&eacute;sident du jury</strong> qui vous sera propos&eacute;.</p>
-<p>Concernant les demandes de d&eacute;localisation du lieu de soutenance et de d&eacute;l&eacute;gation de signature pour un membre du jury en visio-conf&eacute;rence, <strong>t&eacute;l&eacute;charger le formulaire </strong>qui vous sera propos&eacute;.</p>
-<h3>Informations sur la th&egrave;se</h3>
-<p><strong>Indiquez le cas &eacute;ch&eacute;ant les informations suivantes&nbsp;:</strong></p>
-<ul>
-<li>label europ&eacute;en&nbsp;: si oui, cliquer sur &laquo;&nbsp;<em>demande de label europ&eacute;en</em>&nbsp;&raquo; ;</')||TO_CLOB('li>
-<li>th&egrave;se en anglais&nbsp;: en fonction de la demande, cliquer sur<em> &laquo;&nbsp;manuscrit r&eacute;dig&eacute; en anglais&nbsp;&raquo; et/ou &laquo;&nbsp;soutenance d&eacute;fendue en anglais&nbsp;&raquo; </em>;</li>
-<li>confidentialit&eacute; de la th&egrave;se&nbsp;: si oui, cliquer sur <em>&laquo;&nbsp;soutenance en huis clos&nbsp;&raquo; </em>;</li>
-<li>titre de th&egrave;se&nbsp;: indiquez le titre final de la th&egrave;se.</li>
-</ul>
-<p>Concernant les demandes de label europ&eacute;en, de th&egrave;se en anglais et de confidentialit&eacute; de la th&egrave;se, <strong>t&eacute;l&eacute;charger le formulaire </strong>qui vous sera propos&eacute;.</p>
-<h3><strong>Fichiers associ&eacute;s &agrave; la demande</strong></h3>
-<p>D&eacute;versez ensuite dans l''application :</p>
-<p><strong>Les justificatifs suivants, si vous avez opt&eacute; pour ces demandes lors des &eacute;tapes pr&eacute;c&eacute;dentes :</strong></p>
-<ul>
-<li>la demande de d&eacute;localisation de la soutenance de th&egrave;se si celle-ci ne se d&eacute;roule pas dans les locaux de l''&eacute;tablissement d''inscription ;</li>
-<li>la d&eacute;l&eacute;gation de signature pour un membre du jury assistant &agrave; la soutenance par visio-conf&eacute;rence ;</li>
-<li>les documents relatifs &agrave; la reconnaissance du label europ&eacute;en ;</li>
-<li>la demande de th&egrave;se en anglais&nbsp;: La th&egrave;se peut &ecirc;tre r&eacute;dig&eacute;e et/ou soutenue en anglais apr&egrave;s accord de l&rsquo;&eacute;tablissement d&rsquo;inscription. Pour la r&eacute;daction en anglais, <strong>cette demande ne concerne pas les articles et revues en langue anglaise ins&eacute;r&eacute;s dans le manuscrit</strong>. L&rsquo;autorisation est accord&eacute;e si&nbsp; le manuscrit est accompagn&eacute; d&rsquo;un r&eacute;sum&eacute; long compos&eacute; d''au moins 10 pages ou 25 000 caract&egrave;res ;</li>
-<li>la demande de confidentialit&eacute; de la th&egrave;se.</li>
-</ul>
-<p><strong>Les justificatifs&nbsp;pour les membres ext&eacute;rieurs :</strong></p>
-<ul>
-<li>copie de l&rsquo;HDR pour un cadre B HDR (ma&icirc;tre de conf&eacute;rences, charg&eacute; de recherche) ext&eacute;rieur &agrave; Normandie Universit&eacute; ;</li>
-<li>copie de l&rsquo;&eacute;m&eacute;ritat pour un professeur &eacute;m&eacute;rite ;</li>
-<li>un CV succinct pour les professeurs ou assimil&eacute;s &eacute;trangers.</li>
-</ul>
-<h3><strong>Validation de la proposition de soutenance</strong></h3>
-<p>Lorsque la composition du jury est finalis&eacute;e et les documents demand&eacute;s d&eacute;pos&eacute;s sur le site, le directeur de th&egrave;se valide la demande puis celle-ci est successivement transmise pour accord :</p>
-<ul>
-<li>au directeur de l&rsquo;Unit&eacute; de Recherche ;</li>
-<li>au directeur de l&rsquo;&Eacute;cole Doctorale ;</li>
-<li>&agrave; la maison du doctorat ;</li>
-<li>au chef d&rsquo;&eacute;tablissement d&rsquo;inscription pour signature de l&rsquo;autorisation de soutenance sur fourniture des rapports.</li>
-</ul>
-<p>En cas de <strong>refus justifi&eacute;</strong>, le processus s&rsquo;arr&ecirc;te et doit &ecirc;tre repris d&egrave;s la premi&egrave;re &eacute;tape.</p>
-<p><strong>La composition du jury et les modalit&eacute;s de soutenance valid&eacute;es</strong>, le doctorant <strong>doit proc&eacute;der au d&eacute;p&ocirc;t de son manuscrit de th&egrave;se</strong><strong> &agrave; la biblioth&egrave;que universitaire</strong>&nbsp;au plus tard un mois avant la date de soutenance (voir chapitre suivant).</p>
-<h3><strong>Rapports de th&egrave;se</strong></h3>
-<p>Les rapporteurs re&ccedil;oivent par mel ou courriel <strong>une d&eacute;claration d&rsquo;impartialit&eacute;</strong> suivie de la demande <strong>du rapport de th&egrave;se</strong>.</p>
-<p>Les rapporteurs doivent transmettre <strong><em>via</em> le lien indiqu&eacute;</strong> leurs rapports &eacute;crits, dat&eacute;s et sign&eacute;s <strong>deux')||TO_CLOB(' semaines avant la date de soutenance</strong>. Le chef d&rsquo;&eacute;tablissement d&rsquo;inscription autorise ou non la soutenance au vu des rapports &eacute;crits. Une fois la soutenance autoris&eacute;e, les rapports et convocations sont transmis aux membres du jury. Le directeur de th&egrave;se re&ccedil;oit les documents de soutenance &agrave; faire compl&eacute;ter par le pr&eacute;sident du jury.</p>
-<h3><strong>Soutenance de th&egrave;se</strong></h3>
-<p>Les membres du jury d&eacute;signent parmi eux un pr&eacute;sident qui doit &ecirc;tre n&eacute;cessairement <strong>un professeur ou assimil&eacute; &agrave; l&rsquo;exception du directeur de th&egrave;se</strong>. Un rapporteur peut pr&eacute;sider un jury de th&egrave;se.</p>
-<p>&Agrave; titre exceptionnel, et &agrave; l''exception de son pr&eacute;sident, les membres du jury peuvent participer &agrave; la soutenance <em>via</em> la visioconf&eacute;rence.</p>
-<p>Suite &agrave; la soutenance, le <strong>pr&eacute;sident r&eacute;dige un rapport</strong> transmis &agrave; l&rsquo;&eacute;tablissement d&rsquo;inscription.<strong> L&rsquo;attestation de r&eacute;ussite est d&eacute;livr&eacute;e apr&egrave;s v&eacute;rifications des &eacute;ventuelles corrections demand&eacute;es par le jury et du d&eacute;p&ocirc;t d&eacute;finitif de la th&egrave;se &agrave; la biblioth&egrave;que universitaire</strong>. Le dipl&ocirc;me est ensuite <strong>d&eacute;livr&eacute;</strong> au candidat apr&egrave;s signature du pr&eacute;sident de Normandie Universit&eacute; et du recteur d&rsquo;acad&eacute;mie.</p>
-<h2><strong>D&eacute;p&ocirc;t de th&egrave;se</strong></h2>
-<p>Pour proc&eacute;der au d&eacute;p&ocirc;t de th&egrave;se, suivre la proc&eacute;dure d&eacute;crite dans <a href="../fichiers/telecharger/8768">d&eacute;p&ocirc;t de th&egrave;se</a>.</p>
-<p>&nbsp;&nbsp;</p>
-<p>&nbsp;&nbsp;</p>'), 200, 1) ;
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.NATURE_FICHIER-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.NATURE_FICHIER-into-SYGAL.sql
deleted file mode 100644
index d3447802295cac680f42fe88fe269bb90333e641..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.NATURE_FICHIER-into-SYGAL.sql
+++ /dev/null
@@ -1,13 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (1, 'THESE_PDF', 'Thèse au format PDF') ;
-INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (2, 'FICHIER_NON_PDF', 'Fichier non PDF joint à une thèse (ex: vidéo)') ;
-INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (3, 'PV_SOUTENANCE', 'PV de soutenance') ;
-INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (4, 'RAPPORT_SOUTENANCE', 'Rapport de soutenance') ;
-INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (5, 'DEMANDE_CONFIDENT', 'Demande de confidentialité') ;
-INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (6, 'PROLONG_CONFIDENT', 'Demande de prolongation de confidentialité') ;
-INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (7, 'PRE_RAPPORT_SOUTENANCE', 'Pré-rapport de soutenance') ;
-INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (8, 'CONV_MISE_EN_LIGNE', 'Convention de mise en ligne') ;
-INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (9, 'AVENANT_CONV_MISE_EN_LIGNE', 'Avenant à la convention de mise en ligne') ;
-INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (22, 'COMMUNS', 'Fichier commun (ex: modèle d''avenant à la convention de MEL)') ;
-INSERT INTO /*SYGAL.*/NATURE_FICHIER (ID, CODE, LIBELLE) VALUES (21, 'DIVERS', 'Fichier divers') ;
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.PRIVILEGE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.PRIVILEGE-into-SYGAL.sql
deleted file mode 100644
index ca983031cbaad36bd4116bc5e56d1a8c34f00b5e..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.PRIVILEGE-into-SYGAL.sql
+++ /dev/null
@@ -1,77 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (343, 47, 'televerser', 'Téléversement de fichier commun non lié à une thèse particulière (ex: PV de soutenance)', 10) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (344, 47, 'telecharger', 'Téléchargement de fichier commun non lié à une thèse particulière (ex: PV de soutenance)', 20) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (425, 4, 'afficher-mail-contact', 'Afficher le mail de contact', 20) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (273, 50, 'edition', 'Édition des indicateurs', 40) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (35, 50, 'consultation-statistique', 'Consultation des statistique', 1000) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (15, 5, 'create_from_individu', 'Créer un utilisateur ''local'' à partir d''un utilisateur', 100) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (341, 44, 'televerser', 'Téléverser ou supprimer un fichier divers, non lié à une thèse', 100) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (342, 44, 'telecharger', 'Télécharger un fichier divers, non lié à une thèse', 200) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (161, 24, 'version-papier-corrigee', 'Validation de la remise de la version papier corrigée', 4300) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (81, 3, 'telechargement-fichier', 'Téléchargement de fichier déposé', 3060) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (82, 3, 'consultation-fiche', 'Consultation de la fiche d''identité de la thèse', 3025) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (83, 3, 'consultation-depot', 'Consultation du dépôt de la thèse', 3026) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (84, 3, 'consultation-description', 'Consultation de la description de la thèse', 3027) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (85, 3, 'consultation-archivage', 'Consultation de l''archivage de la thèse', 3028) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (86, 3, 'consultation-rdv-bu', 'Consultation du rendez-vous BU', 3029) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (88, 24, 'rdv-bu', 'Validation suite au rendez-vous à la BU', 3035) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (96, 23, 'modification', 'Modification de la FAQ', 10) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (1, 1, 'role-visualisation', 'Rôles - Visualisation', 1) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (2, 1, 'role-edition', 'Rôles - Édition', 2) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (3, 1, 'privilege-visualisation', 'Privilèges - Visualisation', 3) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (4, 1, 'privilege-edition', 'Privilèges - Édition', 4) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (6, 2, 'ecarts', 'Écarts entre les données de l''application et ses sources', 1) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (9, 2, 'vues-procedures', 'Mise à jour des vues différentielles et des procédures de mise à jour', 4) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (8, 2, 'tbl', 'Tableau de bord principal', 3) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (7, 2, 'maj', 'Mise à jour des données à partir de leurs sources', 2) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (11, 4, 'modification-persopass', 'Modification du persopass', 10) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (14, 5, 'attribution-role', 'Attribution de rôle aux utilisateurs', 20) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (41, 3, 'saisie-description-version-initiale', 'Saisie de la description de la thèse', 3040) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (49, 3, 'saisie-description-version-corrigee', 'Saisie de la description de version corrigée', 3041) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (42, 3, 'saisie-autorisation-diffusion-version-initiale', 'Saisie du formulaire d''autorisation de diffusion de la version initiale', 3090) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (48, 3, 'saisie-autorisation-diffusion-version-corrigee', 'Saisie du formulaire d''autorisation de diffusion de la version corrigée', 3091) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (43, 3, 'depot-version-initiale', 'Dépôt de la version initiale de la thèse', 3050) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (44, 3, 'edition-convention-mel', 'Edition de la convention de mise en ligne', 3070) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (45, 3, 'saisie-mot-cle-rameau', 'Saisie des mots-clés RAMEAU', 3030) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (46, 5, 'consultation', 'Consultation des utilisateurs', 10) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (47, 3, 'recherche', 'Recherche de thèses', 3010) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (61, 3, 'saisie-conformite-version-archivage-initiale', 'Juger de la conformité de la version retraitée', 3080) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (62, 3, 'saisie-conformite-version-archivage-corrigee', 'Juger de la conformité de la version corrigée retraitée', 3081) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (90, 24, 'rdv-bu-suppression', 'Suppression de la validation concernant le rendez-vous à la BU', 3036) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (95, 5, 'modification', 'Modification d''utilisateur', 110) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (137, 3, 'depot-version-corrigee', 'Dépôt de la version corrigée de la thèse', 3055) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (127, 24, 'depot-these-corrigee', 'Validation du dépôt de la thèse corrigée', 4000) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (128, 24, 'depot-these-corrigee-suppression', 'Suppression de la validation du dépôt de la thèse corrigée', 4120) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (157, 3, 'fichier-divers-televerser', 'Téléverser un fichier comme le PV ou le rapport de soutenance, la demande de confidentialité, etc.', 100) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (160, 3, 'fichier-divers-consulter', 'Télécharger/consulter un fichier comme le PV ou le rapport de soutenance, la demande de confidentialité, etc.', 150) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (177, 3, 'export-csv', 'Export des thèses au format CSV', 3020) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (197, 3, 'saisie-rdv-bu', 'Modification des informations rendez-vous BU', 3029) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (129, 24, 'correction-these', 'Validation des corrections de la thèse', 4100) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (130, 24, 'correction-these-suppression', 'Suppression de la validation des corrections de la thèse', 4120) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (198, 3, 'saisie-attestations-version-initiale', 'Modification des attestations', 3030) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (199, 3, 'saisie-attestations-version-corrigee', 'Modification des attestations concernant la version corrigée', 3031) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (22, 24, 'page-de-couverture', 'Validation de la page de couverture', 3030) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (260, 24, 'page-de-couverture-suppr', 'Suppression de la validation de la page de couverture', 3031) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (270, 50, 'consultation', 'Consultation des indicateurs', 10) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (271, 50, 'exportation', 'Exportation des indicateurs', 20) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (272, 50, 'rafraichissement', 'Rafraîchissement des indicateurs', 30) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (402, 100, 'creation-ur', 'Création d''unité de recherche', 102) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (404, 100, 'consultation-de-toutes-les-structures', 'Consultation de toutes les structures', 1000) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (403, 100, 'creation-etab', 'Création d''établissement', 100) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (405, 100, 'consultation-de-ses-structures', 'Consultation de ses structures', 1100) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (406, 100, 'modification-de-toutes-les-structures', 'Modification de toutes les structures', 1200) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (407, 100, 'modification-de-ses-structures', 'Modification de ses structures', 1300) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (408, 3, 'consultation-de-toutes-les-theses', 'Consultation de toutes les thèses', 1000) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (409, 3, 'consultation-de-ses-theses', 'Consultation de ses thèses', 1100) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (401, 100, 'creation-ed', 'Création d''école doctorale', 101) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (410, 3, 'modification-de-toutes-les-theses', 'Modification de toutes les thèses', 1200) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (411, 3, 'modification-de-ses-theses', 'Modification de ses thèses', 1300) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (281, 3, 'refresh-these', 'Réimporter la thèse', 3000) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (250, 19, 'automatique', 'Substitution automatique de structures', 100) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (321, 3, 'saisie-correc-autorisee-forcee', 'Modification du témoin de correction autorisée forcée', 3045) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (10, 23, 'modifier-information', 'Modifier les pages d''information ', 50) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (36, 19, 'consultation-toutes-structures', 'Consultation de toutes les substitutions', 200) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (37, 19, 'consultation-sa-structure', 'Consultation de la substitution de sa structure', 300) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (38, 19, 'modification-toutes-structures', 'Modification de toutes les substitutions ', 400) ;
-INSERT INTO /*SYGAL.*/PRIVILEGE (ID, CATEGORIE_ID, CODE, LIBELLE, ORDRE) VALUES (39, 19, 'modification-sa-structure', 'Modification de la substitution de sa structure', 500) ;
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL-into-SYGAL.sql
deleted file mode 100644
index 3772df3f0e53da4346616886323fd8b1470a8fbc..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL-into-SYGAL.sql
+++ /dev/null
@@ -1,16 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (1, 'Unité de recherche', 'UR', 3, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (2, 'École doctorale', 'ED', 2, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (3, 'Administrateur', 'ADMIN', 1, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (4, 'Bureau des doctorats', 'BDD', 1, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (5, 'Bibliothèque universitaire', 'BU', 1, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (6, 'Administrateur technique', 'ADMIN_TECH', NULL, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (7, 'Doctorant', 'DOCTORANT', NULL, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (8, 'Observateur', 'OBSERV', NULL, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (9, 'Directeur', 'D', NULL, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (10, 'Co-directeur', 'K', NULL, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (11, 'Rapporteur', 'R', NULL, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (12, 'Membre', 'M', NULL, NULL) ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (61, 'Doctorant sans dépôt', 'NODEPOT', NULL, 'Rôle de doctorant temporaire') ;
-INSERT INTO /*SYGAL.*/PROFIL (ID, LIBELLE, ROLE_ID, STRUCTURE_TYPE, DESCRIPTION) VALUES (21, 'Observatoire', 'OBSERVATOIRE', NULL, NULL) ;
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL_PRIVILEGE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL_PRIVILEGE-into-SYGAL.sql
deleted file mode 100644
index e1aca9ce1a4257c241d828f8bf8b8c6d00859721..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.PROFIL_PRIVILEGE-into-SYGAL.sql
+++ /dev/null
@@ -1,319 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 1) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 2) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (11, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (15, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 3) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (1, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (3, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (10, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (15, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (22, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (41, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (42, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (43, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (44, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (45, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (46, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (48, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (49, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (61, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (62, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (88, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (90, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (96, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (127, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (128, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (130, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (137, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (157, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (160, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (161, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (197, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (198, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (199, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (260, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (281, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (321, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (341, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (343, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (344, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (406, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (410, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (411, 4) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (1, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (3, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (10, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (22, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (41, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (42, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (43, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (44, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (45, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (46, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (48, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (49, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (61, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (62, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (88, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (90, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (96, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (127, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (128, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (130, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (137, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (157, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (160, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (161, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (197, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (198, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (199, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (260, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (281, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (321, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (341, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (343, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (344, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (406, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (410, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (411, 5) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (1, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (2, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (3, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (4, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (6, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (7, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (8, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (9, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (10, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (11, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (14, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (15, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (22, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (36, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (37, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (38, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (39, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (41, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (42, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (43, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (44, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (45, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (46, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (48, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (49, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (61, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (62, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (88, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (90, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (95, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (96, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (127, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (128, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (129, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (130, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (137, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (157, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (160, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (161, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (197, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (198, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (199, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (250, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (260, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (272, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (273, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (281, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (321, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (341, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (343, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (344, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (401, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (402, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (403, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (406, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (407, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (410, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (411, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (425, 6) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (11, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (41, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (42, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (43, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (44, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (48, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (49, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (61, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (62, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (127, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (129, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (137, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (197, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (198, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (199, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (411, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (425, 7) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (160, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 8) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 9) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 9) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 9) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 9) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 9) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 9) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 9) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (129, 9) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 9) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 9) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 9) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (47, 10) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 10) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 10) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 10) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 10) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 10) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 10) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (129, 10) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 10) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 10) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 10) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 11) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 11) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 12) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 12) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (35, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (160, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (270, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (271, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (404, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (405, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (408, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 21) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (11, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (81, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (82, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (83, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (84, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (85, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (86, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (127, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (129, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (177, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (342, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (409, 61) ;
-INSERT INTO /*SYGAL.*/PROFIL_PRIVILEGE (PRIVILEGE_ID, PROFIL_ID) VALUES (425, 61) ;
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_STRUCTURE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_STRUCTURE-into-SYGAL.sql
deleted file mode 100644
index 7e707f10d02b8671a2cecf813806c7b0652a86a1..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_STRUCTURE-into-SYGAL.sql
+++ /dev/null
@@ -1,5 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/TYPE_STRUCTURE (ID, CODE, LIBELLE) VALUES (1, 'etablissement', 'Établissement') ;
-INSERT INTO /*SYGAL.*/TYPE_STRUCTURE (ID, CODE, LIBELLE) VALUES (2, 'ecole-doctorale', 'École doctorale') ;
-INSERT INTO /*SYGAL.*/TYPE_STRUCTURE (ID, CODE, LIBELLE) VALUES (3, 'unite-recherche', 'Unité de recherche') ;
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_VALIDATION-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_VALIDATION-into-SYGAL.sql
deleted file mode 100644
index cccecaafd0b5a75881a17e33e86ad4cf4797b0a7..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.TYPE_VALIDATION-into-SYGAL.sql
+++ /dev/null
@@ -1,7 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/TYPE_VALIDATION (ID, CODE, LIBELLE) VALUES (1, 'RDV_BU', 'Validation suite au rendez-vous avec le doctorant') ;
-INSERT INTO /*SYGAL.*/TYPE_VALIDATION (ID, CODE, LIBELLE) VALUES (2, 'DEPOT_THESE_CORRIGEE', 'Validation automatique du dépôt de la thèse corrigée') ;
-INSERT INTO /*SYGAL.*/TYPE_VALIDATION (ID, CODE, LIBELLE) VALUES (3, 'CORRECTION_THESE', 'Validation par le(s) directeur(s) de thèse des corrections de la thèse') ;
-INSERT INTO /*SYGAL.*/TYPE_VALIDATION (ID, CODE, LIBELLE) VALUES (4, 'VERSION_PAPIER_CORRIGEE', 'Confirmation dépot de la version papier corrigée') ;
-INSERT INTO /*SYGAL.*/TYPE_VALIDATION (ID, CODE, LIBELLE) VALUES (5, 'PAGE_DE_COUVERTURE', 'Validation de la page de couverture') ;
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.VERSION_FICHIER-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.VERSION_FICHIER-into-SYGAL.sql
deleted file mode 100644
index cae3b42292e412eac286c5c750e61577839b2613..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.VERSION_FICHIER-into-SYGAL.sql
+++ /dev/null
@@ -1,8 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (1, 'VA', 'Version d''archivage') ;
-INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (2, 'VD', 'Version de diffusion') ;
-INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (3, 'VO', 'Version originale') ;
-INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (4, 'VAC', 'Version d''archivage corrigée') ;
-INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (5, 'VDC', 'Version de diffusion corrigée') ;
-INSERT INTO /*SYGAL.*/VERSION_FICHIER (ID, CODE, LIBELLE) VALUES (6, 'VOC', 'Version originale corrigée') ;
diff --git a/database/02-inserts/oracle-data-insert-from-SYGAL.WF_ETAPE-into-SYGAL.sql b/database/02-inserts/oracle-data-insert-from-SYGAL.WF_ETAPE-into-SYGAL.sql
deleted file mode 100644
index 889ab9df4d76aeeb0763cf2a985a0effb057b02e..0000000000000000000000000000000000000000
--- a/database/02-inserts/oracle-data-insert-from-SYGAL.WF_ETAPE-into-SYGAL.sql
+++ /dev/null
@@ -1,24 +0,0 @@
-set define off ;
-
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (1, 'DEPOT_VERSION_ORIGINALE', 10, 1, 1, 'these/depot', 'Téléversement de la thèse', 'Téléversement de la thèse', 'Téléversement de la thèse non effectué', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (2, 'AUTORISATION_DIFFUSION_THESE', 20, 1, 1, 'these/depot', 'Autorisation de diffusion de la thèse', 'Autorisation de diffusion de la thèse', 'Autorisation de diffusion non remplie', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (3, 'SIGNALEMENT_THESE', 30, 1, 1, 'these/description', 'Signalement de la thèse', 'Signalement de la thèse', 'Signalement non renseigné', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (4, 'ARCHIVABILITE_VERSION_ORIGINALE', 40, 1, 1, 'these/archivage', 'Archivabilité de la thèse', 'Archivabilité de la thèse', 'Archivabilité non testée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (5, 'DEPOT_VERSION_ARCHIVAGE', 50, 2, 1, 'these/archivage', 'Téléversement d''une version retraitée de la thèse', 'Téléversement d''une version retraitée de la thèse', 'Téléversement d''une version retraitée non effectué', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (6, 'ARCHIVABILITE_VERSION_ARCHIVAGE', 60, 2, 1, 'these/archivage', 'Archivabilité de la version retraitée de la thèse', 'Archivabilité de la version retraitée de la thèse', 'Archivabilité de la version retraitée non testée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (7, 'VERIFICATION_VERSION_ARCHIVAGE', 70, 2, 1, 'these/archivage', 'Vérification de la version retraitée de la thèse', 'Vérification de la version retraitée de la thèse', 'Vérification de la version retraitée non effectuée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (8, 'RDV_BU_SAISIE_DOCTORANT', 80, 1, 1, 'these/rdv-bu', 'Saisie des coordonnées et disponibilités du doctorant pour le rendez-vous à la BU', 'Saisie des coordonnées et disponibilités du doctorant pour le rendez-vous à la BU', 'Saisie des coordonnées et disponibilités pour le rendez-vous à la BU non effectuée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (9, 'RDV_BU_SAISIE_BU', 90, 1, 1, 'these/rdv-bu', 'Saisie infos BU', 'Saisie infos BU', 'Saisie infos BU non effectuée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (10, 'RDV_BU_VALIDATION_BU', 100, 1, 1, 'these/rdv-bu', 'Validation', 'Validation', 'Validation de la BU non effectuée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (11, 'ATTESTATIONS', 15, 1, 1, 'these/depot', 'Attestations', 'Attestations', 'Attestations non renseignées', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (12, 'VALIDATION_PAGE_DE_COUVERTURE', 8, 1, 1, 'these/validation-page-de-couverture', 'Validation de la page de couverture', 'Validation de la page de couverture', 'Validation de la page de couverture non effectuée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (31, 'DEPOT_VERSION_ORIGINALE_CORRIGEE', 200, 1, 1, 'these/depot-version-corrigee', 'Téléversement de la thèse corrigée', 'Téléversement de la thèse corrigée', 'Téléversement de la thèse corrigée non effectué', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (32, 'ARCHIVABILITE_VERSION_ORIGINALE_CORRIGEE', 240, 1, 1, 'these/archivage-version-corrigee', 'Archivabilité de la version originale de la thèse corrigée', 'Archivabilité de la version originale de la thèse corrigée', 'Archivabilité de la version originale de la thèse corrigée non testée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (33, 'DEPOT_VERSION_ARCHIVAGE_CORRIGEE', 250, 2, 1, 'these/archivage-version-corrigee', 'Téléversement d''une version retraitée de la thèse corrigée', 'Téléversement d''une version retraitée de la thèse corrigée', 'Téléversement d''une version retraitée de la thèse corrigée non effectué', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (34, 'ARCHIVABILITE_VERSION_ARCHIVAGE_CORRIGEE', 260, 2, 1, 'these/archivage-version-corrigee', 'Archivabilité de la version retraitée de la thèse corrigée', 'Archivabilité de la version retraitée de la thèse corrigée', 'Archivabilité de la version retraitée de la thèse corrigée non testée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (35, 'VERIFICATION_VERSION_ARCHIVAGE_CORRIGEE', 270, 2, 1, 'these/archivage-version-corrigee', 'Vérification de la version retraitée de la thèse corrigée', 'Vérification de la version retraitée de la thèse corrigée', 'Vérification de la version retraitée de la thèse corrigée non effectuée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (38, 'DEPOT_VERSION_CORRIGEE_VALIDATION_DOCTORANT', 280, 1, 1, 'these/validation-these-corrigee', 'Validation automatique du dépôt de votre thèse corrigée', 'Validation automatique du dépôt de la thèse corrigée', 'Validation automatique du dépôt de la thèse corrigée non effectuée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (39, 'DEPOT_VERSION_CORRIGEE_VALIDATION_DIRECTEUR', 290, 1, 1, 'these/validation-these-corrigee', 'Validation de la thèse corrigée par les directeurs de thèse', 'Validation de la thèse corrigée par les directeurs de thèse', 'Validation de la thèse corrigée par les directeurs de thèse non effectuée', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (51, 'ATTESTATIONS_VERSION_CORRIGEE', 210, 1, 1, 'these/depot-version-corrigee', 'Attestations version corrigée', 'Attestations version corrigée', 'Attestations version corrigée non renseignées', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (52, 'AUTORISATION_DIFFUSION_THESE_VERSION_CORRIGEE', 220, 1, 1, 'these/depot-version-corrigee', 'Autorisation de diffusion de la version corrigée', 'Autorisation de diffusion de la version corrigée', 'Autorisation de diffusion de la version corrigée non remplie', NULL) ;
-INSERT INTO /*SYGAL.*/WF_ETAPE (ID, CODE, ORDRE, CHEMIN, OBLIGATOIRE, ROUTE, LIBELLE_ACTEUR, LIBELLE_AUTRES, DESC_NON_FRANCHIE, DESC_SANS_OBJECTIF) VALUES (60, 'REMISE_EXEMPLAIRE_PAPIER_THESE_CORRIGEE', 300, 1, 1, 'these/version-papier', 'Remise de l''exemplaire papier de la thèse corrigée', 'Remise de l''exemplaire papier de la thèse corrigée', 'Remise de l''exemplaire papier de la thèse corrigée', NULL) ;
diff --git a/database/03-oracle-generate-ref-constraints-SYGAL.sql b/database/03-oracle-generate-ref-constraints-SYGAL.sql
deleted file mode 100644
index 6c7cb48a743f705d1552ee80d61ecca629d86c3f..0000000000000000000000000000000000000000
--- a/database/03-oracle-generate-ref-constraints-SYGAL.sql
+++ /dev/null
@@ -1,281 +0,0 @@
-
-  ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_ETAB_ID_FK" FOREIGN KEY ("ACTEUR_ETABLISSEMENT_ID")
-	  REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_INDIV_FK" FOREIGN KEY ("INDIVIDU_ID")
-	  REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_ROLE_ID_FK" FOREIGN KEY ("ROLE_ID")
-	  REFERENCES /*"SYGAL".*/"ROLE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ACTEUR" ADD CONSTRAINT "ACTEUR_THESE_FK" FOREIGN KEY ("THESE_ID")
-	  REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ATTESTATION" ADD CONSTRAINT "ATTESTATION_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ATTESTATION" ADD CONSTRAINT "ATTESTATION_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ATTESTATION" ADD CONSTRAINT "ATTESTATION_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ATTESTATION" ADD CONSTRAINT "ATTESTATION_THESE_FK" FOREIGN KEY ("THESE_ID")
-	  REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DIFFUSION" ADD CONSTRAINT "DIFFUSION_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DIFFUSION" ADD CONSTRAINT "DIFFUSION_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DIFFUSION" ADD CONSTRAINT "DIFFUSION_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DOCTORANT_COMPL" ADD CONSTRAINT "DOCTORANT_COMPL_DOCTORANT_FK" FOREIGN KEY ("DOCTORANT_ID")
-	  REFERENCES /*"SYGAL".*/"DOCTORANT" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_ETAB_FK" FOREIGN KEY ("ETABLISSEMENT_ID")
-	  REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_INDIV_FK" FOREIGN KEY ("INDIVIDU_ID")
-	  REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DOCTORANT" ADD CONSTRAINT "DOCTORANT_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ECOLE_DOCT" ADD CONSTRAINT "ECOLE_DOCT_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ECOLE_DOCT" ADD CONSTRAINT "ECOLE_DOCT_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ECOLE_DOCT" ADD CONSTRAINT "ECOLE_DOCT_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ECOLE_DOCT" ADD CONSTRAINT "ECOLE_DOCT_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ECOLE_DOCT" ADD CONSTRAINT "ECOLE_DOCT_STRUCT_FK" FOREIGN KEY ("STRUCTURE_ID")
-	  REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT" ADD CONSTRAINT "ETABLISSEMENT_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT" ADD CONSTRAINT "ETAB_STRUCT_FK" FOREIGN KEY ("STRUCTURE_ID")
-	  REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT" ADD CONSTRAINT "ETAB_UTIL_CREATEUR_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT" ADD CONSTRAINT "ETAB_UTIL_DESTRUCTEUR_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT" ADD CONSTRAINT "ETAB_UTIL_MODIFICATEUR_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"FICHIER" ADD CONSTRAINT "FICHIER_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"FICHIER" ADD CONSTRAINT "FICHIER_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"FICHIER" ADD CONSTRAINT "FICHIER_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"FICHIER" ADD CONSTRAINT "FICHIER_NATURE_FIC_ID_FK" FOREIGN KEY ("NATURE_ID")
-	  REFERENCES /*"SYGAL".*/"NATURE_FICHIER" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"FICHIER_THESE" ADD CONSTRAINT "FICHIER_THESE_FICHIER_FK" FOREIGN KEY ("FICHIER_ID")
-	  REFERENCES /*"SYGAL".*/"FICHIER" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"FICHIER_THESE" ADD CONSTRAINT "FICHIER_THESE_THESE_FK" FOREIGN KEY ("THESE_ID")
-	  REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"FICHIER" ADD CONSTRAINT "FICHIER_VERSION_FK" FOREIGN KEY ("VERSION_FICHIER_ID")
-	  REFERENCES /*"SYGAL".*/"VERSION_FICHIER" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"FINANCEMENT" ADD CONSTRAINT "FINANCEMENT_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"FINANCEMENT" ADD CONSTRAINT "FINANCEMENT_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"FINANCEMENT" ADD CONSTRAINT "FINANCEMENT_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"FINANCEMENT" ADD CONSTRAINT "FINANCEMENT_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"IMPORT_OBSERV_ETAB" ADD CONSTRAINT "IMPORT_OBSERV_ETAB_ETAB_FK" FOREIGN KEY ("ETABLISSEMENT_ID")
-	  REFERENCES /*"SYGAL".*/"IMPORT_OBSERV_ETAB" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"IMPORT_OBSERV_ETAB" ADD CONSTRAINT "IMPORT_OBSERV_ETAB_OBSERV_FK" FOREIGN KEY ("IMPORT_OBSERV_ID")
-	  REFERENCES /*"SYGAL".*/"IMPORT_OBSERV" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"IMPORT_OBSERV_RESULT" ADD CONSTRAINT "IMPORT_OBSERV_RESULT_IOE_FK" FOREIGN KEY ("IMPORT_OBSERV_ETAB_ID")
-	  REFERENCES /*"SYGAL".*/"IMPORT_OBSERV_ETAB" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"INDIVIDU" ADD CONSTRAINT "INDIVIDU_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"INDIVIDU" ADD CONSTRAINT "INDIVIDU_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"INDIVIDU" ADD CONSTRAINT "INDIVIDU_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"INDIVIDU_ROLE" ADD CONSTRAINT "INDIVIDU_ROLE_IND_ID_FK" FOREIGN KEY ("INDIVIDU_ID")
-	  REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"INDIVIDU_ROLE" ADD CONSTRAINT "INDIVIDU_ROLE_ROLE_ID_FK" FOREIGN KEY ("ROLE_ID")
-	  REFERENCES /*"SYGAL".*/"ROLE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"INDIVIDU" ADD CONSTRAINT "INDIVIDU_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"INFORMATION" ADD CONSTRAINT "INFORMATION_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"INFORMATION" ADD CONSTRAINT "INFORMATION_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"INFORMATION" ADD CONSTRAINT "INFORMATION_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"IMPORT_OBS_NOTIF" ADD CONSTRAINT "IOND__IO_FK" FOREIGN KEY ("IMPORT_OBSERV_ID")
-	  REFERENCES /*"SYGAL".*/"IMPORT_OBSERV" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"IMPORT_OBS_NOTIF" ADD CONSTRAINT "IOND__N_FK" FOREIGN KEY ("NOTIF_ID")
-	  REFERENCES /*"SYGAL".*/"NOTIF" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"IMPORT_OBS_RESULT_NOTIF" ADD CONSTRAINT "IORNR__IOR_FK" FOREIGN KEY ("IMPORT_OBSERV_RESULT_ID")
-	  REFERENCES /*"SYGAL".*/"IMPORT_OBSERV_RESULT" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"IMPORT_OBS_RESULT_NOTIF" ADD CONSTRAINT "IORNR__NR_FK" FOREIGN KEY ("NOTIF_RESULT_ID")
-	  REFERENCES /*"SYGAL".*/"NOTIF_RESULT" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"MAIL_CONFIRMATION" ADD CONSTRAINT "MAILCONFIRMATION_INDIVIDUID_FK" FOREIGN KEY ("INDIVIDU_ID")
-	  REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"METADONNEE_THESE" ADD CONSTRAINT "METADONNEE_THESE_THESE_ID_FK" FOREIGN KEY ("THESE_ID")
-	  REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DIFFUSION" ADD CONSTRAINT "MISE_EN_LIGNE_THESE_FK" FOREIGN KEY ("THESE_ID")
-	  REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"NOTIF_RESULT" ADD CONSTRAINT "NOTIF_RESULT__NOTIF_FK" FOREIGN KEY ("NOTIF_ID")
-	  REFERENCES /*"SYGAL".*/"NOTIF" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ORIGINE_FINANCEMENT" ADD CONSTRAINT "ORIGINE_FINANCEMENT_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ORIGINE_FINANCEMENT" ADD CONSTRAINT "ORIGINE_FINANCEMENT_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ORIGINE_FINANCEMENT" ADD CONSTRAINT "ORIGINE_FINANCEMENT_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ORIGINE_FINANCEMENT" ADD CONSTRAINT "ORIGINE_FINANCEMENT_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"PROFIL_PRIVILEGE" ADD CONSTRAINT "PROFIL_PRIVILEGE_PROFIL_ID_FK" FOREIGN KEY ("PROFIL_ID")
-	  REFERENCES /*"SYGAL".*/"PROFIL" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"PROFIL_TO_ROLE" ADD CONSTRAINT "PROFIL_TO_ROLE_PROFIL_ID_FK" FOREIGN KEY ("PROFIL_ID")
-	  REFERENCES /*"SYGAL".*/"PROFIL" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"PROFIL_TO_ROLE" ADD CONSTRAINT "PROFIL_TO_ROLE_ROLE_ID_FK" FOREIGN KEY ("ROLE_ID")
-	  REFERENCES /*"SYGAL".*/"ROLE" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT_RATTACH" ADD CONSTRAINT "RATTACHEMENT_ETAB_ID" FOREIGN KEY ("ETABLISSEMENT_ID")
-	  REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ETABLISSEMENT_RATTACH" ADD CONSTRAINT "RATTACHEMENT_UNITE_ID" FOREIGN KEY ("UNITE_ID")
-	  REFERENCES /*"SYGAL".*/"UNITE_RECH" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"RDV_BU" ADD CONSTRAINT "RDV_BU_FK" FOREIGN KEY ("THESE_ID")
-	  REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"RDV_BU" ADD CONSTRAINT "RDV_BU_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"RDV_BU" ADD CONSTRAINT "RDV_BU_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"RDV_BU" ADD CONSTRAINT "RDV_BU_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"PROFIL" ADD CONSTRAINT "ROLEMODELE_STRUCTURETYPE_FK" FOREIGN KEY ("STRUCTURE_TYPE")
-	  REFERENCES /*"SYGAL".*/"TYPE_STRUCTURE" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ROLE_PRIVILEGE" ADD CONSTRAINT "ROLE_PRIVILEGE_PRIV_ID_FK" FOREIGN KEY ("PRIVILEGE_ID")
-	  REFERENCES /*"SYGAL".*/"PRIVILEGE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ROLE_PRIVILEGE" ADD CONSTRAINT "ROLE_PRIVILEGE_ROLE_ID_FK" FOREIGN KEY ("ROLE_ID")
-	  REFERENCES /*"SYGAL".*/"ROLE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"PROFIL_PRIVILEGE" ADD CONSTRAINT "ROLE_PRIV_MOD_PRIV_ID_FK" FOREIGN KEY ("PRIVILEGE_ID")
-	  REFERENCES /*"SYGAL".*/"PRIVILEGE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_STRUCTURE_ID_FK" FOREIGN KEY ("STRUCTURE_ID")
-	  REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"ROLE" ADD CONSTRAINT "ROLE_TYPE_STRUCT_ID_FK" FOREIGN KEY ("TYPE_STRUCTURE_DEPENDANT_ID")
-	  REFERENCES /*"SYGAL".*/"TYPE_STRUCTURE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"SOURCE" ADD CONSTRAINT "SOURCE_ETABLISSEMENT_ID_FK" FOREIGN KEY ("ETABLISSEMENT_ID")
-	  REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"STRUCTURE" ADD CONSTRAINT "STRUCTURE_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"STRUCTURE" ADD CONSTRAINT "STRUCTURE_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"STRUCTURE" ADD CONSTRAINT "STRUCTURE_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"STRUCTURE" ADD CONSTRAINT "STRUCTURE_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"STRUCTURE" ADD CONSTRAINT "STRUCTURE_TYPE_STRUCTURE_ID_FK" FOREIGN KEY ("TYPE_STRUCTURE_ID")
-	  REFERENCES /*"SYGAL".*/"TYPE_STRUCTURE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" ADD CONSTRAINT "STR_SUBSTIT_CREATEUR_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" ADD CONSTRAINT "STR_SUBSTIT_DESTRUCTEUR_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" ADD CONSTRAINT "STR_SUBSTIT_MODIFICATEUR_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" ADD CONSTRAINT "STR_SUBSTIT_STR_FROM_FK" FOREIGN KEY ("FROM_STRUCTURE_ID")
-	  REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"STRUCTURE_SUBSTIT" ADD CONSTRAINT "STR_SUBSTIT_STR_TO_FK" FOREIGN KEY ("TO_STRUCTURE_ID")
-	  REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"PRIVILEGE" ADD FOREIGN KEY ("CATEGORIE_ID")
-	  REFERENCES /*"SYGAL".*/"CATEGORIE_PRIVILEGE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DOCTORANT_COMPL" ADD CONSTRAINT "THESARD_COMPL_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DOCTORANT_COMPL" ADD CONSTRAINT "THESARD_COMPL_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"DOCTORANT_COMPL" ADD CONSTRAINT "THESARD_COMPL_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" ADD CONSTRAINT "THESE_ANNEE_UNIV_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" ADD CONSTRAINT "THESE_ANNEE_UNIV_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" ADD CONSTRAINT "THESE_ANNEE_UNIV_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" ADD CONSTRAINT "THESE_ANNEE_UNIV_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE_ANNEE_UNIV" ADD CONSTRAINT "THESE_ANNEE_UNIV_THESE_ID_FK" FOREIGN KEY ("THESE_ID")
-	  REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_DOCTORANT_FK" FOREIGN KEY ("DOCTORANT_ID")
-	  REFERENCES /*"SYGAL".*/"DOCTORANT" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_ECOLE_DOCT_FK" FOREIGN KEY ("ECOLE_DOCT_ID")
-	  REFERENCES /*"SYGAL".*/"ECOLE_DOCT" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_ETAB_FK" FOREIGN KEY ("ETABLISSEMENT_ID")
-	  REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"THESE" ADD CONSTRAINT "THESE_UNITE_RECH_FK" FOREIGN KEY ("UNITE_RECH_ID")
-	  REFERENCES /*"SYGAL".*/"UNITE_RECH" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"TITRE_ACCES" ADD CONSTRAINT "TITRE_ACCES_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"TITRE_ACCES" ADD CONSTRAINT "TITRE_ACCES_HD_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"TITRE_ACCES" ADD CONSTRAINT "TITRE_ACCES_HM_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"TITRE_ACCES" ADD CONSTRAINT "TITRE_ACCES_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"TITRE_ACCES" ADD CONSTRAINT "TITRE_ACCES_THESE_ID_FK" FOREIGN KEY ("THESE_ID")
-	  REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"UNITE_RECH" ADD CONSTRAINT "UNITE_RECH_COMPL_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"UNITE_RECH" ADD CONSTRAINT "UNITE_RECH_COMPL_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"UNITE_RECH" ADD CONSTRAINT "UNITE_RECH_COMPL_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"UNITE_RECH" ADD CONSTRAINT "UNITE_RECH_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"UNITE_RECH" ADD CONSTRAINT "UNITE_RECH_STRUCT_FK" FOREIGN KEY ("STRUCTURE_ID")
-	  REFERENCES /*"SYGAL".*/"STRUCTURE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"UTILISATEUR" ADD CONSTRAINT "UTILISATEUR_INDIVIDU_FK" FOREIGN KEY ("INDIVIDU_ID")
-	  REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ON DELETE SET NULL ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_INDIVIDU_ID_FK" FOREIGN KEY ("INDIVIDU_ID")
-	  REFERENCES /*"SYGAL".*/"INDIVIDU" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_THESE_FK" FOREIGN KEY ("THESE_ID")
-	  REFERENCES /*"SYGAL".*/"THESE" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VALIDATION" ADD CONSTRAINT "VALIDATION_TYPE_VALIDATION_FK" FOREIGN KEY ("TYPE_VALIDATION_ID")
-	  REFERENCES /*"SYGAL".*/"TYPE_VALIDATION" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VALIDITE_FICHIER" ADD CONSTRAINT "VALIDITE_FICHIER_FFK" FOREIGN KEY ("FICHIER_ID")
-	  REFERENCES /*"SYGAL".*/"FICHIER" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VALIDITE_FICHIER" ADD CONSTRAINT "VALIDITE_FICHIER_HCFK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VALIDITE_FICHIER" ADD CONSTRAINT "VALIDITE_FICHIER_HDFK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VALIDITE_FICHIER" ADD CONSTRAINT "VALIDITE_FICHIER_HMFK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VARIABLE" ADD CONSTRAINT "VARIABLE_ETAB_FK" FOREIGN KEY ("ETABLISSEMENT_ID")
-	  REFERENCES /*"SYGAL".*/"ETABLISSEMENT" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VARIABLE" ADD CONSTRAINT "VARIABLE_HC_FK" FOREIGN KEY ("HISTO_CREATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VARIABLE" ADD CONSTRAINT "VARIABLE_HD_FK" FOREIGN KEY ("HISTO_MODIFICATEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VARIABLE" ADD CONSTRAINT "VARIABLE_HM_FK" FOREIGN KEY ("HISTO_DESTRUCTEUR_ID")
-	  REFERENCES /*"SYGAL".*/"UTILISATEUR" ("ID") ON DELETE CASCADE ENABLE;
-  ALTER TABLE /*"SYGAL".*/"VARIABLE" ADD CONSTRAINT "VARIABLE_SOURCE_FK" FOREIGN KEY ("SOURCE_ID")
-	  REFERENCES /*"SYGAL".*/"SOURCE" ("ID") ON DELETE CASCADE ENABLE;
\ No newline at end of file
diff --git a/database/04-crea-comue.sql b/database/04-crea-comue.sql
deleted file mode 100644
index 4fa073ac99904a29807e10c0ff3590be6c58ff68..0000000000000000000000000000000000000000
--- a/database/04-crea-comue.sql
+++ /dev/null
@@ -1,25 +0,0 @@
---
--- Avec ou sans COMUE ?
---
-
---
--- Pour faire simple, si le logo de votre COMUE doit figurer sur la page de couverture des thèses
--- (page générée par l'appli), alors personnalisez puis lancez les 2 inserts ci-dessous pour créer
--- un établissement "COMUE" dans la base de données, sinon passez votre chemin.
---
-
-INSERT INTO STRUCTURE (ID, SOURCE_CODE, SIGLE, LIBELLE, TYPE_STRUCTURE_ID, SOURCE_ID, CODE, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID)
-select
-  STRUCTURE_ID_SEQ.nextval, 'COMUE',
-  'NU',                   --> sigle ou abbréviation à personnaliser
-  'Normandie Université', --> libellé à personnaliser
-  null, 1, 'COMUE', 1, 1
-from dual;
-
-INSERT INTO ETABLISSEMENT (ID, STRUCTURE_ID, DOMAINE, SOURCE_ID, SOURCE_CODE, EST_COMUE, EST_MEMBRE, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID)
-select
-  ETABLISSEMENT_ID_SEQ.nextval, s.ID,
-  'normandie-univ.fr', --> domaine à personnaliser
-  1, 'COMUE', 1, 0, 1, 1
-from STRUCTURE s
-where s.SOURCE_CODE = 'COMUE';
diff --git a/database/05-init.sql b/database/05-init.sql
deleted file mode 100644
index 350c3ff731a3ce853d45507959e1a754d3b0ffb8..0000000000000000000000000000000000000000
--- a/database/05-init.sql
+++ /dev/null
@@ -1,120 +0,0 @@
---
--- INIT
---
--- ATTENTION, ce sript doit être personnalisé pour votre contexte :
---
---      Remplacez "UCN"                          par le code SyGAL de votre établissement (ex: "UTLN").
---      Remplacez "Unicaen"                      par l'intitulé court de votre établissement (ex: "UTLN").
---      Remplacez "Université de Caen Normandie" par l'intitulé long de votre établissement (ex: "Université de Toulon").
---
--- Faites-le avec sed, ex :
---    cat 05-init.sql | sed "s/'UCN/\'UTLN\'/g" | sed "s/Unicaen/UTLN/g" | sed "s/Caen Normandie/Toulon/g" > 04-init-utln.sql
---
-
-
---
--- Création de l'établissement.
---
--- 1/ STRUCTURE
---    À personnaliser :
---      - colonnes SOURCE_CODE et CODE : remplacer 'UCN' par le code établissement choisi, ex: 'UNILIM'
---      - colonne SIGLE : remplacer 'Unicaen' par le sigle ou libellé court choisi, ex: 'Unilim'
---      - colonne LIBELLE : remplacer 'Université de Caen Normandie' par le libellé choisi, ex: 'Université de Limoges'
---
-INSERT INTO STRUCTURE (ID, SOURCE_CODE, CODE, SIGLE, LIBELLE, TYPE_STRUCTURE_ID, SOURCE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID)
-select
-  STRUCTURE_ID_SEQ.nextval,
-  'UCN',
-  'UCN',
-  'Unicaen',
-  'Université de Caen Normandie',
-  1, 1,
-  1, 1
-from dual;
-/
---
--- 2/ ETABLISSEMENT
---    À personnaliser :
---      - colonne DOMAINE : remplacer 'unicaen.fr' par votre domaine, ex: 'unilim.fr'
---      - colonne SOURCE_CODE : remplacer 'UCN' par le code établissement choisi, ex: 'UNILIM'
---      - colonne EST_COMUE : mettre à 1 si l'établissement est une COMUE
---      - where : remplacer 'UCN' par le code établissement choisi, ex: 'UNILIM'
---
-INSERT INTO ETABLISSEMENT (ID, STRUCTURE_ID, DOMAINE, SOURCE_CODE, EST_COMUE, EST_MEMBRE, SOURCE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID)
-select
-  ETABLISSEMENT_ID_SEQ.nextval,
-  s.ID,
-  'unicaen.fr',
-  'UCN',
-  0,
-  1,
-  1,
-  1, 1
-from STRUCTURE s
-where s.SOURCE_CODE = 'UCN';
-/
-
---
--- Création des sources de données importables, ex: Apogée.
---
---    À personnaliser :
---     - where : remplacer 'UCN' par le code établissement choisi, ex: 'UNILIM'
---
-INSERT INTO SOURCE (ID, CODE, LIBELLE, IMPORTABLE, ETABLISSEMENT_ID)
-SELECT 2, SOURCE_CODE||'::apogee', 'Apogée '||SOURCE_CODE, 1, ID
-from ETABLISSEMENT
-where SOURCE_CODE = 'UCN' --> à remplacer par le code choisi *entre apostrophe*, ex: 'UCN'
-/
-
---
--- Rôles par établissement.
---
---    À personnaliser :
---     - where : remplacer 'UCN' par le code établissement choisi, ex: 'UNILIM'
---
-INSERT INTO ROLE (
-  ID,
-  CODE,
-  LIBELLE,
-  SOURCE_CODE,
-  SOURCE_ID,
-  ROLE_ID,
-  THESE_DEP,
-  HISTO_CREATEUR_ID,
-  HISTO_MODIFICATEUR_ID,
-  STRUCTURE_ID,
-  TYPE_STRUCTURE_DEPENDANT_ID
-)
-WITH tmp(CODE, LIBELLE, THESE_DEP) as (
-  select 'ADMIN',     'Administrateur',             0 from dual union
-  select 'MDD',       'Maison du doctorat',       0 from dual union
-  select 'BU',        'Bibliothèque universitaire', 0 from dual union
-  select 'DOCTORANT', 'Doctorant',                  1 from dual
-)
-SELECT
-  ROLE_ID_SEQ.nextval,
-  tmp.CODE,
-  tmp.LIBELLE,
-  s.SOURCE_CODE || '::' || tmp.CODE,
-  1,
-  tmp.LIBELLE || ' ' || s.SOURCE_CODE,
-  tmp.THESE_DEP,
-  1,
-  1,
-  s.ID,
-  1
-FROM tmp, STRUCTURE s
-WHERE s.SOURCE_CODE = 'UCN' --> à remplacer par le code choisi *entre apostrophe*, ex: 'UCN'
-/
-
---
--- Accord des privilèges de gestion des privilèges au rôle ADMIN_TECH.
--- NB: cela débloque l'accès au menu "Droits d'accès" dans l'appli.
---
-insert into ROLE_PRIVILEGE(ROLE_ID, PRIVILEGE_ID)
-select r.id, p.id
-from role r, privilege p, CATEGORIE_PRIVILEGE cp
-where r.SOURCE_CODE = 'ADMIN_TECH'
-  and cp.CODE = 'droit'
-  and p.CATEGORIE_ID = cp.id
-/
diff --git a/database/06-test.sql b/database/06-test.sql
deleted file mode 100644
index c9c6bebbf2f6280ddfb00e6b5f353683070ccac6..0000000000000000000000000000000000000000
--- a/database/06-test.sql
+++ /dev/null
@@ -1,40 +0,0 @@
---
--- Données de test.
---
---
-
-
---
--- Création de l'individu/utilisateur de test
---
-INSERT INTO INDIVIDU (ID, CIVILITE, NOM_USUEL, NOM_PATRONYMIQUE, PRENOM1, EMAIL, SOURCE_CODE, SUPANN_ID, SOURCE_ID, HISTO_CREATEUR_ID, HISTO_MODIFICATEUR_ID)
-select INDIVIDU_ID_SEQ.nextval,
-       'M.',
-       'Premier',
-       'Premier',
-       'François',
-       'francois.premier@univ.fr',
-       'INCONNU::00012345',
-       '00012345',
-       1, 1, 1
-from dual
-/
-INSERT INTO UTILISATEUR (ID, USERNAME, EMAIL, DISPLAY_NAME, PASSWORD, INDIVIDU_ID)
-select UTILISATEUR_ID_SEQ.nextval,
-       'premierf@univ.fr', -- EPPN (si shibboleth activé) ou supannAliasLogin (si LDAP activé)
-       'francois.premier@univ.fr',
-       'François PREMIER',
-       'shib', -- 'shib' (auth shibboleth), ou 'ldap' (auth LDAP), ou mdp bcrypté (auth locale)
-       i.ID
-from INDIVIDU i
-where i.SOURCE_CODE = 'INCONNU::00012345'
-/
-
---
--- /!\ Attribution du rôle Admin tech à l'utilisateur de test !!
---
-INSERT INTO INDIVIDU_ROLE(ID, INDIVIDU_ID, ROLE_ID)
-select INDIVIDU_ROLE_ID_SEQ.nextval, i.ID, r.ID from INDIVIDU i, ROLE r
-where i.SOURCE_CODE = 'INCONNU::00012345'
-  and r.SOURCE_CODE = 'ADMIN_TECH'
-/
diff --git a/database/README.md b/database/README.md
deleted file mode 100644
index dc1f64cfb7c2ff16fe0b97d78df822ac1fb60733..0000000000000000000000000000000000000000
--- a/database/README.md
+++ /dev/null
@@ -1,66 +0,0 @@
-Création de la base de données
-==============================
-
-## Création de la base de données
-
-Charge à vous de créer une base de données Oracle vide quelque part. 
-Ou pourquoi pas 2 bases de données : une base de PROD (ex: `SYGLPROD`) et une base de TEST (ex: `SYGLTEST`).
-Voire même une 3e si vous envisagez de collaborer au développement !
-
-## Création de tablespace, user, etc.
-
-- Script [`00-crea-users.sql`](00-crea-users.sql)
-
-Vous devez adapter ce script avant de le lancer, lisez bien les commentaires en début de script. 
-Une fois ces adaptations faites, vous pourrez lancer le script.
-
-## Création des objets de la base de données
-
-- Script [`00-oracle-generate-schema-SYGAL.sql`](00-oracle-generate-schema-SYGAL.sql)
- 
-Vous pouvez lancer ce script sans modifier quoi que ce soit.
-
-Si l'erreur Oracle `ORA-00922: option erronée ou absente` est rencontrée, 
-c'est que `SET SQLBLANKLINES ON;` n'est pas compris par le client SQL que vous utilisez. 
-Supprimez cette première ligne et relancez le script.
-
-## Insertion des données de base
-
-- Script [`01-bootstrap.sql`](01-bootstrap.sql)
-
-Vous pouvez lancer ce script sans modifier quoi que ce soit.
-
-- Scripts du répertoire [`02-inserts`](02-inserts)
-
-Vous pouvez lancer ces scripts sans les modifier et dans l'ordre que vous voulez puisque les contraintes de références
-entre tables ne sont pas encore créées.
-
-Si l'erreur Oracle `ORA-00922: option erronée ou absente` est rencontrée à la première ligne d'un script, 
-c'est que `set define off ;` n'est pas supporté par le client SQL que vous utilisez. 
-Si cette erreur a bloqué les INSERT situés après, supprimez cette ligne et relancez le script.
-
-## Création des contraintes de référence 
-
-- Script [`03-oracle-generate-ref-constraints-SYGAL.sql`](03-oracle-generate-ref-constraints-SYGAL.sql)
-
-Vous pouvez lancer ce script sans modifier quoi que ce soit.
-
-## Création éventuelle d'une COMUE
-
-- Script [`04-crea-comue.sql`](04-crea-comue.sql)
-
-Lisez ce script pour décider si vous devez l'utiliser.
-
-## Insertion des données de base (suite et fin)
-
-- Script [`05-init.sql`](05-init.sql)
-
-Vous devez adapter ce script avant de le lancer, lisez bien les commentaires en début de script. 
-Une fois ces adaptations faites, vous pourrez lancer le script.
-
-## Insertion des données de test
-
-- Script [`06-test.sql`](06-test.sql)
-
-Lancez ce script pour créer un utilisateur de test "premierf@univ.fr " et lui attribuer le rôle 
-"Administrateur technique" (!)