C R É E R U N E A P P L I C A T I O N C L O U D
N A T I V E
BENMALOUK ILHAM
FILIÈRE DÉVELOPPEMENT DIGITAL – OPTION WEB FULL STACK
‫الشغل‬ ‫إنعاش‬ ‫و‬ ‫المهني‬ ‫التكوين‬ ‫مكتب‬
Office de la Formation Professionnelle et de la
Promotion du Travail
JANVIER 2025
01
01
INTRODUIRE LE CLOUD NATIVE
Définir le cloud
1.
Définir l’approche cloud native
2.
02
CRÉER DES APIS REST SIMPLES EN
NODE JS ET EXPRESS JS
Introduire Express et Node js
1.
Créer des APIs REST
2.
Authentifier une API REST avec JWT
3.
03
CRÉER UNE APPLICATION
MICROSERVICE
S’initier aux architectures
microservices
1.
Créer une application microservices
2.
04
MANIPULER LES CONTENEURS
Appréhender la notion du conteneur •
1.
Prendre en main Docker
2.
05
DÉPLOYER UNE APPLICATION CLOUD NATIVE EN
AZURE CLOUD
Introduire Azure Cloud
1.
Déployer en Azure App service
2.
S
O
M
M
A
I
R
E
CRÉER DES APIS REST SIMPLES
EN NODE JS ET EXPRESS JS
2
01
02
IINTRODUIRE EXPRESS ET NODE JS
1-Rappel du concept des APIs REST
QU’EST-CE QU’UNE API?
Une API (Application Programming Interface) est une interface qui permet à deux logiciels ou
systèmes indépendants de communiquer entre eux de manière standardisée. Elle définit comment
une application peut demander des services ou des données à une autre, sans avoir à comprendre
comment cette dernière fonctionne en interne.
01
02
IINTRODUIRE EXPRESS ET NODE JS
1-Rappel du concept des APIs REST
QU’EST-CE QU’UNE API?
✅Une API (interface de programmation d'application) est un ensemble de définitions et de protocoles qui
facilite la création et l'intégration de logiciels d'applications.
✅l’API est l’intermédiaire permettant à deux systèmes informatiques totalement indépendants
d’interagir entre eux, de manière automatique, sans intervention humaine.
✅Elle est parfois considérée comme un contrat entre un fournisseur d'informations et un utilisateur
d'informations, qui permet de définir le contenu demandé au consommateur (l'appel) et le contenu
demandé au producteur (la réponse)
✅Par exemple, l'API conçue pour un service de météo peut demander à l'utilisateur de fournir un code
postal et au producteur de renvoyer une réponse en deux parties : la première concernant la température
maximale et la seconde la température minimale.
01
02
IINTRODUIRE EXPRESS ET NODE JS
1-Rappel du concept des APIs REST
COMMENT FONCTIONNE UNE API?
👉L'API agit comme un serveur de restaurant :
Elle transmet les demandes et renvoie les réponses sans que le client ait besoin de savoir comment
les plats sont préparés.
Client (Frontend) → Fait une commande
(requête API) 📋
Serveur (Backend/API) → Transmet la
commande à la cuisine 👨‍🍳
Cuisine (Base de données ou logique métier)
→ Prépare le plat (traite la demande) 🍲
Serveur (Backend/API) → Ramène le plat au
client (réponse API) ✅
01
02
IINTRODUIRE EXPRESS ET NODE JS
1-Rappel du concept des APIs REST
AVANTAGES DES APIS
1️⃣Facilité d'utilisation
➜ Une API permet d'utiliser un système sans se soucier de son fonctionnement interne. Il suffit d’envoyer
des requêtes et de recevoir des réponses.
2️⃣Spécialisation
➜ Une API est souvent conçue pour un usage précis, ce qui la rend plus facile à comprendre, utiliser et
sécuriser.
01
02
IINTRODUIRE EXPRESS ET NODE JS
1-Rappel du concept des APIs REST
4️⃣Partage de données
➜ Avec une API, vous pouvez partager facilement vos données avec d'autres utilisateurs ou entreprises,
sans donner accès directement à votre base de données.
5️⃣Développement des services et monétisation
➜ Certaines APIs (comme Google Maps) sont utilisées par d'autres entreprises et peuvent être vendues ou
intégrées dans différents services pour générer du revenu.
3️⃣Connexion entre systèmes
➜ Elle permet de relier différentes applications et de faire communiquer des logiciels entre eux, en particulier
dans le cloud ☁️.
01
IINTRODUIRE EXPRESS ET NODE JS
1-Rappel du concept des APIs REST
QU’EST-CE QU’UNE API REST?
Une API REST (Representational State Transfer) est une interface qui permet aux applications de
communiquer entre elles via le protocole HTTP, en respectant un ensemble de principes architecturaux pour
être simple, rapide et flexible.
01
IINTRODUIRE EXPRESS ET NODE JS
1-Rappel du concept des APIs REST
🔹 LES 4 PRINCIPES QUI FORMENT UNE API REST
L’architecture REST repose sur quatre concepts clés, qui permettent de structurer la communication entre
un client et un serveur de manière efficace et cohérente.
1️⃣R – Representational (Représentation des ressources) 📂
Dans une API REST, tout est une ressource (exemple : un utilisateur, un produit, un article de blog).
Ces ressources peuvent être envoyées sous différents formats, comme JSON (le plus courant) ou XML.
✅Pourquoi ?
Cela permet de structurer les données de manière claire.
Un même serveur peut répondre à différents clients avec le format adapté.
01
IINTRODUIRE EXPRESS ET NODE JS
1-Rappel du concept des APIs REST
L’état d’une ressource peut être créé, modifié, supprimé ou récupéré via des méthodes HTTP standard :(GET
,POST,PUT,DELETE)
✅Pourquoi ?
Ces méthodes rendent l’API plus claire et facile à utiliser.
Elles permettent de manipuler les ressources de manière standardisée.
2️⃣S – State (État des ressources) 🔄
01
IINTRODUIRE EXPRESS ET NODE JS
1-Rappel du concept des APIs REST
REST fonctionne en transférant des données entre un client (navigateur, application mobile, autre service) et un
serveur en utilisant le protocole HTTP (HyperText Transfer Protocol),rendant les échanges simples, rapides et
adaptés aux applications web et mobiles.
3️⃣T – Transfer (Transfert des données) 🚀
✅Pourquoi HTTP ?
Universel : utilisé sur tout Internet.
Simple et standardisé : utilise des requêtes comme GET, POST, PUT, DELETE.
Compatible avec tous les systèmes.
01
IINTRODUIRE EXPRESS ET NODE JS
1-Rappel du concept des APIs REST
REST suit un modèle sans état, ce qui signifie que chaque requête envoyée par le client est indépendante et
contient toutes les informations nécessaires pour être traitée.
4️⃣E – Stateless (Sans état) 🛑
Le serveur ne garde pas en mémoire l’état du client entre deux requêtes.
Chaque requête contient toutes les informations requises pour être exécutée.
✅Pourquoi ?
Cela améliore la performance et permet au serveur de gérer un grand nombre d’utilisateurs sans
surcharge.
Chaque requête contient toutes les informations nécessaires pour être traitée.
01
02
IINTRODUIRE EXPRESS ET NODE JS
1-Rappel du concept des APIs REST
COMMENT FONCTIONNE UNE API REST?
Une API REST fonctionne en envoyant des requêtes HTTP à un serveur, qui répond avec des données
formatées en JSON.
01
02
IINTRODUIRE EXPRESS ET NODE JS
2-Rappel des méthodes du protocole HTTP
HTTP (HyperText Transfer Protocol) est le protocole utilisé pour échanger des données sur le web. Il fonctionne
avec différentes méthodes qui indiquent l’action à effectuer sur une ressource.
Les requêtes HTTP utilisent différentes méthodes pour dire au serveur ce qu'on veut faire :
Les méthodes HTTP 🛠️:
GET : Récupérer une ressource (ex : charger une page web, récupérer des données d’une API).
POST : Envoyer des données au serveur (ex : soumettre un formulaire, ajouter un nouvel utilisateur).
PUT : Modifier une ressource existante (ex : mettre à jour un profil utilisateur).
DELETE : Supprimer une ressource (ex : supprimer un compte).
01
02
IINTRODUIRE EXPRESS ET NODE JS
2-Rappel des méthodes du protocole HTTP
Les méthodes HTTP 🛠️:
PATCH : Mettre à jour partiellement une ressource (ex : modifier uniquement le nom d’un utilisateur sans
toucher aux autres informations).
HEAD : Récupérer uniquement les en-têtes d’une ressource, sans le corps de la réponse (utile pour vérifier
si une ressource existe ou obtenir ses métadonnées).
OPTIONS : Demander au serveur quelles méthodes HTTP sont autorisées sur une ressource.
CONNECT : Établir une connexion réseau via un proxy.
TRACE : Tester et diagnostiquer la route entre le client et le serveur en renvoyant la requête telle qu'elle a
été reçue.
01
02
IINTRODUIRE EXPRESS ET NODE JS
3-Définition de l’écosystème Node JS
Node.js : Qu'est-ce que c'est ?
Node.js est un environnement d’exécution permettant d’exécuter du JavaScript côté serveur.
Il est basé sur le moteur V8 de Google Chrome, qui compile JavaScript en code machine pour plus de
rapidité.
Il permet de créer des applications web rapides et évolutives.
🔹Pourquoi utiliser Node.js ?
✅Exécute JavaScript hors du navigateur.
✅Gestion efficace des requêtes asynchrones.
✅Architecture non bloquante (event-driven).
✅Supporte de nombreux frameworks et bibliothèques (Express.js, NestJS...).
01
02
IINTRODUIRE EXPRESS ET NODE JS
3-Définition de l’écosystème Node JS
Node.js : Qu'est-ce que c'est ?
01
02
IINTRODUIRE EXPRESS ET NODE JS
3-Définition de l’écosystème Node JS
Express : Qu'est-ce que c'est ?
Express est un framework Node pour développer la partie Backend
Ainsi il est dorénavant possible de développer des applications fullstackJS
Dans ce module, on va développer des API Rest via Express, Dans un premier temps on va utiliser des
données dans des fichiers JSON, ensuite on va traiter le cas MongoDB et MySQL
01
02
IINTRODUIRE EXPRESS ET NODE JS
4-L’essentiel de Node.js
Les modules : création, exports et import
Un module en Node.js est un fichier JavaScript contenant des fonctions, objets ou variables que l'on peut
partager entre plusieurs fichiers. Les modules permettent de :
✅Organiser le code en plusieurs fichiers,
✅Faciliter la réutilisation,
✅Rendre le code plus lisible et maintenable.
01
1️⃣Créer un fichier JavaScript
Dans un premier temps, nous allons créer un fichier nommé maths.js contenant une fonction add qui calcule la
somme de deux nombres.
2️⃣Définir et exporter des fonctions, objets ou variables
Nous définissons notre fonction sum et l'exportons avec module.exports :
02
IINTRODUIRE EXPRESS ET NODE JS
4-L’essentiel de Node.js
Création d’un module en Node.js
01
3️⃣Importer et utiliser le module
02
IINTRODUIRE EXPRESS ET NODE JS
4-L’essentiel de Node.js
Import d’un module en Node.js
Dans un autre fichier (index.js), on importe notre module avec require et on l’utilise :
01
02
IINTRODUIRE EXPRESS ET NODE JS
4-L’essentiel de Node.js
L'Asynchronisme en Node.js
Node.js est asynchrone et non bloquant. Cela signifie qu'il peut exécuter plusieurs tâches en même
temps sans attendre qu'une tâche se termine avant de passer à la suivante.
pour gérer cela, on utilise :
✅Les callbacks (fonctions de rappel)
✅Les promesses
✅async/await (une façon plus moderne d’écrire du code asynchrone)
01
02
IINTRODUIRE EXPRESS ET NODE JS
4-L’essentiel de Node.js
✅1. Callbacks (Fonctions de rappel)
Un callback est une fonction qui est passée en argument à une autre fonction. Cette technique
permet à une fonction de faire appel à une autre fonction lorsque certaines opérations sont
terminées.
01
02
IINTRODUIRE EXPRESS ET NODE JS
4-L’essentiel de Node.js
✅1. Callbacks (Fonctions de rappel)
Un callback est une fonction passée en argument à une autre fonction. Elle est exécutée une fois que
l’opération asynchrone est terminée.
01
02
IINTRODUIRE EXPRESS ET NODE JS
4-L’essentiel de Node.js
✅1. Callbacks (Fonctions de rappel)
Explication :
Node.js ne bloque pas et continue d'exécuter le code pendant que setTimeout attend.
"Autre tâche exécutée immédiatement" s'affiche avant "Tâche terminée après 3 secondes !".
Le callback (la fonction passée à setTimeout) est exécuté après 3 secondes.
01
02
IINTRODUIRE EXPRESS ET NODE JS
4-L’essentiel de Node.js
⚠️ Problème des callbacks imbriqués : Callback Hell
Quand plusieurs opérations asynchrones s'exécutent les unes après les autres, on doit imbriquer plusieurs
callbacks, ce qui rend le code difficile à lire et à comprendre.
Le code devient illisible car on a plusieurs niveaux d'imbrication.
Plus il y a d'étapes asynchrones, plus le code devient compliqué à gérer.
Si une erreur se produit quelque part, le débogage est difficile.
Solution ➡️ Les Promises ! (qui rendent le code plus propre et plus lisible)
03
CRÉER DES APIS REST
1- API REST exposant des opérations CRUD sur un fichier Json
02
Une API REST est bien un programme qui reçoit des requêtes et envoie des données.
Créer une API REST avec Node.js et Express, c'est :
✅Créer un serveur qui écoute les requêtes HTTP.
✅Créer des routes pour envoyer et recevoir des données.
03
CRÉER DES APIS REST
1- API REST exposant des opérations CRUD sur un fichier Json
02
🔹De quoi est composée une requête API ?
Une requête API contient :
✅Une URL : l’adresse de l’API (ex: https://api.exemple.com/weather)
✅Une méthode HTTP :
GET : récupérer des données
POST : envoyer des données
PUT : mettre à jour des données
DELETE : supprimer des données
✅Des paramètres : précisent les détails de la requête (ex: ville = Casablanca).
✅Des headers : informations supplémentaires (ex: clé d’authentification).
✅Un corps (body) (pour POST et PUT) : les données envoyées au serveur.
03
02
Une API renvoie une réponse contenant :
✅Un code HTTP :
200 → Succès
400 → Mauvaise requête
500 → Erreur serveur
✅Un corps (body) : souvent au format JSON contenant les données demandées.
CRÉER DES APIS REST
1- API REST exposant des opérations CRUD sur un fichier Json
🔹De quoi est composée une réponse API ?
Exemple de requête et réponse avec une API météo :
Requête GET à https://api.weather.com/casablanca
03
02
CRÉER DES APIS REST
1- API REST exposant des opérations CRUD sur un fichier Json
Pour créer une API REST avec Express, la première étape consiste à créer un serveur. Ce serveur est un
programme qui « écoute » sur un port (par exemple, le port 3000) pour recevoir des requêtes HTTP.
Ce code démarre un serveur Express qui attend des requêtes sur le port 3000:
1. Créer un serveur avec Express
03
02
Une fois le serveur créé, il faut définir des routes (ou endpoints).
Une route est une URL associée à une méthode HTTP (GET, POST, PUT, DELETE, etc.) qui décrit une action
spécifique de l'API.
Les endpoints sont les points d'entrée par lesquels le client peut accéder aux données ou aux
fonctionnalités de l'API.
Exemple :
CRÉER DES APIS REST
1- API REST exposant des opérations CRUD sur un fichier Json
2. Créer des routes ou endpoints

Cloud native chapitre 2 presentation.pdf

  • 1.
    C R ÉE R U N E A P P L I C A T I O N C L O U D N A T I V E BENMALOUK ILHAM FILIÈRE DÉVELOPPEMENT DIGITAL – OPTION WEB FULL STACK ‫الشغل‬ ‫إنعاش‬ ‫و‬ ‫المهني‬ ‫التكوين‬ ‫مكتب‬ Office de la Formation Professionnelle et de la Promotion du Travail JANVIER 2025
  • 2.
    01 01 INTRODUIRE LE CLOUDNATIVE Définir le cloud 1. Définir l’approche cloud native 2. 02 CRÉER DES APIS REST SIMPLES EN NODE JS ET EXPRESS JS Introduire Express et Node js 1. Créer des APIs REST 2. Authentifier une API REST avec JWT 3. 03 CRÉER UNE APPLICATION MICROSERVICE S’initier aux architectures microservices 1. Créer une application microservices 2. 04 MANIPULER LES CONTENEURS Appréhender la notion du conteneur • 1. Prendre en main Docker 2. 05 DÉPLOYER UNE APPLICATION CLOUD NATIVE EN AZURE CLOUD Introduire Azure Cloud 1. Déployer en Azure App service 2. S O M M A I R E
  • 3.
    CRÉER DES APISREST SIMPLES EN NODE JS ET EXPRESS JS 2
  • 4.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 1-Rappel du concept des APIs REST QU’EST-CE QU’UNE API? Une API (Application Programming Interface) est une interface qui permet à deux logiciels ou systèmes indépendants de communiquer entre eux de manière standardisée. Elle définit comment une application peut demander des services ou des données à une autre, sans avoir à comprendre comment cette dernière fonctionne en interne.
  • 5.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 1-Rappel du concept des APIs REST QU’EST-CE QU’UNE API? ✅Une API (interface de programmation d'application) est un ensemble de définitions et de protocoles qui facilite la création et l'intégration de logiciels d'applications. ✅l’API est l’intermédiaire permettant à deux systèmes informatiques totalement indépendants d’interagir entre eux, de manière automatique, sans intervention humaine. ✅Elle est parfois considérée comme un contrat entre un fournisseur d'informations et un utilisateur d'informations, qui permet de définir le contenu demandé au consommateur (l'appel) et le contenu demandé au producteur (la réponse) ✅Par exemple, l'API conçue pour un service de météo peut demander à l'utilisateur de fournir un code postal et au producteur de renvoyer une réponse en deux parties : la première concernant la température maximale et la seconde la température minimale.
  • 6.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 1-Rappel du concept des APIs REST COMMENT FONCTIONNE UNE API? 👉L'API agit comme un serveur de restaurant : Elle transmet les demandes et renvoie les réponses sans que le client ait besoin de savoir comment les plats sont préparés. Client (Frontend) → Fait une commande (requête API) 📋 Serveur (Backend/API) → Transmet la commande à la cuisine 👨‍🍳 Cuisine (Base de données ou logique métier) → Prépare le plat (traite la demande) 🍲 Serveur (Backend/API) → Ramène le plat au client (réponse API) ✅
  • 7.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 1-Rappel du concept des APIs REST AVANTAGES DES APIS 1️⃣Facilité d'utilisation ➜ Une API permet d'utiliser un système sans se soucier de son fonctionnement interne. Il suffit d’envoyer des requêtes et de recevoir des réponses. 2️⃣Spécialisation ➜ Une API est souvent conçue pour un usage précis, ce qui la rend plus facile à comprendre, utiliser et sécuriser.
  • 8.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 1-Rappel du concept des APIs REST 4️⃣Partage de données ➜ Avec une API, vous pouvez partager facilement vos données avec d'autres utilisateurs ou entreprises, sans donner accès directement à votre base de données. 5️⃣Développement des services et monétisation ➜ Certaines APIs (comme Google Maps) sont utilisées par d'autres entreprises et peuvent être vendues ou intégrées dans différents services pour générer du revenu. 3️⃣Connexion entre systèmes ➜ Elle permet de relier différentes applications et de faire communiquer des logiciels entre eux, en particulier dans le cloud ☁️.
  • 9.
    01 IINTRODUIRE EXPRESS ETNODE JS 1-Rappel du concept des APIs REST QU’EST-CE QU’UNE API REST? Une API REST (Representational State Transfer) est une interface qui permet aux applications de communiquer entre elles via le protocole HTTP, en respectant un ensemble de principes architecturaux pour être simple, rapide et flexible.
  • 10.
    01 IINTRODUIRE EXPRESS ETNODE JS 1-Rappel du concept des APIs REST 🔹 LES 4 PRINCIPES QUI FORMENT UNE API REST L’architecture REST repose sur quatre concepts clés, qui permettent de structurer la communication entre un client et un serveur de manière efficace et cohérente. 1️⃣R – Representational (Représentation des ressources) 📂 Dans une API REST, tout est une ressource (exemple : un utilisateur, un produit, un article de blog). Ces ressources peuvent être envoyées sous différents formats, comme JSON (le plus courant) ou XML. ✅Pourquoi ? Cela permet de structurer les données de manière claire. Un même serveur peut répondre à différents clients avec le format adapté.
  • 11.
    01 IINTRODUIRE EXPRESS ETNODE JS 1-Rappel du concept des APIs REST L’état d’une ressource peut être créé, modifié, supprimé ou récupéré via des méthodes HTTP standard :(GET ,POST,PUT,DELETE) ✅Pourquoi ? Ces méthodes rendent l’API plus claire et facile à utiliser. Elles permettent de manipuler les ressources de manière standardisée. 2️⃣S – State (État des ressources) 🔄
  • 12.
    01 IINTRODUIRE EXPRESS ETNODE JS 1-Rappel du concept des APIs REST REST fonctionne en transférant des données entre un client (navigateur, application mobile, autre service) et un serveur en utilisant le protocole HTTP (HyperText Transfer Protocol),rendant les échanges simples, rapides et adaptés aux applications web et mobiles. 3️⃣T – Transfer (Transfert des données) 🚀 ✅Pourquoi HTTP ? Universel : utilisé sur tout Internet. Simple et standardisé : utilise des requêtes comme GET, POST, PUT, DELETE. Compatible avec tous les systèmes.
  • 13.
    01 IINTRODUIRE EXPRESS ETNODE JS 1-Rappel du concept des APIs REST REST suit un modèle sans état, ce qui signifie que chaque requête envoyée par le client est indépendante et contient toutes les informations nécessaires pour être traitée. 4️⃣E – Stateless (Sans état) 🛑 Le serveur ne garde pas en mémoire l’état du client entre deux requêtes. Chaque requête contient toutes les informations requises pour être exécutée. ✅Pourquoi ? Cela améliore la performance et permet au serveur de gérer un grand nombre d’utilisateurs sans surcharge. Chaque requête contient toutes les informations nécessaires pour être traitée.
  • 14.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 1-Rappel du concept des APIs REST COMMENT FONCTIONNE UNE API REST? Une API REST fonctionne en envoyant des requêtes HTTP à un serveur, qui répond avec des données formatées en JSON.
  • 15.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 2-Rappel des méthodes du protocole HTTP HTTP (HyperText Transfer Protocol) est le protocole utilisé pour échanger des données sur le web. Il fonctionne avec différentes méthodes qui indiquent l’action à effectuer sur une ressource. Les requêtes HTTP utilisent différentes méthodes pour dire au serveur ce qu'on veut faire : Les méthodes HTTP 🛠️: GET : Récupérer une ressource (ex : charger une page web, récupérer des données d’une API). POST : Envoyer des données au serveur (ex : soumettre un formulaire, ajouter un nouvel utilisateur). PUT : Modifier une ressource existante (ex : mettre à jour un profil utilisateur). DELETE : Supprimer une ressource (ex : supprimer un compte).
  • 16.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 2-Rappel des méthodes du protocole HTTP Les méthodes HTTP 🛠️: PATCH : Mettre à jour partiellement une ressource (ex : modifier uniquement le nom d’un utilisateur sans toucher aux autres informations). HEAD : Récupérer uniquement les en-têtes d’une ressource, sans le corps de la réponse (utile pour vérifier si une ressource existe ou obtenir ses métadonnées). OPTIONS : Demander au serveur quelles méthodes HTTP sont autorisées sur une ressource. CONNECT : Établir une connexion réseau via un proxy. TRACE : Tester et diagnostiquer la route entre le client et le serveur en renvoyant la requête telle qu'elle a été reçue.
  • 17.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 3-Définition de l’écosystème Node JS Node.js : Qu'est-ce que c'est ? Node.js est un environnement d’exécution permettant d’exécuter du JavaScript côté serveur. Il est basé sur le moteur V8 de Google Chrome, qui compile JavaScript en code machine pour plus de rapidité. Il permet de créer des applications web rapides et évolutives. 🔹Pourquoi utiliser Node.js ? ✅Exécute JavaScript hors du navigateur. ✅Gestion efficace des requêtes asynchrones. ✅Architecture non bloquante (event-driven). ✅Supporte de nombreux frameworks et bibliothèques (Express.js, NestJS...).
  • 18.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 3-Définition de l’écosystème Node JS Node.js : Qu'est-ce que c'est ?
  • 19.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 3-Définition de l’écosystème Node JS Express : Qu'est-ce que c'est ? Express est un framework Node pour développer la partie Backend Ainsi il est dorénavant possible de développer des applications fullstackJS Dans ce module, on va développer des API Rest via Express, Dans un premier temps on va utiliser des données dans des fichiers JSON, ensuite on va traiter le cas MongoDB et MySQL
  • 20.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 4-L’essentiel de Node.js Les modules : création, exports et import Un module en Node.js est un fichier JavaScript contenant des fonctions, objets ou variables que l'on peut partager entre plusieurs fichiers. Les modules permettent de : ✅Organiser le code en plusieurs fichiers, ✅Faciliter la réutilisation, ✅Rendre le code plus lisible et maintenable.
  • 21.
    01 1️⃣Créer un fichierJavaScript Dans un premier temps, nous allons créer un fichier nommé maths.js contenant une fonction add qui calcule la somme de deux nombres. 2️⃣Définir et exporter des fonctions, objets ou variables Nous définissons notre fonction sum et l'exportons avec module.exports : 02 IINTRODUIRE EXPRESS ET NODE JS 4-L’essentiel de Node.js Création d’un module en Node.js
  • 22.
    01 3️⃣Importer et utiliserle module 02 IINTRODUIRE EXPRESS ET NODE JS 4-L’essentiel de Node.js Import d’un module en Node.js Dans un autre fichier (index.js), on importe notre module avec require et on l’utilise :
  • 23.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 4-L’essentiel de Node.js L'Asynchronisme en Node.js Node.js est asynchrone et non bloquant. Cela signifie qu'il peut exécuter plusieurs tâches en même temps sans attendre qu'une tâche se termine avant de passer à la suivante. pour gérer cela, on utilise : ✅Les callbacks (fonctions de rappel) ✅Les promesses ✅async/await (une façon plus moderne d’écrire du code asynchrone)
  • 24.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 4-L’essentiel de Node.js ✅1. Callbacks (Fonctions de rappel) Un callback est une fonction qui est passée en argument à une autre fonction. Cette technique permet à une fonction de faire appel à une autre fonction lorsque certaines opérations sont terminées.
  • 25.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 4-L’essentiel de Node.js ✅1. Callbacks (Fonctions de rappel) Un callback est une fonction passée en argument à une autre fonction. Elle est exécutée une fois que l’opération asynchrone est terminée.
  • 26.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 4-L’essentiel de Node.js ✅1. Callbacks (Fonctions de rappel) Explication : Node.js ne bloque pas et continue d'exécuter le code pendant que setTimeout attend. "Autre tâche exécutée immédiatement" s'affiche avant "Tâche terminée après 3 secondes !". Le callback (la fonction passée à setTimeout) est exécuté après 3 secondes.
  • 27.
    01 02 IINTRODUIRE EXPRESS ETNODE JS 4-L’essentiel de Node.js ⚠️ Problème des callbacks imbriqués : Callback Hell Quand plusieurs opérations asynchrones s'exécutent les unes après les autres, on doit imbriquer plusieurs callbacks, ce qui rend le code difficile à lire et à comprendre. Le code devient illisible car on a plusieurs niveaux d'imbrication. Plus il y a d'étapes asynchrones, plus le code devient compliqué à gérer. Si une erreur se produit quelque part, le débogage est difficile. Solution ➡️ Les Promises ! (qui rendent le code plus propre et plus lisible)
  • 28.
    03 CRÉER DES APISREST 1- API REST exposant des opérations CRUD sur un fichier Json 02 Une API REST est bien un programme qui reçoit des requêtes et envoie des données. Créer une API REST avec Node.js et Express, c'est : ✅Créer un serveur qui écoute les requêtes HTTP. ✅Créer des routes pour envoyer et recevoir des données.
  • 29.
    03 CRÉER DES APISREST 1- API REST exposant des opérations CRUD sur un fichier Json 02 🔹De quoi est composée une requête API ? Une requête API contient : ✅Une URL : l’adresse de l’API (ex: https://api.exemple.com/weather) ✅Une méthode HTTP : GET : récupérer des données POST : envoyer des données PUT : mettre à jour des données DELETE : supprimer des données ✅Des paramètres : précisent les détails de la requête (ex: ville = Casablanca). ✅Des headers : informations supplémentaires (ex: clé d’authentification). ✅Un corps (body) (pour POST et PUT) : les données envoyées au serveur.
  • 30.
    03 02 Une API renvoieune réponse contenant : ✅Un code HTTP : 200 → Succès 400 → Mauvaise requête 500 → Erreur serveur ✅Un corps (body) : souvent au format JSON contenant les données demandées. CRÉER DES APIS REST 1- API REST exposant des opérations CRUD sur un fichier Json 🔹De quoi est composée une réponse API ? Exemple de requête et réponse avec une API météo : Requête GET à https://api.weather.com/casablanca
  • 31.
    03 02 CRÉER DES APISREST 1- API REST exposant des opérations CRUD sur un fichier Json Pour créer une API REST avec Express, la première étape consiste à créer un serveur. Ce serveur est un programme qui « écoute » sur un port (par exemple, le port 3000) pour recevoir des requêtes HTTP. Ce code démarre un serveur Express qui attend des requêtes sur le port 3000: 1. Créer un serveur avec Express
  • 32.
    03 02 Une fois leserveur créé, il faut définir des routes (ou endpoints). Une route est une URL associée à une méthode HTTP (GET, POST, PUT, DELETE, etc.) qui décrit une action spécifique de l'API. Les endpoints sont les points d'entrée par lesquels le client peut accéder aux données ou aux fonctionnalités de l'API. Exemple : CRÉER DES APIS REST 1- API REST exposant des opérations CRUD sur un fichier Json 2. Créer des routes ou endpoints