Introduction
Le projet PIN (Projet d'Informatique) à la HEIG-VD en HES d'été (3 semaines durant les vacances d'été entre la 1ère et la 2ème année), consiste en un projet conséquent à développer en équipe de 6 personnes. Le projet est imposé mais les équipes sont libres.
Le but général de ce document est d'éviter la frustration et d'accélerer le développement pour permettre aux équipes d'aller plus loin. Tout d'abord en évitant de perdre du temps avec la première installation des outils et en documentant certaines erreurs pour l'usage dans Qt Creator ou CLion. Ensuite en apprenant quelques conseils qui peuvent permettre d'éviter de perdre des heures voir des jours de développement sur du debug. En ajoutant quelques éléments dans l'interface qui facilitent les tests manuels, le debug manuel devient plus simple. En ajoutant des tests unitaires pour valider le fonctionnement des calculs de géométrie on peut s'assurer que la suite du projet se construit sur des bases solides.
Les tests manuels dans l'interface graphique sont très lents à exécuter et ne donnent que peu de contexte sur l'état interne. A chaque changement, il faut recompiler, exécuter, regénérer une timeline, sélectionner un fichier de timeline, le jouer, le rejouer pour revoir le moment particulier au milieu et zut ça ne marche pas encore... Il est crucial d'arriver à raccourcir la boucle de feedback pour une partie de l'implémentation
Au lieu de cette longue boucle très frustrante, les tests unitaires, permettent de réduire ce temps à moins de 3 secondes pour toutes les fonctions qui ont des entrées et sorties bien définies (comme tous les calculs de math, déplacement, angles, etc). Ils prennent forcément un peu de temps à mettre en place mais ce temps est vite récupéré. Cette cheatsheet aide aussi à la mise en place de Catch2 et un exemple de test pour faciliter l'intégration.
Certaines idées sur la gestion du projet avec Git et GitHub sont aussi partagées.
En quoi consiste le projet ?

TODO: ajouter GIF pour année 2026 TODO: ajouter exemple du CLI
Bon, si tu as les consignes tu sais déjà à quoi ressemble le projet...
Etapes du guide
- Première étape: Avoir un environnement de développement fonctionnel
- Deuxième étape: Prendre en main tout le code et les consignes
- Troisième étape: Mettre en place le projet GitHub
Tu as trouvé des erreurs ou des améliorations de cette cheatsheet ?? Contribue les par email (samuel.roland @ heig domain).