Qt Developer Days 2012

Lors des Qt Developer Days 2012 à Munich, un reporter de Developpez.com a pu assister à diverses conférences et a souhaité partager avec vous ces moments. Par la suite, les organisateurs ont publié toutes les vidéos des conférences de ces Qt Developer Days.

Vous pouvez aussi retrouver le reportage effectué pour l'occasion.

Bon visionnage !

- Titre : Qt Developer Days 2012

- Parution : 22 mai 2020

- Mise à jour : 22 mai 2020

- Licence : Copyright ® 2012 - 2020 Developpez.com LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Keynotes

- I-A. Bienvenue

- I-B. La roadmap : sur la route de Qt 5

- I-C. La projet qui vous a apporté Qt

- I-D. Qt et la plateforme BlackBerry 10

- I-E. Surprises Qt

- I-F. Discussions autour de Qt

- II. Sessions techniques

- II-A. Embarqué

- II-A-1. Le futur de Qt sur Linux embarqué

- II-A-2. Qt sur Raspberry Pi

- II-A-3. Porter Qt 5 sur des plateformes embarquées

- II-B. Réseau/cloud

- II-B-1. Qt et les API Google

- II-B-2. Qt et les services de cloud

- II-B-3. Quoi de neuf dans QtWebKit de Qt 5.0 ?

- II-B-4. Qt et les services Web

- II-B-5. Utiliser correctement SSL avec Qt

- II-B-6. Distribuer des applications QML par le réseau

- II-C. En profondeur

- II-C-1. Qt Core en détail

- II-C-2. Utiliser C++11 pour accélérer vos programmes Qt 5

- II-C-3. Créer des interfaces utilisateur Mac avec Qt

- II-C-4. QMetaType et QmetaObject en détail

- II-C-5. De bonnes intentions, sans garantie : utiliser Qt de façon inattendue

- II-D. Outils

- II-D-1. CMake et Qt

- II-D-2. Déboguer des programmes Qt multithread

- II-D-3. Qt Creator 101

- II-D-4. Débogueurs spécifiques au domaine

- II-E. Middleware

- II-E-1. Pourquoi vous devez être impatient pour Qt 5

- II-E-2. Accéder aux middlewares à partir de Qt, QML ou HTML5

- II-E-3. Applications Qt accessibles

- II-E-4. Le problème des middlewares : une histoire d'abstraction

- II-E-5. Créer des compositeurs de fenêtre avec le module Qt Wayland

- II-E-6. Addons Qt pour tout le monde : KDE Frameworks 5

- II-F. BlackBerry 10

- II-F-1. Développer avec Qt pour BlackBerry 10

- II-F-2. Connecter vos applications BB10 à Internet

- II-F-3. Comment Qt a aidé RIM pour créer BlackBerry 10

- II-F-4. BlackBerry 10 Cascades UI Framework : un autre aperçu

- II-G. QML

- II-G-1. Composants de bureau pour Qt Quick

- II-G-2. QML pour les applications desktop

- II-G-3. QML efficace : les meilleures pratiques de développement avec Qt Quick

- II-G-4. Sous le capot de Qt Quick

- II-G-5. Coder en QML : les outils pour la performance et le débogage

- II-H. Graphismes

- II-H-1. Techniques OpenGL moderne basées sur les shaders

- II-H-2. OpenGL et Qt 5

- II-I. Qt au jour le jour

- II-I-1. Porter une application Qt Windows sur Mac

- II-I-2. Faire le bon choix de licence lors d'un développement avec Qt"

I - Keynotes

I-A - Bienvenue

Quelques mots de bienvenue par Kalle Dalheimer pour ouvrir les conférences.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/VKDiap_6wGo

I-B - La roadmap : sur la route de Qt 5

Lars Knoll montre ce que nous réserve le futur avec Qt 5.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/3QgG9oYhH-c

I-C - La projet qui vous a apporté Qt

Thiago Maciera décrit le modèle de gouvernance ouverte et les résultats de la première année.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/2IlaLVX8yO0

