Sunfox

Le journal de Sunny Ripert


Articles mot-clétés javascript

Ember en 2015

mars 17th, 2015 .

Trois choses à retirer de la Keynote d’ouverture d’EmberConf 2015 à propos du framework JavaScript Ember :

EmberJS Logo

V2

Toutes les nouvelles features de la version 2 d’Ember sont déjà dans la version 1. Cette nouvelle version va juste retirer les warnings. Du coup la mise à jour d’Ember peut se faire de façon beaucoup plus graduelle et rétrocompatible. Si on compare ça à Angular, la version 2 ne sera pas du tout compatible et introduit énormément de nouvelles façons de faire d’un coup.

Suite de l’article…

Calendriers de l’avent pour artisans du Web

décembre 2nd, 2010 , 3 commentaires.

Casier en bois numéro 24
Un mois à 24 jours

Ça y est, décembre est lancé. Et avec les premières neiges on a envie de rester au chaud et de lire des bons articles qui parlent du Web, n’est ce pas ?

4 calendriers avec des perles à découvrir chaque jour de décembre :

  • 24ways remets ça pour la sixième année : des articles de haute qualité qu’on attends toute l’année. Ils contribuent à rendre l’hiver moins dur.
  • HTML5 Advent : des démos HTML5 pour en avoir plein les yeux.
  • Adfont Calendar : mateurs de typographie, sous chaque case se cache une police d’écriture proposée par FontDec.k
  • Performance Calendar : et oui, même les performances Web ont leur calendrier.

Typographie, HTML5 et performances : les sujets chaud du Web de cette année sont là pour se tenir au chaud cet hiver jusqu’à Noël.

Deezer dans Last.fm, si si, c’est possible

octobre 24th, 2010 , 6 commentaires.

Deezer ❤ Last.fm

Utilisateurs de Deezer vous pouvez enfin envoyer la musique que vous écoutez sur Last.fm. Si si. Carrément. Pincez-vous.

Pour ça il vous faut Firefox armé de GreaseMonkey et installer mon script. Allez sur Deezer, autorisez le script à scrobbler et c’est tout.

Bonne musique ! Voilà un album si vous ne savez pas avec quoi l’essayer. Ah et le code est par ici.

(Désolé utilisateurs de Chrome, l’implémentation de GreaseMonkey est trop pourrie, on peut même pas faire d’XMLHttpRequest.)

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!

Google Mobwrite

janvier 26th, 2009 , 1 commentaire.

Logo Mobwrite

Google Mobwrite est une petite application web qui sert à synchroniser des champs de formulaires en temps réel.

Avec un brin de JavaScript, n’importe quel champ texte devient un éditeur de texte temps-réel comme SubEthaEdit en appliquant les changements chez tout le monde en même temps.

La synchronisation, la fusion et la résolution des conflits entre différents utilisateurs est un problème compliqué dont Google Mobwrite se charge. Votre application finale aura simplement à conserver en mémoire le dernier formulaire envoyé.

Suite de l’article…

Netvibes Developer Meetup

juin 2nd, 2008 .

Lors de la Netvibes Developer Meetup François Hodierne nous a annoncé quelques nouveautés autour de Netvibes.

L’amour des standards

Déjà, avec l’UWA Netvibes a crée un standard simple, basé sur des standards déjà extrêmement utilisés (XHTML, JavaScript, CSS) permettant de fabriquer des widgets multi-plateformes (OS X, Windows Vista, Google, …).

L’amour de l’open-source

« Netvibes Rocks! »Désormais, Netvibes s’ouvre encore d’avantage en permettant facilement d’héberger des widgets ou de les intégrer n’importe où. Pour ça, le site netvibes.org fournit du code PHP et JavaScript qui permet cette réutilisation, sous licence libre.

L’amour d’HTTP et de la portabilité de données

La deuxième grande annonce : une interface REST sur http://rest.netvibes.com/. Elle permet de récupérer ses informations publiques et bientôt ses données privées ainsi que la possibilité de les modifier !

Encore une fois la seule plateforme de widgets à s’ouvrir ainsi.

Le cœur brisé de Tariq

Annoncé à peine un jour avant cette meetup, Tariq Krim, CEO emblématique de Netvibes cède la place à Freddy Mini. On sentait l’émotion quand ce fut au tour de Tariq de parler un peu de son départ.

J’espère que le changement de direction ne changera en rien l’ouverture vers laquelle se tourne Netvibes, qui, avec des changements pareils, réussit à avoir un temps d’avance sur les gros Google ou Yahoo.

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.

Rédécouvrons cursor:progress

avril 23rd, 2008 , 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');
  }
});

Prototype and scriptaculous

novembre 8th, 2007 .

[Couverture du livre 'Prototype and script.aculo.us']

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 ! :)

“JavaScript Haute Performance”

août 30th, 2007 .

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.


:D Sunny Ripert

est un développeur web vivant à Paris.

CV, me contacter


Textes et contenus sous licence Creative Commons.
Site crée par mes soins et propulsé par WordPress.