Tuesday, January 6, 2009

Barrières de langue

J'utilise depuis maintenant longtemps Linux et BSD, et une différence notable des deux systèmes m'est apparu récemment de façon nette en lisant Les Cahiers de l'Admin BSD:
" Si lire l'anglais technique représente un obstacle insurmontable, les BSD ne sont probablement pas faits pour vous."
De même sur sur la FAQ BSD du wiki gcu commence ainsi:
"Primo : apprendre l'anglais."

Pour FreeBSD et OpenBSD le manuel et la plupart des pages du site web sont traduits en français. Sur NetBSD, l'installateur est disponible en français. Mais les pages de man, qui restent la documentation de référence ne sont disponibles qu'en anglais sur les trois systèmes.
Ainsi donc si vous voulez utiliser un BSD n'oubliez pas ce pré requis: compréhension de l'anglais technique requise ! Si vous écorchez trop l'anglais, on créera peut être un jour un live cd BSD en votre hommage.

Une autre barrière, cette fois celle de la langue informatique, est celle du shell, de la console, bref de l'interface texte pour saisir des commandes. Chaque fois que j'ouvre une console que ce soit sous Windows, OS X ou Linux, mon entourage non informaticien ouvre des yeux ébahis, en évoquant WarGames ou encore la lecture en direct de la matrice.
Si vous faites du prosélytisme pour le libre à des non informaticiens, effectuez donc chaque action possible avec l'interface graphique et éditez les fichiers de configuration avec gedit pas avec vi ( Note: Alt-F2 puis 'gksu gedit' peut se révéler très pratique sous Debian, et 'gksudo gedit' sous Ubuntu)

Un des buts sociaux du logiciel libre est l'empowerment de l'utilisateur, qu'on peut traduire par l'augmentation de son autonomie. Ainsi le logiciel libre permet de choisir son système d'exploitation, son navigateur web, son éditeur de texte, le format d'encodage de sa musique, et de modifier chacun de ces composants si l'on en a l'envie et la compétence.
Mais malheureusement la difficulté technique du passage à Unix entraîne souvent une dépendance de fait envers le prosélyte qui vous l'a installé. Si vous préférez lire Platon en grec ancien pour la richesse de la langue, la meilleure de façon de faire découvrir la philosophie grecque est sans doute d'offrir une traduction en français.
Similairement, même si la ligne de commande vous permet de faire dans une boucle shell les choses dix fois rapidement qu'avec synaptic ou les paquets PBI, ce n'est pas la meilleure façon
de présenter les Unix libres aux non informaticiens.

Saturday, December 6, 2008

Blog Meme: combien de mots de passes retenez vous ?

La nécessité de choisir un nouveau mot de passe pour protéger ma clé privée GPG, m'a amené à la reflexion suivante: au fait combien de mots de passe dois-je retenir en permanence ?

Pour ma part c'est
  • Huit mots de passe pour les comptes personnels ( mail, compte de mon ordinateur personnel, wikis). Sur ces huit mots de passe, le gestionnaire de mots de passe de Firefox en connait 4.
  • Trois mots de passe pour les comptes professionnels
  • Trois mots de passe partagés avec d'autres personnes pour libera.cc
  • Un mot de passe partagé pour un compte webmail
Ce qui nous donne tout de même 15 mots de passe. Comme beaucoup de personnes, j'utilise un schéma de difficulté graduelle avec des mots de passe communs pour différents comptes, mais:
  • parfois je connais le mot de passe, et pas le nom d'utilisateur
  • beaucoup de sites web ont des contraintes différentes quand à leur exigences de sécurité: certains vous recommandent l'emploi des caractères spéciaux (!#+?), d'autres les refusent.
  • les mots de passe à partager en commun sont une plaie: personne ne souhaite réutiliser un mot de passe personnel pour le donner à quelqu'un d'autre ce qui oblige à générer une nouvelle hiérarchie de mots de passe comptes web / compte utilisateur système / compte administrateur système
  • aucun de ces mots de passe n'est écrit sur papier, bien que j'y réfléchisse pour certains comptes comme le recommande le cryptologue Bruce Schneier (en)
Après avoir lu les meme des blogs de planet.debian.org, je lance donc le meme suivant:
et vous combien de mots de passe retenez vous en permanence ?

Saturday, November 22, 2008

Extension du domaine de la lutte: un firmware libre sur votre balladeur MP3