I-D - Qt et la plateforme BlackBerry 10

Présentation de ce que sera la plateforme BlackBerry 10 et l'intégration de Qt.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/K_N2B3KTSvc

I-E - Surprises Qt

Quelques surprises de Qt.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/2hE-Oo4ltJg

I-F - Discussions autour de Qt

Une discussion de quelques acteurs de Qt à propos de son avenir.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/2hE-Oo4ltJg

II - Sessions techniques

II-A - Embarqué

II-A-1 - Le futur de Qt sur Linux embarqué

Une présentation par Lars Knoll de l'orientation de Qt pour les plateformes embarquées.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/Mr9P3sPGqw0

II-A-2 - Qt sur Raspberry Pi

Cette séance présente le Raspberry Pi, une plateforme de calcul à faible coût. On y verra comment la plateforme peut être un environnement de développement et donnera le statut actuel de Qt 4 et Qt 5 pour Raspberry Pi.

On commencera par un aperçu de ce qu'est Raspberry Pi, la fondation sans profit derrière ce projet ; on donnera une description du matériel et des logiciels de la plateforme.

Ensuite, on étudiera le portage de Qt sur le Raspberry Pi, notamment la distribution Linux QtonPi et les pilotes. On regardera l'état actuel du support des versions 4 et 5 de Qt pour le Raspberry Pi.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/4tM1TRUtfQE

II-A-3 - Porter Qt 5 sur des plateformes embarquées

Cette présentation donne un bref aperçu des étapes nécessaires pour exécuter Qt 5 sur du matériel embarqué.

On parlera plus particulièrement de Linux embarqué, mais les concepts généraux peuvent s'appliquer à tout autre système.

La présentation portera sur les outils de configuration, expliquant comment mettre en place un système de fichiers racine et un environnement sysroot et présentera aussi la compilation croisée avec les mkspecs correspondants.

La seconde partie portera sur les plug-ins QPA tels que l'accélération matérielle avec OpenGL.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/4tM1TRUtfQE

II-B - Réseau/cloud

II-B-1 - Qt et les API Google

Présentation d'une possibilité de couplage des bibliothèques Google avec Qt.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/Y6AM1a1_OFM

II-B-2 - Qt et les services de cloud

Cette présentation pointera les différents services de nuage () et les possibilités de l'utilisation de ressources du nuage du point de vue des applications Qt. Ce framework possède beaucoup de fonctionnalités pour utiliser un stockage dans le nuage. Depuis les récents ajouts dans son code source, il est encore plus facile d'utiliser les API d’interaction avec les nuages basés sur REST. Un des éléments-clés pour le futur est de réfléchir sur la façon de rendre l'accès au nuage encore plus simple pour les développeurs de Qt d'un point de vue de l'API et des outils.

La présentation montrera les premiers résultats d'un projet de recherche de création d'API pour accéder aux services des différents fournisseurs (tels que Amazon AWS et Microsoft Azure). La présentation comportera aussi une présentation des back-ends comme concept de service permettant une création facile de back-ends d'application avec la possibilité de créer des schémas de données dynamiques, des utilisateurs et des gestions de droits.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/O_QkohHZ45s

II-B-3 - Quoi de neuf dans QtWebKit de Qt 5.0 ?

La plateforme Web continue d'évoluer à très grande vitesse. Suivant la philosophie que le contenu est roi, WebKit excelle tant à la présentation qu'à l'interaction avec le contenu Web. Avec le port de WebKit vers Qt 5, ces dernières technologies Web arrivent dans l'univers Qt.

Cette présentation montrera la nouvelle architecture plus aérodynamique prévue pour Qt 5, qui met en avant l'objectif de fournir un affichage encore plus rapide et des interfaces utilisateur plus réactives.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/xEuapSGxaeU

II-B-4 - Qt et les services Web

L'interfaçage avec les services Web devient courant dans le développement : recherche d'informations sur AWS, connexion à un service de musique en ligne, consulter la météo ou intégrer Facebook ou Twitter.

