Skip to content

LBF38/planningAurion

Repository files navigation

Aurion Synchronizer

Documentation . Guide synchronisation . Issues


Release info GitHub issues GitHub pull requests

Introduction

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).

Table des matières

Installation

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 que npm pour gérer les dépendances.

Utilisation

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

Roadmap

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, ...)
  • 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.
  • Documentation du code et du projet

Auteurs

  • @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