Tweekers' Blog

Aller au contenu | Aller au menu | Aller à la recherche

Astuces en vrac pour Jaunty Jackalope

Le passage de Intrepid Ibex vers Jaunty Jackalope beta s'étant très bien déroulé j'en ai immédiatement fait mon OS principal.Pour les fonctionnalités, pas de changement extraordinaires mais j'ai remarqué une stabilité et une réactivité accrue par rapport aux anciennes version.
Voici quelques astuces qui sont applicables sur Jaunty Jackalope et peut être sur d'autres distributions :

Si le lancement de Google Earth 5 beta crashe avec un message d'erreur concernant le fichier libcrypto.so.0.9.8, le fait de supprimer ou renommer ce fichier devrait remettre les choses dans l'ordre (il se trouve dans le dossier de Google Earth)

Ubuntu 9.04 mettra fin au support de Python 2.4, ce qui posera un problème aux utilisateurs de Cedega 7 dont l'installeur demande python2.4-dbus en dépendance. En attendant un correctif officiel, il faut reconstruire le paquet de la manière suivante :

mkdir -p cedega_000133_all/DEBIAN
ar p cedega_000133_all.deb data.tar.gz | tar zx -C cedega_000133_all/
ar p cedega_000133_all.deb control.tar.gz | tar zx -C cedega_000133_all/DEBIAN/
mv cedega_000133_all.deb cedega_000133_all.prerebuild.deb
perl -pi -e 's/python2.4-dbus/python-dbus/' cedega_000133_all/DEBIAN/control
dpkg-deb --build cedega_000133_all
rm -rf cedega_000133_all
sudo dpkg -i cedega_000133_all.deb 

Cedega donne encore quelques messages d'avertissement liés a l'utilisation de Python2.6 mais ceux ci peuvent être ignorés.

Toujours dans Python et ses versions, la 2.6 intègre le module json par défaut, mais possède une implémentation différente de la librairie du paquet python-json fournie pour python 2.5

Ceux qui comme moi préfèrent (a juste titre) Amarok 1.4 a Amarok 2, un dépot PPA a été mis en place pour en profiter , il suffira d'ajouter les lignes suivantes dans les dépots tiers dans synaptic.

deb http://ppa.launchpad.net/bogdanb/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/bogdanb/ppa/ubuntu jaunty main

Pensez a déinstaller Amarok 2 sinon il sera en conflit avec Amarok 1.4

La dernière version de Gnome-Do permet de remplacer avantageusement avant-window-navigator ou cairo dock. Pour cela il faut sélectionner le thème Docky dans l'onglet apparence des préférences. Gnome Do placera automatiquement dans le dock les programmes les plus souvent appelés via le lanceur. Il est aussi possible de procéder demanière plus traditionnelle en glissant des icônes vers le dock.

Quel avenir pour la video en ligne ?

La video en ligne est un domaine ou beaucoup de travail reste a faire. D'une part parce que ce moyen a de bonnes chances, à terme, de remplacer la télévision, et d'autre part parce que la situation actuelle est complètement absurde.
La suprématie de Flash a poussé de nombreux utilisateurs de logiciels libres a complètement tourner le dos a la vidéo en ligne, ce qui semble montrer qu'il y a un réel problème. Un utilisateur de logiciel libre ayant refusé d'installer le player Flash est tout autant, sinon encore plus, victime du coté propriétaire de ce format puisqu'il se voit interdit de 95% de la video en ligne. Certes il existe des solutions libres (gnash et swfdec) mais elles ne sont actuellement pas a la hauteur du logiciel d'Adobe et techniquement elles ne sont pas meilleures.
En 2009,soit plus de 15 ans après les premières video MPEG en plein écran, visionner une vidéo de qualité médiocre sur 1/8 de l'écran occupe entre 25% et 50% du temps de calcul d'un processeur moderne, voila où on en est arrivé...
Sur une machine plus modeste (le XO Laptop par exemple), visionner une video Flash dans le navigateur est juste impossible. Le format flv utilisé n'est pas en cause, celui est lisible par les lecteurs videos standards (totem, mplayer, vlc) sans aucun problème. C'est bien la lecture dans le navigateur qui pose un problème.
J'ai mis beaucoup d'espoirs dans le tag <video> implémenté dans le futur Firefox 3.5, afin de développer une alternative libre aux plateformes d'échange video, un peu comme ce que propose http://tinyvid.tv/ mais déployable sur n'importe quelle serveur aussi simplement qu'un Dotclear. Actuellement, j'ai principalement travaillé sur la récupération de video au format Flash via des scripts Python, ce qui n'est pas très compliqué mis a part pour le nouveau protocole rtmp qui pose énormément de problèmes. (Le même protocole utilisé pour débats de l'assemblée nationale).
La conversion dans un autre format, ne pose pas de problèmes non plus, donc il ne reste plus qu'a écrire l'interface Web pour regrouper tout cela. Mais avant de me lancer dans l'écriture de ce projet, j'ai bien évidemment voulu tester ce qui allait être la base de mon application : le tag <video>. J'ai malheureusement très vite déchanté, le support de la video par la beta de Firefox 3.1 est désastreux, avec une occupation du processeur allant de 50 à 70% sur un dual core (une charge partagée entre Firefox et Xorg sur GNU/Linux et limitée a Firefox sur Windows XP). Sur le XO Laptop, la lecture d'un ogg sur Firefox 3.1b3 occupe 100% du CPU avec un framerate d'environ 0.5 image par seconde ... Le bug est bien entendu connu comme on peut le constater sur le bugtracker de Mozilla ici ou ici. La question que je me pose actuellement est celle de savoir si je dois persévérer dans la conception de mon application avec l'espoir que le bug soit résolu pour la version finale de Firefox 3.5 (ce dont je doute) ou alors m'orienter vers d'autres solutions.
Je peux en effet me rediriger vers une solution utilisant le bon vieux tag <embed> qui n'a jamais posé de problèmes (puisque que ce sont des plugins qui vont s'occuper de la lecture et non le navigateur) ou encore, laisser tomber l'application en ligne pour uune application de bureau, comme ce que propose Miro mais avec la gestion de tous les principaux sites de streaming (youtube, dailymotion, wat.tv, videojug,etc ...). D'ailleurs mes essais sur ce domaine sont plutôt concluants, avec un programme qui permet de récupérer les video de Canal+. Capture-Canal_Plus_Ripper.png Ce script python est disponible ici et peut être démarré en exécutant openvish_gui.py (il faut patienter au démarrage pour la récupération des "chaines").
La vidéo sur le net, a encore beaucoup de chemin a faire avant de trouver une solution satisfaite pour l'utilisateur et tout espoir repose entièrement sur le logiciel libre étant donné la médiocrité proposée par le logiciel propriétaire (protocole RTMP, sites de VOD fonctionnant avec IE et WMP, etc...). Je relève aussi avec une certaine déception l'inutilité de nombreux détracteurs de Flash qui ont beau cracher sur les solutions existantes, n'apportent absolument rien comme solution libre. Si vous appréciez tant Richard Stallman, sachez que celui ci n'a pas formaté son système Unix propriétaire alors qu'il était en train de développer son système GNU !

HADOPI in the middle

Les réactions a la loi HADOPI ont été tellement nombreuses que j'ai jugé inutile de faire un billet la dessus étant donné que tout à déja été dit et que de toutes manières cette loi n'a pas changé le point de vue que j'ai depuis des années. Sur Internet et en particulier dans la communauté du logiciel libre, j'ai pu lire de très bons articles, beaucoup de chose inutiles (le blackout ... sérieusement, si vous voulez faire quelque chose d'utile passez tout en HTTPS , la au moins ça servira a quelque chose, un carré noir n'apportera rien a personne.) et quelques énormités. Ce sont donc ces quelques énormités ou plutôt une seule qui m'a poussé a écrire ce billet.
J'ai plusieurs fois lu des choses du genre "oh, le mouchard du gouvernement je m'en fous, je le mettrai dans une machine virtuelle et il verra rien", par exemple chez Swâmi Petaramesh.
Alors je vais pas y aller par quatres chemins, je vais juste montrer qu'une attaque du type man-in-the-middle est la chose la plus simple du monde a réaliser...
D'abord le concept : Sur votre réseau local, une machine veux attaquer le reste du réseau, l'attaquant va lancer des requêtes ARP sur l'ensemble des machines, en gros pour dire "coucou, je suis le routeur". Suite a cela, tout le trafic va passer par la machine de l'attaquant. Pour la démonstration, j'ai utilisé le logiciel ettercap qui facilite grandement la tache. Ettercap, en plus de réaliser l'attaque MITM a quelques fonctionnalités sympatiques, voyez plutôt le screenshot suivant (cliquez pour agrandir)

