Formations Langage JavaScript Formation Node.JS : Développement back-end

Formation Node.JS

Rated 4.6 out of 5
Logo Formation Node.JS
Prix 2430€ HT / personne
Durée 4 jours (28 heures)

Paris | Classe Virtuelle

Il ne reste que quelques places
NewCafés et déjeuners offerts en interentreprises
Disponible en intra-entreprise pour former votre équipe
Je ne veux pas me déplacer ? Option classe virtuelle gratuite

Présentation

Nodejs est une plateforme logicielle libre et événementielle, basée sur le moteur V8 de Google Chrome, qui permet le développement d’application réseau en JavaScript tout en garantissant d’excellentes performances.

L’atout majeur de Node.js® réside dans la possibilité d’employer un unique langage de programmation, le JavaScript, à travers toutes les couches d’une architecture logicielle, facilitant ainsi la rationalisation de la base de code et la communication au sein de l’équipe technique.

L’outil est utilisé en production par un grand nombre d’entreprises technologiques (parmi elles LinkedIn, PayPal et Netflix).

Il est supporté par les principaux fournisseurs de cloud (AWS, Google App Engine, Microsoft Azure).

Comme tous nos programmes, notre formation porte sur la toute dernière version stable en date de cette plateforme, ainsi que la découverte des nouveautés de la version 20 de Node.js.

 

Objectifs

  • Maîtriser les fonctionnalités principales de NodeJS
  • Savoir utiliser NodeJS, NPM et son écosystème dans les dernières versions
  • Savoir configurer un serveur de NodeJS
  • Développer une application web avec NodeJS et ES2022
  • Maîtriser la programmation événementielle & asynchrone
  • Créer et gérer APIs avec NodeJS
  • Sécuriser, industrialiser, tester & déployer son application

 

Public visé

Développeurs web

 

Pré-requis

Connaissance du langage JavaScript et connaissance d’un framework côté client seraient un plus ou connaissance d’un autre langage de programmation orienté objet (java, php, etc.)

Programme de notre formation Node.JS

 

Jour 1 – Introduction aux principes fondamentaux

 

Rappel de JavaScript

  • L’histoire du langage
  • Les principes fondamentaux du langage
  • La boucle d’événement ou l’Event Loop
  • Les moteurs JavaScript
  • Focus sur le moteur V8 de Google

 

ES2022

  • Initiation à ECMAScript
  • Déclaration de variables et portée
  • Littéraux objets
  • Le format JSON
  • Les classes
  • Déstructuration
  • Rest et Spread
  • Template strings
  • Les fonctions fléchées
  • Les modules ES
  • Compatibilité native Node
  • Utiliser la dernière version de JavaScript grâce à Babel

 

Programmation asynchrone

  • Les callbacks
  • Les callbacks selon NodeJs
  • Le problème du “callback hell”
  • Utiliser async.js pour éviter le callback hell
  • Les promesses
  • Async control flow avec async / await

 

Introduction à NodeJs

  • La genèse de NodeJs
  • Exécuter du JavaScript côté serveur
  • Installation du serveur Nodejs
  • Un premier programme
  • Exécuter un fichier
  • Présentation globale de l’API de Node.Js
  • Comparaison avec d’autres technologies

 

Présentation des principaux composants Node.JS

  • Node CLI (outils en ligne de commande)
  • Les différents environnements de développement (IDE)
  • NPM – Le gestionnaire de paquets de node.js
  • package.json
  • Les Node Modules
  • Outils : Development Tools et Frameworks

 

Les objets globaux

  • Focus sur la documentation de l’API de Node
  • L’objet global et différence avec window
  • Utilisation des fonctions setTimeout, setInterval et setImmediate
  • logging sur process.stdout avec console
  • Accès au context du fichier avec __dirname et __filename
  • Accès à la configuration hardware du server process et os

 

Jour 2 – Manipulation de l’API de Node

 

Gestion des modules Node

  • Qu’est-ce qu’un module Node ?
  • Les modules core
  • Import de module avec require et import
  • Configuration de module et initialisation de module
  • Utilisations des modules utilitaires (util, path, queryString, url)
  • Création de modules

 

Découverte de NPM

  • Le gestionnaire de paquet
  • L’outil en ligne de commande npm
  • L’alternative yarn
  • Recherche de module en ligne de commande
  • Le site npmjs.com
  • Recherche de module sur le site
  • Installation local ou global
  • Packaging de module
  • Le fichier package.json
  • Déclaration des dépendances
  • Gestion des conflits de version
  • Gestion de dépendances par environnement

 

Manipulation de fichier

  • Présentation du module fs
  • Lecture de fichier synchrone
  • Lecture de fichier asynchrone
  • Création de fichiers asynchrone
  • Suppression de dossier asynchrone

 

