Langages/Ruby/Rails/BarCard

Un article de Agora2ia.


Sommaire

Cycle de développement

Voir aussi le chapitre Generateurs


Configurer un environnement

  1. Installer rvm (Voir Ruby#rvm)
  2. Installer éventuellement PostgreSQL (http://blog.blackwhale.at/?p=175#PostgreSQL)


Créer le projet

  1. rails new my_app -T
  2. git init
  3. ... complete .gitignore
  4. ... setup rspec
  5. git add .
  6. git commit -m "Creation"
  7. git push
  8. git push heroku master (voir la page Heroku en cas de problème)


Avec un projet existant

  1. bundle install pour installer tous les gems nécessaires
  2. rake db:migrate pour initialiser la base de données
  3. rake db:seed


Lancer le serveur

  • rails server


Une boucle de développement

  1. git branch -b the_new_feature
  2. ... generate tests first ...
  3. ... then develop feature ...
  4. git add .
  5. git commit -m "Modifications"
  6. git checkout master
  7. git merge the_new_feature
  8. git branch -d
  9. git push
  10. git push heroku master (voir la page Heroku en cas de problème)


Initialiser la base de données

  1. rake db:reset
  2. rake db:test:prepare
  3. rake db:populate (voir #Rake)

Commandes utiles

Voir le chapitre Generateurs


Environnement

Rake


Console

Elle permet de charger le contexte de votre application et de travailler avec en ligne de commande :

rails c
reload!

Ecosystème

Rails permet de créer un site internet, mais pour développer une application professionnelle de façon optimale il est conseillé d'utiliser des librairies.

  • macruby - rubymotion (Dévelopement Mac/iOS avec Ruby)


Développement

  • git/github : Gestionnaire de versions. Voir les pages Git et Github


Tests

Interface

Rails génère par défaut des pages HTML minimalistes. Il est conseillé d'utiliser des libraires externes pour gérer efficacement une mise en forme élaborée, robuste et multi-navigateur.


Twitter Bootstrap

Framwork de CSS et de JavaScript offrant une interface web élaborée et supportant le ResponsiveDesign offrant notamment une compatibilité avec les navigateurs mobiles.

Utilise par défaut le pre-processeur CSS nommé LESS.

Voir la page twitter-bootstrap-rails sur Github pour avoir la liste des générateurs.

  • rails g scaffold my_controller name price:decimal --skip-stylesheets
  • rails g bootstrap:themed my_controller -f

Sass

Extension CSS3 permettant d'écrire des CSS de façon plus élaborée et séduisante.

On écrit avec un formalisme ressemblant à celui de CSS dans un fichier d'extension .scss, puis on compile avec le moteur en Ruby afin de générer des CSS classiques.

Reposant sur Ruby, Sass est donc naturellement intégré à Rails.


Simple Form

Gem permettant de créer simplement des formulaires l'un des incontournables d'une application Rails.


Déploiement

Une fois l'application développée, se pose la question de son déploiement sur un environnement de production.

  • heroku : Plateforme de déploiement, en collaboration avec Github. Voir la page Heroku


Générateurs

Il est donc possible d'utiliser différentes commandes pour une même tâche selon les technologies que l'on utilise.

  • rails g controller errors error_404 error_500 (Générer le controller "Errors" avec les actions/pages "error_404" et "error_500")
  • rails g scaffold my_controller name price:decimal --skip-stylesheets (si on utilise TwitterBootstrap)
  • rails g bootstrap:themed my_controller -f (si on utilise TwitterBootstrap)


Ressources


Screencasts