Quels sujets seront couverts dans le cours ?
Introduction à Node.js
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.
É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.
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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.
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$.
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.
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).
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$.
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
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.
É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.
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.
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.
Mots de clôture:
Mots de clôture pour résumer le cours.