Après avoir lu que le projet Rockbox venait de sortir une nouvelle version stable, je me suis décidé à jeter un coup sur Rockbox et à l'installer sur mon baladeur MP3. Rockbox est un firmware alternatif sous license GPL, qui s'installe à côté du firmware original en modifiant le boot loader du baladeur.
Rockbox est écrit en C et en assembleur pour certaines routines low-level, et le résultat est très impressionnant. Je pensais notamment que l'interface serait plutôt complexe avec des dizaines d'options de configuration, mais non, même si les dizaines d'options de configuration sont là, les réglages par défaut sont corrects, le thème de base plutôt joli et l'interface intuitive.



Quel est l'intérêt d'un firmware libre en lieu et place de celui de iriver/archos/apple ? D'abord évidemment on pourra supporter les codecs supplémentaires ( ogg, flac ) que les lecteurs du marché n'embarquent pas. Ensuite comme dit précédemment, on dispose de beaucoup plus de thèmes et d'options de configuration, ce qui vous permet de personnaliser le mode de fonctionnement de votre vecteur MP3 très finement ( au niveau des fondus/enchainement, du fonctionnement des playlists, des réglages d'égalisation des fréquences) De plus Rockbox intègre en standard de nombreuses applications absentes d'un balladeur mp3 standard, depuis l'économiseur d'écran Matrix, au chronomètre, jusqu'à un port de Doom parfaitement fonctionnel, chose assez inattendue sur un baladeur mp3 de cinq ans d'age. Enfin Rockbox dispose d'un installateur graphique multi plateformes ( je l'ai testé sur Mac OS X ) et d'une excellente documentation utilisateur.

Rockbox montre que si les gros projets du libre (noyau Linux, X, Gnome, glibc ) sont maintenant essentiellement le fait de salariés d'IBM, Redhat, Novell, Nokia, ou Sun, les hackers indépendants peuvent aussi faire de bien belles choses !

Thursday, October 2, 2008

Systèmes d'authentification centralisés: LDAP et OpenID

Une des mes dernières activités professionnelles a été de prendre un main un système d'authentification centralisé, utilisant OpenLDAP. Les utilisateurs n'ont ainsi qu'un seul couple username/password à retenir pour les applications suivantes:
  • login unix
  • domain windows
  • serenpidity (blog)
  • trac via le module mod_auth_ldap de apache
  • svn
  • jabber
  • email
  • alfresco (cms)
L'avantage en terme de gestions des droits est aussi evident. Pour ajouter par exemple le droit d'écrire dans le blog, il suffit d'ajouter le nom de l'utilisateur dans le groupe LDAP Serenpidity. Mon objectif est maintenant d'intégrer openvpn dans cette liste.

Pourquoi ce petit retour par ldap ? Aujourd'hui j'ai changé l'adresse email que j'utilise pour mes comptes internet ( wikis, etc ... ) Pour connaitre la liste de mes comptes internet, je me suis servi de la liste des mots de passe stockés sur Firefox. Et ca en faisait des comptes d'ouverts, et des formulaires à revalider !

Cela va du sympathique, incluant un mail de confirmation dans votre nouvelle adresse avec un lien à cliquer (dailymotion, netvibes, ebay ) au plutôt mauvais genre fon, qui ne vous donne pas la possibilité de changer en ligne l'adresse email de votre compte. J'ai ouvert un ticket chez eux, peut être est ce le moyen standard de changer l'adresse mail. Certains en profitent à l'occasion pour vous imposer de nouveaux champs "obligatoires" qui ne l'étaient pas à la création du compte, comme Dailymotion qui veut maintenant connaitre ma date de naissance.

Tout ceci m'a bien évidemment fait réfléchir à OpenID, qui est déjà utilisée par les géants de l´internet ( Yahoo, Google, IBM, MSN ) mais pas encore par les "petits", et qui devrait remplacer ce bazar.

Cependant à la différence de LDAP qui sert à consolider les services proposés par un seul fournisseur ( en l'occurrence l'admin sys d'une strucuture), OpenID consolide l'authentification de fournisseurs de services différents, ce qui pose bien sûr la question de l'étanchéité des processus d'authentification. Je vois que d'autres ont déjà franchi le pas, et j'attends de voir leurs conclusions avant d'utiliser OpenID pour mes comptes et sur mes serveurs.

Wednesday, September 10, 2008

Hardware compatible Linux: problèmes et solutions possibles


L'absence d'informations émises pas les constructeurs de périphériques quant à la compatibilité du matériel est un problème rebutant pour les débutants sur Linux, qui découvrent avec surprise que leur imprimante ou leur webcam ne fonctionne pas out-of-the box comme espéré. Même si les utilisateurs plus avancés savent en général faire fonctionner leur matériel après une recherche sur wikis et make / depmod / modprobe , la recherche d'une clé wifi ou de telle carte son compatible revient donc régulièrement dans les forums et les listes de diffusion.

Examinons les étapes nécessaires pour l'achat d'un nouveau périphérique, en prenant comme example un dongle wifi.

Sous Windows
:
Nous allons sur Rue du Commerce où nous avons nos habitudes et nous prenons un dongle Linksys "parce que c'est de la marque"; le dongle est livré avec un CD comportant les drivers pour Windows, on met le CD, on clique suivant-suivant-suivant, on reboote et l'affaire est entendue.

Sous Linux:

L'acte d'achat est quelque peu différent. Tout d'abord il faut demander à quelque gourou hardware sur ubuntu-fr quel dongle wifi est compatible Linux, et ceux ci répondent "tous ceux qui ont un chipset Ralink, Atheros ou Zydas". Une recherche naïve dans la foulée sur Amazon ne donnera pas grand chose, car le nom du chipset est seulement le nom du circuit électronique contenu dans le dongle USB , et pas celui du produit commercial.
Il faudra donc, une fois le chipset choisi, par exemple Zydas, aller sur la page du driver linux consacrée au chipset Zydas ZD1211, pour trouver quels produits du commerce contiennent le chipset.
Nos avons alors de la chance car 121 produits du commerce contiennent le chipset, du A-LINK WL54USB au Zyxel ZyAIR AG-225H !
Nous nous décidons alors pour le Zyxel ZyAIR AG-225H car nous avons déjà un routeur Zyxel à la maison, puis allons sur Rue du Commerce. Pas de chance aucun produit n'a été trouvé pour la recherche " Zyxel ZyAIR AG-225H ". Le A-LINK WL54USB non plus d'ailleurs. Et le Buffalo WLI-U2-KG54L non plus. Et le Cable&Wireless CW/108/USBA non plus. Une laborieuse recherche sur Google/Yahoo finit par nous apprendre que sur les 121 modèles du wiki la plus grande partie a été retirée du marché ou n'a sans doute jamais été commercialisée en France.
Finalement le ZyXEL ZyAIR AG-225H apparaît sur "Ciao la communauté shopping". Au moment de cliquer un doute nous saisit. Le driver Linux ZD1211 supporte bien cette carte, mais ce driver est il inclus dans mon Ubuntu ? La page du wiki mentionne cependant que le driver est inclus dans Linux depuis la version 2.6.18. Un petit tour a nouveau sur wiki.ubuntu.com, et nous apprenons que la version d'Ubuntu que nous utilisons est Linux 2.6.24 et donc que ce driver est bien inclus dans notre installation. Le dongle coûte 55 euros, deux fois et demi plus que le Linksys, mais au moins devrait-il fonctionner sous Linux.

Ce chemin laborieux je l'ai parcouru plusieurs fois, lors de l'achat d'une carte mini pci compatible FreeBSD/NetBSD pour un routeur Soekris, puis lors de l'achat d'une imprimante multifonction, et à nouveau lors de l'achat d'un dongle wifi. Je me suis finalement dit qu'il y avait quelque choses à faire, et avec une petite équipe nous avons donc créé libera.cc, une plateforme de vente en ligne de matériel compatible Ubuntu et FreeBSD. En surfant sur libera, on peut en quelques clics choisir son matériel et le commander directement sur LDLC, Gros Bill et Amazon avec qui nous avons établi des partenariats d'affiliation. Pour chaque produit acheté suite a une visite en provenance de Libera, les web marchands nous reverserons une commission de l'ordre du centime d'euros.
Ces quelques centimes sont pour nous la carotte qui récompense les laborieux efforts de saisie et d'expansion du catalogue.

Le site est encore en beta, car nous souhaitons intégrer en version définitive un comparateur de prix, mais il est déjà fonctionnel, et rempli dès à présent sa mission d'aide à l'achat.
Alors si dans la salle quelqu'un rêve d'un lance missile USB compatible Linux, c'est le moment d'aller faire un sur libera.cc !

NB: Linux dans son système de base supporte un nombre de périphériques bien plus important que Windows. Mais cela ne couvre pas encore tous les périphériques existant sur le marché, sans parler des BSD et autres systèmes d'exploitations libres.

Saturday, August 9, 2008

Essai d'un nouveau paradigme: Tiling window managers (tiwm)

L'avantage d'un système modulaire comme les Unix libres, une fois passé le coté "usine a gaz" pour les débutants, est la facilité avec laquelle vous pouvez remplacer les parties du système qui ne vous plaisent
pas. Vous aimez bien apt-get mais préférez pf au lieu de iptables ? Vous pouvez utiliser le noyau FreeBSD avec Debian/kFreeBSD. Vous n'aimez pas le système d'init Systeme V, utilisé dans la plupart des distributions
Linux ? Vous pouvez le remplacer par runit sous Debian, utiliser upstart sous Ubuntu ou l'init BSD sous Slackware. Gnome trop gourmand en RAM ? Il existe Xfce. Xfce trop gourmand en RAM ? Il existe Equinox Desktop Environment. X trop gourmand en RAM ? Vous pouvez travailler en console ( ce qui double par exemple l'autonomie de mon portable ) étant donné que tous les outils Unix existent en version texte : navigateurs web, lecteurs de flux RSS, clients mail, clients p2p ...

Limites de gnome
Je me suis intéressé aux gestionnaires de fenêtres en tuiles ( Tiling windows manager, notés après tiwm ) après avoir rencontré des problèmes de productivité sous Gnome. Classiquement, en faisant du développement web, j'avais besoin d'avoir sous les yeux un Terminal avec un éditeur ou une console mysql ouverte, et le navigateur web pour suivre les modifications que je faisais. De la même façon, j'avais besoin de façon récurrente de lire une doc sur le web tout en tapant des commandes dans le shell. Alors que mon
navigateur web est en plein écran, j'ouvre donc un xterm. Tout d'abord pour une raison que j'ignore Gnome lance la nouvelle fenêtre derrière mon focus actuel, et se contente d'un clignotement légèrement irritant dans la barre des taches.
Je commence donc par cliquer sur la barre des taches pour donner le focus a xterm. Ensuite je diminue la taille de la fenêtre du navigateur web pour faire de la place a xterm, et je réaugmente la taille de xterm dans l'espace correspondant.
Maintenant j'ai besoin d'un deuxième xterm pour avoir la consommation cpu avec "top" sur mon serveur. Je reclique sur la barre des taches pour donner le focus, et cette fois c'est trois fenêtres que je dois
réarranger a la main sur mon espace de travail. N'y aurait-il pas moyen de laisser le gestionnaire de fenêtre ranger les fenêtres qu'il a créé ?

Les avantages
Les tiwm partent d'un paradigme différent: tous les programmes ouverts sur un bureau donné doivent être visibles simultanément. Le premier programme que vous lancez, par exemple un terminal, sera toujours
en plein écran.

Puis je lance firefox. Le gestionnaire de fenêtre
redimensionne automatiquement firefox pour laisser de la place au
terminal.

Besoin d'un gestionnaire de fichiers ? De même le gestionnaire de fenêtre
découpe l'écran en trois parties.

Besoin de plus de place sur un des xterm pour lire un log ? Si j'augmente la taille de la fenêtre xterm avec la souris, le gestionnaire de fenêtre redimensionne les deux autres programmes dans l'espace restant.
L'utilisation d'un tiwm m'a incité à organiser mon espace de travail de façon plus rationnelle ( ce que j'aurais pu faire sous gnome ceci dit ) Le fait d'avoir les fenêtres des applications en permanence ouvertes
incite au rangement. Une fois que j'ai défini la bonne taille de mes fenêtres, je laisse les programmes ouverts en permanence, ranges sur des bureaux virtuels différents, et je ne passe pas mon temps à minimiser/maximiser les programmes, ou à ouvrir/fermer 15 fois par jour les mêmes applications.

