Formation Node.JS
2430€ HT / personne |
4 jours (28 heures) |
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 22 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
- Connaissance d’un framework côté client ou d’un autre langage de programmation orienté objet (java, php, etc.)
- Tester Mes Connaissances
Pré-requis techniques
- Un IDE
- Node.js installé
- Une base de données MongoDB
- Un accès administrateur pour éviter les restrictions de permission
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)
FAQ – QUESTIONS / RÉPONSES
La formation est-elle dispensée en présentiel ou à distance ?
Cette formation se déroule en présentiel ou en distanciel.
Qu'est-ce que le CPF ?
Le CPF (Compte Personnel de Formation) est un dispositif régit par l’état français pour permettre aux salariés de disposer d’un financement mobilisable uniquement pour la formation.
Pourquoi suivre une formation éligible au CPF ?
Pour profiter des nombreux avantages qu’offre le CPF :
Une formation finançable jusqu’à 100%
Une formation de qualité approuvée par l’instance gouvernementale France Compétences
L’obtention d’une certification délivrée par France Compétences
Que dois-je faire si mon solde CPF n’est pas suffisant ?
Contactez-nous ! Nos conseillers peuvent vous aider à trouver des sources de financement complémentaires en fonction de votre situation, tels que Pôle emploi, votre entreprise, vous-même (via carte bleue), ou encore l’OPCO Atlas.
Comment m'inscrire via moncompteformation ?
Il suffit de cliquer sur le bandeau vert «CPF» à droite de l’écran (ou en haut si vous utilisez un mobile). Vous devrez ensuite sélectionner une date de session depuis le site MonCompteFormation.
Comment augmenter son solde CPF ?
Vous êtes crédités à la fin de chaque année travaillée sur votre compte Moncompteformation. Vous pouvez recevoir jusqu’à 500 euros par an. Le plafond est fixé à 5 000€ sauf pour des cas spécifiques où la limite atteint 8 000€..
Les cas spécifiques où le plafond est fixé à 8 000€ :
- Salarié non qualifié
- Travailleur reconnu handicapé
- Victime d’accident du travail ou de maladie professionnelle ayant entraîné une incapacité permanente d’au moins de 10 %
- Bénéficiaire d’une pension d’invalidité
- Bénéficiaire d’une pension militaire
- Bénéficiaire d’une allocation ou rente d’invalidité des sapeurs-pompiers volontaires
- Bénéficiaire de la carte mobilité inclusion portant la mention « invalidité »
- Bénéficiaire de l’allocation aux adultes handicapés (AAH)
Que dois-je faire si mon solde CPF n’est pas suffisant ?
Contactez-nous ! Nos conseillers peuvent vous aider à trouver des sources de financement complémentaires en fonction de votre situation, tels que Pôle emploi, votre entreprise, vous-même (via carte bleue), ou encore l’OPCO Atlas.
Comment puis-je financer cette formation ?
Contactez-nous pour trouver une solution de financement sur mesure ! Nous vous aiderons à choisir parmi les options suivantes :
- OPCO (opérateurs de compétences) de votre entreprise
- Le plan de développement des compétences
- Les actions collectives pour les formations Big Data
- Le dispositif FNE-Formation
- Dispositif TPE / PME
- Pôle Emploi
- L’AIF (Aide Individuelle à la Formation pour les demandeurs d’emploi)
- L’ARE (Allocation chômage d’aide au retour à l’emploi)
- Le dispositif CPF (MonCompteformation)
- Contrat cadre
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
Mohamed
Il anime pour nous des formations sur Node.js, ainsi que sur React/Redux, Angular et Docker.
Témoignages
Je recommande la formation
Afficher tous les témoignages
Je recommande la formation
Les + : Couvre les sujets nécessaires pour le développement app
Les – : Trop de sujets pour 4 jours, on a survolé très rapidement sur certains choses.
En synthèse : 1 jour de plus cela aurait été mieux
Les + : Beaucoup d’éléments présentés
Les – : et en même temps, trop dispersé.
En synthèse : Je suis content d’avoir suivi cette formation. J’avais eu l’occasion de parcourir des tutoriels sur nodejs-express-mongodb il y a 1 an et demi puis n’ai plus eu l’occasion de m’y remettre. Cette formation me permet donc de me remémorer certains aspects oubliés, et bien sûr de disposer d’informations complémentaires notamment sur la partie web.
Je ne me positionne pas sur le fait de recommander cette formation car j’ai du mal à situer si elle est adaptée à un débutant ou si adapté à quelqu’un de plus confirmé.
Les + : Rappels sur des fondamentaux javascript
Mise en place d’un blog, de A à Z
Les – : Il faut à minima que les participants aient déjà des connaissances sur le javascript
4 jours c’est long mais peu au regard de tout ce qu’il faut intégrer
Prévoir des environnements types VM avec tous ce qui est nécessaire et manipuler plus tot dans le cours
Les + : interactions avec le public, réponses apportées à toutes les questions posées
Les – : formation très courte
Je souhaite suivre : React
Je recommande la formation
Je recommande la formation
Les + : Les échanges avec le formateur qui a été très intéressant et il aidait pour que chacun y trouve son compte
Les – : Il y avait beaucoup de choses à apprendre et le temps pour insuffisant
Je souhaite suivre : J’aurais bien aimé pouvoir suivre une formation sur les opérations informatiques (Ops)
Les + : Le formateur est très bon, et très attentif
Je souhaite suivre : NodeJS Avancé
Les – : Pas assez de depot github pour les corrections
Je souhaite suivre : Openshift
Navigation Site Reviews
Noter la formation
2430€ HT / personne |
4 jours (28 heures) |
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