Node.js Interactive Europe 2016 Node.js Interactive Europe 2016

Node.js Interactive Europe 2016

par ,
le 23 novembre 2016

0
0

Mercredi 14 septembre 2016, 12h00, Miguel et moi embarquons à bord d’un Thalys (équipé du Wifi !) direction Amsterdam, pour la node.js Interactive Europe 2016.

Premier jour, nous pouvons découvrir Amsterdam et sa magnifique architecture …

Gare amsterdam

… et surtout sa passion pour les vélos !

Amsterdam vélo
Nous avons vraiment été étonné par Amsterdam, ville très ouverte et très agréable !

Node.js, le passé, le présent et le futur

Node.JS n’est plus à présenter, surtout lors de la Node Interactive. Malgré cela, faire un point sur le passé et l’état actuel de Node pour présenter les futures avancées reste pertinent.

Pour rappel, Node.JS a été créé en 2009 par Ryan Lienhart Dahl. Utilisé aussi bien en back pour gérer les interractions ou encore mettre en place une API qu’en front pour utiliser un task runner ou faire du routing, entre autres. Node.JS s’est largement démocratisé ces dernières années, il est utilisé par de nombreuses grandes sociétés.

Node js now

Actuellement, Node.JS est utilisé dans des environnements très hétéroclites. Comme je le disais plus tôt, il peut être utilisé pour des sites web, en front ou en back, mais également en robotique, pour de l’IoT, ou encore pour développer des applications de bureau avec Electron, par exemple. On se retrouve donc avec un environnement très complexe pour les nouveaux arrivants mais donnant tout de même la possibilité de découvrir Javascript et Node de nombreuses façon différentes. Un très bon article, que vous avez peut-être déjà lu, résume bien la situation : How it feels to learn JavaScript in 2016.

Dans ce sens, de nombreuses initiatives voient le jour, notamment la JS Foundation qui regroupe jQuery, Grunt, Node-Red ou encore RequireJS.

Du côté des packages, l’environnement bouge également. A côté d’NPM, Yarn a vu le jour et veut se faire une place importante en étant supporté notamment par Google, Tilde ou encore Facebook. Nous reviendrons sur NPM dans un futur article.

Node.js au service des objets connectés #IOT et de la robotique

Cette édition 2016 de la Node.js Interactive a mis l’accent sur l’hardware. La catégorie #IoT (Internet of Things) était bien fournie, ainsi que les conférences parlant de robotique avec notamment :

  • Node on Hardware: Where We Are, Where We’re Going, and How We’ll Get There – Kassandra Perch, Auth0
  • Why Did the Robot Cross the Road? Computer Vision, Robots and Mobile Games – Pawel Szymczykowski, Wedgies
  • Alt-Ctrl : Scream into this Arduino – Rachel White, Front End Engineer
  • Leverage Node-RED for wiring the world- Uzma Siddiqui, IBM
  • Programming for the NES with JS, Fritz van Deventer – BOULANGIER

Nous avons pu y découvrir des plateformes telles que Johny Five et Node-Red. J’ai pu mettre en relation ces présentations avec certains projets hardwares que j’avais fait sur Cycle.JS entre autres. J’ai notamment présenter un de ces projets à altima durant un meetup.

Trouver une application directe à ce genre de conférence peut être compliqué dans notre travail quotidien. Cependant, certaines notions de gestion de beacon ou d’hardware peuvent être utilisées pour être force de proposition lors de projet Digital In Store et pour gérer tous les maillons de la chaîne lors de projets innovants.

Beurs Van Berlage

D’autres conférences traitaient de sujet divers et montraient les possibilités de Node.JS de l’utiliser dans de multiples objectifs : Node.JS Everywhere

Sécurisation et validation des données

Data validation

Au cours de cette conférence nous avons pu voir quelques exemples d’attaques de type Sql injection, shell injection, ReDos. Pour limiter ce genre d’attaque deux points ont été abordé la “data validation” et la “data normalization”.

Data validation

La validation des données garantit que toutes les valeurs de données sont correctes et exactes.
Elle apporte aussi de la sécurité côté serveur.

Data normalization

La normalisation des données apporte une intégrité des données et évite la redondance de celles-ci.

Les modules Joi & Tean

Deux exemples de modules pour la mise en place de ces bonnes pratiques nous ont été présentés :

joi npm Module Joi
Joi est un module de validation de données. Il permet une validation par type avec gestion des erreurs. Il fonctionne à travers des définitions de schémas de validation de données. Il permet aussi une conversion de ces dernières pour normalisation.

Module Tean
Tean est un module de normalisation et de validation. Il fonctionne en asynchrone et convertit les données selon des modèles prédéfinis. Il est identique à Joi, il fonctionne avec des définitions de schémas de validation. Il permet aussi une gestion des erreurs.

Intégration de Joi avec Express
Nous avons pu voir un exemple de validation et normalisation des données qui transitent entre le poste client et le serveur.
Il permet de sécuriser l’accès au route ainsi que la vérification des paramètres GET ou POST avant traitement de celles-ci.

Intégration de Joi avec Hapi
Nous avons vu un exemple de validation et normalisation des données qui transitent entre le poste client et le serveur.

Intégration de Tean avec Express
Permet la sécurisation des données qui transitent en POST ou GET depuis le middleware.

La validation et la normalisation des données sont indispensables. Elles éviteront beaucoup de problèmes lors de l’exploitation de celles-ci.
Pour les modèles de données, il faut trouver le juste compromis entre contraintes et souplesses acceptées.
Il faut toujours vérifier la cohérence des données.

Ce talk était présenté par Paul Milham : Take Data Validation Seriously

Data validation

 

Malgré les quelques conférences annulés ou décalés, cet évent était particulièrement intéressant et instructif au point que nous n’arrivions pas à nous décider sur quelle conférence suivre lorsqu’elles se déroulaient en parallèle. Nous comptons retourner à la Node Interactive l’année prochaine.

Johnathan & Miguel

mots-clés :

, , , ,

, , , ,

articles à lire ensuite...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

0
0

Node.js Interactive Europe 2016