Logiciel produit par David Darras et Aymane Amessegher, INFO4, Polytech Grenoble, 2025
L'application ADE met à disposition un accès direct aux emplois du temps des formations UGA. Un intérêt commun : une information visible par l'étudiant, l'intervenant et la scolarité, consultable à distance et mise à jour régulièrement. Cependant, cette application très pratique n'est pas open source et a un style un peu désuet. Notre objectif principal est de recréer ADE pour Polytech Grenoble en Rust avec le crate egui.
Date : 14/03/2025 Cours : (AR) Applications réparties Fillière : INFO4 Professeur : DECHAMBOUX BOYER FABIENNE Salle : IM2AG Amphi F022 Heure de début : 08h00 Heure de fin : 09h30
git clone https://gricad-gitlab.univ-grenoble-alpes.fr/Projets-INFO4/24-25/21/docs.git
pip install Flask
python resources/backend/server.py
cargo run
La structure des répertoires du projet ADE est comme suit : Les sections suivantes détailleront chaque répertoire et son contenu.
ade_project ├ documents Documentation ├ resources │ ├ backend │ │ ├ ics Base de données regroupant tous les fichiers *.ics │ │ │ ├ INFO3.ics Emploi du temps des INFO3 │ │ │ ├ INFO4.ics Emploi du temps des INFO4 │ │ │ └ ... │ │ └ server.py Serveur python pour le backend avec une API REST │ ├ cache Espace utilisé par le client pour stocker les données téléchargées │ ├ model Modèles graphiques dont on s'est inspiré │ └ preview Thumbnails de l'avancement du projet pour le logbook │ └ ADE-project.pdf Présentation bref du projet durant la soutenance de mi-parcours ├ src │ ├ util │ │ ├ event_builder.rs Traduis les évènements dans les fichiers *.ics en objet Event │ │ ├ event_partition.rs Partitionne les événements en fonction de leur date pour qu'il ne se superpose pas │ │ └ ics_downloader.rs Télécharge les fichiers *.ics s'ils ne sont pas dans le cache │ ├ widget │ │ ├ calendar.rs Objet graphique calendrier : utile pour sélectionner une date │ │ ├ column.rs Objet graphique colonne : Une colonne par jour de la semaine │ │ ├ event.rs Objet graphique évènement : Il comporte les dates de début et fin du cours, la localisation, le nom du cours et le nom du professeur │ │ └ schedule.rs Objet graphique emploi du temps : Il réunit les colonnes et les évènements │ ├ app.rs Application graphique regroupant le calendrier, la liste des fillières et l'emploi du temps │ ├ common.rs Constantes utilisées dans le projet : Ensemble des jours de la semaine, des mois, heure minimale et maximale dans le planing, etc. │ ├ main.rs Point d'entrée de l'application │ ├ util.rs │ └ widget.rs ├ target Ensemble des fichiers générés par cargo lors de la compilation ├ .gitignore Exclusion des fichiers binaires pour ne pas les push repo ├ Cargo.lock Verrouillage des versions des dépendances ├ Cargo.toml Configuration de cargo - Indiquer la version des crates utilisés └ logbook.md Journal de bord du projet
Ensemble des fichiers destiné à la documentation du projet.
Regroupe le code du serveur backend, les previews pour le logbook et les images de l'application.
Code source de l'application ADE.
Ensemble des fichiers générés par cargo lors de la compilation.