Cahier des charges

Les objectifs, la finalité et les éléments de mise en oeuvre du projet, qui vous est confié (cahier des charges) sont donnés ci-dessous.

Avertissement

Votre mandataire hiérarchique (l’enseignant en charge de votre groupe) vous communiquera le numéro du projet qui vous est attribué et donc les attentes fonctionnelles spécifiques à votre projet.

Cadre et objectif général

Le projet a pour objectif d’exploiter les données traitées extraites d’ADE fournies sous forme d”exports .ics mis à votre disposition par la suite. Ses étapes principales consistent à :

  • lire les données des emplois du temps (qui sont composés d’une série d’évènements désignant l’ensemble des créneaux de l’emploi du temps) ;

  • les interpréter pour en extraire les évènements pertinents en lien avec votre projet (par exemple, ne garder que les créneaux d’un vacataire donné ou d’un groupe de TD donné) ;

  • les traiter pour répondre à l’objectif de votre projet (par exemple, calculer le nombre total d’heures d’un groupe de TD donné) ;

  • construire une représentation textuelle des données calculées (généralement un tableau présentant les résultats) ;

  • créer éventuellement une représentation graphique des données calculées puis de l’exporter en .png.

Le projet doit :

  • utiliser les mêmes outils et le même système d’exploitation que dans les ressources R107-BasesProg et R108-Shell, à savoir le shell Bash sous Linux ;

  • être documenté (commentaires pertinents dans le code) en rédigeant cette documentation en anglais.

Dépôt Arche

Le projet est rattaché à un dépôt Arche (sur votre ENT) dédié aux versionnements et à la livraison de vos codes informatiques. Le versionnement étant tracé et daté, il servira de preuves pour le travail à réaliser pendant les heures d’autonomie.

Langages de scripting/programmation

Le projet doit utiliser :

  • les filtres Linux et plus particulièrement Sed et Awk pour les codes informatiques gérant la lecture, l’analyse, le traitement des données et la publication de leur analyse ;

  • le langage de script Bash (vu en R108-Shell) pour les scripts permettant l’automatisation du traitement et de la publication des résultats.

Environnement de développement

Les codes informatiques du projet peuvent être développés en utilisant un simple éditeur de texte, mais un IDE minimal tel que Geany est conseillé.

Votre travail doit :

  • être créé dans un répertoire SAE15 situé dans votre répertoire personnel (home directory) ;

  • être centralisé dans un projet, rattaché au répertoire SAE15.

Arborescence du projet

Votre projet doit :

  • être exécuté par le biais d’un script projetX.awk, avec X à remplacer par le numéro de votre projet, présent dans votre répertoire SAE15 ;

  • respecter l’arborescence suivante :

    SAE15/
    ├── data/
    │   └── ...
    ├── tools/
    │   └── ...
    ├── tests/
    │   └── ...
    └── projetX.awk
    

    avec :

    • tools le repertoire où vous téléchargerez les scripts fournis par vos enseignants au fur et à mesure de l’avancement du projet ;

    • data le répertoire dédié à stocker différents fichiers textes nécessaires au projet, fournis par la suite ;

    • tests le répertoire dédié aux tests unitaires, fournis par la suite ;

    • projetX.awk le script Awk contenant les codes que vous allez écrire pour votre projet et dont la structure (découpage en fonctions) sera décrite par la suite.

Note

Vous pouvez :

  • ajouter au besoin autant de modules que nécessaires, pour structurer votre code, en les stockant à la racine du projet ;

  • exploiter les constantes fournies dans le module tools_rtmodel.awk (téléchargeable ici).

Données ics manipulées

Les données des emplois du temps ADE des groupes de TD du BUT1 et du DUT2 de l’IUT de Grenoble - auxquels se limitent ce projet - ont été collectées par ses enseignants depuis leur portail d’accès Web à ADE et ont été simplifiées.

Elles vous sont fournies sous forme de fichiers .ics respectant le standard iCalendar créé pour l’échange de données de calendrier (cf. Standard iCalendar). Ces fichiers (1 fichier par groupe de TD) sont à télécharger et à versionner dans le répertoire data de votre projet :

  • Emploi du temps des 4 groupes de TD de BUT1 au semestre 1 : S1G1.ics, S1G2.ics, S1G3.ics, S1G4.ics.

  • Emploi du temps des 2 groupes de TD de DUT2 en formation initiale au semestre 3 : S3G1.ics, S3G2.ics.

  • Emploi du temps des alternants de DUT2 à l’année (semestre 3 et semestre 4) : UFA.ics.

  • Emploi du temps contenant 3 événements de test : Calendrier.ics.