Pas question ici de reprendre tous les excellents tutoriels qu'on peut trouver sur l'internet, mais de donner des références et quelques conseils pour démarrer.

Pour gérer le code de l'application, je n'ai rien trouver de mieux que Notepad++ qui sait colorer les formats des langages utilisés par Ruby onRails.


1. Ruby

Ruby est un langage objet moderne et souple, pratique pour les programmeurs, facile à prendre en main à partie de la connaissance d'un autre langage, mais avec des fonctionnalités uniques. À travers Rails, le langage Ruby est peu visible, mais il est profitable de savoir bien l'utiliser.

Le langage est interprété en développement, mais le code compilé sera mis en cache en production.

Les variables ne doivent pas être déclarée et ne sont pas typées, mais les données qu'elles contiennent le sont.

La classe Hash gère des tableaux de couples (clé - valeur) qui donne beaucoup de souplesse aux listes indéfinies, notamment aux paramètres d'appel des fonction.

Affectations multiples :
a = b = 3 → 3 est copié dans a et dans b
a, b = 1, 2 → équivalent à a = 1 ; b = 2
a, b = [1, 2] → les éléments du tableau sont ventilés dans les variables de gauche
a, b, c = 1..3 → équivalent à a = 1 ; b = 2 ; c = 3 : les valeurs de l'intervalle 1..3 sont ventilés dans les variables de gauche

Les blocs de code, les méthodes, les classes sont considérés comme des données qui peuvent faire l'objet de traitement.

Le code est dynamiquement extensible. Par exemple, tous les appels vers une méthode non définie sont routées vers la méthode method_missing qui peut analyser l'appel et générer une réponse en fonction du contexte. Les classes de gestioon des données de Rails traient ainsi toutes les fonction de recharche par attributs du type find_by_name ou même find_by_first_name_and_last_name.

Une classe peut toujours être ré-ouverte pour la modifier ou la compléter, y compris les classes standard.

Les modules permettent des héritages multiples.

Un mode console : après l'installation de Ruby sur votre machine, ouvrir une fenêtre et taper irb (interactive ruby) - ou par SSH sur une machine distante.

etc.

1.1. Références

En ligne

1.2. Contexte AIO

Le développement du logiciel projet_a est réalisé avec Ruby 1.9.3, sous Windows NT pour cause d'indisponibilité des bons pilotes d'écrans sous Linux. Quelques tests sont effectués sur une Ubuntu gérée par VM virtual Box.

À cause de la version courante de cPanel, les serveurs o2switch sont bloqués à la version 1.8.7 de Ruby (commande ruby -v). L'objectif est de passer au plus tôt la plate-forme de production sous Ruby 1.9.3.

L'utilitaire RVM permet d'installer plusieurs versions de Ruby dans l'espace privé d'un utilisateur Linux. Il n'est pas encore opérationnel sur a-io.eu, sans doute pour cause de variables d'environnement non ou mal renseignées.

1.3. Compatibilité Ruby 1.8 - Ruby 1.9

Voici quelques simples écarts entre les versions 1.8 et 1.9 de Ruby à connaitre pour obtenir un code compatible entre les deux versions.

Pliage des lignes de code
Ruby 1.9 est plus souple sur les contraintes imposées au pliage des longues lignes de code.
Écrire : le symbole en fin de ligne. Exemples

a > b ?
  nil : a + b

a + b +
      c
 fonction(
  argument)

Extrait d'un caractère d'une chaine
Chaine[i] retourne le (i+1)ème caractère de Chaine en type Integer avec Ruby 1.8, en type String avec Ruby 1.9.
Écrire : Chaine[i..i] = intervalle entre i et i, ou mieux : Chaine[i, 1]  = 1 caractère à partir de i.

Nouvelles notations
Ruby 1.9 introduit de nouvelles notations plus agréables qu'on évitera si on veut garder la compatibilité avec la version 1.8.
Écrire : { :a => 2 }, pas { a: 2 } (class Hash)

Tri
Les hachages (class Hash) respectent l'ordre de création des éléments en Ruby 1.9, pas en 1.8.
Écrire : une fonction de tri quand c'est possible... ou attendre la migration complète vers Ruby 1.9 (solution choisie pour projet-a).


2. Ruby on Rails

Ruby on Rails, alias Rails ou RoR pour les intimes.

2.1. Références

En français (pas tout)

2.2. Contexte AIO

Le logiciel projet_a est développé avec la version 3.0.15 de Rails. Une adaptation est sans doute nécessaire pour la gestion des ressources (assets) qui a notablement évolué avec la version 3.1.

version 0.8.2-0222-120824
↑ Haut