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

# Variables et fonctions utilitaires

> Apprenez à utiliser les variables dans les Formulaires pour les Actions.

Les variables vous permettent d’accéder aux données contenues dans les Formulaires et les Flux pour créer une logique commerciale et des automatismes personnalisés.

Voici quelques considérations de base sur l’utilisation des variables :

* Les variables sont entourées d’accolades `{{ variable }}`.
* Si une variable n’existe pas ou ne peut pas être résolue, elle a le même effet qu’une variable dont la valeur est `undefined (indéfini)`.
* Vous pouvez utiliser des opérateurs nuls pour gérer les variables dont la valeur est `null` ou `undefined`, par exemple :`{{fields.foo ?? fields.bar}}`.

<div id="available-variables">
  ## Variables disponibles
</div>

Vous pouvez utiliser différents types de variables pour référencer et transformer les données que vous recueillez auprès des clients avec les Formulaires et les Flux.

<table class="table">
  <thead>
    <tr>
      <th><strong>Variable</strong></th>
      <th>\_<strong>Syntax</strong></th>
      <th><strong>Where</strong></th>
      <th><strong>Description</strong></th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>Contexte</td>
      <td>`{{contexte.*}}`</td>
      <td>Formes / Flux</td>
      <td>Données contextuelles de référence de la transaction en cours</td>
    </tr>

    <tr>
      <td>Champs de formulaire</td>
      <td>`{{fields. *}}`</td>
      <td>Formulaires / Flux</td>
      <td>Données de référence des champs de votre formulaire et des champs cachés</td>
    </tr>

    <tr>
      <td>Variables partagées</td>
      <td>`{{vars.*}}`</td>
      <td>Formulaires / Flux</td>
      <td>Données de référence stockées en tant que variables partagées</td>
    </tr>

    <tr>
      <td>Sortie des actions de flux</td>
      <td>`{{actions. *}}`</td>
      <td>Flux</td>
      <td>Données de référence de la réponse de sortie des actions de flux précédentes</td>
    </tr>

    <tr>
      <td>Fonctions d’aide</td>
      <td>`{{fonctions.*}}`</td>
      <td>Formulaires / Flux</td>
      <td>Fonctions d’aide pour transformer les données</td>
    </tr>
  </tbody>
</table>

<div id="context-variables">
  ### Variables de contexte
</div>

Les Formulaires et les Flux héritent automatiquement des variables de contexte de la transaction en cours. Vous pouvez accéder aux variables de contexte suivantes :

* L’objet `user`, avec accès aux propriétés suivantes :

  * `user.user_id`
  * `user.username`
  * `user.name`
  * `user.given_name`
  * `user.family_name`
  * `user.nickname`
  * `user.email`
  * `user.email_verified`
  * `user.phone_number`
  * `user.phone_verified`
  * `user.picture`
  * `user.user_metadata`
  * `user.app_metadata`
  * `user.created_at`
  * `user.updated_at`
  * `user.last_password_reset`
  * `user.identities`
* L’objet `organization`, avec accès aux propriétés suivantes :

  * `organization.id`
  * `organization.name`
  * `organization.display_name`
  * `organization.metadata`
* L’objet `client`, avec accès aux propriétés suivantes :

  * `client.client_id`
  * `client.name`
* L’objet `tenant (locataire)`, avec accès à la propriété suivante :

  * `tenant.name`
* L’objet `transaction`, avec accès à la propriété suivante :

  * `transaction.state`

<Accordion title="Exemple d’objet contextuel">
  ```json lines theme={null}
  {
    "user": {
      "user_id": "auth0|658409...",
      "name": "ana@travel0.com",
      "nickname": "ana",
      "email": "ana@travel0.com",
      "email_verified": true,
      "picture": "https://s.gravatar.com/avatar/8eb1b522f6...",
      "user_metadata": {},
      "app_metadata": {},
      "created_at": "2023-12-21T09:46:40.487Z",
      "updated_at": "2024-05-07T10:44:26.271Z",
      "last_password_reset": "2023-12-21T09:49:08.932Z",
      "identities": [
        {
          "user_id": "6584...",
          "isSocial": false,
          "provider": "auth0",
          "connection": "Username-Password-Authentication"
        }
      ]
    },
    "client": {
      "client_id": "xpeg5...",
      "name": "My App"
    },
    "tenant": {
      "name": "tenant-testing"
    },
    "transaction": {
      "state": "hKFo2SBId2M0..."
    }
  }
  ```
