Archives mensuelles : février 2012

Pibou, rails & premier déploiement

La dernière fois, nous avons installé RVM et ruby. Il est grand temps d’installer rails et de créer notre projet.

Installation de rails

Pour l’installation de nouveau packages c’est RubyGems qui s’en charge. Une petite ligne de commande : $gem install rails

Si vous avez eu une erreur lors de cette commande du style :

ERROR: Loading command: install (LoadError)
no such file to load — zlib
ERROR: While executing gem … (NameError)
uninitialized constant Gem::Commands::InstallCommand

Il faut supprimer la version de ruby, installer le package zlib et réinstaller votre version via rvm :
$rvm remove 1.9.3-p125
$rvm pkg install zlib
$rvm install 1.9.3-p125
$gem install rails

Création du projet « Pibou »

Une ligne de commande :
$rails new pibou

Et voila votre nouveau projet, mais que s’est-il passé ?

  1. Création de toute l’arborescence du projet
  2. Utilisation de Bundler pour récupérer toutes les gems définies dans le Gemfile

Pour l’arborescence, nous allons la découvrir plus en détails au prochain article.

En ce qui concerne Bundler, c’est un gestionnaire de dépendances qui utilise un fichier de configuration que vous pouvez voir dans « /pibou/Gemfile ». C’est un mécanisme similaire à celui de maven avec ses fichiers pom.xml, l’analogie s’arrêtera là.

Il faut d’ailleurs éditer le fichier « /pibou/Gemfile » pour s’éviter une erreur de configuration de runtime JavaScript. Une ligne est prévue à cet effet :

# See https://github.com/sstephenson/execjs
# readme for more supported runtimes
# gem 'therubyracer'

Il suffit de dé-commenter la ligne 18. Puis d’appliquer ces changements via une commande lancée depuis la racine du projet :

$bundle install

Déploiement

Une ligne de commande :
$rails server

Un serveur WEBrick est lancé sur le port 3000 et vous pouvez accéder à votre application en local (127.0.0.1:3000) via votre navigateur préféré. La page que l’on peut voir est en fait une page html statique qui est disponible dans le répertoire « /pibou/public/index.html »

Et ensuite ?

Nous avons installé rails et créé le projet. Dans le prochain épisode :

  • Génération du code
  • Tour d’horizon du projet

@bientôt

Pibou, philosophie & ruby

Voilà la suite de notre fil rouge! Aujourd’hui nous allons installer le poste de développement. Je travaille sous MacOS, le comportement est similaire sous Linux (testé sous Ubuntu), je serais ravi d’avoir des retours d’utilisation sous windows.

Philosophie & Acronymes

  • KISS : « Keep it simple, Stupid » -> on reste simple, du code explicite et clair.
  • YAGNI : « You’re Ain’t Gonna Need It! » -> On ne fait pas si on en a pas besoin maintenant.
  • DRY : « Don’t Repeat Yourself » -> on prend garde aux répétitions inutiles, et on pense bien son code.
  • Convention Over Configuration -> on respecte des conventions de code pour limiter au maximum la configuration, rails est là pour vous simplifier la vie.
  • REST : « Representational State Transfert » -> architecture classique du web centrée autour des ressources plébiscitée pour sa simplicité.

Installation du poste de développement

Les outils

Pour installer vos outils sous MacOS, je vous conseille vivement HomeBrew. Je l’ai trouvé plus efficace que MacPort et permet un confort similaire à apt-get pour les linuxiens.

Lorsqu’on travaille avec ruby, on peut être facilement amené à gérer plusieurs versions qui sont malheureusement non compatibles. Il est donc judicieux d’utiliser des outils afin de ne pas se mélanger les pinceaux. En voici deux :

  • RVM (Ruby Version Manager) : celui que j’ai découvert en premier et que j’utilise encore. Très pratique, il permet de configurer des gemsets et de faire les installations des versions.
  • rbenv : se concentre uniquement sur la gestion des versions en étant non intrusif contrairement à RVM qui fourni plusieurs services.

Pour commencer, nous allons utiliser RVM qui nous permettra de cibler des installations et jouer avec la configuration.

Installation de RVM & Ruby

