Retour sur la conférence NodeConf Barcelone 2017
Le vendredi 7 avril a eu lieu la conférence NodeConf à Barcelone en présence de cinq membres clés de l’équipe Node.js (James Snell, William Kapke, Myles Borins, Anna Henningsen et Bryan English). Ont eu lieu le lendemain des workshops portant sur différents sujets tels que la conteneurisation, les ChatBots et l’artisanat logiciel, sujets autour desquels j’ai animé un coding dojo à la fois ludique et riche en principes (DRY, SOLID, YAGNI, Egoless Programming, CodeReview, etc. ).
Entouré d’une vingtaine de personnes fascinées par JavaScript et les possibilités de ce langage qui ne cesse de s’étoffer jour après jour, la conférence a débuté par la session « Kill all humans » qui traite des outils d’automatisation de développement, animée par Jan lehnard, lead développeur chez Apache CouchDB, organisateur de la JSConf Europe et co-fondateur de l’entreprise allemande derrière le Framework open-source Hood.ie et l’outil de monitoring en temps réel GreenKeeper.
Jan a partagé avec l’audience plusieurs leçons tirées des projets open sources, notamment sur Hood.ie, où son équipe a eu à migrer le Framework d’une architecture classique monolithique vers une nouvelle architecture à base de microservices. De ce fait, il est désormais plus simple de tester unitairement l’outil pour assurer la non régression et surtout faciliter la vie aux contributeurs qui peuvent aujourd’hui contribuer sans se soucier de creuser les autres briques du projets non concernées.
L’équipe de Hood.ie utilise le gestionnaire de code source GitHub, la plateforme d’intégration continue TravisCI, le gestionnaire de package NPM et la solution de monitoring en temps réel GreenKeeper afin de fournir une expérience de plus en plus engageante aux contributeurs avec un temps record pour accepter leurs PullRequest.
Toujours sur l’aspect automatisation, cette équipe n’incrémente pas la version de ses microservices manuellement, mais délègue ce travail au module semantic-release qui s’intègre au cycle de vie de NPM pour automatiser la gestion sémantique de version (a.k.a SemVer).
|
|
L’intégration continue dans le projet Hood.ie
“The Canary in the Goldmine”
“The Canary in the Goldmine” est le titre de la session animée par Myles Borins, Developer Advocate chez Google et membre de l’équipe Node.js. Myles a donné l’exemple concret d’un commit qui a introduit un bug majeur en production sur Node.js, sachant que le but de ce dernier était uniquement de déprécier la fonction fs.read
.
Pour faire face à des imprévus de ce genre, les mainteneurs de Node.js intègrent dans la chaine d’intégration continue le projet CIGM (acronyme de Canary In the Gold Mine) pour faire du « Smoke Testing » et augmenter le degré de certitude afin que le scénario fs.read
ne se reproduise pas.
|
|
Exemple d’utilisation du ‘Canary in the Gold Mine’ dans le projet Node.js
SIGNET
SIGNET est le nom du projet sur lequel travaille Bryan English. Ce projet a pour but d’ajouter une couche de sécurité au moment de l’installation des packages ; il est toujours en cours de développement, mais une première version est déjà disponible sur NPM :
|
|
Exemple d’utilisation du module sig-node
L’encodage � dans Node.js
Anna Henningsen quant à elle, nous donne une véritable piqûre de rappel sur les différents types d’encodage, comment bien utiliser l’API Buffer.from('abc', 'utf8'), buffer.toString('utf8')
ainsi que les pièges à éviter lors de son utilisation.
Le talk d’Anna était riche en exemples de code pour encoder/décoder avec Node.js (.setEncoding() | .transcode(src, from, to)
) ainsi qu’en recommandations pour ne pas se retrouver avec un résultat inattendu.
|
|
Extrait des slides du talk sur l’encodage dans Node.js
Dans les coulisses de l’organisation Node.js
William Kapke, porte-parole de l’organisation Node.js, est l’homme qui se trouve derrière plusieurs projets visant à agrandir la communauté, dont Node.Green qui liste les fonctionnalités de ES6 supportées par les versions de Node.js, le groupe de discussion NodeIRC ainsi que le calendrier des événements Node.js partout dans le monde.
William nous a indiqué qu’avec le nombre de contributeurs présents aujourd’hui dans la communauté, Node.js va grandement s’enrichir, et que le but de la création de la fondation est de poser un cadre juridique pour fluidifier la collaboration entre les leaders du web intéressés par Node.js (Microsoft, Oracle, IBM, RedHat, …).
|
|
Présentation des créateurs de la fondation Node.js et de certaines sociétés membres.
Node.js et les ondes radios
Thomas Watson, membre du « Diagnostics Working Groupe » et de la fondation Node.js, nous a élaboré un cocktail constitué d’une partie théorique définissant le b.a.-ba des ondes radios ainsi qu’une partie ludique. Il nous a montré, par la pratique, comment développer avec le module monster-drift un programme Node.js capable de télécommander une voiture.
Télécommander une voiture avec Node.js
“The Node.js Process, Making decisions that impact a massive ecosystem”
Dans la dernière présentation de la journée, James Snell, membre du comité de pilotage technique de Node.js, a partagé avec nous les valeurs de l’équipe Node.js et les facteurs sur lesquels il se base pour faire évoluer l’outil.
Il a également communiqué des chiffres et métriques montrant que Node.js est en pleine croissance, et séduit de plus en plus le monde.
Questions/réponses avec 5 membres de l’équipe core Node.js
En fin de journée, nous avons eu l’occasion de poser des questions à l’équipe que l’on ne connaissait jusqu’ici que sur Github. À vrai dire ils n’ont pas hésité une seule seconde à répondre avec bonne humeur à toutes les questions posées.
Workshop sur l’artisanat logiciel
Dans cette édition de la NodeConf, j’ai animé un coding dojo pour sensibiliser les participants à l’artisanat logiciel, le format était un Kata « ConnectFour », des itérations de 10 à 15 minutes et une revue de code en mode « Mob programming » vers la fin de la session.
Les slides sont disponibles ici
En conclusion
Parmi les objectifs de la NodeConf, il y a l’ambition d’attirer de nouveaux contributeurs pour Node.js et leur permettre de rencontrer les fans de la techno, ainsi que de partager avec eux la vision et le fonctionnement de la fondation. À mon sens cet objectif est atteint et ce fut une expérience très enrichissante à tous les niveaux. Hâte d’être à la prochaine édition !
© SOAT
Toute reproduction interdite sans autorisation de la société SOAT