Skip to content

04 ‐ Reprise des données LAGAF

Jean-PhilippeMetivier edited this page Apr 2, 2024 · 1 revision

Prérequis

Afin de pouvoir reprendre les données de LAGAF il est nécessaire de récupérer le fichier ACCESS de la base de données associé à votre instance de LAGAF.

Ce fichier se trouve TODO voir avec le pôle application.

Dans la suite ce fichier sera nommé Source700.mdb (qui est le nom du fichier dans l'instance Caennaise).

Exportation des données

Les utilitaires de mdbtools et utilisations basiques

mdbtools est un ensemble d'utilitaires permettant de transformer une base de données ACCESS en csv. Sous les distributions debian et ubuntu cette suite d'utilitaires est packagée dans apt.

Parmi les outils de mdbtools, nous utiliserons les outils suivants :

  1. mdb-tables : liste les tables d'une base de données ACCESS
  2. : exporte au format ...

Les tables de LAGAF

En utilisant mdb-tables sur l'extraction du modèles ACCESS, on obtient le listing suivant :

user@machine:~$ mdb-tables Source700.mdb 
fl0010TablesParameters TAction TAnimation TAnneeCongé TBap TBudgetEffectif TCharges TDemande TDemandeCF TDemandeEnLigne TDiplôme TDomaine TEmployeur TEtablisst TInscription TIntervenant TLieu TNatureContrat TPlage TPrésence TPrestataire TPrestation TService TServiceUtilisateur TSession TSpécialisation TSpécialité TStagiaire TStatFP_Tab2 TStatFPTab5 TStatFPTab5_CFCB TStatut1 TStatut2 TStatut3 TStatut3_3_lignes TStatut3_maj TStatutPrestataire TTableStatFP TTarifHoraire TThemeHygieneSecu TTypeFormation fl0020DatabaseUpdates TComposante TSéance TSpécialitéBap TStatut2_maj TTheme

Transformer une table en csv

En utilisant mdb-export il est possible de réaliser l'exportation d'une table en un fichier csv (qui sera lu par EMC2 ensuite).

user@machine:~$ mdb-export Source700.mdb TTheme
Thème,TypeForm1
"Accueil - sensibilisation à l'environnement professionnel","Thème 01"
"Achats publics","Thème 03"
"Développement durable","Thème 10"
"Europe","Thème 09"
"Formations linguistiques","Thème 08"
"Formations techniques spécifiques aux missions de chaque ministère","Thème 11"
"Gestion et suivi des politiques publiques","Thème 04"
"Informatique","Thème 07"
"Management - Gestion des Ressources Humaines","Thème 02"
"Service aux usagers","Thème 12"
"Techniques administratives et bureautique","Thème 06"
"Techniques juridiques","Thème 05"

Pour enregistrer cet export, il suffit de rediriger la sortie standard dans un fichier.

user@machine:~$ mdb-export Source700.mdb TTheme > Theme.csv

Importer les données LAGAF dans EMC2/Mes Formations

LAGAF vers CSV

Pour chacune des tables lister ci-dessus, il est nécessaire de réaliser une extraction et de sauvegarder celle-ci dans un fichier csv (bien nommer, car EMC2 ne permet pas de paramétrer le nom de ces fichiers du fait de la nature unitaire de cette importation de données).

Table ACCESS Contenu Nom du fichier d'export 
TTheme Thèmes de formation Theme.csv
TAction Actions de formation Action.csv
TSession Sessions de formation Session.csv
TSéance Séances de formation Seance.csv
TPlage Plage des séances Plage.csv
TStagiaire Stagiaires Stagiaire.csv
TInscription Inscriptions Inscription.csv
TPrésence Présences Presence.csv

Il faudra déposer ces fichiers dans le répertoire upload/Source700_020922 à la racine du projet.

TODO : mieux positionner ce répertoire.

Il est à noter que seule ces extractions sont utilisée dans Mes Formations mais que la même méthode peut être utilisée pour les autres données de LAGAF. Mais l'exploitation de ces données n'est pour le moment pas proposée par Mes Formations (et demandera du développement complémentaire).

CSV vers EMC2/Mes Formations

Une fois les données exportées et bien positionnées dans l'arborescence, il faut appeler un ensemble de route dans EMC2 afin de réaliser l'importation. Attention, ces routes doivent être appelées dans l'ordre et peuvent être longue à traiter (NB. penser à augmenter le timeout de votre serveur web).

Voici l'ordre des appels à réaliser

  1. https://mon-instance-emc2.mon-univ.fr/importation-lagaf/theme (exploitera l'export Theme.csv et remplira la table formation_theme)
  2. https://mon-instance-emc2.mon-univ.fr/importation-lagaf/action (exploitera l'export Action.csv et remplira la table formation)
  3. https://mon-instance-emc2.mon-univ.fr/importation-lagaf/session (exploitera l'export Session.csv et remplira la table formation_instance)
  4. https://mon-instance-emc2.mon-univ.fr/importation-lagaf/seance (exploitera l'export Seance.csv et Plage.csv et remplira la table formation_seance)
  5. https://mon-instance-emc2.mon-univ.fr/importation-lagaf/stagiaire (exploitera l'export Stagiaire.csv et remplira la table lagaf_stagiaire qui fera linker entre les données lagafs et les agent·es connu·es)
  6. https://mon-instance-emc2.mon-univ.fr/importation-lagaf/inscription (exploitera l'export Inscription.csv et remplira la table formation_instance_inscrit)
  7. https://mon-instance-emc2.mon-univ.fr/importation-lagaf/presence (exploitera l'export Presence.csv et remplira la table formation_presence)

Troubleshooting

Il est possible que des stagiaires n'aient pas pu être correctement identifiés. Si tel est le cas dans la table lagaf_stagiaire la colonne octopus_id sera à la valeur null. Cela peut se produire dans le cas de stagiaires représentant des agent·es ne faisant plus partie de la structure.

En l'absence d'interface, il est toutefois possible de "corriger" le lien entre la liste d'un·e stagiaire et d'un·e agent·e en base et de relancer l'importation des étapes inscription et présence qui dépendent de cette donnée.