Déployer dans le Bazaar

| Harald Fernengel | traducteur : Thibaut Cuvelier | Qt Quarterly |

Le déploiement d'applications sous Linux peut, quelques fois, être plutôt fastidieux. En effet, il faut supporter des myriades de distributions et des pléthores de librairies. Sans doute connaissez-vous un magasin d'ameublement suédois, qui doit faire la même chose. Voici sa solution : amener les quelques pièces nécessaires à l'utilisateur, et le laisser les assembler seul. Malheureusement, les instructions d'assemblage pour un logiciel ne sont pas souvent aussi polyvalentes que celles de Billy l'étagère.

Cet article est une traduction autorisée de Deploying to the Bazaar, d'Harald Fernengel.

Commentez

- Titre : Déployer dans le Bazaar

- Auteurs : Harald Fernengel, traducteur : Thibaut Cuvelier, Qt Quarterly

- Parution : 12 août 2009

- Mise à jour : 1 août 2011

- Licence : Copyright ® 2006 Harald Fernengel. 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. L'article original

- II. Déploiement sous Linux

- III. Divers

I - L'article original

Qt Quarterly est une revue trimestrielle électronique proposée par Nokia à destination des développeurs et utilisateurs de Qt. Vous pouvez trouver les versions originales.

Nokia, Qt, Qt Quarterly et leurs logos sont des marques déposées de Nokia Corporation en Finlande et/ou dans les autres pays. Les autres marques déposées sont détenues par leurs propriétaires respectifs.

Cet article est la traduction de l'article Deploying to the Bazaar d'Harald Fernengel paru dans la Qt Quarterly Issue 18.

Cet article est une traduction d'un des tutoriels écrits par Nokia Corporation and/or its subsidiary(-ies) inclus dans la documentation de Qt, en anglais. Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia.

II - Déploiement sous Linux

Depuis 2004, Trolltech (devenu depuis Nokia) supporte activement la LSB, Linux Standard Base (base standard de Linux). Cette LSB définit une ABI, Application Binary Interface (interface binaire pour applications), qui garantit qu'une application compatible avec la LSB pourra être utilisée sur toutes les distributions compatibles avec la LSB. Actuellement, la majorité des distributions Linux sont certifiées LSB ou en passe de l'être.

Qt 3.1 devint une partie intégrante du standard dès la LSB 3.1 (NdT : Qt 4.2 dès la LSB 3.2). Pour créer des applications compatibles avec la LSB, vous aurez besoin du SDK disponible sur le site de la Linux Foundation. Vous devrez, après l'installation, ajouter le répertoire /opt/lsb/bin à votre variable d'environnement PATH. Ensuite, les projets Qt peuvent être reconstruits avec les habituels qmake et make.

Désormais, la compilation sera effectuée par lsbc++, un wrapper de g++ qui s'assurera que seules des fonctions compatibles avec la LSB sont appelées. L'exécutable ainsi produit s'exécutera sans problème sur tous les systèmes compatibles avec la LSB, sans que la moindre modification soit apportée sur le système-client.

Les dernières versions de Qt ne sont que des modules optionnels du standard, qui pourraient devenir obligatoires dans les versions supérieures. Ceci signifie que, si vous avez besoin d'une version de Qt supérieure à celle de la LSB, le client devra installer un paquet supplémentaire qui contient la version de Qt nécessaire. La majorité des distributeurs en proposent. Les outils d'installation des paquets résoudront sans problème ceci, en résolvant les dépendances.

Si vous n'utilisez pas qmake pour la génération de vos projets, vous devrez prêter une attention particulière au compilateur utilisé. En effet, pour être sûr de la compatibilité avec la LSB, il vous faut utiliser lsbc++, et non g++. Par exemple, avec les GNU Autotools, vous pouvez modifier les variables d'environnement CC et CXX, respectivement pour les compilateurs C et C++.

La documentation, disponible sur son site, contient un chapitre dédié au packaging de votre application. Actuellement, seul le format RPM est supporté pour la création et l'installation de paquets, ce qui n'est pas sans déplaire aux distributions basées sur Debian. Il existe l'outil alien qui permet de pallier la différence de format de paquets. Ce problème devait être fixé pour la LSB 3.2, sortie en janvier 2008. Les trois années qui la séparent de la 3.1 n'ont pas suffit à régler le problème, et la 4.0, de novembre de la même année, n'y est pas parvenue, non plus.

NdT : alien ne fonctionne pas toujours, parce que les formats RPM et DEB ne sont pas parfaitement compatibles. L'un contient des fonctionnalités que l'autre n'a pas, et vice versa. Ce qui fait que la conversion n'est pas toujours possible.

NdT : le système est obligé par le standard à pouvoir utiliser les RPM. Cependant, il n'est jamais précisé que RPM doit impérativement être utilisé par le système, qui reste libre d'utiliser un autre système de gestion des paquets.

La LSB crée, petit à petit, une plateforme pour les vendeurs indépendants de logiciels (1)

III - Divers

J'adresse ici de chaleureux remerciements à Baptiste Wicht pour sa relecture !

Au nom de toute l'équipe Qt, j'aimerais adresser le plus grand remerciement à Nokia pour nous avoir autorisé la traduction de cet article !

(1) (ISV, Independent Software Vendor). Trolltech (devenu depuis Nokia) continue de supporter ce but, pour mieux respecter sa promesse : write once, deploy anywhere (un seul code pour toutes les plateformes).