</Accordion>

Par exemple :  `{{context.user.user_id}}` référence `user_id` de l’objet `user`.

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=faef1bbfe71a000145ee13e284c99e27" alt="Dashboard > Forms > Flows" data-og-width="1141" width="1141" data-og-height="219" height="219" data-path="docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=280&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=e15c8534aad1546a56d6ad67053d44ea 280w, https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=560&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=524ccd0bdf0c861be1b3d079fcdf4585 560w, https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=840&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=13845d3352dd2d436bb3adbc608f9f69 840w, https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1100&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=4422c00aec7a44b6148678f884f7b796 1100w, https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=1650&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=00b819d78c10ddbbc6a77f9070a809ea 1650w, https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3B8DRhXO2wGqeqSFb8KbQv/0a61cdbbb7f1d290950a2ddb9857aac3/Contex-variable.png?w=2500&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=ba9fb2aff3c5a16ed208e5e4cbb10b41 2500w" />
</Frame>

<div id="form-fields-variables">
  ### Variables des champs du formulaire
</div>

Les variables de champ contiennent les données recueillies auprès de l’utilisateur dans les champs de saisie du formulaire et les données des champs cachés. Les données de chaque champ varient en fonction du type de champ. Par exemple : `{{fields.first_name}}` référence la valeur saisie dans le champ ayant l’ID `first_name`.

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=b9435c900d8c4220f491b0e5694bd344" alt="Dashboard > Actions > Forms > Form" data-og-width="1404" width="1404" data-og-height="497" height="497" data-path="docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=280&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=3dee59f8c0d5bb8dcaef59b18818917e 280w, https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=560&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=567eaaaf1510db6121f77f7c300cc775 560w, https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=840&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=792243d43a21acbbfb70fd61bf278db2 840w, https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1100&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=313ccf36db7eb18a2c995663e3377553 1100w, https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=1650&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=1d717c0b876fedd67a54b9892a713b30 1650w, https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4D42A6ww4XvFxweoxh04Rd/016c2ed9d25bc2267ed3ed31bf8b2bf6/form-fields-variable.png?w=2500&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=6256fcf30c32c95d15e530d1af060e76 2500w" />
</Frame>

<div id="flow-output-actions-variables">
  ### Variables des actions de sortie de flux
</div>

Lorsqu’une action de flux est exécutée, elle génère un objet qui peut être référencé dans les actions suivantes. Par exemple : `{{actions.generate_otp.code}}` référence le code résultant de l’action avec l’ID`generate_otp`.

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/9lDbWecp3mLK18lk/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?fit=max&auto=format&n=9lDbWecp3mLK18lk&q=85&s=f2debff63e5320ecb65756b56de1da9d" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="253" height="253" data-path="docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/9lDbWecp3mLK18lk/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=280&fit=max&auto=format&n=9lDbWecp3mLK18lk&q=85&s=12be48f6ba7f4459ff3420c8f0c87513 280w, https://mintcdn.com/generaltranslationinc/9lDbWecp3mLK18lk/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=560&fit=max&auto=format&n=9lDbWecp3mLK18lk&q=85&s=568e8217a478788030181ecf7dcb20f4 560w, https://mintcdn.com/generaltranslationinc/9lDbWecp3mLK18lk/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=840&fit=max&auto=format&n=9lDbWecp3mLK18lk&q=85&s=38cf7ef02b10923e652c7a2ba461ec6f 840w, https://mintcdn.com/generaltranslationinc/9lDbWecp3mLK18lk/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1100&fit=max&auto=format&n=9lDbWecp3mLK18lk&q=85&s=39d369d22208cb37b1fc0e91f042d7a0 1100w, https://mintcdn.com/generaltranslationinc/9lDbWecp3mLK18lk/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=1650&fit=max&auto=format&n=9lDbWecp3mLK18lk&q=85&s=c952cc1ce4fd6620bfc5d0128b713f14 1650w, https://mintcdn.com/generaltranslationinc/9lDbWecp3mLK18lk/docs/images/fr-ca/cdy7uua7fh8z/6jYtEdYqSGXm3DDv0mxQ0o/2d48012629745e07137bf6ba42f4d829/flow-output-variable.png?w=2500&fit=max&auto=format&n=9lDbWecp3mLK18lk&q=85&s=27075dc9dca872648200807ab01c984b 2500w" />
</Frame>

