Skip to content

Files

Latest commit

ff16d89 · Oct 4, 2022

History

History
260 lines (91 loc) · 9.69 KB

specifications_script_traitement_csv.md

File metadata and controls

260 lines (91 loc) · 9.69 KB

Détail des fichiers en entrée (Tours, Orléans, INSA)

Il y a actuellement 2 comptes SFTP, d'autres sont a prévoir:

  • univ.tours
  • univ.orleans
  • insa.cvl (en cours)

Chaque compte dépose à son rythme des archives (tous les jours à terme) nommées sous ce format: {{universite}}_{{date_iso}}.zip, chacune contenant 4 types de fichiers + leur md5 sous le même format de nommage :

  • univ-Orleans_20211118_STAFF.csvlistant les utilisateurs avec le rôle enseignant,
  • univ-Orleans_20211118_ETU.csv listant les utilisateurs avec le rôle étudiant,
  • univ-Orleans_20211118_FORMATIONS.csv listant les formations,
  • univ-Orleans_20211118_SUPERVISEUR.csv listant les utilisateurs autres ayant un rôle de superviseur.

Formalisme (liste des colonnes) des fichiers csv:

  • ETU:

    "eppn","nomFamilleEtudiant","prenomEtudiant","courrielEtudiant","matriculeEtudiant","codesEtape"
    
    
    
    
    
    
    
    
    
    
    
    
  • STAFF:

    "eppn","nomFamilleEnseignant","prenomEnseignant","courrielEnseignant","codesEtape"
      
    
    
    
    
    
    
    
    
    
    
    
  • FORMATIONS:

    version dépréciée

    "codeEtape","libelleEtape","libelleCourtEtape","site"
    
    
    
    
    
    
    
    
    
    
    
    

    nouvelle version

    "codeEtape","libelleEtape","codeSISE", "typeDiplome", "intituleDiplome","site"
    
    
    
    
    
    
    
    
    
    
    
    

    Le champs libelleEtape doit contenir en fin de chaîne le numéro de l'année de formation dans le diplôme. Attention ce n'est pas l'année (bac +x) dans le parcours de l'étudiant, mais par exemple 2 pour un Master en 2ème année et non 5 pour ce cas. Le champs ne devra se terminer que par un chiffre.

    Le champs codeSISE doit être le code associé au diplôme, code connu au niveau national permettant de faire le lien avec les autres formations "identiques" des autres universités. Ce champs sera utile pour les transferts d'informations et la récupération des portfolios, il ne sera pas traité dans Karuta pour le moment - un historique du fichier Formation sera conservé.

    Le champs typeDiplome correspondra à type court de formation, par exemple "BUT", "LICENCE", "MASTER", voir "MAST LMD, "FORM. ING.", etc... Cela fait référence au champs Type du diplôme SISE décrit dans la BCN.

    Le champs intituleDiplome devra être (du moins essayer de se rapprocher) d'un sigle pour l'intitulé de la formation (texte très court généralement utilisé dans le langage courant), par exemple: "GEII", "INFORMATIQUE", "GEA", "QLIO", "GMP", "MTE", etc... Cela fait référence au champs Intitulé 1 du diplôme SISE

    Le champs site fait référence au champs composante de rattachement et prends les valeurs exemples IUT Tours, IUT Orléans pour les universités et BOURGES ou BLOIS pour l'INSA CVL

  • SUPERVISEUR:

    "eppn","nomFamilleSuperviseur","prenomSuperviseur","courrielSuperviseur"
    
    
    
    
    
    
    
    
    
    
    
    
  • l'attribut "codesEtape" est multivalué avec comme caractère séparateur des valeurs le caractère "@"

D'autres attributs pourront être fourni, mais il ne seront pas a traiter dans cette version du script.

Scripts de traitement des données csv transmises par les établissements (GIP RECIA)

