************** 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 :download:`ici <../../exports/csv/all_ics_expected.csv>` (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 :term:`BUT1` ou en :term:`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`` vaut ``html`` |;| * sous forme textuelle dans un tableau formaté selon les usages du langage Markdown quand ``FMT`` vaut ``markdown`` 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.