Capture-ettercap_NG-0.7.3.png

On voit non seulement la liste des sites visités par toutes les machines du réseau, mais aussi le mot de passe en clair des connections aux sites Web non-sécurisés.
Ce n'est qu'un exemple, il est possible de récupérer absolument toutes les données qui transitent sur le réseau (a l'aide de Wireshark par exemple).
Si vous voulez essayer, voila un tuto, qui explique bien mieux que moi : http://openmaniak.com/ettercap.php

Voila, tout ça pour dire que lorsque je vois des personnes prêtes à autoriser dans leur réseau domestique (que ce soit dans une machine virtuelle ou sur un vieux pc au fond du placard ...) un programme aussi dangereux et intrusif que celui que tout le monde imagine,cela me perturbe vraiment.
La seule présence de la Freebox chez moi (qui se met a jour toute seule, dont le code source est totalement fermé) me dérange suffisamment pour que je n'aille pas empirer les choses avec un logiciel manifestement mauvais pour moi même...
Un tel logiciel, si jamais il existe n'a rien a faire dans le réseau de toute personne qui attache un tant soit peu de valeurs au logiciel libre tellement ses principes en sont éloignés. J'espère que les internautes seront nombreux a faire preuve de désobéissance civile et refuseront, dans leur parc informatique entier, tout logiciel d'insécurisation imposé (ou fortement conseillé) par le gouvernement.

Je profite de ce billet pour soulever certaines questions a propos du chiffrement des sites Web. Est il vraiment nécessaire d'afficher un message d'erreur intimidant et faire cliquer 4 fois l'utilisateur dans Firefox a chaque fois que l'on a affaire a un site utilisant un certificat SSL auto-signé ? Je n'ai rien contre les organismes officiels délivrant des certificats, grâce a eux nous pouvons effectuer des achats sur internet et après tout c'est un peu Verisign qui a permis a Ubuntu de voir le jour. Mais je pense que les sites auto-signés doivent se démocratiser, Si les FAI ne voient que des informations chiffrées alors toute tentative de filtrage sera rendue inefficace. Aujourd'hui nous utilisons essentiellement pour le transfert de données le même schéma que celui de la carte postale : libre a la poste, aux facteurs de regarder les messages. Or dans la réalité nous n'envoyons presque pas de cartes postale, les lettres sont mises dans une enveloppe et ces enveloppes ne sont pas certifiées par un quelconque organisme délivrant des enveloppes payantes. Les correspondances n'en restent pas moins confidentielles. Tout comme les envois postaux, "l'enveloppe" doit se généraliser sur Internet, et les logiciels libres doivent êtres modifiés pour en faire leur comportement par défaut.

Lancement de Open Source Developer Network

Dans le précédent billet, j'exposais certaines difficultés que le développeur novice peut avoir lors d'une première approche dans le monde du logiciel libre.
Une des difficultés est de savoir ou trouver la documentation, car si l'on me dit RTFM je répondrais : WFP ? (Which F**king Paragraph ?).
L'autre rengaine courante est GIYF (Google Is Your Friend), et bien pas vraiment a vrai dire. Google est surtout très fort pour indexer tous les forums, toutes les mailings list, tous les blogs et s'il est facile de trouver des personnes qui ont le même problème que celui posé, il l'est déjà moins de trouver la bonne réponse.
Voila où OSDN (déformation du nom d'un célèbre site de documentation, d'un éditeur logiciel pas très apprécié dans les parages) rentre en jeu.
OSDN, ce n'est rien de bien compliqué techniquement : Un peu de HTML, et d'Ajax mais c'est surtout un travail de recherche et de classification. Cette page vise a regrouper toutes les pages de documentation de tous les langages et toutes les technologies Open Source. Oui, rien que ça... et la page n'a même pas un jour qu'elle commence déjà à être assez fournie.
La page comporte un moteur de recherche qui ira chercher uniquement sur le site en cours de consultation. (ou sur google.com/linux si aucune documentation n'est affichée)
Bien entendu je suis ouvert a toutes les suggestions, n'hésitez pas a m'envoyer dans les commentaires ou par mailavec le formulaire dédié les liens vers les documentations que vous jugez essentielles. Et ne soyez pas limités aux documentations officielles non plus, un bon tutoriel peut avoir sa place.
Aussi, si vous jugez l'organisation de l'arborescence inappropriée a certains endroits, n'hésitez pas a le signaler.
J'espère que cette page Web sera aussi utile pour vous qu'elle l'est déjà pour moi ;)

Des difficultés de la participation aux logiciels libres

L'idée de ce billet m'est venu a la suite de celui de xbright intitulé La difficulté d'exister pour les petits projets de logiciel libre ou son auteur met en avant le manque de contributeurs sur les petits projets Open Source. Hormis le fait d'écrire des rapport de bugs, je n'ai jamais réellement codé pour un projet libre existant, donc j'ai voulu tenter l'expérience en prenant comme projet Bluemindo, le player audio de xbright écrit en Python.
Récupérer un projet et se lancer dans l'analyse de son code source est une tâche très intimidante au premier abord, il faut consacrer un certain temps afin d'apprivoiser les sources, tester le programme, repérer quelle fonction fait quoi, visualiser l'architecture du logiciel. Toutes ces tâches n'existent pas lorsque l'on est le créateur d'un projet puisque l'on est parti de zéro pour arriver au résultat que l'on a en tête.
Il faut dire que les développeurs ne facilitent pas toujours la vie de ceux qui passent derrière. Les difficultés sont multiples : manque de commentaires dans le code, noms de variable peu explicites, identifiants des widgets du fichier Glade laissé avec leur valeurs par défaut (button1, progressbar3, .....).
Un code source ouvert se doit avant tout d'être clair et lisible. Eric S. Raymond évoque ce problème dans le livre "The cathedral and the bazaar" en disant que la clarté du code est plus importante que sa vitesse d'exécution. De mon point de vue, un nom de variable composé d'une seule lettre est toujours un mauvais nom de variable. C'est une perversion venue du monde obscur des mathématiques et qui n'a rien a faire dans la programmation. Les éditeurs de code source modernes supportent tous l'autocomplétion des noms de variable, donc il n'y a aucune raison pour ne pas utiliser des noms explicites qu'ils fassent 15 caractères ou plus.
Une fois que l'on a parcouru une bonne partie du code source de l'application, on commence a saisir le fonctionnement global, et on peut s'attaquer a l'écriture de code... Ouhla, pas si vite ... Ne perdez pas une seule minute a écrire la moindre ligne de code avant d'avoir obtenu l'accord de l'auteur. Open Source ne veux pas dire que c'est la fête et que chacun écrit ce qu'il veut dans un projet, ne contribuez pas avant d'avoir la bénédiction du "benevolent dictator for life", il m'est arrivé de soumettre des patchs qui n'ont pas été accepté et pour plusieurs raisons : l'auteur avait déjà codé la modification de son propre coté ou l'auteur a refusé l'intégration du patch. Ici, on voit la deuxième difficulté : le développeur principal, n'a de comptes a rendre a personne et il ne va pas précéder chaque patch de son cru par un rapport de bug sur sa forge.
J'ai beau avoir trainé dans le monde de l'open source quelques années, avoir quelques bonnes bases en programmation, j'ai toujours l'impression qu'il manque quelque chose d'essentiel afin se saisir complètement le mode de développement du logiciel libre. Les sources sont libres, oui très bien, mais est ce suffisant ? L'exemple de Rhythmbox nous prouve que non, Dans son billet Cyrille Borne exprime ses doutes quand a la viabilité d'un projet Open Source :

Il me semblait pourtant que l'un des intérêts de l'ouverture du code, c'était qu'en cas d'arrêt d'un développeur, un autre apparaît pour prendre la relève. Un système auquel je n'ai jamais cru, tant il est difficile dans le cas de l'écriture d'un code de repasser derrière, si bien que les gens préfèrent créer leur propre application.

Dans les commentaires de ce même billet, RunningTracker cerne très bien le problème :

il est (très) difficile de reprendre un logiciel développé par quelqu'un d'autre. C'est là où la documentation prend tout son sens. Une bonne documentation (avec schémas UML, explication des algos... etc) et un code bien commenté (ce qui est très rare...) facilitent grandement la compréhension et la reprise du code. Je pense qu'en tant que développeurs, nous devrions passer plus de temps sur ces deux aspects (même si c'est parfois rébarbatif).

Dans la communauté, personne ne pense a reprendre le développement de Rhythmbox, et on réfléchi déjà a son successeur. Je peux comprendre : s'il a déjà été compliqué de se plonger au coeur de Bluemindo qui est un projet jeune et écrit en Python, je n'imagine même pas quels efforts il est nécessaire de faire pour comprendre le fonctionnement de Rhythmbox qui est plus mature et codé en C.
La page concernant le développement de Rhythmbox ressemble plus a une mauvaise blague avec ses liens vers SVN et IRC. Avec ces deux éléments, il va être difficile d'aller très loin ...
Maintenant voila ce que je propose :
Utiliser Internet pour ce a quoi il a été construit a la base: permettre a des chercheurs de travailler ensemble. Partager les sources n'est pas suffisant, il faut aussi avoir un système collaboratif permettant d'étudier, d'analyser un projet libre. Il manque un outil qui aide a la compréhension de la programmation, parce qu'il y a un fossé qui est en train de se créer entre les programmeurs vétérans et les novices. Pour reprendre les concepts de Eric Raymond, les plans de la cathédrale doivent être rendus public et le bazaar doit être ordonné.
Il est aussi important a mes yeux d'avoir une documentation centrale, une mère de toutes les documentations, avec tous les langages, toutes les librairies, tous les outils de développement, avec en bonus des tutoriels et des exemples. En quelque sorte l'équivalent de MSDN pour le logiciel libre.
Une grande partie de la communauté reste bloquée dans le test de différentes distributions, la compilation de logiciels, et les rapports de bug. C'est bien mais j'ai envie que les choses aillent plus loin, et pour cela il faut que la marche qui sépare le simple utilisateur du réel contributeur soit plus simple a gravir.

Ubuntu n'est pas libre : Une affirmation absurde

Mettons les choses au clair, quand je dit "une affirmation absurde", cela ne signifie en aucun cas une affirmation fausse. Oui, Ubuntu contient du code fermé, et je veux ici montrer que se baser sur cette caractéristique du système pour le rejeter est totalement incohérent.

Tout d'abord il est bon de savoir quels sont précisément les logiciels installés contenant du code propriétaire. Pour cela j'ai lancé la commande vrms sur une installation fraiche d'Ubuntu 8.10 dans Virtual Box, le résultat est le suivant :

            Non-free packages installed on strider-vbox

fglrx-modaliases          Identifiers supported by the ATI graphics driver
human-icon-theme          Human Icon theme
linux-generic             Complete Generic Linux kernel
linux-restricted-modules- Non-free Linux 2.6.27 modules helper script
linux-restricted-modules- Restricted Linux modules for generic kernels
nvidia-173-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-177-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-71-modaliases      Modaliases for the NVIDIA binary X.Org driver
nvidia-96-modaliases      Modaliases for the NVIDIA binary X.Org driver
tangerine-icon-theme      Tangerine Icon theme

            Contrib packages installed on strider-vbox

nvidia-common             Find obsolete NVIDIA drivers

  10 non-free packages, 0.8% of 1201 installed packages.
  1 contrib packages, 0.1% of 1201 installed packages.


Parmi cette liste ,j'élimine d'emblée les deux thèmes d'icones : Human et Tangerine qui sont sous license Creative Commons Attribution-ShareAlike 2.5 et qui n'ont rien a bénéficier d'une license GPL. Pour les libristes les plus intransigeants rappelons que Stallman lui même ne tiens pas particulièrement a voir des fichiers autre que du code source sous licence libre. Bref, ces thèmes d'icônes sont librement distribuables et c'est le principal. Un parenthèse sur Firefox et son logo qui ne sont pas utilisables librement. Un nom et un logo ne contiennent pas de code source, ils n'ont aucune raison d'être sous licence libre.

Un tour rapide des paquets concernant les drivers ATI et NVidia. nvidia-common est un script Pyhton sous GPL V2, il n'a rien a faire dans cette liste. Les paquets modaliases sont plus subtils : ils disposent d'un copyright d'AMD ou NVidia et ne sont pas sous GPL. Mais il ne s'agit pas des drivers a proprement parler mais uniquement d'une liste d'identifiant de cartes PCI avec le driver le plus adapté. En gros cela va indiquer au gestionnaire de pilote quel est le bon paquet a télécharger pour la carte en cours d'utilisation.

strider@strider-desktop:/usr/share/jockey/modaliases$ head -n2 nvidia-177 
# Listing generated by nvidia_supported. Do not edit manually.
alias pci:v000010DEd00000040sv*sd*bc03sc*i* nvidia nvidia-glx-177


Il nous reste maintenant le plus intéressant : Linux !
Le paquet linux-restricted-modules est le premier paquet comportant réellement du code propriétaire inclus dans trois projets distincts : ltmodem, broadcom et madwifi. Donc sans ce paquet vous aurez très peu de chance de voir votre modem interne avec un chipset Lucent, ou votre carte wifi avec un chipset Broadcom ou Atheros fonctionner. Si vous ne possédez aucun de ces trois type de matérie, vous pouvez désinstaller ce paquet si la présence de blobs binaires sur votre disque dur qui ne seront jamais exécutés vous dérange.
Et puis le meilleur pour la fin, le logiciel le moins libre de la distribution Ubuntu : le noyau Linux.
Je n'ai pas été chercher si les développeurs d'Ubuntu avaient rajouté certains modules fermés au noyau de base car celui ci, celui qui est en téléchargement sur kernel.org, en contient déjà suffisamment. Le noyau contient effet des blobs qui seront chargé sur les périphériques qui en ont besoin pour fonctionner. La FSF a bien évidemment crée un kernel linux libre dépourvu de ces blobs. Pour générer cette version spéciale du noyau, un script bash parcours toutes les sources du noyau a la recherche de microcode écrit en code machine et le supprime.
Kernel-libre
Le code nécessaire au bon fonctionnement du matériel est remplacé par le commentaire /*DEBLOBBED*/ . Le kernel libre offre donc les mêmes fonctionnalités que le kernel de base, les mêmes drivers sont présents, mais le périphérique demandant un microcode risque d'avoir quelques suprises quand il essayera de s'initialiser avec un kernel libre. La FSF n'a pas retiré les drivers propriétaires, elle les a rendu disfonctionnels ! On entre ici dans l'absurde mais on peut facilement continuer plus loin. Regardez autour de vous, essayez de vous faire une représentation de tout les appareils électroniques qui vous entourent et qui comportent un microprocesseur ou un microcontrolleur. Lesquels fonctionnent avec un code totalement libre ? Il y a de grande chances que la réponse soit zéro. La machine la plus "libre" que je connaisse est le XO Laptop de l'OLPC et celle ci demande quand même un microcode propriétaire pour faire fonctionner le chipset wifi...
Sérieusement, quelle est la raison pour laquelle on pousse les utilisateurs de systèmes GNU/Linux a installer des versions 100% libre ? Un noyau de base offre 2 possibilités : soit on a un périphérique nécessitant un microcode fermé et dans ce cas le périphérique fonctionnera, soit la machine n'a pas besoin de microcode (parce qu'elle inclus le code propriétaire dans une ROM, ce qui est encore plus hermétique) et alors le code fermé de Linux ne sera jamais exécuté. Dans le cas d'un kernel libre, on aura beau avoir l'âme en paix du fait de ne pas avoir quelques chaines en héxadécimal sur son disque dur, si on a la malchance de posséder un périphérique qui en a besoin, celui ci n'aura aucune chance de fonctionner.
Rendez vous a l'évidence : le moindre appareil électronique contient du code fermé, et il n'y a aucune raison de punir l'utilisateur parce que ce périphérique offre la possibilité de charger un firmware dynamiquement (en opposition a un firmware écrit de manière permanente en ROM, qui n'aura aucune chance d'être mis a jour). Le noyau Linux n'est pas libre a 100%, nous n'y pouvons rien, et nous pouvons déjà nous estimer chanceux que certains constructeurs aient permis la distribution de leurs firmwares pour assurer le bon fonctionnement de leurs périphériques.
Au final, on se rends compte qu'Ubuntu comporte quatre logiciels contenant du code propriétaire : ltmodem, broadcom, madwifi et linux. Tous concernent la gestion du matériel et il n'y aucun code non libre présent dans les programmes de l'utilisateur. Les alternatives 100% libres que sont BLAG, gNewSense et ututo n'ont aucun avantage par rapport aux autres si ce n'est la garantie de la liberté du code source. Il manque toutefois une liste mise en évidence sur les sites de ces distributions avec en titre "Voici la liste des périphérique qui ne fonctionneront pas sur notre distribution". Hormis les 3 distributions citées, toutes les autres distributions atteignent le même degré de liberté qu'Ubuntu, il est donc complètement absurde de dire "je quitte Ubuntu pour Mandriva/Debian/Gentoo/Fedora/etc... parce qu'Ubuntu n'est pas assez libre pour moi".


PS(1): Je ne souhaite pas m'étendre sur les facilités d'installation que propose Ubuntu pour certains logiciels propriétaires. Ubuntu n'est pas installé par défaut avec ceux ci et il appartient a l'utilisateur d'installer des programmes qui sont susceptibles de lui offrir une meilleure expérience au détriment de l'ouverture du code source. Toute fonctionnalité visant, d'une manière ou d'une autre a faciliter l'usage de la machine ne peut être qu'encouragée.

PS(2): Malheureusement certaines personnes font un amalgame entre logiciels propriétaire et format breveté. La plupart des codecs audio/video sont des logiciels libres, qui sont concus pour traiter des formats sous licence. Ce ce fait leur utilisation n'est pas légale dans tous les pays. Aussi on ne dit pas d'un format qu'il est libre mais qu'il est ouvert. Encore une raison pour insister sur le fait que le terme "libre" doit être appliqué uniquement aux logiciels (et aux documentations qui en découlent).

PS(3): Oui, Mono est un logiciel 100% libre

Web public, web privé : comment évoluer vers le Web 3.0

Une question qui reviens sur le tapis de plus en plus souvent est la question de la protection de la vie privée sur Internet. Le Web 2.0, les réseaux sociaux ont changé le comportement des internautes ces dernières années mais pas forcement dans le bon sens. Le grand public utilise joyeusement tout les nouveaux outils mis a leur dispositions (Facebook, MySpace, Gmail, FlickR,...) sans forcément se soucier des implications qui peuvent se cacher derrière. Les utilisateurs de logiciels libres les plus engagés auront quand à eu une attitude de méfiance pouvant aller au rejet le plus total pour les cas les plus extrêmes.
Les peurs liées aux applications web sont justifiées : Dans la très grande majorité il s'agit de logiciels propriétaires qui contrairement aux logiciels traditionnels, s'exécutent sur un serveur distant au lieu de s'exécuter sur votre machine. Sur ce point la, il n'y a aucune raison de différencier les clients lourds des applications web : un logiciel est conçu pour traiter des données, et que ce que soit votre processeur ou un serveur distant qui s'en occupe est strictement la même chose : vous ne possédez pas de contrôle sur vos données. Pire encore, vous n'êtes plus propriétaires de vos données puisqu'elles ne sont plus stockées sur votre disque dur.
Et inutile de séparer les 'gentils' SourceForge ou Launchpad des 'méchants' Google et Facebook , ils fonctionnent sur le même principe même si l'ont peut spéculer de manière incertaine sur leur motivations par rapport a l'utilisateur final. Et même quand le code source de Launchpad sera ouvert, cela ne changera pas grand chose en pratique. Vos données ne seront pas hébergées sur votre machine et il n'y aura aucun moyen d'aller vérifier que les sources exécutées correspondent en tout point a celles publiées.
Doit on pour autant rejeter en masses tout les outils collaboratifs et toutes les applications du Web 2.0 ? Il est évident que non ! J'irais jusqu'à qualifier cette attitude de paranoïaque, hermétique et stupide.
Sur Internet, c'est avant tout l'utilisateur qui doit être conscient de ses actions, du fait qu'il publie des données personnelles (et non privées, mais j'y reviendrais). L'internaute doit faire le choix de confier certaines données a un acteur tiers afin d'en assurer la visibilité par le plus grand nombre.
Avant de continuer je voudrais faire une parenthèse pour mentionner la conférence de Benjamin Bayard intitulée "Internet libre ou Minitel 2.0" qui cerne très bien le sujet.

Le cas de Marc L. : données personnelles et privées


Le magazine Le Tigre à récemment effectué une expérience très intéressante : On prends un individu lambda choisi au hasard parmi les utilisateurs des réseaux sociaux et on fouille le web a la recherche d'informations le concernant afin d'aboutir à un résumé de sa vie personnelle. Un vrai travail de détective en quelque sorte. Quand Marc L. a pris connaissance de l'article il est est tombé des nues car il ne se rendait surement pas compte à quel point sa vie était exposée sur le net.
Pourtant , le magazine Le Tigre n'a rien fait de mal, il s'est contenter de rassembler des informations visibles par tout le monde et d'en faire la synthèse. Le problème viens en totalité de la 'victime' et de son manque de prise de conscience vis à vis de ses actes sur le Web.
Il n'est pas nécessaire pour autant nécessaire se vivre caché mais le point primordial est de faire la différence entre données personnelles et donnés privées. Les données personnelles sont nominatives, par exemple l'affichage de votre adresse sur les pages blanches, ou le nom des bloggeurs sur Planet April. Le fait d'avoir des données personnelles sur la toile n'est pas un inconvénient, loin de la. Cela nous offre une visibilité par tous, nos 15 minutes de gloire en quelque sorte. C'est a mon avis un élément important et bouleversant du comportement de notre société. Auparavant seule les personnalités sélectionnées par les médias avaient droit a une reconnaissance et une renommée, avec Internet c'en est fini : chacun peut montrer de quoi il est capable sans avoir a subir de discriminations. Espérons que ce changement contribuera a terme à réduire le culte de la personnalité dont jouissent quelques privilégiés choisis par les médias traditionnels.
Les données privées quand à elles sont celles qui n'ont aucune raison d'être vues par d'autres personnes que vos proches, ou des personnes que vous choisissez au cas par cas. Cela signifie qu'il est totalement stupide de faire confiance a un acteur tel que Facebook pour diffuser de telles informations en se disant que son profil ne sera visité que par des personnes de confiance.
D'une manière générale on peut dire que toute information que vous ne souhaiteriez pas voir figurer dans le fichier Edvige, ou dans les pages Blanches ne doit être publiée sur le Web.
Les logiciels propriétaires du Web n'ont aucun défaut de ce point de vue, si Facebook vends vos données a des publicitaires, c'est VOTRE faute, si Google anaylse vos mails de GMail VOUS êtes responsables, si Microsoft censure vos conversations MSN, VOUS ne pouvez vous en prendre qu'a vous même. Personne ne vous oblige a publier telle ou telle information sur le web public et la confiance que vous accordez aux acteurs qui gèrent vos données ne doit jamais dépasser la valeur de ces informations.
Enfin quand je dit que vous êtes responsable de vos agissements sur le net, c'est en théorie bien sur... Dans la réalité, il y a un gros travail de sensibilisation a faire chez les internautes pour contrer le sentiment de mise en confiance qu'offre délibérément les gros acteurs du Web. C'est triste a dire mais il y a eu une réelle régression faite ces dernières années sur l'attitude à avoir sur Internet. Lorsqu'Internet n'était peuplé que de geeks, il existait une réelle séparation entre les communications publiques et privées, aujourd'hui tout est en train de se confondre car les outils propriétaires offrent un confort d'utilisation formidable alors que les outils utilisés traditionnellement n'ont pas bougé en 20 ans alors que le web accueille de plus en plus de nouveau venus néophytes.

Le réseau sous 4 angles différents


On peut voir Internet comme un échange entre un internaute et un ou plusieurs autres internautes a l'autre bout du tuyau. Ces communications peuvent être soit publiques, soit privées. Un émetteur, un destinataire, privé ou public : cela donne 4 configurations différentes.
Il est important de préciser que les communications privées doivent l'être en tout point de la chaine de communication, car vous n'êtes pas sans savoir que les gouvernements souhaitent contrôler le traffic (DADVSI, rapport Olivennes, etc...) et qu'un transfert peut être intercepté à n'importe quel endroit de la chaine.
1. Public - public
Inutile de s'étendre longuement sur ce cas, c'est celui que vous connaissez tous car il est utilisé dans 99% des cas : surf sur le Web, conversations sur IRC ou MSN, échange de mails, P2P non crypté, etc...
2. Public - privé
C'est une configuration a part et qui ne nous intéresse pas dans le cas présent : vous essayez d'intercepter une communication privée et de la décrypter: c'est du cracking. En revanche nous souhaitons nous protéger de ce genre d'attaques et c'est pour cela que nos communications privées doivent l'être réellement et avec des cryptages forts.
3. Privé - public
Vous souhaitez masquer votre identité pour accéder a des données disponibles sur Internet ou pour publier des données sans dévoiler votre identité. Vous pouvez utiliser un serveur proxy anonyme si vous lui faites confiance ou surfer hors de votre domicile ou de votre lieu de travail en n'utilisant aucune information qui puisse vous identifier (login, adresse mail, adresse MAC de votre carte WIFI ...).
4. Privé - privé
C'est a l'heure actuelle le domaine le plus important à développer, Les données doivent sortir de votre carte réseau en étant chiffrées et être déchiffrées chez l'interlocuteur. De nombreux outils et protocoles permettent cela : SSL (HTTPS, FTPS), SSH (connection directe, tunnels, VPN ), clés PGP ou GPG, réseaux friend2friend.

Il est très important de se focaliser sur le dernier point pour que le net pour que le net soit la propriété des internautes et non de quelques sociétés et des gouvernements. Comme je l'ai dit précédemment les outils nécessaires existent depuis plus de 20 ans, il s'agit maintenant de les rendre accessible au grand public comme le sont les outils existants pour le Web 2.0.
Internet a été crée par la communauté du logiciel libre et il est en train de se faire bouffer par des corporations qui ne méritent pas notre confiance même si elles proposent des services avantageux et confortables qui peuvent être utilisés a bon escient. La communauté du logiciel libre doit reprendre la main sur le transfert de données privées et ne pas rester immobile en tombant dans la paranoïa la plus complète.

Test des performances de l'OpenGL avec VirtualBox 2.1

Depuis sa sortie, les annonces ne manquent pas pour annoncer l'évolution majeure de VirtualBox 2.1 : Le support de l'OpenGL. Qu'en est il des performances par rapport a un système natif ? C'est ce que nous allons voir !
L'installation se passe comme les mise a jour habituelles de VirtualBox, je déconseille fortement l'utilisation de la version Open Source car amputé de nombreuses fonctionnalités et bien plus compliquée a installer si vous sortez de la version maintenue par votre distribution. Une fois VirtualBox mis a jour, pensez à réinstaller les Additions Clients sur Windows, qui contiennent les drivers OpenGL. (Il vous faudra aussi activer la case 'Accélération 3D' dans les préférences de la machine virtuelle.
Les tests que j'ai lancés sont ioquake3 (la version libre de quake3) et Warcraft 3 : The Frozen Throne. J'ai voulu tenter le test de Unreal Tournament 2004 mais celui ci ne se lance pas en mode OpenGL mais seulement avec le rendu logiciel, qui est très lent. Je n'ai pas voulu abuser en testant Doom 3 ou Quake 4, on reste tout de même sur une machine virtuelle, mais si un utilisateur téméraire veux faire le test, je serai curieux de voir ce que ça donne.
Passons aux résultats des benchmarks :
Pour Warcraft 3 ,les FPS ont été mesurés avec le logiciel Fraps sous Windows et avec l'option WINEDEBUG=+fps sur Wine. Etant donné la différence des méthodes de mesure il ne faudra pas être trop regardant sur l'exactitude des résultats de Linux VS Windows mais plutot se concentrer sur les différences entre la version native et la virtualisée.
Pour activer l'OpenGL, il faudra ajouter l'option -opengl au lancement. Le jeu a été lancé en 1280x1024 avec les options graphiques au maximum.

Benchmark Warcraft III

Pour Quake 3, le jeu a été lancé en 1024x768, toujours avec les détails poussés au maximum. Dans la console de Quake il faudra taper timedemo 1 , lancer une démo et retourner sur la console pour voir les résultats. A noter qu'il y a un bug de ioquake3 sur Linux qui empeche de voir la console si on ne passe pas son clavier en qwerty...

Benchmark Quake 3

Au final, les résultats sont assez surprenants. En effet il y a tout de même une grosse différence entre la version native et VirtualBox, mais les 2 jeux testés restent utilisables compte tenu des performances. Pour cette première version supportant l'accélération c'est déja un très bon début. Évidement les jeux testés n'ont aucun intérêt a êtres virtualisés étant donné que Quake 3 existe en natif et que Wine donne des performances au moins aussi bonne que Windows sur Warcraft.
Les futures versions apporterons probablement le support de l'OpenGL sur les clients Linux et le support de DirectX sur les clients Windows, ce qui sera tout de suite plus utile.

XRandr enfin fonctionnel sur le XO d'OLPC

L'écran du XO Laptop est en lui même révolutionnaire, avec une taille de 7 pouces et une résolution de 1200x900, c'est l'écran TFT disposant du pitch le plus fin existant. Bien sur il faut prendre en compte le fait que cette résolution n'est réellement effective qu'en mode noir et blanc non rétroéclairé, avec un mode couleur, les pixels d'une ligne sont successivement rouge, vert puis bleu ce qui donne un rendu étrange (qui ne se remarque pratiquement pas grâce à la finesse du pitch.)
Avant la sortie du XO et même encore aujourd'hui, presque tous les sites décrivant les spécifications du XO donnaient 2 résolutions: 1200x900 pour le N&B, et 800x600 ou une autre résolution farfelue pour le mode couleur. N'importe quelle personne qui aura réellement utilisé cette machine saura que c'est totalement faux ! Le XO possède une et une seule résolution de 1200x900 et le Wiki du projet fait bien d'apporter une note sur cela :
Ignore talk of "mono and color modes", and of screen resolutions other than 1200x900. We named things poorly, and immense confusion has resulted. http://wiki.laptop.org/go/Display

Avoir l'affichage le plus fin au monde c'est sur que c'est la classe, dans ce domaine il bat le EEEpc et les autres netbooks a plates coutures, mais cette caractéristique peut aussi être un gros inconvénient. Avec son processeur AMD Geode@433 Mhz, et son chipset graphique intégré ne supportant pas OpenGL, le XO a beaucoup de mal quand on lui demande de lancer des applications plein écran avec cette résolution élevée.
J'ai le projet de répertorier les jeux et émulateurs fonctionnels sur XO et le fait d'être bloqué en 1200x900 limitait beaucoup les résultats. Le passage a une autre résolution n'est pas possible sur l'OS Fedora 9 du XO et sur DebXO , il en résulte un affichage corrompu (voir ici). Suite à une discussion que j'ai lancé a ce sujet, Jordan Crouse, un des développeurs du driver Geode, dit qu'il a corrigé le problème sur le dernier snapshot GIT.
N'ayant pas tout de suite pris connaissance du message, je n'ai pas tenté la compilation mais en y revenant quelques jours plus tard, j'ai découvert par la même occasion que ce driver était disponible pour la distribution DebXO (Une Debian Lenny modifiée pour le XO). En effet le répertoire de DebXO 0.5 contient uniquement des drivers xserver-xorg que je me suis empressé d'essayer. Et la c'est fantastique, toutes les résolutions fonctionnent sans aucun problème ! Les répercutions sont conséquentes : toutes les applications qui étaient trop gourmandes pour fonctionner en 1200x900 fonctionnent sans problème dans une résolution inférieure. J'ai testé quelques émulateurs qui fonctionnent a merveille : Gens (Sega Megadrive), ZSnes (Super Nintendo), ScummVM (Jeux Lucasart) , XMame (Arcade). Ce nouveau driver permet de faire du XO Laptop une véritable console portable, chose que j'attendais depuis presque un an. De quoi faire patienter avant la disponibilité de la console Open Pandora ;)

Un grand merci a Jordan Crouse, Mitch Bradley et Andres Salomon pour leur fantastique travail :)

Ps : J'ai des erreurs a propos de l'extension XF86DGA lors du passage en plein écran de Unreal Tournament et Snes9X, si des connaisseurs passent par la, un coup de main serait le bienvenue.

Installer Windows sans écraser Grub

Un des gros inconvénients de Windows est son incapacité a prendre en compte les installations de Linux présentes sur la machine. En effet, toutes les versions de Windows écrasent les gestionnaires de démarrage présent sur le disque de boot, ce qui implique qu'il faudra réinstaller Grub a l'aide d'un Live CD.
Il existe cependant une solution très simple pour mettre en place facilement un dual boot et dont la seule condition est d'installer Windows sur un disque physique différent de celui qui contient Grub.
Avant l'installation, allez dans votre BIOS pour changer l'ordre de priorité des disques dur et mettez le disque qui va accueillir Windows en premier, de cette façon Grub restera a l'abris.
Installez Windows normalement sans se soucier des autres systèmes présents.
Une fois l'installation terminée, retournez dans le BIOS et rétablissez l'ordre de démarrage de façon a retrouver Grub et vos systèmes Linux.
Démarrez votre système principal et ouvrez le fichier /boot/grub/menu.lst avec des droits administrateur.
Rajoutez a la fin du fichier les lignes suivantes :

title		Windows XP
root		(hd1,0)
savedefault
makeactive
map		(hd0) (hd1)
map		(hd1) (hd0)
chainloader	+1

Testez votre dual boot, si Windows ne démarre pas, revenez sur Linux et jouez sur les numéros de disque (remplacez hd1 par hd2 ou hd3). Au pire si cela ne fonctionne pas vous pourrez toujours démarrer Windows en répétant l'opération effectuée sur le BIOS.
Notez que cette manipulation peut aussi s'avérer utile pour les distributions Linux un peu trop brutales qui ne tiennent pas compte de la configuration Grub déja présente.

Benchmark de ffmpeg Ubuntu 32/64bit , Arch , Seven

Pour aller dans la continuité du précédent benchmark de UT2004 sur différentes distributions, j'ai continué les benchmarks avec FFMpeg. Cette fois ci le test ne se base pas autant sur un unique composant qui étaient les drivers NVidia mais mesure la puissance de calcul de la machine.

Les distributions testés sont :

  • Ubuntu 8.10 32 Bit
  • Ubuntu 8.10 64 Bit
  • Arch Linux
  • Windows Seven pre-beta


Les tests ont étés lancés avec la commande time ffmpeg -i pts-trondheim.avi -y -target ntsc-vcd /dev/null 2>&1
(Le fichier video utilisé est celui inclu dans phoronix test suite)
Sur windows la commande a été adaptée : measure-command {.\ffmpeg -i .\pts-trondheim.avi -y -target ntsc-vcd nul}
J'ai utilisé la commande PowerShell measure-command qui est un équivalent de time sur Unix. Au passage si vous chrechez un bon shell sur Windows, téléchargez PowerShell, il redonne une très bonne opinion de la ligne de commande sur Windows après des années de cmd.exe inspirant le DOS de 1990 et il peut être une bonne alternative a Cygwin (même si je préfère tout de même ce dernier avec son intégration d'une multitude d'outils GNU et qui permet d'écrire des scripts Bash)

