Comment contribuer à Rails ?

Rails: patch pour l’ajout du support de mercurial dans script/plugin

De l’usage de Windows et de la stratégie du Libre

Depuis 2000 je ne travaillais que sous environnement GNU/Linux et je dois avouer que revenir travailler sous l’environnement Windows est déprimant car néfaste à la productivité. Parmi les griefs je peux citer :

  • Pas de bureaux virtuels
  • Pas de gestionnaire de fenêtre digne de ce nom :
    • impossibilité de fixer une fenêtre en avant plan
    • impossibilité de fixer une fenêtre sur de multiple bureaux, puisqu’un seul bureau
    • pas de fenêtre semi-transparente.
  • Pas de fenêtre “shell” pouvant s’afficher sur tout l’écran
  • Pas de shell
  • Pas d’éditeur de texte/code digne de ce nom par défaut

Inutile de discuter de ces points, à moins de vouloir passer pour un “intégriste”, car comment faire comprendre cela à des personnes qui n’ont même pas idée que tout ça puisse exister. Ca serait comme vouloir expliquer à des agriculteurs qui ne connaissent que la pioche que les tracteurs existent … Windows n’est définitivement pas un système professionnel, encore faut-il avoir utilisé GNU/Linux quelques mois pour s’en rendre compte. Il ne doit son succès sur le bureau qu’à l’interaction étroite et imposée par Microsoft avec la version serveur.

Du coup cela me fait sourire de voir certains s’exciter pour faire le prosélytisme du Libre auprès des entreprises. Microsoft est culturellement ancré dans les entreprises depuis la disparition des gros systèmes dans la fin des années 80. Tout leur système d’information est enchainé aux outils de Microsoft depuis cette époque. Les vrais décideurs, ceux qui ont vraiment le pouvoir d’imposer un changement d’outils en profondeur, tel que le nécessiterait un passage à GNU/Linux, ces décideurs là n’y connaissent rien en informatique, et je ne parle même pas du DSI qui lit 01 Informatique, lui est bien trop loin de la tête de l’entreprise pour avoir, en supposant qu’il le souhaite, une telle influence. Autour de ça gravite tous les informaticiens nourris à Microsoft pendant leur étude, bref tous ces informaticiens qui font tourner leur boite et qui n’auront de toute manière pas la moindre envie de faire l’effort de changer leurs habitudes, ce que je comprend volontiers, l’informatique n’étant en rien un devoir de passion.

Si changement il doit y avoir chez les professionnels, il devrait se faire d’une part via les écoles, quand celles-ci ne signeront plus de partenariat avec Microsoft pour enseigner essentiellement leurs outils. Mais en même temps on leur demande aussi d’enseigner sur les outils du marché … D’autres part le changement aura lieu chez les particuliers. Changer d’OS chez un particulier est malgré tout nettement moins contraignant qu’en entreprise et ne dépend que de lui. Et l’histoire prouve que le succès de Microsoft en entreprise à eu lieu lorsque les utilisateurs avaient poussé pour avoir le même système que chez eux à leur bureau. La micro-informatique leur a permis de découvrir le pouvoir de contrôler sa machine contrairement aux terminaux. En effet quel délice de pouvoir installer n’importe quel logiciel (suivi de sa cohorte de virus et spyware bien sûr). Quel délice d’avoir un plus gros CPU, plus de RAM, ou un plus gros écran que le collègue de bureau …

L’utilisateur de GNU/Linux chez lui est un atout pour pouvoir percer un jour en entreprise. Car cet utilisateur est à même de pouvoir comparer et donc de juger des avantages du système GNU/Linux. Il est par définition impossible de convaincre un utilisateur qui n’a qu’une seule vision de l’informatique, et ça c’est un fait indiscutable.

Enfin, qu’il y ait sur le marché des étudiants formés aussi au Libre et des utilisateurs éclairés, c’est malgré tout insuffisant pour faire basculer une entreprise dont le SI est enchaîné depuis des années et dont les réels décideurs n’ont aucune connaissance des enjeux informatiques.

Si l’on admet ces faits il convient de penser que seul les entreprises récentes, possédant des dirigeants éclairés seront à même d’envisager l’utilisation de logiciels libres au sein de leur SI, et non pas de manière anecdotique sur le poste de travail. Attaquer les entreprises de front est une perte de temps pour la communauté. Je pense entre autre au récent débat qu’il y a eu sur les listes de l’ALDIL au sujet du vendredi dédié aux entreprises pendant les JDLL. 10 ans de JDLL dont le vendredi est pratiquement vide de tout représentant d’entreprise (DSI, commerciaux, ingénieurs ou techniciens), et ce malgré de multiples efforts vers les entreprises locales, il serait temps de constater les faits et concentrer les faibles énergies des bénévoles vers la communauté…

