Description

Plongez dans l'univers dynamique de Node.js, l'un des environnements JavaScript les plus puissants et polyvalents pour le développement backend.

Que vous soyez un développeur expérimenté ou que vous débutiez dans le développement web, Node.js vous offre une opportunité unique de construire des applications rapides, scalables et performantes. Avec sa capacité à gérer des milliers de connexions simultanées sans sacrifier les performances, Node.js est devenu le choix privilégié pour de nombreuses entreprises à la recherche de solutions robustes et évolutives.

Dans cette formation complète, nous vous guiderons à travers les fondamentaux de Node.js, en commençant par les bases, jusqu'aux concepts avancés comme l'asynchronisme, la gestion des fichiers, et la création d'APIs RESTful. Vous découvrirez également comment intégrer des bases de données, sécuriser vos applications avec des outils comme JWT, et déployer vos projets sur des serveurs de production.

Chaque module est conçu pour vous offrir des compétences pratiques et immédiates, avec des exemples concrets et des exercices pour solidifier vos connaissances. Rejoignez-nous et maîtrisez Node.js, une compétence essentielle pour tout développeur cherchant à rester compétitif dans le monde du développement web moderne.

Publics visés

  • Développeurs web débutants et intermédiaires.
  • Dévellopeurs Front JavaScript souhaitant apprendre le Back.

Pré-requis

  • Connaissance de base en JavaScript.
  • Compréhension des concepts de programmation orientée objet.
  • Familiarité avec les outils de ligne de commande.

Compétences

Maîtriser l'installation et la configuration de Node.js et TypeScript.

Comprendre et utiliser le moteur V8 et la gestion de l'asynchronisme en Node.js.

Créer des serveurs HTTP performants avec Express.js.

Manipuler les fichiers et répertoires en utilisant les modules natifs de Node.js.

Développer des APIs RESTful sécurisées avec Express.js.

Intégrer et interagir avec une base de données MongoDB via Mongoose.

Implémenter des mécanismes d'authentification sécurisés avec Passport.js et JWT.

Gérer les erreurs et exceptions de manière efficace dans une application Node.js.

Optimiser les performances et surveiller l'état des applications Node.js en production.

Déployer une application Node.js sur un serveur distant avec les meilleures pratiques.

Contenu du cours

9 chapites • 56 vidéos • 6h 31m de cours
Découvrir NodeJs
7 vidéos • 42m 21s

Découvrir NodeJs

Qu'est-ce que Node.js ?
06:30

Installation de Node.js et TypeScript
06:04

Installation de Node.js et TypeScript sur votre machine.

Node.js avec JavaScript
03:50

Exécution de scripts Node.js en JavaScript.

Pourquoi utiliser TypeScript ?
04:10

Les avantages de TypeScript en Node.js.

Premier programme Node.js en TypeScript
07:14

Création d'un simple programme "Hello World" en Node.js et TypeScript.

Introduction aux modules
08:53

Présentation des modules et comment les utiliser.

Hotreload avec Nodemon
05:40

Utiliser Nodemon pour le hotreload.

Moteur Node.js et asynchronisme
3 vidéos • 13m 41s

Comprendre le moteur V8 de Node.js et gérer l'asynchronisme.

Le moteur V8
05:14

Comprendre le moteur V8 utilisé par Node.js.

Synchrone vs Asynchrone
04:16

Différences entre le code synchrone et asynchrone en Node.js.

Callbacks, Promises et async/await
04:11

Gestion de l'asynchronisme avec Callbacks, Promises, et async/await.

Gestion des fichiers et des flux
6 vidéos • 45m 44s

Manipulation avancée des fichiers et flux en Node.js.

Lecture de fichiers
08:50

Lire et écrire des fichiers avec Node.js.

Gérer async/await
07:03

Pour toutes les méthodes api de Node, async/await sera plus utile

Écrire de fichiers
05:30

Écrire des fichiers avec Node.js.

Gestion des répertoires
06:57

Créer, lire et supprimer des répertoires en Node.js.

Flux en Node.js
10:07

Introduction aux flux (streams) pour gérer les données de manière efficace.

Opérations de fichier avancées
07:17

Manipulations avancées sur les fichiers avec Node.js.

Serveur HTTP avec Express.js
9 vidéos • 1h 15m 44s

Création et gestion de serveurs HTTP avec Express.js.

Introduction à Express.js
04:06

Qu'est-ce qu'Express.js et pourquoi l'utiliser ?

Création d'un serveur HTTP simple
07:55

Créer un serveur HTTP avec Express.js.

Gestion des routes avec Express.js
08:27

Mise en place et gestion des routes.

Gestion des requêtes et des réponses
09:21

Travailler avec les requêtes et réponses HTTP.

Middleware dans Express.js
05:33

Introduction aux middlewares et comment les utiliser.

Mieux organiser les fichiers
04:52