De plus en plus de développements d'applications sont effectués comme sous-partie d'un système plus important.

Cette présentation couvrira les différents types de services Web (XML-RPC, SOAP, RESTful), l'authentification (OAuth, xAuth), expliquera pourquoi les standards sont bons et comment utiliser Qt pour l'interfacer aux services Web par le biais d'exemples.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/_A6GFU6LkRI

II-B-5 - Utiliser correctement SSL avec Qt

Qt fournit un support de TLS/SSL avec la classe QSslSocket et le support de HTTPS avec QNetworkAccessManager. Malheureusement, SSL est complexe et, bien que Qt soit capable d’en cacher un peu les détails, l'utilisation de ces classes oblige les développeurs à prendre des précautions, particulièrement lors de la gestion des nombreux types d'erreurs possibles. Cette présentation a pour objectif de montrer comment vous pouvez gérer les différentes classes d'erreurs correctement, des erreurs de validation des certificats en passant par les retours aux anciennes versions de SSL lorsque la connexion aux serveurs est boguée comme cela peut arriver avec les accélérateurs SSL.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/btLCVoEuEr8

II-B-6 - Distribuer des applications QML par le réseau

Le support transparent du réseau avec Qt Quick facilite la création d'interfaces utilisateur et de leur logique tout en reposant sur le réseau. Cela permet aux développeurs d'applications d'adopter le style de publication rapide du web, mais, aussi, cela requiert une préparation préalable. La présentation soulignera les bénéfices de desservir une application QML par le réseau, donnera un aperçu de la transparence du réseau avec QML et illustrera la façon de construire et de desservir les applications QML. La présentation montrera aussi quelques challenges rencontrés dans le vrai monde du déploiement d'applications.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/NESnTYVJxxU

II-C - En profondeur

II-C-1 - Qt Core en détail

Le but de cette présentation est de familiariser les développeurs Qt avec le fonctionnement de la bibliothèque au cœur de Qt. Elle portera donc sur son fonctionnement interne, avec des sujets tels que l'implémentation des conteneurs, le système de métatypes, la classe QObject avec les signaux et slots, la boucle événementielle ainsi que le mécanisme de traitement des événements. La session couvrira Qt 4 et les changements apportés par Qt 5.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/vixQxXCVR10

II-C-2 - Utiliser C++11 pour accélérer vos programmes Qt 5

Qt 5 fournit un support de C++11 bien plus avancé. Cette présentation montrera des techniques pour que vos applications prennent moins de place en mémoire ou s'exécutent plus vite avec un compilateur C++11. Elle se focalisera sur des techniques qui ne cassent pas la compatibilité avec C++98. Après un coup d'œil au support de C++11 dans Qt 5.0, elle se finira sur ce que l'on peut attendre de Qt 5.1.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/sajBj_eiH10

II-C-3 - Créer des interfaces utilisateur Mac avec Qt

Cette présentation dévoile quelques astuces, outils et techniques permettant de convertir les interfaces utilisateur génériques en interfaces natives Mac. Ainsi, les utilisateurs d'OS X arrêteront de se plaindre que votre application « ne va pas ». Brièvement, nous discuterons de l'évolution de Qt 5, notamment des Qt Quick Desktop Widgets. La plus grande partie de la présentation se concentrera sur les astuces telles que la barre d'outils unifiée, la personnalisation des polices et de leur taille ainsi que les boutons groupés. Des discussions porteront sur l'intégration dans l'espace (dont les espaces plein écran) et le travail potentiel sur la gestion des documents.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/W8D37PPVl7k

II-C-4 - QMetaType et QmetaObject en détail

Une des pierres angulaires de Qt est le système de communication entre les instances d'objets dans une relation plusieurs à plusieurs. Le système de signaux et slots est connu par tous les utilisateurs de Qt et peut être utilisé pour indiquer lorsque quelque chose se produit dans une interface, sur le réseau ou dans un autre sous-système. Les données peuvent être transférées avec ces connexions pour créer un réseau riche d'objets tout en suivant le patron observateur.

