Posts Tagged ‘Linux’

Debian Installer : ça bouge !

Wednesday, April 14th, 2010

J’étais tranquillement et innocemment en train d’essayer (enfin !!) d’avancer sur LiNoX, ma fabuleuse distribution GNU/Linux graphique n’utilisant pas X11 (un de mes meilleurs vapoware :-) ), quand au hasard de mes lectures je tombais sur la page du wiki Debian consacrée à la partie graphique du debian installer (ci-après nommé g-i) qui mentionnait:

“It used to be a common misconception that the graphical installer is X11 based: it is based on DirectFB and GTK+.”

Une évidence bien sûr, c’est d’ailleurs pour ça que le g-i est génial et que je veux l’utiliser pour mon LiNoX !! Mais suivait une update qui m’a semblée irréelle :

“Update: That’s true until Lenny (included), but a switch to X11 has been performed during February/March 2010; later daily builds and upcoming releases should be X11-based accordingly.”

Ce fut pour moi comme un grand retour dans le passé… souvenons-nous : Debian avec son excellent installeur, mais qui ne fonctionnait qu’en mode texte. Ubuntu qui arrive et qui du point de vue “user-friendly” se retrouve en retrait des autres distributions Linux, comme Fedora, Mandrake et openSUSE,  utilisant des installeurs graphiques avec X11.

Il fallait faire quelque chose, mais l’évidence était qu’il fallait que cela soit meilleur que ce qui existait déjà. Pour remplacer les installeurs basés sur X11 qui la plupart du temps n’arrivaient pas à se lancer correctement, en plus d’être d’incroyables machines à gaz, deux choix techniques étaient envisageables :

  1. Faire un Live CD qui permet de démarrer et tester son système, et lui adjoindre un installeur graphique qui soit une simple application pour le X11 d’un système complet déjà configuré
  2. Faire fonctionner la backend DirectFB pour GTK+, de manière à avoir un installeur qui ne nécessite pas X11, et qui soit une simple version graphique et légère de l’installeur texte

Ubuntu a suivi la première voie, et la majorité des distributions visant le desktop, même si comme Fedora elles avaient déjà un installeur grapique X11, lui ont emboité le pas. Debian a logiquement et courageusement choisi la seconde voie et a développé ce g-i que je considère toujours comme un bijou du génie logiciel.

Oui mais voilà le 31 janvier 2010, patatra, un article de Josselin Mouette intitulé “Please save the graphical installer” explique les difficultés actuelles du g-i : les deux “Dieux” de la programmation qui faisaient fonctionner la backend DirectFB de GTK+ (Attilio Fiandrotti et Sven Neumann) ont actuellement d’autres choses à faire de leur vie (ces variations dans la disponibilité et l’investissement des programmeurs est un classique du monde du logiciel libre), mais GTK+ change de version et la backend DirectFB ne suivant pas, le g-i va finir par craquer !!

Cette incroyable régression que constituerait la disparition du g-i, vous pouvez déjà “l’expérimenter” sur les CDs d’installation de Debian testing depuis l’annonce du 21 février : “It is also important to note that we have disabled the Graphical Installer, and as consequence the speakup drivers, for this release due a breakage in the DirectFB backend of the GTK+ library.”.

Aucun nouveau “Dieu” de la programmation DirectFB n’a semble-t-il fait son apparition, mais il restait heureusement un dernier recours : la possibilité d’utiliser une autre backend de GTK+, massivement utilisée sur tous les Unix et dotée de nombreux excellents programmeurs… la backend X11. La X Strike Force a instantanément répondu à l’appel de détresse de Josselin et même si tout n’est pas rose, c’est aujourd’hui semble-t-il la seule option technique viable.

Ce qui me pose un problème, c’est que si la décision semble depuis le 8 février clairement et définitivement prise, j’aimerais bien comprendre par qui et selon quel processus démocratique. Il me semble que pour un choix si important pour Debian et son avenir, il n’y a tout simplement pas eu de débat, et le vote a dû m’échapper…

MeeGo, l’alliance des perdants ?

Tuesday, February 16th, 2010

