Debian m'a tuer... une fois de trop

Le 15 May 2008 à 00h28 | 8 commentaires

Il y a 7 ans de cela, je disais adieu à Debian de manière quasi définitive pour la première fois. Pourquoi rompre une relation qui tenait bon an mal an depuis trois ans ? Une mise à jour de sécurité d’OpenSSL visiblement mal testée qui avait foutu tout mon système en l’air. S’ensuivit un déménagement vers les terres plus conviviales de Slackware avec quelques incursions ici et là dans le monde de FreeBSD. Depuis deux ans, retour progressif dans l’univers Debian, jusqu’à hier, et cette alerte de sécurité reçue dans ma boite mail. Si vous ne comprenez pas, passez à la suite.

Comparatif des nouvelles offres Dedibox et OVH Kimsufi

Le 18 Apr 2008 à 00h44 | 5 commentaires

Quelques jours après Dedibox, OVH vient de révéler sa nouvelle grille tarifaire low cost, associée à de nouvelles offres matérielles plus qu’alléchantes. J’avais couvert avec intérêt le lancement de la Dedibox, il y a deux ans, et après des débuts hésitants, la Kimsufi d’OVH a visiblement atteint sa vitesse de croisière, et il est temps d’offrir un comparatif entre les deux offres.

Retour du blog en France et en 32 bits

Le 19 May 2007 à 21h28 | 4 commentaires

1&1 ne me proposant malheureusement pas d’IP françaises, me voilà contraint de rapatrier ce blog sur le sol hexagonal, et du même coup de changer de plate-forme. Tout ça pour une bête question de référencement dans les outils de recherche. Enfin, peut-être pas si bête que ça en fait.

D’un point de vue technique, cela nous donne :

Avant

  • Athlon64 3500+.
  • 1go de RAM.
  • 80go de disque dur.
  • 100mb.

Maintenant

  • Pentium4 3ghz hyper threadé.
  • 2go de RAM.
  • 250go de disque dur.
  • 100mb.

Le tout pour 20 euros de moins par mois. Je perds en revanche le raid 1 et le backup en ftp de 80go proposés par 1&1, mais vus les tarifs, il n’est pas exclu que je prenne un hébergement de backup ailleurs histoire d’assurer le coup. Comme ils disent dans les assurances, ça ne coûte cher qu’avant l’accident.

Et si vous lisez ce billet, c’est que la migration s’est faite sans problème.

le contre jour c'est mal

Hi, I'm Linux, and I'm sexy

Le 23 Mar 2007 à 22h29 | aucun commentaires

À des années lumières du problème d’image des utilisateurs de Linux soulevé par Alan Pope, Novell nous gratifie d’une vidéo dans laquelle Linux ne manque au contraire pas de charme. En parodiant les désormais célèbres spot publicitaires lancés par Apple Hi, I’m a PC / Hi, I’, a Mac, Novell s’offre une campagne intéressante qui surf sur le buzz lancé par la firme de Cupertino et cherche à nous convaincre que linux est sexy.

Alors, Linux plus sexy que Windows Vista et Mac OS X ?

Linux / Windows et OS X

Via.

Fosdem 2007 – Instlux, installez Linux depuis votre Windows

Le 24 Feb 2007 à 16h37 | 2 commentaires

Fosdem 2007 c’est parti, et je vais diffuser les conférences auxquelles j’assiste sur ce blog pour ceux qui n’auraient pas pu venir.

Instlux est un outil logiciel permettant d’installer très simplement une distribution linux depuis un Windows, sans redémarrer la machine ni configurer son bios pour booter depuis un CD. Présentation de l’outil par son auteur

La conférence est en anglais, le son pas génial, mais ça reste compréhensible.

à la gare

FOSDEM 2007, beer software, as in free

Le 08 Feb 2007 à 22h10 | 9 commentaires

Si vous ne savez pas encore où passer votre dernier week-end du mois, et que l’idée vous prend soudain de m’offrir une bière à l’occasion de mon dernier anniversaire de plus vraiment jeune mais pas encore tout à fait vieux con – les autres pouvant toujours se rabattre sur ma wishlist Amazon – le septième FOSDEM se tiendra comme tous les ans à l’Université Libre de Belgique Bruxelles les 24 et 25 février prochains.

