Logo Node.js

Formation Node.js

Node.js est un environnement d'exécution JavaScript open source qui permet de faire tourner du code JavaScript côté serveur, plutôt que dans un navigateur web. Cela signifie que vous pouvez utiliser Node.js pour créer des applications serveur en utilisant JavaScript. Node.js est basé sur le moteur JavaScript V8 de Google, qui est connu pour sa vitesse d'exécution. Il utilise également un modèle d'exécution asynchrone basé sur des événements, ce qui le rend particulièrement adapté aux applications réseau qui doivent gérer de nombreuses connexions simultanées. Node.js est souvent utilisé pour créer des applications web, des API REST et des services de backend pour les applications mobiles. Il est également utilisé pour créer des outils de ligne de commande et des scripts de serveur. Node.js est populaire pour sa simplicité et sa flexibilité, et il est souvent utilisé en conjonction avec d'autres technologies telles que Express.js (un framework web pour Node.js) et MongoDB (une base de données NoSQL). Si vous souhaitez développer des applications côté serveur en utilisant JavaScript, Node.js est un choix populaire et puissant.

Objectifs pédagogiques / Compétences visées

  • Maitriser les syntaxes et APIs récents de JavaScript
  • Comprendre l'intérêts des modules et des bibliothèques associées
  • Utiliser npm pour ajouter et mettre à jour des dépendances
  • Ecrire du code asynchrone proprement
  • Créer des programmes console avec Node.js
  • Développer côté serveur avec Node.js
  • Interagir avec une base MongoDB
  • Automatiser les tests

Pré-requis

  • Maitrise de l'algorithmique
  • Bases de JavaScript
  • Notions de développement web serveur

Public

  • Développeurs
  • Chefs de projets

Programme

Jour 1

Introduction

  • Historique de Node.js et JavaScript
  • Installations de Node.js et npm
  • Les IDEs JavaScript Visual Studio Code, WebStorm, EditorConfig

Une réintroduction à JavaScript

  • Closures et Scopes
  • Fonctions Constructeurs et Prototype
  • ES5.1, ES6, ES7, ES8, ES.Next

Jour 2

Les modules JavaScript

  • Immediately Invoked Function Express (IIFE)
  • Modules CommonJS (require, exports, module)
  • Modules ES6 (import, export)

npm

  • Créer un projet avec npm
  • Installer de nouvelles dépendances
  • Mettre à jour des dépendances
  • L’importance des lockfiles et des scripts
  • Les autres gestionnaires de dépendances : yarn, pnpm

Ecrire du JavaScript Asynchrone

  • Callbacks asynchrones et boucle d’événement
  • Callback Hell et la bibliothèque Async
  • API Promise et la bibliothèque bluebird
  • Fonctions asynchrones et async / await
  • API Observable et la bibliothèque RxJS

Node.js et les programmes en ligne de commande

  • Les APIs pour les programmes CLI : process, fs, readline
  • Bibliothèques pour le CLI : chalk, minimist, yargs, commander, inquirer
  • Bibliothèques pour manipuler des fichiers : fs-extra, mkdirp, glob, rimraf

Jour 3

Automatiser un build du code front-end

  • Les programmes en ligne de commandes : rimraf, browserify, less, node-sass
  • Enchainer des tâches : scripts npm, grunt, gulp
  • Utiliser une bibliothèque dédiée : webpack

Node.js pour le JavaScript côté serveur

  • Les APIs bas niveaux : events, stream, net
  • Les modules http, https et http2 de Node
  • Le micro-framework Express
  • Quels Middlewares utiliser : body-parser, morgan, cors...
  • Les autres frameworks : koa, sails, loopback, Nest
  • Applications temps-réel avec Socket.io

Jour 4

Accès aux données

  • Les bases NoSQL
  • Utilisation basique de MongoDB
  • Simplifier l’accès avec Mongoose

Tests automatisés

  • Pyramide des tests : unitaires, intégrations, fonctionnels, End-to-End (E2E)
  • Test Driven Developeent (TDD) avec assert
  • Behavior Driven Development (BDD) avec Jasmine
  • Implémentation avec mocha, chai
  • Couverture de code avec Istanbul
  • Sinon.js : mocks, spy et stub
  • Parallélisation avec Jest, AVA
  • Tests fonctionnels avec chai-http ou supertest
  • Tests E2E : selenium, webdriver.io, nightwatch, cucumber

Moyens pédagogiques et techniques

  • Formateur validé par nos équipes techniques et pédagogiques
  • Salle de formation informatisée
  • Support de cours numérique

Suivi et appréciation des résultats

  • Questions orales ou écrites (QCM)
  • Exercices pratiques
  • Formulaires d'évaluation

Avis

Chayma B.

le 16 octobre 2023

Saifeddin D.

le 16 octobre 2023

Laurent L.

le 16 octobre 2023

Jingyi L.

le 16 octobre 2023

Nicolas D.

le 16 octobre 2023

Ludovic R.

le 16 octobre 2023

Philippe G.

le 16 octobre 2023

Laurent L.

