1/31/07

GoodBye Microsoft


A l'heure où tout le monde ne parle que de ça, je ne vais pas juger Vista que je n'ai pas encore eu l'occasion de voir mais si vous voulez réellement disposer d'un système révolutionnaire, vous avez certainement plus de chance de l'obtenir en vous rendant sur goodbye-microsoft.com

1/29/07

Beryl 0.2.0 svn sur Debian Etch



Ayant eu quelques soucis avec l'affichage de mon xterm avec la version 0.1.5 de Beryl, je suis passé à la version 0.2.0 svn de Beryl (compilation des paquets Debian à partir des sources « svn »).

Lorsqu'on prend le temps de fouiller, on découvre quelques plugins sympathiques. Certains existaient déjà mais ne sont pas produits en paquet Debian comme la possibilité de faire une vidéo directement depuis Beryl (Touche Windows+F8 commence/termine l'enregistrement). La vidéo ci-dessus a été réalisée grâce à ce plugin. La qualité est normalement plutôt bonne mais a été malheureusement dégradée par l'upload chez Dailymotion. Pour preuve, la vidéo originale est disponible ici (< 10Mo). Ce plugin n'est pas le plus facile à compiler (seom, gpac, x264 : pas mal de dépendances non packagées par défaut) mais il vaut sincèrement le détour.

La 0.2.0 propose également des artworks pour changer par exemple les flocons (cf les feuilles mortes de la vidéo) ou le splashcreen de Beryl (non modifié dans la vidéo). Les images des applications icônisées lorsqu'on passe la souris dans la barre des tâches devaient, il me semble, déjà faire partie de la version 0.1.5 tout comme CTRL+ALT+ENTER pour le full-screen d'une application (indispensable).

La nouveauté qui devrait mettre du temps à être finalisée concerne le papier-peint des bureaux. Avoir un papier-peint différent pour chaque bureau est une excellente idée. On peut par exemple utiliser les images d'un panorama pour obtenir le résultat de la vidéo. Cette feature demandera sans doute à ce que des composants de Gnome soient modifiés pour permettre l'affichage des icônes sur le bureau (je ne vois pas vraiment d'autres solutions). Car pour l'instant, vous l'aurez compris, pas d'icône sur le bureau avec ce plugin. C'est plutôt une bonne nouvelle pour moi mais ne le sera peut-être pas pour tout le monde. Le temps que ce plugin arrive à maturité, cela a le temps de changer (j'espère néanmoins que dans la version finale l'option « 0 icône sur le bureau » sera conservée).

Enfin, je n'ai pas regardé les paquets de la Ubuntu mais, pour Etch et la suite de Beryl, je sens qu'on va s'amuser à jongler avec python2.4/2.5 (sous Etch python2.5-gtk n'existe pas et la nécessité d'installer python-all-dev n'arrange pas nos affaires - cf les problèmes éventuels pour lancer beryl-settings). Il faut malheureusement déjà ruser pour y arriver. Ça promet pour la suite ;)

1/22/07

Apprendre OpenOffice.org en vidéo


OpenOffice.orgVoici un site remarquablement complet permettant d'apprendre OpenOffice.org sans douleur grâce à des vidéos très pédagogiques.

La version d'OpenOffice.org utilisée pour les vidéos est un peu ancienne (1.1.3) mais cela devrait tout de même grandement aider ceux qui souhaitent mieux utiliser ou plus simplement passer à la suite bureautique OpenOffice.org.

Remerciements à Jean-Philippe pour ce lien.

1/21/07

Utiliser des applications Windows sous Linux (Debian Etch)


Lorsqu'on n'a pas le choix et qu'on souhaite utiliser une application appartenant au monde Windows, plusieurs solutions existent.

