Sunfox


Articles mot-clétés ruby

Enregistrer la langue d’un utilisateur avec Devise

juillet 6th, 2015 .

Daim photographié

J’ai créé une petite gemme Ruby. Son petit nom c’est devise-track_locale. Si vous utilisez Ruby on Rails et Devise sur un site multilangue, cela vous permets d’enregistrer la dernière langue utilisée par l’utilisateur, automatiquement.

C’est un module Devise, donc son installation est aussi simple que d’ajouter :track_locale dans la liste de modules Devise et un champ locale sur les utilisateurs.

Ce n’est pas grand chose, mais plutôt que de garder cette fonctionnalité sur un site j’en ai fait une petite librairie externe, réutilisable, open-source, testée. Et je compte bien en faire autant pour tous ces petits développements qui sortent des fonctionnalités du cœur de mes sites.

Rails et Emails

septembre 4th, 2014 , 2 commentaires.

parisrb

À la dernière conférence Paris.rb je présentais 6 choses à arrêter de faire si vous envoyez des emails avec votre application Ruby on Rails.

Suite de l’article…

Ajoutez la couleur dominante derrière vos images

juillet 25th, 2014 , 3 commentaires.

Si vous pouvez extraire la couleur dominante d’une photo, une petite touche sympa à ajouter sur votre site est de se servir de celle-ci tant que votre image n’est pas chargée.

Voici un exemple sur cults3d.com :

Chargement d'une page sur Cults 3D

HTML

En HTML, le plus simple est d’appliquer la couleur dominante sur son style inline. C’est cette couleur qui apparaîtra durant le chargement

<img style="background: #f3de56" src="…" width="120" height="120" />

Avec Rails

Si vous utilisez la librairie CarrierWave dans votre application Rails, vous pouvez extraire facilement la couleur dominante à chaque upload grâce à ma gemme ruby carrierwave-color.

Avec WordPress

Si vous utilisez WordPress, ajoutez l’extension dominant-color et ça sauvegardera la couleur dominante à chaque upload de medias. Vous pourrez même éditer la couleur choisie, directement dans l’administration.

EasouSpider le robot qui ne sait pas parler l’utf8

juillet 23rd, 2014 .

Photo de Mathieu mangeant une araignée

Ces derniers jours je recevait une trentaine d’emails par jour m’indiquant qu’une erreur avait éclatée sur cults3d.com. Ces exceptions provenaient toutes d’un robot chinois, EasouSpider, qui parcoure le Web pour remplir son moteur de recherche.

Ce robot ne sait pas parler l’unicode comme tout le monde et envoie dans les formulaires des valeurs mal encodées, ce qui fâche Ruby on Rails. Le problème est surtout que Rails ne traite l’erreur que bien trop tard, lorsqu’on essaie de lire les paramètres de la requête. Et là l’erreur est une incompréhensible ArgumentError :

invalid %-encoding (Q/B0*ÜHܘ0ÅÅ1 0 U GB1 0 U.…

Suite de l’article…

Retrouver les clefs de localisation facilement avec Rails

juillet 17th, 2014 , 3 commentaires.

Photo de Drapeaux Lego

J’utilise Locale avec Ruby on Rails pour permettre à n’importe qui dans l’équipe de modifier les textes d’un site quelle que soit la langue.

Néanmoins, ce n’est pas évident pour celui qui n’a pas le code sous les yeux de retrouver quel texte correspond à quelle clef.

Suite de l’article…

ActionMailer n’aime pas vos URLs (par défaut)

juillet 14th, 2014 .

Faire un lien dans un email dans une application Ruby on Rails devrait être aussi simple que de faire un lien dans le reste de l’application, non ?

Photo of a miniature train, by Sunny

Suite de l’article…

Erreurs 404 dynamiques dans Rails 3

novembre 14th, 2012 .

Utiliser un fichier statique public/404.html dans Rails est très vite limitant. Si on veut utiliser le layout normal de l’application, des informations dynamiques comme des menus, le nom de l’utilisateur courant ou un formulaire de recherche il faut rendre ces erreurs dynamiques.

Pour ça il faut intercepter deux erreurs qui produisent des 404 : les infos nos trouvées dans la base via ActiveRecord::RecordNotFound et les routes qui n’existent pas avec ActionController::RoutingError.
Suite de l’article…

Apéro Ruby spécial GitHub

février 17th, 2010 .

Octopussy

Le dix-huitième Apéro Ruby organisé par Ruby France était tourné autour de GitHub. Étaient présents les géniaux Scott Chacon et PJ Hyett de GitHub.

Schacon a présenté ShowOff, son application Ruby pour faire des présentations. Pas aussi bien qu’HTML5 Slides, mais je ne suis pas très objectif sur le sujet. Sinon c’est Sinatra, markdown, HTML, JS, que du bon et plein de bonnes idées pour la suite. Ses slides sont même un fork sur GitHub. Miam.

S’en sont suivi plein de questions sur GitHub. Plein de bonnes choses de prévues comme pouvoir utiliser SVN avec n’importe quel dépôt GitHub, ou auxquelles ils réfléchissent sérieusement comme les tickets et le wiki dans une branche du dépôt. Ils m’ont même assuré que l’internationalisation arrivait d’ici une semaine ou deux. \o/

Oh et c’était open bar. Thanks GitHub!

RailsCamp Paris 2

mars 8th, 2009 , 1 commentaire.

Logo de RailsCamp Paris 2

L’année dernière j’inaugurais le premier Barcamp autour de Rails sur Paris. Cette année la deuxième édition du RailsCamp Paris a eu lieu ce samedi dans les locaux de Sun. Les locaux étaient magnifiques et les salles de conférences avaient la bonne taille pour ces petites présentations d’une heure.

Dans cette édition moins de course entre chaque conférence et plus de discussions de couloirs extrêmement intéressantes. Différence dans les discussions par rapport à l’année dernière : github est beaucoup plus cité, louangé et rares sont ceux qui ne s’en servent pas aujourd’hui :)