En sept ans, le FOSDEM est devenu le principal événement européen sur l’open source et le logiciel libre. Au programme : des conférences par dizaines sur tous les sujets possibles, des rencontres, des échanges, de la bière, des frites et puis des moules, des moules et puis des frites et du vin de Moselle* pour faire couleur locale, le tout dans une joyeuse ambiance de barbus communistes qui s’assument. Si les logiciels libres ne vous intéressent pas, et que vous n’aimez pas la bière, venez au mois pour l’intérêt anthropologique de la chose, ça en vaut la peine.

Si par le plus grand des hasards vous vouliez me rencontrer – par exemple afin de m’offrir la bière sus-mentionnée – vous me trouverez certainement aux événements suivants :

Samedi

  • État des lieux des brevets logiciel en Europe.
  • Keynote sur le projet One Laptop Per Child.
  • React OS ou Linux Bios.
  • Une bonne partie des “lightning talks”.

Dimanche

  • Passage de la certification LPI session 1.
  • Virtualisation OpenVZ sur CentOS.

Le reste du temps, je devrais chercher les Rubyistes et tenter de convertir à Typo (4.1 stable si on se bouge les fesses d’ici là mais je ne vous ai rien dit) les utilisateurs de solutions de blog en PHP.

Pour ceux qui ne pourraient pas venir, je tacherai de filmer un maximum de choses, ou au moins de faire des comptes-rendus écrits des principales conférences.

girls and blogs

  • Jacques Brel – Jef

Solutions Linux 2007

Le 28 Jan 2007 à 21h37 | 3 commentaires

Je ferai un saut au salon Solutions Linux – ex Linux Expo – mercredi, jeudi et vendredi entre midi et deux afin de revoir pas mal de gens de l’espace associatif que je n’ai pas croisé depuis plusieurs années.

À la fin des années 90, la Linux Expo était le point de rencontre annuel d’un très grand nombre de geeks de l’hexagone, et la meilleure manière que j’ai jamais vue de refaire gratuitement sa garde robe grâce à IBM et VA Linux. Depuis, les choses ont pas mal changé, le 11 septembre est passé par là, les distributions de t-shirts à la volée ont été remplacée par de plus discrets et moins coûteux stylos, mais l’espace associatif existe toujours.

Si jamais vous y passez et que vous voulez que nous déjeunions ensemble, n’hésitez pas à me laisser un mail.

Installer Ruby on Rails, Apache 2.2, mod_fcgid et Typo sous Debian Etch

Le 25 Jan 2007 à 22h33 | 3 commentaires

La version à venir de la Debian apporte son lot de mises à jour intéressantes, et parmi elles, pas des moindres, l’arrivée d’Apache 2.2 en tant que serveur web par défaut et de Ruby 1.8.5, propre à faire tourner Ruby on Rails dans de bonnes conditions. Alors pourquoi ne pas franchir le pas et enfin vous mettre à ce merveilleux framework dont vous entendez monts et merveilles depuis bientôt 4 ans, d’autant qu’on vous prend par la main pour mettre en place votre environnement de développement. Un didacticiel pour vous emmener pas à pas vers le paradis des applications web (rien que ça).

Apache 2.2 et Mysql5

Dans un premier temps, vous allez installer le serveur web Apache 2.2, et la version 5.0 de la base de données MySQL. Ce didacticiel ne traite pas encore de PostgreSQL, mais ça ne saurait tarder.

7el.net:~$ sudo aptitude install mysql-client mysql-server apache2-mpm-prefork apache2.2-common apache2-utils
[...]
7el.net:~$ sudo a2enmod rewrite

Normalement, aptitude devrait vous demander un mot de passe pour l’administrateur. Si ce n’est pas le cas, tapez juste

7el.net:~$ mysqladmin -u root -h localhost -p 'toto'

Mod_fcgid 2.0

Malheureusement pour les utilisateurs de Ruby on Rails – et d’une manière générale pour n’importe quelle application utilisant fastcgi, trac par exemple si vous ne souhaitez pas installer modpython – Etch n’inclut pas le module Apache modfcgid pour la version 2.2 du serveur. Le paquetage est en effet cassé, et seule la version pour Apache 2.0 est supportée. Il vous faudra donc à priori choisir entre :

  • Installer Apache 2.2, PHP5 et vous passer de mod_fcgid.
  • Ou bien installer Apache 2.0 et mod_fcgid, mais vous passer de PHP5 (pourquoi pas).
  • Ou encore backporter mod_fcgid depuis la version unstable de la Debian.

Vous allez donc télécharger les sources de mod_fcgid depuis la version unstable de Debian, puis reconstruire et installer le paquetage.

Commencez par ajouter la ligne suivante à votre fichier /etc/apt/sources.list :

deb-src http://mirrors.kernel.org/debian unstable main contrib non-free

7el.net:~$ sudo aptitude update 7el.net:~$ cd /tmp
7el.net:/tmp$ sudo apt-get build-deps libapache2-mod-fcgid-2.0
[...]
7el.net:/tmp$ apt-get -b source libapache2-mod-fcgid-2.0

Et là, c’est le drame : au moment d’activer le module à l’aide d’a2enmod, dpkg vous annonce “ce module n’existe pas”. Pour une raison que j’ignore, le paquetage n’a pas copié les fichiers fcgid.conf et fcgid.load dans /etc/apache2/mods-avaliable. Pas de panique, vous allez le faire et tout va rentrer dans l’ordre.

7el.net:/tmp$ cd libapache2-mod-fcgid-2.0/debian
7el.net:/tmp/libapache2-mod-fcgid-2.0/debian$ sudo cp fcgid.load fcgid.conf /etc/apache2/mods-avaliable
7el.net:/tmp/libapache2-mod-fcgid-2.0/debian$ a2enmod fcgid
7el.net:/tmp/libapache2-mod-fcgid-2.0/debian$ /etc/init.d/apache2 restart

Toi aussi tu veux un mod_fcgid avec bas de caisse, phasres violets et une sono de 10000 watts ?

Afin de bénéficier de meilleures performances, nous allons modifier la configuration de base de mod_fcgid. Remplacez le fichier /etc/apache2/mods-available/fcgid.conf par ceci :

<IfModule mod_fcgid.c>
  AddHandler fcgid-script .fcgi
  SocketPath /var/lib/apache2/fcgid/sock
  IPCConnectTimeout 6
  IdleTimeout 60
  ProcessLifeTime 6000
  MaxProcessCount 32
  DefaultMaxClassProcessCount 5
  IPCConnectTimeout 6
  IPCCommTimeout 6
</IfModule>

La signification de tout ceci peut sembler obscure, aussi quelques éclaircissements s’imposent.

  • AddHandler fcgid-script .fcgi : nous disons explicitement à Apache d’exécuter tous les fichiers portant l’extension .fcgi avec mod_fcgid.
  • SocketPath /var/lib/apache2/fcgid/sock : le chemin de la chaussette à l’aide de laquelle Apache et le serveur de fcgi vont communiquer.
  • IPCConnectTimeout 6 : timeout d’une connexion à un processus fcgi.
  • IdleTimeout 60 : une application lancée par fcgi se terminera après 60 secondes d’idle. Cela permet de ne pas avoir trop de processus lancés en même temps.
  • ProcessLifeTime 6000 : durée maximum d’un processus fcgid.
  • MaxProcessCount 32 : nombre maximum de processus fcgid lancés en parallèle. À ajuster en fonction de la charge de votre serveur.
  • DefaultMaxClassProcessCount 5 : nombre maximum d’instances d’une même application fcgid pouvant être lancées en parallèle.
  • IPCConnectTimeout 6 : timeout d’une connexion à un processus fcgid.
  • IPCCommTimeout 6 : timeout d’une communication avec un processus fcgid.

Vous ne trouvez pas ça tellement plus clair ? Ce n’est pas grave, et ça ne vous empêchera pas d’avancer plus avant dans ce didacticiel.