La première est d'essayer d'installer l'application en question sur son poste Linux en utilisant Wine. Si ça marche, on est sauvé. En cas d'échec, si on dispose d'une machine adaptée, la deuxième solution est d'installer Windows sur son poste Linux avec QEMU ou VMWare (voire faire l'image avec QEMU et installer Windows via le VMWare Player qui n'est pas libre mais néanmoins gratuit et très efficace). Enfin, une autre solution peut être d'accéder à un poste Windows distant avec rdesktop (« avec ou sans » son frontend tsclient).

QEMU, WMWare et rdesktop ont par contre l'inconvénient majeur de présenter à l'utilisateur l'environnement complet de Windows avec bureau et « tout le toutim Microsoft ». Tout ça pour utiliser une application particulière pendant quelques minutes, on a souvent l'impression d'utiliser un « canon de 75 » pour tuer un moustique. J'ai parfois besoin d'utiliser un applicatif de comptabilité et gestion commerciale sous Windows et cela me rebute réellement d'avoir devant les yeux l'environnement complet d'XP juste pour accéder à une facture. Je pense qu'il peut en être de même pour ceux qui développent des sites Web et qui ont juste besoin de contrôler le visuel avec Internet Explorer 7.

Heureusement, une nouvelle voie est proposée gratuitement par la société 2x. Comme l'explique très bien cet article, il suffit d'installer 2X Application Server for Windows Terminal Services sur le poste Windows XP (ou le serveur 2003) et décider des applications à publier. L'installation de l'application et les choix des applications à publier sont d'une simplicité enfantine (que ce soit pour la partie Windows ou l'installation et l'utilisation de la partie Linux), je ne m'attarderai donc pas sur ce sujet, l'article de SearchOpenSource.com étant très clair.

Bien que non précisé dans l'article, cela fonctionne aussi avec un simple VMWare Player ou pour l'accès à des applications d'un poste XP distant (cf vidéo).

Ce que j'apporterai en complément, c'est qu'il faut que la session de l'utilisateur du XP distant ou de la VMWare soit fermée pour que cela fonctionne correctement (sinon, on se retrouve dans un cadre de type RDP classique avec le bureau). D'autre part, par défaut, le clavier est de type QWERTY. Ainsi que le montre l'aide d'appserverclient, la possibilité de paramétrer cette option sera pour plus tard :

$ ./appserverclient 
2X Application Server Client.
Version 1.0.1775. Copyright (C) 2005-2006 2X Software.
Usage: ./appserverclient options
../..
-k: path to keymap file (not implemented yet)
En attendant, pauvre français, nous devrons nous contenter de faire une MAJ+ALT (gauche) pour passer le clavier en français pour chaque application ou commencer par appeler les « Options régionales » du « Panneau de configuration » et positionner le clavier français ce qui règle le problème pour la session en cours. En ce qui me concerne, comme ce n'est que pour utiliser une application bien précise de temps en temps, le MAJ+ALT me convient parfaitement.

Comme le montre la vidéo d'une piètre qualité (désolé mais la détérioration est terrible par rapport à la vidéo de base), l'appel du premier programme (ie7 dans la vidéo) ouvre la session ce qui rend la premier appel depuis Linux bloquant (il faut donc passer sur un autre screen/term pour lancer les programmes suivants). Pour libérer la session, un CTRL+C sur l'écran de la première commande est donc nécessaire.



Reste à noter que cette solution ne fonctionnera pas sur un Windows 2000 Pro ou un autre OS MS car la console 2x utilise bien sûr le bureau à distance d'XP ou TSE pour un serveur 2003. Si, d'autre part, vous possédez un serveur Web sur votre poste Windows, il faudra délocaliser le port d'écoute de la console 2x qui, par défaut, est sur le port 80. Enfin, les windoziens pourront découvrir les autres possibilités de la solution 2x comme la publication web des applications.

1/18/07

Freebox : HomePlayer sur Debian Etch


HomePlayerCela fonctionne « out of the box » (ou presque)

Bien que le site officiel annonce :