Par ailleurs étant donné que les fenêtres sont affichées en permanence, les tiwm se marient très bien avec les programmes utilisant des onglets ( firefox, gnome-terminal, screen avec sa barre de statut )
vous n'avez jamais a cliquer sur une barre des tâches pour comprendre ensuite, zut mon onglet n'était pas dans cette fenêtre.
Ce mode de fonctionnement est a mon avis adapté au développeur qui a en général besoin de deux fenêtres
lisibles simultanément plus qu'à l'utilisateur de base, qui passe d'une tâche à une autre sans overlapping ( traitement de texte, puis surf sous le web, puis regarder un film puis surf sur le web )

Les inconvénients
Le principal défaut que je vois au tiwm est lié à la taille de nos écrans standards. Pour surfer sur le web confortablement il vous faut maintenant du 1024x768, si vous n'avez pas envie de faire joujou avec la
barre de scrolling latéral en permanence, surtout depuis que Ruby on Rails et Wordpress ont mis à la mode les grosses polices sur le web.
Vu que mon écran fait du 1280x1024, la place disponible pour plusieurs fenêtres _lisibles_ est limitée. Après
divers tentatives je me suis fixé comme taille 1024x600 pour le navigateur web. Malheureusement cela ne me laisse pas la place d'avoir un xterm en 80 x 25 caractères avec une taille de police
correcte ( la monospace 12 de gnome-terminal) .
J'ai donc un mini xterm avec sur le cote droit, Nautilus.
Vais je devoir acheter un écran plus grand ?

