Découverte d'Ubuntu : Breezy Badger et Dapper Drake

En 2006, lorsque je pris la décision de commencer la migration de mes machines sous GNU/Linux, je ne connaissait que Mandriva que l'utilisait sur un serveur personnel. Pas totalement satisfait de cette distribution, je me suis mis a la recherche d'une autre qui conviendrai à ma première machine a subir la migration : un pc portable. Autant dire que la recherche n'a pas été très longue. J'ai d'abord essayé Knoppix qui se situe plus dans le secteur des Lives CD que des systèmes a installer sur disque et qui ne m'a pas franchement impressionné. Mon second choix s'est porté sur Ubuntu 5.10 (Breezy) et la ce fut une grosse claque. Première claque avec la découverte du bureau Gnome (alors que je n'avais essayé que KDE), un bureau qui allait devenir mon environnement favori, toute plateformes confondues. Deuxième claque avec la facilité de prise en main, que ce soit au niveau de la reconnaissance matérielle, du live cd avec son installeur graphique ou encore du gestionnaire de paquets.
Très satisfait de ma découverte, j'ai arrêté prématurément ma série de tests sur les distributions Linux du moment. Les mois suivants, mes autres machines ont a leur tour migré sur Ubuntu.

Vista Ready

Windows Vista est une des raisons qui m'ont poussé a migrer sur un système d'exploitation libre. Avant sa sortie beaucoup de rumeurs soit fausses (on ne peux pas lire de fichiers multimédia sans DRM) , soit vraies (Vista nécessite une machine de guerre pour fonctionner) circulaient sur Internet. A cette époque, j'étais comme beaucoup d'autres sur Windows XP, subissant les aléas de son utilisation quotidienne...
Quand cela fait 10 ans qu'on utilise Windows, on a appris à éviter de trop pourrir son système avec des spywares,virus ou autre malware mais toujours est il que j'avais l'amère sensation d'avoir perdu le contrôle de ma machine.
L'utilisation d'un système libre est un véritable vent de fraicheur pour cet aspect la. Je récupérais pour la première fois depuis longtemps (l'époque de l'Amiga ^^) un contrôle absolu sur ma machine avec un système propre et organisé logiquement et sans programmes douteux tournant en tâche de fond. Certes, je ne dis pas que je connais la totalité du fonctionnement de ma machine a chaque fois que j'ai voulu en savoir plus sur une particularité du système, j'en ai eu la possibilité et je suis arrivé a mes fins.
Avoir un système libre et bien documenté ne change pas radicalement les performances d'une machines, globalement elle a les mêmes capacités que sous un système fermé, mais d'un point de vue éducatif c'est tout autre chose. Un système libre permet d'apprendre l'informatique par opposition à un système propriétaire qui a pour but de masquer son fonctionnement interne. Je peux constater cela très simplement : même si je me considérais comme quelqu'un de passionné par l'informatique, je me rends compte qu'au cours des 10 années durant lesquelles j'ai utilisé Windows j'ai appris beaucoup moins de choses que durant ces deux années passées sur GNU/Linux. Bien sûr, le monde n'est pas constitué d'informaticiens et de geeks et le but d'un OS est de se rendre le plus transparent possible vis à vis de l'utilisateur.
Ici, Ubuntu comporte un gros avantages par rapport a d'autres distributions, qui est de pouvoir commencer a utiliser son PC quasiment instantanément après la fin de l'installation. La grande majorité des logiciels nécessaires à l'utilisation sont pré-installés ou installables automatiquement (drivers proprios, codecs, lecteur flash ...).
Mis a part les caractéristiques de l'installation, qui ne sont pas vraiment intéressantes, c'est surtout les fonctionnalités du système dans son utilisation normale qui le démarque de son concurrent Windows. Des différences pas forcément flagrantes mais notables, qui rendent l'utilisation d'un environnement GNU/Linux (et Gnome en particulier) plus agréable. On pourrait citer par exemple :

  • Les bureaux multiples (avec les améliorations qui ont été apportées par compiz)
  • Des raccourcis claviers / souris bien pensés (pour déplacer / redimensionner une fenêtre, pour faire un copier / coller ...)
  • Des menus clairs et organisés : un raccourci par programme, pas de dossier correspondant au nom d'une société, les programmes Gnome respectant les HIG possèdent des noms explicites traduits dans la langue de l'utilisateur.
  • La date a coté de l'horloge, avec un calendrier quand on clique dessus, lié a Evolution , l'agenda de Gnome. (Même si le calendrier est apparu avec Vista, je doute qui soit lié à Outlook)
  • Des actions simples et logiques par exemple un clic droit sur un périphérique USB pour l'éjecter au lieu d'aller chercher une icône dans le System Tray (ou pire, le glisser dans la corbeille ...)