Le système de Qt dépend d'un générateur de code pour créer des connexions valides entre les objets, mais ce même générateur de code fournit aussi des fonctionnalités comme l'introspection ou la construction dynamique d'instances. En parallèle, Qt fournit une classe pour stocker une instance de n'importe quel type, QVariant, ainsi qu'un système pour enregistrer des types définis par l'utilisateur, le système QMetaType. Ces fonctionnalités ne dépendent pas d'un générateur de code externe, mais reposent sur le préprocesseur, la spécialisation de templates et les unions C++.

La présentation débutera par un résumé des fonctionnalités et des cas d'usages et parlera des détails d'implémentation de ces pierres angulaires dans Qt. Les possibilités et les améliorations en relation avec ces fonctionnalités apportées par le C++11 seront aussi montrées.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/b8m1vuKfruM

II-C-5 - De bonnes intentions, sans garantie : utiliser Qt de façon inattendue

Qt est livré avec plusieurs frameworks puissants, des implémentations de patrons de conceptions, des meilleures pratiques et des paradigmes d'API. Souvent, cela correspond très bien aux besoins des utilisateurs mais, quelquefois, il arrive qu'il soit plus intéressant de les utiliser différemment que ce pour quoi ils ont été conçus. Cette présentation prendra des exemples tels que l'utilisation du framework modèle/vue de Qt comme sous-module d'un autre contexte MVC, l'utilisation d'un QThread comme contexte d'exécution pour les objets actifs au lieu d'une simple classe de charge de travail, comment et quand utiliser boost::serialization ou les Protocol Buffers de Google avec la couche d'entrées-sorties de Qt, comment abuser intelligemment du système de propriétés, etc.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/6OZJvSlXn_s

II-D - Outils

II-D-1 - CMake et Qt

CMake est un moteur de compilation multiplateforme grandement utilisé dans les projets C++ importants (par exemple, LLVM/Clang, KDE, MySQL, SecondLife). Il peut être utilisé pour générer des fichiers de projet pour Visual Studio et Xcode ainsi que des fichiers Makefile spécifiques à certaines plateformes.

CMake permet à des tiers de gérer rapidement et d'utiliser n'importe quelle dépendance du projet. L'outil fournit plusieurs points d'intégration pour qu'il soit facile d'utiliser Qt du point de vue de l'édition de liens, des inclusions, du moc et des fichiers ui.

Cette présentation montrera comment CMake peut être utilisé pour compiler des projets Qt, quelles sont les différences avec qmake et discutera des fonctionnalités supplémentaires à venir qui rendent la compilation avec Qt 4 et 5 plus facile.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/GJ0kMsLbk6Q

II-D-2 - Déboguer des programmes Qt multithread

Écrire du code multithread, c'est facile… le faire mal encore plus ! Cette présentation montrera les erreurs classiques dans les programmes multithreads écrits avec Qt, le débogage des conditions de course et les interblocages en utilisant Qt, GDB et l'outil « Helgrind » fourni par Valgrind. Finalement, une solution pour tester le thread-safety d'une classe sera présentée.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/N9X6AJckIG8

II-D-3 - Qt Creator 101

Qt Creator est un puissant environnement de développement intégré (EDI) multiplateforme, créé sur mesure pour le développement Qt en C++ mais aussi avec QML. Il intègre un constructeur d'interfaces utilisateur, un système d'aide et un puissant éditeur de code avec gestion des systèmes de versionnage et le support des systèmes de compilation les plus populaires. Il simplifie le développement multiplateforme, que ce soit pour les applications bureau, les plateformes embarquées ou les systèmes mobiles.

Cette présentation fournira une courte introduction à Qt Creator, une démonstration d'une compilation pour différentes plateformes dans l'EDI et surlignera les nouvelles fonctionnalités de Qt Creator 2.6.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/s7PgHmuFaGY

II-D-4 - Débogueurs spécifiques au domaine