Ensuite les tiwm ne possèdent pas de menu "Start" avec la liste des programmes comme sur un environnement de bureau classique. Sous wmii par exemple on tape Alt-P et les premières lettres du nom du
programme, les complétions possibles s'affichant dans la Status Bar de wmii. De cette façon on lance très rapidement ce dont on connaît le nom ( firefox, xterm, gnumeric ) mais pour cela devient problèmatique pour
les programmes qu'on utilise peu ou qu'on vient d'installer ( C'était quoi déjà mon programme de gravure de
CD ? gnome-foo-write, gnome-burn, graveman-mon-cd ? )
Enfin et c'est a mon avis le plus grand défaut des tiwm étant donné le paradigme employé: la maximisation d'une fenêtre suivie d'une démaximisation de cette fenêtre ignore l'ordonnancement antérieur des
fenêtres. Supposant que j'ai besoin par exemple tout d'un coup de mon xterm en plein écran, pour chercher visuellement dans le long résultat d'un select SQL une valeur. Je passe wmii en mode plein écran, ce qui
donne temporairement à la fenêtre active la taille maximale. Mais quand je sort du mode plein écran, ma fenêtre de xterm, ne trouve pas la taille antérieure que lui avait fixé avec la souris. La fenêtre xterm reprend
la taille par défaut que lui avait assignée wmii au lancement du programme. Pas très clair ? Il ne tient qu'a vous d'essayer.

