Projet 2024
Aider la secrétaire à rencontrer les vacataires
La secrétaire peut être amenée à rencontrer les vacataires pour leur faire passer différents papiers administratifs. Les vacataires n’étant pas toujours présents dans les locaux, elle a besoin de savoir à quel moment elle pourra les rencontrer.
Objectif
Afficher, pour chaque enseignant vacataire du département, la date et l’heure de leur prochaine intervention auprès des étudiants, partant d’une date d’analyse donnée. Le nom du module (code & intitulé) pour lequel a lieu cette intervention sera également affiché.
Cahier des charges fonctionnel
Les données seront celles, extraites d’ADE, que vous avez transformées en CSV durant la première phase et qui devraient exactement correspondrent au fichier fourni
ici
(de manière à ce que vous puissiez faire la phase 2, même sans avoir réussi la phase 1).Le script Awk prend en compte toute l’année universitaire, c’est à dire allant du 1er septembre au 31 juillet.
Le script Awk s’adapte en fonction de la date d’analyse qui sera passée dans un paramètre nommé
DAT
Seuls les vacataires intervenant encore au sein du département à compter de la date d’analyse seront affichés. Par exemple, si la date d’analyse est le 1er décembre, un vacataire ayant achevé ses cours avant le 1er décembre ne sera pas affiché.
Les vacataires considérés peuvent intervenir indifféremment en BUT1 ou en DUT2
Les informations à afficher seront présentées en fonction d’un paramètre nommé
FMT
:sous forme d’une page web HTML statique éventuellement liée à une feuille de style CSS quand
FMT
vauthtml
;sous forme textuelle dans un tableau formaté selon les usages du langage Markdown quand
FMT
vautmarkdown
ou n’est pas présent ;
Exemple de résultats
Supposons que la data d’analyse soit fixée au 10 septembre 2021
Sous forme textuelle selon les usages du langage Markdown, le résultat prendra la forme suivante :
meryd@aquen:~/SAE15$ awk -f projet2024.awk -v DAT='10/09/2021' data/all_ics_expected.csv
+---------------------+-----------------+------------+-------+
| NOM | Module | Date | Heure |
+=====================+=================+============+=======+
| BARFIELD VERONIQUE | R110-Anglais | 14-09-2021 | 13:30 |
+---------------------+-----------------+------------+-------+
| DOLMAZON THOMAS | M3105-SrvRes | 14-09-2021 | 13:30 |
+---------------------+-----------------+------------+-------+
| GIRAUD CATHERINE | R111-ExprCom | 13-09-2021 | 13:30 |
+---------------------+-----------------+------------+-------+
| GOBIN PIERRE | R113-MathSignal | 10-09-2021 | 08:00 |
+---------------------+-----------------+------------+-------+
| HOFMANN CAROLINE | R101-InitRes | 30-09-2021 | 08:00 |
+---------------------+-----------------+------------+-------+
| NICOLL NICOLA | M3201-Anglais | 10-09-2021 | 08:00 |
+---------------------+-----------------+------------+-------+
| ROCHE JEAN-PHILIPPE | M3201-Anglais | 10-09-2021 | 10:00 |
+---------------------+-----------------+------------+-------+
| ROCHETTE VERONIQUE | R111-ExprCom | 14-09-2021 | 13:30 |
+---------------------+-----------------+------------+-------+
| SAILLARD RAPHAELLE | M3202-ExprCom | 13-09-2021 | 13:30 |
+---------------------+-----------------+------------+-------+
| TISSERAND BRUNO | R113-MathSignal | 10-09-2021 | 08:00 |
+---------------------+-----------------+------------+-------+
Sous forme HTML/CSS, les résultats affichés prendront la forme :
NOM |
Module |
Date |
Heure |
---|---|---|---|
BARFIELD VERONIQUE |
R110-Anglais |
14-09-2021 |
13:30 |
DOLMAZON THOMAS |
M3105-SrvRes |
14-09-2021 |
13:30 |
GIRAUD CATHERINE |
R111-ExprCom |
13-09-2021 |
13:30 |
GOBIN PIERRE |
R113-MathSignal |
10-09-2021 |
08:00 |
HOFMANN CAROLINE |
R101-InitRes |
30-09-2021 |
08:00 |
NICOLL NICOLA |
M3201-Anglais |
10-09-2021 |
08:00 |
ROCHE JEAN-PHILIPPE |
M3201-Anglais |
10-09-2021 |
10:00 |
ROCHETTE VERONIQUE |
R111-ExprCom |
14-09-2021 |
13:30 |
SAILLARD RAPHAELLE |
M3202-ExprCom |
13-09-2021 |
13:30 |
TISSERAND BRUNO |
R113-MathSignal |
10-09-2021 |
08:00 |
Fonctions spécifiques au projet
Le script doit être découpé en différentes fonctions pour suivre les principes de structuration du code, en appliquant une stratégie « diviser pour régner ».
Les fonctions en support du projet sont décrites dans sa documentation technique.