A propos de Frailers.net
Frailers.net est une initiative visant à aggréger les différentes sources francophones d’information à propos de Ruby on Rails.

A propos...

Rejoignez la communauté

Pour vous faire connaître dans la communauté rails francophone, ne tardez plus! Créez un compte sur frailers.net!

Derniers frailers
aurels LeBritish benoitmarechal NoNo Garko gers32 McG Padawan blixi

Le célèbre livre “Agile Web Development with Rails” (AWDWR pour les intimes) des Pragmatic Programmers vient de sortir sa troisième édition en version beta. Pour ceux qui ne connaissent pas, ... non, c’est impossible, tout les railers connaissent ce livre, souvent considéré comme la bible de Ruby on Rails.

Comme il est de coutume chez cet éditeur, il est déjà possible de se le procurer en version PDF, ici pour la somme de 24 USD (15.15 EUR au taux actuel), ce prix comprenant évidemment les diverses mises à jour qui seront effectuées d’ici la version finale.

La nouvelle édition devrait couvrir toutes les nouveautés présentes dans Rails 2.0, ce qui est une bonne chose car l’édition actuellement disponible commence à montrer son âge. Attention toutefois qu’apparemment la version beta est encore très proche de la seconde édition, donc il faudra sans doute se montrer patient d’ici la sortie finale du livre.

Tout comme il y a 1 an, le magazine Programmez! propose un gros dossier sur Ruby on Rails.

Ce dossier est composé de deux parties et tourne principalement autour de Rails 2.0. Ce mois-ci, vous trouverez les articles suivants:

  • Ruby on Rails 2.0 : la nouvelle star du web !
  • Tout pour REST
  • Rails et la sécurité

Tous ces articles sont riches en contenu et écrits de manière très fluide.

Nicolas a eu la chance d’écrire l’article “Tout pour REST” dans lequel il explique les principes et les avantages du style d’architecture RESTful. Il aborde les avantages de REST par rapport à SOAP, la manière dont REST est implémenté dans Rails 2.0 et la réalisation de clients RESTful. Bref, cet article est idéal pour avoir une bonne vue d’ensemble de cette technologie prometteuse.

Pour un avant-goût, vous pouvez consulter le “minimag” sur la page d’accueil du site du magazine Programmez!.

Le samedi 17 mai 2008, Ruby France, Silicon Sentier et AF83 organisent le premier RailsCamp Paris.

Pour rappel, le concept de cette “non-conférence” est de proposer à toutes les personnes présentes de participer à la conférence. Débutants comme confirmés auront donc l’occasion de s’adresser à l’ensemble de la communauté Rails francophone.

J’apprécie tout particulièrement cette initiative car jusqu’ici très peu d’événements proposaient aux Railers francophones de se rencontrer et d’échanger des idées. Bien souvent, c’est de la rencontre d’idées que naissent les plus beaux projets.

Je pense que c’est l’occasion ou jamais de montrer que la communauté Rails francophone a du poids et que l’on peut également participer à l’élaboration du framework.

Ce sera également l’occasion pour les moins expérimentés de poser des questions à des railers confirmés.

Bref, que du bonheur… Merci à Jean-François, à l’association Ruby France, à Silicon Sentier et à AF83.

Alors, rendez-vous le samedi 17 mai à la Cantine, Paris, France.

Plus d’info : http://rubyfrance.org/evenements/railscamp-paris

Le groupe Facebook : http://www.facebook.com/group.php?gid=25385075410

En collaboration avec PeepCode, nous venons de publier la version française de l’e-book “Rails 2” de Ryan Daigle (célèbre pour ses articles “What’s New in Edge Rails”).

Pour seulement 9 USD (un peu plus de 6 EUR au taux actuel), vous disposez d’un livre PDF de 60 pages reprenant la plupart des nouveautés et changements introduits dans Rails 2.

Vous trouverez la table des matières complète ainsi que les quelques premières pages dans cette version “preview”.

Nous espérons que cela sera utile à la communauté Rails francophone (profitez-en pour consulter les autres produits PeepCode, qui – bien qu’en anglais – sont généralement très très instructifs).

