Ruby on Rails - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

Ruby on Rails
Ruby on Rails logo.jpg
Page d'accueil par défaut
Développeurs David Heinemeier Hansson et la core team
Dernière version 2.3.8 [+/-]
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 aussi nommé MVC. Il permet de créer des applications web rapidement, car il impose une structure au programmeur, et ainsi l'oblige à avoir une logique et une démarche qui favorise la réalisation de l'application. Il ajoute aussi un grand niveau d'abstraction dans la programmation de l'application, grâce à un ensemble de fonctions de haut niveau permettant de se concentrer surtout sur les fonctionnalités plutôt que sur la mécanique autour de ces fonctionnalités.

Philosophie

Rails est basé sur deux principes fondamentaux :

Ne pas se répéter 
Tenter autant que possible de n'avoir des éléments de l'application 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. Cette vision sera conservée, même après la fusion avec Merb et la future modularisation du framework.

Au démarrage d'un projet rails, peu d'éléments de configuration sont présents. Il ne contient généralement que le login/mot de passe d'accès à la base de données, incontournable en mysql par exemple. Toutefois on peut commencer un projet sans rien configurer, avec l'utilisation (par défaut) de sqlite. Les fichiers de configuration sont de type YAML.

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 explicitement spécifiées (has_many belongs_to). Spécifier ces relations permet à ActiveRecord de précharger des éléments de classes enfants ou parent.
  • 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 .html.erb. Il est aussi possible de les programmer en Ruby pur avec Builder. Enfin il existe une multitude de plugins de systèmes d'écriture de HTML simplifié, le plus connu est le HAML.
  • Les contrôleurs réagissent aux actions des utilisateurs, ils vont chercher les données dans la base et les mettent à disposition aux vues.

Rails permet de créer rapidement des squelettes d'un contrôleur ou d'un modèle ou d'une vue. Il s'agit généralement de code de type échaffaudage ( ou scaffold) qui assurent des opérations courantes sur le modèle comme l'ajout, la modification et la suppression d'enregistrements. Ces bouts de codes initiaux sont parfaitement adaptables aux besoins spécifiques de l'application.

Rails propose également ActionMailer pour la gestion d'envoi ou réception de courriels et ActionWebService pour SOAP et XML-RPC, ainsi que ActiveRessource pour une interrogation par Web Service de type RESTful.

Page générée en 0.107 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise