> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Adaptateur Fastify Le package `@mastra/fastify` fournit un adaptateur de serveur permettant d’exécuter Mastra avec [Fastify](https://fastify.dev). Pour en savoir plus sur les concepts généraux des adaptateurs, tels que les options du constructeur ou le processus d’initialisation, consultez la page [Adaptateurs de serveur](https://mastra.zisheng.pro/fr/docs/server/server-adapters). ## Installation Installez l’adaptateur Fastify et le framework Fastify : **npm**: ```bash npm install @mastra/fastify@latest fastify ``` **pnpm**: ```bash pnpm add @mastra/fastify@latest fastify ``` **Yarn**: ```bash yarn add @mastra/fastify@latest fastify ``` **Bun**: ```bash bun add @mastra/fastify@latest fastify ``` ## Exemple d’utilisation ```typescript import Fastify from 'fastify' import { MastraServer } from '@mastra/fastify' import { mastra } from './mastra' const app = Fastify({ logger: true }) const server = new MastraServer({ app, mastra }) await server.init() app.listen({ port: 3000 }, (err, address) => { if (err) { console.error(err) process.exit(1) } console.log(`Server running on ${address}`) }) ``` ## Paramètres du constructeur **app** (`FastifyInstance`): Instance de l’application Fastify **mastra** (`Mastra`): Instance de Mastra **prefix** (`string`): Préfixe du chemin des routes (par exemple, /api/v2) (Default: `''`) **openapiPath** (`string`): Chemin depuis lequel exposer la spécification OpenAPI (par exemple, /openapi.json) (Default: `''`) **bodyLimitOptions** (`BodyLimitOptions`): Limites de taille du corps des requêtes **streamOptions** (`StreamOptions`): Configuration de la suppression des données sensibles du flux. Lorsque cette option vaut true (valeur par défaut), les données sensibles (prompts système, définitions des Tools et clés d’API) sont supprimées des segments du flux avant leur envoi aux clients. (Default: `{ redact: true }`) **customRouteAuthConfig** (`Map`): Remplacements de l’authentification pour chaque route. Les clés suivent le format METHOD:PATH (par exemple, GET:/api/health). La valeur false rend la route publique, tandis que true exige une authentification. **tools** (`ToolsInput`): Tools disponibles pour le serveur **taskStore** (`InMemoryTaskStore`): Stockage des tâches pour les opérations A2A (Agent-to-Agent) **mcpOptions** (`MCPOptions`): Options de transport MCP. Définissez serverless: true pour les environnements sans état tels que Cloudflare Workers ou Vercel Edge. ## Protection des routes brutes Lorsque vous souhaitez bénéficier de l’authentification gérée par Mastra et de métadonnées de route telles que `requiresAuth`, privilégiez [`registerApiRoute()`](https://mastra.zisheng.pro/fr/reference/server/register-api-route). Pour les routes Fastify brutes montées directement sur l’application, utilisez `createAuthMiddleware()` : ```typescript import Fastify from 'fastify' import { createAuthMiddleware, MastraServer } from '@mastra/fastify' import { mastra } from './mastra' const app = Fastify() const server = new MastraServer({ app, mastra }) await server.init() app.get('/custom/protected', { preHandler: createAuthMiddleware({ mastra }) }, async request => { const user = request.requestContext.get('user') return { user } }) app.get( '/custom/public', { preHandler: createAuthMiddleware({ mastra, requiresAuth: false }) }, async () => { return { ok: true } }, ) ``` ## Initialisation manuelle Pour personnaliser l’ordre des middlewares, appelez chaque méthode séparément au lieu d’utiliser `init()`. Consultez la section [initialisation manuelle](https://mastra.zisheng.pro/fr/docs/server/server-adapters) pour plus de détails. ## Exemples - [Adaptateur Fastify](https://github.com/mastra-ai/mastra/tree/main/examples/server-fastify-adapter) : configuration de base d’un serveur Fastify ## Voir aussi - [Adaptateurs de serveur](https://mastra.zisheng.pro/fr/docs/server/server-adapters) : concepts communs aux adaptateurs - [Référence de MastraServer](https://mastra.zisheng.pro/fr/reference/server/mastra-server) : référence complète de l’API - [Référence de createRoute()](https://mastra.zisheng.pro/fr/reference/server/create-route) : création de routes personnalisées avec sûreté des types