Heroku on Rails

L'URL courte de cet article est : http://inagua.ch/rqDIp

Cela faisait plusieurs mois que je voulais mais je me disais “ça va me prendre trop de temps”…

Erreur ! Il m’a fallu 1h50 et 9 lignes de commande pour mettre en place mon environnement de développement Rails professionnel, créer mon application et la déployer sur une plateforme professionnelle : Heroku.

Un véritable exploit, quand on sait qu’il m’a fallu plusieurs jours pour faire un tutoriel Java EE… Exploit dû d’avantage aux technologies, plutôt qu’à moi… Hélas ;)

L’environnement de développement

  • Installation de RVM (Ruby Version Manager) pour gérer différentes versions de Ruby… Pour cela je me suis inspiré de l’article de stéphane, que j’ai mis à jour via un comment :
    • (1) curl -L get.rvm.io | bash -s stable
    • (2) source /Users/jacques/.rvm/scripts/rvm
  • Installer la dernière version de ruby :
    • (3) rvm install 1.9.3
  • Puis installer rails :
    • (4) sudo gem install rails
  • J’ai ensuite créé un repository sur Github.com, la plateforme communautaire hébergeant Git un gestionnaire de version (comme SVN) mais distribué.

Création de l’application

  • Après avoir récupéré en local le projet vide depuis le repository Github via
    • (5) git clone git@github.com:<username>/myApp
  • J’ai créé le squelette de mon application Rails via la commande dédiée en commençant à suivre le tutoriel Heroku sur les applications Rails :
    • (6) rails new myApp
  • J’ai ensuite “poussé” ce squelette sur le repositroy :
    • (7) git commit -am "myApp bootstrap"

Déploiement de l’application via Heroku

  • Si c’est pas déjà fait, se créer un compte (gratuitement) sur http://heroku.com
  • J’ai configuré mon application pour être compatible avec Heroku :
    • (8) heroku create --stack cedar
  • J’ai poussé l’application en production, à savoir sur la plateforme Heroku :
    • (9) git push heroku master
  • Cela créé une instance de mon application sur Heroku avec un NOM_BARBARE généré automatiquement… Mon application est alors immédiatement accessible sur l’Internet Mondial via l’URL : http://NOM_BARBARE.herokuapp.com

Aller plus loin

Heroku

Cette plateforme vous permet donc, en collaboration avec Github, de mettre en oeuvre une application web professionnelle, robuste et scallable.

Mais vous allez me dire qu’une URL de la forme http://NOM_BARBARE.herokuapp.com ne fait pas très pro… Je vous l’accorde. Il vous suffit alors de vous connecter sur votre compte Heroku, d’aller sur l’onglet My Apps, de selectionner la bonne application, de saisir le nom que vous souhaitez “myFabulousApp” et puis valider ! Ca y est, votre application est disponible à l’URL http://myFabulousApp.herokuapp.com. Et si cela ne vous suffit toujours pas, vous pourrez paramétrer Heroku pour que votre application soit accessible via votre domaine http://myFabulousApp.com.

De plus, avec le temps, Heroku offre une compatibilité à de plus en plus de technologies : Deploy an application

IDE Rails

Etant un amoureux de l’IDE IDEA IntelliJ, je ne peux que recommander RubyMine, avec les deux remarques suivantes :

  • Bien que j’assume pleinement ce choix, et que je reste intimement convaincu qu’il n’y a pas mieux, il n’en reste pas moins polémique : d’autres recommandent un bon viex TextMate… Mais comment peut-on encore développer dans un outil qui ne supporte même pas les refactoring, surtout avec un langage à typage dynamique comme Ruby et Rails ???
  • RubyMine est payant, quelques dizaines de dolars… Mais ça les vaut largement. D’ailleurs la version d’évaluation gratuite pendant 30 jours vous le prouvera (c’est comme si on vous offrait votre première dose de drogue dure ;). Et puis il y a des possibilités pour ne pas payer sur la page RubyMine Pricing.

Conclusion

Bref, plutôt expiditif comme mise en production… Et pourtant avec une robustesse qui répond tout à fait à des besoins entreprise.80% du temps passé, est du aux téléchargements d’installation (RVM, Ruby, Rails puis IDEA RubyMine)…Ah, une dernière chose : tout cela pour 0 francs… Ou euros… Ah si, 7,40 francs, à savoir le prix d’un Frapuccino car j’ai fait cela depuis une enseigne de café ricain bien connue, avec vu sur le Léman.
PS : Bon anniversaire Maman.

 

L'URL courte de cet article est : http://inagua.ch/rqDIp

2 réflexions au sujet de « Heroku on Rails »

  1. Welcome back on Rails ;-) !

    Pour info, un projet vient d’être financé sur kickstarter pour simplifier encore tout ça : http://www.kickstarter.com/projects/1397300529/railsapp

    rvm est extrêmement pratique. Attention cependant, cela reste assez fragile : si on a raté une étape (au cours de l’upgrade de rvm, de l’installation d’un ruby, …) on peut laisser son environnement dans un état, heu, pénible à utiliser.(je parle d’expérience)
    rvm redéfinit les commandes ‘cd’ et ‘gem’. Ce qui pour les puristes de la philosophie Unix est un crime.(n’ont peut-être pas tort…)
    Une alternative est maintenant disponible : rbenv
    https://github.com/sstephenson/rbenv
    “rbenv lets you easily switch between multiple versions of Ruby. It’s simple, unobtrusive, and follows the UNIX tradition of single-purpose tools that do one thing well.”
    Ca fait quasiment la même chose, mais en interne c’est plus clean.
    Un bon article sur le sujet : http://jonathan-jackson.net/rvm-and-rbenv

    (il me semble que le sudo dans sudo gem install est superflu)

  2. Ping : jacques.couvreur.me » Blog Archive » Heroku on Rails

Laisser un commentaire

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

*


*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>