Rails, la locomotive de Ruby !
Par jblanche le vendredi 25 juillet 2008, 22:20 - tout public - Lien permanent
On a vu dans les deux articles précédents les rudiments de la syntaxe Ruby.
Normalement, vous êtes déjà séduit par ces débuts, mais vous n'avez encore rien vu !
Alors ? Ce Ruby on Rails, qu'est ce donc ?
Rails is the killer app for Ruby.
Yukihiro Matsumoto, Createur de Ruby
Ruby on Rails, ou Rails, en fait, est un framework dédié au développement d'application Web.
Un framework, c'est selon Wikipedia, un ensemble de bibliothèques, d'outils et de conventions permettant le développement d'applications.
Ceux-ci permettent donc de donner un socle commun à toutes vos applications et en facilite du même coup le développement et la maintenance.
Rails a été à l'origine développé pour les besoins de la société américaine 37signals qui devant le succès et l'engouement remporté par l'application au sein de son activité, a décidé d'en extraire un framework qu'elle "donnerait" à la communauté du logiciel libre.
Rails suit les principes déjà énoncés dans les articles sur Ruby et y ajoute deux grandes règles :
-
La convention plutôt que la configuration
Le principal défaut des frameworks Java était souvent leur configuration au travers de 18 fichiers XML tous plus flous les uns que les autres ! Avec Rails, c'est tout l'inverse : votre table s'appelle Students, votre modèle s'appellera Student... C'est également pour cette raison que Rails vient avec une architecture de fichiers et de dossiers bien précise, l'application ira dans app, les tests dans test... -
DRY ou Don't Repeat Yourself
Le code doit être écrit de façon à éviter toute redondance qui compliquerait les phases de maintenances, de test, de debuggage... Les modifications doivent se faire à un endroit et n'impacter que les objets concernés.
En plus de ces deux règles, Rails comme la majorité des frameworks dédié au Web s'articule autour du modèle MVC ou Modèle-Vue-Controller.
- Les modèles sont les classes assurent la gestion des données, ils sont habituellement liés à la base de données.
- 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.
- Les contrôleurs réagissent aux requêtes utilisateur et répondent d'ordinaire à l'aide des vues.
Pour faire simple, voici le chemin d'une requête web avec Rails :

- Vous appelez une page, celle-ci correspond à une méthode, dans un controller.
- Celui-ci appelle un ou plusieurs modèles pour récupérer les informations nécessaires pour vous répondre.
- Il envoie ces données données à la vue qui va interpréter et renvoyer le code HTML (ou autre) désiré.
- La réponse vous est envoyée.
On trouve partout sur internet, des tutoriels vous expliquant comment construire un blog fonctionnel en 10mn, un site en une demi-heure et Youtube en 2 jours
Ces tutoriels, mêmes s'ils incitent souvent les débutants à essayer Ruby et Rails, restent trop basique et trop axé sur un exemple particulier pour vraiment montrer les avantages de Rails.
Je vais donc pour ma part vous parler de chaque grande partie de Rails (selon le MVC) en vous montrant ce qui selon moi, fait la différence entre Rails et le reste du monde
On commence tout de suite avec celui qui va gérer vos données, le modèle de Rails, nommé ActiveRecord, suivez-moi...
Les autres articles :
Ruby, c'est quoi comme langage ?
Un peu de syntaxe Ruby...
Rails, la locomotive de Ruby !
ActiveRecord : Vos données, c'est mon dada.
ActionController : Monsieur Circulation
ActionView : Imprimeur de son état
Commentaires
et bien moi je suis fan dr tes articles, quoi qu'on puise en dire !
Fil des commentaires de ce billet