Chaque exercice (ou ensemble d'exercices) est dans un dossier de la forme chXX_Y, donc le numéro du chapitre qu'il couvre et le numéro de l'exercice. Les numéros d'exercices d'un même chapitre n'ont pas vraiment de signification. Autrement dit, l'exercice ch07_2 n'est pas plus ou moins important que ch07_3, juste différent. Des fois, ils sont numérotés ainsi parce qu'ils se suivent d'une semaine à l'autre.
Chaque dossier a un fichier README.md qui explique l'exercice à compléter avec des pistes de résolution et parfois des exemples d'utilisation.
L'exercice à compléter est typiquement le fichier exercice.py dans chaque dossier. Celui-ci contient du code avec des fonctions vides à compléter ou des commentaires TODO dans les cas plus compliqués. On vous fournit aussi les solutionnaires de la forme _exercice_version_prof.py. Ce ne sont généralement pas les seules solutions possibles, juste une version attendue et acceptable.
La plupart des dossiers ont aussi un test_exercice.py qui roule des tests unitaires sur le code dans exercice.py. Ceci permet de vérifier la validité de vos réponses.
La meilleure façon est de faire un fork de ce répertoire en cliquant sur l'icône fork en haut à droite. De cette façon vous pourrez avoir une copie des exercices liée à votre compte GitHub. Ainsi, vous serez avisé lorsqu'il y a des changements dans le répertoire original à https://github.com/INF1007-Gabarits/exercices-inf1007.
La seconde étape sera de cloner ce répertoire après qu'il sera forked.
Il se peut qu'au fil de la session, le répertoire upstream ou original soit modifié. Pour pouvoir y avoir accès, voici les étapes à suivre. À noter que s'il n'y a aucun conflit, ces prochaines étapes peuvent également être réalisées directement en ligne sur votre répertoire forké en utilisant le bouton 🔁 'Sync fork'.
-
Accédez à votre répertoire forké :
cd /chemin/vers/votre-repo-forké -
Ajoutez le répertoire upstream (le répertoire original que vous avez forké) :
git remote add upstream https://github.com/propriétaire-dorigine/dépôt-dorigine.git
Dans notre cas, il s'agit de :
git remote add upstream https://github.com/INF1007-Gabarits/exercices-inf1007.git
-
Vérifiez la configuration du remote upstream :
git remote -v
Récupérez les dernières modifications du répertoire upstream sans modifier votre répertoire de travail local :
git fetch upstreamBasculez sur la branche main (ou master) de votre fork :
git checkout mainFusionnez les modifications du répertoire upstream dans la branche principale de votre fork :
git merge upstream/mainSi des conflits surviennent, Git vous avertira. Pour les résoudre :
git merge upstream/main-
Ouvrez les fichiers en conflit sur votre IDE. Vous verrez des marqueurs de conflit (fichiers en conflit indiqués en rouge) :
<<<<<<< HEAD // Vos modifications ======= // Modifications de upstream >>>>>>> upstream/main -
Modifiez manuellement les fichiers pour résoudre le conflit. Choisissez si vous voulez garder la version du upstream, votre version ou un mélange des deux.
-
Ajoutez les fichiers résolus :
git add <nom_fichier>
-
Finalisez la fusion :
git commit -m "Votre message pour le commit"Les étapes 3 et 4 peuvent également être faites en une étape pour ajouter tous les fichiers changés en même temps comme suit :
git commit -a -m "Votre message pour le commit"
Une fois la fusion terminée, poussez la branche main mise à jour vers votre fork :
git push origin mainBien joué, vous avez maintenant réussi à mettre à jour votre fork avec les nouvelles modifications ajoutées sur le répertoire original! ✅