<div id="shared-variables">
  ### Variables partagées
</div>

Vous pouvez stocker des variables à partager avec des flux ultérieurs ou même avec des composants de formulaire dans la même transaction. Les variables partagées sont éphémères et sont associées à un parcours de formulaire spécifique. Leurs valeurs ne sont pas accessibles en dehors de ce parcours. Par exemple : `{{vars.external_id}}` référence la valeur d’une variable partagée avec l’ID `external_id`.

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=754c8dd7f724eecb5d822b22b37e334a" alt="Dashboard > Actions > Forms > Flows" data-og-width="1215" width="1215" data-og-height="162" height="162" data-path="docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=280&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=f237cd62fc724bd3a246320b20a65c4a 280w, https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=560&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=fb7bd8c636860bd2eeebc6ac3a47f23b 560w, https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=840&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=e1fc782205ace66c42db3a1f10020a5b 840w, https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1100&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=8fb16a07551af11e8636365ede3be717 1100w, https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=1650&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=4b3730940522c35fd7dc3d4bc2bb470e 1650w, https://mintcdn.com/generaltranslationinc/2RKJkv7bJ8pSb5rN/docs/images/fr-ca/cdy7uua7fh8z/4571ExRTHL0KZKJKX9pNwj/abb631b8608a6356b0e5b3784cf8b02f/flow-shared-variable.png?w=2500&fit=max&auto=format&n=2RKJkv7bJ8pSb5rN&q=85&s=3bae8f6b2a9fb10d88c4ec2a15286a03 2500w" />
</Frame>

<Warning>
  Variables partagées :

  * elles sont internes (côté serveur) et ne sont pas exposées au navigateur (côté client).
  * elle peuvent être résolues et exposées au navigateur si vous avez référencé une variable partagée dans le composant de formulaire.
</Warning>

<div id="helper-functions">
  ### Fonctions utilitaires
</div>

Les fonctions utilitaires permettent de transformer les données et d’effectuer des opérations simples. Par exemple : `{{functions.toString(fields.privacy_policies)}}` transforme la valeur du champ ayant l’ID `privacy_policies` utilisant la fonction `toString()`.

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/YjN60X_U-1aBZwRP/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?fit=max&auto=format&n=YjN60X_U-1aBZwRP&q=85&s=aa72e7157625e6a4cc1a18e128a0ec2c" alt="Dashboard > Actions > Forms > Flows" data-og-width="1404" width="1404" data-og-height="290" height="290" data-path="docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/YjN60X_U-1aBZwRP/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=280&fit=max&auto=format&n=YjN60X_U-1aBZwRP&q=85&s=a7d148b7303ada59993f10a909904eb5 280w, https://mintcdn.com/generaltranslationinc/YjN60X_U-1aBZwRP/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=560&fit=max&auto=format&n=YjN60X_U-1aBZwRP&q=85&s=bd750cf11369b42d324693d9acc436c1 560w, https://mintcdn.com/generaltranslationinc/YjN60X_U-1aBZwRP/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=840&fit=max&auto=format&n=YjN60X_U-1aBZwRP&q=85&s=cd44c483340310480014f87cd2538e4e 840w, https://mintcdn.com/generaltranslationinc/YjN60X_U-1aBZwRP/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1100&fit=max&auto=format&n=YjN60X_U-1aBZwRP&q=85&s=c89c5a9ea3ea28fa5859d8ce85b2da2b 1100w, https://mintcdn.com/generaltranslationinc/YjN60X_U-1aBZwRP/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=1650&fit=max&auto=format&n=YjN60X_U-1aBZwRP&q=85&s=b3158d202af0fcdef5d8b4531e953fac 1650w, https://mintcdn.com/generaltranslationinc/YjN60X_U-1aBZwRP/docs/images/fr-ca/cdy7uua7fh8z/1gyox33XJEtdkT43NppblT/0e878cc5ae2bde11b4207e105bbac6c5/flow-helper-functions.png?w=2500&fit=max&auto=format&n=YjN60X_U-1aBZwRP&q=85&s=00a94421ca12ed716e48f70898878316 2500w" />
</Frame>