Conclusion
Si vous voulez tenter d'améliorer votre productivité sur un ordinateur, je vous conseille vivement d'essayer un tiwm, cela aura au moins le mérite de vous faire réfléchir à la façon dont vous utilisez une
interface graphique. Dans l'archive Debian et dans les ports FreeBSD se trouvent dwm, larswm et wmii, cet article ayant été écrit après deux semaines d'utilisation de wmii.

Wednesday, June 18, 2008

Un accès au web sous contrôle d'Adobe


C'est une chose bien curieuse que la disponibilité d'un plugin web de 3 Mo détermine le choix de l'architecture hardware que vous pouvez employer sur votre poste de travail. Car si votre combinaison CPU/Système d'exploitation ne se trouve pas dans la liste bénite du support d'Adobe vous allez pourtant passer a coté de tous les sites web utilisant Flash, c'est a dire 20% du contenu du web de nos jours.
Et malheureusement c'est mon cas puisque j'utilise Debian GNU/Linux sur PowerPC.

Envie de revoir le but du jour ? Flash. Envie de suivre Maddox ? Flash. Envie de voire des stats Google Analytics ? Flash. Envie d'écouter ce mp3 sur la page du groupe vu hier en concert ? Flash. Envie de postuler a un emploi ? Flash. Envie de voir une demo d'un logiciel opensource ? Flash.
J'ai utilisé pendant plus d'un an Gnash 0.8.1, mais sa compatibilité reste encore limitée ( essentiellement les bandeaux publicitaires de libé ... ) De plus depuis que youtube a sorti la nouvelle version de son player, je ne peux plus lire aucune video en ligne. Et la libstdc++ de Debian 4.0 est apparemment trop ancienne pour compiler la nouvelle release 0.8.2 de Gnash.

Bien sûr si vous avez des ressources et de l'entregent il est toujours possible d'acheter le SDK Flash pour le porter sur votre plateforme exotique préférée comme je suppose que Nokia l'a fait pour sa tablette Internet N810. En attendant force est de constater qu'après la qualité des filtres d'OpenOffice pour les documents MS Office et l'apparition du couple IcedTea/java-gcj-compat-plugin pour les plugins javas, Flash reste le dernier bastion des formats de données propriétaires; mais plus qu'un bastion c'est une vraie Bastille !
Et pour paraphraser Rochefoucauld à Louis XVI c'est plus qu'une révolte qu'il nous faut, c'est une révolution.