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

# Meilleures pratiques concernant l’anatomie des règles

> Découvrez les meilleures pratiques pour développer des règles d'Auth0.

<Warning>
  La date de fin de vie (EOL) des Règles et des Appels sera le **18 novembre 2026**. Ils ne sont plus disponibles pour les nouveaux locataires créés à partir du **16 octobre 2023**. Les locataires actuels ayant des hooks actifs conserveront l’accès aux produit Hooks jusqu’à la fin de leur durée de vie.

  Nous vous conseillons vivement d’utiliser les Actions pour étendre Auth0. Avec les Actions, vous avez accès à des informations de type enrichies, à une documentation intégrée et à des packages `npm` publics, et vous pouvez connecter des intégrations externes qui optimisent votre expérience d’extensibilité globale. Pour en savoir plus sur ce que les Actions proposent, consultez [Comprendre comment fonctionnent Auth0 Actions](/docs/fr-ca/customize/actions/actions-overview).

  Pour vous aider dans votre migration, nous proposons des guides qui vous aideront à [migrer des Règles vers les Actions](/docs/fr-ca/customize/actions/migrate/migrate-from-rules-to-actions) et à [migrer des Hooks vers les Actions](/docs/fr-ca/customize/actions/migrate/migrate-from-hooks-to-actions). Nous avons également une page dédiée à la [Migration vers les Actions](https://auth0.com/extensibility/movetoactions) qui met en évidence les comparaisons de fonctionnalités, [une démo des Actions](https://www.youtube.com/watch?v=UesFSY1klrI)  et d’autres ressources pour vous aider dans votre parcours de migration.

  Pour en savoir plus sur l’obsolescence des Règles et des Appels, consultez notre article de blog : [Preparing for Rules and Hooks End of Life (Préparation à la fin de vie des règles et des crochets)](https://auth0.com/blog/preparing-for-rules-and-hooks-end-of-life/).
</Warning>

Une règle est essentiellement une fonction JavaScript anonyme à laquelle sont transmis trois paramètres : un objet `user`, un objet `context` et une fonction de `callback`.

```javascript lines theme={null}
function (user, context, callback) {
     // TODO: implement your rule
     return callback(null, user, context);
    }
```

**N’ajoutez pas** de point-virgule à la fin de la déclaration de la fonction, car cela interromprait l’exécution de la règle.
Les fonctions anonymes compliquent l’interprétation de la pile d’appels générée à la suite d’une condition d’erreur exceptionnelle. Pour faciliter l’analyse diagnostique, utilisez des conventions de dénomination compactes et uniques (p. ex., `function MyRule1 (user, context, callback) {...}`). Pour en savoir plus, consultez [Meilleures pratiques en matière de traitement des erreurs](/docs/fr-ca/troubleshoot/error-handling-best-practices).

Les règles s’exécutent dans le pipeline associé à la génération d’artefacts pour l’authenticité qui fait partie du moteur global Auth0. Toutes les règles activées sont regroupées dans l’ordre dans lequel elles sont énumérées et envoyées sous la forme d’un blob de code à exécuter en tant que tâche Web sans serveur Auth0 lorsqu’un pipeline est exécuté. Pour voir l’ensemble du moteur Auth0, téléchargez [Fonctionnement du moteur Auth0.](https://cdn.auth0.com/blog/auth0-raises-100m-to-fuel-the-growth/inside-the-auth0-engine-high-res.jpg).

<Frame>
  <img src="https://mintcdn.com/docs-dev-actions-triggers-prototype/7ZTj9ECBnaPth0zw/docs/images/fr-ca/cdy7uua7fh8z/1IdyXP3cxbukXrMYuCk3VG/23162f4d073b78a478f21e1b67d19b93/rules-best-practice-pipeline.png?fit=max&auto=format&n=7ZTj9ECBnaPth0zw&q=85&s=f53d03f0effdb6775e42dda5d95d5332" alt="Diagramme du pipeline de règles des meilleures pratiques d'anatomie des règles" width="1500" height="820" data-path="docs/images/fr-ca/cdy7uua7fh8z/1IdyXP3cxbukXrMYuCk3VG/23162f4d073b78a478f21e1b67d19b93/rules-best-practice-pipeline.png" />
</Frame>

## Poids

Nous recommandons que la taille totale de la mise en œuvre de toutes les règles activées ne dépasse pas 100 ko. Plus la taille est importante, plus cela introduit de la latence en raison du processus de conditionnement et de transport utilisé par la plateforme Webtask sans serveur Auth0, ce qui aura des répercussions sur les performances de votre système. Notez que la limite de 100 ko n’inclut pas les modules `npm` qui peuvent être référencés dans le cadre de déclarations `require`.

## Ordre

L’ordre dans lequel les règles sont affichées dans <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> dicte l’ordre dans lequel les règles seront exécutées. Cela est important,car une règle peut donner une ou plusieurs définitions dans l’environnement associé à l’exécution dont une autre règle peut dépendre. En pareil cas, la règle qui établit la ou les définitions doit s’exécuter avant la règle qui l’utilise. Pour en savoir plus, consultez [Meilleures pratiques en matière d’environnement des règles](/docs/fr-ca/rules-best-practices/rules-environment-best-practices).

Exécutez les règles coûteuses qui font appel aux API (y compris Management API d’Auth0) le plus tard possible. Si d’autres règles, moins coûteuses, sont susceptibles d’entraîner la détermination d’un accès `unauthorized`, il convient de les exécuter en premier lieu.

## En savoir plus

* [Meilleures pratiques de l’environnement des règles](/docs/fr-ca/rules-best-practices/rules-environment-best-practices)
* [Meilleures pratiques d’exécution des règles](/docs/fr-ca/rules-best-practices/rules-execution-best-practices)
* [Meilleures pratiques en lien aux règles de sécurité](/docs/fr-ca/rules-best-practices/rules-security-best-practices)
* [Meilleures pratiques de test des règles](/docs/fr-ca/rules-best-practices/rules-testing-best-practices)