Le site tourne un peu au ralenti depuis quelques semaines. En effet, nous préparons quelques évènements dont nous vous parlerons dans les prochains jours.

Le Belgian Ruby User Group organise une DevRoom centrée sur Ruby et Rails au FOSDEM (la conférence européenne de l’open-source). Nous y parlerons (en anglais) des bonnes pratiques RESTful dans Rails.

La conférence se tiendra le dimanche 24 février. Voici l’horaire :

  • 11h-12h : Using Rails for agile development of a job site (Koen Van der Auwera, Peter Vandenabeele)
  • 12h-13h : RESTful best practices (Nicolas Jacobeus, Jean-Baptiste Escoyez)
  • 14h-14h45 : CSA on Rails: a practical case-study (Bernard Dubuisson)
  • 15h-15h30 : Shoes, a versatile Ruby GUI toolkit (Koen Van der Auwera)

Le programme détaillé est disponible sur le site du FOSDEM.

Si vous passez dans le coin, n’hésitez pas à venir nous voir! En attendant, vous pouvez déjà annoncer votre présence dans la partie Evènements du site.

Zed Shaw tire sa révérence

Dans un billet particulièrement incendiaire à propos de la communauté Rails, Zed Shaw, l’auteur du célèbre démon HTTP Mongrel, a annoncé qu’il cesserait désormais de participer à son développement. C’est une grande perte pour la communauté et les réactions ont été nombreuses suite à l’événement; voir par exemple les commentaires sur Ruby Inside et sur TechCrunch.

Thin, une alternative à Mongrel

Voici alors venir Thin, un serveur HTTP alternatif basé sur le parseur de Mongrel et qui se vante d’être encore plus rapide et plus stable. Son fonctionnement est assez simple et similaire à Mongrel.

Rails et les hébergements mutualisés

En parallèle au problème “Mongrel”, une grosse discussion a eu lieu ce mois de janvier sur les difficultés de Rails vis-à-vis des hébergements mutualisés. Dreamhost, le géant de l’hébergement, estime que Rails a beaucoup de progrès à faire pour être facilement déployable sur du mutualisé. DHH reconnaît le problème et invite la communauté à y travailler. Le sujet semble particulièrement intéresser cette dernière puisqu’un article similaire posté par Peter Cooper de Ruby Inside a reçu un nombre de commentaires sans précédent. Gageons que quelqu’un va se mettre à la tâche pour rendre tout cela plus aisé (SwitchPipe semble être une première solution assez séduisante, dont nous parlerons plus en détail prochainement).

Merb 0.5.0, et ça continue…

Pendant ce temps, Merb, le framework alternatif, continue d’évoluer. Il vient de sortir en version 0.5.0 et la route est déjà toute traçée pour la version 1.0.

Halcyon

Dans la grande collection “frameworks web ultra-légers en Ruby”, signalons ce mois-ci Halcyon, ayant pour particularité d’utiliser exclusivement JSON pour les communications client/serveur. Cela rend le framework idéal pour des micro-applications AJAX composées d’une seule page.

Sortie d’Instant Rails 2.0 pour Windows

Instant Rails, le package d’installation pour Windows comprenant toute une stack Rails préconfigurée (Ruby, Rails, Apache, et MySQL), est sorti en version 2.0. Cette nouvelle version utilise Rails 2.0.

Ruby in Steel Text Edition

Ruby in Steel Text Edition est une nouvelle édition de l’IDE Ruby on Rails basée sur Visual Studio. Dans cette version, vendue à seulement 49$, vous n’avez plus besoin de posséder Visual Studio car le tout nouveau Visual Studio 2008 Shell est inclus gratuitement.

Engine Yard tourne bien

Ce n’est pas une news technique, mais ça vaut quand même la peine d’être signalé car c’est un signe révélateur de l’adoption et de la crédibilité progressive de Rails sur le marché: Engine Yard, un des hébergeurs Rails les plus réputés dans la communauté, a levé 3.5 millions de dollars chez Benchmark Capital. On en parle même sur TechCrunch et InfoQ.

