codequick-darkmode-logo
ConnexionS'inscrire
Cours Node.js

Syllabus:

Cours Node.js

26 Leçons 180 Questions de Codage en Ligne


Quels sujets seront couverts dans le cours ?

Introduction à Node.js

  1. Mots d'ouverture et aperçu du cours:

    • Mots d'ouverture.

    • Ce qui sera couvert dans le cours et une introduction à Node.js.

    • Accent sur le travail avec les dépôts de code.

  1. Écrire un serveur de base:

    • Construction d'un premier serveur simple.

    • Explication de ce qu'est un serveur et gestion des requêtes et réponses HTTP.

    • Compréhension des codes d'état et retour de JSON vs. HTML.

  1. Gestion de base des requêtes:

    • Introduction aux points de terminaison du serveur API.

    • Définition de plusieurs routes pour la gestion des requêtes.

  1. Gestion avancée des requêtes du serveur:

    • Compréhension de la structure de la requête HTTP.

    • Explication des codes d'état et comportement du serveur.

  1. Préparation à l'écriture d'une API Restful:

    • Introduction aux API Restful.

    • Compréhension de QueryString et des paramètres de requête.

Travailler avec le système de fichiers

  1. Lire des fichiers dans Node.js:

    • Travailler avec le module système de fichiers (fs).

    • Utilisation de la fonction readFile de manière asynchrone.

    • Utilisation de la fonction readFileSync de manière synchrone.

    • Introduction aux modules fs et path.

    • Création d'un serveur avec plusieurs points de terminaison.

    • Sauvegarde de fichiers texte et JSON.

  1. Sauvegarder des fichiers dans Node.js:

    • Utilisation de la fonction writeFile de manière asynchrone pour écrire des fichiers.

    • Utilisation de la fonction writeFileSync de manière synchrone pour écrire des fichiers.

    • Gestion des erreurs dans le serveur.

  1. Supprimer des fichiers dans Node.js:

    • Suppression de fichiers en utilisant unlinkSync.

    • Utilisation des répertoires dans le système de fichiers.

    • Fonction pour vérifier si un fichier existe dans le système de fichiers.

  1. Gestion des requêtes POST:

    • Architecture de base du serveur.

    • Gestion des requêtes post.

    • Utilisation de Postman pour créer des requêtes get et post.

  1. Utilisation de la validation dans le serveur:

    • Écrire un serveur significatif.

    • Utilisation des validations et des erreurs dans le serveur.

    • Création d'un serveur avec plusieurs requêtes (lire, écrire, supprimer des fichiers du système d'exploitation).

Écrire un serveur avec Express

  1. Introduction à l'utilisation d'Express:

    • Contexte de la bibliothèque express.

    • Utilisation de la bibliothèque express pour écrire un serveur.

    • Utilisation des fonctions send, sendStatus et json.

    • Gestion des requêtes get.

  1. Gestion de Querystring et Params:

    • Utilisation de req.query avec express.

    • Utilisation de req.params avec express.

    • Écriture d'un serveur de données administrateur utilisant le système de fichiers.

  1. Gestion des requêtes POST dans le serveur:

    • Gestion des requêtes post avec express.

    • Explication de l'utilisation des middlewares.

    • Ajout de validations numériques dans le serveur.

  1. Architecture du serveur:

    • Architecture du serveur dans express.

    • Utilisation d'express.Router pour gérer le routage du serveur.

    • Ajout et construction de contrôleurs dans le serveur.

    • Ajout et construction de services dans le serveur.

  1. Utilisation des Middlewares dans Express:

    • Compréhension des middlewares dans express.

    • Intégration appropriée des middlewares dans les contrôleurs.

    • Écriture de validations en utilisant des middlewares.

MongoDB

  1. Introduction à MongoDB:

    • Introduction aux bases de données.

    • Différences entre les bases de données relationnelles et non relationnelles.

    • Introduction à MongoDB et cas d'utilisation courants.

    • Connexion du serveur express à MongoDB.

    • Introduction à l'utilisation de l'interface graphique mongo.

  1. Sauvegarder et récupérer des enregistrements:

    • Définition des schémas et revue des types courants.

    • Création d'un enregistrement dans MongoDB avec la fonction save.

    • Recherche d'enregistrements dans MongoDB en utilisant la fonction find.

    • Utilisation de filtres courants tels que gte$, $gt, $lte, $lt et eq$.

  1. Requêtes avancées dans MongoDB:

    • Compréhension de l'identifiant ObjectId.

    • Explication de la fonction toJSON.

    • Utilisation de la requête findById dans MongoDB.

    • Mise à jour des enregistrements en utilisant findByIdAndUpdate.

    • Utilisation de l'opérateur inc$.

    • Utilisation de la fonction count dans MongoDB.

    • Définition de valeurs par défaut pour le schéma dans MongoDB.

  1. Requêtes de suppression et opérateurs de base:

    • Suppression d'enregistrements en utilisant findByIdAndDelete.

    • Utilisation de l'opérateur push$.

    • Gestion des requêtes d'échec du serveur (500).

  1. Agrégations avancées dans MongoDB:

    • Construction d'un pipeline avancé et utilisation des agrégations.

    • Tri des données dans les requêtes MongoDB.

    • Utilisation des opérateurs courants tels que sum, $max, $min et avg$.

  1. Relations avancées entre les collections dans MongoDB:

    • Explication de la connexion des collections en utilisant ref.

    • Utilisation de l'action populate dans MongoDB.

    • Explication approfondie de la création d'un id dans MongoDB.

Sécurité du serveur avec authentification

  1. Introduction à JWT:

    • Contexte sur la sécurité du serveur.

    • Introduction au paquet jsonwebtoken.

    • Création du premier jeton.

    • Utilisation de la fonction verify pour vérifier la validité du jeton.

  1. Écrire une API sécurisée:

    • Ajout d'une couche de sécurité au serveur.

    • Construction de Middleware pour la sécurité du serveur.

    • Mise en œuvre de la sécurité avec JWT sur le serveur que nous écrivons.

  1. Utilisation de la bibliothèque Crypto:

    • Contexte de l'utilisation du chiffrement dans le serveur.

    • Explication des fonctions de hachage pour le hachage des mots de passe.

    • Ajout de sel au schéma pour une sécurité renforcée.

    • Explication des attaques possibles.

  1. Communication entre serveurs:

    • Utilisation de la bibliothèque axios pour la communication entre serveurs.

    • Récupération de données depuis un autre serveur via le serveur que nous écrivons.

    • Stockage des données dans MongoDB pour les données récupérées depuis un serveur externe.

  1. Mots de clôture:

    • Mots de clôture pour résumer le cours.