Nous allons installer la dernière version de ruby disponible puis configurer notre environnement via RVM (guide d’installation):

  1. Installer RVM -> $bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
  2. Installer ruby 1.9.3 -> $rvm install 1.9.3-p125
  3. Sélectionner ruby 1.9.3 -> $rvm use 1.9.3-p125
  4. Vérifier sa version (ruby 1.9.3p125) -> $ruby –version
  5. Pour sélectionner cette version par défaut pour la configuration rvm -> $rvm use 1.9.3-p125 –default

Et voila vous avez ruby 1.9.3 installé et sélectionné.

 Et après ?

Nous avons abordé la philosophie du projet et l’utilisation de RVM. Dans le prochain épisode :

  • l’installation de rails
  • la génération du projet
  • notre premier déploiement

@ bientôt

Ma première facture FreeMobile

Et voila, la première facture est tombée! Et toujours aucun problème à l’horizon. Bon, payer juste pour 10 jours c’est pas top mais c’est un faible coup pour la liberté.

On m’a posé pas mal de questions auxquelles je vais tenter de répondre :

  • Comment est l’interface client ?

Simple, sans fioriture : Accueil, Mes commandes (sim/téléphone), Gérer mon compte (consommation/options) et Téléphones pour les mobiles disponibles à l’achat.

  • En parlant téléphone, ils ont quoi dans leur interface ?

Pour l’instant, ceux de la capture ci-dessus.

  • Tu as eu des problèmes de batterie à cause du changement de réseau Free/Orange

Honnêtement, je ne me rend pas compte. J’ai une utilisation qui de toute façon nécessite de la batterie et je recharge mon téléphone régulièrement donc…. Ca ne change rien pour moi.

  • Tu as eu des coupures ou des problèmes d’appel ?

Non, aucun.

  • Tu as eu des problèmes de débit, d’envoi de sms ou de mms ?

Alors le débit, aucun soucis mais j’ai seulement consommé quelques dizaine de Mo. Les sms pas de soucis et les mms je ne m’en sers pas.

  • Est-ce que tu as changé ta consommation de téléphone ?

Non, peut être juste plus de sms et je ne regarde plus l’heure à laquelle j’appelle ou le temps que j’y passe. Mais fondamentalement c’est juste de la tranquillité psychologique, pas de surconsommation juste pour le plaisir d’être illimité.

  • Ils n’ont pas d’offre pour les tablettes ?

Ce n’est pas vraiment utile, les téléphones sont débloqués et il n’y a pas de restriction d’utilisation en modem. Il suffit de vous servir de votre téléphone pour partager la connexion et c’est autorisé chez Free 😉

  • Mais sinon, est-ce que …

Tout va bien.

  • Mais …

TOUT est ok. C’est un opérateur « presque » comme les autres. 😉

@Bientôt

Article connexe

FreeMobile, le forfait volubile!

 

La naissance de Pibou – préambule

Je vous propose un voyage à travers des technologies web, des outils, et un écosystème luxuriant. Point de vérité absolue ou de solution ultime en vue, mais du partage et de la découverte.

Le besoin

Qui dit application dit réponse à un besoin. Disons un outil de gestion pour votre collection de dvd/blu-ray.

Quelles technologies ?

Il s’agit d’une application CRUD classique, nous allons en profiter pour utiliser un framework de « haute productivité ». Nous pourrions choisir Play!, SpringRoo ou Grails mais nous allons nous pencher sur Ruby On Rails. Nous allons partager notre travail avec Git sur GitHub et nous déploierons l’application sur Heroku.

Nous croiserons la faune et la flore de cet écosystème au fur et à mesure de nos besoins et de nos envies. Parmi les espèces que nous pourrions rencontrer : RVM, JS, CoffeScriptLESS ou Sass , Bootstrap from twitter, devise et bien d’autres encore…

Préparation des bagages

Pour partir sur la route avec Ruby On Rails, on peut faire une petite préparation avec quelques excursions de mise en bouche :

Ya plus qu’a…

Ces quelques bagages en poche, nous partons pour la réalisation de notre gestionnaire de dvd. Nous pouvons nous projeter dans les fonctionnalités et voir où le vent nous portera.

Ah oui, j’oubliais, Pibou sera le nom du projet 😉 @très bientôt.