Nest JS Flashcards

1
Q

Quelles versions de JavaScript et Node.js sont compatibles avec NestJS ?

A

NestJS fonctionne avec TypeScript et JavaScript, et nécessite Node.js ≥ 20.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quelle commande utiliser pour installer le CLI NestJS ?

A

npm i -g @nestjs/cli

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quelle commande utiliser pour créer un nouveau projet NestJS ?

A

nest new project-name

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Comment créer une instance d’application NestJS ?

A

En utilisant la classe NestFactory et sa méthode create() qui retourne un INestApplication

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Comment désactiver l’arrêt automatique de l’application en cas d’erreur lors de la création ?

A

NestFactory.create(AppModule, { abortOnError: false })

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Quels frameworks HTTP sont supportés nativement par NestJS ?

A

Express (par défaut) et Fastify

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Comment accéder aux méthodes spécifiques à Express dans une application NestJS ?

A

Créer l’application avec NestFactory.create<NestExpressApplication>(AppModule)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Comment démarrer l’application NestJS en mode développement ?

A

npm run start

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Comment accélérer le processus de développement avec SWC builder ?

A

Utiliser le flag -b swc (accélération x20)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quel est le rôle d’un contrôleur dans NestJS ?

A

Gérer les requêtes entrantes et envoyer des réponses au client

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quel décorateur utiliser pour définir un contrôleur ?

A

@Controller

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Comment générer un contrôleur avec le CLI NestJS ?

A

nest g controller [name]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Quel est le code de statut HTTP par défaut pour une réponse GET ?

A

200

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quel est le code de statut HTTP par défaut pour une réponse POST ?

A

201

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Comment modifier le code de statut HTTP par défaut ?

A

En utilisant le décorateur @HttpCode

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Quelles sont les deux approches pour manipuler les réponses dans NestJS ?

A

L’approche standard (recommandée) et l’approche spécifique à la bibliothèque (express/fastify)

17
Q

Que se passe-t-il si vous utilisez l’approche spécifique à la bibliothèque pour les réponses ?

A

L’approche standard est automatiquement désactivée

18
Q

Comment utiliser les deux approches simultanément ?

A

En définissant passthrough à true: @Res({ passthrough: true })

19
Q

Quels décorateurs peut-on utiliser pour accéder aux données de la requête ?

A

@Body, @Query, @Headers, @Session, @Params, @Ip, @HostParam

20
Q

Quel décorateur permet de définir un point d’entrée qui gère toutes les méthodes HTTP ?

21
Q

Comment définir un routage par sous-domaine dans NestJS ?

A

En utilisant l’option host dans le décorateur @Controller: @Controller({ host: 'admin.example.com' })

22
Q

Quel framework est recommandé pour le routage par sous-domaine ?

A

Express (Fastify ne prend pas en charge les routeurs imbriqués)

23
Q

Pourquoi l’utilisation d’instances singleton est-elle sécurisée dans NestJS ?

A

Parce que Node.js n’utilise pas le modèle Multi-Threaded Stateless, mais traite les requêtes dans un même thread

24
Q

Comment gérer des opérations asynchrones dans les contrôleurs NestJS ?

A

En utilisant des fonctions async et en retournant des promesses

25
Quel type de flux peut également être retourné par un contrôleur NestJS ?
RxJS observable streams
26
Qu'est-ce qu'un DTO dans NestJS ?
Un objet qui spécifie comment les données doivent être envoyées sur le réseau
27
Pourquoi est-il recommandé d'utiliser des classes plutôt que des interfaces TypeScript pour définir les DTO ?
Parce que les classes font partie du standard ES6 et sont préservées dans le JavaScript compilé, contrairement aux interfaces TypeScript qui sont supprimées lors de la transpilation
28
Quelle fonctionnalité de NestJS ne peut pas fonctionner avec des interfaces TypeScript ?
Les Pipes ne peuvent pas fonctionner avec des interfaces TypeScript