Rest, la suite : le langage Ruby | Sinatra | votre premier web service

A LIRE AUSSI

Par -

Bonjour tout le monde,

Me revoila apres quelques semaines d’absences, une vilaine grippe :D … Allons y pour un petit récapitulatif. Dans mon article intitulé “ le protocole HTTP | introduction à REST  ” , je vous ai parlé du protocole HTTP mais aussi de l’architecture REST qui est tres utilisée pour la mise en place de services web. Nous allons monter  d’un cran et faire un bout de code qui vous permettra de lancer votre premier service web. Toutefois je vais introduire quelques “concepts” , nous parlerons ainsi donc de :

  • le langage Ruby
  • le Framework sinatra

Le langage Ruby ? 

Certains d’entre vous me diront c’est quoi un langage et c’est quoi ruby. Un langage, ou plus précisément langage de programmation, est tout simplement un langage formel, c’est à dire basé sur un alphabet  et qui permet d’établir la communication entre deux interlocuteurs.Dans notre contexte les deux interlocuteurs sont d’un côté le développeur et de l’autre la machine. l’alphabet du langage est défini suivant une syntaxe, et un ensemble de conditions.

Ruby est quant à lui un langage de programmation orienté objet. il s’agit d’un langage basé sur une syntaxe simple et intuitive. Il est dit orienté objet car se basant sur une représentation du monde réel tel que toute entité de ce monde réel peut être défini comme un objet ayant des attributs et des actions. Quelques exemples :  un homme a pour attribut son poids, sa taille, sa couleur de peau, son âge, son sexe et peut effectuer des actions telles que marcher, courir, parler…autre exemple une table a pour attribut sa hauteur, sa couleur, sa constitution et on peut poser un élément sur une table, on peut déplacer une table….

J’espère que vous me suivez toujours , je vous donne les liens pour installer ruby et le configurer sur votre machine soit via le rubyinstaller sur windows ou encore le package pour linux : Télécharger Ruby . Et pour ceux qui souhaitent apprendre les bases en trente minutes c’est ici.

Le framework Sinatra

Sinatra est un framework ( ici pour la définition ) ruby qui permet de tres simplement mettre en oeuvre des services web, basés sur l’architecture REST.  Avec ce framework vos services web sont déployés et accessibles en quelques minutes. Voyons un peu ce que ça donne

require ’sinatra’

get ‘/liste_des_articles_de_social_input’ do

@articles = Article.where(:categorie_id => 3 ).all

           @articles.to_json

end

Si ce programme est hebergé sur le serveur à l’adresse http://www.socialinput.fr alors une requête du type

Get http://www.socialinput.fr/liste_des_articles_de_social_input permettrait de récupérer la liste des articles ( en passant je les ai pas mis en place donc pas la peine de tester les amis )

Le tour est fait, un premier service web est déployé. Il est important de comprendre le principe de création, de déploiement des services web via une architecture REST, car bon nombre d’APIs aujourd’hui se base sur ce type d’informations pour permettre aux développeurs de pouvoir interagir avec leurs applications ou systèmes.

Une petite précision concernant le JSON, c’est à dire le format utilisé pour renvoyer la liste des articles relatifs à la catégorie. Il s’agit d’un format d’écriture des données en javascript simple et robuste qui contrairement au XML est nativement interprété.

si vous avez des zones de floues ou des questions. La partie “Commentaires” vous ait reservée.

 

khalil

khalil

Co-fondateur de Social Input, mon combat "make people successful"
khalil