Et voila ce que ça donne :
Benchmark FFmpeg
Voila ce qu'on peut en conclure :

  • Quel que soit l'OS, les résultats varient très peu, même le 64Bit n'est pas franchement gagnant bien qu'il soit réputé pour son gain de vitesse pour les taches de calcul mathématique
  • Compiz a un faible impact sur le système, sa désactivation permet de récupérer quelques millisecondes
  • Arch Linux n'arrive pas a se démarquer franchement d'Ubuntu, la mauvaise réputation d'Ubuntu viendrait elle de personnes pouvant ressentir ces quelques fractions de secondes de différence ?

Left 4 Dead sur Linux : La rumeur qui parcours la toile

Ces derniers temps, le site d'actualités Phoronix fait beaucoup parler de lui, souvent pour de bonnes raisons. Les benchmarks publiés avec l'aide de leur outil Phoronix Test Suite ont donné aux lecteurs une vision claire et précise des performances des systèmes Linux.
Après quelques années passées dans la pénombre, cette fin d'année est vraiment pour le webzine un formidable bond en avant et se retrouve propulsé comme site de référence pour tout ce qui touche le hardware et le benchmarking sur Linux.
Un autre domaine sur lequel Phoronix est très présent est celui du jeu vidéo avec toutefois une actualité assez maigre compte tenu du nombre de sorties vidéoludiques sur notre système.
Dernièrement une news de Phoronix a fait beaucoup de bruit : la confirmation de Steam sur Linux. Cette actualité a été reprise par énormément de blogs et de sites, y compris l'estimable Ars Technica.
Si l'information a tellement circulé c'est qu'elle fait énormément plaisir, et de nombreux joueurs n'attendent que le portage de Steam et le moteur Source pour passer totalement sur Linux.