Programmation événementielle

  • Pourquoi la programmation événementielle
  • Présentation du module events
  • Utilisation de EventEmitter
  • Exemple d’utilisation concret

 

Jour 3 – Développement d’application web

 

Accès aux réseaux depuis NodeJs

  • Rappel de réseau
  • Les modules core Node orienté réseaux
  • Utilisation des module udp et net
  • Utilisation des module http et http2
  • Utilisation du module dns
  • Zoom sur le protocol HTTP

 

Création d’un serveur web avec l’api Node.JS

  • Qu’est-ce qu’un serveur HTTP ?
  • Lancement d’un serveur web Node
  • Gestion des requêtes/réponses HTTP
  • Mise en place d’un gestionnaire de routes
  • Traitement de requête de manière asynchrone

 

Création d’un serveur web avec Express

  • Introduction à Express
    • Comparaison avec Fastify et NestJS
  • Lancement d’un serveur express
  • Configuration d’une application Express avec les middlewares
  • Utilisation du gestionnaire de routes d’Express
  • Les moteurs de templating
  • Création de template Pug et rendering d’une page HTML
  • Traitement de formulaire HTML

 

Connexion à une base de données

  • Les bases de données compatibles
  • Introduction à MongoDB
  • Utilisation du package mongoose : création de modèle et requêtage
  • Lier une route à un modèle mongoose
  • Restifier un modèle de données avec express-restify-mongoose
  • Utilisation du package sequelize : création de modèle et requêtage
  • Lier une route à un modèle sequelize
  • Restifier un modèle de données avec finale-rest

 

Communication bidirectionnelle temps réel

  • Introduction à Websocket
  • Présentation de socket.io
  • Gestion de la communication côté serveur
  • Gestion de la communication côté client

 

Jour 4 – Industrialisation d’une application Node.JS

 

Builder votre projet

  • Pourquoi builder un projet nodeJs ?
  • Les outils de build
  • Rédiger ses propres scripts
  • Partir d’un projet boilerplate (style Yeoman)

 

Tester et déboguer

  • Les modules Node core pour tester et déboguer (console, debugger, inspector, repl, assert)
  • L’écosystème des packages npm orienté testing (unitaire et intégration)
  • Modules d’assertion : assert et Chai
  • Tester son module avec Mocha

 

L’écosystème des packages NPM

  • Bien choisir un package npm: analyse de viabilité
  • Les principaux frameworks de développement d’API
  • Qui sont les développeurs de package npm ?
  • Comment contribuer à un package npm ?

 

Sécurisation d’une application Node/Express

  • Les modules core de sécurité (crypto, https, tls)
  • Encryption de mot de passe avec bcrypt
  • Le package helmet
  • Authentification avec Passeport

 

Faciliter le développement d’application Node en équipe

  • Versionner proprement votre code avec git
  • Documentation du code avec docco
  • Documentation d’une API à l’aide de Swagger
  • Harmonisation d’une base de code à l’aide de ESLint
  • Imposer le typage via Typescript ou Flow

 

Modules Optionnels (+ 1 jour)

 

Gestion de streams et buffer

  • Qu’est-ce un stream ou flux ?
  • Comparaison entre les usages de streams unix et nodejs
  • Les types de streams : readable, writable, duplex et transform
  • La classe Buffer
  • Un exemple d’usage haut niveau

 

Déploiement d’application Node – Module complémentaire (+1 jour)

  • Déploiement du code sur Heroku
  • Déploiement du code sur AWS
  • Containerisation d’application Node avec Docker
  • Gestion de processus en environnement de production avec PM2
  • Intégration continue avec Jenkins et TravisCI

Pour aller plus loin

Formation Angular

Formation MEVN

Formation MEAN

Formation Redux et RxJS

 

Formation Nestjs

Formation D3.js

Langues et Lieux disponibles

Langues

  • Français
  • Anglais / English

Lieux

  • France entière
    • Paris
    • Lille
    • Reims
    • Lyon
    • Toulouse
    • Bordeaux
    • Montpellier
    • Nice
    • Sophia Antipolis
    • Marseille
    • Aix-en-Provence
    • Nantes
    • Rennes
    • Strasbourg
    • Grenoble
    • Dijon
    • Tours
    • Saint-Étienne
    • Toulon
    • Angers
  • Belgique
    • Bruxelles
    • Liège
  • Suisse
    • Genève
    • Zurich
    • Lausanne
  • Luxembourg

Nos Formateurs Référents

 Antonin

Antonin

Je suis un passionné de musique, de crypto-monnaies et de blockchain. Je concentre mon travail sur la transformation des idées en excellents produits. Je construis des MVP à l’échelle avec NodeJS, React / React Native, Redux, GraphQL avec mes coéquipiers et partenaires @odyssee.studio.
Mohamed

Mohamed

