Qt Automotive Suite : Qt se positionne dans le domaine automobile

Qt est un framework complet, qui s’adapte très bien à diverses situations, notamment les systèmes informatiques d’infodivertissement embarqués dans les voitures actuelles (IVI). Plusieurs sociétés ont posé ce constat, après plus d’une vingtaine de projets achevés dans le domaine et des millions de véhicules équipés (la plupart des véhicules récents, notamment chez Fiat et ses filiales et chez Tesla, ainsi que sur le système Ford Sync 3). Lors de ces projets, ces sociétés ont créé divers outils et composants bien pratiques, mais chacune dans son coin : pour pousser Qt plus loin dans le domaine de l’IVI, il devenait important de réutiliser ces outils, pour que chacun puisse se spécialiser sans perdre son temps à développer cet environnement de travail depuis zéro. C’est ainsi qu’est né le projet Qt Automotive Suite, en partenariat entre la Qt Company, Pelagicore et KDAB : en rassemblant ces outils et composants, actuellement développés à gauche, à droite, sous une licence libre pour une bonne partie.

Une de leurs observations a été l’évolution du secteur : en quelques années, ces systèmes d’infodivertissement sont passés d’un affichage d’une à deux lignes couplé avec l’autoradio à des systèmes multimédias complexes, avec plusieurs écrans répartis dans l’habitacle. Le cycle de développement s’en est vu chamboulé : la sous-traitance complète de cette partie n’est plus possible, les constructeurs automobiles doivent s’intégrer plus dans le processus de développement, notamment afin de corriger les défauts qui ne deviennent visibles qu’en situation réelle. Une partie des outils de Qt Automotive Suite facilitent donc ce processus d’itérations rapides pour tester divers changements dans les applications — ce qui aide à fournir un produit fini de meilleure qualité.

Architecturalement, cette suite d’outils se compose d’une série de modules Qt, d’extensions à Qt for Device Creation (un outil propriétaire), d’un gestionnaire d’applications, en plus d’outils de développement, notamment intégrés à Qt Creator.

Gestionnaire d’applications et compositeur

Vu la taille des systèmes actuels, tout développer dans une seule application n’a pas vraiment de sens : le processus serait trop fragile. Les architectures modernes sont plutôt orientées multiprocessus, l’interface complète étant divisée en unités fonctionnelles relativement indépendantes. Un autre avantage est la simplification des mises à jour, puisque seules les parties de l’interface qui ont été modifiées doivent être transmises.

Ainsi, la suite comprend un gestionnaire d’applications, qui gère le cycle de vie complet de chaque application : installation, permissions accordées pour les diverses API, lancement et fermeture des applications, notamment quand les ressources disponibles deviennent trop faibles. Ce gestionnaire est intégré dans un compositeur Wayland, qui arrive en préversion technologique avec Qt 5.7 : ainsi, les concepteurs des interfaces pourront choisir exactement ce qu’ils veulent pour la répartition des applications sur les différents écrans disponibles.

Qt IVI : un accès aux API automobiles

Comme d’autres modules de Qt, IVI est prévu pour l’accès aux API spécifiquement développées pour le domaine automobile. Cette couche d’abstraction favorise la réutilisation de code par-delà les plateformes utilisées. Le même système d’extensions est utilisé qu’ailleurs dans Qt pour fournir l’accès aux API disponibles sur la plateforme courante. Il est aussi intégré au gestionnaire d’applications pour la vérification des permissions. Pour le moment, des implémentations sont disponibles pour GENIVI, QNX et AGL. Un module multimédia est en cours de développement, il devrait arriver fin du mois.

Outillage

Pelagicore a contribué au Qt Project l’un de ses outils dans le cadre de cette suite : QML Live. Il sert à mettre à jour très rapidement, en temps réel, une interface Qt Quick dans le cadre du développement : ainsi, expérimenter de nouvelles interfaces devient très facile.

Pour faciliter le débogage d’applications, KDAB a développé GammaRay pour l’introspection et la visualisation d’applications Qt. Dans le cadre de Qt Automotive Suite, l’outil sera profondément intégré dans Qt Creator, avec des extensions pour les parties IVI.

Disponibilité

Qt 5.7 est prévu pour la semaine prochaine, Qt Automotive Suite 1.0 devrait arriver peu de temps après (à la fin de ce mois). Le développement a lieu en grande partie selon le même modèle collaboratif que Qt, avec des dépôts Git accessibles au grand public, un espace de revue de code et une liste de diffusion pour le développement.

Sources et images : Announcing The Qt Automotive Suite, Branding by UX – Announcing Qt Automotive Suite.

Laisser un commentaire