Les fonctions utilitaires disponibles sont les suivantes :

<table class="table">
  <thead>
    <tr>
      <th>Fonction</th>
      <th>Description</th>
      <th>Exemple</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>toArray(value)</td>
      <td>Convertit la valeur en un tableau</td>
      <td>{"{{ functions.toArray('abc') }}"} // \['abc']</td>
    </tr>

    <tr>
      <td>toBoolean(value)</td>
      <td>Convertit la valeur en valeur booléenne</td>
      <td>{"{{ functions.toBoolean(1) }}"} // true  <br /><br />{"{{ functions.toBoolean(0) }}"} // false</td>
    </tr>

    <tr>
      <td>length(value)</td>
      <td>Renvoie la longueur de la valeur du paramètre</td>
      <td>{"{{ functions.length('auth0') }}"} // 5</td>
    </tr>

    <tr>
      <td>mask(value)</td>
      <td>Masque une valeur pour éviter l’exposition dans les exécutions</td>
      <td>{"{{ functions.mask('my_awesome_secret') }}"} // ███</td>
    </tr>

    <tr>
      <td>toNumber(value)</td>
      <td>Convertit la valeur en nombre</td>
      <td>{"{{ functions.toNumber('123') }}"} // 123</td>
    </tr>

    <tr>
      <td>random(min, max, \[boolean])</td>
      <td>Renvoie un nombre aléatoire compris entre les valeurs minimales et maximales incluses.</td>
      <td>{"{{ functions.random(0, 6) }}"} // 4 <br /><br />{"{{ functions.random(0, 6, true) }}"} // 3.8523497...</td>
    </tr>

    <tr>
      <td>slice(value, start, end)</td>
      <td>Renvoie une section d’un tableau de valeurs ou d’une chaîne de caractères entre les indices de début et de fin.</td>
      <td>{"{{ functions.slice( 'example', 3, 5) }}"} // 'mp'</td>
    </tr>

    <tr>
      <td>toString(value)</td>
      <td>Convertit la valeur en chaîne</td>
      <td>{"{{ functions.toString(123) }}"} // '123'</td>
    </tr>

    <tr>
      <td>substring(value, start, end)</td>
      <td>Renvoie une section d’une valeur entre les indices de début et de fin. En savoir plus sur les <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/substring#differences_between_substring_and_slice">différences entre les fonctions slice et substring</a></td>
      <td>{"{{ functions.substring( 'example', 3, 5) }}"} // 'mp'</td>
    </tr>

    <tr>
      <td>toTimestamp()</td>
      <td>Renvoie l’horodatage UNIX actuel</td>
      <td>{"{{ functions.toTimestamp() }}"} // 1628761483</td>
    </tr>

    <tr>
      <td>toTimestamp(date)</td>
      <td>Renvoie la date fournie en heure UNIX</td>
      <td>{"{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }}"} // 1619776970</td>
    </tr>

    <tr>
      <td>toTimestamp(date)</td>
      <td>Renvoie la date fournie en heure UNIX</td>
      <td>{"{{ functions.toTimestamp('2021-04-30T10:02:50.876Z') }}"} // 1619776970</td>
    </tr>

    <tr>
      <td>replaceAll(value, string, replacement)</td>
      <td>Renvoie une nouvelle chaîne dans laquelle toutes les correspondances d’un modèle sont remplacées par un substitut.</td>
      <td>{"{{ functions.replaceall('2021-04-30', '-', '/') }}"} // 2021/04/30</td>
    </tr>

    <tr>
      <td>replace(value, string, replacement)</td>
      <td>Renvoie une nouvelle chaîne dans laquelle toutes les correspondances d’un modèle sont remplacées par un substitut. Si le motif est une chaîne, seule la première occurrence sera remplacée.</td>
      <td>{"{{ functions.replace('2021-04-30', '-', '/') }}"} // 2021/04-30</td>
    </tr>

    <tr>
      <td>split(value, separator, limit?)</td>
      <td>Renvoie une liste ordonnée de sous-chaînes divisées par le séparateur.</td>
      <td>{"{{ functions.split('2021-04-30', '-') }}"} // \['2021', '04', '30']</td>
    </tr>

    <tr>
      <td>now()</td>
      <td>Renvoie la date actuelle au format ISO 8601.</td>
      <td>{"{{ functions.now() }}"} // 2021-04-30T10:31:28.576Z</td>
    </tr>

    <tr>
      <td>includes(collection, item, fromIndex?)</td>
      <td>Renvoie le fait qu’un tableau contienne une certaine valeur parmi ses entrées.</td>
      <td>{"{{ functions.includes(['auth0', 'identity', 'authentication'], 'identity') }}"} // true</td>
    </tr>

    <tr>
      <td>indexOf(collection, item, fromIndex?)</td>
      <td>Renvoie le premier indice auquel un élément donné peut être trouvé dans le tableau, ou -1 s’il n’est pas présent.</td>
      <td>{"{{ functions.indexOf(['auth0', 'identity', 'authentication'], 'identity') }}"} // 1</td>
    </tr>

    <tr>
      <td>merge(base, value)</td>
      <td>Renvoie un tableau fusionné, un objet ou concatène une chaîne de caractères en fonction du type de données de base.</td>
      <td>{"{{ functions.merge(['auth0', 'identity'], ['authentication']) }}"} // \['auth0', 'identity', 'authentication']</td>
    </tr>

    <tr>
      <td>md5(value)</td>
      <td>Renvoie une valeur hachée MD5.</td>
      <td>{"{{ functions.md5('auth0') }}"} // 7bbb597...</td>
    </tr>

    <tr>
      <td>sha1(value)</td>
      <td>Renvoie une valeur hachée SHA1.</td>
      <td>{"{{ functions.sha1('auth0') }}"} // b4ec5339...</td>
    </tr>

    <tr>
      <td>sha256(value)</td>
      <td>Renvoie une valeur hachée SHA256.</td>
      <td>{"{{ functions.sha256('auth0') }}"} // d9082bdc...</td>
    </tr>

    <tr>
      <td>sha512(value)</td>
      <td>Renvoie une valeur hachée SHA512.</td>
      <td>{"{{ functions.sha512('auth0') }}"} // c0d588069d...</td>
    </tr>

    <tr>
      <td>uuid()</td>
      <td>Renvoie un UUID v4 aléatoire</td>
      <td>{"{{ functions.uuid() }}"} // 36b8f84d-df4e-4d49-b662-bcde71a8764</td>
    </tr>
  </tbody>