Ruby Plus

Dans le style du très bon Railscasts, voici Ruby Plus, un nouveau site proposant des screencasts en téléchargement ayant pour thème Ruby et Rails.

HashRocket

HashRocket est une nouvelle startup lancée par le célèbre Obie Fernandez (l’auteur de The Rails Way). Leur produit phare, 3-2-1 Launch, est plutôt impressionnant: pour une somme dérisoire variant entre USD 30.000 et USD 60.000, ils développent votre application Rails en 3 jours. HashRocket propose également un second service appelé Rescue Mission, qui consiste à “réparer” des applications Rails mal développées.

Hosting Git avec Gitorious et Github

Bon nombre de développeurs Rails sont récemment passés de Subversion à Git pour la gestion distribuée de leur code. Signalons donc le projet Gitorious qui propose du hosting de repository Git pour des projets opensource; il existe également Github qui autorise lui la gestion de projets privés, mais il est encore en beta privée pour l’instant.

Conférences

Ca bouge également au niveau des conférences. Tout d’abord, la toute nouvelle Ruby Fools Conference aura lieu au mois d’avril (1er et 2 avril à Copenhague, 3 et 4 avril à Oslo) et s’avère assez intéressante. Ensuite, vous pouvez dès à présent vous enregistrer pour la RailsConf ‘08 (du 29 mai au 1er juin à Portland, USA). La RailsConf Europe ‘08 (du 2 au 4 septembre 2008 à Berlin, Allemagne), quant à elle, a ouvert son “call for participation”. Si vous ne vous y retrouvez pas dans toutes ces conférences, Jay Fields a dressé une liste exhaustive sur son blog.

Ruby possède maintenant son propre Reddit

Vous connaissez sans doute Reddit, le site de news communautaire concurrent de Digg. Depuis janvier, il est possible de créer des “sous-reddits” ayant un thème particulier. Celui ayant pour thème Ruby est disponible ici et est déjà incontournable.

Problème fondamental de pluralisation dans Rails

Terminons avec un peu d’humour et ce ticket délirant qui est apparu dans le Trac de Rails. Notons par ailleurs qu’un plugin acts_as_good_speeler est ensuite sorti, qui traite le fameux cas particulier mais bien d’autres encore.

8
Jan 08

Ruby 1.9

Matz a annoncé à Noël la sortie de Ruby 1.9.0. La liste – très impressionnante! – des nouveautés est disponible ici. Je n’ai pas le courage de tout traduire ici ;-), donc je me limiterai aux choses importantes rappelées par Dave Thomas :

  • Vitesse: Ruby 1.9 tourne sur la nouvelle machine virtuelle YARV, qui est beaucoup plus rapide (revoir à ce sujet notre Comparatif des implémentations de Ruby pour avoir une idée)
  • Support de l’encodage et du transcodage pour les chaînes de caractères: chaque chaîne dans Ruby peut désormais avoir (enfin!) un encodage propre (UTF8, ASCII, etc.) et il est possible de passer de l’un à l’autre
  • Intégration de RubyGems et rake
  • Nouveaux trucs sympas comme les Fibers

Attention toutefois qu’il s’agit bien d’une version de développement (numéro de sous-version impair oblige) qui n’est donc pas 100% stable et qui comporte certains changements incompatibles par rapport à Ruby 1.8. Quelques points importants sont repris dans Getting Code Ready for Ruby 1.9 et dans Porting REXML to Ruby 1.9.

La recommendation est donc de ne surtout pas l’installer en production; il est envisageable de l’installer en développement, mais même dans ce cas, il vaut mieux le compiler dans un environnement cloisonné (avec --prefix).

Concrètement:


$ wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.0-0.tar.bz2
$ autoconf
$ ./configure --prefix=~/ruby19
$ make
$ make install

A noter qu’une nouvelle édition du livre “Programming Ruby” (le fameux PickAxe) va voir le jour à l’occasion de cette nouvelle version. Pour les plus pressés, la page officielle permet de déjà télécharger le livre en version beta (pour $25).

