{"id":59888,"date":"2022-07-22T09:20:29","date_gmt":"2022-07-22T08:20:29","guid":{"rendered":"https:\/\/kinsta.com\/fr\/?p=59888&#038;post_type=knowledgebase&#038;preview_id=59888"},"modified":"2025-10-01T20:45:37","modified_gmt":"2025-10-01T19:45:37","slug":"nestjs","status":"publish","type":"post","link":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/","title":{"rendered":"Qu&rsquo;est-ce que Nest.js ? Un regard sur le framework JavaScript l\u00e9ger"},"content":{"rendered":"<p>La gestion d&rsquo;une application \u00e0 grande \u00e9chelle peut \u00eatre fastidieuse, surtout lorsqu&rsquo;elle est construite sans une structure bien planifi\u00e9e et une strat\u00e9gie stricte d&rsquo;organisation du code. Cela peut conduire \u00e0 un d\u00e9sastre lors de la maintenance et doit \u00eatre \u00e9vit\u00e9 \u00e0 tout prix. Ce d\u00e9sastre est caus\u00e9 par les modifications apport\u00e9es \u00e0 la base de code et aux nouvelles fonctionnalit\u00e9s au fur et \u00e0 mesure que la base d&rsquo;utilisateurs du projet augmente.<\/p>\n<p>Nest.js, d&rsquo;autre part, a \u00e9t\u00e9 construit pour offrir des solutions aux probl\u00e8mes de structure de code et de strat\u00e9gie d&rsquo;organisation du code. Il combine des approches modernes et modulaires aux principes du g\u00e9nie logiciel.<\/p>\n\n<p>Nest.js utilise TypeScript pour la v\u00e9rification de type et fournit une architecture logicielle pr\u00eate \u00e0 l&#8217;emploi pour construire et d\u00e9ployer des applications testables, \u00e9volutives, faiblement coupl\u00e9es et facilement maintenables.<\/p>\n<p>Dans cet article, nous allons explorer Nest.js et ce que vous pouvez construire avec. Nous expliquerons \u00e9galement les avantages et les inconv\u00e9nients du framework pour vous donner une id\u00e9e claire des raisons pour lesquelles les entreprises le pr\u00e9f\u00e8rent aux autres frameworks Node.js. Et avant de conclure, nous vous montrerons comment cr\u00e9er une API de t\u00e2ches \u00e0 faire avec Nest.js.<br \/>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc><\/p>\n<h2>Qu&rsquo;est-ce que Nest.js ?<\/h2>\n<p>Nest.js est l&rsquo;un des <a href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-ce-que-node-js\/\">frameworks Node.js<\/a> \u00e0 la croissance la plus rapide pour construire des applications backend efficaces, \u00e9volutives et de niveau entreprise en utilisant Node.js. Il est connu pour produire des applications hautement testables, maintenables et \u00e9volutives \u00e0 l&rsquo;aide de <a href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-javascript\/\">JavaScript<\/a> et TypeScript modernes.<\/p>\n<figure id=\"attachment_127249\" aria-describedby=\"caption-attachment-127249\" style=\"width: 1400px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-127249 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/nest-js-logo.png\" alt=\"Le logo officiel de Nest.js\" width=\"1400\" height=\"1050\"><figcaption id=\"caption-attachment-127249\" class=\"wp-caption-text\">Le logo officiel de Nest.js. (Image source : <a href=\"https:\/\/www.behance.net\/gallery\/74182713\/Nest-JS-The-official-logo\" target=\"_blank\" rel=\"noopener noreferrer\">Behance<\/a>)<\/figcaption><\/figure>\n<p>Avec plus de 46.600 \u00e9toiles et 5.400 forks sur <a href=\"https:\/\/kinsta.com\/fr\/blog\/base-de-connaissances-github\/\">GitHub<\/a>, et un nombre de t\u00e9l\u00e9chargements hebdomadaires allant jusqu&rsquo;\u00e0 700.000, le framework est une solution populaire pour \u00e9laborer votre projet backend avec Node.js.<\/p>\n<p>Nest.js est une solution parfaite pour votre prochain projet si vous avez besoin de construire une application \u00e9volutive, maintenable et de niveau entreprise.<\/p>\n<p>Dans la section suivante, nous allons explorer \u00e0 quoi il est utilis\u00e9 et les diff\u00e9rentes entreprises qui utilisent le framework en production.<\/p>\n<h2>\u00c0 quoi sert Nest.js ?<\/h2>\n<p>Nest.js est un framework Node.js c\u00f4t\u00e9 serveur, id\u00e9al pour cr\u00e9er des applications backend hautement testables et maintenables. Vous pouvez cr\u00e9er <a href=\"https:\/\/kinsta.com\/fr\/blog\/applications-node-js\/\" rel=\"noopener\">d&rsquo;innombrables types d&rsquo;applications avec Node.js<\/a>; vous n&rsquo;\u00eates limit\u00e9 que par les fonctionnalit\u00e9s de vos applications.<\/p>\n<p>Comme le framework exploite TypeScript, Nest.js est particuli\u00e8rement populaire aupr\u00e8s des \u00e9quipes qui cherchent \u00e0 tirer parti de la puissance de v\u00e9rification de type de TypeScript. De plus, il est simple \u00e0 apprendre et \u00e0 ma\u00eetriser, avec un CLI puissant pour stimuler la productivit\u00e9 et la facilit\u00e9 de d\u00e9veloppement. Gr\u00e2ce \u00e0 cette puissante CLI, il est facile de lancer un projet c\u00f4t\u00e9 serveur et de le mener \u00e0 bien.<\/p>\n<p>En outre, Nest.js dispose d&rsquo;une documentation d\u00e9taill\u00e9e, et sa communaut\u00e9 de d\u00e9veloppeurs et de contributeurs est tr\u00e8s active et pr\u00eate \u00e0 r\u00e9pondre aux probl\u00e8mes \u00e0 la vol\u00e9e.<\/p>\n<p>Ces raisons font qu&rsquo;il est facile de comprendre pourquoi tant d&rsquo;entreprises changent de framework en faveur de Nest.js. Vous trouverez ci-dessous une liste des quelques marques populaires qui utilisent le framework en production.<\/p>\n<h3>Roche<\/h3>\n<p>Roche est une soci\u00e9t\u00e9 multinationale de soins de sant\u00e9 op\u00e9rant sous deux divisions, les produits pharmaceutiques et les diagnostics. Cette soci\u00e9t\u00e9 am\u00e9ricaine de biotechnologie utilise le framework Nest.js sur son site web principal afin de r\u00e9pondre de mani\u00e8re fiable \u00e0 ses patients et d&rsquo;\u00e9tendre ses services.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/roche.png\" alt=\"La page d'accueil officielle de Roche.\" width=\"1600\" height=\"795\"><figcaption class=\"wp-caption-text\">La page d&rsquo;accueil officielle de Roche.<\/figcaption><\/figure>\n<h3>Adidas<\/h3>\n<p>Adidas est le plus grand fabricant de v\u00eatements de sport en Europe et le deuxi\u00e8me plus grand au monde. Adidas est connu pour la conception et la fabrication de chaussures, de v\u00eatements et d&rsquo;accessoires. Leur port\u00e9e mondiale et leur popularit\u00e9 sont les raisons pour lesquelles ils ont d\u00e9cid\u00e9 d&rsquo;utiliser le framework hautement \u00e9volutif Nest.js pour construire des applications efficaces \u00e0 grande \u00e9chelle pour leur marque.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/adidas.png\" alt=\"La page d'accueil officielle d'Adidas.\" width=\"1600\" height=\"797\"><figcaption class=\"wp-caption-text\">La page d&rsquo;accueil officielle d&rsquo;Adidas.<\/figcaption><\/figure>\n<h3>Decathlon<\/h3>\n<p>Decathlon est un d\u00e9taillant d&rsquo;articles de sport qui compte plus de 1500 magasins dans 57 pays. Decathlon a choisi Nest.js comme <a href=\"https:\/\/kinsta.com\/fr\/blog\/backend-vs-frontend\/\">backend<\/a> de son application web pour l&rsquo;aider \u00e0 \u00e9voluer et \u00e0 maintenir sa base de code existante.<\/p>\n<figure style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/decathlon.png\" alt=\"La page d'accueil officielle de Decathlon.\" width=\"1600\" height=\"771\"><figcaption class=\"wp-caption-text\">La page d&rsquo;accueil officielle de Decathlon.<\/figcaption><\/figure>\n<p>Vous pouvez trouver une liste d&rsquo;autres entreprises, projets et outils construits avec Nest.js sur <a href=\"https:\/\/github.com\/juliandavidmr\/awesome-nestjs#projects-using-nestjs\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a>.<\/p>\n<p>Ensuite, nous allons voir pourquoi vous et votre entreprise devriez choisir Nest.js pour votre prochain projet, et nous vous donnerons un aper\u00e7u des raisons pour lesquelles d&rsquo;autres utilisent d\u00e9j\u00e0 le framework et de ses avantages.<\/p>\n<h2>Pourquoi choisir Nest.js<\/h2>\n<p>Le choix d&rsquo;un framework d\u00e9pend du type d&rsquo;application que vous d\u00e9veloppez, car diff\u00e9rentes applications n\u00e9cessitent un ensemble d&rsquo;outils diff\u00e9rent.<\/p>\n<p>Ici, nous allons \u00e9num\u00e9rer diff\u00e9rentes raisons de choisir Nest.js comme votre framework Node.js pour mettre \u00e0 niveau ou construire votre prochain projet.<\/p>\n<ul>\n<li>Nest.js est facile \u00e0 apprendre et \u00e0 ma\u00eetriser, surtout pour les d\u00e9veloppeurs venant du monde <a href=\"https:\/\/kinsta.com\/fr\/blog\/php-vs-angular\/\">Angular<\/a>. Cela permet un processus de d\u00e9veloppement rapide et efficace, car les membres de l&rsquo;\u00e9quipe peuvent facilement s&rsquo;adapter \u00e0 tous les nouveaux principes et structures de d\u00e9veloppement.<\/li>\n<li>Le framework est connu pour avoir une excellente structure architecturale pour les applications d&rsquo;entreprise d\u00e8s le d\u00e9part, ce qui fait de la cr\u00e9ation d&rsquo;applications d&rsquo;entreprise hautement \u00e9volutives et maintenables un jeu d&rsquo;enfant.<\/li>\n<li>Vous pouvez facilement cr\u00e9er des services backend tels que des API RESTful, des applications GraphQL, des applications MVC, des sockets web, des CLI et des <a href=\"https:\/\/kinsta.com\/fr\/blog\/tache-cron-wordpress\/\">t\u00e2ches Cron<\/a> avec Nest.js. Une partie de l&rsquo;architecture standard est d\u00e9j\u00e0 int\u00e9gr\u00e9e dans le framework Nest.js.<\/li>\n<li>Comme Nest.js utilise des technologies modernes telles que TypeScript, des mod\u00e8les architecturaux \u00e0 toute \u00e9preuve, une excellente documentation et des tests unitaires faciles, vous pouvez cr\u00e9er des applications d&rsquo;entreprise \u00e9volutives et faciles \u00e0 maintenir.<\/li>\n<li>Nest.js a \u00e9t\u00e9 cr\u00e9\u00e9 pour construire des applications monolithes et <a href=\"https:\/\/kinsta.com\/fr\/blog\/micro-services-vs-api\/\">micro-services<\/a> \u00e0 grande \u00e9chelle dans lesquelles l&rsquo;architecture est d\u00e9j\u00e0 prise en charge, et vous n&rsquo;avez plus qu&rsquo;\u00e0 \u00e9laborer votre logique m\u00e9tier.<\/li>\n<li>Nest.js prend en charge et fournit de vastes modules communautaires support\u00e9s par Nest.js pour d\u00e9velopper toute fonctionnalit\u00e9 sp\u00e9cifique de votre choix, depuis des concepts comme TypeORM, Mongoose et GraphQL jusqu&rsquo;\u00e0 la journalisation, la validation, la mise en cache, les WebSockets et bien plus encore.<\/li>\n<\/ul>\n<p>Ensuite, nous allons explorer les avantages et les inconv\u00e9nients de Nest.js. Cela vous aidera \u00e0 consolider votre d\u00e9cision d&rsquo;adopter le framework car nous discuterons des bons et des mauvais c\u00f4t\u00e9s.<\/p>\n<h2>Avantages et inconv\u00e9nients de Nest.js<\/h2>\n<p>Ici, nous allons \u00e9num\u00e9rer les avantages et les inconv\u00e9nients de Nest.js pour mieux comprendre pourquoi il s&rsquo;agit d&rsquo;un framework si populaire dans l&rsquo;\u00e9cosyst\u00e8me Node.js.<\/p>\n<h3>Les avantages<\/h3>\n<p>Voici quelques-uns des avantages de l&rsquo;utilisation de Nest.js :<\/p>\n<ul>\n<li><strong>Puissant mais adapt\u00e9 :<\/strong> Le framework est facile \u00e0 utiliser pour les d\u00e9veloppeurs, de sorte que m\u00eame les fonctionnalit\u00e9s les plus complexes et les plus puissantes sont faciles \u00e0 utiliser. L&rsquo;\u00e9quipe de Nest.js a con\u00e7u le framework pour que les d\u00e9veloppeurs puissent se lancer rapidement et se concentrer uniquement sur l&rsquo;\u00e9criture de la logique commerciale, tandis que le framework se charge d&rsquo;autres aspects importants du d\u00e9veloppement, <a href=\"https:\/\/kinsta.com\/fr\/blog\/verifier-securite-site-web\/\" rel=\"noopener\">comme la s\u00e9curit\u00e9<\/a>.<\/li>\n<li><strong>Syntaxe de style Angular (backend) :<\/strong> <a href=\"https:\/\/kinsta.com\/fr\/blog\/angular-vs-react\/\" rel=\"noopener\">Angular est un framework frontend tr\u00e8s populaire<\/a> qui se concentre sur l&rsquo;architecture et la structuration. Nest.js agit comme Angular pour le backend car il utilise le style et la syntaxe Angular pour vous aider \u00e0 structurer votre projet d&rsquo;entreprise.<\/li>\n<li><strong>TypeScript :<\/strong> Nest.js prend en charge TypeScript d\u00e8s le d\u00e9part, ce qui permet de r\u00e9soudre les probl\u00e8mes de performance et d&rsquo;\u00e9crire rapidement des applications maintenables en fournissant des erreurs de compilation et des avertissements. TypeScript est bien int\u00e9gr\u00e9 \u00e0 VSCode pour un environnement de d\u00e9veloppement accessible.<\/li>\n<li><strong>Documentation approfondie :<\/strong> Nest.js dispose de l&rsquo;une des meilleures documentations de tous les frameworks, qui est tr\u00e8s facile \u00e0 comprendre. Cela permet d&rsquo;\u00e9conomiser du temps de d\u00e9bogage de jeter un coup d&rsquo;\u0153il rapide \u00e0 la documentation et d&rsquo;\u00eatre accueilli avec la solution \u00e0 votre probl\u00e8me.<\/li>\n<li><strong>Bonne architecture et d\u00e9veloppement rapide :<\/strong> Nest.js vous fait gagner du temps lors de la cr\u00e9ation de votre application, qu&rsquo;il s&rsquo;agisse de votre premi\u00e8re MVP ou de l&rsquo;application elle-m\u00eame, car il vous offre une structure et une architecture solides sur lesquelles travailler d\u00e8s le d\u00e9part, ce qui am\u00e9liore vos processus de d\u00e9veloppement.<\/li>\n<\/ul>\n<h3>Les inconv\u00e9nients<\/h3>\n<p>Il existe un c\u00e9l\u00e8bre dicton : \u00ab Chaque avantage a ses inconv\u00e9nients \u00bb &#8211; et Nest.js ne fait pas exception. Alors, explorons les inconv\u00e9nients de Nest.js.<\/p>\n<ul>\n<li><strong>Difficile pour les novices :<\/strong> Nest.js peut \u00eatre un peu difficile \u00e0 apprendre et \u00e0 ma\u00eetriser pour les d\u00e9veloppeurs novices qui ne viennent pas d&rsquo;un environnement Angular. En outre, \u00e9tant donn\u00e9 que tous les d\u00e9veloppeurs JavaScript n&rsquo;utilisent pas TypeScript, le framework peut \u00e9galement \u00eatre difficile pour ces groupes de d\u00e9veloppeurs. Mais comme toute autre technologie, il faut du temps et de la pratique.<\/li>\n<li><strong>D\u00e9bogage laborieux :<\/strong> Autant TypeScript a ses gains et ses avantages, autant il s&rsquo;accompagne de nombreuses douleurs de d\u00e9bogage, surtout pour les d\u00e9veloppeurs les plus r\u00e9cents dans le monde de TypeScript.<\/li>\n<\/ul>\n<p>Voil\u00e0 : les avantages et les inconv\u00e9nients de Nest.js et la mani\u00e8re dont ils peuvent influencer votre prise de d\u00e9cision en le choisissant comme framework de choix.<\/p>\n<p>Ensuite, nous allons nous entra\u00eener \u00e0 construire une API RESTful avec Nest.js pour consolider ce que nous avons appris jusqu&rsquo;\u00e0 pr\u00e9sent. Lisez la suite pour apprendre \u00e0 d\u00e9velopper une API de t\u00e2ches qui permettra aux utilisateurs de cr\u00e9er et de g\u00e9rer leurs listes de t\u00e2ches.<\/p>\n<h2>Cr\u00e9ez votre premi\u00e8re API RESTful Nest.js<\/h2>\n<p>Il est temps de mettre en pratique tout ce que nous avons appris sur Nest.js en construisant notre premi\u00e8re API RESTful pour d\u00e9montrer la puissance et la simplicit\u00e9 qui l&rsquo;accompagnent.<\/p>\n<p>Nous allons commencer par configurer le framework et installer tous les outils n\u00e9cessaires pour le rendre op\u00e9rationnel.<\/p>\n<h3>1. Configuration de Nest.js<\/h3>\n<p>Tout d&rsquo;abord, nous installons le CLI Nest pour cr\u00e9er de nouveaux projets avec cette commande :<\/p>\n<pre><code class=\"language-bash\">npm i -g @nestjs\/cli<\/code><\/pre>\n<p>Apr\u00e8s cela, cr\u00e9ez un nouveau projet en utilisant cette commande ci-dessous :<\/p>\n<pre><code class=\"language-bash\">nest new nest-todo-api\ncd nest-todo-api\nnpm run start:dev<\/code><\/pre>\n<p>Maintenant que nous avons install\u00e9 le CLI Nest et que notre nouveau projet a \u00e9t\u00e9 cr\u00e9\u00e9 avec succ\u00e8s, construisons notre API.<\/p>\n<p>Ouvrez le projet dans l&rsquo;\u00e9diteur de code de votre choix. Si vous visitez <code>localhost:3000<\/code>, vous devriez \u00eatre accueilli par un message de bienvenue montrant que tout fonctionne correctement.<\/p>\n<p>Ensuite, nous allons configurer une <a href=\"https:\/\/kinsta.com\/fr\/blog\/qu-est-ce-que-mongodb\/\" rel=\"noopener\">base de donn\u00e9es MongoDB<\/a> pour connecter et g\u00e9rer nos donn\u00e9es de t\u00e2ches \u00e0 travers le projet.<\/p>\n<p>Avant de nous plonger dedans, g\u00e9n\u00e9rons tous les fichiers dont nous aurons besoin pour cr\u00e9er l&rsquo;API \u00e0 l&rsquo;aide des commandes suivantes :<\/p>\n<pre><code class=\"language-bash\">nest generate module todos\nnest generate controller todos\nnest generate service todos<\/code><\/pre>\n<h3>2. Configuration de MongoDB<\/h3>\n<p>Ensuite, nous allons installer et configurer <a href=\"https:\/\/kinsta.com\/fr\/blog\/mongodb-vs-mysql\/\">MongoDB<\/a> pour qu&rsquo;il fonctionne avec le projet que nous avons cr\u00e9\u00e9 pr\u00e9c\u00e9demment.<\/p>\n<p>Apr\u00e8s avoir install\u00e9 MongoDB sur votre machine locale, ex\u00e9cutez la commande suivante pour installer la biblioth\u00e8que Mongoose dans notre projet nouvellement cr\u00e9\u00e9 :<\/p>\n<pre><code class=\"language-bash\">npm install --save @nestjs\/mongoose mongoose<\/code><\/pre>\n<p>C&rsquo;est tout ce que vous avez \u00e0 faire.<\/p>\n<p>Ensuite, nous allons g\u00e9n\u00e9rer les fichiers et importer Mongoose pour communiquer avec le projet et MongoDB.<\/p>\n<p>Importons Mongoose dans notre fichier de module d&rsquo;application avant de g\u00e9n\u00e9rer les autres fichiers n\u00e9cessaires :<\/p>\n<pre><code class=\"language-js\">import { Module } from '@nestjs\/common';\nimport { AppController } from '.\/app.controller';\nimport { AppService } from '.\/app.service';\nimport { MongooseModule } from '@nestjs\/mongoose';\nimport { TodosModule } from '.\/todos\/todos.module';\n\n@Module({\n  imports: [MongooseModule.forRoot('mongodb:\/\/localhost\/todos), TodosModule],\n  controllers: [AppController],\n  providers: [AppService],\n})\nexport class AppModule {}<\/code><\/pre>\n<h4>3. Construction du sch\u00e9ma<\/h4>\n<p>Ensuite, nous allons construire le sch\u00e9ma de notre base de donn\u00e9es. Ce sch\u00e9ma sp\u00e9cifiera comment les donn\u00e9es seront repr\u00e9sent\u00e9es dans notre base de donn\u00e9es.<\/p>\n<p>D\u00e9finissons-le dans notre fichier <strong>todos.schema.ts<\/strong>:<\/p>\n<pre><code class=\"language-ts\">import * as mongoose from 'mongoose';\nexport const ItemSchema = new mongoose.Schema({\n  title: String,\n  is_completed: Boolean,\n  description: String,\n});<\/code><\/pre>\n<h4>4. D\u00e9finition des interfaces<\/h4>\n<p>Ensuite, nous allons cr\u00e9er une interface pour la v\u00e9rification des types.<\/p>\n<p>D\u00e9finissons-la dans notre fichier <strong>interfaces\/todo.interface.ts<\/strong>:<\/p>\n<pre><code class=\"language-ts\">import { Document } from 'mongoose';\nexport interface Item extends Document {\n  id?: string;\n  title: string;\n  description?: string;\n  is_completed: boolean;\n}<\/code><\/pre>\n<h4>5. Cr\u00e9ation du DTO<\/h4>\n<p>Enfin, nous allons cr\u00e9er un DTO (Data Transfer Object) qui d\u00e9finit comment les donn\u00e9es seront envoy\u00e9es ou transmises d&rsquo;un objet \u00e0 l&rsquo;autre sur le r\u00e9seau.<\/p>\n<p>C&rsquo;est une classe de base avec la m\u00eame propri\u00e9t\u00e9 que notre sch\u00e9ma :<\/p>\n<pre><code class=\"language-ts\">\/\/ .\/dto\/create-todo.ts\nexport class CreateItemDto {\n  readonly title: string;\n  readonly description: string;\n  readonly is_completed: boolean;\n}<\/code><\/pre>\n<h3>6. Configuration du mod\u00e8le\/service<\/h3>\n<p>Le fichier de service est responsable de l&rsquo;interaction et de la communication avec la base de donn\u00e9es MongoDB. Il est utilis\u00e9 pour cr\u00e9er, r\u00e9cup\u00e9rer, mettre \u00e0 jour et supprimer les enregistrements du sch\u00e9ma <code>todos<\/code> que nous avons cr\u00e9\u00e9 pr\u00e9c\u00e9demment.<\/p>\n<p>Ouvrez votre fichier de service et ajoutez les codes suivants :<\/p>\n<pre><code class=\"language-ts\">import { Injectable } from '@nestjs\/common';\nimport { Todo } from '.\/interfaces\/todo.interface';\nimport { Model } from 'mongoose';\nimport { InjectModel } from '@nestjs\/mongoose';\nimport { CreateTodoDto } from '.\/dto\/create-todo.dto';\n\n@Injectable()\n\nexport class ItemsService {\n  constructor(@InjectModel('Todo') private readonly todoModel: Model) {}\n  async findAll(): Promise&lt;Todo[]&gt; {\n    return await this.todoModel.find();\n  }\n  async findOne(id: string): Promise {\n    return await this.todoModel.findOne({ _id: id });\n  }\n  async create(item: CreateItemDto): Promise {\n    const newTodo = new this.todoModel(item);\n    return await newTodo.save();\n  }\n  async delete(id: string): Promise {\n    return await this.todoModel.findByIdAndRemove(id);\n  }\n  async update(id: string, todo: CreateTodoDto): Promise {\n    return await this.todoModel.findByIdAndUpdate(id, todo, { new: true });\n  }\n}<\/code><\/pre>\n<p>L&rsquo;extrait de code ci-dessus repr\u00e9sente une application CRUD (create, read, update, delete) sur notre API utilisant <a href=\"https:\/\/mongoosejs.com\/docs\/models.html\" target=\"_blank\" rel=\"noopener noreferrer\">le mod\u00e8le Mongoose<\/a> pour leur fournir un acc\u00e8s \u00e0 notre base de donn\u00e9es MongoDB sous-jacente.<\/p>\n<p>Ensuite, nous allons cr\u00e9er notre fichier contr\u00f4leur pour g\u00e9rer toute la logique et communiquer avec le service que nous avons cr\u00e9\u00e9 ci-dessus.<\/p>\n<h3>7. Configuration des contr\u00f4leurs<\/h3>\n<p>Le contr\u00f4leur est responsable de la gestion des demandes de revenus et du renvoi des r\u00e9ponses au client.<\/p>\n<p>D\u00e9finissons notre contr\u00f4leur <code>Todo<\/code> et collons-y l&rsquo;extrait de code suivant :<\/p>\n<pre><code class=\"language-js\">import {\n  Controller,\n  Get,\n  Post,\n  Put,\n  Delete,\n  Body,\n  Param,\n} from '@nestjs\/common';\nimport { CreateTodoDto } from '.\/dto\/create-todo.dto';\nimport { TodosService } from '.\/todos.service';\nimport { Todo } from '.\/interfaces\/todo.interface';\n\n@Controller('items')\n\nexport class ItemsController {\n  constructor(private readonly todosService: TodosService) {}\n\n  @Get()\n  findAll(): Promise&lt;Todo[]&gt; {\n    return this.todosService.findAll();\n  }\n  \n  @Get(':id')\n  findOne(@Param('id') id): Promise {\n    return this.todosService.findOne(id);\n  }\n  \n  @Post()\n  create(@Body() createTodoDto: CreateTodoDto): Promise {\n    return this.todosService.create(createTodoDto);\n  }\n  \n  @Delete(':id')\n  delete(@Param('id') id): Promise {\n    return this.todosService.delete(id);\n  }\n  \n  @Put(':id')\n  update(@Body() updateTodoDto: CreateTodoDto, @Param('id') id): Promise {\n    return this.todosService.update(id, updateTodoDto);\n  }\n}<\/code><\/pre>\n<p>Le framework utilise des annotations pour g\u00e9rer de nombreuses fonctionnalit\u00e9s en coulisses &#8211; par exemple, pour g\u00e9rer le syst\u00e8me de routage du framework en fournissant diff\u00e9rentes annotations correspondant \u00e0 chaque route (<code>@Put()<\/code>, <code>@Delete()<\/code>, <code>@Post()<\/code>, <code>@Get()<\/code>) pour les API RESTful Put, Delete, Post, et Get respectivement.<\/p>\n<h3>8. Test de l&rsquo;API avec Postman<\/h3>\n<p>Enfin, nous allons tester notre API nouvellement cr\u00e9\u00e9e avec Postman. Nous devons d\u00e9marrer le serveur de d\u00e9veloppement pour nous assurer que tout fonctionne correctement avant de le d\u00e9ployer sur un serveur de production en direct.<\/p>\n<pre><code class=\"language-bash\">npm run start:dev<\/code><\/pre>\n<p>Vous pouvez <a href=\"https:\/\/www.postman.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">t\u00e9l\u00e9charger et ex\u00e9cuter Postman<\/a> pour tester votre API RESTful.<\/p>\n<figure id=\"attachment_127252\" aria-describedby=\"caption-attachment-127252\" style=\"width: 1600px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-127252 size-full\" src=\"https:\/\/kinsta.com\/wp-content\/uploads\/2022\/06\/todo-nest.png\" alt=\"R\u00e9sultat de la liste des t\u00e2ches Nest.js\" width=\"1600\" height=\"1078\"><figcaption id=\"caption-attachment-127252\" class=\"wp-caption-text\">R\u00e9sultat de la liste des t\u00e2ches Nest.js<\/figcaption><\/figure>\n\n<h2>R\u00e9sum\u00e9<\/h2>\n<p>Nest.js est un puissant framework Node.js et le framework typescript le plus populaire disponible aujourd&rsquo;hui.<\/p>\n<p>Il fournit \u00e0 l&rsquo;\u00e9quipe d&rsquo;ing\u00e9nieurs une architecture de d\u00e9veloppement standard et les <a href=\"https:\/\/kinsta.com\/fr\/blog\/meilleures-pratiques-design-web\/\">meilleures pratiques<\/a> de l&rsquo;industrie. Gr\u00e2ce \u00e0 lui, les d\u00e9veloppeurs peuvent faire absNest.js est un framework JavaScript l\u00e9ger et puissant, ax\u00e9 sur la productivit\u00e9 et les performances des d\u00e9veloppeurs.traction des processus d&rsquo;ing\u00e9nierie r\u00e9p\u00e9t\u00e9s pour se concentrer uniquement sur le d\u00e9veloppement de la logique m\u00e9tier.<\/p>\n<p>Ce sont ces avantages qui incitent des marques populaires comme Adidas, Roche et bien d&rsquo;autres \u00e0 utiliser le framework pour leurs applications de production d&rsquo;entreprise.<\/p>\n<p>Dans cet article, nous avons pos\u00e9 des bases solides pour Nest.js et expliqu\u00e9 pourquoi vous et votre entreprise devriez envisager de passer \u00e0 cette technologie. En outre, nous avons construit un simple to-do RESTful pour d\u00e9montrer de mani\u00e8re pratique l&rsquo;awesomeness du framework.<\/p>\n<p>Maintenant, c&rsquo;est \u00e0 vous de d\u00e9cider si Nest.js est le framework parfait pour vous.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La gestion d&rsquo;une application \u00e0 grande \u00e9chelle peut \u00eatre fastidieuse, surtout lorsqu&rsquo;elle est construite sans une structure bien planifi\u00e9e et une strat\u00e9gie stricte d&rsquo;organisation du code. &#8230;<\/p>\n","protected":false},"author":193,"featured_media":59889,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[535,468,793],"topic":[979],"class_list":["post-59888","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-javascript","tag-javascript-frameworks","tag-nest-js","topic-frameworks-javascript"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Qu&#039;est-ce que Nest.js ? Un aper\u00e7u du framework JavaScript l\u00e9ger<\/title>\n<meta name=\"description\" content=\"Nest.js est un framework JavaScript l\u00e9ger et puissant, ax\u00e9 sur la productivit\u00e9 et les performances des d\u00e9veloppeurs.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Qu&#039;est-ce que Nest.js ? Un regard sur le framework JavaScript l\u00e9ger\" \/>\n<meta property=\"og:description\" content=\"Nest.js est un framework JavaScript l\u00e9ger et puissant, ax\u00e9 sur la productivit\u00e9 et les performances des d\u00e9veloppeurs.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstafrance\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-22T08:20:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-01T19:45:37+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Solomon Eseme\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Nest.js est un framework JavaScript l\u00e9ger et puissant, ax\u00e9 sur la productivit\u00e9 et les performances des d\u00e9veloppeurs.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kaperskyguru\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Solomon Eseme\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/\"},\"author\":{\"name\":\"Solomon Eseme\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/51c9c77fa35cf1ef9a46308358441ab2\"},\"headline\":\"Qu&rsquo;est-ce que Nest.js ? Un regard sur le framework JavaScript l\u00e9ger\",\"datePublished\":\"2022-07-22T08:20:29+00:00\",\"dateModified\":\"2025-10-01T19:45:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/\"},\"wordCount\":2654,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg\",\"keywords\":[\"JavaScript\",\"JavaScript Frameworks\",\"Nest.js\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/\",\"url\":\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/\",\"name\":\"Qu'est-ce que Nest.js ? Un aper\u00e7u du framework JavaScript l\u00e9ger\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg\",\"datePublished\":\"2022-07-22T08:20:29+00:00\",\"dateModified\":\"2025-10-01T19:45:37+00:00\",\"description\":\"Nest.js est un framework JavaScript l\u00e9ger et puissant, ax\u00e9 sur la productivit\u00e9 et les performances des d\u00e9veloppeurs.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg\",\"width\":1460,\"height\":730,\"caption\":\"Qu'est-ce que Nest.js ? Un regard sur le framework JavaScript l\u00e9ger\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Frameworks JavaScript\",\"item\":\"https:\/\/kinsta.com\/fr\/sujets\/frameworks-javascript\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Qu&rsquo;est-ce que Nest.js ? Un regard sur le framework JavaScript l\u00e9ger\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/fr\/#website\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/fr\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstafrance\/\",\"https:\/\/x.com\/kinsta_fr\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/51c9c77fa35cf1ef9a46308358441ab2\",\"name\":\"Solomon Eseme\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1c701993f8ff8c8df2a4c5664834a4e5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1c701993f8ff8c8df2a4c5664834a4e5?s=96&d=mm&r=g\",\"caption\":\"Solomon Eseme\"},\"description\":\"I am a Software Engineer and Content Creator who is geared toward building high-performing and innovative products following best practices and industry standards. I also love writing about it at Masteringbackend.com. Follow me on Twitter, LinkedIn, and About Me\",\"sameAs\":[\"https:\/\/masteringbackend.com\",\"https:\/\/linkedin.com\/in\/solomoneseme\",\"https:\/\/x.com\/kaperskyguru\"],\"url\":\"https:\/\/kinsta.com\/fr\/blog\/author\/solomoneseme\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Qu'est-ce que Nest.js ? Un aper\u00e7u du framework JavaScript l\u00e9ger","description":"Nest.js est un framework JavaScript l\u00e9ger et puissant, ax\u00e9 sur la productivit\u00e9 et les performances des d\u00e9veloppeurs.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/","og_locale":"fr_FR","og_type":"article","og_title":"Qu'est-ce que Nest.js ? Un regard sur le framework JavaScript l\u00e9ger","og_description":"Nest.js est un framework JavaScript l\u00e9ger et puissant, ax\u00e9 sur la productivit\u00e9 et les performances des d\u00e9veloppeurs.","og_url":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2022-07-22T08:20:29+00:00","article_modified_time":"2025-10-01T19:45:37+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg","type":"image\/jpeg"}],"author":"Solomon Eseme","twitter_card":"summary_large_image","twitter_description":"Nest.js est un framework JavaScript l\u00e9ger et puissant, ax\u00e9 sur la productivit\u00e9 et les performances des d\u00e9veloppeurs.","twitter_image":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg","twitter_creator":"@kaperskyguru","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Solomon Eseme","Dur\u00e9e de lecture estim\u00e9e":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/"},"author":{"name":"Solomon Eseme","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/51c9c77fa35cf1ef9a46308358441ab2"},"headline":"Qu&rsquo;est-ce que Nest.js ? Un regard sur le framework JavaScript l\u00e9ger","datePublished":"2022-07-22T08:20:29+00:00","dateModified":"2025-10-01T19:45:37+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/"},"wordCount":2654,"commentCount":1,"publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg","keywords":["JavaScript","JavaScript Frameworks","Nest.js"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/fr\/blog\/nestjs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/","url":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/","name":"Qu'est-ce que Nest.js ? Un aper\u00e7u du framework JavaScript l\u00e9ger","isPartOf":{"@id":"https:\/\/kinsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg","datePublished":"2022-07-22T08:20:29+00:00","dateModified":"2025-10-01T19:45:37+00:00","description":"Nest.js est un framework JavaScript l\u00e9ger et puissant, ax\u00e9 sur la productivit\u00e9 et les performances des d\u00e9veloppeurs.","breadcrumb":{"@id":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/fr\/blog\/nestjs\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#primaryimage","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2022\/07\/nestjs.jpg","width":1460,"height":730,"caption":"Qu'est-ce que Nest.js ? Un regard sur le framework JavaScript l\u00e9ger"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/fr\/blog\/nestjs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Frameworks JavaScript","item":"https:\/\/kinsta.com\/fr\/sujets\/frameworks-javascript\/"},{"@type":"ListItem","position":3,"name":"Qu&rsquo;est-ce que Nest.js ? Un regard sur le framework JavaScript l\u00e9ger"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/fr\/#website","url":"https:\/\/kinsta.com\/fr\/","name":"Kinsta\u00ae","description":"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es","publisher":{"@id":"https:\/\/kinsta.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/fr\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstafrance\/","https:\/\/x.com\/kinsta_fr","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/51c9c77fa35cf1ef9a46308358441ab2","name":"Solomon Eseme","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinsta.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1c701993f8ff8c8df2a4c5664834a4e5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1c701993f8ff8c8df2a4c5664834a4e5?s=96&d=mm&r=g","caption":"Solomon Eseme"},"description":"I am a Software Engineer and Content Creator who is geared toward building high-performing and innovative products following best practices and industry standards. I also love writing about it at Masteringbackend.com. Follow me on Twitter, LinkedIn, and About Me","sameAs":["https:\/\/masteringbackend.com","https:\/\/linkedin.com\/in\/solomoneseme","https:\/\/x.com\/kaperskyguru"],"url":"https:\/\/kinsta.com\/fr\/blog\/author\/solomoneseme\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/59888","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/users\/193"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/comments?post=59888"}],"version-history":[{"count":5,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/59888\/revisions"}],"predecessor-version":[{"id":59926,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/posts\/59888\/revisions\/59926"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59888\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59888\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59888\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59888\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59888\/translations\/de"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59888\/translations\/es"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59888\/translations\/jp"},{"href":"https:\/\/kinsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/59888\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media\/59889"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/media?parent=59888"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/tags?post=59888"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/fr\/wp-json\/wp\/v2\/topic?post=59888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}