Découverte de Ruby
Depuis le temps que mes collègues en parlent, il fallait bien que j’essaie. Me voilà donc embarqué dans un petit projet perso en ruby. Pour découvrir simplement le langage et faire rapidement quelque chose, j’ai commencé avec Ruby On Rails.
Premiers pas
Direction rubyonrails.com pour installer tout le bazar.
On apprend qu’il faut installer RubyGems, qui est le packaging system. C’était déjà installé sur mon mac. J’ai juste eu besoin de lancer dans le terminal :
Tout est prêt pour créer une application :
Ca va créer plein de dossiers et fichiers. On peut déjà lancer le serveur web :
Et on accède au site sur : http://localhost:3000/
Le projet ezBudget
Pour mettre en pratique, rien de vaut un bon petit projet tout simple. Le site est un gestionnaire de comptes en banque. On peut gérer ses entrées et sorties d’argents automatiques ou non.
Après analyse et croquis sur mon cahier à idées, voilà ce qu’il me faudra apprendre :
- la structure de rails (les configs, les routes, le MVC, les layouts, les partials, les helpers, etc.)
- l’authentification
- les accès à une base de données (ou plusieurs)
- la localisation
Dans ce projet, je pense que je ne vais pas utiliser les plugins, mais m’en inspirer. C’est toujours la même chose, les plugins c’est bien gentil, mais ils n’ont jamais les comportements qu’on veut.
La structure
Rien de particulier pour l’instant, j’ai déjà vu des architectures similaires en php.
L’authentification et l’accès à une base de données
Il y a plusieurs techniques pour l’authentification. J’ai installé restful_authentication
en faisant :
Je vais l’étudier pour faire l’authentification que je veux. Et j’apprendrai en même temps comment on crée un accès à une base de données.
La localisation
Sûrement la partie la plus fouillie, j’ai opté pour ça : http://almosteffortless.com//2008/07/21/simple-localization-in-rails-22/
J’ai trouvé Globalize
pas clair et d’autres pas mieux.
Je pensais que le système de localisation me serait fourni, mais je me retrouve à devoir chercher des plugins pas bien documentés.
Générer la documentation
Un truc chouette, c’est le générateur de documentation du site qui se lance comme ça :
Installation sur mon dédier
Maintenant, je veux que ça marche sur mon serveur. J’installe rails dessus, et j’arrive à faire tourner le site comme sur mon local, mais c’est sur le port 3000
.
J’ai fait au plus simple en utilisant le mod_proxy
de apache (parce que j’ai déjà un apache sur le serveur). Voici la configuration du VirtualHost :
J’ai vu qu’il y avait différentes façons de faire marcher un site ruby en passant par apache, mais celle là est simple. Ensuite, je ne sais pas si c’est bien ou pas.
Conclusion
C’est sympa, même si je suis un peu perdu. A la différence d’un framework dans un langage que je connais, là je ne connais rien. Je ne sais même pas où chercher et je ne trouve pas forcément la doc qui me convient.
J’ai trouvé le contenu des classes de rails au fin fond de mon disque dur. Par exemple ActionController::Base
se trouve ici :
Bref, j’en dirai un peu plus au fur et à mesure que j’avance dans le projet.
Sinon, voilà un peu les sites où je suis allé, sans citer les divers wiki et blog trouvés par google sur des thèmes précis :
Commentaires