> ## 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.

> Description de l’utilisation de l’outil de migration des Rules dans l’Auth0 Dashboard

# Outil de migration

Simplifiez la migration des Rules vers les Actions à l’aide de l’outil de migration des Rules dans l’[Auth0 Dashboard](https://manage.auth0.com/). En plus de faciliter le passage d’une Rule à une Action, ce nouvel outil offre également des conseils intégrés et des correctifs pour les modèles courants de Rules.

<div id="before-migration">
  ## Avant la migration
</div>

Avant de commencer la migration, consultez [Migrer des Rules vers Actions](/fr-CA/docs/customize/actions/migrate/migrate-from-rules-to-actions). Ce guide de migration est une excellente ressource pour comprendre les différences entre Rules et Actions et vous aider tout au long du processus de migration.

<div id="rule-migration-order">
  ### Ordre de migration des Rules
</div>

Les Rules s’exécutent avant les Actions, ce qui signifie que vous devez migrer les Rules dans l’ordre inverse de leur exécution. Migrez d’abord la dernière Rule exécutée dans votre flux actuel, puis remontez jusqu’à la première Rule en suivant l’ordre chronologique inverse.

Si vous ne respectez pas cet ordre de migration, des erreurs peuvent survenir en raison d’effets secondaires imprévus liés aux dépendances entre l’ordre des Rules et celui des Actions.

<div id="safely-rolling-back">
  ### Effectuer un retour arrière en toute sécurité
</div>

Les outils de migration vous permettent d’effectuer un retour arrière en toute sécurité et facilement en cas de problème. Réactivez votre Rule et ignorez la logique de l’Action correspondante.

<div id="migrating-a-rule">
  ## Migrer une Rule
</div>

Pour commencer la migration de votre Rule, sélectionnez **Auth Pipeline > Rules**. Une fois cette option sélectionnée, vos Rules s’affichent, avec la possibilité de migrer chacune d’elles individuellement.

<Frame>
  <img src="https://mintcdn.com/translations/c0RQ9V0YAcT0-8l5/docs/images/cdy7uua7fh8z/79DmJp8C2vYZpdos51Z0nM/5a665d04c66dd9f0b8f0e25198cb9e4e/SS1_Dashboard_migration_screenshot.png?fit=max&auto=format&n=c0RQ9V0YAcT0-8l5&q=85&s=97866d7b3b420e0abc35f57f9b481a3b" alt="" width="2026" height="842" data-path="docs/images/cdy7uua7fh8z/79DmJp8C2vYZpdos51Z0nM/5a665d04c66dd9f0b8f0e25198cb9e4e/SS1_Dashboard_migration_screenshot.png" />
</Frame>

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  La migration commence uniquement lorsque vous choisissez **Migrer vers une Action**. En tant que développeur, vous pouvez choisir quand activer la nouvelle Action.
</Callout>

<div id="migrate-to-action">
  ### Migrer vers une Action
</div>

Après avoir sélectionné **Migrer vers une Action**, l’outil vous demande de créer une nouvelle Action.

<Frame>
  <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1A8FnVyvqAwW8hbrkOQDoG/f83ba9d5157db14ac2a3a666b2280574/SS2_Migrate_to_Action_screenshot.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=e999d4b305e23999ae748272cc2974f2" alt="" width="2106" height="1292" data-path="docs/images/cdy7uua7fh8z/1A8FnVyvqAwW8hbrkOQDoG/f83ba9d5157db14ac2a3a666b2280574/SS2_Migrate_to_Action_screenshot.png" />
</Frame>

Après avoir sélectionné **Créer**, la nouvelle Action est créée et l’éditeur des Actions s’affiche.

<Frame>
  <img src="https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2A10fE69aVngEcL2ZQCqWX/720dca2a8e6005c9378efad3bc140af0/Screenshot_2024-06-06_at_11.55.38_AM.png?fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=fb69cbfcec64169a5cf374fae04f6813" alt="" width="2024" height="1508" data-path="docs/images/cdy7uua7fh8z/2A10fE69aVngEcL2ZQCqWX/720dca2a8e6005c9378efad3bc140af0/Screenshot_2024-06-06_at_11.55.38_AM.png" />
</Frame>

Si la Rule est migrée vers Actions et qu’elle est toujours active, la Rule s’arrête avant que la logique ne s’exécute.

Ce comportement repose sur l’appel à `api.rules.wasExecuted()`. Si la fonction `wasExecuted` reçoit une chaîne contenant l’ID de la Rule, elle renvoie `true` si la Rule a déjà été exécutée (sinon, elle renvoie `false`).

Il s’agit d’un mécanisme utile pour éviter que votre logique ne s’exécute deux fois. Dès que vous désactivez la Rule en question, la fonction renvoie `false` et la logique métier s’exécute alors dans l’Action.

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  La valeur de l’ID de la Rule est remplie automatiquement pour toute Rule migrée à l’aide de la fonctionnalité **Migrer vers une Action**.
</Callout>

Pour en savoir plus sur la fonction `api.rules.wasExecuted()`, consultez [Déclencheurs d’Actions : post-login - objet API](/fr-CA/docs/customize/actions/explore-triggers/signup-and-login-triggers/login-trigger/post-login-api-object).

<div id="rewrite-rule-code">
  ## Réécrire le code de la Rule
</div>

Sélectionnez le bouton **Rules** dans l’éditeur des Actions pour ouvrir l’outil de migration des Rules. Vous pourrez ensuite consulter rapidement le code de la Rule migrée. Vous devriez examiner le code de la Rule sélectionnée dans la barre latérale.

Copiez le contenu de la fonction Rule et collez-le sous le commentaire `// YOUR CODE HERE` dans l’Action. Il est probable que ce code ne soit pas adapté au modèle de programmation des Actions.

<Frame>
  <img src="https://mintcdn.com/translations/Dcx0M11uuptU53TX/docs/images/cdy7uua7fh8z/2jWCZFnfERuN7NzBPrpCDn/80ba271699893a007dac7baaf2dd44cb/Screenshot_2024-06-06_at_11.57.03_AM.png?fit=max&auto=format&n=Dcx0M11uuptU53TX&q=85&s=9dc49cde0010d7193fb079bfd09d196a" alt="" width="2012" height="1486" data-path="docs/images/cdy7uua7fh8z/2jWCZFnfERuN7NzBPrpCDn/80ba271699893a007dac7baaf2dd44cb/Screenshot_2024-06-06_at_11.57.03_AM.png" />
</Frame>

L’éditeur des Actions indique les endroits où le code doit être remanié. Il propose aussi des suggestions pour corriger automatiquement la plupart des cas. Pour examiner la suggestion ou la correction, survolez le code souligné :

<Frame>
  <img src="https://mintcdn.com/translations/MV7tE-x71x8RWRES/docs/images/cdy7uua7fh8z/5jRGI4iDX9ZgwcPRADTbZ1/caa90923a76800526871b137806e2af3/Screenshot_2024-06-06_at_11.58.07_AM.png?fit=max&auto=format&n=MV7tE-x71x8RWRES&q=85&s=b13e8eea9cf22810417cb04ac268ebe1" alt="" width="1998" height="1476" data-path="docs/images/cdy7uua7fh8z/5jRGI4iDX9ZgwcPRADTbZ1/caa90923a76800526871b137806e2af3/Screenshot_2024-06-06_at_11.58.07_AM.png" />
</Frame>

Vous pourrez peut-être appliquer des mises à jour propres aux Actions en sélectionnant une option dans la fenêtre modale **Quick Fix**.

<Frame>
  <img src="https://mintcdn.com/translations/xwVvTWJUElMm5YAK/docs/images/cdy7uua7fh8z/qTS4RD6cjWFVfI0T9Uph3/45776c464f7247ddd8e91860f4646f2e/Screenshot_2024-06-06_at_11.58.48_AM.png?fit=max&auto=format&n=xwVvTWJUElMm5YAK&q=85&s=745d3a882f413dcf45dd0f49180bb60a" alt="" width="2032" height="1508" data-path="docs/images/cdy7uua7fh8z/qTS4RD6cjWFVfI0T9Uph3/45776c464f7247ddd8e91860f4646f2e/Screenshot_2024-06-06_at_11.58.48_AM.png" />
</Frame>

Lorsque vous sélectionnez la correction recommandée, votre code est automatiquement mis à jour pour assurer sa compatibilité.

<Frame>
  <img src="https://mintcdn.com/translations/eVsQcTnbClN-oB7d/docs/images/cdy7uua7fh8z/1cAq5A1MNVLPAsinHjtROh/c71276afd1f6df9e01d71cc869778907/Screenshot_2024-06-06_at_11.59.37_AM.png?fit=max&auto=format&n=eVsQcTnbClN-oB7d&q=85&s=05b52642db7731d9b895b4f848164fcb" alt="" width="2144" height="1588" data-path="docs/images/cdy7uua7fh8z/1cAq5A1MNVLPAsinHjtROh/c71276afd1f6df9e01d71cc869778907/Screenshot_2024-06-06_at_11.59.37_AM.png" />
</Frame>

Dans certaines situations, les corrections ne peuvent pas être appliquées automatiquement, mais des indications sont tout de même fournies :

<Frame>
  <img src="https://mintcdn.com/translations/pvjQqAy3EB2TK6NP/docs/images/cdy7uua7fh8z/4Lx3RxJh8v4tj1J2SpPVvU/0ff35b0f40bb24d195ab2f4b06817d86/Screenshot_2024-06-06_at_12.00.22_PM.png?fit=max&auto=format&n=pvjQqAy3EB2TK6NP&q=85&s=61c38294dc7f88ec6a29c8c3e9d896ba" alt="" width="2194" height="1620" data-path="docs/images/cdy7uua7fh8z/4Lx3RxJh8v4tj1J2SpPVvU/0ff35b0f40bb24d195ab2f4b06817d86/Screenshot_2024-06-06_at_12.00.22_PM.png" />
</Frame>

Par exemple : dans le cas de la fonction `callback` de la Rule, il est recommandé d’utiliser [`api.access.deny`](/fr-CA/docs/customize/actions/explore-triggers/signup-and-login-triggers/pre-user-registration-trigger/pre-user-registration-api-object) pour les erreurs, ou simplement `return` en cas de réussite.

<div id="test-the-new-action">
  ### Tester la nouvelle Action
</div>

Les Actions peuvent être testées directement dans l’éditeur, car cela fait partie intégrante du processus de migration. Pour en savoir plus, consultez [Tester les Actions](/fr-CA/docs/customize/actions/test-actions).

<Warning>
  Nous vous recommandons fortement de valider toute la logique de migration dans un locataire de développement avant de l’activer en production.
</Warning>

<div id="automatically-enabling-the-action">
  ### Activation automatique de l’Action
</div>

Lorsque le code de l’Action est mis à jour et que vous êtes prêt à effectuer la transition :

1. Sélectionnez **Déployer**.
2. Dans l’alerte qui confirme votre déploiement, sélectionnez **Ajouter au flux**.
3. Ajoutez l’Action que vous venez de créer au flux, puis sélectionnez **Appliquer.**
4. Sélectionnez **Continuer**, **puis désactivez toutes les Rules sélectionnées** pour activer simultanément la nouvelle Action et désactiver la Rule d’origine. Si vous n’êtes pas prêt, sélectionnez **Annuler**; vous pourrez désactiver la Rule plus tard pour activer la logique de l’Action migrée.

Pour en savoir plus sur l’ajout de votre Action au flux, consultez [Rédiger votre première Action](/fr-CA/docs/customize/actions/write-your-first-action).

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Si vous réactivez une Rule, la logique de l’Action correspondante est ignorée.
</Callout>

<div id="migrate-remaining-rules">
  ## Migrer les Rules restantes
</div>

Ce processus peut être répété pour migrer chaque Rule de votre flux de connexion. N'oubliez pas que les Rules doivent être migrées dans l'ordre inverse de celui dans lequel elles s'exécutent pendant le flux de connexion.
