> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # Intégrer Mastra à votre projet Express Dans ce guide, vous allez créer avec Mastra et Express un Agent d’IA capable d’appeler des Tools. Grâce à l’[adaptateur de serveur Express](https://mastra.zisheng.pro/fr/reference/server/express-adapter), vous pouvez exposer vos Agents sous forme d’endpoints HTTP sans écrire vous-même le routage ni exécuter un serveur Mastra distinct. ## Avant de commencer - Vous aurez besoin d’une clé d’API fournie par un [Provider de modèle](https://mastra.zisheng.pro/fr/models) pris en charge. Si vous n’avez pas de préférence, utilisez [OpenAI](https://mastra.zisheng.pro/fr/models/providers/openai). - Installez Node.js `v22.13.0` ou une version ultérieure ## Créer une nouvelle application Express (facultatif) Si vous disposez déjà d’une application Express, passez à l’étape suivante. Clonez ce [dépôt de démarrage](https://github.com/mastra-ai/express-ts-boilerplate), puis installez les dépendances : **HTTPS**: **npm**: ```bash git clone https://github.com/mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate npm install ``` **pnpm**: ```bash git clone https://github.com/mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate pnpm install ``` **Yarn**: ```bash git clone https://github.com/mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate yarn install ``` **Bun**: ```bash git clone https://github.com/mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate bun install ``` **SSH**: ```bash git clone https://github.com/mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate npm install ``` **Tab 3**: ```bash git clone https://github.com/mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate pnpm install ``` **Tab 4**: ```bash git clone https://github.com/mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate yarn install ``` **Tab 5**: ```bash git clone https://github.com/mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate bun install ``` **Tab 6**: **npm**: ```bash git clone git@github.com:mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate npm install ``` **pnpm**: ```bash git clone git@github.com:mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate pnpm install ``` **Yarn**: ```bash git clone git@github.com:mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate yarn install ``` **Bun**: ```bash git clone git@github.com:mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate bun install ``` **Tab 7**: ```bash git clone git@github.com:mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate npm install ``` **Tab 8**: ```bash git clone git@github.com:mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate pnpm install ``` **Tab 9**: ```bash git clone git@github.com:mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate yarn install ``` **Tab 10**: ```bash git clone git@github.com:mastra-ai/express-ts-boilerplate.git cd express-ts-boilerplate bun install ``` ## Initialiser Mastra Dans le répertoire de votre projet Express, exécutez [`mastra init`](https://mastra.zisheng.pro/fr/reference/cli/mastra). Lorsque vous y êtes invité, choisissez un Provider, par exemple OpenAI, puis saisissez votre clé : ```bash npx mastra@latest init ``` Cette commande crée un dossier `src/mastra` contenant un exemple d’Agent météo et les fichiers suivants : - `index.ts` : configuration de Mastra, notamment la Memory - `tools/weather-tool.ts` : Tool permettant de récupérer la météo d’un lieu donné - `agents/weather-agent.ts` : Agent météo dont le prompt utilise le Tool Vous transmettrez ensuite le fichier `src/mastra/index.ts` à l’adaptateur de serveur Express. ## Ajouter l’adaptateur de serveur Installez le package de l’adaptateur de serveur Express : **npm**: ```bash npm install @mastra/express@latest ``` **pnpm**: ```bash pnpm add @mastra/express@latest ``` **Yarn**: ```bash yarn add @mastra/express@latest ``` **Bun**: ```bash bun add @mastra/express@latest ``` Ouvrez le fichier d’entrée Express `src/index.ts`, puis ajoutez l’import et le code d’initialisation requis : ```typescript import express, { type Request, type Response } from 'express' import { MastraServer } from '@mastra/express' import { mastra } from './mastra' const app = express() const PORT = process.env.PORT || 3000 // Middleware app.use(express.json()) const server = new MastraServer({ app, mastra }) await server.init() // Routes app.get('/', (_req: Request, res: Response) => { res.json({ message: 'Hello, World!' }) }) // Start server app.listen(PORT, () => { console.log(`Server is running on http://localhost:${PORT}`) }) ``` Le ⁠`MastraServer` est initialisé avec l’`app` Express existante et l’instance ⁠`mastra` racine. L’appel de `⁠init()` enregistre le middleware Mastra et expose tous les endpoints Mastra disponibles. ## Tester votre Agent Par défaut, les endpoints de Mastra sont ajoutés sous le sous-chemin `/api` et utilisent les identifiants de vos Agents et Workflows. L’Agent `weather-agent` créé par défaut par `mastra init` est disponible à l’adresse `/api/agents/weather-agent`. Démarrez votre serveur Express : ```bash npm run start ``` Dans une autre fenêtre de terminal, utilisez `curl` pour interroger l’Agent météo : ```bash curl -X POST http://localhost:3000/api/agents/weather-agent/generate -H "Content-Type: application/json" -d "{\"messages\":[{\"role\":\"user\",\"content\":\"What is the weather like in Seoul?\"}]}" ``` ## Étapes suivantes Félicitations, vous avez créé votre Agent Mastra avec Express ! 🎉 Vous pouvez maintenant enrichir le projet avec vos propres Tools et votre propre logique : - En savoir plus sur les [Agents](https://mastra.zisheng.pro/fr/docs/agents/overview) - Ajouter des [Tools](https://mastra.zisheng.pro/fr/docs/agents/using-tools) à votre Agent - Ajouter une [Memory](https://mastra.zisheng.pro/fr/docs/memory/overview) similaire à la mémoire humaine à votre Agent Lorsque vous serez prêt, découvrez comment Mastra s’intègre à Express : - [Adaptateurs de serveur](https://mastra.zisheng.pro/fr/docs/server/server-adapters)