Créer un site de zéro avec Ruby on Rails

Ruby on Rails est un framework web (rassemblement d’outils pour simplifier le développement de site internet), basé sur le langage Ruby qui permet de créer des applications web très puissantes et d’écrire du code avec une très grande productivité.  Cette technologie est aujourd’hui très en vogue dans le monde des startup comme le montre la liste (non exhaustive) des sites construits sur ce framework : airbnb.com, github.com, basecamp.com, twitter.com (V1), groupon.com, etc… Si vous créez une entreprise dans le secteur de l’Internet, que vous êtes responsable technique ou tout simplement que vous voulez apprendre à développer un site internet,  je vous invite très fortement à lire les mots qui suivent.

Introduction : quelle technologie utiliser?

Le choix d’une technologie web pour réaliser un site web professionnel est une décision importante car :

  • toutes les technologies ne sont pas adaptées à tous les usages
  • il est difficile de migrer votre site d’une technologie à une autre si jamais vous avez fait le mauvais choix
  • ce choix vous guidera dans la recherche de vos développeurs qui ont souvent leurs technologies favorites

Sans entrer dans le détail, je classerai les technologies de création de site web en trois grandes familles :

  • les technologies qui permettent d’avoir un site tout fait sans écrire de code (de type plateformes de blogs, ou « sites clefs en main ») mais qui sont peu évolutives
  • les technologies qui nécessitent de tout faire soi-même, même s’il peut y avoir des choses pré-écrites dans un « framework » (ex: le langage ruby avec ou sans son framework Ruby on Rails, le langage php avec ou sans son framework Symfony ou Zend, etc.) Voici un article avec plus de détails : Tutoriel Web partie 2 : quel langage de programmation côté serveur?
  • l’entre-deux que sont les CMS (Content Management System) comme WordPress pour les blogs ou sites de e-commerce tels que Prestashop ou Magento qui permettent d’avoir rapidement un site, qu’il faut néanmoins un peu paramétrer et qu’il est possible de faire évoluer en développant ses propres extensions, souvent dans le langage php. Ces sites sont excellents si vous avez des besoins classiques (blog, site de e-commerce, site vitrine) et que vous voulez plus de liberté (notamment en terme de design et fonctionnalité) que pour les sites « clefs en main ».

Si vous avez l’intention de créer une application web, Facebook, ou mobile un peu compliquée et personnalisée, je vous invite donc à vous familiariser avec Ruby on Rails qui est sans doute l’un des outils les plus puissants actuellement disponible.

1. Apprendre Ruby

Pour apprendre Ruby on Rails, il faut tout d’abord apprendre le langage de programmation sous-jacent: Ruby. Des excellentes ressources en anglais sont :

Et en français :

Si vous souhaitez réellement comprendre Ruby on Rails, je vous invite à approfondir Ruby et le concept de programmation orientée objet (guide en français sur Développez.net) :

2. Les bases de Ruby on Rails

Une fois familiarisé avec Ruby, je vous invite maintenant à découvrir Rails. La meilleure resource (en Anglais) est :

Attention, pour un non développeur, il est assez compliqué d’installer ou d’utiliser pour la première fois Ruby on Rails sur son ordinateur. Il vous sera en effet nécessaire de vous familiariser avec les lignes de commandes et votre terminal (tutoriel en anglais). Sinon vous pouvez toujours utiliser Rails Installer.

3. Approfondir Ruby on Rails

Voici les ressources dont vous aurez besoin pour progresser :

  • RailsCasts de Ryan Bates (Tutoriels vidéos ou « screencasts » en anglais, avec parfois le script en français) : excellent pour voir des solutions à des problèmes concrets
  • les excellents guides RailsGuide (en anglais)
  • la liste des API Ruby on Rails (en anglais)
  • les très bons cours de CodeSchool par EnvyLabs (l’abonnement à 25$ vaut vraiment le coup pour un mois)
  • Pour résoudre les bugs, le site Stack Overflow vous permettra d’accéder aux solutions trouvées par d’autres développeurs

Afin de gérer les différentes versions de Rails et de Ruby, je vous invite à installer Ruby puis Rails avec rvm (il faut se familiariser avec le terminal). C’est très utiles si vous avez plusieurs projets.

Pour suivre les versions de votre code et travailler en équipe, vous pouvez utiliser Github (tutoriel d’installation en anglais).

Pour héberger simplement votre code et à moindre coût (tant que vous n’avez pas beaucoup de trafic), vous pouvez utiliser Heroku. Ils ont également de nombreux tutoriels (en anglais) autour de l’hébergement.

Conclusion

Ruby on Rails peut paraître facile d’accès a priori et ces quelques liens vous permettront de savoir faire un site web en quelques semaines. Cependant, si vous n’êtes pas à l’aise avec l’informatique ou si vous n’avez jamais développé, les débuts seront difficiles et il faudra s’armer d’un peu de patience et de beaucoup persévérance (!) pour parvenir à vos fins. Mais cela vaut le coup car vous aurez une bien meilleure compréhension du web d’aujourd’hui.

Ensuite, si vous voulez devenir un développeur professionnel, rien de mieux que de développer un projet plus ambitieux en vous faisant accompagner dans les premiers mois par un freelance qui vous aidera à développer votre site, tout en vous apprenant à coder…