A l’heure des SOA la stratégie du libre est essentiellement orientée en concurrence directe avec Microsoft. Or les entreprises envisagent de plus en plus à migrer vers des services en ligne, et bien sûr Google en est le nouveau Dieu. A la conférence de Frédéric Couchet aux JDLL, je vous laisse deviner combien de bras se sont levé pour avouer l’usage de Gmail (moi le premier)... Or la seul réponse du Libre est de dénoncer la migration d’Internet en Minitel 2.0 et de proposer l’auto-hébergement chez soi. C’est en rien crédible.
La réponse du Libre devra se faire en proposant également des services et non plus uniquement des outils. Que le grand public doive mettre en place physiquement (matériels et logiciels) chez lui les outils afin d’héberger de sa vie numérique n’est pas une réponse crédible. Et même en faisant abstraction de la difficulté technique, ou en supposant que le Libre propose un jour une solution out of the box pour gérer ses mails, photos, vidéos, musiques, (clé gpg, ssh), etc, physiquement chez soi, il n’est pas concevable de conserver cela uniquement dans un placard.

Certaines banques proposent un coffre numérique, afin d’y stocker nos documents vitaux. Encore un service minitel 2.0 sans aucun doute, mais pourtant utile et qui le sera de plus en plus avec la numérisation des services de l’Etat. Que nous offre le Libre comme alternative ? Rien.

Alors au lieu de perdre son temps en prosélytisme vers des entreprises sourdes et en dénonciation de Minitelisation inutile, concentrons nous sur les communautés afin de développer des services comme nous l’avons si bien fait avec les outils. Concentrons-nous sur le grand public, concentrons-nous pour aider les développeurs à faire du libre. Car sans développeurs et utilisateurs il n’y a pas de logiciels, de documentations et de services, le reste ne fait que graviter autour de ce noyau, c’est ce noyau qu’il faut absolument consolider et développer.

Sortie de Ruby 1.9.1-preview 1

Yugui (Yuki Sonoda) a annoncé la sortie de Ruby 1.9.1-preview 1 :

Il s’agit d’une pré-version (preview release) de Ruby 1.9.1, qui sera la première version stable de la branche 1.9. Découvrez donc avec cette pré-version un Ruby plus moderne et plus rapide, offrant une syntaxe plus claire, un support multilingue poussé, et bien d’autres améliorations. Si vous tombez nez-à-nez avec un bug ou un problème quelconque, n’hésitez pas à nous en faire part en utilisant le gestionnaire de bug officiel (http://redmine.ruby-lang.org).

Vous pouvez télécharger cette pré-version dans les formats suivants :

Utiliser Mixr avec PHP

Je viens d’ajouter dans le repository de Mixr une classe cliente pour PHP.

Elle n’est pas encore aussi complète que la version Ruby, mais vous pouvez déjà en faire quelque chose :

  1. <?php
  2. require ‘mixr_client.php’;
  3.  
  4. $p = new MixrClient();
  5. echo $p->store( "k1", "v1" )."\n";
  6. echo $p->get( "k1" )."\n";
  7. echo $p->store( "k2", "v2" )."\n";
  8. print_r($p->to_hash());
  9. print_r($p->keys());
  10. print_r($p->values());
  11. echo $p->delete( "k2" )."\n";
  12. print_r($p->keys());
  13. print_r($p->values());
  14. $p->clear();
  15. if( $p->is_empty() == true ) {
  16.         echo "Mixr vide !\n";
  17. }
  18. ?>

Bon, je n’ai pas fait de PHP depuis des lustres… Si ça ce voit, n’hésitez pas à me le dire ;)

Bon, demain je vais faire du Java…

typeface.js

Ouah !!!!!! Enfin terminé la lenteur de sIFR et la merdouille du remplacement des titres par des images ! typeface.js c’est rapide, c’est simple, c’est compatible IE 6+, Safari 2+ et Firefox 1.5+. Pourquoi ça existe pas depuis plus longtemps ?!

Wassup



Passage a LightHouseApp / GitHub

De l’OS et des serveurs web

Dans la continuité de ma migration vers Fedora sur mes desktops, je viens de migrer mon serveur dedibox sous Centos la version gratuite de Red Hat Enterprise Linux. Même si cet OS est très robuste et maintenu 7 ans, on y trouve moins de paquet qu’ailleurs, aussi j’ai ajouté le dépôt Fedora dédié à Centos, EPEL. J’ai pu ainsi installer Nginx et ejabberd 2.0.2. J’ai été surpris de trouver dans les dépôts des gems tel que Rails, mais malheureusement celui-ci ne fonctionne pas car il a été lié à une version gem de rake trop ancienne (0.7). C’est bien gentil de vouloir packager les gems mais encore faut-il le faire correctement :) Donc téléchargement de rubygems 1.3 et installation classique des gems, cela fonctionne très bien, je ne vois pas l’intérêt de faire un double travail côté distribution…

C’est pour moi l’occasion de quitter le bon vieux couple apache/mongrel et tester le fameux nginx / thin. Grâce à cette doc thin-nginx-with-rails, j’ai pu rapidement faire tourner mon blog avec thin et nginx. A voir ce que cela donnera sur de futurs projets perso plus gourmant qu’un blog. Pour info, pour pouvoir utiliser le fichier rake par thin il suffit de le copier dans lib/tasks/thin.rake du projet Rails.Et pour la conf nginx dans /etc/nginx/conf.d/upstream-fair.conf

Ruby et la notion de finalizer

En ruby il n'existe pas à proprement parler de destructeur. Toutefois il est possible de mettre en place des finalizer qui agissent comme des callbacks. Ex : #!/usr/bin/env ruby   class Foo def initialize puts "Object #{object_id} borned." ObjectSpace.define_finalizer(self,... Lire Ruby et la notion de finalizer