Node.js

Angular 4 et Node.js par la pratique

Formation idéale si vous avez suivi Angular 2 pratique et Node.js, Express.js, JWT et Mongoose par la pratique, cette nouvelle formation vous permettra de faire de nouveau du Fullstack Javascript, mais cette fois en utilisant Angular V4 côté client (et non plus du vanilla JavaScript). Le pré-requis est…

Node.js et Express.js par la pratique

Cette nouvelle formation vous permettra d'apprendre à développer une application web à l'aide de Node.js et du framework Express.js. Ainsi, nous verrons ensemble comment : créer une application web en quelques minutes comprendre les requêtes que votre serveur recevra et les réponses qu'il enverra récupérer les paramètres passés dans…

Problèmes d'installation de modules avec NPM

Si ça devrait marcher et que ça veut pas, parfois un petit : rm -rf node_modules npm cache clean npm install et ça repart. …

Tutoriel Node.js épisode 4 : architecture d'une application Express 4.X

Ce tutoriel Node.js est en fait un tuto Express 4.X. Le premier d'une série qui permettra de créer une application web basée sur Node.js. Express, en deux mots, est un framework qui permet de mettre un ensemble de middlewares les uns à la suite des autres afin…

Tutoriel Node.js épisode 3 : créer un module qui expose un constructeur

Suite de l'épisode précédent consacré aux modules. Indispensables pour regrouper un ensemble de fonctionnalités, comme vu dans l'épisode 2, les modules permettent également de mettre à disposition des constructeurs. Un exemple concret va illustrer la chose. Les modules sont très utiles et très fréquemment utilisés par la communauté de développeurs…

Tutoriel Node.js épisode 2 : créer un module

Dans cet épisode, nous allons créer un module qu'il sera possible d'importer via un require. Et oui, comme les modules fournis lors de l'installation de Node.js ou ceux que vous installez via npm. Le code final, sera le suivant : exports.brand = 'Renault'; exports.start = function(){ console.log('Vroom'); } var…

JWT : l'authentification avec token (plutôt qu'avec cookie)

Voici une alternative au célèbre package passport : JWT. JSON Web Token, JWT pour les intimes - que les anglophones prononcent 'djot' - est une spécification pour l'authentification. Un JWT est un objet JSON encodé qu'un serveur (Node par exemple) encode en utilisant une clé privée. L'objet JSON encodé est un…

Ajax via SuperAgent, testé avec mocha(TDD inside)

SuperAgent permet de faire du CRUD sur une URL relative ou absolue, notamment - et c'est ce qui nous intéresse - dans node. C'est le cas typique de la consommation d'une RESTful API. L'installation se fait avec npm : npm install superagent Faire du CRUD se fait simplement en utilisant le…

Debugguer une application Node.js avec node-inspector

Si recourir à quelques console.log() bien sentis peut être pratique afin de vérifier rapidement la valeur d'une variable, on est à peine un cran au dessus des alert() qui trufaient nos fichiers JavaScript dans les années 90 (et même 2000 ... parfois 2010). En revanche, pour traquer un bug un…

Sécuriser vos applications web Node avec grunt-nsp-package

Quel que soit le langage utilisé pour créer des applications web, on entend souvent dire qu'il faut éviter de réinventer la roue. Dans l'univers de Node, cela signifie utiliser des modules, via npm, modules qui fournissent la fonctionalité qui vous intéresse (envoyer des emails, gérer vos cookies, extraire des info…

Sécuriser vos applications web avec Lusca

Lusca est un middleware dédié à la sécurité de vos applications Express. Les menaces contemporaines les plus courantes sont ainsi prises en charge en 6 lignes de code : app.use(lusca.csrf()); app.use(lusca.csp({/**/})); app.use(lusca.hsts({maxAge: 31536000})); app.use(lusca.csxframef('SAMEORIGIN')); app.use(lusca…

Migrer d'Express 3.X vers 4.X

Express ne dépend plus de Connect. Ce qui a pour conséquence que la plupart des middlewares autrefois nativement inclus doivent désormais être installés via npm. C'est le cas par exemple de bodyParser. Il faudra penser à faire un : npm install body-parser puis dans votre code : var bodyParser = require("body-parser"); Cela…