Lire la suite...

Du nouveau sur le blog

Le blog a enfin migré sur Dotclear 2, l'opération a été rendue possible par la possibilité de faire cohabiter MySQL (utilisé par dotclear 1 et par Tweekers ) et PostgreSQL, moteur de base de donnée obligatoire pour installer Dotclear 2 sur les serveurs Free.
Outre le fait qu'il a fallu attendre quelques jours avant d'avoir la base activée, l'opération s'est déroulée sans problème y compris la migration de DotClear 1 vers la version 2.
Autre nouveauté, plus importante c'est mon adhésion a l'April et l'intégration du blog au Planete April. Ce billet devrait donc être le premier a être publié, bonjour le Planet :)
J'en profite pour rappeler que l'April a mis en place une campagne d'adhésion, avec pour objectif 5000 membres, j'encourage donc toute personne voulant défendre le logiciel libre a rejoindre l'association.

Benchmark de UT2004 : Ubuntu 8.10 vs Windows 7 vs Arch Linux

Les benchmarks de Phoronix font de plus en plus parler d'eux ces derniers temps, avec dernièrement un match de Fedora 10 contre Ubuntu 8.10 (un beau match nul).
Mais s'il y a un reproche que je ferais a Phoronix c'est celui de ne pas inclure les systèmes Windows dans ses tests ni d'utiliser des distributions réputées comme rapides. Bref, l'idée de départ est de porter PTS sous Windows (autant que possible car tout les programmes du benchmarks ne sont pas présents sur Win) et donc voila un premier résultat qui met face à face :

  • Ubuntu 8.10
  • ArchLinux
  • Windows 7 pre-beta

