Un certain soir, j’étais en recherche d’idées pour un article de blogue. Ce que j’avais en tête, c’est de trouver quelque chose de nouveau à expérimenter et à apprendre.
L’idée qui m’est venue à ce moment-là, c’est de tenter quelque chose avec Ruby. Ce langage de programmation est très populaire grâce à la venue du framework de développement web Rails. Toutefois, dans mon cas, je ne voulais pas me lancer dans la mise en place d’un projet Rails. Le projet était trop ambitieux pour ce que j’avais d’ambition à donner ce soir-là.
Hello Sinatra!
Mes recherches m’ont mené directement à Sinatra. Un tout petit framework MVC permettant le développement d’applications web et cela très rapidement grâce à un langage dédié (DSL, pour les anglophiles) spécifiquement pour ses besoins.
D’ailleurs, cela est l’un des principaux avantages de Ruby. La possibilité de créer des langages dédiés grâce à la souplesse syntaxique qu’il permet.
La documentation de Sinatra le mentionne très clairement. Il suffit de très peu pour avoir un projet minimalement fonctionnel. La mise en œuvre d’un projet avec Sinatra nécessite vraiment deux lignes de codes. Seulement si vous avez installé Ruby, au préalable.
Les principaux arguments de vente derrière Sinatra sont les suivants :
Simplicité et facilité d’utilisation
Résultats instantanés
Alternative rapide à Rails
Du côté de la facilité d’utilisation, la configuration de Sinatra se résume à :
gem install sinatra
Au minimum, votre fichier Ruby devra contenir le code suivant pour fonctionner avec Sinatra :
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Mon projet a été basé sur cette idée. Créer un petit service web permettant de recevoir une image encodée en une chaîne base64, l’enregistrer sur le disque et la retourner au demandeur. Simple? Jugez-en par vous-même.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Au total, c’est 24 lignes bien espacées de code assez léger. Voilà comment il se décompose :
get / : Retourne la page d’accueil du service. En toute honnêteté, j’en avais pas besoin mais je voulais voir comment fonctionnait Haml. D’ailleurs, vous pouvez consulter le contenu de cette vue ici.
post ‘/image’ : Tout ce qui est décrit, plus haut dans ce paragraphe, se passe dans cette action.
Mot final
Parfois, il n’est pas nécessaire d’aller à la chasse à l’ours avec un arsenal nucléaire. La force de Ruby est de pouvoir faire de petites choses simples avec très peu.
Alors, lorsqu’il est temps de pouvoir mettre en place un petit projet jetable. Ruby s’impose, pour moi, comme un outil de prédilection. D’ailleurs, pour ce petit bout de code, j’ai passé plus de temps à figurer comment enregistrer un fichier que de mettre en place Sinatra.
Le système d’exploitation Windows domine avec près de 70% des parts d’utilisation dans le monde, à l’heure d’écrire cet article. Cette domination fait en sorte que, d’une façon ou d’une autre, en accord ou pas, vous aurez à utiliser dans votre quotidien.
L’écosystème de développement qui va de soi est .NET. Il n’est pas un hasard que .NET soit produit par Microsoft même. Il s’agit de la raison même de l’expression For Us By Us.
Il serait tout de même naïf de croire qu’il y a seulement avec .NET qu’un programmeur peut s’exercer. Si ce n’est pas à travers Cygwin ou même avec un environnement natif, il y a de très bonnes raisons de croire que votre langage open-source préféré soit adapté pour être utilisé sous Windows.
Ruby
Ruby est un langage de programmation orienté objet et dynamique. Le langage en soi a été inventé en 1995 par Yukihiro Matsumoto.
Ce que j’aime, en particulier, avec Ruby est le peu de friction qui a entre les fonctionnalités offertes par le langage lui-même et la structure du langage. Certains sont même allés jusqu’à le comparer au vénérable VB6.
Par exemple, les lignes suivantes :
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
table est dans la liste!
chair est dans la liste!
floor est dans la liste!
RubyGems
RubyGems est le gestionnaire des librairies tierces associées à Ruby. Il permet la gestion et la configuration des librairie que vous désirez utiliser. Dans le cas où vous venez du monde de .NET, sachez que le concept est très similaire à NuGet.
Sa syntaxe est assez linéaire. Dans la majorité des cas, vous voudrez simplement l’invoquer de la façon suivante : gem install votre_librairie.
Par exemple, pour installer la librairie Sinatra, vous l’appelez de cette façon : gem install sinatra. Le tour est joué!
Ruby On Windows
La meilleure façon de configurer Ruby sur son système Windows est par l’entremise de Ruby On Windows. Il s’agit d’un installateur sous le format d’un MSI permettant la configuration de Ruby ainsi que ses fonctionnalités satellite.
L’installation de RoW est assez simple. Il suffit de télécharger et installer la plus récente version à l’adresse http://rubyinstaller.org/downloads/.
À l’heure actuelle, la version la plus récente de Ruby est 1.9.3-p327. Prenez note que cette RoW est mise à jour assez fréquemment.
La procédure détaillée pour l’installation se résumé à cliquer sur suivant quelques fois et attendre un peu. Cela est aussi simple qu’il est entendu.
S’amuser avec Ruby
Une fois le tout installé, vous aurez les éléments suivants dans votre menu démarrer :
Les points d’intérêts principaux sont :
Interactive Ruby (irb) : Permet de tester votre code en temps réel. Vous pouvez littéralement copier/coller votre code là-dedans et voir les résultats à mesure que le code est interprété.
RubyGems Documentation Server : Interface web centralisant la documentation des gems que vous avez d’installé sur votre ordinateur.
Pour le reste, il vous faut un éditeur texte et un peu de volonté pour apprendre un nouveau langage de programmation. Un fichier ruby s’exécute de la façon suivante : ruby fichier.rb.