> ## Documentation Index
> Fetch the complete documentation index at: https://docs-dev-docs-event-stream-action-templates.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Write Your First Action (Programmer votre première action)

> Apprenez à écrire une action, ce qui implique de choisir un flux, de créer une action et de la configurer, puis de la lier au flux.

Ce guide vous explique comment créer et déployer votre première action à l’aide du <Tooltip href="/docs/fr-ca/glossary?term=auth0-dashboard" tip="Auth0 Dashboard
Principal produit d’Auth0 pour configurer vos services." cta="Voir le glossaire">Auth0 Dashboard</Tooltip>. Lorsque vous aurez terminé, vous aurez compris la fonctionnalité de base qui sera utilisée avec toutes les actions et le modèle de programmation vous sera familier. Le contenu de ce guide constitue la base même de l’écriture de n’importe quelle action, indépendamment de son objectif ou de son flux.

## L’objectif : notifier Slack lorsque l’utilisateur se connecte

Vous créez une action qui envoie un message à un canal Slack lorsqu’un utilisateur se connecte. Ce tutoriel utilise le déclencheur Post-connexion en exemple, mais les informations fournies ici s’appliquent à tous les types de déclencheurs.

Pour accomplir cette tâche, procédez comme suit  :

* [Créez une action](#create-an-action)
* [Ajoutez un secret](#add-a-secret)
* [Ajoutez une dépendance](#add-a-dependency)
* [Enregistrez le brouillon](#save-the-draft)
* [Ajoutez une logique personnalisée](#add-custom-logic)
* [Testez une action](#test-an-action)
* [Déployez une action](#deploy-the-action)
* [Joignez une action à un flux](#attach-the-action-to-a-flow)
* [Voir les résultats d’une action dans les journaux des locataires](#observe-actions-in-tenant-logs)

## Prérequis

Comme cette action enverra des messages à un canal Slack, vous devez [créer un lien de rappel HTTP entrant pour un espace de travail Slack](https://api.slack.com/messaging/webhooks). Une fois que vous aurez obtenu l’URL du lien de rappel HTTP Slack, vous pourrez lire la suite de ce guide.

## Créer une action

Pour faire fonctionner une action dans un flux spécifique, vous devez d’abord créer l’action et ensuite l’ajouter à un flux.

1. Allez à [Auth0 Dashboard > Actions > Bibliothèque](https://manage.auth0.com/#/actions/library), puis sélectionnez **Créer une action** > **Démarrer de zéro**.
2. Saisissez un **Nom** et sélectionnez le déclencheur **Connexion/post-connexion** puisque vous ajouterez une action au flux de connexion, puis sélectionnez **Créer**.

L’éditeur de code d’actions s’affiche :

<Frame>
  <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/6a0bOHQ-5WYDVwHQ/docs/images/fr-ca/cdy7uua7fh8z/12Q8OEuDI39eWuWsrVVwN0/1ecddcb21d855995eed671ccfd5246fb/2025-02-28_13-26-02.png?fit=max&auto=format&n=6a0bOHQ-5WYDVwHQ&q=85&s=d572ee0e37be9dbba1903a58ae24c30b" alt="Actions Code Editor (Éditeur de code d’actions)" width="901" height="505" data-path="docs/images/fr-ca/cdy7uua7fh8z/12Q8OEuDI39eWuWsrVVwN0/1ecddcb21d855995eed671ccfd5246fb/2025-02-28_13-26-02.png" />
</Frame>

## Créer une action à partir d’un modèle

La galerie des modèles d’actions offre une variété de modèles de démarrage pour la création d’une action. Pour créer une action à partir d’un modèle :

1. Allez à [Auth0 Dashboard > Actions > Bibliothèque](https://manage.auth0.com/#/actions/library), puis sélectionnez **Créer une action**.
2. Sélectionnez **Choisir un modèle**.
3. Sélectionnez le modèle que vous souhaitez utiliser pour construire une action.
4. Vous devriez maintenant voir un aperçu en lecture seule du code contenu dans le modèle. Pour continuer, sélectionnez **Utiliser ce modèle**
5. Saisissez un nom et sélectionnez **Créer**.

## Ajouter un secret

Chaque action peut contenir des valeurs de secret, qui permettent de conserver des informations sensibles, comme des jetons d’accès et des clés d’API. Stockons l’URL du lien de rappel HTTP Slack en tant que secret.

1. Sélectionnez l’icône en forme de clé dans la barre latérale gauche de l’éditeur de code.
2. Sélectionnez **Ajouter le secret**.
3. Donnez au secret le nom suivant : `SLACK_WEBHOOK_URL`.
4. Collez l'URL du lien de rappel HTTP fourni par Slack et sélectionnez **Créer**.

Vous verrez que le secret a été ajouté à l’action et que vous pouvez utiliser le nouveau secret au moyen d’un code intelligent complet en tapant `event.secrets`.

<Frame>
  <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/V_1qawcJogUCcG-n/docs/images/fr-ca/cdy7uua7fh8z/4FyFtKRSIYuigxE9U8TkEJ/947a4d9da30cba20b58f96c28df2aac2/2025-02-28_11-47-54.png?fit=max&auto=format&n=V_1qawcJogUCcG-n&q=85&s=1cf8d4598f641b59ea99ab3f05f67c4c" alt="Éditeur de code d’actions - Votre secret a été ajouté dans la section Secrets." width="1329" height="558" data-path="docs/images/fr-ca/cdy7uua7fh8z/4FyFtKRSIYuigxE9U8TkEJ/947a4d9da30cba20b58f96c28df2aac2/2025-02-28_11-47-54.png" />
</Frame>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Une fois qu’un secret a été créé, sa valeur ne sera jamais révélée. Auth0 chiffre tous les secrets et les stocke en toute sécurité.
</Callout>

## Ajouter une dépendance

Vous allez utiliser le package [`@slack/webhook``npm`](https://www.npmjs.com/package/@slack/webhook) pour faciliter l’envoi d’un message à Slack. Vous pouvez utiliser pratiquement n’importe quel package `npm` public dans une action, à condition qu’il puisse être installé sans dépendre de [modules complémentaires natifs](https://www.npmjs.com/package/node-gyp).

Pour ajouter la dépendance :

1. Sélectionnez l’icône Dépendance (icône en forme de cube) dans la barre latérale.
2. Pour le **Nom**, saisissez `@slack/webhook`.

   Par défaut, votre action utilisera la dernière version de la dépendance au moment où elle a été ajoutée.
3. Sélectionnez **Créer**, et la dépendance doit être ajoutée à l’action :

   <Frame>
     <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/4qGX8tpXyo1pAaMc/docs/images/fr-ca/cdy7uua7fh8z/Jmzvgydo204pBLikzuDJy/1197887ddc5c7565be8bb0f5778c8af8/2025-02-28_11-47-54.png?fit=max&auto=format&n=4qGX8tpXyo1pAaMc&q=85&s=0d971dedce4729a7498911c0315068fa" alt="Éditeur de code d’actions : votre dépendance a été ajoutée." width="1329" height="558" data-path="docs/images/fr-ca/cdy7uua7fh8z/Jmzvgydo204pBLikzuDJy/1197887ddc5c7565be8bb0f5778c8af8/2025-02-28_11-47-54.png" />
   </Frame>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Lorsque vous enregistrez cette action, la dernière version de votre dépendance sera résolue et remplacée par un numéro de version spécifique afin d’éviter que les futures mises à jour du package n’interrompent votre action.
</Callout>

## Enregistrer le brouillon

Sélectionnez **Enregistrer le brouillon**. Votre action est enregistrée, mais pas encore exécutée dans le cadre d’un flux d’utilisateurs. Avec les actions, vous avez la possibilité de créer, de modifier et de tester des actions avant qu’elles n’affectent le trafic de votre locataire Auth0. Si le comportement de l’action vous convient, vous pouvez déployer l’action et l’ajouter à un flux ultérieurement.

## Ajouter une logique personnalisée

Maintenant que l’action a été configurée avec un secret et une dépendance, passons à l’écriture du code.

Chaque action possède un objet d’événement qui contient des informations contextuelles en lecture seule relatives au déclencheur associé. Si vous commencez à taper `event.` dans l’éditeur, toutes les propriétés possibles de l’événement devraient s’afficher. Pour en savoir plus sur les informations relatives à chaque déclencheur, consultez la section [Explorer les flux et les déclencheurs](/docs/fr-ca/customize/actions/explore-triggers).

Utilisons notre action pour notifier Slack. Ajoutez ce code à votre action :

```javascript lines theme={null}
const { IncomingWebhook } = require('@slack/webhook');

exports.onExecutePostLogin = async (event, api) => {
    const url = event.secrets.SLACK_WEBHOOK_URL;
    const webhook = new IncomingWebhook(url);

    // Send the notification
    await webhook.send({ text: "Logging In..." });
};
```

Sélectionnez **Enregistrer le brouillon** pour enregistrer votre action.

## Tester l’action

Avant d’exécuter cette action dans votre locataire avec un trafic utilisateur réel, testez-la pour vous assurer qu’elle se comporte comme prévu.

1. Sélectionnez l’icône Test (triangle) dans la barre latérale. Dans la section Payload (Charge utile), vous verrez des données JSON modifiables relatives au déclencheur que vous avez sélectionné lors de la création de l’action.

   <Frame>
     <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/V_1qawcJogUCcG-n/docs/images/fr-ca/cdy7uua7fh8z/4MSu8EfpMLNJpcYtrwP7Jf/e5b26302688a0ed46c296d036a9b9958/2025-02-28_11-43-18.png?fit=max&auto=format&n=V_1qawcJogUCcG-n&q=85&s=6d0983e57ec9b2026658382174c0d74b" alt="Éditeur de code d’actions : panneau Test Runner" width="330" height="554" data-path="docs/images/fr-ca/cdy7uua7fh8z/4MSu8EfpMLNJpcYtrwP7Jf/e5b26302688a0ed46c296d036a9b9958/2025-02-28_11-43-18.png" />
   </Frame>

2. Sélectionnez le bouton **Exécuter**, et un message s’affichera dans votre canal Slack.

## Déployer l’action

Maintenant que nous sommes certains que l’action fonctionne comme prévu, il est temps de la déployer.

Sélectionnez **Déployer**. Le déploiement d’une action prend une capture d’écran de l’action à ce moment-là et l’enregistre en tant que **Version de l’action**.

Sélectionnez **Historique des versions**, et vous devriez voir l’action enregistrée comme étant la version 1.

<Frame>
  <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/XIL2NucFdH91gJS_/docs/images/fr-ca/cdy7uua7fh8z/53sn70cXoxUHibc3Bmk7Og/b0951ca10ae4d1faf5346f2b23e2d56f/2025-02-28_11-39-05.png?fit=max&auto=format&n=XIL2NucFdH91gJS_&q=85&s=5ef9b2ce5ba60d91dbfb9a8582b2b792" alt="Actions : Historique des versions" width="331" height="143" data-path="docs/images/fr-ca/cdy7uua7fh8z/53sn70cXoxUHibc3Bmk7Og/b0951ca10ae4d1faf5346f2b23e2d56f/2025-02-28_11-39-05.png" />
</Frame>

Vous êtes maintenant libre de mettre à jour votre action et de la sauvegarder sans affecter la Version 1 de votre action. Auth0 exécutera uniquement la version actuellement déployée d’une action, par conséquent, jusqu’à ce que vous déployiez à nouveau une action, la Version 1 sera exécutée par Auth0.

## Attacher l’action à un flux

La dernière étape de configuration d’une nouvelle action, de manière à ce qu’elle s’exécute dans le cadre du trafic de votre locataire, consiste à la joindre à un flux.

1. Allez à [Auth0 Dashboard > Actions > Flux](https://manage.auth0.com/#/actions/triggers) pour voir la liste des flux possibles.

2. Sélectionnez le [Déclencheur de connexion](/docs/fr-ca/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger) et faites glisser `my-slack-action` dans le flux.

   <Frame>
     <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/1giWs3MwX5Akld9c/docs/images/fr-ca/cdy7uua7fh8z/6hU7sKWtGzSx9Z8dhsXbvp/323287b26e5e5e3a4daf2acdb20b7304/Login_Action_-_FR.png?fit=max&auto=format&n=1giWs3MwX5Akld9c&q=85&s=0c8a7b428648be2bcdc2e632bfe08082" alt="Flux d’actions : flux Connexion" width="842" height="845" data-path="docs/images/fr-ca/cdy7uua7fh8z/6hU7sKWtGzSx9Z8dhsXbvp/323287b26e5e5e3a4daf2acdb20b7304/Login_Action_-_FR.png" />
   </Frame>

3. Sélectionnez **Appliquer**.

L’action s’exécute maintenant dans votre locataire pour un trafic d’utilisateurs réels. Si vous souhaitez disposer d’un environnement de test plus robuste, envisagez de [mettre en place plusieurs environnements Auth0](/docs/fr-ca/get-started/auth0-overview/create-tenants/set-up-multiple-environments).

## Observer les actions dans les journaux des locataires

Maintenant que votre action s’exécute dans le cadre du flux Connexion, Auth0 capture des informations sur chaque exécution d’action dans les journaux du locataire. Pour l’afficher, allez à [Auth0 Dashboard > Surveillance > Journaux](https://manage.auth0.com/#/logs) et sélectionnez un événement **Connexion réussie**.

Vous devriez voir un aperçu des **Détails de l’action** qui contient des informations sur toutes les actions qui ont été exécutées dans le cadre de ce flux.

<Frame>
  <img src="https://mintcdn.com/docs-dev-docs-event-stream-action-templates/LQcZeclMuPp8PthF/docs/images/fr-ca/cdy7uua7fh8z/61k82wmsXSb9M3wOExM4jH/58834c0e20b6e89656e14c9ff37ccfce/Action_Logs_-_FR.png?fit=max&auto=format&n=LQcZeclMuPp8PthF&q=85&s=7a387241b0a4a40968308892188f9dae" alt="Journaux des locataires : vue Détails de l’action" width="1137" height="1076" data-path="docs/images/fr-ca/cdy7uua7fh8z/61k82wmsXSb9M3wOExM4jH/58834c0e20b6e89656e14c9ff37ccfce/Action_Logs_-_FR.png" />
</Frame>

## Prochaines étapes

Maintenant que vous avez écrit votre première action, consultez [Explorer les flux et les déclencheurs](/docs/fr-ca/customize/actions/explore-triggers) pour apprendre à effectuer certaines tâches courantes à l’aide d’actions.