La communauté Rails se porte bien, ça ne manque pas d’offres d’emploi et malgré que les inscriptions aient atteint les 100 participants assez rapidement on rencontre malgré tout de nouvelles têtes.

Je repars avec de bonnes listes de plugins, des bonnes idées de trucs à faire avec CouchDB, des promesses de fork et une folle envie de me replonger dans du Ruby :)

Merci à l’association Ruby France et aux nombreux sponsors de faire vivre cet événement (et de nous fournir en montagnes de pizzas !).

Rails Party, Paris On Rails 2008 et Apéro Ruby

décembre 3rd, 2008 , 3 commentaires.

Compte-rendu de trois rencontres autour de Ruby et Rails.

Rails Party, pour les geeks

Les conférenciers de la Rails Party on eut entre 40 et 5 minutes pour nous parler de : RSpec, bonnes pratiques Active Record, Facebooker, indexation de bases de données avec Sphinx, Lazy pagination, YAPS, migration vers Rails 2.2, i18n dans Rails 2.2, déploiement d’une très grosse appli Rails et desktop. Ces conférences était extrêmement intéressantes et n’avaient rien à envier aux conférences payantes du lendemain ! Domamge qu’il ait fallu parfois tendre l’oreille vers deux bonnes présentations en même temps.

Chapeau bas à Jean-François et au reste de l’équipe de Ruby France d’avoir organisé cette rencontre un brin informelle et surtout gratuite en si peu de temps.

Paris On Rails, pour les décideurs

[Logo Paris On Rails]

DHH, le créateur de Rails a répondu à nos questions depuis Chicago. Il est bon de le voir s’emporter (il a dit bullshit, je suis témoin !) quand on lui a posé une question sur Merb. Pour ma part j’ai été plus politiquement correct, je lui ait demandé quel t-shirt il portait :]

Michael Koziarksi membre de l’équipe de développement de Rails, nous faisait une conférence sur les performances de Rails. Extrêmement instructif mais en anglais avec un accent néerlandais débité à une vitesse folle. Je relirais ses diaporamas avec grand intérêt.

Don’t be a Ruby developer

J’ai particulièrement apprécié la vidéo-conférence de Russ Olsen, l’auteur du livre Design Patterns in Ruby pour ces anecdotes sur les tous premiers pots en terre glaise décorés comme des paniers, sur son fils de 8 ans et lorsqu’il rappelait à quel point il ne fallait jamais s’arrêter sur une technologie et toujours voir de l’avant. Si j’aime la communauté Ruby c’est aussi parce qu’on y parle beaucoup d’Erlang, Smalltalk, io et autres langages.

Mathieu Fosse nous vantant les mérites de la librairie JavaScript Mootools et Didier Lafforgue de Liquid, un moteur de rendu de pages bien trop complexe. Mais aucun des deux n’a réussi à me convaincre d’utiliser leur techno.

Guillaume Desrat a fait une très chouette présentation avec les nouveautés de Ruby 1.9, (avec un interpréteur 4.5 × plus rapide que Ruby 1.8 !) qui donne envie d’y passer.

Les tests, c’est bien

On retrouvait Jean-Michel Garnier pour nous parler des tests d’interface Web qu’il n’aimait pas faire l’année dernière. Ces tests d’interfaces d’exemples étaient assez simples pour que ça me convainque d’en faire, au moins un minimum. Merci Jean-Michel d’être passé me dire bonjour :). Philippe Hanrigou, ensuite, présentait les tests d’acceptation en distribuant les tests avec Selenium Grid. On en retiens que les tests c’est bien mais que c’est long et qu’il faut bien se garder d’avouer qu’on en fait pas…