Je regrette juste de ne pas avoir fait de tests sur Windows XP mais malheureusement il n'est pas installé sur ma machine.
Le benchmark lancé était UT2004 en 1024x768 avec les réglages de PTS 1.4 c'est a dire les paramètres :
as-convoy?spectatoronly=1?numbots=8?quickstart=1?attractcam=1 -benchmark -seconds=120 -nosound
Et voila les résultats : (cliquez dessus pour agrandir)
Donc première surprise, ce sont les détracteurs d'Ubuntu qui peuvent se la fermer, avec un gros vainqueur du coté d'Intrepid Ibex. Archlinux est réputé pour être une distribution beaucoup plus rapide qu'Ubuntu, qui serait sensé se trainer comme un veau. Nous voyons bien qu'ici que lorsque l'ont sort les chiffre, la réalité est toute autre. J'ai toujours douté de la crédibilité des détracteurs d'Ubuntu, sans pour autant refuser de les croire. Cependant il faut avouer qu'ici, rien ne permet de leur donner raison. Attention toutefois a ne pas tirer de conclusions hâtives car c'est un test unique et seuls des benchmarks supplémentaires peuvent confirmer ces résultats.
Deuxième surprise, c'est la faible performance de Windows 7 pour UT2004 qui traditionnellement tourne mieux sur Windows que sur Linux, ce qui est moins surprenant en revanche c'est la performance moindre en OpenGL par rapport a Direct3D (J'avais déjà constaté une baisse de performances de l'OpenGL avec Vista).
Troisième point remarquable et un autre mythe qui se brise, c'est le faible impact de Compiz Fusion sur les résultats : moins d'une image par seconde. La aussi, d'avantages de tests seraient nécessaires pour confirmer cela mais personnellement je ne coupe que rarement Compiz pour jouer depuis longtemps ...