Utiliser (ou créer) des frameworks de plus en plus abstraits permet d'implémenter des tâches complètes rapidement et efficacement. Par contre, le débogage de code en utilisant de tels frameworks avec des débogueurs traditionnels, qui travaillent au niveau de l'instruction, peut devenir embarrassant et être une source de confusion à cause des détails d'implémentation du framework. Les outils de débogage spécifiques au domaine d’utilisation peuvent comprendre l'abstraction et aider à la garder succincte.

Le débogage d'un QAbstractItemModel avec GDB ou en suivant la chaîne d'événements dans une application en utilisant les QIODevice asynchrones dénonce la vue trop bas niveau des débogueurs traditionnels. Face à cela, les développeurs se tournent vers d'autres approches, telles que l'utilisation du printf. Bien que simple et efficace, cette méthode nécessite la modification du code et la recompilation. Pire, il faut le faire à chaque fois. À la place, les débogueurs spécifiques au domaine permettent aux développeurs d'éviter l'instrumentation manuelle tout en fournissant des méthodes puissantes pour la visualisation et l'analyse.

Cette présentation parlera des outils de débogage haut niveau déjà existants pour Qt, en commençant par la simple introspection de QObject à la surveillance des machines à états et des communications interprocessus. Plus important, nous regarderons les façons de créer des outils de débogage pour vos propres applications basées sur Qt ou sur d'autres frameworks.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/9hEfuEXubfQ

II-E - Middleware

II-E-1 - Pourquoi vous devez être impatient pour Qt 5

Vous savez que Qt 5 va bientôt sortir et vous vous rappelez toujours du travail qu'il a fallu pour passer de Qt 3 à Qt 4. Vous avez entendu de bonnes choses à propos de Qt 5, mais vous n'êtes pas certain d'être intéressé ? La transition vers Qt 5 n'est pas comme celle vers Qt 4. Architecturé et développé avec l'objectif précis de garder la plus grande compatibilité par rapport aux sources et aux comportements, les premiers testeurs ont rapporté que la transition est sans douleur. De plus, Qt 5 apporte de multiples corrections et améliorations qui ne pouvaient être effectuées auparavant. Il apporte de nouvelles fonctionnalités sur la table, définissant le niveau pour les cinq prochaines années à venir et même plus.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/HMcQM51FPFI

II-E-2 - Accéder aux middlewares à partir de Qt, QML ou HTML5

Dans la plupart des applications industrielles ayant des interfaces embarquées, il est nécessaire d'accéder à des middlewares personnalisés. Généralement, l'équipe s'occupant des fonctionnalités du middleware n'est pas la même que celle qui développe l'interface utilisateur. Afin d'intégrer les deux parties, une bonne architecture et API sont requises, dans l'objectif de faire fonctionner les deux modules ensemble sans peine et d'être flexible pour le futur.

Cette présentation discutera de la façon d'architecturer les accès au middleware et ce qu'il faut faire pour les différentes méthodes d'implémentation d'interfaces utilisateur dans Qt 5. Le middleware fournit des fonctionnalités à travers des API C ou C++ ou même à travers une communication interprocessus et réseau. Des exemples de widgets Qt, QML et Qt WebKit avec une interface HTML5 seront présentés, tirés de projets du monde réel.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/tFL83T5P6sE

II-E-3 - Applications Qt accessibles

Dans les temps modernes, l'accessibilité est devenue un facteur important dans le développement d'une application. Le framework d’accessibilité propose une représentation alternative à l'utilisateur des applications et Qt 5 porte une attention particulière aux détails, l'expérience a été améliorée sur les environnements de bureau en comparaison à Qt 4. Cette présentation offrira un aperçu des améliorations de Qt 5, des avertissements et des conseils afin d'être conscient d'offrir une expérience douce pour tous les utilisateurs. Un rapide aperçu des outils pour tester vos applications est donné. Les applications basées sur QWidget ainsi que les applications Qt Quick seront considérées.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/Dl9AB1IEQRc

II-E-4 - Le problème des middlewares : une histoire d'abstraction

