Rails

De Wiki de la communauté Mandriva.

Rails, plus exactement Ruby on Rails ou RoR est un ensemble d'outils permettant de développer des applications pour l'internet facilement. Il se base sur le principe du Modèle-Vue-Contrôleur aussi appelé MVC.


Pour installer rails, lancez Image:drakrpm-icon.png Installer et désinstaller des logiciels et recherchez le paquet rails.

Sélectionnez-le et cliquez sur Appliquer (Aide).

Vous pouvez également l'installer en utilisant la console en tant qu'administrateur avec la commande suivante : urpmi rails

À noter !
Il ne faut pas oublier de mettre à jour votre installation. En console root taper :
Image:Konsole.png
[root@ordi ~]# gem update

Si vous avez besoin d'un serveur MySql, je vous renvoie vers la page en question MySQL


Sommaire

Installation manuelle

Pour savoir comment cela fonctionne et pour suivre au plus près les dépendances, il y a la possibilité de faire une installation manuelle. En revanche, ce ne sera plus urpmi qui mettra à jour votre application.

Le principe est de télécharger le logiciel RubyGems. Un "gem" est paquet logiciel ruby. Chaque logiciel écrit en ruby est empaqueté en "gem". Vous trouverez plus d'information sur la page officiel de la documentation de rubygem [en] ou sur cette page de rubyfrance. Pour télécharger rubygems, rendez-vous sur sa page sur RubyForge.

Pour installer, ouvrez une console root

# Placez vous dans le répertoire de root
cd

# Télécharger la dernière version de rubygems (en date du 22/01/2010)
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz

# Décompressez les fichiers
tar zxvf rubygems-1.3.5.tgz

# Entrez dans le dossier 
cd rubygems-1.3.5.tgz

# Installation de rubygems
ruby setup.rb

Maintenant nous pouvons installer le paquet logiciel rails. L'outil d'installation va télécharger le paquet sur l'internet et ses dépendances. Dans une console root :

Image:Konsole.png
[root@ordi ~]# gem install rail

Normalement l'installation doit être réussie, mais de temps en temps il oublie les dépendances. Toujours en console root :

# Vérification de l'installation des dépendances (ne pas se focaliser sur les numéros de version)
gem list

*** LOCAL GEMS ***
actionmailer (2.3.5)
actionpack (2.3.5, 1.13.6)
actionwebservice (1.2.6)
activerecord (2.3.5, 1.15.6)
activeresource (2.3.5)
activesupport (2.3.5, 1.4.4)
rack (1.1.0, 1.0.1)
rails (2.3.5)
rake (0.8.7)

# S'il vous en manque, installez-les ! (remplacer mon_gem_manquant par le nom du gem manquant)
gem install mon_gem_manquant

Par ailleurs, si vous projetez d'utiliser la base mysql pour vos travaux, n'oubliez pas d'installer le support mysql pour ruby. Toujours en console :

Image:Konsole.png
[root@ordi ~]# urpmi ruby-mysql

Il faut aussi installer le gem mysql

# Installation en console
sudo gem install mysql

=> Cela plante convenablement

# Installation du paquet manquant
sudo urpmi mysql-devel

# Relacez l'installation du gem mysql
sudo gem install mysql

=> Installé !

Utilisation

Création de notre première application et lancement du serveur intégré

