Retour au sommaire du support de cours

Cliquez sur la table des matières pour la cacher / développer :

Qu'est-ce que Ruby On Rails ?

Historique :

Ruby On Rails (ROR) est issu de du logiciel BaseCamp dans sa première version sorti en Juillet 2004.
BaseCamp a été développé par David Heinemeier Hansson au sein de la société 37 Signals.

Une fois extrait de BaseCamp, Ruby On Rails est devenu un atelier complet et indépendant de développement d'Applications Web.

Principes de conception sous-jacents :

Techniquement parlant, Ruby On Rails repose principalement sur :
Ruby On Rails a été conçu et porté à maturité par ses concepteurs en utilisant un certain nombre de principes de base qui font sa force.
Il est toujours fait référence à ces principes lors du développemnt de toute évolution de l'environnement.
Sa réputation qui n'est plus a faire, le désigne comme un environnement qui permet un développement rapide et simple d'Applications Web.
Ces principes sont :
  • Don't Repeat Yourslef (DRY)
  • Les informations de configuration, les méthodes d'objets (le code ROR à proprement parler), les données se trouvent à un et un seul endroit.
    Vous pourrez vérifier ce principe à chaque instant de votre utilisation de ROR.
    Même dans le code source de vos applications ROR, il est conseillé de respecter ce principe (et aussi dans tout type de développement en général !)

  • Convention over Configuration
  • Dans ROR, il n'existe pas autant de fichiers de configuration, que de sous-fonctionnalité de l'environnement à paramétrer.
    Les fichiers de configuration sont juste un tout petit nombre et ne paramètrent que les options principales.
    Pour tout le reste, des valeurs par défaut très judicieuses sont utilisées.
    Il est tout de même possible de changer très simplement ces valeurs par défaut, lorsque dans de très rares cas le besoin s'en fait sentir (surcharge de méthodes, plugins).

    De même le développement repose sur de très nombreuse conventions :
    • Noms et emplacements des fichiers.
    • Noms des classes et des objets Ruby du projet en cours.
    • Ordre d'enchaînement des actions.
    • Utilisation des outils ROR standard (Scaffolding, outils dans le sous répertoire script du projet).

    Le simple respect de toutes ces conventions, que vous n'aurez pas de mal à découvrir et à appliquer (*),
    vous permettra déjà d'obtenir en quelques instants une application fonctionnelle. Par la suite vos temps de développement seront rentabilisés très rapidement pour obtenir les fonctionalités que vous désirez.

  • You Ain't Gona Need It (YAGNI)
  • Tout ce qui est fourni par Ruby On Rails vous est nécéssaire.
    Tout le reste est fourni sous forme de Paquets optionnels (Plugins ou Gems).
    Autrement dit, vos projet ne sont pas surchargés par des choses inutiles (En témoigne la taille et le nombre de fichiers d'un projet ROR).
Un framework cohérent.

Référence :

De très nombreux tutoriels extrêmement bien faits et gratuits sont à disposition sur internet :
Pour commencer, le guide de démarrage officiel

Ensuite :
Guides Ruby On Rails
Rails Casts
Rails Quick Reference
Blog : Yet Another Ruby Blog, Ruby et Rails (Anglais)