Qt possède une longue histoire de succès et d'échecs lors de l’interaction avec les middlewares, tels que Phonon, Qt Multimedia, Qt Mobility et d'autres. L'histoire d'un middleware tourne uniquement autour de l'abstraction : pouvons-nous réellement trouver la panacée qui correspond à nos besoins avec une seule API ou devons-nous admettre l'évidence que programmer une seule fois et déployer partout n'est vrai qu'en appliquant quelques contraintes ?

Cette présentation tourne autour du passé, du présent et du futur du sujet pour les communautés de Qt et de KDE. KDE résout une partie de ce problème en utilisant une architecture à deux couches pour correspondre aux besoins de tous les développeurs.

En réalité, lorsque la plupart des développeurs n'ont besoin que d'une petite sous-partie des fonctionnalités offertes par la plateforme, il est aussi vrai que quelques applications plus complexes devraient être supportées sans avoir recours à des solutions qui sortent de « l'écosystème de Qt ». Quelques solutions de KDE, telles que Solid et KAuth, utilisent un mécanise de « lien et abstraction » pour fournir une API générique et utilisable pour les besoins de la plupart des développeurs. Une interface complète Qt est toujours présente pour chaque fonctionnalité exposée par la plateforme du choix des développeurs qui ont besoin d'aller plus loin.

Vous allez voir ce qui a été fait et ce qui est prévu de faire tout en parlant des difficultés trouvées (passées et présentes). Heureusement, ces idées vous aideront dans la conception de votre prochain composant middleware pour Qt ou pour choisir celui qui vous correspond le mieux.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/X1AeSr46PPA

II-E-5 - Créer des compositeurs de fenêtre avec le module Qt Wayland

Le système de gestion des fenêtres pour les plateformes embarquées (QWS) a été supprimé dans Qt 5 et ses fonctionnalités ont été remplacées par le module Qt Wayland. Cette présentation démontrera comment Qt Wayland fournit une méthode pour implémenter les compositeurs Wayland ainsi qu'une méthode pour exécuter les applications Qt 5 dans les compositeurs Wayland actuels.

La présentation explique aussi le processus pour écrire des compositeurs de fenêtre personnalisée en utilisant l'API QtCompositor et ce qui doit être fait pour que Qt Wayland fonctionne sur une nouvelle machine. En bonus, la présentation montrera comment tirer profit de Qt Quick 2.0 pour créer une expérience unique pour l'utilisation des environnements multiapplications Linux embarqué.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/jLiSEmtRvGs

II-E-6 - Addons Qt pour tout le monde : KDE Frameworks 5

La version 5 des frameworks KDE approche et rendra le code créé pour les bibliothèques KDE disponibles pour tous les développeurs Qt. Quelques fonctionnalités ont été déplacées dans Qt 5 et le reste sera disponible dans des frameworks séparés, tout en ayant reçu un effort supplémentaire pour les rendre modulables et indépendants.

Cette présentation sera dirigée par les développeurs d'applications Qt, afin de leur montrer ce que les frameworks KDE peuvent apporter. On retrouvera le support du ZIP/TAR, la détection d'inactivité, le tracé, la détection matérielle, la transparence du réseau (VFS) ainsi que des widgets, des classes de modèle d'éléments et bien plus encore… et tout cela en LGPL.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/qX2aSCNQS60

II-F - BlackBerry 10

II-F-1 - Développer avec Qt pour BlackBerry 10

La présence de Qt sur le BlackBerry 10 a été le sujet d'une keynote par RIM aux Qt Developer Days 2011. Beaucoup de temps a passé depuis et aussi beaucoup de travail a été réalisé. Cette présentation vous donnera un aperçu des développements récents de Qt sur BlackBerry 10 et discutera des plans futurs. Dans cette session vous apprendrez aussi les aspects-clés de WNX comme base de toutes les applications natives sur la plateforme BlackBerry 10. Vous verrez en action les outils de développement pour le BlackBerry 10 et apprendrez comment les utiliser pour vos propres développements. RIM montrera comment ils ont collaboré avec Qt en interne et quelles parties sont utilisées dans BlackBerry 10.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/qX2aSCNQS60