Confrontés à la déferlante des produits Google basés sur Linux incarnée par la percée d’Android, principal challenger de l’iPhone, et la dynamique autour de Chrome OS, leurs concurrents respectifs, que sont le Maemo de Nokia et le Moblin d’Intel, avaient bien du mal à percer.

Ils ont donc décidé d’unir leurs efforts et de fournir une plateforme technologique commune : MeeGo, annoncée ce 15 février au Mobile World Congress de Barcelone et qui sera hébergée par la Linux Foundation. Que résulte-t-il de la fusion ? Une standardisation autour de Qt, alors que le meilleur de Moblin était le travail fait avec Clutter basé sur GTK+, et l’utilisation du système de packaging RPM, alors que le meilleur de Maemo était d’être basé sur Debian…

On m’avait reproché d’être trop dur avec la plateforme Maemo dans mon article sur les smartphones, mais force est de constater qu’aujourd’hui elle n’existe plus et que bien malheureux le développeur qui s’est investi successivement dans les technos Maemo 5 puis Maemo 6. Maintenant ce sera MeeGo… ou pas.

Smartphones Linux : le point du dev

Friday, January 15th, 2010

Un petit point sur le hardware et le software disponibles pour un développeur libre qui voudrait utiliser un smartphone et développer dessus.

Il existe trois plateformes basées sur Linux (je n’écris volontairement pas GNU/Linux car si Android utilise bien le noyau Linux, il n’utilise pas pour autant les outils GNU) :

Maemo :

Maemo est censé, chez Nokia, remplacer Symbian qui est dépassé technologiquement pour les nouveaux usages mobiles. Après avoir été expérimenté (trop) longuement (depuis 2005 !) sur les tablettes N770, N800 et N810, il est enfin disponible sur un téléphone : le N900, depuis novembre 2009.

Or, si le N900 est disponible, il utilise la plateforme Maemo 5 qui va disparaitre et aucun smartphone n’est disponible sous Maemo 6. Je ne lancerai donc pas une énième fois le troll GTK (Maemo 5) vs Qt (Maemo 6) qui n’a juste pas lieu d’être : Maemo n’est pas dans la course. Et à la vitesse où va cette course, il ne parviendra peut-être jamais à y rentrer.

Je ne m’étendrai pas sur Maemo car je veux à la fois développer des applications  que je puisse  tester,  et que d’autres puissent utiliser, et il faut pour cela pouvoir se procurer un smartphone adapté, et ne pas m’investir dans une plateforme en fin de vie. De plus, le fait que Maemo utilise Xorg le rend techniquement contestable, tant la complexité et la lourdeur inhérentes à X11 sont malvenues sur un smartphone.

Android :

Du côté d’Android c’est une toute autre histoire. Des smartphones sont disponibles depuis octobre 2008 aux États-Unis et mars 2009 en France. Au niveau commercial c’est déjà une grande réussite : Android est la plateforme qui progresse le plus et s’est imposé en un an comme le principal (le seul ?) challenger de l’iPhone (voir les statistiques d’AdMob pour plus de détails).

D’un point de vue technique, Android fournit un SDK basé sur le langage de programmation Java. Cependant, il ne repose pas sur la JVM de Sun, mais sur Dalvik, une machine virtuelle à registres (comme Parrot) spécialement développée pour les contraintes hardware (mémoire faible, processeur peu puissant…) de l’embarqué. Dalvik est à ma connaissance la seule machine virtuelle à registres qui soit un succès industriel, face à la masse des machines virtuelles à pile (JVM de Sun, CLR de Microsoft…).

Mais que peut-on faire si on ne veut pas programmer en Java ? Les développeurs ont souvent un langage de programmation favori, qu’ils ont peu ou pas envie d’abandonner ; dans mon cas c’est PythonOn pense alors naturellement aux implémentations des langages écrites en Java, Jython pour Python ; mais si elles fonctionnent sur la JVM de Sun, ce n’est pas forcément le cas pas sur Dalvik ! Heureusement, Google a pensé à nous avec ASE, l’Android Scripting Environment, qui permet d’utiliser l’ensemble des API Android à partir de différents langages interprétés, et le choix est vraiment grand : Python, Lua, Perl, Ruby, JavaScript, BeanShell et même shell !!

