Documentation . Guide synchronisation . Issues
Ce projet consiste à automatiser la récupération du calendrier AURION des cours de l'ENSTA Bretagne.
Il permet ainsi de transformer les données récupérées en fichier ics, qui est plus facile à importer dans les applications de calendrier classiques.
De plus, ce projet a pour ambition de synchroniser les données à chaque mise à jour de celle-ci par la source (l'école).
Ainsi, le calendrier dans notre application de calendrier (sur téléphone ou autre) sera toujours synchronisée avec le planning en cours de l'école (sous 24h).
Ce projet est principalement codé en TypeScript et utilise NodeJS. Pour lancer un script JS, utiliser la commande :
node [nom fichier].js
Pour lancer un script TypeScript, utiliser la commande :
ts-node [nom fichier].ts
Pour lancer le serveur de développement, utiliser la commande :
pnpm dev
ou
pnpm run dev
Note Passage à
pnpm
plutôt quenpm
pour gérer les dépendances.
Rendez-vous sur le site https://aurion-synchronizer.onrender.com.
Actions possibles :
- S'authentifier avec ses identifiants ENSTA Bretagne
- Récupérer et télécharger son calendrier sur une période choisie
- Mettre à jour manuellement son calendrier
- Utiliser le lien comme source de synchronisation pour son calendrier
- Supprimer son compte
Warning Ce projet sera maintenu jusqu'à la fin de l'année scolaire 2022-2023.
- Backend
- Connexion de l'utilisateur pour récup user token
- Récupération des données à partir de l'api ENSTA Bretagne (AURION)
- Traitement et conversion au format ics
- Génération d'un fichier ics
-
Gérer les différences, les majs de calendrier, etc...=> pas besoin, on récupère tout le calendrier (mis à jour) à chaque fois
- Génération d'un lien automatique pour synchronisation avec calendrier
- Gérer les erreurs ou alerter si problème.
- Frontend
- Site internet simple et facile d'utilisation
- Interface de login de base (pour connexion ENSTA B)
- username
- password
- Passage à interface pour récup calendrier
- V1
- paramétrage des dates de la période à prendre
- Interface pour visualisation des changements
- Lien de téléchargement du fichier ics
- V2
- Lien de synchronisation directement
- la synchro se fait automatiquement en backend avec le calendrier de l'utilisateur (que le calendrier soit : google calendar, outlook, apple calendar, ...)
- Lien de synchronisation directement
- V1
- Vérification avant déploiement
- Vérif sécurité
-
ne pas pouvoir accéder à la page après login si ne fonctionne pas.=> non implémenté car pas de risque dans ce projet.
-
- Vérif sécurité
- Documentation du code et du projet
- @LBF38 : développeur principal du projet (backend et frontend)
- @thomas40510 : développeur sur la partie frontend
Note Le code que vous trouverez ici fut la possibilité pour moi d'apprendre TypeScript, NodeJS et d'autres technologies auxquelles je n'étais pas particulièrement familier. Il est donc possible que le code soit peu optimisé ou mal écrit. N'hésitez pas à me faire des retours sur le code ou sur le projet en général. La structure du code et les fonctions mises en place pourraient être nettement améliorées. Cependant, ce projet consistait en un court side project afin d'automatiser la synchronisation de mon calendrier avec celui de l'école. Il n'a pas pour but d'être un projet à long