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
, avecX
à remplacer par le numéro de votre projet, présent dans votre répertoireSAE15
;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échargeableici
).
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
.