Lead Développeur aguerri aux dernières technos fullstack, Mohamed a pu faire ses armes chez Google et CaptainDash notamment.
Il anime pour nous des formations sur Node.js, ainsi que sur React/Redux, Angular et Docker.

Témoignages

Rated 5 out of 5
12 avril 2023

Les + : Formation bien complète, du rappel des bases de JavaScript à l’industrialisation d’une application Node.js

Les – : Par moment beaucoup d’apprentissage théorique qui se suivent, il faut encaisser. Peut être intégrer un peu plus de pratique du coup.

Robin D. de chez ASSUR'LOC

Afficher tous les témoignages

Rated 5 out of 5
12 avril 2023

Les + : Formation bien complète, du rappel des bases de JavaScript à l’industrialisation d’une application Node.js

Les – : Par moment beaucoup d’apprentissage théorique qui se suivent, il faut encaisser. Peut être intégrer un peu plus de pratique du coup.

Robin D. de chez ASSUR'LOC
Rated 4 out of 5
12 avril 2023

Les + : Le formateur est à l’écoute, explique en profondeur en donnant des exemples concrets, la documentation est bien rédigée,

Les – : —

Je souhaite suivre : nodeJS avec nest et typescript

En synthèse : Grand merci pour le formateur, cette formation ma permis de revoir ma perception pour javascript, et cela va m’aider à prendre en main mes futurs projets en nodeJS.

Rim O. de chez CMI MEDIA
Rated 5 out of 5
29 septembre 2022

Je recommande la formation

Mathieu A. de chez ASREC DE LA REGION CENTRE-VAL DE LOIRE
Rated 4 out of 5
29 septembre 2022

Les + : Le formateur est éloquent et pertinent.

Les – : Le distanciel, mais ce n’était pas entre nos mains. Merci quand même au formateur d’avoir réalisé la formation une fois un minimum rétablit.

Sam S. de chez ASREC DE LA REGION CENTRE-VAL DE LOIRE
Rated 4 out of 5
29 septembre 2022

Je recommande la formation

Aurélien P. de chez ASREC DE LA REGION CENTRE-VAL DE LOIRE
Rated 4 out of 5
29 septembre 2022

Je recommande la formation

Baptiste M. de chez ASREC DE LA REGION CENTRE-VAL DE LOIRE
Rated 5 out of 5
29 septembre 2022

Les + : Allier théorie et pratique.

Les – : Peut-être bien insister auprès des entreprises si tous les potentiels participants ont bien le niveau requis ? ^^

Je souhaite suivre : React

Léa M. de chez ASREC DE LA REGION CENTRE-VAL DE LOIRE
Rated 5 out of 5
29 septembre 2022

En synthèse : Très bon formateur

À l’écoute, sait expliquer et aider lors des erreurs rencontrées pour trouver des solutions annexes aux problèmes

Mathieu G. de chez ASREC DE LA REGION CENTRE-VAL DE LOIRE
Rated 4 out of 5
29 septembre 2022

Les + : J’ai compris une partie des bases de nodejs grâce aux très bonnes explications du formateur

Les – : Le gros point faible, c’est qu’étant débutant sur nodejs, je n’ai malheureusement pas assez de base pour pouvoir bien suivre cette formation.

Je souhaite suivre : React

En synthèse : Malgré mon sérieux manque de base j’ai eu énormément de mal pour bien suivre la formation, mais ce qu’on a vu cette semaine sera très bénéfique pour le jour où je passerai dessus.

Matthias B. de chez ASREC DE LA REGION CENTRE-VAL DE LOIRE
Rated 4 out of 5
29 septembre 2022

Je recommande la formation

Alexis O. de chez ASREC DE LA REGION CENTRE-VAL DE LOIRE
Rated 4 out of 5
29 septembre 2022

Les + : Le formateur est à l’écoute et est réactif aux demandes

Romain C. de chez ASREC CENTRE-VAL DE LOIRE
Rated 4 out of 5
29 septembre 2022

Les + : Le formateur sait donner des explications claires et maîtrise très bien son domaine !

En synthèse : Nous aurions dû mieux préparer cette formation, en interne.

Louis T. de chez ASREC DE LA REGION CENTRE-VAL DE LOIRE

Noter la formation

Prix 2430€ HT / personne
Durée 4 jours (28 heures)

Paris | Classe Virtuelle

Il ne reste que quelques places
NewCafés et déjeuners offerts en interentreprises
Disponible en intra-entreprise pour former votre équipe
Je ne veux pas me déplacer ? Option classe virtuelle gratuite

UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?

Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.

ILS SE SONT FORMÉS CHEZ NOUS

partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp
partenaire sncf
partenaire hp
partenaire allianz
partenaire sfr
partenaire engie
partenaire boursorama
partenaire invivo
partenaire orange
partenaire psa
partenaire bnp