Tout d’abord, une excellente année à tous!

Pour célébrer l’année nouvelle, voici un petit récapitulatif des nouveautés en provenance directe de la blogosphère Ruby/Rails anglophone, et ce depuis le 15 novembre 2007, date de notre dernier récapitulatif, jusqu’à la fin de l’année.

Masochism

Masochism est un nouveau plugin de Rick Olson qui permet d’automatiser la communication avec de multiples bases de données configurées en master/slave. Très utile lors du déploiement en production.

Rubyconf et RejectConf 2007: vidéos

Les vidéos de la conférence RubyConf 2007, qui a eu lieu en novembre passé, sont disponibles ici. En bonus, les vidéos de la RejectConf qui a eu lieu en parallèle.

Wuby, Ramaze et Nanoc, trois nouveaux frameworks alternatifs

On ne les compte plus: après Camping, Merb et Sinatra, voici Wuby, Ramaze et Nanoc, trois nouveaux frameworks web ultra-légers (comparativement à Rails) développés en Ruby. L’avantage du premier est qu’il est complètement autonome, jusqu’à contenir son propre démon HTTP. Le second, quant à lui, conserve le modèle MVC utilisé dans Rails, ce qui le rend plus modulaire. Le troisième, enfin, n’a pas la même ambition puisqu’il sert à générer dynamiquement des sites statiques. Bref, on a maintenant l’embarras du choix: à vous de juger.

JRails

JRails est un plugin qui permet très facilement de remplacer dans Rails le duo Prototype/script.aculo.us par son cousin beaucoup plus légér (et prétendu plus rapide) JQuery. Pour ce faire, le plugin traduit tous les helpers Rails concernés de telle manière que le remplacement passe inaperçu dans vos applications.

LiveConsole

LiveConsole est une application qui vous permet d’utiliser IRB au travers d’une connection TCP. Il est ainsi possible d’inspecter à distance une application lancée en production, changer son état, la patcher sans la redémarrer, etc.

Gemtacular

Gemtacular est un nouvel annuaire similaire au Rails Plugin Directory mais cette fois pour les gemmes.

Textmate éditeur favori des Railers (et Rubyistes)

Selon la Ruby Tool Survey, l’éditeur texte favori des Railers serait TextMate. Chez les Rubyistes de manière générale, vi arrive un cheveu devant. Les deux éditeurs écrasent ainsi Emacs, NetBeans, Eclipse et autres consorts.

Faker: génération rapide de “fausses données” en Ruby

Faker vous permet de générer automatiquement de fausses données personnelles “crédibles”. Il est ainsi possible de générer des noms, adresses, numéros de téléphone, emails, etc.

Rak: alternative à grep en Ruby

Rak, version Ruby de Ack, est un outil en ligne de commande vous permettant de chercher rapidement une expression dans un ensemble de fichiers (comme grep, donc). L’outil a le bon goût d’ignorer automatiquement les dossiers tels que ”.svn”, et d’indiquer automatiquement le numéro des lignes, ce qui est sympa pour les projets Rails.

ActiveJax: la passerelle ActiveRecord – JavaScript

ActiveJax est un plugin Rails qui fonctionne comme passerelle entre ActiveRecord et Prototype/JavaScript. Il vous permet d’appeler les méthodes de vos modèles directement en JavaScript via AJAX. Assez impressionnant.

make_resourceful

make_resourceful est un plugin qui permet de supprimer le code répétitif présent dans tout contrôleur REST (les 7 actions, etc); toutes vos actions sont générées par défaut sans devoir écrire aucun code, et il ne vous reste plus qu’à ajouter les particularités propres à votre application.

BackgroundFu

BackgroundFu est un nouveau plugin vous permettant de lancer des tâches de fond en relation avec une application Rails. Il est beaucoup plus léger que le célèbre BackgrounDRb: alors que ce dernier est spécialisé dans les lourdes et fréquentes opérations de routine, BackgroundFu est surtout adapté aux tâches prenant simplement un peu plus de temps qu’une requête HTTP normale.

Utility Belt

