Ruby on Rails

Un article de Wikipédia, l'encyclopédie libre.

Ruby on Rails
Page d'accueil par défaut
Développeurs David Heinemeier Hansson et la core team[1]
Dernière version 2.1 (le 1er juin 2008)
Environnements Multiplate-forme
Type Framework Web
Licence MIT
Site web www.rubyonrails.com

Ruby on Rails, également appelé RoR ou Rails est un framework web libre écrit en Ruby. Il suit le motif de conception Modèle-Vue-Contrôleur.

Sommaire

[modifier] Philosophie

Rails est basé sur deux principes fondamentaux :

  • Ne pas se répéter : les éléments de l'application ne doivent être qu'à un seul endroit. L'architecture MVC et la métaprogrammation en Ruby rendent cela possible.
  • Convention plutôt que Configuration : il est inutile de préciser des détails lorsqu'ils respectent des conventions établies. Rails exploite cela en proposant des comportements par défaut pour la plupart de ses fonctionnalités.

[modifier] Histoire

La première version de Ruby on Rails date de juillet 2004. Le framework a été extrait de Basecamp[2], un outil de gestion de projets développé par David Heinemeier Hansson.

La première version stable (1.0) est sortie le 14 décembre 2005.

Une preview release de la version 2.0 a été annoncée[3] le 30 septembre 2007. Rails 2.0 apporte principalement[3] :

  • les resources qui fournissent une architecture REST ;
  • une différenciation plus claire entre les formats et les convertisseurs (un fichier .rhtml devient un fichier .html.erb, c'est-à-dire un fichier interprété par eruby et dont le résultat est de l'HTML) ;
  • la possibilité d'utiliser des modèles comme URL (par exemple redirect_to(person)) ;
  • la gestion d'authentification HTTP basique ;
  • une protection contre les attaques CSRF ;
  • l'interception plus simple d'exceptions génériques ;
  • le cache du résultat de certaines requètes SQL ;
  • une simplification de l'écriture de migration ;
  • le déplacement dans des plugins de tous les act_as_* et des modules de base de données propriétaires ;
  • le début de l'abandon de SOAP au profit de REST ;
  • un nouveau système pour le déboguer qui remplace les breakpoints ;
  • et beaucoup d'autres petites modifications.

La version 2.0 est sortie le 7 décembre 2007

[modifier] L'architecture Modèle-Vue-Contrôleur

Rails fournit des outils pour construire une architecture MVC :

  • Les modèles sont les classes assurant la gestion des données. En général la structure de ces classes est déterminée automatiquement par Rails à partir d'une base de données. Les relations entre les tables sont spécifiées avec des commandes simples.
  • Les vues déterminent comment sont affichées les informations à l'utilisateur. Il s'agit généralement d'une combinaison de code HTML et de Ruby dans des fichiers .rhtml. Il est aussi possible de les programmer en Ruby pur avec Builder[4].
  • Les contrôleurs réagissent aux requêtes utilisateur et répondent généralement à l'aide des vues. Rails permet de créer rapidement des squelettes de contrôleurs qui assurent des opérations courantes sur le modèle comme l'ajout, la modification et la suppression d'enregistrements. Ces contrôleurs sont ensuite adaptables aux besoins spécifiques de l'application.

Rails propose également Action Mailer pour envoyer des courriels et Action Web Service pour SOAP et XML-RPC.

[modifier] Rails et Ajax

AJAX permet de réaliser des pages dynamiques avec Javascript et XML pour envoyer des requêtes au serveur sans recharger la page dans le navigateur. Rails offre plusieurs méthodes afin de simplifier l'utilisation d'AJAX[5].

[modifier] Serveur Web

Rails peut fonctionner avec WEBrick, le serveur HTTP fourni avec Ruby. Cette méthode est souvent utilisée pour le développement et les tests. En production, Apache ou lighttpd avec Mongrel ou FastCGI sont recommandés.

L'utilisation de mod_ruby avec Apache est possible, mais pose certains problèmes[6].

[modifier] Bases de données

Plusieurs systèmes de gestion de base de données sont supportés : SQLite, MySQL, PostgreSQL, DB2, Oracle et Microsoft SQL Server.

[modifier] Distribution

Ruby on Rails est distribué par RubyGems[7]. Le code source est également disponible par Subversion[8].

La distribution Instant Rails[9] propose une version pré-configurée pour Microsoft Windows de Ruby, Rails, Apache et MySQL.

Le projet Locomotive[10] propose une installation simplifiée pour Mac OS X. Mais RoR est inclus dans les versions client et serveur de Mac OS X 10.5[11].

Ruby on Rails est également inclus dans de nombreuses distributions Linux.

[modifier] Éditeurs

L'éditeur de texte TextMate est utilisé par les développeurs principaux de Ruby on Rails[12]. Ils conseillent RadRails aux utilisateurs qui ne disposent pas d'un système Mac OS X.

NetBeans propose également des fonctionnalités utiles pour développer avec Ruby on Rails[13].

3rdRail est l'IDE de CodeGear pour Ruby On Rails[14].

De nombreux plugins pour l'éditeur de texte Vim permettent d'y ajouter des fonctionnalités utiles pour développer en Ruby on rails [15]

[modifier] Voir aussi

[modifier] Articles connexes

[modifier] Bibliographie

[modifier] Liens externes

[modifier] Notes et références