Paris JS #20
Lateral Thoughts ?
Mais qui sommes-nous ?
Qui dit session sponsorisée, dit compte rendu sponsorisé ;) Plus sérieusement, suite aux quelques questions posées après ma courte présentation, je profite de ce billet pour présenter ce qu’est la société et clarifier en quoi elle est (objectivement, bien sûr) excessivement géniale.
Lateral Thoughts (LT pour les intimes et ceux qui ont un peu de mal avec la prononciation) est une société de service collaborative. Collaborative dans le sens où tous ses membres (actionnaires comme employés) ont un poids égal dans les décisions, lesquelles sont prises par consensus. Il n’existe aucune hiérarchie, chacun est libre d’aider et contribuer à sa façon. Toutes les informations sont accessibles par chacun.
De même, alors que certaines SSII se présentent comme spécialisées Java, à LT, cela ne fait pas sens. Imaginons que vous soyez un gourou du Whitespace et que vous êtes capables de vous trouver des missions comme un grand, il se peut très bien que vous nous rejoigniez. Notre objectif principal consiste simplement à s’éclater sur des projets géniaux avec des passionnés :)
Compte rendu
Bref, il est temps de revenir aux choses qui vous intéressent.
Orbit
Nous avons d’abord eu le droit à une présentation d’Orbit, une librairie temps réel propulsée par la société Aerys, représentée lors de ce Paris JS par son CEO Jean-Marc Le Roux et deux de ses développeurs (dont le nom m’échappe, désolé).
En quelques mots, Orbit utilise un protocole binaire. Ce protocole est hautement compact, ce qui le rend assez intéressant dans le cadre de communications au sein d’un réseau à débit limité. Orbit promet des performances maximales aussi bien en 3G qu’en Edge.
Vous devez définir à l’avance la nature des messages et des objets que vous souhaitez envoyer ou recevoir. Ce contrat est donc écrit dans un bon vieux fichier XML, lequel servira ensuite à générer les stubs du client et du serveur dans l’environnement de votre choix (runtime Android, JS, C++…​). En effet, Orbit est multi-plateforme. Notez tout de même que l’équipe d’Aerys a pensé à votre confort en fournissant une interface de saisie afin de rendre la définition du contrat un tantinet moins fastidieuse.
Je vous laisse juger avec un exemple d’application : http://blog.aerys.in/2012/02/27/the-mirage-shoot-the-flying-saucers-out-of-the-sky/.
AMD loader pour un code Javascript organisé et performant
Vint ensuite Emmanuel Rémy, employé d’Ippon Technologie, qui nous a fait le plaisir de présenter AMD loader avec un fond de slides ma foi assez…​ nature :)
AMD, Asynchronous Module Definition, est une API destinée à donner la possibilité de regrouper des fonctionnalités implémentées en Javascript non plus seulement par simples fichiers, mais par module, avec déclaration de ses dépendances (ça ne vous rappelle rien ?). Un module peut donc se définir comme suit :
define("NomModule", ["package2/moduleA", "./moduleB"],
   function(depA, depB) {
      //...
      return function() {
      //...
   }
});
De plus, le chargement asynchrone déporte le chargement des scripts une fois l’arbre DOM complètement chargé (DOM Readiness), ce qui améliore sensiblement (pourvu que vous ne définissez une multitude de modules) le rendu.
Vous pouvez retrouver les slides de la présentation ici.
Sencha Touch 2 en action
Julien Bouquillon est venu ensuite coder en live une appli Twitteresque de démo, basée - vous l’aurez compris - sur Sencha Touch.
On sentait que Julien était bien rôdé et n’a connu aucun couac durant ces quelques minutes de codage intensif. Le code qui en ressort est somme toute propre, maintenable et lisible. S’il y a une toute petite critique à émettre malgré tout, c’est l’absence d’appareils mobiles pour la démonstration. Personnellement, la démonstration d’un énième framework MVC (dans quelque langage qu’il soit) ne me fait pas spécialement rêver et la force de Sencha Touch réside surtout, si j’ai bien compris, dans la variété des appareils qu’elle vise.
C’est peut-être cet aspect qu’il aurait fallu mettre un peu en avant.
Néanmoins, la critique est aisée, l’art est difficile, la session de live coding a été très bien ficelée, merci à Julien de s’être jeté à l’eau !
docco viewer
Docco viewer, présentée et ré-implémenté par le show-man Jérôme Étienne, est un outil de génération de documentation (au même titre que Javadoc).
Popularisé par backbone.js, Docco permet de visualiser côte-à -côte code source et documentation formatée.
Vous pourrez retrouver les slides de la présentation ici.
envi: vim and dwm having a baby at a party organized by mosaic
Voici enfin mon coup de coeur de la soirée. Si le titre vous évoque aussi peu de choses que du plutonien (qui n’ont d’ailleurs pas enlevé Wayne), pas de panique ! Je vais essayer de vous expliquer l’idée.
Stanislas Polu est un récent converti d’emacs aux joies inégalables de Vim. Stanislas aime aussi les tiling window manager comme DWM ou XMonad (non, XMonad ne permet pas de flat-mapper vos fantasmes les plus fous). Un tiling window manager, comme son nom le suggère, se charge de spatialement répartir les différentes fenêtres de telle sorte qu’elles ne se chevauchent pas. Bien souvent, le window manager veille à maximiser la fenêtre active et garde la main sur le positionnement de ses petits. Bref, une approche pas forcément très connue mais à tester si vous ne l’avez jamais fait.
Revenons à Stanislas. Stanislas abhorre les éditeurs de texte clicodromes, aiment les tiling window manager et apprécie particulièrement le web. Bref, il a décidé de réaliser une application Node.js permettant de simuler un environnement Vim au sein de votre navigateur favori, avec une gestion à la DWM pour les différentes fenêtres d’édition.
N’hésitez à regarder son projet sur Github. Il compte sur vous pour réussir à faire avancer le projet (partage read-only de l’écran…​).
Last but not least
Vous avez de contribuer à ParisJS mais ne savez pas trop comment ? Sachez que Paris JS recherche régulièrement des speakers, des sponsors mais aussi des âmes charitables prêtes à aider dans la mise à jour du site et du programme, à l’organisation des salles le jour J. N’hésitez plus et contactez-les !