diff --git a/composer.json b/composer.json
index 54d20168937b04d6358ab908d723c57cae236494..7c388bf2d46407d7051f72847ec1782b11d746df 100755
--- a/composer.json
+++ b/composer.json
@@ -12,7 +12,7 @@
         "unicaen/auth":          "^3.0",
         "unicaen/bjy-authorize": "^3.0",
         "unicaen/ldap":          "^3.0",
-        "unicaen/db-import":     "3.0",
+        "unicaen/db-import":     "dev-master",
         "graphp/graphviz": "^0.2.2",
         "curl/curl": "^2.3"
     },
diff --git a/config/autoload/unicaen-db-import.global.php b/config/autoload/unicaen-db-import.global.php
index 99376ad302aa9f3f3c6000220a80fc6ef09418aa..b8e057b7222d1ef8914bc460e9c8f564cdd32dd5 100644
--- a/config/autoload/unicaen-db-import.global.php
+++ b/config/autoload/unicaen-db-import.global.php
@@ -1,206 +1,76 @@
 <?php
 
-namespace Application;
+//use Import\Model\ImportObserv;
+//use Import\Model\ImportObservResult;
 
 use UnicaenPrivilege\Guard\PrivilegeController;
 
+
 return [
-    /**
-     * Configuration globale du module UnicaenDbImport.
-     */
+
+    'bjyauthorize'    => [
+        'guards' => [
+            PrivilegeController::class => [
+                [
+                    'controller' => 'UnicaenDbImport\Controller\Console',
+                    'action'     => [
+                        'runImport',
+                        'runSynchro',
+                    ],
+                    'roles' => [],
+                ],
+            ],
+        ],
+    ],
+
     'import' => [
-        //
-        // Connexions.
-        //
+
+//        'import_observ_entity_class' => ImportObserv::class,
+//        'import_observ_result_entity_class' => ImportObservResult::class,
+
         'connections' => [
-            //
-            // Bases de données.
-            // Format: 'identifiant unique' => 'nom de la connexion Doctrine'
-            //
             'default' => 'doctrine.connection.orm_default',
             'octopus' => 'doctrine.connection.orm_octopus',
         ],
-        /**
-         * Liste des imports.
-         */
+
+        //
+        // Alias éventuels des noms de colonnes d'historique.
+        //
+        'histo_columns_aliases' => [
+//            'created_on' => 'HISTO_CREATION',     // date/heure de création de l'enregistrement
+//            'updated_on' => 'HISTO_MODIFICATION', // date/heure de modification
+//            'deleted_on' => 'HISTO_DESTRUCTION',  // date/heure de suppression
+
+//            'created_by' => 'HISTO_CREATEUR_ID',     // auteur de la création de l'enregistrement
+//            'updated_by' => 'HISTO_MODIFICATEUR_ID', // auteur de la modification
+//            'deleted_by' => 'HISTO_DESTRUCTEUR_ID',  // auteur de la suppression
+        ],
+
+        //
+        // Forçage éventuel de valeur pour les colonnes d'historique.
+        //
+        'histo_columns_values' => [
+            'created_by' => 0, // auteur de la création de l'enregistrement
+            'updated_by' => 0, // auteur de la modification
+            'deleted_by' => 0, // auteur de la suppression
+        ],
+
+        //
+        // Témoin indiquant si la table IMPORT_OBSERV doit être prise en compte.
+        // La table IMPORT_OBSERV permet d'inscrire les changements de valeurs à détecter pendant la synchro.
+        // Les changements détectés sont consignés dans la table IMPORT_OBSERV_RESULT.
+        //
+        'use_import_observ' => false,
+
+        //
+        // Imports.
+        //
+        'imports' => [],
+
+        //
+        // Synchros.
+        //
         'synchros' => [
-//            [
-//                'name' => 'Import_AGENT',
-                /**
-                 * Configuration de la source de données à importer :
-                 * - 'name'               : petit nom (unique) de la source
-                 * - 'table'              : nom de la table source contenant les données à importer
-                 * - 'select'             : select SQL de mise en forme des données source à importer (NB: antinomique avec 'table')
-                 * - 'connection'         : identifiant de la connexion Doctrine à la base de données source
-                 * - 'source_code_column' : nom de la colonne dans la table/vue source contenant l'identifiant unique
-                 * - 'columns'            : liste ordonnée des noms des colonnes à prendre en compte dans la table/vue source
-                 */
-//                'source' => [
-//                    'name'               => 'Agents geres par la DRH',
-//                    'table'              => 'V_AGENT',
-//                    'select'              => 'SELECT * FROM V_AGENT',
-//                    'connection'         => 'octopus',
-//                    'source_code_column' => 'C_INDIVIDU',
-//                    'columns'            => ['C_SRC_INDIVIDU', 'C_SOURCE', 'PRENOM', 'NOM_USAGE'],
-//                ],
-                /**
-                 * Forçage éventuel du nom de la table intermédiaire utilisée lorsque source et destination
-                 * ne partagent pas la même connexion. NB: cette table intermédiaire est créée/peuplée/supprimée
-                 * dans la base de données destination à chaque import.
-                 * En l'absence de ce forçage, le nom de la table intermédiaire sera celui de la table destination
-                 * préfixé par "src_".
-                 */
-//                'intermediate_table' => 'src_agent',
-                /**
-                 * Configuration de la destination des données importées :
-                 * - 'name'               : petit nom (unique) de la destination
-                 * - 'table'              : nom de la table destination vers laquelle les données sont importées
-                 * - 'connection'         : identifiant de la connexion Doctrine à la base de données destination
-                 * - 'source_code_column' : nom de la colonne dans la table destination contenant l'identifiant unique
-                 * - 'columns'            : liste ordonnée des noms des colonnes importées dans la table destination
-                 * - 'columns_to_char'    : format sprintf nécessaire pour mettre des colonnes au format requis (string)
-                 */
-//                'destination' => [
-//                    'name'               => 'Agents gérés par la DRH',
-//                    'table'              => 'agent',
-//                    'connection'         => 'default',
-//                    'source_code_column' => 'c_individu',
-//                    'columns'            => ['c_src_individu', 'c_source', 'prenom', 'nom_usage'],
-//                    'columns_to_char' => [
-//                        'debut_validite' => "TO_CHAR(%s,'YYYY-MM-DD')", // car colonne destination de type TIMESTAMP
-//                        'fin_validite'   => "TO_CHAR(%s,'YYYY-MM-DD')", // idem
-//                    ],
-//                ],
-//            ],
-            [
-                'name' => 'Import_AGENT',
-                'source' => [
-                    'name'               => 'Agents geres par la DRH',
-                    'select'             => 'SELECT * FROM V_PREECOG_AGENT',
-                    'connection'         => 'octopus',
-                    'source_code_column' => 'C_INDIVIDU',
-                    'columns'            => ['PRENOM', 'NOM_USAGE'],
-                ],
-//                'intermediate_table' => 'src_agent',
-                'destination' => [
-                    'name'               => 'Agents gérés par la DRH',
-                    'table'              => 'agent',
-                    'connection'         => 'default',
-                    'source_code_column' => 'c_individu',
-                    'columns'            => ['prenom', 'nom_usage', 'harp_id'],
-                ],
-            ],
-            [
-                'name' => 'Import_AFFECTATION',
-                'source' => [
-                    'name'               => 'Affectations des agents',
-                    'select'             => 'SELECT * FROM V_PREECOG_AFFECTATION',
-                    'connection'         => 'octopus',
-                    'source_code_column' => 'AFFECTATION_ID',
-                    'columns'            => ['INDIVIDU_ID', 'STRUCTURE_ID', 'DATE_DEBUT', 'DATE_FIN', 'ID_ORIG', 'T_PRINCIPALE'],
-                ],
-//                'intermediate_table' => 'src_agent',
-                'destination' => [
-                    'name'               => 'Affectation des agents gérés par la DRH',
-                    'table'              => 'agent_affectation',
-                    'connection'         => 'default',
-                    'source_code_column' => 'affectation_id',
-                    'columns'            => ['individu_id', 'structure_id', 'date_debut', 'date_fin', 'id_orig', 't_principale'],
-                ],
-            ],
-            [
-                'name' => 'Import_AGENT_GRADE',
-                'source' => [
-                    'name'               => 'Grades liés aux agents de PreeCog',
-                    'select'             => 'SELECT ID, ID_ORIG, AGENT_ID, STRUCTURE_ID, CORPS_ID, GRADE_ID, BAP_ID, D_DEBUT, D_FIN FROM V_PREECOG_GRADE',
-                    'connection'         => 'octopus',
-                    'source_code_column' => 'ID',
-                    //'columns'            => ['AGENT_ID', 'STRUCTURE_ID', 'CORPS_ID', 'GRADE_ID', 'BAP_ID', 'DATE_DEBUT', 'DATE_FIN'],
-                ],
-                'intermediate_table' => 'src_agent_grade',
-                'destination' => [
-                    'name'               => 'Grade des agents gérés par la DRH',
-                    'table'              => 'agent_grade',
-                    'connection'         => 'default',
-                    'source_code_column' => 'id',
-                    'columns'            => ['id_orig', 'agent_id', 'structure_id', 'corps_id', 'grade_id', 'bap_id', 'd_debut', 'd_fin'],
-                ],
-            ],
-            [
-                'name' => 'Import_STATUT',
-                'source' => [
-                    'name'               => 'Statut des agents geres par la DRH',
-                    'select'             => 'SELECT ID, ID_ORIG, C_SOURCE, AGENT_ID, STRUCTURE_ID, D_DEBUT, D_FIN, T_TITULAIRE, T_CDI, T_CDD, T_VACATAIRE, T_ENSEIGNANT, T_ADMINISTRATIF, T_CHERCHEUR, T_ETUDIANT, T_AUDITEUR_LIBRE, T_DOCTORANT, T_DETACHE_IN, T_DETACHE_OUT, T_DISPO, T_HEBERGE, T_EMERITE, T_RETRAITE    FROM V_PREECOG_STATUT',
-                    'connection'         => 'octopus',
-                    'source_code_column' => 'ID',
-//                    'columns'            => ['ID_ORIG', 'C_SOURCE', 'INDIVIDU_ID', 'STRUCTURE_ID', 'D_DEBUT', 'D_FIN', 'T_TITULAIRE', 'T_CDI', 'T_CDD', 'T_VACATAIRE', 'T_ENSEIGNANT', 'T_ADMINISTRATIF', 'T_CHERCHEUR', 'T_ETUDIANT', 'T_AUDITEUR_LIBRE', 'T_DOCTORANT', 'T_DETACHE_IN', 'T_DETACHE_OUT', 'T_DISPO', 'T_HEBERGE', 'T_EMERITE', 'T_RETRAITE', 'T_CLD', 'T_CLM'],
-                ],
-                'intermediate_table' => 'src_agent_statut',
-                'destination' => [
-                    'name'               => 'Statut des agents geres par la DRH',
-                    'table'              => 'agent_statut',
-                    'connection'         => 'default',
-                    'source_code_column' => 'id',
-                    'columns'            => ['id_orig', 'c_source', 'individu_id', 'structure_id', 'd_debut', 'd_fin', 't_titulaire', 't_cdi', 't_cdd', 't_vacataire', 't_enseignant', 't_administratif', 't_chercheur', 't_etudiant', 't_auditeur_libre', 't_doctorant', 't_detache_in', 't_detache_out', 't_dispo', 't_heberge', 't_emerite', 't_retraite', 't_cld', 't_clm'],
-                    'columns_to_char' => [
-                        'd_debut' => "TO_CHAR(%s,'YYYY-MM-DD')",
-                        'd_fin'   => "TO_CHAR(%s,'YYYY-MM-DD')",
-                    ],
-                ],
-            ],
-            [
-                'name' => 'Import_CORPS',
-                'source' => [
-                    'name'               => 'Corps des agents remontés depuis OCTOPUS',
-                    'select'             => 'SELECT ID,  C_CORPS as CODE, C_CATEGORIE as CATEGORIE, LIB_COURT, LIB_LONG, HISTO_DESTRUCTION as HISTO FROM CORPS',
-                    'connection'         => 'octopus',
-                    'source_code_column' => 'ID',
-                ],
-                'intermediate_table' => 'src_corps',
-                'destination' => [
-                    'name'               => 'Corps des agents remonté depuis OCTOPUS',
-                    'table'              => 'corps',
-                    'connection'         => 'default',
-                    'source_code_column' => 'id',
-                    'columns'            => ['code', 'categorie', 'lib_court', 'lib_long', 'histo'],
-                ],
-            ],
-                        [
-                'name' => 'Import_GRADE',
-                'source' => [
-                    'name'               => 'Grades des agents remonté depuis OCTOPUS',
-                    'select'             => 'SELECT ID, C_GRADE AS CODE, LIB_COURT, LIB_LONG, HISTO_DESTRUCTION AS HISTO FROM GRADE',
-                    'connection'         => 'octopus',
-                    'source_code_column' => 'ID',
-                    'columns'            => ['LIB_COURT', 'LIB_LONG', 'CODE', 'HISTO'],
-                ],
-                'intermediate_table' => 'src_grade',
-                'destination' => [
-                    'name'               => 'Grades des agents remonté depuis OCTOPUS',
-                    'table'              => 'grade',
-                    'connection'         => 'default',
-                    'source_code_column' => 'id',
-                    'columns'            => ['lib_court', 'lib_long', 'code', 'histo'],
-                ],
-            ],
-            [
-                'name' => 'Import_BAP',
-                'source' => [
-                    'name'               => 'BAP des agents remonté depuis OCTOPUS',
-                    'select'             => 'SELECT ID, C_BAP, LIB_COURT, LIB_LONG, HISTO_DESTRUCTION AS HISTO FROM BAP',
-                    'connection'         => 'octopus',
-                    'source_code_column' => 'ID',
-                    'columns'            => ['C_BAP', 'LIB_COURT', 'LIB_LONG', 'HISTO'],
-                ],
-                'intermediate_table' => 'src_correspondance',
-                'destination' => [
-                    'name'               => 'BAP des agents remonté depuis OCTOPUS',
-                    'table'              => 'correspondance',
-                    'connection'         => 'default',
-                    'source_code_column' => 'id',
-                    'columns'            => ['c_bap', 'lib_court', 'lib_long', 'histo'],
-                ],
-            ],
             [
                 'name' => 'Import_STRUCTURE_TYPE',
                 'source' => [
@@ -217,80 +87,29 @@ return [
                     'connection'         => 'default',
                     'source_code_column' => 'id',
                     'columns'            => ['code', 'libelle'],
-                ],
-            ],
-            [
-                'name' => 'Import_STRUCTURE',
-                'source' => [
-                    'name'               => 'Agents geres par la DRH',
-                    'select'             => 'SELECT ID, CODE, LIBELLE_COURT, LIBELLE_LONG, TYPE_ID, DATE_OUVERTURE AS OUVERTURE, DATE_FERMETURE AS FERMETURE, HISTO, PARENT_ID FROM V_PREECOG_STRUCTURE',
-                    'connection'         => 'octopus',
-                    'source_code_column' => 'ID',
-                ],
-                'intermediate_table' => 'src_structure',
-                'destination' => [
-                    'name'               => 'Structure stockees dans octopus',
-                    'table'              => 'structure',
-                    'connection'         => 'default',
-                    'source_code_column' => 'id',
-                    'columns'            => ['code', 'libelle_court', 'libelle_long', 'type_id', 'ouverture', 'fermeture', 'histo','parent_id'],
+                    //'log_table' => 'import_log',
+                    //'intermediate_table' => 'TMP_STRUCTURE',
+                    'intermediate_table_auto_drop' => false,
                 ],
             ],
 //            [
-//                'name' => 'Import_FONCTION',
+//                'name' => 'SYNCHRO_STRUCTURE',
 //                'source' => [
-//                    'name'               => 'Fonctions remontées de PrEECoG',
-//                    'select'             => 'SELECT * FROM V_PREECOG_FONCTION',
-//                    'connection'         => 'octopus',
-//                    'source_code_column' => 'ID',
-//                    'columns'            => ['PARENT_ID', 'CODE', 'NIVEAU'],
-//                ],
-//                'intermediate_table' => 'src_fonction',
-//                'destination' => [
-//                    'name'               => 'Fonctions remontées de OCTOPUS',
-//                    'table'              => 'fonction',
+//                    'name'               => 'app',
+//                    'table'              => 'SRC_STRUCTURE',
 //                    'connection'         => 'default',
-//                    'source_code_column' => 'id',
-//                    'columns'            => ['parent_id', 'code', 'niveau'],
-//                ],
-//            ],
-//            [
-//                'name' => 'Import_FONCTION_LIBELLE',
-//                'source' => [
-//                    'name'               => 'Libellés des fonctions remontées de PrEECoG',
-//                    'select'             => 'SELECT * FROM V_PREECOG_FONCTION_LIBELLE',
-//                    'connection'         => 'octopus',
-//                    'source_code_column' => 'ID',
-//                    'columns'            => ['FONCTION_ID', 'LIBELLE', 'GENRE', 'DEFAUT'],
+//                    'source_code_column' => 'SOURCE_CODE',
 //                ],
-//                'intermediate_table' => 'src_fonction_libelle',
 //                'destination' => [
-//                    'name'               => 'Libellés des fonctions remontées de OCTOPUS',
-//                    'table'              => 'fonction_libelle',
+//                    'name'               => 'app',
+//                    'table'              => 'STRUCTURE',
 //                    'connection'         => 'default',
-//                    'source_code_column' => 'id',
-//                    'columns'            => ['fonction_id', 'libelle', 'genre', 'defaut'],
+//                    'source_code_column' => 'SOURCE_CODE',
+//                    //'log_table' => 'import_log',
+//                    //'intermediate_table' => 'TMP_STRUCTURE',
+//                    'intermediate_table_auto_drop' => false,
 //                ],
 //            ],
-//
-
-        ],
-
-    ],
-
-    'bjyauthorize'    => [
-        'guards' => [
-            PrivilegeController::class => [
-                [
-                    'controller' => 'UnicaenDbImport\Controller\Console',
-                    'action'     => [
-                        'runImport',
-                        'runSynchro',
-                    ],
-                    'roles' => [],
-                ],
-            ],
         ],
     ],
-
-];
+];
\ No newline at end of file
diff --git a/config/autoload/unicaen-db-import.global.php.old b/config/autoload/unicaen-db-import.global.php.old
new file mode 100644
index 0000000000000000000000000000000000000000..99376ad302aa9f3f3c6000220a80fc6ef09418aa
--- /dev/null
+++ b/config/autoload/unicaen-db-import.global.php.old
@@ -0,0 +1,296 @@
+<?php
+
+namespace Application;
+
+use UnicaenPrivilege\Guard\PrivilegeController;
+
+return [
+    /**
+     * Configuration globale du module UnicaenDbImport.
+     */
+    'import' => [
+        //
+        // Connexions.
+        //
+        'connections' => [
+            //
+            // Bases de données.
+            // Format: 'identifiant unique' => 'nom de la connexion Doctrine'
+            //
+            'default' => 'doctrine.connection.orm_default',
+            'octopus' => 'doctrine.connection.orm_octopus',
+        ],
+        /**
+         * Liste des imports.
+         */
+        'synchros' => [
+//            [
+//                'name' => 'Import_AGENT',
+                /**
+                 * Configuration de la source de données à importer :
+                 * - 'name'               : petit nom (unique) de la source
+                 * - 'table'              : nom de la table source contenant les données à importer
+                 * - 'select'             : select SQL de mise en forme des données source à importer (NB: antinomique avec 'table')
+                 * - 'connection'         : identifiant de la connexion Doctrine à la base de données source
+                 * - 'source_code_column' : nom de la colonne dans la table/vue source contenant l'identifiant unique
+                 * - 'columns'            : liste ordonnée des noms des colonnes à prendre en compte dans la table/vue source
+                 */
+//                'source' => [
+//                    'name'               => 'Agents geres par la DRH',
+//                    'table'              => 'V_AGENT',
+//                    'select'              => 'SELECT * FROM V_AGENT',
+//                    'connection'         => 'octopus',
+//                    'source_code_column' => 'C_INDIVIDU',
+//                    'columns'            => ['C_SRC_INDIVIDU', 'C_SOURCE', 'PRENOM', 'NOM_USAGE'],
+//                ],
+                /**
+                 * Forçage éventuel du nom de la table intermédiaire utilisée lorsque source et destination
+                 * ne partagent pas la même connexion. NB: cette table intermédiaire est créée/peuplée/supprimée
+                 * dans la base de données destination à chaque import.
+                 * En l'absence de ce forçage, le nom de la table intermédiaire sera celui de la table destination
+                 * préfixé par "src_".
+                 */
+//                'intermediate_table' => 'src_agent',
+                /**
+                 * Configuration de la destination des données importées :
+                 * - 'name'               : petit nom (unique) de la destination
+                 * - 'table'              : nom de la table destination vers laquelle les données sont importées
+                 * - 'connection'         : identifiant de la connexion Doctrine à la base de données destination
+                 * - 'source_code_column' : nom de la colonne dans la table destination contenant l'identifiant unique
+                 * - 'columns'            : liste ordonnée des noms des colonnes importées dans la table destination
+                 * - 'columns_to_char'    : format sprintf nécessaire pour mettre des colonnes au format requis (string)
+                 */
+//                'destination' => [
+//                    'name'               => 'Agents gérés par la DRH',
+//                    'table'              => 'agent',
+//                    'connection'         => 'default',
+//                    'source_code_column' => 'c_individu',
+//                    'columns'            => ['c_src_individu', 'c_source', 'prenom', 'nom_usage'],
+//                    'columns_to_char' => [
+//                        'debut_validite' => "TO_CHAR(%s,'YYYY-MM-DD')", // car colonne destination de type TIMESTAMP
+//                        'fin_validite'   => "TO_CHAR(%s,'YYYY-MM-DD')", // idem
+//                    ],
+//                ],
+//            ],
+            [
+                'name' => 'Import_AGENT',
+                'source' => [
+                    'name'               => 'Agents geres par la DRH',
+                    'select'             => 'SELECT * FROM V_PREECOG_AGENT',
+                    'connection'         => 'octopus',
+                    'source_code_column' => 'C_INDIVIDU',
+                    'columns'            => ['PRENOM', 'NOM_USAGE'],
+                ],
+//                'intermediate_table' => 'src_agent',
+                'destination' => [
+                    'name'               => 'Agents gérés par la DRH',
+                    'table'              => 'agent',
+                    'connection'         => 'default',
+                    'source_code_column' => 'c_individu',
+                    'columns'            => ['prenom', 'nom_usage', 'harp_id'],
+                ],
+            ],
+            [
+                'name' => 'Import_AFFECTATION',
+                'source' => [
+                    'name'               => 'Affectations des agents',
+                    'select'             => 'SELECT * FROM V_PREECOG_AFFECTATION',
+                    'connection'         => 'octopus',
+                    'source_code_column' => 'AFFECTATION_ID',
+                    'columns'            => ['INDIVIDU_ID', 'STRUCTURE_ID', 'DATE_DEBUT', 'DATE_FIN', 'ID_ORIG', 'T_PRINCIPALE'],
+                ],
+//                'intermediate_table' => 'src_agent',
+                'destination' => [
+                    'name'               => 'Affectation des agents gérés par la DRH',
+                    'table'              => 'agent_affectation',
+                    'connection'         => 'default',
+                    'source_code_column' => 'affectation_id',
+                    'columns'            => ['individu_id', 'structure_id', 'date_debut', 'date_fin', 'id_orig', 't_principale'],
+                ],
+            ],
+            [
+                'name' => 'Import_AGENT_GRADE',
+                'source' => [
+                    'name'               => 'Grades liés aux agents de PreeCog',
+                    'select'             => 'SELECT ID, ID_ORIG, AGENT_ID, STRUCTURE_ID, CORPS_ID, GRADE_ID, BAP_ID, D_DEBUT, D_FIN FROM V_PREECOG_GRADE',
+                    'connection'         => 'octopus',
+                    'source_code_column' => 'ID',
+                    //'columns'            => ['AGENT_ID', 'STRUCTURE_ID', 'CORPS_ID', 'GRADE_ID', 'BAP_ID', 'DATE_DEBUT', 'DATE_FIN'],
+                ],
+                'intermediate_table' => 'src_agent_grade',
+                'destination' => [
+                    'name'               => 'Grade des agents gérés par la DRH',
+                    'table'              => 'agent_grade',
+                    'connection'         => 'default',
+                    'source_code_column' => 'id',
+                    'columns'            => ['id_orig', 'agent_id', 'structure_id', 'corps_id', 'grade_id', 'bap_id', 'd_debut', 'd_fin'],
+                ],
+            ],
+            [
+                'name' => 'Import_STATUT',
+                'source' => [
+                    'name'               => 'Statut des agents geres par la DRH',
+                    'select'             => 'SELECT ID, ID_ORIG, C_SOURCE, AGENT_ID, STRUCTURE_ID, D_DEBUT, D_FIN, T_TITULAIRE, T_CDI, T_CDD, T_VACATAIRE, T_ENSEIGNANT, T_ADMINISTRATIF, T_CHERCHEUR, T_ETUDIANT, T_AUDITEUR_LIBRE, T_DOCTORANT, T_DETACHE_IN, T_DETACHE_OUT, T_DISPO, T_HEBERGE, T_EMERITE, T_RETRAITE    FROM V_PREECOG_STATUT',
+                    'connection'         => 'octopus',
+                    'source_code_column' => 'ID',
+//                    'columns'            => ['ID_ORIG', 'C_SOURCE', 'INDIVIDU_ID', 'STRUCTURE_ID', 'D_DEBUT', 'D_FIN', 'T_TITULAIRE', 'T_CDI', 'T_CDD', 'T_VACATAIRE', 'T_ENSEIGNANT', 'T_ADMINISTRATIF', 'T_CHERCHEUR', 'T_ETUDIANT', 'T_AUDITEUR_LIBRE', 'T_DOCTORANT', 'T_DETACHE_IN', 'T_DETACHE_OUT', 'T_DISPO', 'T_HEBERGE', 'T_EMERITE', 'T_RETRAITE', 'T_CLD', 'T_CLM'],
+                ],
+                'intermediate_table' => 'src_agent_statut',
+                'destination' => [
+                    'name'               => 'Statut des agents geres par la DRH',
+                    'table'              => 'agent_statut',
+                    'connection'         => 'default',
+                    'source_code_column' => 'id',
+                    'columns'            => ['id_orig', 'c_source', 'individu_id', 'structure_id', 'd_debut', 'd_fin', 't_titulaire', 't_cdi', 't_cdd', 't_vacataire', 't_enseignant', 't_administratif', 't_chercheur', 't_etudiant', 't_auditeur_libre', 't_doctorant', 't_detache_in', 't_detache_out', 't_dispo', 't_heberge', 't_emerite', 't_retraite', 't_cld', 't_clm'],
+                    'columns_to_char' => [
+                        'd_debut' => "TO_CHAR(%s,'YYYY-MM-DD')",
+                        'd_fin'   => "TO_CHAR(%s,'YYYY-MM-DD')",
+                    ],
+                ],
+            ],
+            [
+                'name' => 'Import_CORPS',
+                'source' => [
+                    'name'               => 'Corps des agents remontés depuis OCTOPUS',
+                    'select'             => 'SELECT ID,  C_CORPS as CODE, C_CATEGORIE as CATEGORIE, LIB_COURT, LIB_LONG, HISTO_DESTRUCTION as HISTO FROM CORPS',
+                    'connection'         => 'octopus',
+                    'source_code_column' => 'ID',
+                ],
+                'intermediate_table' => 'src_corps',
+                'destination' => [
+                    'name'               => 'Corps des agents remonté depuis OCTOPUS',
+                    'table'              => 'corps',
+                    'connection'         => 'default',
+                    'source_code_column' => 'id',
+                    'columns'            => ['code', 'categorie', 'lib_court', 'lib_long', 'histo'],
+                ],
+            ],
+                        [
+                'name' => 'Import_GRADE',
+                'source' => [
+                    'name'               => 'Grades des agents remonté depuis OCTOPUS',
+                    'select'             => 'SELECT ID, C_GRADE AS CODE, LIB_COURT, LIB_LONG, HISTO_DESTRUCTION AS HISTO FROM GRADE',
+                    'connection'         => 'octopus',
+                    'source_code_column' => 'ID',
+                    'columns'            => ['LIB_COURT', 'LIB_LONG', 'CODE', 'HISTO'],
+                ],
+                'intermediate_table' => 'src_grade',
+                'destination' => [
+                    'name'               => 'Grades des agents remonté depuis OCTOPUS',
+                    'table'              => 'grade',
+                    'connection'         => 'default',
+                    'source_code_column' => 'id',
+                    'columns'            => ['lib_court', 'lib_long', 'code', 'histo'],
+                ],
+            ],
+            [
+                'name' => 'Import_BAP',
+                'source' => [
+                    'name'               => 'BAP des agents remonté depuis OCTOPUS',
+                    'select'             => 'SELECT ID, C_BAP, LIB_COURT, LIB_LONG, HISTO_DESTRUCTION AS HISTO FROM BAP',
+                    'connection'         => 'octopus',
+                    'source_code_column' => 'ID',
+                    'columns'            => ['C_BAP', 'LIB_COURT', 'LIB_LONG', 'HISTO'],
+                ],
+                'intermediate_table' => 'src_correspondance',
+                'destination' => [
+                    'name'               => 'BAP des agents remonté depuis OCTOPUS',
+                    'table'              => 'correspondance',
+                    'connection'         => 'default',
+                    'source_code_column' => 'id',
+                    'columns'            => ['c_bap', 'lib_court', 'lib_long', 'histo'],
+                ],
+            ],
+            [
+                'name' => 'Import_STRUCTURE_TYPE',
+                'source' => [
+                    'name'               => 'Type des structures remonté depuis OCTOPUS',
+                    'select'             => 'SELECT ID, CODE, LIBELLE FROM STRUCTURE_TYPE',
+                    'connection'         => 'octopus',
+                    'source_code_column' => 'ID',
+                    'columns'            => ['CODE', 'LIBELLE'],
+                ],
+                'intermediate_table' => 'src_structure_type',
+                'destination' => [
+                    'name'               => 'Type des structures remonté depuis OCTOPUS',
+                    'table'              => 'structure_type',
+                    'connection'         => 'default',
+                    'source_code_column' => 'id',
+                    'columns'            => ['code', 'libelle'],
+                ],
+            ],
+            [
+                'name' => 'Import_STRUCTURE',
+                'source' => [
+                    'name'               => 'Agents geres par la DRH',
+                    'select'             => 'SELECT ID, CODE, LIBELLE_COURT, LIBELLE_LONG, TYPE_ID, DATE_OUVERTURE AS OUVERTURE, DATE_FERMETURE AS FERMETURE, HISTO, PARENT_ID FROM V_PREECOG_STRUCTURE',
+                    'connection'         => 'octopus',
+                    'source_code_column' => 'ID',
+                ],
+                'intermediate_table' => 'src_structure',
+                'destination' => [
+                    'name'               => 'Structure stockees dans octopus',
+                    'table'              => 'structure',
+                    'connection'         => 'default',
+                    'source_code_column' => 'id',
+                    'columns'            => ['code', 'libelle_court', 'libelle_long', 'type_id', 'ouverture', 'fermeture', 'histo','parent_id'],
+                ],
+            ],
+//            [
+//                'name' => 'Import_FONCTION',
+//                'source' => [
+//                    'name'               => 'Fonctions remontées de PrEECoG',
+//                    'select'             => 'SELECT * FROM V_PREECOG_FONCTION',
+//                    'connection'         => 'octopus',
+//                    'source_code_column' => 'ID',
+//                    'columns'            => ['PARENT_ID', 'CODE', 'NIVEAU'],
+//                ],
+//                'intermediate_table' => 'src_fonction',
+//                'destination' => [
+//                    'name'               => 'Fonctions remontées de OCTOPUS',
+//                    'table'              => 'fonction',
+//                    'connection'         => 'default',
+//                    'source_code_column' => 'id',
+//                    'columns'            => ['parent_id', 'code', 'niveau'],
+//                ],
+//            ],
+//            [
+//                'name' => 'Import_FONCTION_LIBELLE',
+//                'source' => [
+//                    'name'               => 'Libellés des fonctions remontées de PrEECoG',
+//                    'select'             => 'SELECT * FROM V_PREECOG_FONCTION_LIBELLE',
+//                    'connection'         => 'octopus',
+//                    'source_code_column' => 'ID',
+//                    'columns'            => ['FONCTION_ID', 'LIBELLE', 'GENRE', 'DEFAUT'],
+//                ],
+//                'intermediate_table' => 'src_fonction_libelle',
+//                'destination' => [
+//                    'name'               => 'Libellés des fonctions remontées de OCTOPUS',
+//                    'table'              => 'fonction_libelle',
+//                    'connection'         => 'default',
+//                    'source_code_column' => 'id',
+//                    'columns'            => ['fonction_id', 'libelle', 'genre', 'defaut'],
+//                ],
+//            ],
+//
+
+        ],
+
+    ],
+
+    'bjyauthorize'    => [
+        'guards' => [
+            PrivilegeController::class => [
+                [
+                    'controller' => 'UnicaenDbImport\Controller\Console',
+                    'action'     => [
+                        'runImport',
+                        'runSynchro',
+                    ],
+                    'roles' => [],
+                ],
+            ],
+        ],
+    ],
+
+];
diff --git a/public/unicaen/app/js/unicaen.js b/public/unicaen/app/js/unicaen.js
index 98a088672d18b45129e3ccb137955d870e146a8f..1fd7741810261b7b0e9e54fe97a13713a3cb43c6 100644
--- a/public/unicaen/app/js/unicaen.js
+++ b/public/unicaen/app/js/unicaen.js
@@ -241,7 +241,7 @@ IntraNavigator = {
      */
     run: function ()
     {
-        var submitSelector = '.intranavigator form:not(.no-intranavigation form)';
+        var submitSelector = '.intranavigator form:not(.no-intranavigation)';
         var clickSelector = '.intranavigator a:not(.pop-ajax):not(.ajax-modal):not(.no-intranavigation):not(.no-intranavigation a)';
 
         /* TODO: trouver une meilleure solution que d'utiliser la classe CSS "no-intranavigation" pour désactiver l'intra-navigation ?*/
@@ -855,16 +855,34 @@ $.widget("unicaen.tabAjax", {
         return this;
     },
 
-    _create: function ()
+    getContent: function(tab)
     {
         var that = this;
 
+        tab = this.getTab(tab);
+        tid = tab.attr('data-target');
+        return that.element.find(".tab-pane" + tid).html();
+    },
+
+    getSelected: function()
+    {
+        var sel = this.element.find('.tab-pane.active').attr('id');
+
+        return sel;
+    },
+
+    _create: function ()
+    {
+        var that = this;
         this.element.find('.nav-tabs a').on('click', function (e)
         {
             e.preventDefault();
             that.select($(this));
             return false;
         });
+        if (!that.getContent(that.getSelected())){
+            that.select(that.getSelected());
+        }
     },
 
 });