II-F-2 - Connecter vos applications BB10 à Internet

Qt est un back-end de choix pour les applications BlackBerry 10. Cette présentation suppose que vous savez construire des interfaces utilisateur fantaisistes avec Cascades ou simplement avec Qt et se penchera sur la façon de connecter votre application à Internet : récupérer des données à partir de Twitter ou Facebook sera l'un des points abordés mais aussi la réalisation de requêtes bas niveau (TCP ou UDP). Des sujets avancés tels que SSL seront aussi rapidement expliqués.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/EpQJvMDh3so

II-F-3 - Comment Qt a aidé RIM pour créer BlackBerry 10

Qt est la base du développement natif en C++ sur BlackBerry 10. Venez apprendre plus sur le nouveau système d'exploitation mobile de RIM et comment Qt a été intégré. La présentation montrera ce qui a été emprunté, ce qui a été modifié et ce qui a été créé pour réaliser une plateforme complète. Au fur et à mesure un aperçu des nouvelles API introduites pour BlackBerry 10 sera fait. La session finira par une discussion sur la façon dont RIM peut mieux participer à la communauté Qt.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/f2nKK1XBsR4

II-F-4 - BlackBerry 10 Cascades UI Framework : un autre aperçu

Cascades est l'interface graphique disponible sur BlackBerry 10 et cette présentation donne un aperçu de son utilisation.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/z_AeoeMV-nA

II-G - QML

II-G-1 - Composants de bureau pour Qt Quick

Présentation de composants QtQuick pour bureau et de ce qu'il est possible de faire avec QML.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/Y1pqL5bXe0A

II-G-2 - QML pour les applications desktop

QML met en avant le design déclaratif des interfaces graphiques pour les applications. Malgré cela, l'utilisation de QML sur desktop est marginale. Il est probable que cela soit dû aux difficultés pour lier les structures de données Qt et gérer les comportements comme la sélection, le glisser/déposer et même effectuer certaines optimisations. Pourtant, QML a été utilisé dans une application desktop 3D, hautement interactive pour l'optimisation d'usine. Pour cela, plusieurs stratégies ont été développées afin de permettre des expériences QML riches et cohérentes sur le desktop. Celles-ci vous seront présentées.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/kvWeE3kurEQ

II-G-3 - QML efficace : les meilleures pratiques de développement avec Qt Quick

Cette présentation montrera de nombreux sujets liés à Qt et Qt Quick, dont le QML pour les personnes qui souhaitent développer rapidement des GUI sur des périphériques ayant des écrans tactiles mais aussi pour desktop. Qt Quick fournit des éléments réutilisables pour répondre aux gestes et un langage déclaratif haut niveau pour définir des animations vives et fluides.

