Prog. des interfaces graphiques en C++ (PIG), ECL 2A/S8¶
Emmanuel Dellandréa & Stéphane Derrode
Lien vers le déroulé des séances.
Remarques introductives :
- Pour programmer en C++, nous utiliserons le logiciel QT dans sa license Educational. Merci de l’installer en suivant ce tuto.
- L’examen, sur papier, portera sur les connaissances acquises en programmation C++, et non sur l’usage de QT. Le savoir-faire et les compétences seront évaluées sur la base d’un projet en binôme.
Pdfs des cours et tutos spécifiques¶
- Emmanuel Dellandréa, Cours: Initiation à la programmation en C.
- Stéphane Derrode, Cours: Programmation en C++.
- Tutoriel #1: Comment faire communiquer Qml et C++ ?
- Tutoriel #2: Versioning avec Git. La dernière section de cette page donne quelques informations supplémentaires.
TD et BE¶
- Commencez par le tuto Comment créer un projet C++ avec QT Creator ?, et réalisez les exercices du BE #1: Démarrer la prog. en C++.
- BE #2: Séance 2. Corrigé Séance BE #2.
- BE #3: Séance 3. Corrigé Séance #3 : opérateurs, classe générique.
- BE #4: Séance 4. Exceptions #1, Exceptions #2, Exceptions #3. Corrigé Séance #4.
Projets en binôme¶
Vos projets seront évalués sur la base de la dernière version publiée sur gitlab le samedi 04/05/2024 à 9h00.
Consignes¶
- Le projet sera développé en binôme, sur un repository gitlab de l’école (cf. tutoriels ci-dessous), pour faciliter le travail de développement et d’intégration entre les deux étudiants.
- Le binôme doit appartenir au même groupe de TP (soit le groupe de Mr Dellandréa, soit le groupe de Mr Derrode).
- Chaque binôme renseigne, au début du projet, ce fichier partagé 2024 : dépôt des noms, des pseudos et de l’adresse du projet. ATTENTION Choisissez le bon onglet du fichier (et donc le bon groupe), en sélectionnant le nom de votre encadrant!
-
Votre repo Gitlab doit être privé, mais veillez à donner le statut de reporter à votre encadrant (cf. section Tutoriels git ci-dessous). Cela leur permettra de suivre à distance l’évolution de votre travail. Pour leur inscription, voici leurs pseudos :
- pour Stéphane Derrode : pseudo ‘sderrode’, stephane.derrode@ec-lyon.fr
- pour Emmanuel Dellandréa : pseudo ‘edelland’, emmanuel.dellandrea@ec-lyon.fr
-
Le projet devra être développé en utilisant les bonnes pratiques de développement présentées durant les cours (clarté du code, gestion propre de la mémoire allouée dynamiquement, gestion des exceptions…).
-
Le dépôt git doit contenir
- un fichier README.md contenant a minima le nom des concepteurs, et quelques explications (usage, pb recontrés, état de finalisation du projet, captures d’écran du jeu…)
- un fichier .gitignore permatant de ne suivre que les fichiers sources et non les fichiers compilés.
Projets à choisir¶
Vous devez choisir l’un des deux sujets suivants :
- Projet: le jeu du 2048.
- Projet: le Sudoku.
Quelque trucs pour utiliser git¶
- Tutoriel INF-TC2: git/Gitlab/Github Desktop, avec une vidéo du tuto.
Remarque : Le tuto ci-dessus est destiné à un projet Python. Pour un projet C/C++, vous devez adapter le fichier .gitignore, pour qu’il exclus tous les fichiers de compilation (qui n’ont pas à être suivi par git): voici un lien vers le .gitignore typique d’un projet C++. - github-git-cheat-sheet !