Myriad Blog 1.3.0 Wednesday, Aug 27th, 2014 at 07:06pm 

Tuesday, Dec 1st, 2009 at 04:58pm
Linux natif ? (partie 2)

 
Un point crucial dans l'élaboration d'un projet multi-plateforme est le respect de l'aspect graphique natif du système sur lequel tourne l'application.
Les utilisateurs de Mac OS X, en particulier, sont très sensibles à cela. Les utilisateurs Windows le sont un peu moins, peut-être, et enfin les Linuxien s'en fichent un peu, apparemment, vu la disparité de l'aspect des applications qu'on peut y trouver.
 
Certes, la personnalisation de l'apparence (les "thèmes" actuellement présents dans la version Windows de nos programmes) peut être pratique, mais pour la plupart des utilisateurs, un programme qui a une apparence "standard" est moins déroutant et plus facile à prendre en main.
 
Nos recherches dans le monde Linux, et la grande interrogation du choix de la distribution et de la librairie d'interfaçage nous ont amenés à nous pencher sur diverses solutions de développement multi-plateforme déjà existantes.
 
Ainsi, la librairie FLTK permet d'écrire des programmes pouvant fonctionner sur Linux, Windows ou Mac OS. Intéressant. La lecture de la documentation est alléchante, la licence LGPL peu contraignante. Mais respecte-t-il l'aspect du système sur lequel il fonctionne ? Difficile de trouver des informations claires à ce sujet. Une recherche d'images nous a convaincus du contraire :  
(Source)
Le bouton "OK" n'a pas vraiment le look "Aqua" de Mac OS X. Donc, a priori, cette solution est éliminée. Dommage.
 
Deuxième piste: GTK+. Créée à l'origine pour l'application graphique GIMP, cette librairie est elle aussi compatible Linux, Windows et Mac OS X. Hélas, apparemment même problème. Même si les boutons sont plus jolis, et que le thème peut être choisi par l'utilisateur, nous avons des doutes quant à son intégration des éléments de l'interface native. Cette image combine des boutons Aqua avec d'autres éléments (taquets, ascenseurs) définitivement non-Macs:
(Source)
 
Enfin, Qt semble fournir un aspect cohérent avec le système sur lequel il tourne. Ce pourrait être un bon choix, car les sources sembleraient prouver qu'il utilise, autant que faire se peut, les appels au système pour tracer les objets graphiques.
Bémol de taille, il semblerait que QT, assez lourd d'utilisation, impose de travailler en C++, ce qui nous poserait des problèmes pour l'intégrer à nos projets existants écrits en C tout court.
 
Nous en revenons donc à la question de base. Même si cela est plus rapide, vaut-il mieux faire confiance à une librairie multi-plateforme existante, ou prendre le temps d'écrire la nôtre?
Nous avons fait une petite liste des avantages de chacun des deux procédés :
 
* Utilisation d'une librairie existante
  - Mise en place plus rapide (tout est déjà prêt)
  - Possibilité de compatibilité avec des systèmes que nous ne possédons pas encore
  - Allègement de la charge de travail de mise à jour : tests, maintien et débogage assurés par la communauté
   
* Création et utilisation de notre propre librairie
  - Meilleure adaptation à nos besoins
  - Maintenance et débogage assurée par nos soins, sur des fichiers source que nous avons nous-même écrits
  - Facilité d'ajouts ou de modification de fonctionnalités  
  - Contrôle total de nos application. En cas de bug, pas la peine de se demander qui l'a causé.
  - Assurance de la pérennité de la librairie
 
Pour l'instant, la deuxième solution l'emporte, cette façon de travailler étant notre credo depuis nos tout débuts.
 
Reste alors la question du développement spécifique sur Linux. Avec quoi travailler sur ce système? Les librairies FLTK ou GTK utilisent-elles directement le système, ou, comme sur Mac OS ou Windows, tracent-elles leur propres boutons et autres objets?
De plus, ces librairies fonctionnent-elles aussi bien sur KDE que sur Gnome, sans demander à l'utilisateur d'installer quelque chose d'autre ? Les fonctionnalités sont-elles identiques sur les deux GUI ?
 