Comme avec toute nouvelle technologie, les développeurs et designers commencent la découverte des bonnes pratiques et astuces en QML. Avez-vous déjà été dans un projet (ou entendu parler d'un projet) utilisant cette technologie et qui ne va pas bien sur le matériel cible ? Avez-vous déjà entendu parler de QML comme uniquement bon pour du prototypage et pas pour l'application finale ? Qu'en est-il du développement pour bureau ? Est-il sensé d'utiliser QML pour cela ? Dois-je écrire mon application avec les QWidget, QGraphicsView ou Qt Quick ? Est-il possible de ne pas avoir de C++ du tout ?

Ce sont des questions communes entendues par les programmeurs et les designers dans les tranchées et un des objectifs de cette présentation est d'aider à y répondre.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/m_-8B4acawE

II-G-4 - Sous le capot de Qt Quick

De nombreux développeurs savent comment utiliser Qt Quick mais ne savent pas comment il fonctionne en interne. Cette présentation apporte de la lumière sur les rouages de Qt Quick. Pour les contributeurs Qt, cela donne un aperçu global comme point de départ et les utilisateurs Qt vont apprendre quelle est la magie utilisée par leurs applications.

Plusieurs aspects de Qt Quick seront examinés : comment le chargement de fichier QML fonctionne, comment les liaisons de propriétés fonctionnent, comment les interactions C++/QML sont réalisées et plus encore.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/NtXSaYpqaSQ

II-G-5 - Coder en QML : les outils pour la performance et le débogage

Avec Qt 5, Qt Quick est conseillé pour créer des interfaces modernes, fluides ainsi que des applications. Bien que Qt Quick soit facile à utiliser, il souffre du syndrome Pareto (règle des 80/20) et avoir son propre ensemble d'outils pour analyser et corriger est devenu une nécessité. La présentation montrera l'utilisation des divers outils Qt Quick. L'éditeur fournit une navigation dans le code, l'autocomplétion et la validation mais aussi l'aide contextuelle ainsi que d'autres fonctionnalités. Le profiler analyse l'application et fournit des statistiques de performances. Le débogueur peut être utilisé pour définir des points d'arrêt, avancer à travers le code et inspecter les variables. L'inspecteur aide avec l'inspection et la modification des objets QML et des propriétés. Les API Console peuvent être utilisées pour mettre des messages dans des journaux d'événements, des cheminements dans le code, asservir des expressions, afficher des listes d'appels, etc. La console fournit une méthode pour évaluer des expressions lorsque l'application est en train d'être déboguée. L'aperçu expérimental en live met à jour l'application à la volée au moment de la modification du code.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/mPXn6L2Wftc

II-H - Graphismes

II-H-1 - Techniques OpenGL moderne basées sur les shaders

OpenGL moderne abandonne le vieux pipeline démodé contre un pipeline programmable utilisant les shaders et les buffer objects. Cela offre beaucoup plus de flexibilité aux développeurs et ouvre les portes à un grand nombre d'effets et de techniques tout en permettant d'énormes améliorations de performance.

Cette présentation vous enseignera le pipeline OpenGL moderne et vous montrera comment créer des applications basées sur les shaders OpenGL moderne avec Qt 5. Une démonstration d'une technique de rendu plus avancée que le modèle basique de l'ancien OpenGL sera effectuée.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/VxsS7u-vgc8

II-H-2 - OpenGL et Qt 5

Qt 5 introduit un meilleur support OpenGL grâce à l'abstraction QPA/Lighthouse et cela à travers un nouvel ensemble de classes OpenGL partagées par Qt Quick 2 et Qt3D. OpenGL est aussi très utilisé pour les jeux et comme widget central de contenu pour les applications desktop. Avec l'arrivée de Qt Quick 2 il est maintenant facile d'écrire des interfaces utilisateur complètes exploitant la puissance d'OpenGL.

Cette présentation vous fera découvrir le support d'OpenGL dans Qt 5 et vous montrera comment l'utiliser dans divers scénarios.

Si le temps le permet, quelques goodies liés à OpenGL dans les futures versions de Qt 5 seront partagés.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/GYa5DLV6ADQ

II-I - Qt au jour le jour

II-I-1 - Porter une application Qt Windows sur Mac

Cette présentation montrera les expériences reçues en portant une application existante, basée sur Qt, de Windows à OS X. À quel point cela peut être compliqué lorsque celle-ci utilise un mélange de code Qt, STL, MFC et WinAPI et qu'il faut la porter sur OS X. Un aperçu des problèmes rencontrés lors du portage de l'application sera donné, ainsi que les solutions trouvées. L'ensemble du processus, de l'estimation des coûts à la sélection du système de compilation pour mettre l'application sur l'AppStore sera décrit.

La présentation se tiendra en collaboration avec KDAB, fournisseur des services pour ce projet, aidant à porter l'application sur OS X.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/npI2pYb-cWs

II-I-2 - Faire le bon choix de licence lors d'un développement avec Qt"

Cette présentation montrera comment choisir la licence pour son projet Qt.

Animation en format "youtube" non supportée.
Contenu uniquement consultable en ligne à cette adresse :
http://www.youtube.com/v/5HWBaHAvjoo