À propos du projet
WATcalendars est un projet qui visite quotidiennement les sites web de huit facultés de l'Université Militaire de Technologie, analyse les emplois du temps publiés et les enregistre au format iCalendar (.ics). Cela permet aux étudiants de s'abonner à l'emploi du temps dans Apple Calendar, Google, Outlook ou Thunderbird et de l'avoir toujours à jour.
Pour les étudiants : il suffit de visiter watcalendars.byst.re, de saisir le code du groupe et de cliquer sur « Ajouter au calendrier ». Le site propose également de parcourir les groupes par faculté.
Pour les développeurs : le projet est écrit en Python (nécessite 3.9+). Installation via pip et Playwright (Firefox/Chromium) pour les facultés derrière un pare-feu. La commande `watcal` prend en charge la liste, l'exécution pour des facultés sélectionnées, la détection de groupes, la génération de calendriers, la liste des employés et la reconstruction de l'index. Des options de débogage, de forçage de semestre et de journalisation de fichiers sont disponibles.
L'architecture repose sur un pipeline commun (récupération, analyse, enregistrement) avec des modules par faculté. L'ajout d'une nouvelle faculté ne nécessite qu'un fichier de spécification et un enregistrement. Les données sont récupérées à partir de diverses sources : HTTP pour WCY et WIM, navigateur pour le reste (Plansoft derrière Imperva), et WIG utilise des fichiers .docx. Le projet utilise l'API publique USOS, mais les emplois du temps y sont vides, d'où la nécessité de les extraire.
Le site est hébergé sur GitHub Pages, et les fichiers .ics sont disponibles à la même adresse. Automatisation via GitHub Actions quotidiennement à minuit UTC. Les tests (79) couvrent la correction des spécifications. Licence MIT.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.