Etant donné notre très faible connaissance du développement sur Linux, et particulièrement le développement cross-distribution, cela risque de virer au casse-tête. Impossible de trouver une documentation claire sur la manière d'ouvrir une boîte de dialogue "native" sur KDE ou Gnome, c'est-à-dire respectant les personnalisations (couleurs, tailles de fontes, etc) effectuées globalement par l'utilisateur du système.
 
Apparemment, ce n'est pas le cas pour GTK+ sur une distrib basée sur KDE. Est-ce le cas avec QT4 sur une distrib basée sur Gnome? Ou nous faudra-t-il obligatoirement prévoir deux versions de chacune de nos applications sous Linux ?  
by Olivier Guillion
Comments

Comment from Nicou59 Tuesday, Dec 1st, 2009 at 11:01pm
Portage linux
Attention, je suis loin d'être un spécialiste de Linux et encore plus loin d'être informaticien, donc tout ce que je vais écrire ici est à prendre avec beaucoup de précaution. Je réponds car je me sens concerné par vos questionnements.  
J'utilise Ubuntu depuis la version 7.04 et je suis pleinement satisfait de ce système Linux qui, sauf erreur de ma part, est sûrement le plus utilisé, en tout cas en France.
Certaines applications prévues pour tourner dans un environnement KDE peuvent tourner sous Ubuntu et d'autres prévues pour Gnome peuvent tourner sous un environnement KDE (Kubuntu).  
Je prends un exemple connu : Amarok, un lecteur audio phare sous Linux. Il est écrit pour tourner actuellement avec l'environnement KDE 4 couplé à Qt4.
Pour que son installation se fasse sous gnome sans soucis, le gestionnaire de lpaquets va télécharger automatiquement les éléments de KDE4 et de Qt 4 nécessaires à son fonctionnement.
On pourrait peut-être imaginer que sur la page d'HA, une fois vos choix faits, vous donniez la liste des librairies à télécharger pour faire fonctionner votre application via les dépôts officiels...
Voilà, c'est un avis, qui trônera peut-être au milieu du bétisier de l'informatique 2009  

Comment from Daniel Frouvelle Wednesday, Dec 2nd, 2009 at 08:16am
(No subject)
Pour ajouter au bêtisier, on pourra dire que KDE ou Gnome, ce sera HA pour Linux alter-natif (arf!, je la referais plus, promis!)

Comment from Olivier Wednesday, Dec 2nd, 2009 at 08:45am
Re: Portage Linux

 
A vérifier sous Ubuntu:
Au niveau du look du système, choisir des boutons type "Windows" (carrés).
 
Lancer une application Kde comme Amarok. Ses boutons sont-ils carrés ?

Comment from Nicou59 Wednesday, Dec 2nd, 2009 at 09:27am
(No subject)
J'ai essayé de faire ce qui était demandé et ça a l'air de marché.
Sur le bureau j'ai fait un clic droit/changer l'arrière plan du bureau. Sous l'onglet Theme, j'utilisais Human. J'ai cliqué sur Personnaliser. Sous l'onglet contrôle, j'ai choisi Redmond, sous bordure de fenêtre, j'ai choisi simple et j'ai fermé. Les bordures de fenêtre d'Amarok évolue, mais le contenu des fenêtre semble inchangé. Je précise que j'utilise Ubuntu Karmic (9.10) et Amarok 2.2.0. Je ne sais pas comment faire évoluer autrement les boutons du système.

Comment from Olivier Guillion Wednesday, Dec 2nd, 2009 at 10:03am
Applications KDE sous Ubuntu
Voici le test que j'ai fait de mon coté:
- Dans l'onglet "Thèmes" d'Ubuntu, je choisis un thème standard : "Contraste inversé".
Le fond est bleu foncé, les boutons sont entourés de blanc.
- Je lance une application Gnome (GIMP, Firefox, etc). Les boutons et les champs de saisie sont en contraste inversé.
- Je lance une application KDE (KDevelop, Amarok...). Les boutons restent gris (look standard des applis KDE). Pas très sympa pour les déficients visuels.
 

