> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Installation

Veuillez d'abord suivre le [guide d'installation](/guides/new-application) lors de l'ajout d'une nouvelle application à AppSignal.

## Prérequis

Avant de pouvoir compiler le package AppSignal, assurez-vous que les outils de build/compilation sont installés sur votre système. Veuillez consulter la page [Systèmes d'exploitation pris en charge](/support/operating-systems) pour connaître les éventuelles dépendances système requises.

## Installation

Tout d'abord, [créez un compte](https://appsignal.com/users/sign_up) AppSignal. Ensuite, installez AppSignal en suivant les instructions pour votre gestionnaire de packages.

### Avec npm

<CodeGroup>
  ```bash Bash theme={null}
  npm install @appsignal/nodejs
  ```
</CodeGroup>

Il est également possible d'ajouter manuellement le package `@appsignal/nodejs` à votre `package.json`. Ensuite, exécutez `npm install`.

<CodeGroup>
  ```json JSON theme={null}
  {
    "name": "my-app",
    "dependencies": {
      "@appsignal/nodejs": "^3.0.0"
    }
  }
  ```
</CodeGroup>

Créez un fichier `appsignal.cjs` pour requérir et configurer AppSignal. Ce fichier peut également être placé à un autre emplacement, par exemple dans le répertoire `src/`. Pour plus d'informations sur la configuration, consultez notre [section de configuration](/nodejs/3.x/configuration).

<CodeGroup>
  ```javascript Node.js theme={null}
  // appsignal.cjs
  const { Appsignal } = require("@appsignal/nodejs");

  new Appsignal({
    active: true,
    name: "<YOUR APPLICATION NAME>",
    pushApiKey: "<YOUR API KEY>",
  });
  ```
</CodeGroup>

### Avec pnpm

pnpm supprime par défaut les scripts de cycle de vie pour les dépendances. Le package `@appsignal/nodejs` s'appuie sur un script de cycle de vie `install` pour télécharger et compiler son extension native. Sans lui, l'extension ne se chargera pas et AppSignal ne remontera aucune donnée.

Pour installer le package et permettre l'exécution de son script de cycle de vie :

<CodeGroup>
  ```bash Bash theme={null}
  pnpm --allow-build=@appsignal/nodejs add @appsignal/nodejs
  ```
</CodeGroup>

### Requérir le client AppSignal

Maintenant, vous pouvez exécuter votre application comme vous le feriez normalement, mais utilisez le drapeau `--require` pour charger l'instrumentation d'AppSignal avant toute autre bibliothèque :

<CodeGroup>
  ```shell Shell theme={null}
  node --require './appsignal.cjs' index.js
  ```
</CodeGroup>

Nous vous recommandons d'ajouter le drapeau `--require` à tout script qui démarre votre application :

<CodeGroup>
  ```json JSON theme={null}
  {
    "scripts": {
      "server": "node --require ./appsignal.cjs index.js"
    }
  }
  ```
</CodeGroup>

Vous pouvez également utiliser le drapeau `--require` avec des outils tels que `ts-node` et `nodemon`.

Lorsque vous utilisez une CLI wrapper, telle que `nest start` ou `fastify start`, pour démarrer votre application, utilisez la variable d'environnement `NODE_OPTIONS` pour passer le drapeau au runtime Node.js :

<CodeGroup>
  ```sh Shell theme={null}
  NODE_OPTIONS='--require ./appsignal.cjs' nest start
  ```
</CodeGroup>

<Warning>
  Pour que l'intégration AppSignal fonctionne correctement, le fichier `appsignal.cjs`
  **doit** être requis avant toute autre dépendance.
</Warning>

### Prise en charge de TypeScript

AppSignal est entièrement compatible avec TypeScript. Lors de l'exécution d'une application TypeScript compilée avec `node`, nous recommandons d'utiliser [le drapeau `--enable-source-maps` de Node.js](https://nodejs.org/api/cli.html#--enable-source-maps) afin que les traces d'erreurs dans AppSignal fassent référence aux emplacements dans le code TypeScript d'origine :

<CodeGroup>
  ```sh Shell theme={null}
  node --enable-source-maps --require './appsignal.cjs' dist/src/main.js
  ```
</CodeGroup>

Lorsque vous utilisez une CLI wrapper, telle que `nest start` ou `fastify start`, pour démarrer votre application, utilisez la variable d'environnement `NODE_OPTIONS` pour passer le drapeau au runtime Node.js :

<CodeGroup>
  ```sh Shell theme={null}
  NODE_OPTIONS='--enable-source-maps --require ./appsignal.cjs' nest start
  ```
</CodeGroup>

### Importer le client AppSignal

Le client AppSignal est accessible depuis l'objet `Appsignal.client` exporté globalement.

Pour utiliser des fonctionnalités telles que les [métriques personnalisées](/metrics/custom), vous devez d'abord importer le client AppSignal :

<CodeGroup>
  ```javascript Node.js theme={null}
  import { Appsignal } from "@appsignal/nodejs";
  // or: const { Appsignal } = require("@appsignal/nodejs");

  const client = Appsignal.client;
  ```
</CodeGroup>

### Ajouter des intégrations

AppSignal prend en charge plusieurs bibliothèques et frameworks avec des packages supplémentaires, tels qu'Express, Koa, Next.js et plus encore. Des instructions d'installation supplémentaires pour ces packages se trouvent dans la [section des intégrations Node.js](/nodejs/3.x/integrations).

***

<Note>
  📖 Poursuivez avec notre [guide d'installation](/guides/new-application).
</Note>

## Désinstallation d'AppSignal pour Node.js

Désinstallez AppSignal de votre application en suivant les étapes ci-dessous. Lorsque ces étapes sont terminées, votre application n'enverra plus de données aux serveurs AppSignal.

1. Exécutez `npm uninstall @appsignal/nodejs` pour désinstaller l'intégration AppSignal pour Node.js, ou supprimez la ligne dans le bloc `dependencies` du fichier `package.json` de votre application qui fait référence au package `@appsignal/nodejs`.

2. Exécutez `npm install` pour mettre à jour votre `package.lock` avec l'état des packages supprimés.

3. Supprimez toute [configuration](/nodejs/3.x/configuration/) d'AppSignal de votre application.

4. Validez, déployez et redémarrez votre application.
   * Cela garantira que les serveurs AppSignal ne continueront pas à recevoir des données de votre application.

5. Enfin, [supprimez l'application](/guides/application/deleting-applications) sur AppSignal.com.

<Note>
  📖 Poursuivez avec notre [guide de
  désinstallation](/guides/application/deleting-applications).
</Note>

## Arrêter le client AppSignal

AppSignal s'arrêtera automatiquement lorsque votre application ou votre machine s'arrêtera. Cependant, si vous souhaitez arrêter AppSignal manuellement, vous pouvez exécuter la commande suivante :

<CodeGroup>
  ```javascript Node.js theme={null}
  import { Appsignal } from "@appsignal/nodejs";
  // or: const { Appsignal } = require("@appsignal/nodejs");

  Appsignal.client.stop();
  ```
</CodeGroup>