Organiser son projet est important, pour la maintenance dans le temps

Implémenter de la configuration
12:57

En utilisant des librairies extérieure, on peut rendre notre api configurable

Créer un routing d'exemple
10:24

Pour notre démo, il serait intéressant d'avoir un vrai exemple d'utilisation

Templating avec Express.js
12:09

Utiliser des moteurs de templates pour rendre des pages HTML dynamiques.

Créer un CLI
8 vidéos • 48m 49s

Node nous permet aussi de créer nos propres utilitaires en ligne de commande.

Introduction aux CLI
03:48

Vous utilisez déjà des CLI sans forcément le savoir (npm, tsc, git), mais on peut aussi en créer nous même.

Créer un premier CLI
04:42

Compiler le TypeScript, créer un fichier exécutable et comprendre bin dans le package.json.

Les arguments
05:44

Il est possible de lire les arguments pour créer des outils interactifs simples.

Découvrir les framework
03:27

Il existe une multitude de Framework de ligne de commande, parlons des principaux

Utiliser un framework
06:46

Utilisons Commander et Inquirer pour dynamiser notre commande

Styliser le terminal
06:33

Les CLI bien faits utilisent des couleurs et une mise en forme pour plus de lisibilité.

Créer un générateur
12:16

Apprenons à créer un outil pour générer un fichier template avec un nom passé par argument.

Publier son CLI sur npm
05:33

Voyons comment rendre l’outil disponible via npm.

Connexion à une base de données
5 vidéos • 37m 11s

Introduction à MongoDB et manipulation des données avec Mongoose.

Introduction à MongoDB avec Mongoose
05:39

Présentation de MongoDB et Mongoose.

Installation et configuration de MongoDB
04:10

Installer et configurer MongoDB sur votre machine.

Installation et configuration de mongoose
06:19

Mongoose permet de connecter notre nodejs à MongoDB

Modélisation des données avec Mongoose
09:50

Créer des modèles de données avec Mongoose.

CRUD avec Mongoose
11:13

Créer, lire, mettre à jour et supprimer des données avec Mongoose.

Authentification et Sessions
8 vidéos • 1h 2m 11s

Mise en place de l'authentification et gestion des sessions en Node.js.

Introduction à l'authentification
06:16

Concepts de base de l'authentification.

Stratégie locale avec Passport.js
06:25

Implémenter l'authentification avec Passport.js.

Protéger un controlleur
07:46

Relier une stratégie à un controlleur avec Passport

Sécuriser les mots de passe
08:39

Utiliser une librairie de cryptage pour sécuriser les mots de passe.

Créer un Auth middleware
06:34

Pour simplifier l'auth, un middleware une bonne approche globale.

Désactiver un utilisateur
03:07

Avec notre boolean active, il serait possible de valider un utilisateur simplement.

Introduction à JWT (JSON Web Tokens)
13:12

Comprendre et utiliser JWT pour l'authentification.

Gestion des sessions et des cookies
10:12

Gérer les sessions et les cookies dans une application Node.js.

Création d'APIs RESTfull
4 vidéos • 21m 55s

Développement d'APIs RESTful sécurisées avec Express.js.

Introduction aux REST APIs
05:34

Présentation des concepts RESTful et des APIs.

Comprendre l'indempotence
04:04

Il est très important de gérer les règles unique des routes.

Comprendre les status
03:47

Gérer et retourner les erreurs de manière efficace dans une API.

Sécurisation des APIs RESTful
08:30

Meilleures pratiques pour sécuriser une API RESTful.

Gestion des erreurs et déploiement
6 vidéos • 44m

Gestion des erreurs critiques et déploiement sécurisé d'applications Node.js.

Gestion des erreurs dans Node.js
08:00

Comprendre et gérer les erreurs en Node.js.

Ce qui peut faire crasher un serveur Node.js
07:30

Identifier et éviter les causes courantes de crash en Node.js.

Suivi de la performance avec Node.js
06:00

Introduction aux outils de suivi de performance.

Déploiement d'une application Node.js
09:00

Comment déployer une application Node.js sur un serveur.

Gestion des variables d'environnement
05:30

Travailler avec les variables d'environnement.

Sécurisation d'une application Node.js
08:00

Les bases de la sécurité en Node.js.

Enseignant

image
Julien Moulin

Fondateur & Formateur Js/Ts

11 articles sur le blog
28 cours

Julien Moulin est un expert en développement full stack (JS/TS) et un leader technique reconnu. Il excelle dans l'adoption de technologies innovantes tout en répondant aux besoins clients. Son approche allie pragmatisme et innovation, avec une expertise couvrant les plateformes e-commerce, les applications métiers et la modernisation des architectures existantes. En mentor passionné, il partage ses connaissances avec pédagogie, encourage l’apprentissage continu, et inspire ses équipes à relever des défis ambitieux.

Franchement, entre-nous, on vous conseille aussi Nest.js !