Les avantages de Ruby on Rails (4/10) : Rack

Posté le 8 décembre 2011 @ 12 h 56 min par Matthieu Segret

Rack est une couche d’abstraction entre le serveur web et votre code Ruby. Pour les pythonistes, Rack est l’équivalant de WSGI.

Les autres me diront : « A quoi ça sert ? ».

Le premier intérêt de Rack, c’est de servir « d’adapteur universel » entre la plupart des serveurs web et du code Ruby. L’interface est très simple : une méthode qui prend la requête en entrée et retourne la réponse en sortie.

Il n’y a pas besoin de rentrer dans la technique pour voir d’autres avantages. Les « tranches » Rack peuvent se superposer, la réponse en sortie d’un Rack peut être branchée à l’entrée d’un autre Rack. Ces Racks que l’ont appellent middlewares ont différentes utilités : mise en place de cache avec Rack::Cache, Rack::Throttle pour limiter le nombre et la fréquence des requêtes HTTP provenant d’un client, Rack::Honeypot pour filtrer les spams, etc. Vous trouverez d’autres exemples ici.

Enfin dernier grand avantage : Rack peut rendre vos applications web modulaire ! En effet vous pouvez créer des applications Ruby on Rails entières avec modèles, vues et contrôleurs et les réutiliser comme un module d’une autre application Rails. C’est comme cela que fonctionne par exemple ActiveAdmin et Devise. A noter que Ruby on Rails n’est qu’un ensemble modulaire de « tranches » Rack.

Je vous invite à lire les autres avantages de la série : les avantages de Ruby on Rails

2 Commentaires

  1. Thomas
    29 juillet 2012 à 23:24

    Hello,

    Ton lien RackMiddleWare par Damien Mathieu est mort ;)

  2. Matthieu Segret
    2 août 2012 à 16:36

    Hello, merci de me l’avoir fait remarqué. Damien Mathieu a dû supprimer la page. Je viens d’enlever la ligne. Merci :-)

Laisser un commentaire

Connexion OpenID

Connexion Standard