Ruby et Gem

Vous allez maintenant installer Ruby, rdoc et irb depuis les paquetages Debian, puis Gem à l’aide des sources afin de bénéficier de la toute dernière version. Gem est le gestionnaire de paquetages de Ruby, un outil absolument indispensable.

7el.net:~$ sudo aptitude install ruby1.8 rdoc irb
[...]
7el.net:~$ cd /usr/bin
7el.net:/usr/bin$ sudo ln -s ruby1.8 ruby

Récupérez maintenant les sources de la dernière version de Gem, actuellement la 0.9.1, et installez la.

7el.net:/usr/bin$ cd /tmp
7el.net:/tmp$ wget http://rubyforge.org/frs/download.php/16452/rubygems-0.9.1.tgz
[...]
7el.net:/tmp$ tar xvzf rubygems-0.9.1.tgz
7el.net:/tmp$ cd rubygems-0.9.1
7el.net:/tmp/rubygems-0.9.1$ sudo ruby setup.rb

Rails, MySQL et fcgid

Il reste que Ruby ne peut pas encore converser avec fcgid ni avec MySQL – ou PostgreSQL si vous avez opté pour cette solution.

Dans un premier temps, il va vous falloir installer les en-têtes des librairies nécessaires à l’installation des gems mysql et fcgid :

7el.net:~$ sudo aptitude install libmysqlclient-dev libfcgi-dev
7el.net:~$ sudo gem install mysql
7el.net:~$ sudo gem install fcgid

Typo

Typo dispose d’un programme d’installation, mais il implique d’utiliser SQLite en tant que base de données. Vous allez donc commencer par récupérer la dernière version de l’application sur Typosphere (hébergé ici à partir de demain ou après demain, le temps de terminer ma conf), et créer une base de données pour votre application.

Pas une mais 3 bases

Nous allons en fait créer 3 bases de données, correspondant aux 3 environnements d’une application Rails : développement, production et test.

7el.net:~$ mysql -u root -p
[...]
mysql> create database typo;
mysql> grant all privileges on typo.* to 'typo'@'localhost' identified by 'typosaibo'
mysql> create database typo_dev;
mysql> grant all privileges on typo_dev.* to 'typo'@'localhost' identified by 'typosaibo'
mysql> create database typo_test;
mysql> grant all privileges on typo_test.* to 'typo'@'localhost' identified by 'typosaibo'

7el.net:~$ cd /var/www
7el.net:/var/www$ sudo wget http://rubyforge.org/frs/download.php/12504/typo-4.0.3.tgz
7el.net:/var/www$ sudo tar xvzf typo-4.0.3.tgz
7el.net:/var/www$ sudo mv typo-4.0.3 typo

Nous allons maintenant configurer la base de données de Typo :

7el.net:/var/www$ cd typo
7el.net:/var/www/typo$ sudo vim config/database.yml
7el.net:/var/www/typo$ sudo rake RAILS_ENV=production db:migrate

Les petites particularités d’Apache 2.2

Parmi les nouveautés d’Apache 2, nous avons le retrait du support des options du .htaccess. Nous allons donc devoir supprimer une ligne de celui de Typo et les ajouter dans le vhost Apache que nous allons créer pour lui.

7el.net:/var/www/typo$ sudo vim public/.htaccess

La ligne incriminée :

Options +FollowSymLinks +ExecCGI

Notre virtualhost va alors ressembler à :

7el.net:/var/www/typo$ sudo vim /etc/apache2/sites-avaliable/typo

<VirtualHost 87.106.13.102:80>
  ServerAdmin root@typo
  DocumentRoot /var/www/typo/public
  Options +FollowSymLinks +ExecCGI
  ServerName typo.fredericdevillamil.com

  CustomLog /var/log/apache2/log.typo.fredericdevillamil.com combined
  Errorlog /var/log/apache2/error.typo.fredericdevillamil.com
</VirtualHost>

Il s’agit évidemment d’une configuration minimale, qui permet à Typo de tourner. Il ne nous reste plus qu’à activer le site et à redémarrer Apache.

