Je me suis dit qu’aujourd’hui j’allais enfin me mettre à Rails. Ca fait plus d’un mois que je fais du Ruby, j’ai appris pas mal de choses, et cette apprentissage (léger) du Ruby était avant tout pour faire du Rails après, en étant capable de comprendre ce que faisait Rails. C’est parti pour la lecture du Ruby on Rails Guide!

Pré_requis

Il faut déjà avoir installé :

  • le langage Ruby
  • Rubygems (gestionnaire de paquets pour Ruby)
  • une base de données : MySQL (que j’utilise), SQlite (préconisée par Rails) ou PostgreSQL

Ensuite, on va uniquement utiliser le terminal Linux pour tout installer. Sous Windows, utilisez la console de commandes.

Installation de Rails

Je l’avais déjà fait sous Windows, mais étant passé sous Ubuntu (pour cause de problèmes de lib sous Windows), il faut que je réinstalle Rails. Rien de plus simple avec Rubygems :

gem install rails

Ca installe pas mal de choses. Voici la liste des gem que j’ai installés (la plupart étant été installés par Rails) :

actionmailer (2.3.2)
actionpack (2.3.2)
activerecord (2.3.2)
activeresource (2.3.2)
activesupport (2.3.2)
dbd-mysql (0.4.2)
dbi (0.4.1)
deprecated (2.0.1)
mysql (2.7)
rails (2.3.2)
rake (0.8.5, 0.8.4)
rubygems-update (1.3.3)

Les 5 premiers sont installés par Rails ainsi que “rails” et “rake”. Les autres, je les avais déjà installés.

Créer une application Rails

La création d’une appli Rails va générer un dossier avec pleins de fichiers et sous-dossiers. Il faut donc au préalable naviguer avec votre console/terminal vers le dossier où vous voulez mettre votre appli Rails. Par exemple, je me suis mis dans le dossier /home/jeremy/Rails. Puis j’ai lancé :

rails blog

Un sous-dossier /home/jeremy/Rails/blog est alors créé, avec à l’intérieur pleins de dossiers et fichiers.

Configurer la base de données

Par défaut, la base de données utilisée est SQlite. Arf, je me suis trompé. Je voulais MySQL. C’est pas grave! Aucune base de données n’a encore été créée. On va donc juste regénérer l’application :

rails blog -d mysql

Rails va juste demander de remplacer 2 fichiers, notamment le fichier database.yml qui se trouve dans le dossier config. Ce fichier ressemble à ça :

  adapter: mysql
  encoding: utf8
  reconnect: false
  database: blog_development
  pool: 5
  username: root
  password: 
  socket: /var/run/mysqld/mysqld.sock

Par défaut, le champ “password” est vide. J’ai dû le remplir pour pouvoir me connecter à MySQL par la suite. Attention : il faut mettre le mot de passe à 3 endroits différents. Pourquoi ? En fait, il y aura 3 bases de données :

  • development : la base utilisée pendant que vous développez (logique).
  • test : la base utilisée lorsque l’on lance des tests automatisés (c’est pour plus tard)
  • production : la base utilisée lorsque vous publierez votre site!

La base de données étant configurée, il faut maintenant la créer. Rien de plus simple :

rake db:create

Si vous utilisez MySQL avec phpmyadmin, vous verrez que la base de données blog_development a été créée. Pour l’instant, c’est la seule créée. Plus tard, on aura les bases blog_test et blog_production.

Pour info, la commande rake permettra de faire pleins de choses avec Rails.

On a donc notre appli, les fichiers qui vont avec et la base de données. Demain, on crée notre premier fichier et on lance le serveur. Je parlerai sans doute du modèle MVC.