lundi 7 juillet 2008

Entrailles de la Desmocedici

Et voici à quoi ressemble les dessous de la jupe de la Desmocedici: La MotoGP rendu accessible au grand public bien fortuné...
Suivez le lien:
ICI

C'est magnifique.. et il y a tant dans si petit.. sa force le respect pourtoute cette puissance.

samedi 17 mai 2008

Comment laver sa moto et son équipement ?

Après vous avoir fourni une vidéo montrant comment garder sa moto sur 2 roues (petit rappel: c'est ici).

Je vous propose, après quelque navigation sur le web, un tutoriel vidéo sur comment laver, et sa moto, et son équipement ...
Je vous laisse la surprise de la découverte:

jeudi 15 mai 2008

Javascript dans Ruby on Rails - partie 1

Dans ce post, je vous ferai part de ma dernière aventure dans le monde de Rails.
J'ai eu un peu de mal à trouver des tutoriaux assez précis et en français. En réalité, je n'en ai pas trouvé.

Voici alors que je propose le mien.

Utiliser Ajax dans notre framework préféré, revient à écrire du javascript avec du Ruby dans les pages ou vues et à la volée.
Tout d'abord un bref bilan sur ce qu'est le RJS. Il s'agit d'une extension pour les vues au même titre que les ".rhtml". Seulement le serveur générera à la lecture de ces vues du code javascript interprété par le navigateur.
Les vues RJS remplaceront donc les vues RHTML pour une action du controller.
Avec Rails 2.0, ce ne sont plus des vues ".rhtml" ou ".rjs" mais ".html.erb" et ".js.erb" .
Dans la suite du tutoriel, je garderai l'appellation "RHTML" et "RJS" afin d'économiser mon clavier... ;)

Pour rendre les vues RJS efficaces, il est indispensable d'utiliser l'Ajax avec les méthodes des Helpers Javascript, Prototype ou Scriptaculous fourni dans ActionView utilisé par le framework Rails.
Une petite énumération de ces méthodes:

  • form_remote_tag
  • link_to_remote
  • link_to_function
  • remote_function
  • button_to_function
  • (s'il en manque, n'hésitez pas à me le signaler...)
Le javascript avec Ruby

Il y a plusieurs manières de réaliser du javascript dans le framework Ruby on Rails.
En effet, soit il est directement écrit dans les vues... bien évidemment, je ne parle pas d'écrire du code javascript dans des balises 'script' HTML, mais plutôt en Ruby. Il suffit alors d'utiliser les helper button_to_function ou encore link_to_function.
Ces deux outils s'utilisent dans la vue afin d'y inscrire une action javascript sur un onClick de lien ou du bouton:

<%= link_to_function "Lien", "code javascript", "options html" %>

par exemple, un lien pour réaliser une alerte:

<%= link_to_function "Cliquez ici", "alert("Clic réussi");", :id => "clicla", :class => "clicme" %>
Ceci créera un lien créant une alerte avec le message "Clic réussi" sur le onClick du lien. Ce lien aura un id "clicla" et la classe css "clicme" : Le Lien

Mais il est également possible de réaliser un bloc contenant plusieurs actions javascript successives. Le code javascript ainsi saisi sera du pur RJS.

<%= link_to_function "Lien", nil , "options html" do |page| .... code rjs .... end %>

L'objet 'page' sur lequel s'applique spécifiquement le code rjs correspond au document. Ainsi il est possible de:
- sélectionner un élément DOM à partir de son id > page[:id_du_DOM] ou page["id_du_DOM"]
- sélectionner une série d'éléments en fonction de leur classe css > page.select("style css") puis y ajouter les commandes que l'on veut effectuer en réalisant un page.select("").each ou page.select("").find_all ... etc ...
De manière générale, il est alors possible d'utiliser les outils du module ruby Enumerable que vous trouverez ici

Le helper button_to_function fonctionne à l'identique.

Dans un second temps, nous aborderons réellement ce qui fait de Ruby on Rails et de ses Helpers Ajax quelquechose de magique.

A SUIVRE ....

dimanche 13 avril 2008

Ruby on Rails et SQLite

Pour programmer une application en Ruby on Rails, nous avons le choix de la base de données que nous utiliserons.
MySQL est certes la plus efficace mais il y a toujours, pour l'aspect portable de l'application le choix de SQLite qui peut s'avérer pertinent.
Comme je développe mon premier projet entre chez moi et dans mon foyer du week-end, j'utilise à la fois MySQL et SQLite (ce dernier est fort pratique pour économiser les ressources du PC).

Je vais vous faire part de la problématique que j'ai pu rencontrer.