</table>

<div id="variables-best-practices">
  ## Meilleures pratiques pour les variables
</div>

<div id="use-meaningful-ids">
  ### Utiliser des ID significatifs
</div>

Lorsque vous ajoutez un champ de Formulaire ou une action de Flux, l’ID est automatiquement généré.

Mettez à jour l’ID avec une valeur plus descriptive afin de pouvoir identifier les informations qu’il contient. Par exemple, si vous créez un champ de Formulaire qui stocke le prénom de l’utilisateur, modifiez l’ID en `first_name`.

<div id="be-mindful-when-updating-existing-ids">
  ### Soyez vigilant lorsque vous mettez à jour des ID existants
</div>

Si une variable est déjà utilisée et que vous devez modifier son ID, identifiez l’endroit où vous l’avez référencée et mettez l’ID à jour en conséquence pour éviter les valeurs indéfinies ou vides.

<div id="check-flow-executions">
  ### Vérifier l’exécution des Flux
</div>

Si vous constatez une valeur de variable inattendue, utilisez l’aperçu [**Executions (Exécutions)**](/docs/fr-CA/fr-ca/customize/forms/flows/flow-execution-and-debugger) pour dépanner la variable.

<div id="use-the-autocomplete-menu">
  ### Utiliser le menu de remplissage automatique
