Pré-requis : Avoir suivi la formation C++ ou notions équivalentes (Orienté objet en C++)
Objectifs : Comprendre l’écosystème Qt 6 et choisir une approche UI (Widgets / QML) - Mettre en place un environnement de dev Qt moderne avec Qt Creator et CMake - Structurer une application desktop maintenable (UI, logique, services) - Concevoir des interfaces Qt Widgets (layouts, actions, dialogues, ressources) - Maîtriser signaux/slots, événements et timers pour gérer l’interactivité - Exploiter le pattern Model/View (tri, filtre, édition) - Persister des données localement (SQLite/Qt SQL) et synchroniser l’UI - Intégrer une communication réseau simple (HTTP/JSON) si nécessaire - Garder l’application réactive (tâches de fond) selon les besoins - Ajouter les bases de tests/logs pour fiabiliser - Packager et livrer l’application sur un poste “propre” - S’ouvrir à Qt Quick/QML pour préparer une évolution future
Sanction : Attestation de fin de formation mentionnant le résultat des acquis
Référence : PRO871-F
Accessibilité : Si vous êtes en situation de handicap, nous sommes en mesure de vous accueillir, n'hésitez pas à nous contacter à referenthandicap@dawan.fr, nous étudierons ensemble vos besoins
Contact : commercial@dawan.fr
3 975,00 € HT
Comprendre l’écosystème Qt aujourd’hui (Qt 6, LTS, modules majeurs)
Choisir une approche UI : Qt Widgets, Qt Quick/QML, ou hybride
Identifier les composants d’une application desktop moderne (UI, logique, données, services)
Appliquer les bonnes pratiques de structure projet (dossiers, ressources, traduction, conventions)
Installer Qt et Qt Creator, gérer plusieurs kits (MSVC/MinGW/Clang, Linux, macOS)
Mettre en place un projet CMake moderne (cibles, ressources, plugins, options)
Comprendre le rôle de qmake et la migration vers CMake
Configurer l’exécution, le debug, et le profiling dans Qt Creator
Atelier fil rouge : créer le projet “DeskFlow” (application de gestion simple) et poser la structure CMake
Maîtriser les concepts QObject, hiérarchie parent/enfant, ownership et cycle de vie
Utiliser les widgets essentiels (fenêtres, layouts, formulaires, menus, barres d’outils, dialogues)
Gérer l’ergonomie avec les layouts (responsive desktop) et la mise à l’échelle (HiDPI)
Exploiter le système de ressources (qrc) et les icônes
Atelier fil rouge : écran principal, navigation, boîtes de dialogue et gestion des actions
Comprendre le mécanisme signaux/slots et les connexions modernes (fonctions/lambdas)
Utiliser l’event loop, timers, événements et eventFilter
Implémenter des interactions UI propres sans couplage excessif
Déboguer les connexions et éviter les pièges courants (threads, durée de vie, connexions multiples)
Atelier fil rouge : orchestrer les actions utilisateur, validation de formulaires, notifications UI
Séparer UI et logique métier (principes SOLID adaptés à Qt)
Mettre en place des services et un conteneur simple d’injection (factory, interfaces)
Gérer les dépendances et faciliter les tests (mock, découplage)
Introduire un pattern adapté au desktop (MVP/MVVM léger, controllers, services)
Atelier fil rouge : isoler la logique (services) et préparer l’extension future de l’application
Comprendre le pattern Model/View (QAbstractItemModel, vues, delegates)
Utiliser QStandardItemModel et construire un modèle simple sur mesure
Gérer tri, filtrage et recherche (QSortFilterProxyModel)
Gérer l’édition, la validation, et l’optimisation des rafraîchissements
Atelier fil rouge : liste/tableau des éléments “DeskFlow” avec tri, filtre, édition et delegate
Utiliser QSqlDatabase, requêtes, transactions, et gestion d’erreurs
Concevoir un schéma simple et versionner la base (migrations)
Mapper les données de façon pragmatique (DAO/Repository) sans sur-ingénierie
Sécuriser les accès (requêtes préparées) et améliorer les performances (index, transactions)
Atelier fil rouge : persister les données dans SQLite et synchroniser le modèle UI
Comprendre l’asynchrone dans Qt (callbacks, signaux, futures selon besoin)
Consommer une API HTTP avec QNetworkAccessManager
Manipuler JSON (QJsonDocument, QJsonObject) et gérer les erreurs de parsing
Gérer authentification, headers, timeouts, et stratégie de retry simple
Atelier fil rouge : connecter “DeskFlow” à une API REST (import/export ou synchronisation)
Distinguer thread UI et tâches de fond, éviter les blocages de l’event loop
Utiliser QThread de façon sûre, appliquer worker objects et signaux/slots thread-safe
Utiliser QThreadPool et tâches (QRunnable) pour les traitements courts
Protéger les données partagées (QMutex, QReadWriteLock) et prévenir les deadlocks
Atelier fil rouge : traitement long (export, calcul, import) avec progression et annulation
Mettre en place des tests unitaires avec Qt Test (ou framework externe selon contexte)
Tester services et modèles, isoler l’UI quand c’est nécessaire
Ajouter une stratégie de logging (QLoggingCategory, niveaux, fichiers)
Déboguer et diagnostiquer (assertions, analyse mémoire, crash dumps selon OS)
Atelier fil rouge : écrire des tests clés et ajouter un mode diagnostic (logs + export)
Comprendre le déploiement Qt (plugins, platforms, imageformats, SSL)
Préparer un packaging Windows/Linux/macOS (windeployqt, bundle, scripts CMake)
Gérer configurations Debug/Release et dépendances externes
Mettre en place une checklist de livraison (versionning, changelog, signature si nécessaire)
Atelier fil rouge : produire un exécutable livrable et valider sur une machine “propre”
Comprendre les cas d’usage pertinents de QML vs Widgets
Décrire une architecture hybride (C++ backend, QML frontend) sans réécriture complète
Exposer des objets C++ à QML (properties, signaux) et gérer la sérialisation JSON
Identifier les prochaines briques possibles (internationalisation, accessibilité, thèmes, plugins)
Atelier fil rouge : réaliser un écran prototype en QML connecté au backend C++
Le délai d’accès à la formation certifiante est de 7 jours après validation du dossier. Dans le cas d’un financement via votre CPF, la validation de votre dossier devra être réalisée 11 jours ouvrés avant le début de formation. Hors certification CPF, délais d'accès de une à trois semaines en fonction des sessions ouvertes.
Pour suivre une session à distance depuis l'un de nos centres, contactez-nous.
Aucune date de programmée actuellement. Pour plus d'information sur les prochaines sessions, nous vous invitons à joindre le service commercial par téléphone au 09 72 37 73 73 (prix d'un appel local) ou depuis notre formulaire de contact.