Icone_actu Actu Icone_creative Creative Icone_bdw Blog Du Webdesign Icone_emploi Emploi BDW

Ruby : 6 Gems pour vous simplifier la vie #1

by SANCHEZ Benjamin - le 03/11/2011

  • Partager l'article en 1 clic !

    N'hésitez pas à aider le BlogDuWebdesign
  • 0

Pour tous les développeurs Ruby, voilà une petite sélection de gems à ne pas rater. Au programme de ce premier numéro, des gems pour rails.

Paper Trail

Paper Trail est une gem de versioning pour ActiveRecord. Elle permet de garder toutes les modifications  effectuées sur les modèles et donc de pouvoir faire des annulations. Simple à mettre en place (Un Railscast sur le sujet existe, d'ailleurs), et très efficace.

Une très bonne gem pour les projets ayant besoin d'audit ou d'une sécurité supplémentaire.

https://github.com/airblade/paper_trail

bonus:

Voilà le railscast

http://railscasts.com/episodes/255-undo-with-paper-trail

Carrierwave

Carrierwave est un gestionnaire d'upload et d'attachement, à mon goût mieux que Paperclip (si vous ne connaissez pas paperclip allez donc voir ici).

Tout comme Paperclip, il permet d'attacher des objets (images, pdf, autre) à des modèles et de retoucher des images . Son gros avantage est d'être beaucoup plus dry que paperclip: au lieu de mettre la logique propre aux uploads dans les modèles, elle se retrouve dans des Uploaders, présents dans le dossier app/uploader/.

https://github.com/jnicklas/carrierwave

Devise

Je vous parle de cet gem là rapidement, mais je pense que vous la connaissez tous: Devise est une gem générant un systeme d'authentifications.

Gérer les authentifications est souvent galère: mots de passe à crypter, envois d'emails de confirmations, d'emails de récupération de mots de passe, reconnexion automatique, ... Devise simplifie grandement la chose. Flexible, (plus ou moins) simple à personnaliser, cette Gem est réellement un must have.

https://github.com/plataformatec/devise

bonus:

une gem permettant d'envoyer des invitations d'inscriptions avec Devise.
https://github.com/scambra/devise_invitable

Prawn

Prawn est un outil permettant de générer des PDF. Avec un langage peu intuitif et une doc un peu dure à comprendre, mais que fait Prawn ici? C'est simple, il est juste surpuissant. Avec cette crevette (et avec du temps), vous pourrez faire absolument ce que vous voulez en terme de PDF. Un très bon outil, que je quitterrai quand même avec grand plaisir si quelqu'un me laisse en commentaire une gem aussi puissante permettant de travailler en html/css.

http://prawn.majesticseacreature.com/

r18n

Cette gem de régionalisation et localisation (pour un joli site multilingue) à deux avantages par rapport au système de base de rails : elle déplace les fichiers de langue dans app (ce qui à mon goût est bien plus leur place que config) et permet d'avoir une syntaxe plus propre pour les appeler : fini les =t "admin.infos.name", place à=t.admin.infos.name .

http://r18n.rubyforge.org/

Backup

Comme son nom l'indique, cette gem permet de mettre en place des backups réguliers des bases de données et de dossiers, et ce sur plusieurs serveurs. Elle permet de se passer d'une solution fait main, pour ceux qui n'ont pas le temps/l'envie/les compétences.

https://github.com/meskyanichi/backup

Devenez membre !

Rejoignez la communauté des créatifs du web !
- Partagez vos créations
- Gagnez en visibilité
- Créez votre blog facilement
> En savoir plus

Créer mon compte
  • Partager l'article en 1 clic !

    N'hésitez pas à aider le BlogDuWebdesign
  • 0
2 Auteur : SANCHEZ Benjamin voir son blog

Développeur autodidacte depuis quelques années, déjà, je suis le développeur du blog du webdesign, où mon rôle est de concretiser les différentes idées et maquettes.

4commentaires

  • 7d3e511e6531fa9fde610015867d5c82
    minikermit

    le 03/11/11| #1

    Pour remplacer prawn (puissant mais galère) y'a aussi wicked_pdf qui marche avec des vues spécifiques en CSS/HTML.

  • 2
    Benjamin SANCHEZ

    le 04/11/11| #2

    Ok je vais aller voir ça! Merci bien

  • 8458ed8e78b2660f8b839f052e20f65f
    Nicolas Blanco

    le 07/11/11| #3

    Bien bien.

    Carrierwave est sympa mais pour moi le truc ultime pour l'upload des fichiers c'est Dragonfly : https://github.com/markevans/dragonfly

    Tous les plugins d'upload de fichiers (Attachment_fu, Paperclip, Carrierwave...) ont la philosophie de processer le fichier au moment de son envoi.

    Le probleme avec cela est qu'il faut par exemple pour les images inserer des informations de vue dans les classes (les tailles de miniatures). Lorsque l'integrateur veut une nouvelle taille, changer du code dans des classes (bouh) et tout reprocesser en production.

    Avec Dragonfly, il n'y a aucun process lors de l'envoi initial, le process se fait exclusivement dans la vue et le resultat est mis en cache. Le choix de la taille des miniatures se fait exclusivement dans les vues.

  • 2
    Benjamin SANCHEZ

    le 08/11/11| #4

    Je ne connais pas très bien dragonfly. Je l'avais regardé de loin il y a un moment maintenant, et j'avais eu peur d'une grosse perte de performances. Je vais essayer de m'y intéresser un peu plus sérieusement.

Ecrire un commentaire