DocScoDoc/docs/CahierDesChargesMobile.md
Theal0 7db9a5ea8d Mise a jour du cahier des charges
- Ajout d'une RoadMap
- Modifications mineures
2021-04-22 09:25:46 +02:00

152 lines
4.1 KiB
Markdown

# Cahier des charges (v0) du projet d'adaptation mobile
Cahier des charges rassemblant les fonctionnalités à implémenter pour la version mobile de ScoDoc.
## Roadmap
**v0** : Lecture seule
**v1**: v0 + fixes + saisie absences
**Beta Release (scodoc-devel)**
**v2**: fixes (feedback beta tests) + intégration à distrib ScoDoc7.
**Release**
Documentation et tests
## 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é`
### Scolarité / Semestres (ScoDoc/DEPT/Scolarite)
Consultation des semestres et sessions en cours.
Liens vers:
- `Gestion Semestre`
### Gestion Semestre (ScoDoc/DEPT/Scolarite/Notes)
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 (Redirection vers `Page étudiant`) (+ SearchBar)
- Listes et exportation
- Photos
Liens vers:
- `Profil étudiant`
### Profil étudiant (ScoDoc/RT/Scolarite/ficheEtud?etudid=ETUD_ID)
Affichage des informations de l'étudiant.
Liens vers:
- `Gestion/Saisie des absences` (Ajout, Suppression, Justification)
- `Bulletin de notes`
(Joindre `Saisie des absences` et `Bulletin de notes` a cette page ?)
### 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
### Bulletin de notes (Page a définir)
Affiche le bulletin de note d'un élève
### Paramètres (Page à définir | Probablement accessible depuis une sidebar)
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))
| Old API | New API | Remarque |
|---------|---------|----------|
| Login | | |
| `doLogin` | | Connexion avec identifiants |
| Acceuil / Choix DEPT | | |
| `index_dept` | | ??? |
| `list_depts` | | Liste les départements disponibles |
| `DeptId` | | Récupère les identifiants de départements |
| Scolarité / Semestres | | |
| `formsemestre_list` | | Liste des semestres |
| Gestion Semestre | | |
| `formation_table_recap` (?) | | Affichage des infos de la formation |
| `do_ens_list` | | Liste des enseignants |
| `search_etud_by_name` | | Recherche d'étudiant par nom |
| `search_etud_in_dept` | | Recherche d'étudiant dans le departement|
| `trombino` | | Affichage des photos des étudiants|
| Profil étudiant | | |
| `etud_info` | | Recuperation des informations d'un étudiant |
| Saisie des absences | | |
| `CalAbs` | | Recuperation d'un calendrier des absences |
| `EtatAbsences` | | Recuperation de l'état des absences |
| Bulletin de notes | | |
| `formsemestre_bulletinetud` | | Recuperation d'un bulletin de notes |
## Choix des outils (Framework JS)
### Solutions "modernes" et adaptées
Les solutions retenues ici sont récentes et mises a jour, et probablement plus durables.
#### ReactJS (Choix final)
ReactJS (OpenSource) 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.
React est également plutot orienté mobile (iOS/Android)
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.
#### EmberJS
Très difficile a prendre en main, Framework plutot "lourd" vu l'ampleur du projet.
#### Svelte
Interessant mais très recent, donc a une marge d'évolution et pour le moment assez incomplet.