Apéro Ruby, pour les piliers de bar

C’était l’occasion de se détendre, de manger une soupe à l’oignon et de continuer de très intéressantes discussions autour de Ruby, en petit comité, avec des habitués de Ruby France.


Merci aux organisateurs, sponsors et à Julie et ma boîte Cosmic Communication de m’avoir offert la journée pour aller aux conférences payantes de Paris On Rails. C’est à ça qu’on reconnaît les entreprises dans lesquelles on aime bosser :)

Party!

novembre 28th, 2008 , 1 commentaire.

Ce week-end sur Paris je serais à l’Ubuntu Party et à la Rails Party. Les deux événements sont des conférences totalement gratuites, un brin geek, bon enfant, organisées et animées par des passionnés.

Que vous vouliez discuter Ubuntu et logiciels libres, faire vos premiers pas sous Linux ou troller allègrement passez-donc Samedi et Dimanche à l’intrépide Ubuntu Ibex Party, à la Cité des Sciences et de l’Industrie. Cette Édition promet d’être grandiose avec conférences, démonstrations, et débats mais avec en plus un stand, des animations et ateliers Mozilla.

Logo Ruby France Et si vous voulez parler Ruby, Rails, développement agile, MVC ou bien également troller allègrement, passez-donc Dimanche à la Rails Party. À la veille de Paris on Rails 2008, au bar Dune et organisée par Jean-François de Ruby France, le programme est prometteur avec Hackfest, conférences et Lightning Talks de gens très bien  (dont trois anciens étudiants de l’INSIA !).

Somethingest :>

mai 27th, 2008 , 5 commentaires.

module Enumerable
  def somethingest(method)
    inject do |acc, elem|
      elem.send(method, acc) ? elem : acc
    end
  end
  
  def biggest
    somethingest :>
  end

  def smallest
    somethingest :<
  end
end

[42, 51, -9.2, 5].biggest # => 51
[42, 51, -9.2, 5].smallest # => -9.2

RailsCamp Paris

mai 18th, 2008 , 3 commentaires.

Les petites conférences de RailsCampParis sont terminées. Première fois que j’assistais à des conférences de type BarCamp et j’ai adoré à la fois l’ambiance, l’ouverture et la proximité des intervenants. Bref compte-rendu des conférences auxquelles j’ai pu assister.

Sébastien Gruhier nous a donné une excellente démonstration d’intégration de Google Maps dans une application Rails d’exemple. Les cartes s’intègrent extrêmement facilement avec un peu de JavaScript (alors qu’à Paris On Rails 2006, Sébastien nous ventait les mérites de RJS ! ;)) et grâce au plugin geokit. Ce dernier est impressionnant, une fois ajouté acts_as_mappable à un modèle, il permet d’excellentes manipulations, tel que :

origin = MultiGeocoder.geocode('8 rue Boucry, Paris, France')
User.find :all, :origin => origin, :order => 'distance'

Ceci retourne la liste des utilisateurs triés par distance par rapport à chez moi. La requête SQL générée automatiquement a une fière allure :

SELECT *, (ACOS(least(1,COS(0.853356449908079)*COS(0.0412320771281345)
*COS(RADIANS(users.lat))*COS(RADIANS(users.lng))+COS(0.853356449908079)
*SIN(0.0412320771281345)*COS(RADIANS(users.lat))*SIN(RADIANS(users.lng))
+SIN(0.853356449908079)*SIN(RADIANS(users.lat))))*3963.19)
AS distance FROM `users` ORDER BY distance

Pour continuer sur le JavaScript, Samuel Lebeau nous a parlé d’event delegation et des façons qui se développent en ce moment pour créer une syntaxe proche de CSS qui permettrait d’appliquer des comportements JavaScript. Les prototype-fruits sont à suivre…


Moi et mes tags

C’est ensuite à Stéphane Akkaoui de nous expliquer comment créer une application Facebook avec Rails. Je ne m’attendais pas à ce que cela soit aussi simple ! Du coup j’ai très envie de faire une petite application Facebook en utilisant le plugin Facebooker… même si Facebook c’est le mal.

La conférence de Jordan Bracco sur Mongrel vs Thin vs Ebb vs FastCGI était intéressante malgré le fait qu’un souci de MacBook lui ait fait perdre toutes ses slides. Tout ça à cause d’un Dark Vador avec un sombrero ;). De bonnes questions et un sujet qui bouge beaucoup. Pour preuve, c’est le tout récent Ebb qui sort grand vainqueur du benchmark fait pour l’occasion.

J’ai beaucoup apprécié toutes ces conférences à taille humaine et je regrette d’avoir dû choisir entre plusieurs conférences tant les sujets étaient intéressants. Merci aux organisateurs, aux sponsors, aux bonbons, aux boissons, aux pizzas, à la Cantine, aux conférenciers et à tous ceux avec qui j’ai pu échanger quelques mots lors de cette journée.