Nous allons créer un squelette d'application et constater qu'il fonctionne (placez vous dans votre dossier utilisateur

Image:Konsole.png
[utilisateur@ordi ~]$ cd
Image:Konsole.png
[utilisateur@ordi ~]$ rails mon_appli

Démarrage du serveur Webrick intégré pour tester ce squelette

Image:Konsole.png
[utilisateur@ordi ~]$ cd mon_appli
Image:Konsole.png
[utilisateur@ordi ~]$ ruby script/server

Maintenant ouvrez une page web sur la page http://localhost:3000 et vous aurez la page d'accueil de votre première application Rails !

Attention !
Il est indispensable, lorsque vous êtes dans un environnement MSEC "Sécurisé", que vous ouvriez une console avec la commande
Image:Konsole.png
[utilisateur@ordi ~]$ su -
Si vous ne le faites pas, les permissions des binaires créés ne seront pas les bonnes et ce sera la croix et la bannière pour tout mettre à jour !

Astuces

Nous présupposons que vous êtes avec une console et dans le dossier << racine >> de votre application rails.

# Lancement du serveur silencieusement (afin de ne pas voir en console ce qu'il se passe)
./script/server -d

# Arrêt du serveur
kill -9 `cat ./tmp/pids/server.pid`

Déployer en production votre application rails avec lighttpd

Je vous propose de suivre mon petit tutoriel pour déployer votre application rails avec lighttpd sur la page lighttpd


Liens utiles

Page résumant Ruby on Rails : http://blog.aysoon.com/66-ruby-on-rails-dossier-complet-pour-tout-comprendre-sur-cette-techno-page-du-web20


Eclipse

Si vous voulez développer avec l'IDE Eclipse, Il faudra l'installer, mais pour l'installation du plugin RDT (Ruby Development Tools), il faut se décarcasser, je n'ai pas encore réussi pour le moment (Contribuez !)

NetBeans

Je viens d'installer NetBeans (simplement) et son support pour RoR, je continue mes essais et vous présenterai bientôt NetBeans.



Rails 3

Voulant installer Rails 3, je me suis retrouver avec un vieille version de ruby (la 1.8) alors que la 1.9 est opérationnel. Il faut simplement compiler la dernière version de ruby.

Voila comment j'ai procédé : (tout se fait dans une console avec l'utilisateur courant ; // indique un commentaire ; $ indique ce qu'il faut taper ou copier/coller)

Préparation de l'installation

// Installation de tout ce qu'il faut pour compliler
$ sudo urpmi task-c++-devel

// Suppression de tous les paquets parlant de ruby
$ sudo urpme ruby ruby-doc

// Pour une raison que j'ignore, il est resté un exécutable gem dans le dossier /var/bin
$ sudo rm -f /var/bin/gem

Compilation de ruby

// Télé-charger la dernière version de ruby (ruby-1.9.2-p0 à ce jour 01/10/2010) dans un dossier ruby
$ cd; mkdir ruby; cd ruby; wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.2-p0.tar.bz2

// Décompresser l'archive et entrée dans le répertoire
$ tar -xjvf ruby-1.9.2-p0.tar.bz2; cd cd ruby-1.9.2-p0

// Préparation de la compilation
$ ./configure

// Compilation
$ make

// Installation de la nouvelle version de ruby
$ sudo make install

// Test de la nouvelle version => doit vous rendre ruby 1.9.2p0 (2010-08-18 revision 29036)
$ ruby -v

// J'ai eu un souci avec l'utilitaire gem qui a changé de place, donc il faut se déconnecter et ré-ouvrir une nouvelle console
$ exit

// A ce moment gem doit fonctionner => 1.3.7 
$ gem -v

Installation de rails 3

// Nous pouvons installer rails 3
$ sudo gem install rails

Installation du support du CSV

// Pour importer des donnée CSV, c'est maintenant le paquet FasterCSV qui doit être utilisé
$ sudo gem install fastercsv

Installation de la connection à sqlite3

Pour permettre à rails 3 d'utiliser sqlite3 comme base de donnée, il lui faut le gem sqlite3. Celui-ci sera construit à la volée, il faut donc le paquet devel pour ce faire

// Installation du paquet devel
$ sudo urpmi sqlite3-devel

// Installation du gem
$ sudo gem install sqlite3

Installation de la connection à mysql

Pour permettre à rails 3 d'utiliser mysql comme base de donnée, il lui faut le gem mysql. Celui-ci sera construit à la volée, il faut donc le paquet devel pour ce faire. Par ailleurs il va demander l'installation d'un autre gem, mysql2, donc nous l'installerons en même temps.

// Installation du paquet devel
$ sudo urpmi mysql-devel

// Installation du gem
$ sudo gem install mysql mysql2
Récupérée de « http://wiki.mandriva.com/fr/Rails »