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

> Mettre en cache des ressources coûteuses entre les exécutions d’Auth0 Rule à l’aide d’un objet global persistant afin d’éviter de les recréer à chaque exécution.

# Mettre en cache des ressources coûteuses dans Rules

<Warning>
  La date de fin de vie (EOL) de Rules et de Hooks sera le **18 novembre 2026**, et ils ne sont plus offerts aux nouveaux tenants créés à compter du **16 octobre 2023**. Les tenants existants ayant des Hooks actifs conserveront l’accès au produit Hooks jusqu’à la fin de vie.

  Nous vous recommandons fortement d’utiliser Actions pour étendre Auth0. Avec Actions, vous avez accès à des informations de typage détaillées, à de la documentation intégrée et à des packages `npm` publics, et vous pouvez connecter des intégrations externes qui améliorent votre expérience globale d’extensibilité. Pour en savoir plus sur ce qu’offrent Actions, consultez [Comprendre le fonctionnement des Actions Auth0](/docs/fr-ca/customize/actions/actions-overview).

  Pour vous aider dans votre migration, nous proposons des guides pour vous aider à [passer de Rules à Actions](/docs/fr-ca/customize/actions/migrate/migrate-from-rules-to-actions) et à [passer de Hooks à Actions](/docs/fr-ca/customize/actions/migrate/migrate-from-hooks-to-actions). Nous avons aussi une page dédiée, [Move to Actions](https://auth0.com/extensibility/movetoactions), qui présente des comparaisons de fonctionnalités, [une démonstration d’Actions](https://www.youtube.com/watch?v=UesFSY1klrI) et d’autres ressources pour vous accompagner dans votre migration.

  Pour en savoir plus sur la dépréciation de Rules et de Hooks, consultez notre billet de blogue : [Preparing for Rules and Hooks End of Life](https://auth0.com/blog/preparing-for-rules-and-hooks-end-of-life/).
</Warning>

Dans Rules, vous pouvez stocker des ressources coûteuses à l’aide de l’objet `global`. L’objet `global` persiste d’une exécution à l’autre; vous pouvez donc réutiliser ce qui y est stocké au lieu de le recréer chaque fois qu’une Rule s’exécute. Toutefois, l’environnement Rules peut être réinitialisé à tout moment; votre code **doit** donc toujours vérifier que `global` contient bien ce à quoi vous vous attendez.

Cet exemple montre comment utiliser l’objet `global` pour conserver une connexion MongoDB :

```javascript lines theme={null}
//Si l'objet db est présent, l'utiliser.
if (global.db){
  return query(global.db, callback);
}

//Sinon, récupérer la db (mongodb dans ce cas)
mongo('mongodb://user:pass@mymongoserver.com/my-db',  function (db){
  global.db = db;
  return query(db, callback);
});

//Effectuer le travail
function query(db, cb){
  // Faire quelque chose avec db
  ...
  return cb(null, user, context);
}
```

Pour en savoir plus sur l’utilisation de MongoDB, consultez [le manuel de MongoDB](https://docs.mongodb.com/manual/).