Sous Linux base Debian (j'utilise plutôt Ubuntu):

Aucuns soucis...

$ sudo apt-get install sqlite3 libsqlite3-dev

$ sudo gem install sqlite3-ruby

Et voilà il n'y a plus qu'à modifier la configuration du projet au niveau du database.yml comme indiquer ci-dessous

Sous Windows c'est une toute autre affaire:

En effet il vous faut télécharger le fichier sqlite3.dll sur le site officiel de SQLite (ici => http://www.sqlite.org/download.html)

Le fichier sqlite3.exe peut aussi être récupéré mais il ne permettra que l'administration de votre base de données en ligne de commande..

Le fichier précédemment télécharger devra être obligatoirement placé dans le répertoire source de ruby (en général C:/ruby/bin).
Alors comme sous linux, il faudra procéder à l'installation de la gem sqlite3-ruby... saisissez gem install sqlite3-ruby dans la fenêtre commande.

Pensez à choisir la version win32 si cela vous ait demandé


La particularité de Windows est qu'il faut ABSOLUMENT créer son projet dans un répertoire pour lequel le chemin ne contient AUCUN espaces... sinon le projet sera incapable d'ouvrir la base de données.

Et pour finir, le fichier database.yml:
Mettre ceci dans les paramètres de la base de données:

development:
adapter: sqlite3
database: db/LPG_development.db


Quelques différences entre SQLite et MySQL:
  • Pour tous les champs qui ne peuvent pas être à NULL, il est indispensable de déclarer la valeur par défaut dans la migration

  • Dans les fixtures, il est indispensable de renseigner tous les champs, même ceux created_at, updated_at et lock_version


Et voilà vous avez tous les renseignements pour programmer avec SQLite, faites-vous plaisir!!!

Sources: http://wiki.rubyonrails.org/rails/pages/HowtoUseSQLite

modifié le 13 Juin 2010

samedi 29 mars 2008

Comment garder sa moto sur 2 roues?

En ce samedi ensoleillé, j'ai eu une GRANDE leçon de pilotage.
Celle-ci s'intitulait: Comment garder sa moto sur ses deux roues?

La solution la plus sage est de rouler tranquillement.

Pour tous les autres, regarder cette vidéo:

vendredi 14 mars 2008

Petit Panorama sur Gavarnie

Il y a deux semaines, je suis allé skié à Gèdre-Gavarnie... évidemment il n'y avait pas beaucoup de neige... plutôt aucune neige!!! ;-\

Puis après deux jours de tempête avec des vents de 110 à 130 km/h, on s'est réveillé au milieu de ça (c'est sûr, j'y étais!!! ;P ):

cliquez sur la photo pour la voir de meilleure qualité

Gavarnie sous la neige, Montagne

jeudi 13 mars 2008

Les Annotations dans votre application Rails

Qui n'apprécie pas de voir d'un premier coup d'œil ce qu'il a prévu de coder ou d'améliorer dans son application Ruby on Rails.
Jusque là, du temps de Rails 1.2 où je suis encore, l'on devait se contenter de mettre quelques commentaires, voir de les libellés avec quelques TODOs, FIXME ou autre OPTIMIZE ...

Avec Rails 2.0, il est possible de lancer une tâche rake permettant de lister les différentes annotations avec leur contexte (fichier de l'application, type de l'annotation et annotation) :

rake notes
ou rake notes:TODO
ou rake notes:FIXME
ou rake notes:OPTIMIZE

Le résultat obtenu serait le suivant:
(in /home/sebthemonster/RailsProjects/lpg-web)
app/controllers/commande_controller.rb:
* [142] [TODO] Insérer un appel IPN pour vérifier si la transaction a tout de même eu lieu
* [144] [OPTIMIZE] Réaliser une vue adaptée si l'échec est réel

Il est possible d'utiliser cette tâche dans Rails 1.2 en téléchargeant le script de la tâche dans le répertoire lib/tasks de votre application:

sous Linux, saisissez dans le terminal les lignes suivantes:
$ cd lib/tasks && \
wget http://dev.rubyonrails.org/export/7553/trunk/railties/lib/tasks/annotations.rake

Sources: http://ryandaigle.com/archives/2007/2

samedi 1 mars 2008

Ouverture de mon blog

Comme je l'explique dans mon profil.. je suis un jeune programmeur... d'autant plus en Ruby on Rails.
Mon projet actuel est un site marchand pour un petit commerce.

Au fur et à mesure de mes découvertes, je ne manquerai pas ne vous en faire profiter.

Les amoureux des grands espaces pourront commencer par profiter des quelques photos que j'ai commencé à mettre en ligne... celles-ci ont la grande majorité (pour ne pas dire toutes) seront prises dans les Pyrénées.

Mes petites escapades sur mon bicylindre préféré viendront également...

Bonne lecture à tous et revenez de temps en temps... l'évolution sera dès à présent continue...