Micro-projet CSC4526/JIN4

Michel SIMATIC et Loïc JOLY

28 mai 2025

1 Introduction

La présente page donne des précisions par rapport au micro-projet JIN4 qui, cette année 2024-2025, pourra être réalisé en binôme ou en monôme (2 maximum).

2 Contraintes par rapport au projet

3 Bibliothèques externes

Votre application doit être développée avec SFML ou Qt.

NB : Votre application ne peut pas être développée avec :

Par ailleurs, votre application doit intégrer au moins une autre bibliothèque externe (que vous pouvez prendre ou non dans la liste ci-dessous). Elles vous permettront d’aller encore plus loin dans la réalisation de votre jeu :

Si vous trouvez une autre bibliothèque externe intéressante, SVP, postez ses références sur le Discord JIN4 pour la partager avec vos collègues et pour que nous complétions la présente liste.

4 Quelques ressources

5 Quelques conseils

5.1 Structure de votre projet

5.2 Fichier .gitignore

Le fichier .gitignore est un fichier texte qui doit être placé à la racine de votre projet. Il permet de spécifier les noms des répertoires et les fichiers qui doivent être ignorées par GIT (il n’y aura donc pas de suivi de version pour eux). Cf. cette documentation pour plus d’informations.

Dans le cas de votre micro-projet, nous vous recommandons de créer un tel fichier (avec un éditeur de texte) pour qu’il contienne au minimum les lignes :

# Ignore directories used by CLion for project generation
.idea
cmake-build-debug
# Ignore directory used by Visual Studio for project generation
.vs
out
# Ignore directory used by Visual Studio Code for project generation
.vscode
build

Vous éviterez ainsi de stocker inutilement dans votre dépôt GIT des informations liées à la construction de votre exécutable.

5.3 Bibliothèques SFML

Jusqu’à présent, vous n’avez eu besoin que de la bibliothèque graphique de SFML. Pour votre jeu, il est probable que vous utiliserez également ses fonctions sons, réseau ou autre. Vous aurez alors des erreurs à l’édition de liens, car il vous manquera des définitions de fonctions SFML. Faites alors les opérations suivantes :

option(SFML_BUILD_AUDIO "Build audio" OFF)
option(SFML_BUILD_NETWORK "Build network" OFF)
target_link_libraries(main PUBLIC lib_core pugixml sfml-system sfml-window sfml-graphics sfml-audio sfml-network)
target_link_libraries(lib_core PUBLIC pugixml sfml-graphics)
target_link_libraries(unitTests GTest::gtest_main lib_core pugixml sfml-system sfml-window sfml-graphics sfml-audio sfml-network)

6 Prochaines étapes

7 Grille d’évaluation (en cours d’affinage)

Par ordre décroissant d’importance :

  1. Fonctionnement de l’application
  2. Qualité de votre code
  3. Livraison du code en temps et en heure
  4. Bonne utilisation de GIT
  5. Bonne utilisation de 1 bibliothèque externe (en plus de SFML ou Qt)
  6. Qualité du jeu

8 Sujet

Avant de vous dévoiler le sujet, tenez compte de cette remarque préliminaire : une fois que vous aurez le sujet, vous allez avoir des idées de réponse. Hé bien, faites une “purge”, c’est-à-dire éliminez les 5 premières idées qui vous viennent. En effet, ce sont les idées les plus évidentes, donc les idées les plus susceptibles d’avoir été trouvées par d’autres collègues, ce qui serait dommage.

Et le sujet de cette année est :