Pré-requis : Java 1.5 ou + et VLC 0.8.5
Le HomePlayer fonctionne parfaitement avec la version VLC 0.8.6 de la Etch :
$ apt-cache policy vlc|grep Candidat
Candidat : 0.8.6-svn20061012.debian-1
On installe donc les paquets VLC :
# apt-get install vlc
Pour Java, la version du JRE actuellement proposé par Etch est la 1.5.0_10 ce qui convient au pré-requis fixé :
$ java -version
java version "1.5.0_10"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_10-b03)
Java HotSpot(TM) Client VM (build 1.5.0_10-b03, mixed mode, sharing)
Se reporter à ce post pour l'installation de Java (utilisez le « Nouveau Debian Way »).

On récupère enfin la dernière version du HomePlayer (1.4.0.2) en passant par le site officiel ou plus directement en cliquant ici. Une fois l'archive récupérée (par exemple dans son Home Directory), on la dézippe dans un répertoire dédié :
$ mkdir HomePlayer && cd HomePlayer
$ unzip ../HomePlayer-1.4.0.2.zip
Pour lancer le HomePlayer, on utilise le script homeplayer.sh mais auparavant, il faut le convertir car il est au format DOS :
$ dos2unix homeplayer.sh
Si vous ne disposez pas de la commande dos2unix, installez le paquet sysutils :
# apt-get install sysutils
Dernière étape, rendre le script exécutable avant de l'utiliser :
$ chmod u+x homeplayer.sh
$ ~/HomePlayer/homeplayer.sh &
Vous devriez voir apparaître l'icône du HomePlayer dans la zone de notification de votre window/desktop manager (éditez vos préférences via un clic du bouton droit sur l'icône).

Have Fun ;)

1/17/07

Sortie officielle de Flash 9 pour Linux (Debian Etch)


La version finale du player Flash 9 vient de sortir.

Récupérer l'archive en tar.gz et fermer le navigateur.

$ tar xvzf install_flash_player_9_linux.tar.gz
Passer en root pour installer le plugin
# cd install_flash_player_9_linux
# ./flashplayer-installer
Si vous utilisez Firefox :
Please enter the installation path of the Mozilla, SeaMonkey,
or Firefox bdir= /usr/lib/firefox

Adobe Flash Player 9 will be installed in the following directory:
Browser installation directory = /usr/lib/firefox
Proceed with the installation? (y/n/q): y
Installation complete.

Perform another installation? (y/n): n

Please log out of this session and log in for the changes to take effect.

The Adobe Flash Player installation is complete.rowser (i.e., /usr/lib/mozilla): /usr/lib/firefox
Redémarrer Firefox et se rendre ici pour contrôler si Flash est correctement installé.

Installation pour le fun « à la geek » :
Une fois l'archive récupérée dans son Home Directory :
$ tar xvzf install_flash_player_9_linux.tar.gz
$ su
# cp {install_flash_player_9_linux/,/usr/lib/firefox/}libflashplayer.so

1/16/07

A quoi ressemble votre jardin virtuel ?


Pourquoi ne pas profiter de vos moments de surf sur le net pour cultiver votre jardin virtuel et le découvrir en fin de journée ?

Packet Garden collecte les informations concernant votre activité réseau et les met en forme d'une façon plutôt poétique comme le montre l'activité de cette journée.


La taille des montagnes et la profondeur des vallées représentent le volume de données échangées (upload/download), leur situation est en rapport avec l'origine de l'adresse IP (geolocalisation) alors que les protocoles utilisés sont représentés par des plantes différentes. A titre d'exemple, voici celle qui illustre les protocoles sécurisés de type SSH ou HTTPS :

Au passage, je vous présente également la marijuana de votre jardin virtuel :

Une fois les données représentées, on peut ensuite se déplacer dans son jardin virtuel (par discrétion pour mes clients, je n'ai pas demandé l'affichage des adresses IP) :


