Ruby on Rails
Un article de Wikipédia, l'encyclopédie libre.
![]() |
|
---|---|
Exemple d'utilisation d'ActiveRecord
|
|
Développeur | David Heinemeier Hansson et la core team[1] |
Dernière version | 1.2.3[2] (le 14 mars 2007) |
Environnement | Multi-plateforme |
Type | Framework Web |
Licence | MIT |
Site Web | www.rubyonrails.com |
Ruby on Rails, également appelé RoR ou Rails est un framework 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[3], 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.
RoR sera inclus dans les versions client et serveur du système d'exploitation Mac OS X 10.5 (sortie début 2007)[4].
[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[5].
- 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 supporte AJAX et offre plusieurs méthodes pour en simplifier l'utilisation[6].
[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[7].
[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] Voir aussi
[modifier] Articles connexes
[modifier] Bibliographie
- Dave Thomas, David Heinemeier Hansson, Ruby on Rails, 2006 (ISBN 2-212-11746-9), traduction du livre Agile Web Development with Rails
- Lucas Carlson, Leonard Richardson, Ruby par l'exemple, 2006 (ISBN 978-2-84177-347-3)
- Eric Sarrion, Pratique de Ruby On Rails, 2006 (ISBN 978-2-84177-388-6)
[modifier] Liens externes
- (en) Site officiel de Ruby on Rails
- (fr) Railsfrance.org, site communautaire et articles traduits
- (fr) Dossier complet pour tout comprendre sur cette techno phare du web2.0
- (fr) Commencer avec Rails
- (en) Instant Rails, installation tout-en-un pour Windows
- (en) Locomotive, installation tout-en-un pour Mac OS X
- (en) Wiki officiel de Rails
- (en) Rails Help, recherche dans l'interface de programmation
- (en) Documentation de l'interface de programmation
- (fr) Ma première application Ruby On Rails : Un tutorial en français pour débuter avec Rails
- (en) Un tutorial pour débuter avec Rails : Rolling with Ruby on Rails - Part I, Part II
- (en) Du même auteur, Ajax et Rails
- (fr) M2i3 Demos et blogues sur Ruby on Rails, autres sujets sur le code source libre
- (fr) Monter un serveur RubyOnRails avec Apache, Mongrel, Mongrel_cluster, Subversion, Trac et Capistrano
- (fr) Comment paginer, trier et filtrer un tableau avec Ajax et Rails, tutoriel en français