Grand merci (en retard) à l’association Ruby France ! Vivement RailsCamp 2009.

Codes Mario Kart Wii + Twitter = MarioKarTwiit

avril 22nd, 2008 , 52 commentaires.

Découvrez les codes Mario Kart Wii de vos amis avec MarioKarTwiit, un script ruby qui trouve ces codes parmis les statuts twitter de vos amis.

$ ruby mariokartwiit.rb adylk
François: 4983-5212-7826
michel v: 2921-9252-8735
Franck: 2750-1224-1651
samy: 1633-4308-3338
Romain: 1118-0396-8885
Julie: 1203-9499-7733
nicolas: 4639-9111-3636
Sunny: 0602-6527-5194
Frantz: 1075-0913-1660

Pour l’installer téléchargez-le et faites en sorte d’avoir ruby, rubygems et sudo gem install json.

Ruby++

janvier 20th, 2008 , 3 commentaires.

Ceci est du ruby pour les tordus de C++ :

endl = "\n";
$stdout << 99 << " red balloons" << endl;

Paris On Rails 2007

décembre 11th, 2007 , 4 commentaires.

Un an après Paris On Rails 2006, on ne présentait plus le framework web révolutionnaire lors de l’édition 2007 de Paris On Rails. Le mot d’ordre de la journée était cette fois « les entreprises sont prêtes ! ».

[Logo Paris On Rails]
Paris on Coke

L’ouverture de conférence de Richard Piacentini nous rappelait justement la fulgurante montée de Rails et du langage Ruby. Les immenses entreprises (Microsoft, Sun, …) l’utilisent et d’autres grosses entreprises nous rapportent leurs retours d’expérience : Wifirst représentée par Aurélien Géron et RBC Dexia Investor Services représentée par Sylvain Perez et Guillaume Desrat. Enfin, JRuby, présenté par Alexis Moussine-Pouchkine, semble être là pour séduire les plus frileuses des entreprises françaises.

Laurent Julliard nous fait à nouveau découvrir le langage cette année en y ajoutant les grands principes de Rails : Don’t Repeat Yourself, Convention Over Configuration, Say What You Do, Do What You Say, One Language To Rule Them All, Model-View-Controller, Structure, Tests. Après Ruby et Java le langage le plus cité de la journée est SmallTalk, d’où viennent beaucoup de bonnes idées.

Yann Lugrin nous offre un tour complet de l’internationalisation d’applications web et spécifiquement d’application Rails dans une conférence très complète où il y avait beaucoup à retenir. La conférence suivante de Nicolas Mérouze était une autre agréable surprise de la journée avec une conférence qui m’a drôlement donné envie d’utitiliser HAML et SASS, les générateurs respectivement d’HTML et de CSS qui poutrent.

Impossible à retenir mais c’était un pur bonheur à suivre

Et là c’est le clou du spectacle, Christophe Porteneuve. Oui je sais j’ai dit la même chose l’année dernière. Il a même cité mes louanges dans ses slides. Mais ce qui a plu dans la conférence précédente était de nouveau là pour sa conférence sur quelques particularités et nouveautés de Prototype et Scriptaculous. Encore plus speed que l’année dernière et toujours aussi technique. Ceux qui ne connaissaient pas le personnage étaient bluffés bien qu’il annonçait la couleur dès le départ. Voici une citation que tu peux utiliser pour l’année prochaine Christophe : Il a encore tout déchiré sa race.

David Heinemeier Hansson était là, grandiose, avec son joli t-shirt de licorne, en vidéo live de Chicago pour nous parler de son dernier bébé Rails 2.0 et répondre à nos questions.

Jean-Michel Garnier nous a présenté les tests dans Rails et plus particulièrement en utilisant RSpec : des tests courts, agréables à lire, tournés autour des spécifications et qui fournissent une documentation. Encore une conférence qui donnait envie de se plonger plus loin encore dans une techno !

Ravi d’avoir pu discuter avec Tslh et AlSquire, cela faisait un moment que je devais les croiser ceux-là. Enfin, merci aux organisateurs et aux conférenciers pour cette journée aux conférences d’une grande qualité et à Cosmic de m’avoir libéré la journée pour y aller.

Damn Hotlinkers

août 30th, 2007 , 5 commentaires.

Je viens de pondre Damn Hotlinkers! un petit script ruby qui affiche une liste des fichiers victimes d’un hotlink à partir de ses logs HTTP.

Et vous connaissez tous la punition pour le hotlink d’images…


:D Sunny Ripert

est un développeur web vivant à Paris. Contact


Textes et contenus sous licence Creative Commons. Site propulsé par WordPres