> ## 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.

# AppSignal pour Node.js

AppSignal pour [Node.js](https://nodejs.org/en/) vous aide à tirer le meilleur parti de votre application Node.js, en vous fournissant les outils nécessaires pour suivre les erreurs et surveiller les performances du code de votre application.

Le package prend en charge les applications JavaScript pur et TypeScript et peut instrumenter automatiquement divers frameworks et packages à l'aide de plugins optionnels. D'autres frameworks et packages peuvent nécessiter une [instrumentation personnalisée](/nodejs/3.x/instrumentation).

## OpenTelemetry

OpenTelemetry est un projet open source qui facilite l'instrumentation pour la collecte de données de télémétrie standardisée. Cela signifie que vous pouvez facilement intégrer vos données avec AppSignal ou un autre fournisseur de votre choix. Vous n'êtes pas enfermé dans les services d'un seul fournisseur. Comme OpenTelemetry est un projet open source, tout le monde peut collaborer sur les mêmes intégrations de base afin de fournir une instrumentation au bénéfice de tous. OpenTelemetry prend actuellement en charge plusieurs langages de programmation populaires, dont Node.js.

OpenTelemetry se compose de plusieurs éléments : le traçage, les métriques et les logs. Ces éléments sont encore en cours de développement dans la plupart des langages de programmation, le traçage étant l'élément le plus stable dans de nombreux langages. Nous prenons en charge le composant de traçage d'OpenTelemetry dans notre intégration Node.js afin de fournir un meilleur reporting d'erreurs et des mesures de performance.

**[En savoir plus sur OpenTelemetry via le site officiel du projet.](https://opentelemetry.io/)**

## Bibliothèques prises en charge

Notre intégration prend en charge les bibliothèques et frameworks suivants :

* [Node.js Core](/nodejs/3.x/integrations/core)
* [Apollo Gateway](/nodejs/3.x/integrations/apollo-gateway)
* [BullMQ](/nodejs/3.x/integrations/bullmq)
* [Elasticsearch](/nodejs/3.x/integrations/elasticsearch)
* [Express](/nodejs/3.x/integrations/express)
* [Fastify](/nodejs/3.x/integrations/fastify)
* [GraphQL (comme Apollo Server ou Yoga)](/nodejs/3.x/integrations/graphql)
* [Knex.js](/nodejs/3.x/integrations/knexjs)
* [Koa.js](/nodejs/3.x/integrations/koajs)
* [MongoDB](/nodejs/3.x/integrations/mongo)
* [Mongoose](/nodejs/3.x/integrations/mongoose)
* [MySQL (paquets mysql et mysql2)](/nodejs/3.x/integrations/mysql)
* [NestJS](/nodejs/3.x/integrations/nestjs)
* [Next.js](/nodejs/3.x/integrations/nextjs)
* [PostgreSQL](/nodejs/3.x/integrations/pg)
* [Prisma](/nodejs/3.x/integrations/prisma)
* [Redis (paquets redis et ioredis)](/nodejs/3.x/integrations/redis)
* [Remix](/nodejs/3.x/integrations/remix)
* [Restify](/nodejs/3.x/integrations/restify)

## Environnements pris en charge

<Note>
  🔧 La prise en charge de Node.js est définie sur notre [page de politique de
  maintenance](/support/maintenance-policy).
</Note>

Node.js est un runtime incroyablement flexible, ce qui lui permet d'être utilisé dans de multiples cas d'usage différents. AppSignal a été principalement conçu pour être utilisé sur un serveur, il existe donc quelques contextes dans lesquels l'intégration Node.js n'est actuellement pas adaptée :

* **Applications Electron :** nous ne recommandons pas l'utilisation de @appsignal/nodejs dans les applications [Electron](https://www.electronjs.org/). Comme nous avons conçu l'[agent](/appsignal/terminology#agent) pour s'exécuter sur un serveur, il n'est actuellement pas utile dans cet environnement. Cela entraînera également une complexité possiblement indésirable autour de la compilation croisée de l'extension native.
* **Processus de courte durée :** les processus de courte durée, tels que les outils CLI, conviennent mal à l'agent, qui doit pouvoir rester en cours d'exécution pendant un certain temps (au moins 60 secondes).
* **Fonctions serverless :** les fonctions serverless sont conçues pour être des processus de courte durée, elles sont donc également peu adaptées à l'agent.
* **Applications générées statiquement :** certains environnements (par exemple [Gatsby.js](https://www.gatsbyjs.com/), [Svelte](https://svelte.dev/)) offrent un certain accès aux API Node.js, mais compilent finalement leur code en une application côté client, et ne conviennent donc pas à la bibliothèque Node.js.

***Pas de panique !*** La [bibliothèque @appsignal/javascript](/front-end/) ne nécessite pas l'agent et fonctionnera là où @appsignal/nodejs ne fonctionne pas actuellement, cependant seul le suivi des erreurs est pris en charge pour le moment.