Scripts lié à KAPC1.2

  • 1 fichier csv pour toutes les formations selon ces entêtes et un exemples de valeurs formalisée:

    ”formation_code”,”formation_label”
    ”${univ}_${site}_${formation_code}”,”${univ}_${site} - ${formation_label}”
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    Fichier nommé avec le pattern: {univ}_FORMATIONS_{date_ISO}.csv

  • 1 fichier csv par valeur "codesetape" à partir du fichier ETU, permettant "d'exploser" la génération des portfolios par codeEtape pour les étudiants selon ces entêtes:

    “model_code”,”formation_code”,”formation_label”,”cohorte”,
    “kapc/8etudiants.batch-creer-etudiants-authentification-externe”,”${univ}_${site}_${formation_code}”,”${univ}_${site} - ${formation_label}”,”${univ}_${site}_${cohorte}”
    “nomFamilleEtudiant”,”prenomEtudiant”,”courrielEtudiant”,”matriculeEtudiant”,”loginEtudiant”
    # lignes désignant les comptes appartenant à la cohorte (et du site) - "loginEtudiant" doit être l'eppn
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    Fichier nommé selon le pattern: {univ}_ETU_{site}_{cohorte}_{année}_{dateISO}.csv

    Nommer les fichiers avec la notion de site n'est utile que pour le lecteur, car à chaque cohorte correspond un site précis, on ne peut pas avoir un même nom de cohorte pour des sites différents.

  • 1 fichier csv par valeur "codesetape" à partir du fichier STAFF, permettant "d'exploser" la génération des portfolios par codeEtape pour les enseignants selon ces entêtes:

    “model_code”,”formation_code”,”formation_label”
    “kapc/3enseignants.batch-creer-enseignants-authentification-externe”,”${univ}_${site}_${formation_code}”,”${univ}_${site} - ${formation_label}”,
    ”nomFamilleEnseignant”,”prenomEnseignant”,”courrielEnseignant”,”loginEnseignant”
    # lignes désignant les comptes appartenant à la formation - "loginEnseignant" doit être l'eppn
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    ATTENTION: la subtilité étant que plusieurs codes étapes peuvent correspondre à une même Formation. Il faudra donc rassembler tous les STAFF de la même univ - formation, même si le code étape change.

    Fichier nommé selon le pattern: {univ}_STAFF_{site}_{formation_code}_{année}_{dateISO}.csv

  • 1 fichier csv par univ à partir du fichier INGE_PEDA, pour les personnels encadrants selon ces entêtes:

    à déterminer
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  • pour les variables indiquées dans les fichiers sous forme du pattern ${var} voici les détails (sauf exception explicité il ne doit y avoir que des caractères et chiffres [A-Z0-9]+, aucun espace ni signe):

    • cohorte est l'acronyme qu'on retrouve dans le fichier FORMATIONS dans une 3ème colonne libelleCourtEtape. Ce champs est à utilisé transformé de la façon suivante: remplacement des caractères non alphanumériques par le caractère _ en supprimant les redondances successives de ce caractère (il ne peut y avoir qu'un seul _ entre chaque caractères alphanumériques).

      Version modifiée: cohorte = ${typeFormation}*${sigleFormation}*${parcoursFormation}_${anneeFormation} ou cohorte = ${libelleEtape}

      Formatage de la chaîne: remplacement des caractères non alphanumériques par le caractère _ en supprimant les redondances successives de ce caractère (il ne peut y avoir qu'un seul _ entre chaque caractères alphanumériques).

    • formation_code peut être obtenu à partir de la variable cohorte en supprimant le caractère numérique entre "_" (sans caractère alphabétique autour) ainsi que les redondances successives du caractères _. Pour l'INSA on supprime la chaine décimale avec le caractère _ devant une chaîne décimale et si c'est en fin de chaîne. La chaîne ne doit contenir que des caractères en majuscule sans ponctuation.

      Version modifiée: formation_code = ${formationlabel}

      Formatage de la chaîne: remplacement des caractères non compris dans la chaine [a-zA-Z0-9-]+ par le caractère _ en supprimant les redondances successives de ce caractère (il ne peut y avoir qu'un seul _ entre chaque caractères alphanumériques).

    • formation_label est à déterminer à partir de la colonne libelleEtape en supprimant la chaine ANNÉE\s\d \d correspond à une chaîne numérique et \s à un espace, en supprimant les caractères numériques et en simplifiant les espaces successifs. La chaîne ne doit contenir que des caractères en majuscule, la ponctuation est autorisée.

      Version modifiée: formation_label = ${typeDiplome} ${intituleDiplome} (attention à l'espace entre les deux variables)

      Formatage de la chaîne: La chaîne ne doit contenir que des caractères en majuscule, la ponctuation est autorisée => aucune transformation autre que la mise en majuscule n'est nécessaire.

    • univ est le nom court de l'université en majuscule, soit: TOURS, ORLEANS,INSA, etc... ces termes sont en minuscules.

    • site correspondant à la structure/antenne, soit IUT-18, IUT-28, IUT-36-CHX, etc... obtenu via la colonne site dans le fichier FORMATIONS.

    • année correspond pour le moment à l'année scolaire 2021, on reverra cela après si on peut traiter correctement ou non à partir d'un des futurs champs afin de connaître uniquement la promotion du diplôme (2021 pour un première année, et 2020 pour un deuxième année par exemple)

  • des ; peuvent être utilisés à la place des , comme séparateurs de champs, le parser Karuta sait traiter. Comme le fait d'avoir une virgule en fin de ligne cela ne semble pas obligatoire.

Gestion des différentiels entre deux entrants pour une même univ à des dates différentes

  • Pour les ajouts il faut générer un fichier à l'identique de ce qui a été spécifié.
  • Pour les suppressions il faut générer un fichier spécifique afin de faire les suppressions manuellement
  • Pour les modifications pour le moment il ressortir dans un nouveau fichier les lignes ayant changé, le traitement sera manuel, nous ne savons pas encore spécifier.

Dépôt des fichiers

Les fichiers seront à déposer sur le serveur epf-karuta1 dans un dossier nommé à la date de génération et sur un chemin paramétrable. Adrien devra avoir accès à cet espace.

Fichiers distincts par site afin de séparer les sites et les formations

On garde le nommage actuel sauf qu’après univ-Tours on ajoute univ-tours_site-y