</div>

Le menu de remplissage automatique vous aide à localiser et à référencer correctement les variables existantes.

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=31c52939bd3cbe4480187cbf0681210b" alt="Dashboard > Actions > Forms > Flows" data-og-width="1361" width="1361" data-og-height="502" height="502" data-path="docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=280&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=56cbd5e029f85aa6553c82b0b0853e19 280w, https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=560&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=27f8d4c83dba8bba9f11f87f50113664 560w, https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=840&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=041e550eaf978c6689c07e87b12e7912 840w, https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1100&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=f4adf4f982b3a8e4c3680ae3020c2dfe 1100w, https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=1650&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=136fb911c8054e65f058f5b89c0c05f0 1650w, https://mintcdn.com/generaltranslationinc/RnTJ5sT0kNq-58cb/docs/images/fr-ca/cdy7uua7fh8z/3SKnDuaMzSImxZtDDAoZaz/9ea800fad29ef71d1ded3c72b87660a4/Autocomplete-flows.png?w=2500&fit=max&auto=format&n=RnTJ5sT0kNq-58cb&q=85&s=dd1dfb8bb8de92472607ed4e5aacd9b1 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/generaltranslationinc/3aRX_yPVEOtgRzDg/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?fit=max&auto=format&n=3aRX_yPVEOtgRzDg&q=85&s=ae15a8f2b98aaed1c6dd01d40c454153" alt="Dashboard > Actions > Forms > Form" data-og-width="1394" width="1394" data-og-height="630" height="630" data-path="docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/generaltranslationinc/3aRX_yPVEOtgRzDg/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=280&fit=max&auto=format&n=3aRX_yPVEOtgRzDg&q=85&s=0b6b092b00c2677cf30b302174ce566a 280w, https://mintcdn.com/generaltranslationinc/3aRX_yPVEOtgRzDg/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=560&fit=max&auto=format&n=3aRX_yPVEOtgRzDg&q=85&s=04a7647b18dc587b864ba55ff67cfb77 560w, https://mintcdn.com/generaltranslationinc/3aRX_yPVEOtgRzDg/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=840&fit=max&auto=format&n=3aRX_yPVEOtgRzDg&q=85&s=31feeed297bddf9db5759189b2d67435 840w, https://mintcdn.com/generaltranslationinc/3aRX_yPVEOtgRzDg/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1100&fit=max&auto=format&n=3aRX_yPVEOtgRzDg&q=85&s=59e0e1524bd198b8441c58f14d37df5c 1100w, https://mintcdn.com/generaltranslationinc/3aRX_yPVEOtgRzDg/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=1650&fit=max&auto=format&n=3aRX_yPVEOtgRzDg&q=85&s=8ec85959a93f3c268d5f8ffed0e7fb92 1650w, https://mintcdn.com/generaltranslationinc/3aRX_yPVEOtgRzDg/docs/images/fr-ca/cdy7uua7fh8z/2kjRKozVgrd2a7UJXOANaN/ee5452d7210cd2f13b0e97763f11c82a/Autocomplete-forms.png?w=2500&fit=max&auto=format&n=3aRX_yPVEOtgRzDg&q=85&s=b9f8b5d3034e53b6c87c690912a42651 2500w" />
</Frame>