NAS Synology DS107+ : Linux friendly !

Avoir un serveur domestique peut être très pratique, ce n'est pas sans inconvénient. Le premier est le bruit, surtout dans un petit appartement ou le serveur sera toujours suffisamment prêt du lit pour être entendu la nuit. La seconde est la consommation électrique causée par la machine fonctionnant en permanence. Je n'ai pas encore chiffré ça mais on le sent passer lorsqu'on reçoit la facture EDF.
Pour ces raisons, j'ai décidé d'investir dans un NAS (Network Attached Storage), qui est grosso modo un disque dur externe que l'on branche sur son résau au lieu de le brancher en USB.
Enfin cette description était valable il y a quelques années car aujourd'hui les NAS offrent beaucoup plus de possibilités. Mon choix s'est porté sur le Synology DS107+, version boostée du DS107 avec un processeur ARM à la place du PowerPC, et 128Mo de RAM. Choix que je ne regrette pas du tout car j'aurais été frustré d'avoir une machine moins puissante, finalement les 40 € de différence se justifient totalement.
Sur le papier, la machine est assez alléchante : en plus de la fonction de base de partage réseau (Samba), le boitier offre un serveur FTP, un serveur web, une fonction de backup sur disque USB, le téléchargement Bittorent, la prise en charge d'imprimantes USB, de caméra de surveillance IP et quelques autres bonus. Malheureusement aucun support Linux n'est indiqué mais en surfant sur le web je vois que différents utilisateurs Linux utilisent des NAS de ce type. Tant pis si je dois utiliser Samba au lieu de NFS ...
Je commande donc le boitier avec un disque SATA III d'un petit Téra-Octet chez mon ancien employeur LDLC.fr. Le colis arrive très rapidement (commandé le vendredi, reçu le lundi) et il s'avère que dans la réalité le boitier est ... bien meilleur que sur le papier !
L'installeur fourni est uniquement pour Windows (une version MacOSX existe aussi) mais il est 100% compatible avec Wine ! Un double clic sur l'icone de Setup et tout se déroule sans problème, aucune complication supplémentaire par rapport a Windows.
Ensuite je me rends compte que toute les fonctionnalités n'étaient pas forcément affichées en boutique : le partage des fichiers peut aussi se faire avec NFS (yay !), le serveur Web gère les sous domaines et https ! On peut aussi télécharger sur emule (bon ok, emule c'est devenu de la merde) en plus de bittorent. Et last but not least ... il y a un accès ssh au NAS, en root s'il vous plait.
Avec un accès ssh, cela ouvre beaucoup de possibilités mais ce n'est pas encore fini ! Le Synology propose aussi le téléchargement de logiciels par un gestionnaire de paquets (ipkg) et une importante communauté offre de nombreux logiciels, ce qui fait que je peut retrouver mon serveur SVN.
Il est agréable de voir qu'il existe encore en 2008 des constructeurs qui proposent du matériel ouvert, adaptable a tout les besoins, et qui ne prends pas ses utilisateurs pour des crétins. Et oui, le code source est en GPL et il est disponible sur le site du constructeur.