Tous les langages ne sont pas égaux devant ASE. Les langages natifs, c’est-à-dire écrits en Java, comme Ruby basé sur JRuby, JavaScript basé sur Rhino ou encore BeanShell, peuvent théoriquement accéder directement aux API Java natives, alors que les langages “cross-compilés”, comme Python (basé sur CPython) ou Lua qui sont écrits en C, ne peuvent procéder que par des appels JSON RPC. C’est cependant cette dernière méthode qui semble conseillée quel que soit le langage utilisé.

Je suis donc maintenant motivé pour me lancer dans l’aventure Android, d’autant que Google vient d’anoncer, lors d’une conférence de presse le 5 janvier, le lancement de son premier smartphone : le Nexus One fabriqué par HTC. C’est tout simplement une “bête de course” du point de vue hardware : processeur à 1 Ghz, 512 Mo de RAM et un écran 3,7″ d’une résolution de 480*800 (pour rappel l’iPhone 3GS fonctionne à 600 Mhz avec 256 Mo de RAM et un écran 3,5″ en 320*480) !!! La disponibilité du Nexus One en France est prévue pour le mois de mars.

J’hésite cependant encore avec le Motorola Milestone, qui a lui l’avantage d’être déjà disponible et de posséder un clavier physique, ce qui pourrait se révéler bien pratique pour des sessions d’administration de machines par SSH, avec le terminal en plein écran !

webOS :

Il y a un an, lors du CES de janvier 2009, Palm avait créé l’évènement avec l’annonce du Palm Pré et de son nouveau système d’exploitation : webOS. Les critiques avaient été très élogieuses et l’on a même pensé que l’on tenait là le principal concurrent de l’iPhone. En effet, webOS est le seul système alternatif  à proposer les mêmes facilités multitouch que l’iPhone (il semblerait que sur ce sujet, Palm et Apple se tiennent par la barbichette des brevets logiciels). La qualité et la simplicité de l’ergonomie étaient aussi tout à fait remarquables, et le design très “sexy”.

Le Palm Pré a été introduit au États-Unis le 6 juin, et les ventes ont été bonnes. Mais tout cela s’est un peu essouflé car Sprint, l’opérateur exclusif aux USA, est semble-t-il en perte de vitesse, et le Palm Pré n’a pas été commercialisé dans beaucoup d’autres pays : il n’est par exemple toujours pas disponible en France. Seule nouveauté depuis un an, l’introduction d’un nouveau modèle moins puissant visant l’entrée de gamme des smartphones, le Palm Pixi.

Et puis voilà à nouveau que, lors de la présentation du 7 janvier au CES, Palm fait des annonces tonitruantes ! D’abord l’arrivée de deux nouveaux modèles : le Palm Pré Plus et le Palm Pixi Plus, qui proposent de grandes améliorations matérielles. Le Palm Pré voit sa capacité de stockage et sa RAM doublées, à 16 Go et 512 Mo respectivement, tandis que le Palm Pixi n’est plus castré des possibilités Wi-Fi que l’on peut légitimement attendre d’un smartphone, fût-il d’entrée de gamme. Et ces deux modèles seront disponibles en France au début du second trimestre.

Ensuite, le programme pour développeur, qui permet de fournir ses applications via le App Catalog officiel de Palm (équivalent du célèbre App Store d’Apple) est maintenant ouvert à tous. Mais ce n’est pas tout, un programme spécial pour les développeurs Open Source existe, qui offre comme avantage d’économiser les 99$ de cotisation annuelle (en ce moment offerts à tous) et les 50$ par application soumises au App Catalog. De plus, Palm montre sa compréhension des logiciels libres, car l’on peut tout à fait commercialiser ses applications libres, et il n’y a aucune discrimination, comme pour les applications propriétaires c’est 70% du prix pour le développeur (comme sur l’App Store).

Développeur qui pourra désormais programmer de vrais jeux exploitant tout la puissance du la puce graphique, grâce à la mise à disposition d’un nouveau SDK spécialement destiné au jeux : le Plug-in Development Kit. Ce dernier est basé sur l’excellente et très utilisée librairie SDL, véritable standard des logiciels libres. Le PDK est censé être programmé en C ou en C++, mais il existe des bindings SDL pour un nombre de langage de programmation très impressionnant, et j’ai du mal à voir ce qui pourrait m’empêcher d’utiliser sous peu Pygame pour programmer des jeux en Python !

