Le journal de Sunny Ripert
Il y a 7 mois, 3 semaines terriblement tôt le matin, 2 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.
Il y a 8 mois, 2 semaines en fin de matinée, 4 commentaires.

L’interface utilisateur passe aussi par la forme du curseur. Peu utilisée en CSS, la propriété cursor regorge pourtant de valeurs dont on peut se servir pour aider l’utilisateur dans une application web (wait progress help default pointer text vertical-text crosshair move -moz-grab -moz-grabbing -moz-copy -moz-alias -moz-zoom-in -moz-zoom-out -moz-cell -moz-context-menu not-allowed no-drop nw-resize n-resize se-resize sw-resize s-resize e-resize w-resize ne-resize col-resize row-resize).
Par exemple, pour indiquer qu’un chargement a lieu via Ajax, plutôt que d’afficher une image de loader animée, un style CSS peu suffire :
.loading, .loading a, .loading input, .loading textarea {
cursor: progress;
}
Ne reste plus qu’à appliquer la classe loading au body dès que la page fait un appel Ajax ou un long traitement.
Si vous utilisez Prototype ajoutez ces quelques lignes pour que la classe soit appliquée automatiquement tant qu’un appel Ajax a lieu :
Ajax.Responders.register({
onCreate: function() {
$$('body').first().addClassName('loading');
},
onComplete: function() {
if (Ajax.activeRequestCount == 0)
$$('body').first().removeClassName('loading');
}
});
Il y a 1 an, 2 moiss terriblement tôt le matin.
![[Couverture du livre 'Prototype and script.aculo.us']](http://sunfox.org/blog/wp-content/uploads/2007/11/cppsu.jpg)
Le livre Prototype and scriptaculous: You never knew JavaScript could do all this bungee jumping, de Christophe Porteneuve est sorti ! Il est totalement à jour avec Prototype 1.6 et script.aculo.us 1.8 fraîchement sortis également.
Cela a été un réel plaisir d’être relecteur technique sur ce livre. C’est une excellente référence pleine de bons exemples d’utilisations de ces deux librairies JavaScript immanquables. Un bon livre de chevet de développeur Web ! :)
Il y a 1 an, 4 moiss à l'heure du goûter.
Très instructive présentation intitulée “High-Performance JavaScript: Why Everything You’ve Been Taught is Wrong” sur le développement d’applications web avec du JavaScript à très hautes doses.
Il y a 1 an, 6 moiss en fin de soirée, 4 commentaires.
J’ai créé une petite application web, entre wiki et paster, nommée Edit!.
Un morceau de code ou un bout de texte à partager ? Il suffit de vous rendre sur http://edit.sunfox.org/cequevousvoulez et de coller. C’est tout. La page s’enregistrera toute seule toutes les deux secondes. Pas besoin de s’identifier, pas de bouton Envoyer ni de redirection, aucun autre choix à faire que cequevousvoulez.
En contrepartie de cette légèreté, tous ceux à qui vous avez fourni l’url peuvent modifier votre page et tout supprimer. Il n’y a pas de moyen d’annuler. Edit ne sert donc pas à stocker quelque chose auquel vous tenez énormément, mais peut tout de même servir de léger petit wiki à condition qu’il reste entre amis.
Son code est disponible, sous GPL.
Il y a 1 an, 8 moiss de mi-matinée.
![[Couverture du livre 'Prototype and script.aculo.us']](http://sunfox.org/blog/wp-content/uploads/2007/11/cppsu.jpg)
You never knew JavaScript
could go bungie jumping!
Impossible de passer à côté des librairies javascript Prototype et script.aculo.us. Elles-deux rendent ruby-esque le JavaScript et permettent d’oublier les différences d’implémentations entre navigateurs. Les fonctions à constamment réécrire soi-même sont déjà là, bien pensées, documentées, optimisées. JavaScript redeviens agréable.
Il ne leur manquait qu’un bon bouquin. C’est à quoi c’est attardé le prolifique Monsieur Porteneuve avec l’écriture du livre Prototype and script.aculo.us à paraître chez Prag’prog’, l’éditeur fétiche de Rails qu’il est bien. Et figurez-vous que la première partie est déjà disponible en pdf en beta publique.
Pour avoir lu cette première partie en avant-première (ai-je oublié de dire que je faisais partie de la petite équipe de relecteurs techniques ?), elle est excellente. Elle vous plonge directement dans la joie de faire du Javascript de la bonne façon avec Prototype, de façon pragmatique, sur d’excellents exemples.
J’ai hâte de m’atteler à la prochaine partie de la relecture technique qui devrait arriver dans la semaine qui vient. Celle-ci portera sur la librairie script.aculo.us, permettant de faire monts et merveilles en trois coups de pinceaux.
Textes et contenus sous licence Creative Commons.
Site crée par mes soins et propulsé par WordPress. Questions, informations ? Contactez-moi.