Bien que Debian Etch ne soit pas indiqué sur le site de Packet Garden, ça fonctionne parfaitement avec les paquets Debian Sid proposés (en fait, c'est un tarball qui est proposé mais les paquets Debian et Ubuntu sont ici).

Si, comme moi, vous avez droit au « Known Bug : sysfont error on init on some systems (the fix will be in the next version) », pour une Debian Etch, éditez le fichier sysfont.py à la ligne 181 :

vi /var/lib/python-support/python2.4/soya/pudding/sysfont.py +181
Puis, ajouter le path vers defoma pour que Soya Pudding trouve les polices à utiliser :
paths = ['/usr/X11R6/lib/X11/fonts', '/usr/share/fonts', '/var/lib/defoma']
Des versions existent également pour Windows et Mac.

J'aimerais bien savoir à quoi ressemblera votre jardin ;)

Lien vers Packet Garden

1/15/07

Satanés contacts Gmail !


Gmail, c'est bien. Accéder à un contact Gmail même avec la souris, c'est déjà moins bien. Ne parlons pas de l'accès au clavier qui est carrément déprimant.

La solution la plus rapide pour accéder à une fiche contact semble être ceci. Si quelqu'un a mieux, qu'il n'hésite pas à se manifester par mail.

Mais pourquoi « Monsieur Google » ne donne-t-il pas simplement un accès rapide à la fiche contact directement depuis un mail reçu ?

Crève


Associer

xset dpms force off
and « go to bed for a while »

Peu utilisé mais tellement élégant


Lorsqu'on sait que :

echo a{b,c,d}e
retourne
abe ace ade

Il est bien plus élégant et bien plus rapide d'écrire :
cp .vimrc{,.bak}
que
cp .vimrc .vimrc.bak

ou
mkdir -p foo1/foo2/{src,examples,app}
que
mkdir -p foo1/foo2/src
mkdir foo1/foo2/examples
mkdir foo1/foo2/app

1/14/07

pipe, fifo & ssh


L'espace de stockage d'un serveur ne permet plus de faire une archive car le cumul de la taille du tarball et des données existantes sur le serveur représente plus que l'espace disponible.

Dans ces conditions, comment effectuer un transfert ou une copie des données sur un autre serveur ?

Un pipe utilisé via ssh va venir à notre secours (FULL est le serveur plein, /srv le répertoire à sauvegarder et EMPTY le serveur qui récupère l'archive).

Depuis FULL :

# mkfifo /tmp/fifo
# tar czf /tmp/fifo /srv

La dernière commande entrée est bloquante. FULL attend qu'on lise la fifo.

Depuis EMPTY, on va aller lire la fifo pour récupérer le contenu du tarball :
# ssh -e none FULL cat /tmp/fifo > mon_tarball.tgz

1/13/07

remind & backtick screen


UPDATE 15/01 :
modif :
- section 1°) (>> au lieu de >)
- section 2°) (script modifié)
- section 4°) (alias r et vr)
motif :
une alerte non-consultée pouvait être écrasée par l'alerte suivante


Comme vu précédemment, l'affichage des alertes de remind peut se faire via des fenêtres pop-up (gxmessage ou autre). Néanmoins, cela représente des défauts majeurs dont celui de perdre le focus au moment le plus inopportun (lois de Murphy en action). Enfin, ce n'est pas le plus adapté pour des connexions ssh et ça n'a aucun intérêt lorsqu'on passe 95% de son temps dans des screen.

Reste à mettre en place une solution qui permette d'être alerté sans pour autant perturber l'activité en cours sur les différents écrans. Utiliser le « backtick » de screen est ce qui m'a paru le moins « obstrusif ».

1°) On commence par demander à remind d'écrire ses alertes dans un fichier qu'on appellera .rappels. Pour cela, on lance la commande suivante au démarrage de X et/ou lors du login de l'utilisateur.

remind -zk"echo %s >> /home/mon_user/.rappels" &

