# Cahier des charges (v0) du projet d'adaptation mobile Cahier des charges rassemblant les fonctionnalités à implémenter pour la version mobile de ScoDoc. ## Fonctionnalités ### Login (/ScoDoc) Page de login inspirée de la version web actuelle (Avertissements...) Login par département. ### Acceuil / Choix du département (/Scodoc) Page d'acceuil, liste les départements auquels l'utilisateur est membre. Liens vers: - `Scolarité` - `Formations` ### Scolarité / Semestres (ScoDoc/DEPT/Scolarite) Consultation des semestres et sessions en cours. ### Formations (/ScoDoc/RT/Scolarite/Notes à changer en /Formations ?) Consultation des formations disponibles. Liens vers (en fonction de la formation selectionnée): - `Gestion semestre` ### Gestion Semestre (ScoDoc/DEPT/Scolarite/Notes/formsemestre_status?formsemestre_id=ID_SEM) Accès au tableau de bord des formations. Depuis ce tableau de bord: - Affichage des infos de la formations - Affichage sous forme de liste des enseignants - Affichage des étudiants inscrits - Listes et exportation - Photos - Saisie d'absence (A passer au tableau de bord ? Redirection ?) ### Saisie des absences (Page a définir) Utilisation d'un dropdown pour le choix du groupe. Affichage d'un tableau (Absences matin/après-midi séparées) - A la semaine - Sur un jour précis ### Page d'étudiant (Page a définir) Affichage des informations de l'étudiant. Liens vers: - `Gestion/Saisie des absences` (Ajout, Suppression, Justification) ### Paramètres (Page a définir) Gestion de certains paramètres (A définir) du département Potentiellement plusieurs pages (Paramètres de departement, de compte...) ## Besoins dans l'API (Source: [Documentation de l'API](https://scodoc.org/ScoDocAPI)) ### `formation_list` Affichage et récuperation de la liste des formations. ### `formsemestre_list` Affichage et récuperation de la liste des semestres. ### `etud_info` Consultation des infos d'un étudiant. ### `Notes/formsemestre_bulletinetud` Affichage d'un bulletin de note. ### `Notes/do_moduleimpl_withmodule_list` Récuperation d'une liste des modules. ## Choix des outils (Framework JS) ### Solutions "modernes" Les solutions retenues ici sont récentes et mises a jour, et probablement plus durables. #### ReactJS (Choix final) ReactJS utilise une syntaxe JSX crée en 2013 et développée par Facebook (et sa communauté). #### Vue JS VueJS est un Framework OpenSource crée par Evan You en 2013 #### Choix Les deux framework ont leurs avantages, mais malgré sa difficulté a prendre en main, React est plus adapté aux projets de cette envergure. Les deux framework sont bien documentés et très complets. ### Autres solutions étudiées Ces solutions n'ont pas été retenues car inadaptés au projet #### Angular Utilise des TypeScript, difficile a prendre en main, d'autres solutions sont plus complètes.