The Hacking Project : Ruby plein les poches

Mais qu’est-ce donc que ces fameux rubis dont tout le monde parle ? Découvrons le ensemble :


I. Ruby en quelques lignes 💻

Ils sont partout : dans la plupart des programmes de Bootcamp de code, chez les starts ups les plus en vogue, voir même sur des rails (!) et non plus dans les mines de Birmanie, vous l’avez compris je veux bien entendu parler du langage de programmation Ruby.

Mais qu’est-ce que Ruby vous vous demanderez et pourquoi ce langage est-il si populaire dans les formations intensives de code ?

En bref, Ruby est un langage de programmation orientée objet (POO) développé par Yukihiro Matsumoto. Ce développeur japonais, frustré par les langages qu’il utilisait au quotidien, a décidé de concevoir un langage de développement open-source (dont le code n’est pas propriétaire et où tout le monde peut contribuer).

On peut donc tous le remercier pour son travail (ainsi que toute la communauté Ruby) qui a permis l’émergence de ce langage dont la syntaxe se rapproche énormément de l’anglais.

Mais pourquoi apprendre le Ruby plutôt qu’un autre langage ?

Bien évidemment, tous les langages de développement ont leurs avantages et leurs inconvénients.

A mon niveau, je pense que les avantages comparatifs de Ruby sont les suivants :

  • Une syntaxe simple : comme dit plus haut, Ruby est facile à comprendre et également très souple dans son utilisation, de plus son écriture se rapproche de celle de l’anglais
  • Facile à mettre en oeuvre : L’installation de Ruby sur sa machine se fait facilement (sous système à noyau Unix). En quelques lignes de code tapé dans son terminal, l’environnement de développement est mis en place et l’on est prêt à coder. Un éditeur de texte peut être un ajout intéressant pour sauvegarder ses premiers scripts
  • La communauté Ruby : Ruby est un langage vivant qui bénéficie d’une forte communauté open-source. Celle-ci produit des “gems”: un ensemble de fonctionnalités déjà développées par la communauté. Une fois implémentée dans le programme, la gem permet de bénéficier de fonctions très utiles, avec le manuel d’utilisation, s’il vous plaît !
    La communauté est très présente sur le web, et de nombreux relais physiques sont également disponibles pour découvrir et échanger autour de ce langage.

En ce qui concerne le développement web, le potentiel qu’offre la maîtrise de Ruby se révèle via les synergies obtenues par la connaissance d’autres langages : HTML, CSS, JavaScript et SQL. Pour appliquer tout cela, il conviendra d’utiliser un framework, comme Ruby on Rails par exemple.
Cela tombe bien, c’est exactement le programme de The Hacking Project.

II. Ruby dans la formation

Au cours des semaines deux et trois de la formation, l’accent était donc mis sur la maîtrise de Ruby, via des cours ou l’utilisation de gems.

Afin de pouvoir commencer la formation, il était nécessaire de valider un MOOC Ruby (Codecademy ou OpenClassrooms).

Ces formations en ligne enseignent les principales notions nécessaires à tout bon programmeur (les concepts de variables, boucles, logique booléenne, fonction, etc…) avec également des détails plus techniques sur certains choix d’utilisation de variables ou bien des conseils de syntaxe.

Une fois une petite remise dans le bain, via plusieurs séries d’exercices, le programme des deux semaines Ruby était assez chargé : initiation au mode de pensée Test Driven Development (très utile pour la suite), découvertes de différentes gems tel que Nokogiri, Watir, les API de la suite Google (Gmail ou Google Drive), l’API de Twitter, la Programmation Orientée Objet (POO) et la découverte du Framework Sinatra.

Mais qu’est-ce que tout ce charabia ?

  • Le test driven development est une philosophie de développement. Cela consiste à : (i) rédiger des tests, (ii) écrire le code nécessaire pour passer ce test, (iii) vérifier que le test est passé et (iv) recommencer en rajoutant des fonctionnalités.
  • Une API (Application Programming Interface) rejoint le concept de gem puisque c’est un ensemble de classes, méthodes et fonctions qui permettent à deux applications de communiquer entre elles. Quand on parle de l’API Twitter, cela veut dire que c’est une gem qui permet à son script de communiquer avec Twitter.
  • Nokogiri et Watir : ce sont deux gems qui permettent de parcourir une page web et éventuellement de récupérer les informations. Watir à la spécificité de simuler un utilisateur en ouvrant l’explorateur sur son bureau.
  • La programmation orientée objet est un paradigme de développement qui consiste à créer des briques appelées Objet. Chaque objet représente une idée, un concept ou une entité physique (par exemple : l’objet voiture et l’objet conducteur). Ces différents objets peuvent également interagir entre eux.

III. Les acquis de ces deux semaines 🤓

Ces deux semaines se sont traduites par une montée en gamme en termes d’exigence, de difficultés et d’abstraction. Le corollaire se traduit par quelques abandons (une dizaine de personnes 😳).

L’écrémage se fait à chaque rendu de projet ou correction validantes puisque, chaque projet absent ou correction non fait se traduit par un joker en moins (sur un total de trois). Une fois que le dernier joker est perdu, l’étudiant est considéré comme démissionnaire.

Compétences à l’issue de la partie Ruby :

  • Maitriser la syntaxe Ruby
  • Respecter la syntaxe de la POO et réaliser des programmes en console
  • Pouvoir créer un Bot Twitter en utilisant l’API Twitter
  • Utiliser Nokogiri et Watir pour scrapper des données (même sur des sites avec de l’Ajax)
  • Automatiser la lecture et l’écriture d’informations dans un fichier excel
  • Création d’un bot Gmail qui permet l’envoi automatique d’email
  • Savoir chercher des gems dans le catalogue

Impressionnant n’est-ce pas ?

La partie Ruby du Bootcamp fini, nous allons attaquer Rails 🚂 pour trois semaines de formation. Cette partie du Bootcamp est considérée comme la plus difficile en termes de concepts à assimiler et à restituer. Etant actuellement en plein dedans, je vous le confirme.


Si vous aussi vous voulez apprendre à coder dans un bootcamp génial (et gratuit), inscrivez-vous sur le site de The Hacking Project.

 

Mathieu Brun-Picard

Laisser un commentaire

Choisissez une méthode de connexion pour poster votre commentaire:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s