Toutes ces fonctionnalités ne semblent pas très importantes prises au cas par cas, mais intégrées dans un système elles savent se rendre indispensable, et le fait de revenir sur un environnement Windows peut mettre mal à l'aise. En 2008, il est de bon ton de se moquer de ceux qui croient que travailler sur Windows est plus agréable que travailler sur Linux. (Cela pouvait être encore vrai en 2005).
Ce n'est pas parce que j'avais trouvé mon bonheur sur Ubuntu que je devais passer a coté des efforts du concurrent. Je me suis inscrit pour les téléchargements de Windows Vista, pour voir ce que je manquais et ce qui va devenir l'OS de référence de ces 5 prochaines années.
Le problème avec Windows Vista c'est que je ne lui ai pas vraiment donné sa chance. D'accord il était peu optimisé et lourd, mais le SP1 est sensé le rendre plus rapide. Les bétas étaient instables et il y avait de nombreux problèmes de drivers, mais aujourd'hui j'espère que Vista est stable et possède des drivers utilisables. Bien sur, l'interface change et on perds ses repères par rapport a Windows XP, mais on les perds aussi quand on va de XP a Gnome !
Non, les principale raison qui ont fait que j'ai testé Vista moins de 3 jours, c'est que je me suis ennuyé dessus et que j'avais la sensation que ma machine ne m'appartenais plus.
Vista est probablement un bon système mais c'est un système opaque, conçu pour des personnes qui détestent l'informatique et pour qui l'apprentissage de cette technologie est synonyme de nausées, tout l'opposé de la philosophie GNU ! Microsoft a tellement tenu a préserver de pauvres innocents des cauchemars de l'informatique qu'un utilisateur expérimenté n'aura aucune chance de se sentir maître de son système.

Que faut il pour le futur ?

La réponse tiens en deux mots : des outils graphiques ! Si Linux veux percer et être adopté par le grand public, il faut abandonner dès maintenant l'idée de lui faire découvrir bash. Que les choses soient claires : en ce qui me concerne, j'aime la ligne de commande et j'y tiens et je ne veux pas d'outils pour la remplacer mais certaines personnes semblent amusant de penser qu'un non geek peut s'éclater en tapant des lignes de commande et lire des manpages or c'est évidement faux. Avant de parler du développement d'outils qui n'existent pas encore, faisons plus simple et abordons le problème des outils graphiques existants. La communauté des utilisateurs expérimentés n'encourage pas assez les nouveaux venus a se servir des outils graphiques, préférant résoudre les problème avec leur méthodes (par exemple utilisation de apt-get à la place de synaptic, de top à la place du moniteur système de Gnome, etc ...). Si dans certains cas, une tache n'est pas accessible par une interface graphique mais que la fonctionnalité devrait être faisable par un utilisateur lambda alors ce problème doit être reporté sur le bugtracker de l'application (Sur Launchpad , ou plus en amont sur le bugzilla de Gnome , ou le Trac de l'application concernée par exemple).
Au final, toute tache qui n'est pas propre a un adminsys ou a un développeur doit pouvoir se faire de manière graphique. Il est malheureusement courant dans les projets open source d'avoir une version Windows avec installeur graphique même pour les versions SVN et une interface graphique alors que la version Linux est en ligne de commande et a compiler manuellement. Si d'un coté la compilation manuelle comporte des avantages certains comme la compatibilité avec toutes les distributions, ce schéma peut porter préjudice aux applications sous Linux puisqu'on la réserve a un public averti. De ce point de vue, le site getdeb.net apporte un réel confort dans l'installation de programmes puisqu'il propose des versions facilement installables de programmes récents. Cependant il serait imaginable d'aller plus loin et conserver la compatibilité face aux multiples distributions en proposant une interface graphique a la compilation de programmes, gérant les dépendances. Si un utilisateur trouve les dépendances requises a la compilation d'un programme, pourquoi d'autres utilisateurs devraient en faire de même ? Pourquoi ne pas proposer une compilation 'communautaire' un peu à la Gentoo.
L'idée principale est qu'un problème résolu par un utilisateur ne doit pas être résolu par un autre, et ceci quelque soit son niveau de compétence.
C'est a mon avis une perte de talents que d'avoir une communauté comportant un bon nombre de personnes expérimentées perdant leur temps a répondre aux mêmes questions sur des forums ou IRC alors que beaucoup de problèmes peuvent être résolus par un script.
Il serait temps pour certaines personnes qui en ont les capacités de quitter les forums et commencer a scripter la résolution des problèmes les plus récurrents.
Pour ma part, mon coeur balance entre deux langages pour commencer la programmation graphique : Python et Mono. Ici, il est hors de question d'utiliser un langage de bas niveau tel que le C puisqu'il s'agit uniquement d'analyser des fichiers de configuration et d'interpréter des commandes Shell. Mono possède des avantages face à Python puisqu'il permet de programmer dans un langage que je connais déjà (le C#) et d'avoir un IDE bien fait : Monodevelop et qui est soutenu par le créateur de Gnome : Miguel De Icaza.
Pour ce qui est des idées de programmes a développer, j'ai malheureusement plus d'idées que de temps pour m'y consacrer mais je pourrais citer en vrac sans citer les projets Web :

  • Un utilitaire de configuration pour Alsa afin de configurer le son surround et les cartes sons multiples
  • Un vérificateur d'intégrité du système se basant sur les fichiers des paquets officiels et permettant de restaurer des fichiers corrompus
  • Un outil de sauvegarde et restauration de Grub permettant de palier au problème des distributions Linux ou autres OS trop brutaux qui écrasent les fichiers de démarrage existant
  • L'amélioration de displayconfig-gtk afin de prendre en charge le TwinView de NVidia
  • Une interface graphique pour l'émulateur Amiga e-uae ne faisant pas honte face à celle de WinUAE

J'encourage toute personne portant un intérêt à ces projets et PyGTK ou Mono a me contacter