Améliorer votre productivité avec les plugins de Padrino
Vous souhaitez mettre votre solution en avant en haut de cet article ? Contactez-nous
Aujourd’hui sur le Blog du Webdesign, découvrez l’utilisation de plugins pour Padrino.
Présentation de padrino
Pour ceux qui ne connaissent pas Padrino, voilà une petite mise en bouche :
Padrino est un micro-framework pour le langage ruby construit autour de la bibliothèque Sinatra. Concrètement Padrino va permettre de créer un cadre pour votre application web en apportant une architecture particulière simplifiant l’organisation et le développement de notre application et ainsi nous faire gagner en productivité.
Pour plus d’informations et vous faire une idée plus précise, je vous invite à vous rendre sur le site officiel le padrino.
Padrino et ses plugins
Parmi les outils les plus puissants fournis par Padrino se trouvent les plugins.
L’avantage des plugins est qu’ils permettent d’automatiser de nombreuses taches pour nous faire gagner du temps, comme la génération de pages ou l’installation de gems.
Nous allons d’ailleurs voir le plugin Better Errors avec sa gem en guise d’exemple.
Installation classique de Better Errors
Better Errors est une gem qui remplace la page d’erreur standard par une page plus complète et pratique. L’installation normale sans passer par un plugin (sur Padrino) se déroule comme ceci :
– Ajoutez cette ligne à votre Gemfile :
gem ‘better_errors’
– Puis dans config/boot.rb ajouter :
require "better_errors" #Setup better-errors if Padrino.env == :development Padrino::Application.use BetterErrors::Middleware BetterErrors.application_root = PADRINO_ROOT BetterErrors.logger = Padrino.logger end
– Enfin bundle pour la gem, redémarrez Padrino et simulez une erreur pour voir le résultat.
Installation de Better Errors via son plugin
L’installation classique de better errors n’est pas très compliquée, seulement cela demande d’aller se renseigner sur la procédure d’installation et de ne pas faire d’erreur durant les manipulations. De plus certaines Gems sont bien plus complexes à faire fonctionner. L’utilisation d’un plugin permet de réaliser la même chose en une seule commande !
Note: chez moi ce plugin ne fonctionne pas dans sa version d’origine, j’ai donc dû le modifier un peu pour qu’il fonctionne.
– Saisir dans le bash :
padrino g plugin https://raw.github.com/grogui/padrino-recipes/master/plugins/better_errors_plugin.rb
– Enfin bundle pour la gem, redémarrez Padrino et simulez une erreur pour voir le résultat.
Fonctionnement d’un Plugin
Un plugin est un simple fichier texte qui s’occupe de saisir ce que l’on veut dans les fichiers choisis.
Pour comprendre le fonctionnement d’un plugin, voyons voir l’interieur de better_errors_plugin.rb :
# Better Errors plugin on Padrino # # https://github.com/charliesome/better_errors # GEMFILE = <<-GEMFILE # Better Errors group :development do gem "better_errors" gem "binding_of_caller" end GEMFILE append_file("Gemfile", GEMFILE) CONFIG = <<-CONFIG # Setup better_errors if Padrino.env == :development require 'better_errors' Padrino::Application.use BetterErrors::Middleware BetterErrors.application_root = PADRINO_ROOT BetterErrors.logger = Padrino.logger end CONFIG inject_into_file destination_root('config/boot.rb'), CONFIG, :after => "Bundler.require(:default, PADRINO_ENV)n"
Ici on répète simplement les étapes de l’installation standard de la gem Better Errors : on demande au plugin d’ajouter au fichier Gemfile les gems better_errors et binding_of_caller , puis dans le fichier de boot (config/boot.rb) de saisir la configuration de la gem juste après « Bundler.require(:default, PADRINO_ENV)n » .
Un autre exemple de création d’un plugin qui a pour simple but de créer une page :
## # PAGE_EXAMPLE ## #Ajoute une route dans app.rb CONFIG = <<-CONFIG get :index do render :home end CONFIG inject_into_file destination_root('app/app.rb'), CONFIG, :after => "enable :sessionsn" #Crée un fichier vide home.slim require 'fileutils' FileUtils.touch('app/views/home.slim')
Ainsi lorsque je saisis la commande padrino g plugin page_example.rb, mon plugin ajoute une route au fichier app.rb et crée la page home.slim dans mon dossier views.
Conclusion
Pour une liste non exhaustive de plugin disponible pour Padrino, visitez ce dépot github.
Pour conclure les plugins sont des outils très utiles, pour l’automatisation de tâches ou l’installation de gems, car ils permettent d’installer une gem ou une configuration sans avoir à se former, tout en étant sur que l’installation sera identique à chaque fois. Il suffit pour cela d’utiliser un plugin pre-existant ou qu’un membre de votre équipe fasse un plugin pour la fonctionnalite demmande.
A consommer sans moderation !