7el.net:/var/www/typo$ sudo a2ensite typo
7el.net:/var/www/typo$ sudo chown -R www-data:www-data *
7el.net:/var/www/typo$ sudo /etc/init.d/apache2 restart

Et voilà, ça marche.

Linutop : linux, le web, un point c'est tout

Le 07 Dec 2006 à 12h45 | 3 commentaires

linutopÀ l’occasion des Mobile Monday qui se tenaient hier soir au Palais des congrès de Paris, j’ai eu l’occasion de rencontrer Frédéric Baille, qui m’a présenté sont projet Linutop.

Linutop fait partie de cette génération d’ordinateurs pour lesquels l’avenir passe par le web, et uniquement par le web.

De la taille de deux paquets de cigarettes pour 280 grammes, il ne comprend pas de disque dur, et consomme particulièrement peu d’énergie, tout en étant extensible. Ses 4 ports USB peuvent accueillir un disque dur externe en plus d’un clavier et d’une souris, et ses entrées / sorties audio permettent l’utilisation d’un casque et d’un microphone.

linutop en action

Côté logiciels, Linutop tourne sous Linux et accueille le navigateur Mozilla Firefox. Le site annonce aussi le traitement de textes Abiword, le lecteur multimédia Totem et le logiciel de messagerie instantanée Gaim, mais Frédéric m’a assuré hier soir que seul Firefox serait installé sur la machine.

Bien que Linutop présente des qualités séduisantes – coût, taille, poids, utilisation de logiciels libres – on regrettera qu’il ne propose pas le wifi par défaut. Ce qui est aujourd’hui encore considéré comme un atout risque bien de voir son absence sanctionnée dans les prochains mois.

Si la migration de nombreuses applications traditionnelles vers le “tout web” semble pour l’instant donner raison à Linutop, je ne crois pas à terme au navigateur comme fenêtre unique sur l’extérieur. J’aurais même tendance à le considérer comme une limitation à dépasser, par exemple par des applications basées sur des services web et utilisant les moteurs de rendu existants – gecko, KHTML – pour afficher les données. Les widgets d’Apple et le récent working draft du w3c sur les widgets sont pour moi les meilleures pistes de réflexion.

Contrairement aux apparences, le monde entier ne travaille pas en AZERTY

Le 19 Nov 2006 à 11h46 | 3 commentaires

Contrairement à la très majorité de mes compatriotes, j’utilise un clavier QWERTY américain. Plus exactement, un clavier américain accentué qui me permet d’écrire les caractères accentués, y compris les majuscules, et ce au prix d’une petite gymnastique mentale, du moins au début, à laquelle je ne fais plus attention depuis des années. J’ai commencé à utiliser un clavier américain dans les années 80, quand les limitations de mémoire de mon 8086 m’empêchaient de charger en même temps le clavier français et l’éditeur de Quick Basic 4.5. Je me suis rapidement rendu compte combien accéder à des touches indispensables comme [], {}, \ ou () sans devoir effectuer des acrobaties à rendre jalouses les contorsionnistes du Grand Cirque de Pékin pouvait être agréable.

Aujourd’hui, la très grande majorité des gestionnaires de session proposent une liste graphique des utilisateurs pouvant accéder à la machine afin que ceux-ci n’aient plus besoin de taper leur identifiant. Cet effort louable en matière de confort d’utilisation n’est certes pas exempt de soucis de sécurité, mais dans un environnement familial, il rajoute une touche de convivialité non négligeable. On retrouve ces fonctionnalités sous Windows XP, KDM, GDM, et probablement bien d’autres.

L’effort d’utilisabilité aurait pu être poussé un peu plus avant, notamment en permettant de choisir son clavier dès l’identification. La raison à cela ? Taper son mot de passe à deux à l’heure en cherchant fiévreusement ses touches sur un clavier totalement étranger a quelque chose de particulièrement pénible.

Edit :
Une feature request a été ouverte pour GDM et quelqu’un y avait déjà pensé sous KDM.

Billets précédents : 1 2