profcfuhrmanets / log210-enonce-lab0

Laboratoire d'introduction aux technologies utilisées en LOG210
MIT License
0 stars 4 forks source link
express javascript jest node pug typescript

LOG210 - Lab 0: tutoriel sur les technologies

Cet exercice, sous forme de tutoriel, a l'objectif de vous apprendre les technologies utilisées pour le laboratoire de LOG210. On vous propose d'ajouter une fonctionnalité au Jeu de dés, un squelette de code que votre vrai projet de LOG210 doit suivre. Le squelette est une application minimaliste permettant d'intégrer correctement plusieurs technologies (interface utilisateur, serveur web avec couches logicielles, etc.). En apprenant avec le squelette, vous pouvez aller plus vite, sans nécessairement tout comprendre au début. Vous pouvez vous concentrer sur la méthodologie d'analyse et de conception qui est le sujet principal de LOG210.

Ce travail est individuel, soumis dans un dépôt privé, pour que chaque personne puisse comprendre et contribuer efficacement dans son équipe. ⚠️Les points pour ce laboratoire sont dans le volet de travail de nature individuelle. L'évaluation de ce travail déterminera en partie si vous passez le seuil pour la note minimale pour l'ensemble des éléments évalués individuellement. Alors chaque point est très important!

Préalables

Dans les cours préalables à LOG210, vous devriez avoir déjà vu:

Date de remise

La date de remise du rapport et du code est avant la séance 03 de laboratoire. Notez que le calendrier des séances est différent pour chaque groupe-cours. Vérifiez avec votre auxiliaire d'enseignement (chargé.e de laboratoire).

Technologies vues dans cet exercice

Cet exercice permet de comprendre les bases des technologies suivantes:

Le déploiement de la solution fonctionne comme le diagramme suivant:

Déploiement

:warning: Les bases de données et les cadriciels (Angular, React, etc.) sont des sujets traités dans d'autres cours des programmes de LOG et de GTI. Donc, vous ne pouvez pas utiliser ces technologies dans les laboratoires de LOG210.

Quant à la méthodologie de travail, ce tutoriel vous permettra aussi de savoir comment utiliser les outils suivants:

Objectif de l'exercice

Cet exercice vous amènera à travers des étapes à ajouter une nouvelle fonctionnalité au Jeu de dés. Vous devez réaliser le cas d'utilisation Redémarrer qui va simplement redémarrer le jeu. Pour respecter le processus de génie logiciel enseigné dans LOG210, il faudra passer par les étapes suivantes:

Les auxiliaires d'enseignement pourront vous aider si vous avez des questions.

Étapes

Vous pouvez cocher chaque étape dans la liste suivante:

0. préparer votre machine pour ce tutoriel;

1. Actualiser la documentation de la fonctionnalité

Note: il est fortement recommandé de faire un commit (et push) du code (au moins) à la fin de chaque étape à partir de maintenant. Les auxiliaires d'enseignement auront accès à votre dépôt de code source et pourraient vous aider (surtout à distance) si votre code est synchronisé souvent avec le dépôt. Rappel: Présentation de GitHub dans Visual Studio Code.

La documentation des fonctionnalités se trouve dans le fichier docs/Squelette.md. Dans cette étape, vous devez:

2. Actualiser des modèles de conception (diagrammes de séquence système et réalisations de cas d'utilisation)

Les modèles de conception guident l'implémentation. Vous aurez à revenir à cette section durant ce tutoriel.

À partir de maintenant, consultez le code existant pour vous aider à compléter les étapes

3. Écrire des tests pour la fonctionnalité

4. Écrire la fonctionnalité

5. Afficher le classement sur nouvelle page

Il existe un lien dans la barre de navigation «Classement» pour la page /stats. Cependant, cette page n'affiche pas la colonne Ratio, car l'information n'est pas encore calculée.

6. Documenter les classes logicielles

7. Pratiquer ce qui a été appris

8. Générer le rapport en format PDF

9. Apprendre à faire face aux parasites et aux mollassons dans une équipe

Il peut arriver qu'une équipe soit composée des personnes qui travaillent beaucoup moins que les autres. Pour vous sensibiliser aux problèmes typiques et vous outiller à agir rapidement en cas de difficultés, il y a un texte à lire et à intérioriser.

10. Vérifier la correction automatique

Cet exercice sera noté quasi automatiquement lorsque vous transférez votre code dans GitHub Classrooms. Les tests associés à ce projet permettent de vérifier que la majorité des modifications que vous deviez réaliser ont été faites. Il y a deux volets de la correction automatique avec les tests:

Assurez-vous qu'aucun test n'est en échec et que la couverture de test (branches) est de 100 % (la couverture donne quelques points bonis) pour la commande npx jest --colors --coverage.

Important: La seule rétroaction pour ce laboratoire est à travers les commandes ci-dessus. Vous n'aurez pas de rétroaction individuelle après la date de remise, alors si vous avez des tests qui ne passent pas ou des questions concernant les technologies, c'est votre responsabilité de demander de l'aide de l'auxiliaire de laboratoire avant la remise.

11. Remettre (anglais commit) tous les changements

Félicitations! Vous avez réussi les défis technologiques nécessaires pour être performant dans les laboratoires de LOG210! Ce tutoriel vous sera sûrement utile pendant le développement du projet itératif à suivre, car il y a des liens pour la documentation des technologies différentes.

Si vous avez terminé rapidement grâce à votre expérience, pensez à aider vos coéquipiers qui pourraient toujours avoir des questions. Mais ne faites pas le travail à leur place, car le but est que toute l'équipe soit performante sur le plan technologique. Cherchez à augmenter le facteur de bus (voir les notes de cours pour l'explication) de l'équipe! En plus, le mentorat est une caractéristique importante du leadership.

Calcul de la note

Le calcul de la note du laboratoire se fait à partir des résultats des tests automatiques roulés avec la commande npx jest --coverage (au début du projet et à la fin du projet) et une évaluation faite par l'auxiliaire d'enseignement:

variable explication
$e$ 10 points si vous avez complété un texte d'au moins 300 mots dans docs/experience-parasites-mollassons.md (sinon 0 point)
$b$ nombre de nouveaux boutons fonctionnels (max 1)[^1]
$c$ 10 points si la page de classement fonctionne correctement (sinon 0 point)[1]
$C$ 10 points (bonis) multipliés par la couverture (%) de test de toutes les branches[1]
$v$ nombre de tests valides ("passed")
$d$ nombre de tests déjà valides au début du projet
$t$ nombre total de tests

[^1]: évaluation faite par l'auxiliaire d'enseignement

$$\textup{Note}=\frac{e+b+c+C+v-d}{10+6+10+t-d}100$$