Pour vous tenir informé de l’actualité de Ruby, pour pouvez suivre la newsletter Ruby Weekly et suivre les liens de Hacker News, une liste de diffusion de liens autour de l’entrepreneuriat et du web qui parle souvent de Ruby on Rails. Du côté des initiatives françaises, Human Coders propose également des news intéressantes. Si vous voulez croiser des pairs, il existe de nombreux événements autour de thèmes techniques ou entrepreneuriaux : inscrivez-vous à la newsletter Moonbar par exemple pour suivre les événements de votre ville.

La communauté Rails étant en pleine croissance il existe beaucoup d’autres initiatives que je vous invite à partager en commentaire !

Créer un site de zéro avec Ruby on Rails

10 réflexions au sujet de « Créer un site de zéro avec Ruby on Rails »

  1. Site construit en Ruby on Rails 3.2.2. par les développeurs
    Cette visite est juste par envie d’appréhender cette technologie
    Merci d’avoir construit ce tutoriel qui va m’être bien utile
    Jean Louis Quintanel

  2. Raphaël de Talhouët dit :

    Très bon article.

    Si je puis me permettre, pour l’hébergement je recommande linode. Besoin d’un peu plus de configuration qu’Heroku, mais bcp + souple et surtout moins cher.

    J’ajoute un point sur les différents frameworks. Avec l’avénement de html5 (et donc des websocket) je pense qu’un langage de de type IO non blocking devient clé. Node.js et son framework express sont excellents. Pour apprendre un bon livre : http://www.amazon.fr/Building-Node-Applications-MongoDB-Backbone/dp/1449337392/ref=sr_1_fkmr0_3?ie=UTF8&qid=1363543567&sr=8-3-fkmr0

    Dernier point important sur le choix de base de données. Là-dessus je pense que c’est une histoire de goût personnel. Je suis personnellement assez enclin à utiliser mangoDB ou postgresql (le débat NoSql vs. Sql est suffisamment alimenter sur le web pour ne pas le réouvrir !)

    En espérant que ca puisse aider, bon geek !

    Raphaël

  3. […] Créer un site de zéro avec Ruby on Rails | Geek Me Up – Devenez Geek !Geek Me Up – Devenez Geek … Bonjour ! Comme je l’expliquais dans mon introduction à ce blog, me voici donc décidé à investir le temps qu’il faudra pour me mettre à Ruby on Rails . Première étape : apprendre le langage Ruby ! Apprendre Ruby quand on vient de PHP et JavaScript Ruby peut paraître un bien étrange animal lorsqu’on l’approche pour la première fois et qu’on a été comme moi principalement habitué à des langages dont la syntaxe ressemble à celle du C – comme PHP, JavaScript, Java… L’oeil s’est habitué à se repérer aux accolades, aux parenthèses et aux points-virgules. En Ruby, rien de tout cela n’est présent ! […]

  4. Bonjour, si je peux apporter ma pierre à l’édifice j’en profite ^^
    Je suis actuellement en train d’apprendre le Ruby et son Framework Web pour passer à autre chose que PHP. Et force est de constater que la communauté française n’est pas toujours très active malheureusement. Et les documentations commencent à dater.
    Du coup j’en profite pour partager cet excellente initiative que je viens de découvrir via github: http://www.rubypourlesnuls.fr
    Il s’agit d’un site en français pour apprendre le Ruby et RoR. Il est accessible aux débutants et est basé sur la version 2.1 de Ruby donc c’est très récent. Tous les cours ne sont pas encore en ligne mais les mises à jours sont fréquentes et ça permet de compléter facilement la documentations anglophone qui peut parfois paraître un peu rebutante si on ne maitrise pas très bien la langue de Shakespear !

  5. JB dit :

    Salut, Je cherche à faire un site en RoR. Ce qui m’a mené sur ce blog. Si il est facile de trouver comment installer un site sur un serveur avec des tutos en pas à pas, je ne trouve rien en ruby on rails. Il y a bien des conseils qui expliquent quelles gems installer, mais n’existe-t’il pas un tuto pour savoir comment faire un site en pas à pas ? Du genre avec partie admin pour écrire des articles, partie membres, etc ?

    1. admin dit :

      Bonjour Musouka,

      Tu peux en effet trouver un tutoriel (en anglais) pour créer un premier site et l’héberger: https://devcenter.heroku.com/articles/getting-started-with-rails4
      Si tu veux aller plus loin, un très bon guide est: http://guides.rubyonrails.org/

      Après, si tu veux avoir une partie admin, regarde du côté de activeadmin: http://activeadmin.info/
      Pour avoir des membres, regarde https://github.com/plataformatec/devise
      Pour créer un site de type CMS (blog) http://refinerycms.com/ est pas mal.

      En te souhaitant bon code!

  6. Bonjour,

    Je suis le CTO du Wagon, et nous avons sorti une track vidéo « Débuter avec Ruby on Rails » spécialement adaptée aux débutants qui veulent s’y mettre. En 11h de vidéo on recode pas à pas un clone de Product Hunt tout en expliquant chaque brique de Rails. On travaille avec Rails 5 et on a condensé toutes les meilleures ressources de cet article en un seul endroit 🙂

    Si ça vous intéresse, c’est ici => https://ondemand.lewagon.org/tracks/codez-votre-premier-site-web/go

    Merci !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *