Base de données des indicateurs esup : récupération de l'existant

Ce document donne un exemple d'intégration d'un historique de statistiques esup-portal dans la base des indicateurs


Vincent  MATHIEU 
Université Nancy 2

Dates de modification
Revision 1.0 7 février 2008
1. Généralités
2. Initialisation
3. Etat des lieux
4. Script final d'intialisation et de récupération des archives

1. Généralités

De nombreux établissements utilisateurs d'esup-portail utilisent la chaine de traitement des indicateurs distribuée avec le package.

Ce traitement produit 2 fichiers xml mensuels qui agrègent les informations statistiques esup-portail du mois concerné.

Le problème qui peut se poser : il est probable que les fichiers de plusieurs mois précédents ne soient plus en conformité exacte avec les fichiers de paramètres qui on permis de les générer : types.map et services.map.

Il a pu y voir avoir entre temps de nouveaux services ou types de population, ou modification de libellé (2ème champ des ces 2 fichiers de mapping).

Est décrite ici la méthode utilisé dans notre université pour permettre un import facile à partir des anciens fichiers xml.

2. Initialisation

La base est initialisée avec la dernière version des fichiers types.map et services.map.

3. Etat des lieux

L'utilitaire DBmajIndics.pl peut être utilisé pour recharger des fichiers xml de sessions et services de n'importe quel mois antérieur : avant d'enrichie la base, il supprime les informations statistiques du mois concerné.

Il controle la cohérence des types de population et de services entre la base d'une part, et les fichiers xml du mois d'autre part.

Il suffit donc de tenter l'importation des fichiers antérieurs, et de déterminer par sondage à quelles période il y a eu un changement.

On est remonté à l'envers, pour déterminer les différents changements par rapport à la situation actuelle.

Dans notre cas :

4. Script final d'intialisation et de récupération des archives

suite à cette investigation, nous avons pu monter un script d'initialisation de la base de données, et de récupération des archives.

Le voici :

#!/bin/sh
./DBinit.pl -etablissement "universite nancy 2" -codetab "n2" -all

MOIS="2005-05 2005-06 2005-07 2005-08 2005-09 2005-10 2005-11 2005-12"
for i in $MOIS
do
  echo "traitement du mois $i"
  ./DBmajIndics.pl -codetab "n2" -ficmaptypes types0505.map -ficmapservices services0601.map  -ficsessions xml/stats${i}.sess.xml -ficservices xml/stats${i}.serv.xml -nocontrol_service
done

MOIS="2006-01 2006-02 2006-03 2006-04 2006-05 2006-06 2006-07 2006-08 2006-09 2006-10 2006-11 2006-12 2007-01 2007-02 2007-03 2007-04"
for i in $MOIS
do
  echo "traitement du mois $i"
  ./DBmajIndics.pl -codetab "n2" -ficmaptypes types0505.map -ficsessions xml/stats${i}.sess.xml -ficservices xml/stats${i}.serv.xml
done

MOIS="2007-05 2007-06 2007-07 2007-08 2007-09 2007-10 2007-11 2007-12 2008-01"
for i in $MOIS
do
  echo "traitement du mois $i"
  ./DBmajIndics.pl -codetab "n2" -ficsessions xml/stats${i}.sess.xml -ficservices xml/stats${i}.serv.xml
done

Durée d'exécution, sur une petite machine, pour la récupération des infos statistiques sur près de 3 ans : moins de 5 mn, sans aucune fatigue du serveur.

Quelques remarques :