Suite à des petits changements dans ma boite, je suis en train d’apprendre à utiliser Ruby On Rails.
Le tout, bien entendu, sous Ubuntu !
Installer tout ce qu’il faut pour utiliser RoR (Ruby On Rails)
Je suis tombé sur plusieurs articles avec des tas de sudo apt-get install … et je me retrouve donc avec des tonnes de paquets installé sans trop savoir si ils me servent vraiment ou pas..
J’ai donc tout nettoyé pour repartir de 0 !
La première chose à savoir: Il existe un paquet ruby-full qui installe, comme son nom l’indique, tout… Mais même trop.
Je comprend pas trop l’intérêt de ce paquet… Par contre un paquet ruby-essential aurai été plus réfléchis. Bref.
Donc, oubliez tout de suite ce ruby-full !
Je dirai que la commande apt minimal pour RoR (et pas Ruby tout court) serai :
sudo apt-get install ruby rdoc irb libyaml-ruby ruby1.8-dev libzlib-ruby ri build-essential
(N’hésitez pas à me corriger si vous pensez quelque chose de faux)
Et pour RubyGem ?
RubyGem est un gestionnaire de dépendances pour vos projets ruby, tel que cpan en perl, ou même apt pour les distribution Debian/Ubuntu based.
Il existe aussi un paquet dans les dépôys d’Ubuntu, mais il n’est apparemment pas recommandé…
Je ne sais plus trop pourquoi.. Donc bon, dans le doute, faisons au plus sûre :
cd /tmp
wget http://rubyforge.org/frs/download.php/60718/rubygems-1.3.5.tgz
tar xzvf rubygems-1.3.5.tgz
cd rubygems-1.3.5/
sudo ruby setup.rb
sudo gem update –system
gem: command not found
Pas de panic ! C’est juste que l’exécutable gem s’appelle gem1.8, et pas juste gem.
Corrigeonsceci:
sudo ln -s /usr/bin/gem1.8 /usr/bin/gem
Elle est pas belle la vie ?
Mongrel
C’est quoi Mongrel ?
C’est ce qui vous permettra de faire tourner votre projet RoR: Un serveur web légé.
Y a t-il autre chose que Mongrel ?
Oui. WEBrick.
Pourquoi Mongrel et pas WEBrick ?
J’ai vue sur un blog, des statistiques très intéressante qui démontraient bien que Mongrel est 2 fois plus rapide (au moins) que WEBrick. A vous de voire
Pour installer Mongrel, nous allons passer par notre cher gem fraiche installé :
sudo gem install daemons gem_plugin mongrel
Rails
Rails est un framework, qui suis le model MVC, qui permet d’écrire des applications simplement et rapidement.
Il vous génèrera toute la structure dossiers/fichiers nécessaire au disgn pattern.
sudo gem install rails –include-dependencies
Connecteurs de base de donnée
Jusqu’ici, RoR est installé, mais tout l’intérêt de RoR est d’utiliser une base donnée (par abstraction).
Il nous faut donc installer les connecteurs de base de données qui vous seront utile.
Vous pouvez tous les installer, ou bien, installer uniquement celui que vous utiliserez.
C’est donc à vous de voire le(s) quel(s) vous est/seront utile.
A savoir aussi qu’il vous ai possible de configurer votre projet pour utiliser SQLite en environnement de développement, puis MySQL en environnement de test, et PostgreSQL en environnement de production par exemple, ou utiliser MySQL en développement, teste et production.
Là, la flexibilité vous permet de faire votre choix!
SQLite
SQLite est bien pour le développement, car vous n’avez pas vraiment besoin de performances, et vous êtes seule l’utiliser (La base ne supporte pas les multi requêtes: dead lock)
sudo apt-get install libsqlite3-dev
sudo gem install sqlite3-ruby
MySQL
sudo apt-get install apache2 mysql-server mysql-client libmysql-ruby libmysqlclient-dev
sudo gem install mysql
PostgreSQL
sudo gem install postgres
Mon premier projet Ruby On Rails
Générer le code
Bon, pour générer un petit projet vite fais, pour tester, c’est pas bien compliquer
Placer vous dans un dossier où vous développez et tapez ceci dans un terminal :
rails blog
cd blog/
Lancer Mongrel
Pour démarrer le serveur, vous n’avez qu’a lancer ceci :
mongrel_rails start -a 127.0.0.1 -p 8080
Ce qui lancera le serveur en local sur le port 8080. Pour accéder au projet: http://localhost:8080/
Outils pour développer en Ruby On Rails
Les utilisateurs de Mac OSX ont le très bon Textemate.
Pour les utilisateurs de GNU/Linux, il existe plusieurs solutions:
Éditeurs multi langages
- Là, il y a le très bon gedit, installé par défaut sous Ubuntu. Si vous voulez avoir un éditeur très similaire à Textemate, voici une solution pour transformer gedit :
- Il existe aussi SciTe, un très bon outils de développement ( je développe en C++ avec par exemple, et je l’adore
)
sudo apt-get install git-core
cd ~
git clone git://github.com/lexrupy/gmate.git
cd gmate
sh ./install.sh
Un peu plus d’infos: http://doc.ubuntu-fr.org/gedit
Editeur Ruby clone de Textemate
J’ai découvert cet éditeur qui ressemble comme 2 gouttes d’eau à Textemate.
( Je n’ai pas bossé avec Textemate, mais du peux que j’en ai vue sur le net, ca à l’air d’être la même chose )
Il s’agit de Redcar. [http://redcareditor.com/]

Résolution de problèmes
`require_frameworks’: no such file to load — openssl (RuntimeError)
`require_frameworks’: no such file to load — net/https (RuntimeError)
Pour résoudre ce petit désagrément :
sudo apt-get install libopenssl-ruby
Quelques liens
Très bon article: http://www.stoneageblog.com/articles/2007/01/11/debian-on-rails-apache-2-2-mysql-ruby-rails-php-mongrel-mongrel_cluster-subversion-trac-capistrano/










Oupssss
/var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:443:in `load_missing_constant’: uninitialized constant ApplicationController (NameError)
from /var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:80:in `const_missing’
from /var/lib/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:92:in `const_missing’
from ./test2.rb:6
Ouais… Mais tu pourrais être plus précis.. ?
hello , un petit message pour dire merci; le tuto à été très pratique pour moi…
De rien, content que ça ai aidé quelqu’un !