Deux programmes pour améliorer le bureau Windows

Après avoir longtemps cherché a retrouver certaines fonctionnalités du bureau Linux sous Windows, j'ai enfin trouvé des solutions très satisfaisantes pour combler certains manques de l'OS Microsoftien.
La première fonctionnalité est la possibilité de scroller le contenu d'une fenêtre sans pour autant la rendre active et l'amener au premier plan. En effet il est très pratique de pouvoir faire défiler un texte sur une fenêtre au second plan ou inversement, il est rageant de devoir activer une fenêtre, scroller a la bonne position et réactiver la première fenêtre.
Heureusement, le programme DeskAngel réussi a combler cette lacune, et apporte même d'autres améliorations comme la possibilité de jouer sur la transparence d'une fenêtre, d'enrouler une fenêtre (en n'affichant que la barre de titre) ou encore de forcer une fenêtre a rester au premier plan avec un clic droit sur la barre de titre. J'ai choisi de désactiver la fonction 'Mid Button function' car elle maximise la fenêtre avec le clic du milieu, monopolisant le bouton de la molette, la fonction d'enroulement est incompatible avec le 2ème programme que je vais décrire et sera aussi désactivé.
L'autre programme en question est WinMover et il permet de redimensionner et déplacer les fenêtres sans avoir a déplacer sa souris sur les bords. Comme sur Linux, il est possible de déplacer une fenêtre avec Alt + Bouton Gauche et de redimensionner avec Alt + Bouton Droit. Quand on est habitué a avoir ce comportement sur Linux, ça fait beaucoup de bien de le retrouver sur Windows!

Phoronix Test Suite : Le benchmarking sur Linux

