Cours Cacn Part2
Cours Cacn Part2
1
Partie 1: Introduction de cloud native
Définir le cloud
Définir l’approche cloud native
2
Chapitre 1: Définir le cloud
1. Concept du cloud et ses avantages
• Le terme « cloud » désigne les serveurs accessibles sur Internet, ainsi que les logiciels et bases de données
qui fonctionnent sur ces serveurs.
• Les serveurs situés dans le cloud sont hébergés au sein de datacenters répartis dans le monde entier.
• Grâce au cloud computing(informatique cloud) , utilisateurs et entreprises n'ont plus besoin de gérer eux-
mêmes des serveurs physiques ou d'installer des applications sur leurs propres équipements.
3
• Le cloud permet aux utilisateurs d'accéder aux mêmes fichiers et aux mêmes applications à partir de
presque n'importe quel appareil, car les processus informatiques et le stockage ont lieu sur des serveurs
dans un datacenter et non localement sur la machine utilisateur.
• C'est pourquoi vous pouvez vous connecter votre compte Instagram à partir de n’importe quel appareil,
avec toutes vos photos, vidéos et l'historique de vos conversations. Il en va de même avec les
fournisseurs de messagerie cloud comme Gmail ou Microsoft Office 365 et les fournisseurs de stockage
cloud comme Dropbox ou Google Drive.
• Pour les entreprises, le passage au cloud computing supprime certains coûts et frais informatiques : par
exemple, les sociétés n'ont plus besoin de mettre à jour et d'entretenir leurs propres serveurs, c'est le
fournisseur de cloud qui s'en charge.
4
Serveur informatique vs cloud : quelle solution de stockage de données choisir pour une entreprise ?
Le choix du stockage des données est crucial pour les entreprises face à l'augmentation continue des volumes
d'informations. Une gestion efficace des documents et des données est essentielle pour rester compétitif.
Un serveur est un ordinateur puissant installé dans vos locaux, conçu pour gérer et stocker les données de
votre entreprise. Il connecte les postes des employés (ordinateurs clients) et leur fournit différents services :
– L’accès à Internet,
– Le partage de fichiers,
– Le partage d’imprimantes,
– Le stockage en base de données ,
– La mise à disposition d’applications, etc.
5
Les limites du serveur informatique:
Coûts élevés
• Achat initial du serveur et des équipements réseau.
• Coûts de maintenance régulière et mise à jour des systèmes.
• Besoin d’une équipe spécialisée pour gérer le serveur.
6
Le cloud computing doit posséder 4 caractéristiques essentielles :
• Le service doit être en libre-service à la demande : Cela signifie que les utilisateurs ont la possibilité
d'accéder au service quand ils en ont besoin, sans nécessiter l'intervention humaine d'un fournisseur de
service.
Exemple: Un étudiant utilise Google Drive pour enregistrer ses fichiers. Il peut créer un dossier ou
ajouter un nouveau document à tout moment, simplement en se connectant à son compte, sans avoir
besoin de demander de l’aide à un technicien ou à Google.
Exemple : Sur Google Cloud, une entreprise peut suivre combien d’espace de stockage ou de temps
de calcul elle a utilisé pour son projet. Elle reçoit une facture détaillée chaque mois basée sur ces
paramètres mesurés.
• Il doit y avoir une mutualisation des ressources : Cela signifie que les ressources (comme les
serveurs, les réseaux, ou les bases de données) sont partagées entre plusieurs utilisateurs ou applications,
permettant une utilisation efficace et économique.
• Il doit être rapidement élastique (adaptation rapide à une variation du besoin) :Le service peut
augmenter ou réduire ses ressources rapidement pour répondre à la demande ou des besoins des
utilisateurs.
7
• Les avantages du Cloud
8
2. Exemple des fournisseurs cloud
Les 10 premiers fournisseurs mondiaux de cloud en termes de revenus totaux pour le trimestre fiscal se
terminant le 31 mars 2021 (en milliards de dollars américains).
9
3. Différence entre cloud privé, public et hybride
Cloud public
• Les clouds publics sont généralement des environnements cloud créés à partir d'une infrastructure
informatique qui n'appartient pas à l'utilisateur final.
• Alibaba Cloud, Microsoft Azure, Google Cloud, Amazon Web Services (AWS) et IBM Cloud sont les
principaux fournisseurs de cloud public.
• Les clouds publics étaient habituellement exécutés hors site, où les ressources comme les serveurs et
le stockage sont gérés par des fournisseurs externes(c‘est comme louer de l'espace sur Internet pour
faire fonctionner vos logiciels et stocker vos fichiers, sans avoir à gérer vous-même les infrastructures
physiques.)
10
Cloud privé
• Les clouds privés sont généralement définis comme des environnements cloud spécifiques à un
utilisateur final ou à un groupe, et sont habituellement exécutés derrière le pare-feu de l'utilisateur ou
du groupe, ce qui signifie que l'accès aux ressources du cloud privé est limité et sécurisé.
• Tous les clouds deviennent des clouds privés lorsque l'infrastructure informatique sous-jacente est
spécifique à un client unique, avec un accès entièrement isolé.
11
Caractéristiques clés du Cloud Privé :
• Les ressources (serveurs, stockage) ne sont pas partagées avec d'autres utilisateurs.
• L'infrastructure est généralement protégée par un pare-feu pour empêcher tout accès non autorisé.
Et les utilisateurs autorisés (par exemple, les employés d'une entreprise) peuvent accéder à ces
ressources via des connexions sécurisées.
Exemple
Une entreprise ayant des données sensibles (par exemple, des informations financières) peut choisir
d'utiliser un cloud privé pour héberger ces données.
L'entreprise peut utiliser des serveurs spécifiquement pour elle. Ces serveurs sont protégés par des
systèmes de sécurité avancés, et seul le personnel autorisé peut y accéder via des connexions
sécurisées..
12
Cloud hybride
Le cloud hybride est une combinaison de cloud public et de cloud privé, où une organisation utilise à la fois
des ressources dans le cloud public et dans le cloud privé, tout en permettant la communication et le partage
de données entre les deux environnements.
En d'autres termes, une entreprise peut garder certaines données ou applications dans un cloud privé pour des
raisons de sécurité et de contrôle, tout en utilisant un cloud public pour d'autres besoins moins sensibles,
comme le stockage de fichiers non confidentiels ou l'hébergement d'applications.
13
4. Services du cloud (IAAS, PAAS, SAAS)
As-a-Service : définition
Le concept "As-a-Service" désigne les services cloud fournis à la demande, souvent facturés selon une
utilisation réelle. Ce modèle permet de déléguer la gestion de l’infrastructure, afin que les entreprises
puissent se concentrer sur leurs activités principales, telles que :
- IaaS (Infrastructure-as-a-Service)
- PaaS (Platform-as-a-Service)
- SaaS (Software-as-a-Service).
14
IaaS : Infrastructure as a Service
Exemple
Hébergement d’applications : Une entreprise de développement de
logiciels utilise Amazon Web Services (AWS) pour héberger ses
applications, plutôt que d'acheter des serveurs physiques.
Stockage et sauvegarde : Une entreprise sauvegarde ses données
critiques sur Microsoft Azure pour éviter les risques liés aux pannes
matérielles.
15
• Test et développement :Les développeurs utilisent des machines virtuelles sur Google Cloud Platform
pour tester de nouvelles applications sans investir dans des équipements coûteux.
L'IaaS est le modèle Cloud « as a Service » le plus flexible et libre, il apporte aux utilisateurs tous les
avantages des ressources informatiques sur site, sans les actions et frais de gestion de l’infrastructure
En effet, il facilite la mise à l'échelle, la mise à niveau et permet d'ajouter des ressources, par exemple le
stockage dans le Cloud
16
PaaS : Platform as a Service
Exemple :
• Développer une application en utilisant Google App Engine ou
Heroku, où le développeur se concentre uniquement sur le code.
17
• Idéalement destiné aux développeurs et aux programmeurs, le PaaS fournit une plateforme simple et
évolutive permettant aux utilisateurs d’exécuter et gérer leurs propres applications, sans avoir à créer ni
entretenir l'infrastructure ou la plateforme généralement associée au processus
Environnement de développement simplifié.
Gestion automatique de l'infrastructure.
Réduction des tâches d'administration.
18
SaaS : Software as a Service
Exemple :
• Google Workspace: Fournit des applications comme Gmail, Google
Drive, Google Docs, et Google Meet, accessibles via un navigateur.
• Microsoft 365 : Offre des outils comme Word, Excel, et Teams,
accessibles depuis le cloud
19
SaaS : Software as a Service
Le SaaS constitue une option intéressante pour les PME qui n'ont pas les ressources humaines pour gérer
l'installation et le suivi de l’installation des mises à jour de sécurité et logiciels.
Par ailleurs, il est à noter que le modèle SaaS réduit le niveau de contrôle et peut nuire à la sécurité et
aux performances
=> Il convient donc de choisir soigneusement votre fournisseur Cloud
20
Chapitre 2: Définir l’approche cloud native
1. Définition
21
Fonctionnement
L’approche Cloud Native repose sur quatre piliers qui sont liés.
• Les conteneurs : (comme Docker) permettent d’emballer une application avec toutes ses dépendances
dans un format portable. Ils garantissent que l'application fonctionne de manière cohérente dans tous
les environnements (développement, test, production).
• DevOps: La culture DevOps intègre les équipes de développement et d’exploitation pour accélérer les
livraisons et améliorer la qualité des logiciels.
• Continuous Delivery (CD) : Les processus de Continuous Delivery permettent l’automatisation des
étapes de build, test, et déploiement. Cela garantit une livraison fréquente et rapide des nouvelles
fonctionnalités sans interruption de service.
22
2. Avantages
23
• Netflix, Uber et WeChat exposent des systèmes natifs Cloud qui se composent de nombreux services
indépendants. Ce style architectural leur permet de répondre rapidement aux conditions du marché.
Elles mettent instantanément à jour de petites zones d’une application complexe en service, sans
redéploiement complet. Elles mettent à l’échelle individuellement les services en fonction des besoins.
24
3. Vue générale sur les caractéristiques du cloud natif
L'approche Cloud Native repose sur une combinaison de microservices, conteneurs et livraison continue .
Cela permet de créer des applications flexibles, scalables et résilientes tout en facilitant leur déploiement et
gestion à travers la culture DevOps. Ces pratiques assurent une réactivité et une efficacité accrues dans un
environnement cloud dynamique
25
Automatisation des processus du développement et de déploiement:
• Comme l’approche DevOps, le Cloud Native cherche à rassembler les équipes Dev et Ops autour d’un
objectif commun long terme : celui de la création de valeur business par les applications.
• L’approche DevOps permet de converger vers une approche Cloud Native avec l’automatisation des
processus et des technologies entre les équipes, de façon à intégrer plus rapidement les innovations
dans les cycles de développement et de déploiement d’une application Cloud Native.
• En parallèle du Cloud Native, l’adoption des méthodes Agiles va permettre d’intégrer les équipes
métier dans cette collaboration avec les équipes techniques et de développement. L’idée est de
collaborer pour délivrer une itération en améliorant le produit à chaque livraison de façon continue.
26
Les microservices
• Les microservices désignent à la fois une architecture et une approche de développement logiciel qui
consiste à décomposer les applications en éléments les plus simples, indépendants les uns des autres.
Contrairement à une approche monolithique classique, selon laquelle tous les composants forment une
entité indissociable, les microservices fonctionnent en synergie pour accomplir les mêmes tâches, tout
en étant séparés.
• Pour communiquer entre eux, les microservices d'une application utilisent le modèle de
communication requête-réponse. L'implémentation typique utilise des appels API REST basés sur le
protocole HTTP. Les procédures internes (appels de fonctions) facilitent la communication entre les
composants de l'application.
27
Les Conteneurs
28
Partie 2: Création des APIs REST simple en
node js et express js
29
Chapitre 1:Introduire Express et Node js
Une API (Interface de Programmation d'Application) est un outil qui permet à deux systèmes
informatiques différents de communiquer automatiquement, sans intervention humaine.
Elle agit comme un pont, facilitant l'échange d'informations entre un fournisseur (qui donne les
données) et un utilisateur (qui les utilise). On peut la voir comme un contrat précisant ce que
l'utilisateur demande (appel) et ce que le fournisseur répond (réponse).
30
Avantages des APIs
Simplicité d'interaction : Les APIs permettent d'interagir avec un système sans avoir à
comprendre sa complexité ou son fonctionnement interne. Par exemple, tu peux afficher une
carte Google Maps sur ton site web sans savoir comment Google construit ses cartes.
Spécialisation et simplicité d'utilisation : Chaque API est souvent conçue pour un cas d'usage
précis, ce qui la rend facile à comprendre, à utiliser et à sécuriser. Par exemple, une API météo
te permet d'afficher uniquement la température et les prévisions pour une ville donnée.
Partage de données : Les APIs facilitent le partage sécurisé de vos données avec vos clients et
d'autres utilisateurs externes. Par exemple, une banque utilise une API pour permettre à ses
clients de consulter leur solde via une application mobile ou un site tiers, tout en garantissant la
sécurité des données partagées.
31
l'API REST ?
• Roy Fielding a créé REST (Representational State Transfer), un style architectural très utilisé pour
développer des services web.
• API REST permet à différents systèmes informatiques de communiquer entre eux via le protocole
HTTP de manière simple et efficace.
• API REST expose un ensemble d'URLs (endpoints) représentant différentes ressources, ainsi que
des méthodes HTTP standard comme GET, POST, PUT, DELETE pour effectuer des opérations sur
ces ressources. Par exemple, en utilisant une API REST, vous pouvez envoyer une requête HTTP
GET à une URL spécifique pour récupérer des données, ou une requête POST pour créer de
nouvelles données sur le serveur.
• Exemple: Une requête GET sur https://api.exemple.com/utilisateurs pourrait renvoyer la liste des
utilisateurs au format JSON.
32
Comment fonctionne une API REST?
• REST détermine comment organiser et structurer les URLs (endpoints) pour représenter des
ressources.
• Chaque URL est connue sous le nom de demande (request), tandis que les données renvoyées sont
appelées réponse (response).
• Une API REST exploite les méthodes HTTP pour effectuer différentes actions sur les ressources
33
2. Rappel des méthodes du protocole http
HTTP (Hypertext Transfer Protocol) est créé pour fournir la communication entre les clients et le
serveur. Il fonctionne en tant qu’une requête et une réponse. Il existe deux méthodes HTTP
principalement utilisées: GET et POST
La méthode GET
La méthode GET de HTTP demande des données d’une source spécifiée. Les demandes GET peuvent
être mises en cache et rester dans l'historique du navigateur. Il ne doit jamais être utilisé lorsque vous
travaillez sur des données sensibles.
La méthode POST
La méthode POST envoie les données à traiter à une source spécifiée. Contrairement à la méthode
GET, les requêtes POST ne sont jamais paramétrées, elles ne restent pas dans l'historique du navigateur
et il est plus sécurisé pour des données sensibles.
34
Comparaison des méthodes GET et POST
GET POST
But principal Récupérer des données. Envoyer des données pour traitement.
Les paramètres sont visibles dans Les paramètres sont dans le corps de la
Visibilité dans l'URL
l'URL. requête.
Reste dans l’historique de Ne reste pas dans l’historique de
Historique
navigateur. navigateur.
Cacheable Oui, peut être mis en cache. Non, n'est pas mis en cache.
35
Outre les méthodes GET et POST, il existe d'autres méthodes.
Méthodes Descriptions
PUT Remplacer ou modifier une ressource existante
36
3. Définition de l’écosystème Node JS
Au cours de ses 20 premières années, JavaScript a été utilisé principalement pour les scripts côté client.
Étant donné que JavaScript ne pouvait être utilisé qu’à l’intérieur de la balise <script>, les développeurs
devaient travailler dans plusieurs langages et frameworks entre les composants frontend et backend. Plus
tard est apparu Node.js, qui est un environnement d’exécution comprenant tout ce qui est nécessaire pour
exécuter un programme écrit en JavaScript.
Node.js est un environnement pour développer et déployer des applications web à base du Javascript.
Il fonctionne avec le moteur d’exécution JavaScript V8 et utilise une architecture d’E / S non bloquante et
pilotée par les événements, ce qui le rend efficace et adapté aux applications en temps réel.
37
• Environnement d'exécution single-thread :
Lorsque l'on dit que Node.js est single-thread, cela signifie qu'il utilise un seul thread (fil d'exécution)
pour traiter les requêtes et exécuter le code. Contrairement à certains environnements d'exécution,
comme les serveurs traditionnels qui utilisent un modèle multi-thread pour gérer les connexions,
Node.js utilise un seul thread pour gérer toutes les opérations.
• Open-source et multi-plateforme :
Node.js est open-source, ce qui signifie que son code source est disponible publiquement et que toute
personne peut contribuer à son développement et l'améliorer.
Il est également multi-plateforme, ce qui signifie qu'il peut fonctionner sur différentes plates-formes
matérielles et logicielles, telles que Windows, macOS et Linux.
Node.js est utilisé pour développer des applications côté serveur, ce qui signifie qu'il gère les requêtes
provenant des clients (comme les navigateurs web) et fournit des réponses appropriées..
38
• Moteur d'exécution JavaScript V8 :
V8 est le moteur d'exécution JavaScript développé par Google et utilisé par Node.js pour exécuter du code
JavaScript. Il convertit le code JavaScript en code machine exécutable par l'ordinateur.
L'E/S (Entrée/Sortie) se réfère aux opérations de lecture et d'écriture de données depuis ou vers un
périphérique, tel qu'un disque dur ou un réseau. Dans Node.js, ces opérations sont gérées de manière non
bloquante, ce qui signifie que le thread principal peut continuer à exécuter d'autres tâches pendant que les
opérations d'E/S sont en cours.
De plus, Node.js utilise une architecture pilotée par les événements, où les opérations sont déclenchées par
des événements, tels que les requêtes HTTP entrantes. Cette approche permet à Node.js de réagir
rapidement aux événements et de traiter de multiples requêtes simultanément sans bloquer le thread
principal.
39
• Node.js utilise l’architecture « Single Threaded Event Loop » pour gérer plusieurs clients
en même temps.( c-a-d dans ce modèle, il y a un seul thread (le thread principal) qui gère
toutes les requêtes entrantes et les événements, et le serveur utilise une boucle
d'événements (Event Loop) pour traiter les requêtes de manière asynchrone et non
bloquante.
40
Caractéristiques de Node.js
Node.js a connu une croissance rapide au cours des dernières années. Cela est dû à la vaste liste de
fonctionnalités qu’il offre :
41
Quelques entreprises des plus populaires qui utilisent Node.js aujourd’hui :
Twitter, Spotify , eBay, LinkedIn
Applications de Node.js
Node.js est utilisé pour une grande variété d’applications. Explorons quelques cas d’utilisation
populaires où Node.js est un bon choix :
Applications de Streaming
Exemples : Services de streaming vidéo ou audio (comme Netflix ou Spotify).
42
Qu’est-ce qu’Express.js ?
Express.js, parfois aussi appelé « Express », est un framework backend Node.js minimaliste et rapide
qui offre des fonctionnalités et des outils robustes pour développer des applications backend
évolutives. Il vous offre le système de routage et des fonctionnalités simplifiées pour étendre le
framework en développant des composants et des parties plus puissants en fonction des cas
d’utilisation de votre application.
43
4. Configuration de l’environnement de développement
Installation de Node.js
Tout d’abord, nous devons télécharger le fichier Windows Installer (.msi) depuis le site officiel de Node.js.
Ce fichier d’installation MSI contient une collection de fichiers d’installation essentiels pour installer,
mettre à jour ou modifier la version existante de Node.js.
Le programme d’installation contient également le gestionnaire de paquets Node.js (npm). Cela signifie
que vous n’avez pas besoin d’installer npm séparément.
44
Installation de Node.js
Commencer le processus d’installation: Une fois que vous avez ouvert et exécuté le fichier.msi, le
processus d’installation commence.
Node.js vous offre des options pour installer des outils pour les modules natifs. Si vous êtes intéressé par
ces derniers, cliquez sur la case à cocher pour marquer vos préférences, ou cliquez sur Suivant pour
continuer avec la valeur par défaut :
45
Installation de Node.js
46
Installation de Node.js
Pour vérifier l’installation et confirmer que la bonne version a été installée, ouvrez l’invite de commande
votre PC et saisissez la commande suivante :
node –v
npm –v
47
Généralement vous aurez besoin des commandes suivantes :
48
Etape 1 : Création du fichier package.json
A la fin de cette étape, nous aurons Un fichier package.json contant les paramètres du projet ainsi
que les dépendances future.
49
Etape 2 : Installation du serveur Express
Pour installer le framework Express dans le projet, il faut exécuter la commande suivante :
50
Pourquoi est ce qu’on a besoin d’ajouter la dépendance dans package.json?
Le fichier package.json répertorie toutes les dépendances (bibliothèques) utilisées dans le projet, ainsi que
leurs versions spécifiques. Cela permet à d'autres développeurs de savoir quelles dépendances sont
nécessaires pour faire fonctionner l'application. Aussi, en spécifiant les dépendances dans package.json,
vous assurez la répétabilité de l'environnement de développement. Cela signifie qu'un autre développeur
(ou vous-même sur un autre système) peut installer exactement les mêmes versions des dépendances, ce
qui garantit un comportement cohérent de l'application.
51
Etape 3 : Lancement du serveur Express
En Node.js, un module est simplement un fichier JavaScript contenant des fonctions, des objets ou des
variables que vous souhaitez partager entre plusieurs fichiers. Les modules vous permettent de
modulariser votre code, de le rendre plus facile à comprendre et de le réutiliser facilement.
Les fichiers de module sont fondamentaux pour organiser et structurer une application Node.js en
modules réutilisables et autonomes.
53
Etape 3: Importer le module : Pour utiliser le module dans un autre fichier JavaScript, vous devez
l'importer en utilisant la syntaxe require. Par exemple, pour utiliser le module "sum.js" que nous avons
créé ci-dessus, vous pouvez l'importer dans un autre fichier JavaScript en écrivant :
Dans cet exemple, nous avons importé le module "sum.js" à l'aide de l'instruction require en passant le
chemin relatif vers le fichier "sum.js". Nous avons ensuite utilisé la fonction sum exportée par le module
pour calculer la somme de deux nombres.
En résumé, pour créer un module en Node.js, vous devez définir les fonctions, les objets ou les variables
que vous souhaitez exporter dans un fichier JavaScript, utiliser la syntaxe module.exports pour exporter
le code, puis importer le module dans d'autres fichiers JavaScript à l'aide de l'instruction require.
54
Depuis l'arrivée de la norme ES6 du langage, une nouvelle directive est apparue : il s'agit de la directive
"import". Cette directive apporte de nouveaux avantages mais nécessite que le module que vous importiez
la prenne en charge.
55
Dans NodeJS, il peut y avoir une confusion entre les deux directives. Par exemple, pour la plateforme
Express JS, on trouve sur internet des morceaux de code avec les deux directives.
Pourtant, la plateforme Express ne gère pas la directive "import". Si vous essayez cette directive sans
avoir installé d'autres modules, vous obtiendrez le message d'erreur "express has no default export". La
raison pour laquelle la directive "import" va fonctionner dans certains codes est la présence d'une autre
librairie, Babel.
Utilisation de Babel :
Babel est un transcompilateur JavaScript qui permet de convertir du code écrit dans des versions plus
récentes de JavaScript (comme ES6/ES2015 et au-delà) en code JavaScript compatible avec des
environnements plus anciens ou des environnements qui ne prennent pas encore en charge ces
fonctionnalités.
L'une des fonctionnalités de Babel est la capacité à transformer automatiquement les instructions
"import" en instructions "require" lorsque vous utilisez ES6 dans votre code et que vous exécutez votre
application Node.js.
56
Les bibliothèques standard Node.js : Voici la liste des bibliothèques contenues dans Node.js
considérées comme stables:
57
Suite des bibliothèques standards Node.js
58
Chapitre 2: Créer des APIs REST
Etant donné que nous n’avons aucune route configuré, sur le navigateur, si on tape 127.0.0.1:80: on aura
le message d’erreur suivant:
Une fois que le serveur est lancé, on pourra développer nos API Rest, deux étapes sont nécessaires :
59
Etape 1 : Présentation de notre source de données
Nous allons considérer un fichier equipes.json contenant un ensemble d’équipes de foot. L’objectifs
de cette section est d’exposer les opérations CRUD(Create, Remove, Update,Display) sur cette
source de données
Ainsi les routes que nous allons considérer sont les suivantes:
GET /equipes(display)
GET /equipes/:id (display)
POST /equipes(create)
PUT /equipes/:id (update)
DELETE /equipes/:id (remove)
60
2. Test de l’API REST avec Postman
61
Postman, c'est quoi ?
Postman est officiellement présentée comme une plateforme API pour la création et l’utilisation d’API.
D’une manière générale, Postman est une plateforme qui permet de simplifier chaque étape du cycle de
vie des API et de rationaliser la collaboration, afin de créer, plus facilement et plus rapidement, de
meilleures API.
la possibilité d’utiliser la plateforme, quel que soit le langage utilisé pour la programmation des API
une interface utilisateur assez simple et facile à prendre en main
l’absence de compétences nécessaires en codage.
62
Comment marche Postman ?
Le fonctionnement de Postman se résume le plus souvent à formuler une requête en suivant la structure
spécifique (Verbe http + URI + Version http + Headers + Body) puis à obtenir une réponse.
Le code de réponse HTTP délivré par la plateforme informe ensuite le développeur du statut de la
réponse : "200 OK" pour une requête réussie, "404 Not Found" pour un échec, etc.
Postman est compatible avec les différents systèmes d’exploitation (Linux, Windows et OS X). Pour
télécharger Postman, il suffit de se rendre sur le site internet officiel de la plateforme.
https://www.postman.com/downloads/
63
Etape 1 : Présentation de notre source de données
Etant donné que nous n’avons aucune route configuré, sur le navigateur, si on tape 127.0.0.1:80: on aura
le message d’erreur suivant:
Une fois que le serveur est lancé, on pourra développer nos API Rest, deux étapes sont nécessaires :
64
Etape 2 : Route GET /equipes : Ajoutons le bout de code suivant:
Le framework Express Nous propose des méthode get, post, put delete pour manipuler les
données
faites ctrl + c : pour Annuler le serveur puis relancer node index.js
65
Etape 2 : Route GET / equips
66
Etape 2 : Route GET / equipes
67
Etape 2 : Route GET / equipes/:id
La requête suivante est aussi une requête GET avec un paramètre «id»
68
Rappel des Middlewares :
Les middlewares sont des fonctions qui s'exécutent lors de la requête au serveur. Ces fonctions ont accès aux
paramètres de la requête et de la réponse et peuvent donc effectuer beaucoup de choses pour
améliorer/automatiser les fonctionnalités de l'API
Le middleware se situe entre la requête et la réponse : user request -> midlleware -> response
Exemple
Lors d'une requête POST, les données envoyées par le client (comme des données de formulaire ou en
JSON) sont incluses dans le corps (body) de la requête HTTP. Cependant, Node.js ne permet pas d'y accéder
directement. Pour cela, on utilise un middleware.
Ce middleware agit comme un intermédiaire entre l'arrivée de la requête sur le serveur et son traitement par
les routes. Il lit le corps de la requête, extrait les données, et les rend accessibles pour le reste de
l'application. Ainsi, nos routes peuvent facilement utiliser les données envoyées dans la requête POST.
69
La méthode app.use(express.json()) est une méthode d'Express.js qui permet de définir un middleware pour
l'analyse des corps de requête entrants au format JSON.
70
Route PUT / equipes /:id
Pour la requête PUT on doit spécifier comme paramètre l’id de l’objet à modifier
71
Route PUT / equipes /:id
72
Route DELETE / equipes /:id
73
Exercice
74