Pour ce qui est des applications plus classiques, Palm propose désormais un IDE fonctionnant dans votre navigateur web : Project Ares. On pourra saluer la cohérence technologique qui permet de faire aisément cela puisque l’ensemble du SDK Palm est construit à base  de technologies web, et espérer que cela permettra de faciliter l’accès à la programmation webOS au plus grand nombre.

Enfin, pour motiver les développeurs à se lancer et ainsi remplir son App Catalog, Palm propose le concours Hot Apps doté d’un million de dollars à partager entre les applications les plus téléchargées du 1er février au 31 mai.

Sur le front des smartphones Linux est là et bien là, en position de force, prêt à exterminer les systèmes d’exploitation privateurs de liberté Windows Mobile et BlackBerry OS et à mener le grand combat final contre l’iPhone !

Google Chrome OS

Thursday, November 19th, 2009

Aujourd’hui à 19 heures, heure de Paris, Google a enfin livré les informations techniques de son Google Chrome OS basé sur GNU/Linux.

chromeOS

Le système est, on n’en sera pas surpris, totalement orienté “Web”:

  • toutes les applications ChromeOS sont des Webapps, en fait l’interface de Chrome OS est principalement le navigateur web Chrome en plein écran.
  • toutes les données sont “in the cloud”, l’avantage étant que la défaillance ou la perte de son ordinateur n’a aucune incidence sur l’utilisateur, il lui suffit d’en prendre un autre et tout recommence de manière transparente ; par contre on est bien sûr en plein dans l’évolution vers une informatique “à la Big Brother”.

Le boot ultra-rapide est une spécificité importante : 7 secondes pour arriver à l’écran de login, puis 3 secondes supplémentaires pour l’accès au bureau fonctionnel.

Il semble qu’un grand travail ait été accompli sur les problématiques de sécurité, notamment sur le processus de boot et la stratégie des droits d’écriture de la partition racine.

Google Chrome OS ne permettra pas de base de faire fonctionner les applications Android : “tout est webapp”, et supportera les processeurs X86 et ARM.

Bien sûr comme c’est un logiciel libre, chacun peut décider de rajouter les fonctionnalités manquantes au code source !

L’annonce officielle sur le blog de Google.

Smartphones : la percée Linux !

Thursday, October 1st, 2009

AdMod vient de fournir ses derniers chiffres concernant les parts de marché des systèmes d’exploitation pour smartphones, et ils montrent un poussée formidable des différentes saveurs de Linux !

smartphonesos

Devant il reste le Symbian de Nokia, l’ancien leader presque monopolistique, qui continue sa rapide chute liée à son arriération technologique, pendant que l’iPhoneOS d’Apple est déjà si dominant qu’il ne croît plus tant que ça (l’iPod touch n’est pas pris en compte dans ces chiffres car il ne fait pas téléphone).

Linux perce donc par deux concurrents :

  • Android de Google qui passe de 2% à 7%, soit une multiplication par 3,5 de ses parts de marché, grâce entre autres à un HTC Dream 2ème du classement des smartphones.
  • webOS de Palm qui émerge quant à lui directement à 4% grâce au Palm Pre, 4ème au classement, qui n’est pourtant commercialisé qu’en Amérique du Nord !

Derrière c’est Windows Mobile qui s’écroule presque de moitié, et Palm OS qui rend logiquement son dernier souffle avec l’arrivée de webOS. Précisons de plus que Palm a annoncé abandonner totalement sa ligne de smartphones sous Windows Mobile pour se consacrer uniquement à webOS.

Cette déferlante Linux dans les smartphones n’est pas près de s’arrêter, et il y aura même un troisième concurrent puisque Nokia compte sur Maemo, tournant sur son tout nouveau N900 et basé sur Debian, pour succéder à son vieux Symbian !

Les trois plateformes de développement sont excellentes bien que très différentes. Chacun pourra y trouver son bonheur, entre choix technologique ou éthique, car certaines licences ne sont pas sans poser de problèmes… mais cela est une autre histoire (Carl si tu m’entends :-) ) !