jalon03 - mathieu-bergeron/aquiletour2021 GitHub Wiki
-
Comme au jalon02, il faut installer les
__test_data__
après une fusion$ rm -rf aquiletour_server/__data__ $ cp -rf aquiletour_server/__test_data__ aquiletour_server/__data__
-
Chaque classe sérialisable en JSON doit être déclrée, p.ex.
Ntro.jsonService().registerSerializableClass(DashboardModel.class);
- Voir
AquiletourMain.registerSerializableClass
- Voir
On est rendu à la semaine 7 de 15.
- (✓) jalon01: prototype en ligne
- (✓) jalon02: billetterie minimalement fonctionnelle
- (✓) hors série
- jalon03:
- version
?js
pleinnement fonctionnelle - connexion usager par courriel
- importation des usagers par fichier .csv de ColNet
- ajout des heures de rendez-vous dans la billetterie
- version
- jalon04: ajout du calendrier de cours
- jalon05:
- intégration du module Git
- ajout de la messagerie
- jalon06: config prod finale (p.ex. mongoDB, https)
- hors série: finition (+ écrire rapports de stage)
Semaine 1:
- version JS complétement fonctionnelle
- importation des usagers par fichier .csv de ColNet
- version mobile) déplacer les rendez-vous
Semaine 2:
- connexion usager par courriel et permissions des usagers
- ajout des heures de rendez-vous dans la billetterie
- version JS complétement fonctionnelle
-
authToken
et permissions des usagers - observer un modèle qui est sur le serveur
-
Marwane (Aiguilleur) et Benjamin (Ntro):
- version JS complétement fonctionnelle
- ajouter les capteurs d'événements
- réagir ET ajuster la barre d'adresse avec
pushState
- déterminer l'usager avec les cookies
- version JS complétement fonctionnelle
-
Joseph (Js):
- version mobile) déplacer les rendez-vous
-
Marwane (Java), Joseph (Html/JS):
- importation des usagers par fichier .csv de ColNet
- (chargement du fichier)
- ajout des heures de rendez-vous dans la billetterie
- importation des usagers par fichier .csv de ColNet
-
Marwane (Java), Joseph (Html) et
mroussel
(Serveur):- connexion usager par courriel
-
Benjamin:
-
authToken
et permissions des usagers
-
-
mbergeron
:- fusion
- modèle de données pour le calendrier de cours
- observation d'un modèle qui réside sur le serveur
- dette technique
- continuer la reconception
Ntro.service()
-
MessageFactory
et connexions WebSocket - séquence d'initialisation
-
NtroTaskTests
: leGraphTrace
est écrit mais pas testé
- continuer la reconception
-
mroussel
:- configuration du nom
aiguilleur.ca
(+ https et smpts) - sauvegarde des données MariaDB et MongoDB
- configuration du nom
-
nleduc
:- base de données module Git
- extraction des données de Git
- Semaine 7: Benjamin
- Semaine 8: Marwane
- Pour afficher les graphes de tâches, il faut installer https://graphviz.org/ et le mettre dans le PATH
- Pour désactiver la génération des graphes de tâches:
-
DynamicHandler.java
, s'assurer d'avoir les lignes suivantes en commentaire (autour de ligne 154)//backendTrace.addGraphWriter(new GraphTraceWriterJdk(new File("__backend_task_graphs__", path.toFileName())));
//trace.addGraphWriter(new GraphTraceWriterJdk(new File("__task_graphs__", path.toFileName())));
-
-
NOTES:
- le
"_C"
est le type d'objet (la classe Java) - les dates sont en epoch time
- le
-
Au moment où l'étudiant ajout un URL de dépôt Git dans le calendrier
-
requête POST
/_gitapi
avec ce JSON dans le body{ "_C":"RegisterGitRepo", "repoUrl":"https://github.com/patate/atelier.git", "semesterId":"H2021", "studentId":"1234567", "courseId":"3C6", "groupId":"01", "exercisePath":"/etape1/atelier", }
- NOTE:
"exercicePath":"/"
pour dire que c'est le dépôt pour tout le cours
- NOTE:
-
réponse:
- 200 OK
- ou erreur si le dépôt existe déjà
-
-
Demander une liste de commits
-
requête POST
/_gitapi
avec ce JSON dans le body{ "_C":"GetCommitListMessage", "semesterId":"H2021", "studentId":"1234567", "exercisePath":"/3C6/etape1/*", "fromDate": "16152151235" "toDate": "1615215942" }
-
réponse en JSON
{ "_C":"CommitList", "semesterId":"H2021", "studentId":"1234567", "exercisePath":"/3C6/etape1/*", "fromDate": "16152151235" "toDate": "1615215942" "commits": { "_C":"ObservableCommitList", "value":[ { "_C":"Commit", "exercicePath":"/3C6/etape1/atelier4/exercice2", "modifiedFiles": ["/src/atelier4/Exercise2.java",".project"], "estimatedEffort": 34, "commitMessage": "Blah blah", "timestamp": "1615215942" }, { "_C":"Commit", "exercicePath":"/3C6/etape1/atelier1/exercice3", "modifiedFiles": ["/src/atelier2/Exercise3.java","REAMDE.md"], "estimatedEffort": 2, "commitMessage": "Blih blih", "timestamp": "1615215234" } ] } }
-
requête POST
/_gitapi
avec ce JSON dans le body{ "_C":"GetLateStudentsMessage", "semesterId":"H2021", "groupId":"01", "exercisePath":"/3C6/etape1/atelier4/exercice5", "completionKeywords":"Exercice 5" "deadline": "1615215942" }
-
réponse en JSON:
{ "_C":"LateStudents", "semesterId":"H2021", "groupId":"01", "exercisePath":"/3C6/etape1/atelier4/exercice5", "deadline": "1615215942" "studentIds": ["1234567","7654321"] }
-
requête POST
/_gitapi
avec ce JSON dans le body{ "_C":"GetStudentSummariesMessage", "semesterId":"H2021", "groupId":"01", "exercisePath":"/3C6/etape1/atelier4/exercice5", "completionKeywords":"Exercice 5" "deadline": "1615215942" }
-
réponse en JSON:
{ "_C":"StudentSummaries", "semesterId":"H2021", "groupId":"01", "exercisePath":"/3C6/etape1/atelier4/exercice5", "deadline": "1615215942" "summaries": [ { "_C":"StudentSummary", "studentId":"1234567", "lastCommit": "1615215123", "exerciceCompleted: true }, { "_C":"StudentSummary", "studentId":"7654321", "lastCommit": "1615215123", "exerciceCompleted: false } ] }
-

En html (copier-coller dans un fichier local et ouvrir avec un navigateur)
- Cliquer sur un lien ET la page destination est en mémoire
- on veut animer légèrement le contenu réel de la page
- Cliquer sur un lien ET la page destination n'est PAS en mémoire
- on veut animer un sablier, PUIS animer légèrement le contenu une fois qu'il est disponible
- Cas particulier: animer légèrement un sous-ensemble du contenu (p.ex. une seule carte).