Programmation des interfaces graphiques en C++¶
Année universitaire 2026–2027 — ELCa11 — S. Derrode & E. Dellandréa
Présentation¶
Cours de programmation orientée objet en C++, axé sur le développement d’interfaces graphiques avec Qt et QML. Volume de 32 h en présentiel, organisé sur 16 séances de 2 h :
- 4 séances de cours ;
- 8 séances de bureau d’étude (BE) ;
- 4 séances d’autonomie dédiées au projet.
Évaluation¶
| Modalité | Pondération |
|---|---|
| Projet en binôme | 50 % |
| Examen sur table | 50 % |
Annales : examen 2022-2023 · examen 2024-2025
Périmètre de l’examen sur table : l’examen porte exclusivement sur la programmation orientée objet en C++ (classes, héritage, polymorphisme, exceptions, surcharge d’opérateurs, templates — tout ce qui est vu dans les BEs #1 à #4). Il ne porte pas sur l’usage de Qt Creator (création de projet, configuration de l’IDE, débogage, etc.), ni sur la partie graphique Qt/QML (qui est évaluée à travers le projet).
Cours¶
Les supports des 4 cours sont regroupés dans un document unique : ELCa11-Cours-C++.pdf (4 sections, une par cours).
| Séance | Intitulé | Intervenant | Section du document |
|---|---|---|---|
| #1 | Initiation à la programmation C++ | E. Dellandréa | Cours 1 |
| #3 | Programmation orientée objet | S. Derrode | Cours 2 |
| #5 | Surcharge d’opérateurs et classes génériques | S. Derrode | Cours 3 |
| #7 | Gestion d’erreurs et héritage | S. Derrode | Cours 4 |
Bureaux d’étude¶
| Séance | Intitulé | Énoncé & ressources | Corrigé |
|---|---|---|---|
| #2 (BE #1) | Démarrer la programmation en C++ | Énoncé | — |
| #4 (BE #2) | Classe Damier (statique, dynamique) | Énoncé | |
| #6 (BE #3) | Surcharge d’opérateurs, classes génériques | Énoncé | |
| #8 (BE #4) | Exceptions, héritage | Énoncé · Exemples du cours : Exceptions1 · Exceptions2 · Exceptions3 |
Les corrigés sont publiés à l’issue de chaque séance. La séance #8 introduit également Git et la communication QML ↔ C++ ; les tutoriels associés sont listés plus bas.
Le projet¶
Réalisé en binôme, le projet occupe les séances #9 à #16. Il alterne travail en autonomie et BE de suivi, et s’appuie sur les tutoriels techniques ci-dessous.
Calendrier (séances #9 à #16)¶
| Séances | Type |
|---|---|
| #9, #11, #13, #15 | Autonomie |
| #10 (BE #5), #12 (BE #6), #14 (BE #7), #16 (BE #8) | Suivi du projet |
Tutoriels¶
Ressources techniques à mobiliser pour le projet (et introduites pour certaines lors du BE #4) :
- Installation de Qt
- Création d’un projet C++/Qt
- Création d’un nouveau composant QML
- Communication QML ↔ C++
- Git / GitLab
Sujets au choix¶
Modalités générales (livrables, critères d’évaluation, conseils) : readme du projet.