Phoronix est un webzine anglophone traitant de l'actualité hardware mais sur Linux. On y trouve aussi bien des articles sur les dernières cartes graphiques que sur les dernières distributions et les jeux vidéo. C'est a ma connaissance le seul site disposant d'un information aussi complète sur le matériel compatible Linux, le plaçant d'emblée comme une référence incontournable. (Et je conseille fortement de s'abonner au flux rss ).
Comme tout site testant du matériel, les articles vont contenir de nombreux benchmarks, permettant d'évaluer les performances du hardware ou du software. Si les outils de benchmark sont nombreux sur Windows on ne peut pas en dire autant pour Linux. Ca ne signifie pas qu'il est impossible de mesurer les performances logicielles sur Linux, mais juste qu'il est plus compliqué d'obtenir des résultats pouvant être présentés dans un article.
Phoronix s'est servi de son expérience de 4 ans dans le benchmarking pour nous offrir un outil très complet : Phoronix Test Suite ou PTS en abrégé.
J'ai suivi depuis le lancement de ce programme les évolutions et les mises a jours sans pour autant tenter son installation, puis avec l'annonce de Phoronix sur la dégradation des performances d'Ubuntu au fil des versions, je me suis dit qu'il serait bien de constater ça par soi même. En effet, s'il y a un reproche qui est fait à Ubuntu par les utilisateurs expérimentés c'est sa prétendue lourdeur et ici Phoronix le démontre par des chiffres. Les benchmarks sont le seul argument recevable quand il s'agit de discuter de la rapidité d'une distribution et malheureusement ils sont trop souvent absent des débat du style "Debian est tellement plus rapide qu'Ubuntu". Pour prendre un exemple concret, les tests sur Fedora qui ont suivi ceux sur Ubuntu ont montré que Fedora se démarque très peu d'Ubuntu et Ubuntu 7.04 conserve une nette largeur d'avance sur toutes les versions confondues.
Il ne s'agit pas de se servir de ces résultats pour savoir vers quelle distribution revenir mais de les étudier afin de déterminer quels sont les éléments qui ralentissent les version actuelles. Pour faire progresser les distributions Linux il faudra effectuer le plus de tests possibles en modifiant la distribution actuelle. Il faut aussi installer d'autres distributions récentes et moins récentes pour avoir des points de référence, qui vont permettre d'atteindre des objectifs de rapidité. Une fois que l'on a déterminé quelle est la vitesse maximale a atteindre, les possibilités de modification de la distribution a améliorer sont nombreux, on pourra par exemple : recompiler son noyau avec différentes options, supprimer certains services, utiliser différentes versions de drivers, recompiler certains programmes, changer d'environnement de bureau, etc...
Une méthode intéressante pourrait être de faire une installation minimale et d'insaller chaque composant supplémentaire, en les intercalant de benchmarks, jusqu'a trouver les composants coupable des ralentissement. Il faut bien sur pour cela que la distribution minimale atteigne les objectifs de vitesse désirés, et heureusement l'installation minimale sera plus facile a modifier qu'une installation complète (moins de choix de composants a modifier).
Dans tout les cas, une seule chose est sûre : un linux est un linux : n'importe quelle distribution peut être modifiée afin de ressembler point par point a une autre même si cela demande un lifting conséquent.
Passons maintenant a l'installation de PTS. Avant toute chose il est très conseillé de s'inscrire sur Phoronix Global cela permettra de regrouper tout les tests effectué sur une page et d'y avoir facilement accès. Ensuite il faudra installer quelques dépendances pour faire fonctionner PTS, il s'agit de php5-cli et php5-gd. On pourra télécharger PTS en .deb pour Ubuntu ou Debian, ou ses sources pour les autres distributions. Dans le 2ème cas, aucune compilation n'est nécessaire puisque PTS est écrit en PHP, un simple make install suffira.

Une fois installé il faudra installer les différents tests désirés. Ceux qui ont beaucoup de temps a perdre et beaucoup d'espace disque pourront télécharger la totalité des tests en tapant phoronix-test-suite install universe. Les plus raisonnables choisiront judicieusement les tests en tapant phoronix-test-suite list-tests pour afficher la liste des tests ou phoronix-test-suite list-suites pour afficher les suites qui sont des regroupement de tests par thème (des meta-paquets en quelque sorte). Une fois téléchargé et installé (certains tests demandent une phase de compilation), on peut lancer les tests avec phoronix-test-suite benchmark <nom_du_test>.

Voici le lien vers ma page sur Phoronix Global, qui devrait s'étoffer au fil du temps: http://global.phoronix-test-suite.com/?k=author&u=strycore

La chasse aux octets : Baobab et FSLint

Il arrive toujours un moment ou l'on est a la recherche de quelques malheureux mega-octets disponibles sur son disque dur. Si auparavant (sous Windows) cette tache était fastidieuse et moyennement efficace, nous avons aujourd'hui des outils formidables qui permettent en deux temps trois mouvement de repérer les dossiers les plus consommateurs d'espace disque.
Il existe différents outils pour analyse l'usage de ses disques mais je mettrais surtout l'accent sur Baobab, disponible par défaut dans Gnome (aussi appelé Analyseur de l'usage des disques dans le Menu Applications > Accessoires ).
Il faut néanmoins savoir que leur équivalent KDE et Windows sont respectivement KDirStat et WinDirStat.



L'interface de Baobab est (comme toute bonne application Gnome) très simple d'accès et intuitive. On choisira au démarrage un répertoire, a analyser et quelques secondes ou minutes (selon le nombre de fichiers), Baobab affichera un rapport détaillé, avec représentation graphique a l'appui.
La représentation en cercles concentriques apporte un réel plus pour situer instantanément ou se trouvent les plus gros répertoire. Il est possible de naviguer dans le système de fichier en cliquant sur chaque segment de cercle et d'ouvrir une fenêtre Nautilus a l'endroit spécifié.
Mais autant analyser un répertoire c'est bien, analyser un disque physique c'est mieux. Et ceux qui connaissent le fonctionnement de l'arborescence Unix savent qu'il est difficile de distinguer plusieurs lecteurs physiques. Heureusement, Baobab possède une fenêtre d'option qui permettra de choisir le disque a analyser.
Si j'avais un seul regret a émettre sur Baobab, c'est l'impossibilité de rafraichir une partie de l'arborescence que l'on a scanné au départ, étant donné qu'une analyse complète peut être assez longue.

Pour faire un nettoyage plus complet, FSLint s'impose, cet outil va aller a la recherche de doublons, de fichiers temporaires, de liens cassés, ...
Il est disponible en ligne de commande et avec une interface graphique mais celle ci est encore perfectible du point de vue de son ergonomie. Si FSLint fait son boulot, je doute de son efficacité sur le traitement d'un grand volume de données. Il manque des options qui rendraient son utilisation plus agréable.
Bref, ce n'est pas avec cet outil que je vais effacer mes photos que j'ai en triple exemplaire, a moins de ne pas avoir saisi toutes les subtilités du programme.
Une prochaine fois j'aborderais le programme en ligne de commande fdupes, pour justement faire ce que je viens de dire plus haut : enlever les doublons dans une importante collection de photos.

Autoscan Network : son réseau en un coup d'oeil

Autoscan Network est un très bon outil pour avoir une vue d'ensemble de son réseau local en un coup d'oeil.
Au démarrage il demande sur quelle interface réseau est branché le réseau local puis il va scanner toutes les machines accessibles et donner un maximum d'informations, le tout avec une présentation très plaisante.
Ainsi, il est possible de savoir sur chaque machine, quels ports sont accessibles, de connaitre le nom de partage réseau SMB, le système d'exploitation qui fait tourner la machine, l'adresse IP, MAC, etc...

Une fois votre réseau scanné, il est possible d'ajouter une alerte d'intrusion qui va se déclencher a chaque nouvelle machine qui arrive sur le réseau. Chose qui peux être utile pour un admin réseau dans une entreprise, ou plus modestement, pour vérifier qu'on ne se connecte pas a votre réseau Wifi a votre insu.

Autoscan Network est disponible sur Windows et Linux (et accessoirement sur les téléphones Nokia N810), il n'est cependant pas disponible sous forme de paquet pour les distributions Linux. Il vous faudra télécharger le programme sur le site : http://autoscan-network.com puis l'installer a l'aide d'un installeur graphique très bien conçu. Autoscan Network est aussi disponible dans l'excellente distribution axée sécurité : Backtrack 3, comme ca vous pouvez toujours l'avoir dans votre poche ^^

Plus d'informations sur la doc d'Ubuntu : http://doc.ubuntu-fr.org/autoscan

Modification des serveurs Soulseek dans Nicotine

Les serveurs soulseek ont changé en Juin 2008, cependant aucune mise a jour de nicotine n'a été publiée depuis Septembre 2007

Pour mettre a jour votre configuration de nicotine executez dans le répertoire du programme ( /usr/share/python-support/nicotine/pynicotine sur ubuntu ) les commandes suivantes :

sudo find -name "*" -type f -exec sed -i "s/server.slsknet.org:2240/sk6.slsknet.org:2242/g" {} \;
sudo find -name "*" -type f -exec sed -i "s/server.slsknet.org/sk6.slsknet.org/g" {} \;