le 17 avril 2023

Jingyi L.

le 17 avril 2023

Sarra S.

le 17 avril 2023

Gerald H.

le 17 avril 2023

Abdeljabar M.

le 17 avril 2023

Florent V.

le 17 avril 2023

Frédéric G.

le 17 avril 2023

Thomas D.

le 17 avril 2023

Ines B.

le 17 avril 2023

Florent P.

le 28 novembre 2022

Thomas M.

le 28 novembre 2022

Amel T.

le 28 novembre 2022

La formation
Niveau techniques et travaux pratiques sont bien complet par contre je n'arrive pas à faire en parallèle les exemples.
J'ai essayé à suivre le formateur mais je trouve un peu de difficulté pour résoudre les exercices en appliquant ce qui a été dit.

Nizar T.

le 28 novembre 2022

Badreddine B.

le 28 novembre 2022

La formation
- Formation avancée, bien adaptable avec une personne qui à déja une petite experience avec les techno web, mais à mon avis, pour quelqu'un qui viens d'une formation basic, il faut passer par une session WebIntermediate un peut alléger

Asma Y.

le 28 novembre 2022

Thouraya A.

le 28 novembre 2022

Mouhcen H.

le 10 novembre 2022

Chaima K.

le 10 novembre 2022

Livio C.

le 10 novembre 2022

Lin C.

le 10 novembre 2022

Ilias L.

le 10 novembre 2022

Tomy R.

le 10 novembre 2022

Assem M.

le 10 novembre 2022

Wedjen M.

le 07 juillet 2022

Marie B.

le 07 juillet 2022

Les +
Approche très pédagogique, incluant l'historique des changements, ce qui permet de bien mieux comprendre et donc retenir le fonctionnement actuel

Ayoub M.

le 07 juillet 2022

Mathieu C.

le 07 juillet 2022

Patricia D.

le 07 juillet 2022

Bilel T.

le 07 juillet 2022

Florent G.

le 07 juillet 2022

Les +
Pauses assez souvent pour garder la concentration, pédagogie et disponibilité de l'intervenant. Mise à disposition facile des ressources et supports de formation.

Mariem G.

le 07 juillet 2022

Benjamin G.

le 07 juillet 2022

Jonathan O.

le 07 juillet 2022

Wissem A.

le 13 juin 2022

Edin K.

le 13 juin 2022

Intissar Z.

le 13 juin 2022

Hervé C.

le 13 juin 2022

Enis K.

le 13 juin 2022

Claire R.

le 13 juin 2022

Sébastien L.

le 13 juin 2022

Matthieu B.

le 13 juin 2022

Gilles C.

le 29 novembre 2021

Stéphane F.

le 29 novembre 2021

Julien D.

le 29 novembre 2021

Pascal H.

le 29 novembre 2021

La formation
Comme pour les autres chapitres, formation un peu trop rapide pour moi, compte tenu de la somme des sujets abordés et leur complexité.

Fabrice C.

le 29 novembre 2021

Christophe M.

le 29 novembre 2021

Le formateur
Romain connait tres bien son sujet et il est parfois difficile de suivre tous les concepts, de prendre des notes

Stéphane G.

le 29 novembre 2021

Les +
Qualité du formateur

Quentin G.

le 29 novembre 2021

Michel Z.

le 29 novembre 2021

Vincent G.

le 29 novembre 2021

Tarek B.

le 02 juin 2021

Jérôme C.

le 02 juin 2021

Bechir J.

le 02 juin 2021

La formation
J'ai bien apprécié l’Example, ça m'a permis de mettre en pratique les notions et mieux assimiler le langage

Chokri G.

le 02 juin 2021

Pierre L.

le 02 juin 2021

Frédéric R.

le 02 juin 2021

Samir B.

le 02 juin 2021

Laurent M.

le 02 juin 2021

La formation
Merci pour cette 2eme session

Yohann M.

le 02 juin 2021

La formation
Effectivement sur la 1ère session, on était passé rapidement sur les aspects Async. Cette journée a permis de mieux comprendre ces concepts. Cet aspect TP a été aussi un plus dans ce training.

Les +
Rappel sur les aspect Aync
Création d'un fichier Json

Mohamed Bechir B.

le 16 avril 2021

Bechir J.

le 16 avril 2021

La formation
L'exercice du dernier jour est intéressant mais malheureusement nous n'avons pas eu le temps de le finaliser

Commentaire général
Je suis satisfait de la formation dans sa globalité. reste qu'on aurait pu consacré un peu plus de temps pour des exercices pratiques et réduire le temps ou on parcoure le doc sur les APIs ou l'historique vu qu'on part directement sur la dernière version ES

Chokri G.

le 16 avril 2021

Tarek B.

le 16 avril 2021

Commentaire général
Je ne recommande pas avec ce rythme, la formation etait dans rythme cool dans les 2 1er jours, après c'etait la folie ...
il faut bien gérer le temps et le rythme.

Pierre L.

le 16 avril 2021