Utility Belt est un gemme contenant un ensemble de trucs, outils et techniques pour IRB, qui en augmente considérablement les fonctionnalités: interaction avec votre éditeur texte favori, support du presse-papiers, postage sur Pastie, raccourcis pour Amazon S3, auto-indentation, etc.

Voilà, c’est tout pour cette fois-ci. Rendez-vous dans un mois pour le prochain récapitulatif!

RubyGems, l’outil de gestion de paquets/bibliothèques Ruby vient de passer à la version 1.0.0. Et en moins de temps qu’il n’en faut pour l’écrire, à la version 1.0.1.

Pas énormement de nouvelles fonctionnalités dans cette release pour l’utilisateur lambda; surtout, un tas de corrections et ajustements qui améliorent d’une manière générale la stabilité de l’outil.

Attention, toutefois: dans cette version, require_gem n’est plus supporté, donc mettez à jour vos applications utilisant cette commande; la méthode gem est désormais la seule à préconiser.

Pour mettre à jour votre RubyGems actuel (> version 0.8.5) :


sudo gem update --system

Pour mettre à jour à partir de version antérieures :


sudo gem install rubygems-update
sudo update_rubygems

Enfin, pour l’installer “from scratch”, il est disponible sur RubyForge. Il suffit de dézipper l’archive dans un dossier et y lancer ruby setup.rb.

Source: Rails 2.0.2: Some new defaults and a few fixes.

Maintenant que le bon gros Rails 2.0 est sorti, il est beaucoup plus aisé de produire des petites mises à jour plus régulières. Donc, c’est ce qui va se passer: Rails 2.0.2 contient un paquet de petites corrections de divers bugs, rien de révolutionnaire, juste du polissage. Mais la mise à jour comporte également quelques nouvelles options par défaut.

SQLite3 est la nouvelle base de données par défaut

Le plus important changement est le fait que dorénavant, SQLite3 sera la base de données configurée par défaut lorsque vous lancez la commande rails de génération d’une nouvelle appli, sans aucune spécification. La raison est simplement que SQLite procure une expérience immédiate plus aisée. Il ne faut pas se casser la tête avec des GRANT et des CREATE: la base de données est là, c’est tout. C’est en particulier le cas sous OS X 10.5 Leopard, qui propose en standard SQLite3 et les gems pilotes dans son kit de développement.

Si vous voulez préconfigurer votre base de données pour MySQL (ou n’importe quel autre adapteur), vous faites simplement rails -d mysql monapp et tout se déroulera comme auparavant. Mais si vous voulez simplement vous amuser avec une nouvelle application, ou si vous développez un petit outil en interne, alors il vous est chaudement recommandé d’utiliser la solution SQLite3. Grâce au fait que db/schema.rb est indépendant du système de gestion de base de données, il est facile de changer votre fichier config/database.yml pour passer de SQLite3 à MySQL (ou autre) dès que l’application le requiert.

Pas de vérification de changement des templates en mode production

Les nouvelles applications sont désormais générées avec l’option suivante dans leur config/environments/production.rb:

config.action_view.cache_template_loading = true

Cela empêche Rails de constamment faire des appels STAT au système de fichier pour vérifier si les fichiers ont changé. Cela peut causer une bonne dose d’activité I/O, en particulier si vous avez beaucoup de partiels. Si vous avec des disques très rapides, cela peut n’avoir guère d’importance, mais dans le cas contraire cela peut faire une réelle différence.

L’inconvénient est que vous ne pouvez plus faire un svn up d’un seul fichier template et voir immédiatement le résultat: vous devrez redémarrez les serveurs d’application pour ce faire.

Quoiqu’il en soit, il est probable que c’est une meilleure option par défaut, vu la quantité généralement élevée de templates partiels, mais libre à vous, bien sûr, de changer cela.

Rails 2.0.2 remplace Rails 2.0 tel quel

Pour mettre à jour, faites juste un gem install rails (si les gems ne sont toujours pas propagées, indiquez la source: http://gems.rubyonrails.org) ou utilisez le nouveau tag rel_2-0-2.