forked from ScoDoc/DocScoDoc
7db9a5ea8d
- Ajout d'une RoadMap - Modifications mineures
152 lines
4.1 KiB
Markdown
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.
|
|
|