2°) On crée un script permettant de lire le nombre d'alertes envoyées par remind dans le fichier .rappels (script remind-me.sh à mettre dans ~/bin) :
#!/bin/sh
# remind-me.sh (bc 2007)
# modifier RAPPEL_FILE pour votre usage
RAPPEL_FILE='/home/mon_user/.rappels'

if [ -e $RAPPEL_FILE ] && [ -s $RAPPEL_FILE ]; then
sort -u $RAPPEL_FILE -o $RAPPEL_FILE
nbl=`wc -l $RAPPEL_FILE | cut -f1 -d' '`
case "$nbl" in
"1")
nbw=`wc -w $RAPPEL_FILE | cut -f1 -d' '`
if [ $nbw -gt 0 ]; then
echo "1 rappel"
else
exit 0
fi
;;
*)
echo "$nbl rappels"
;;
esac
else
exit 0
fi

3°) On modifie le .screenrc de l'utilisateur pour afficher le backtick qui utilise le script remind-me.sh. Voici une proposition pour la partie qui nous intéresse :
hardstatus on
hardstatus alwayslastline
hardstatus string '%{= kG}[%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{R}%{+B} %1` %{g}%{-B}][%{B} %D %d/%m %{W}%c %{g}]'
backtick 1 0 60 remind-me.sh

On demande que le rafraîchissement se fasse toutes les minutes.

4°) On crée 2 alias (dans son .bash_aliases ou son .bashrc). Le premier alias 'r' (comme 'rappels') affichera le contenu de .rappels alors que le second alias 'vr' (comme 'vider les rappels') videra le contenu du fichier ~/.rappels.
alias r='sort -u ~/.rappels'
alias vr='> ~/.rappels'

En résumé, ça donne ce résultat :

Pour la démo, le rafraîchissement du backtick est de 5 secondes.

1/12/07

remind en français (Debian Etch)


wyrd, le compagnon de remindPour mon organisation personnelle, en complément de Google Calendar, j'utilise l'excellent remind. Il est sans doute d'un abord plus rude que celebrat mais permet des paramétrages et des rappels que même les ténors du marché ne savent pas gérer.

Avec remind, il devient par exemple très simple de mettre en place un rappel pour « le dernier Lundi de chaque mois » ce que permettent difficilement voire pas du tout la plupart des agendas actuels. Sachant que remind est aussi capable de lancer des commandes ou des scripts, on imagine assez facilement tout le potentiel :
REM Lundi 1 --7 RUN /home/mon_user/bin/mon_backup.sh
=> lancera par exemple un backup personnel tous les derniers Lundi de chaque mois

Pour les alertes, il suffit de lancer la commande suivante au démarrage du window manager :
remind -zk"gxmessage -center -default "okay" -title "Rappel" -borderless %s" &
(apt-get install gmessage s'il n'est pas installé)

Malheureusement, par défaut, remind est en anglais car le choix du langage se fait au moment de la compilation. Voici donc le paquet remind pour Debian Etch avec la localisation française.

Si on souhaite gérer ses événements visuellement, il est même possible d'utiliser des frontends comme le célèbre wyrd.

1/5/07

API Ruby on Rails : Moteur de recherche


1/3/07

.inputrc


Pour faire une recherche dans le .bash_history, CTRL+R est disponible par défaut.

En complément, il est possible d'effectuer une recherche sur le début de la commande avec les flèches haut et bas après avoir rajouté 2 lignes à son .inputrc (ou dans le /etc/inputrc pour la mise à disposition de tous les utilisateurs) :

# Déplacement dans l'historique en utilisant les flèches bas et haut
"\e[A": history-search-backward
"\e[B": history-search-forward

et quitte à modifier son inputrc :
# Les beeps me saoulent
set bell-style visible
# Par pitié, 1 seul TAB pour le complètement !
set show-all-if-ambiguous on

1/2/07

Voeux de G33k