En bas à droite, une appli gnome avec le look demandé (Sound Recorder), en haut à gauche, une appli KDE (Amarok)

S'il existe des tablettes braille et des synthèses vocales sur Linux, je me demande si les applis KDE sont traitées de la même façon que les applis natives Gnome, et si les boutons, choix et options sont correctement traités. Je pense que oui, mais c'est à vérifier. C'est l'un des problèmes que nous avons eu avec nos applications Windows, où nous redéfinissions notre look et n'utilisions pas les appels système standards.

Comment from CRI-CRI Wednesday, Dec 2nd, 2009 at 11:19am
Périmètre
Citation extraite d'un site de statistique :
 
La croissance des principaux systèmes d'exploitation Linux a été forte dans les deux dernières années. De Janvier 2004 à Juillet 2006, l'OS avait une part de marché qui est restée entre 0,2% à 0,4%.
 
Mais presque deux ans plus tard, ce pourcentage a doublé. De Janvier 2007 à Juillet 2008, Linux est passé de 0,4% à 0,8% puis s'est stabilisé autour de cette valeur.
 
Aujourd'hui, neuf mois plus tard, la part est actuellement de 1% de tous les systèmes d'exploitation : une augmentation forte d'environ 150% en deux ans.
 
Au sommet du classement, nous retrouvons Windows avec 87,9%, et Mac est en deuxième position avec 9,73%. Le quatrième système d'exploitation le plus populaire, derrière Linux, est l'iPhone, avec 0,55%

 
Comme le disait avec humour mon ancien patron à un vendeur déconfit : "Finalement, 150% de zéro, ça fait combien ?"
 
La question (il faut bien que l'on se la pose, puisque les données ci-dessus rappelées n'ont pas l'air de contredire le sondage "Maison" en cours) :
 
Est-ce là un projet urgent ?
 

Comment from Nicou59 Wednesday, Dec 2nd, 2009 at 01:54pm
urgence ou pas ?
Sincèrement, ce n'est pas urgent, mais ça serait bien. Si le travaille pour Mac pouvait permettre de franchir le pas, ce serait fantastique. HA serait le seul face à F... et S... à tourner vraiment sous Linux. Un énorme bon point pour lui qui serait toujours bien devant les gratuits disponibles.
Cela va de soit que si cela s'avérait trop compliqué pour la mince équipe de Myriad, je préférerai à la limite que vous cherchiez à améliorer l'intégration par le biais de Wine. Par exemple, accélérer un peu les choses sous Linux, réparer les liens qui provoquent une erreure de raccourcis à l'installation, fournir une interface dont les cadres de textes ne dépasseraient plus des fenêtres, et aussi intégrer quand même le pluggin. Le soucis actuel est que l'on ne peut pas faire autrement pour voir les partitions sous linux que d'installer via Wine la version Windows du pluggin pour voir et écouter les musiques en ligne... ce qui est un peu lourd, il faut bien l'avouer.

Comment from Wednesday, Dec 2nd, 2009 at 09:23pm
(No subject)
Un lien qui peut-être intéressant pour vous :
 
http://forum.ubuntu-fr.org/viewforum.php?id=35

Comment from Jean-Armand Thursday, Dec 3rd, 2009 at 11:37pm
urgence ou pas ?
D'un côté, c'est bien d'être présent sur un système qui ne regorge pas d'offres concurrentes. "J'aimerais mieux être le premier dans ce village que le second à Rome", a dit César.
 
D'un autre côté, est-ce que les utilisateurs de Linux sont disposés à payer pour un logiciel ?

Comment from Nicou59 Friday, Dec 4th, 2009 at 02:40pm
urgence ou pas ?
Personnellement, je suis près à débourser le prix de HA pour l'avoir sous Linux définitivement.

Comment from Turbo Friday, Dec 4th, 2009 at 08:26pm
WxWidget
Sans être un spécialiste du domaine, j'ai pas mal entendu parlé des librairies WxWidget...
 http://www.wxwidgets.org/
 
Peut-être une piste à tester...


Most recent first
Oldest first

Top of page
Last update:  (c) Myriad 2013