La formation
Il faudrait passer plus vite sur la partie historique du javascript ainsi que toute les versions de ecma script avec leurs années de disponibilité.
Il faudrait plus insister sur la façon de faire les tests. Il n'y a pas de framework natif de node pour les tests. Choisir alors le module le plus en vogue et réaliser les exercices sous forme de tests. Cela permet de découper plus facilement chaque exercice/scénario.

Le formateur
Rien a redire, maitrise parfaitement le sujet

Frédéric R.

le 16 avril 2021

La formation
Je suis satisfait par le plan du cours et les sujets listés : on a bien une bonne overview de JavaScript, TypeScript, node.js et npm.
Toutefois la gestion du temps n'a pas été très bonne:
- trois premiers jours très cools
- deux derniers jours trop rapides
Du coup on a juste effleuré des sujets importants comme l'asynchronisme, la compréhension fine de la boucle JS, les worker threads alors qu'on a passé pas mal de temps sur des APIs où on aurait pu se contenter de dire ce qu'elles font.

Le formateur
Très bonne compétence du formateur, je reproche juste la gestion du temps.
Bonne disponibilité pour les questions, bonne capacité à mettre les choses en perspectives via son expérience.

Les +
L'utilisation de VS Code, les tips partagés par le formateur sur cet IDE.
La dispo des cours et exercices sur github est top.

Commentaire général
Je recommenderais la formation mais en émettant un warning sur la gestion du temps.

Jérôme C.

le 16 avril 2021

La formation
- Contenu peut etre encore trop "browser" orienté
- Partie historique peut etre trop longue

Samir B.

le 16 avril 2021

Maher M.

le 16 avril 2021

La formation
Hello,

I would like to submit my disappointment on how the training was conducted.

The training session would have been more productive had you focused on the principle of practical side of the theories that had been shared. The training felt more like an incoherent theory class as the practical approach and the progressive pedagogy was missing from it. fortunately I combined the training with some online tutorials. the management of time was a disaster knowing that we spent a lot of time on some APIs that are supposed to be found documentation and missed fundamental especially on integration (asyn. Processes, best practices on the events management, classes in TS), the order of some items was inverted and the exercises are more focused on the scenario itself rather the principle of coding which created some confusion on some important notions. the major topics on the typescript was carried quickly and missing how to integrate thing with Thea for instance.

I wish the you are going to take my feedback seriously and incorporate these changes to make it a more interactive, interesting and engaging session for the trainees.

Yohann M.

le 16 avril 2021

La formation
La dernière journée était trop dense par rapport aux 1ers jours. Les concepts n'était pas simple à appréhender et donc il nous a manqué du temps pour l'exercice finale et finalement, le petit résumé de chaque jour manque pour cette dernière journée.

Les +
Le résumé du matin qui permet de comprendre des points qui auraient pu nous échappé la veille.

Laurent M.

le 16 avril 2021

La formation
Il aurait fallu réserver plus de temps aux exercices, sans doute en diminuant le temps passé sur l'historique des évolutions JS et peut-être moins de temps à parcourir les APIs des libraries en ligne

Le formateur
Très bonne expertise , présentation basée sur l'expérience, ce qui se ressent.
Eviter de passer trop de temps sur ce qui peut nous sembler des détails (comme comprendre comment une librairie fonctionne ...)

Aymen A.

le 07 janvier 2021

Yosra G.

le 07 janvier 2021

Nabil S.

le 07 janvier 2021

Pascale M.

le 07 janvier 2021

La formation
Difficile de juger le support de cours car nous le parcourons tres rapidement et je n'ai pas pris le temps de le reprendre depuis (mais je compte bien l'utiliser plus tard!). Il est "parfois" difficile de distinguer ce qui est preconise / bonnes pratiques de ce qu'il ne faut pas faire (ce serait bien que cela soit clairement mis en evidence)\.
Les commentaires dans le code sont tres utiles. Il me serait utile d'avoir les exercices corriges avec des commentaires egalement. Je pense qu'il faudrait s'appuyer plus sur des explications en dehors du code, pour que lorsqu'on rentre dans la mise en oeuvre du concept on comprenne mieux ou on va et comment on y va. Le rythme tres soutenu egalement.

Le formateur
Le formateur etant tres a l'aise avec la techno et du coup parfois un peu trop rapide dans la demonstration/mise en oeuvre d'un nouveau concept. Quand il y a plusieurs choix d'implementation on peut se sentir un peu perdu.
Les commentaires dans le code sont tres utiles. Il me serait utile d'avoir les exercices corriges avec des commentaires egalement.

Cédric C.

le 07 janvier 2021

Maxime D.

le 07 janvier 2021

La formation
Les slides sont complets et les références sont présentes pour se débrouiller par la suite.

Patrice M.

le 07 janvier 2021

Eric A.

le 07 janvier 2021

La formation
Manque parfois certains details lors des exercices

Frédéric C.

le 07 janvier 2021

La formation
Ok pour cette partie "serveur".

Le formateur
Toujours tres bien.

Les +
RAS

Commentaire général
RAS

Dernière modification le 13/01/2023