

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Paramètres de page et d'automatisation
<a name="paramters"></a>

Les paramètres constituent une fonctionnalité puissante d' AWS App Studio qui permet de transmettre des valeurs dynamiques entre différents composants, pages et automatisations au sein de votre application. À l'aide de paramètres, vous pouvez créer des expériences flexibles et contextuelles, afin de rendre vos applications plus réactives et personnalisées. Cet article couvre deux types de paramètres : les paramètres de page et les paramètres d'automatisation.

**Topics**
+ [

# Paramètres de page
](parameters-page.md)
+ [

# Paramètres d'automatisation
](parameters-automation.md)

# Paramètres de page
<a name="parameters-page"></a>

Les paramètres de page permettent d'envoyer des informations entre les pages. Ils sont souvent utilisés lors de la navigation d'une page à l'autre dans une application App Studio pour conserver le contexte ou transmettre des données. Les paramètres de page se composent généralement d'un nom et d'une valeur.

## Cas d'utilisation des paramètres de page
<a name="parameters-pages-use-cases"></a>

Les paramètres de page sont utilisés pour transmettre des données entre différentes pages et composants au sein de vos applications App Studio. Ils sont particulièrement utiles dans les cas d'utilisation suivants :

1. **Recherche et filtrage** : lorsque les utilisateurs effectuent une recherche sur la page d'accueil de votre application, les termes de recherche peuvent être transmis en tant que paramètres à la page de résultats, ce qui permet à celle-ci d'afficher uniquement les éléments filtrés pertinents. Par exemple, si un utilisateur recherche*noise-cancelling headphones*, le paramètre avec la valeur *noise-cancelling headphones* peut être transmis à la page de liste des produits.

1. **Affichage des détails d'un article** : Si un utilisateur clique sur une annonce, telle qu'un produit, l'identifiant unique de cet article peut être transmis en tant que paramètre à la page de détails. Cela permet à la page de détails d'afficher toutes les informations relatives à l'article en question. Par exemple, lorsqu'un utilisateur clique sur un casque, l'identifiant unique du produit est transmis en tant que paramètre à la page de détails du produit.

1. **Transmission du contexte utilisateur dans la navigation** des pages : lorsque les utilisateurs naviguent entre les pages, les paramètres peuvent transmettre un contexte important, tel que l'emplacement de l'utilisateur, les catégories de produits préférées, le contenu du panier d'achat et d'autres paramètres. Par exemple, lorsqu'un utilisateur parcourt différentes catégories de produits sur votre application, son emplacement et ses catégories préférées sont conservés en tant que paramètres, offrant ainsi une expérience personnalisée et cohérente.

1. **Liens profonds** : utilisez les paramètres de page pour partager ou mettre en signet un lien vers une page spécifique de l'application.

1. **Actions sur les données** : vous pouvez créer des actions sur les données qui acceptent des valeurs de paramètres afin de filtrer et d'interroger vos sources de données en fonction des paramètres transmis. Par exemple, sur la page de liste des produits, vous pouvez créer une action de données qui accepte `category` des paramètres pour récupérer les produits concernés.

## Considérations concernant la sécurité des paramètres de page
<a name="parameters-pages-security"></a>

Bien que les paramètres de page constituent un moyen efficace de transmettre des données entre les pages, vous devez les utiliser avec prudence, car ils peuvent potentiellement exposer des informations sensibles s'ils ne sont pas utilisés correctement. Voici quelques points importants à prendre en compte en matière de sécurité :

1. **Évitez d'exposer des données sensibles dans URLs**

   1. **Risque** : URLs, y compris les paramètres d'action des données, sont souvent visibles dans les journaux du serveur, l'historique du navigateur, etc. Il est donc essentiel d'éviter d'exposer des données sensibles, telles que les informations d'identification des utilisateurs, les informations personnelles identifiables (PII) ou toute autre donnée confidentielle, dans les valeurs des paramètres de page.

   1. **Atténuation** : pensez à utiliser des identifiants qui peuvent être mappés en toute sécurité aux données sensibles. Par exemple, au lieu de transmettre le nom ou l'adresse e-mail d'un utilisateur en tant que paramètre, vous pouvez transmettre un identifiant unique aléatoire qui peut être utilisé pour récupérer le nom ou l'adresse e-mail de l'utilisateur.

# Paramètres d'automatisation
<a name="parameters-automation"></a>

Les paramètres d'automatisation constituent une fonctionnalité puissante d'App Studio qui permet de créer des automatisations flexibles et réutilisables en transmettant des valeurs dynamiques provenant de diverses sources, telles que l'interface utilisateur, d'autres automatisations ou des actions sur les données. Ils agissent comme des espaces réservés qui sont remplacés par des valeurs réelles lorsque l'automatisation est exécutée, ce qui vous permet d'utiliser la même automatisation avec des entrées différentes à chaque fois. 

Dans le cadre d'une automatisation, les paramètres ont des noms uniques, et vous pouvez référencer la valeur d'un paramètre à l'aide de la variable params suivie du nom du paramètre, par exemple,`{{params.customerId}}`.

Cet article fournit une compréhension approfondie des paramètres d'automatisation, y compris leurs concepts fondamentaux, leur utilisation et les meilleures pratiques.

## Avantages des paramètres d'automatisation
<a name="parameters-automation-benefits"></a>

Les paramètres d'automatisation offrent plusieurs avantages, dont la liste suivante :

1. **Réutilisabilité** : en utilisant des paramètres, vous pouvez créer des automatisations réutilisables qui peuvent être personnalisées avec différentes valeurs d'entrée, ce qui vous permet de réutiliser la même logique d'automatisation avec différentes entrées.

1. **Flexibilité** : au lieu de coder des valeurs en dur dans une automatisation, vous pouvez définir des paramètres et fournir différentes valeurs en cas de besoin, ce qui rend vos automatisations plus dynamiques et plus adaptables.

1. **Séparation des préoccupations** : les paramètres aident à séparer la logique d'automatisation des valeurs spécifiques utilisées, favorisant ainsi l'organisation et la maintenabilité du code.

1. **Validation** : chaque paramètre possède un type de données, tel qu'une chaîne, un nombre ou un booléen, qui est validé lors de l'exécution. Cela garantit que les demandes contenant des types de données incorrects sont rejetées sans qu'il soit nécessaire de recourir à un code de validation personnalisé.

1. **Paramètres facultatifs et obligatoires** : vous pouvez définir les paramètres d'automatisation comme facultatifs ou obligatoires. Les paramètres requis doivent être fournis lors de l'exécution de l'automatisation, tandis que les paramètres facultatifs peuvent avoir des valeurs par défaut ou être omis. Cette flexibilité vous permet de créer des automatisations plus polyvalentes capables de gérer différents scénarios en fonction des paramètres fournis.

## Scénarios et cas d'utilisation
<a name="parameters-automation-scenarios"></a>

### Scénario : récupération des détails du produit
<a name="parameters-automation-scenario-product-details"></a>



Imaginez que vous disposiez d'une automatisation qui récupère les détails d'un produit dans une base de données sur la base d'un identifiant de produit. Cette automatisation peut avoir un paramètre appelé`productId`.

Le `productId` paramètre agit comme un espace réservé que vous pouvez renseigner avec la valeur réelle de l'identifiant du produit lors de l'exécution de l'automatisation. Au lieu de coder en dur un identifiant de produit spécifique dans l'automatisation, vous pouvez définir le `productId` paramètre et transmettre différentes valeurs d'identifiant de produit à chaque fois que vous exécutez l'automatisation.

Vous pouvez appeler cette automatisation à partir de la source de données d'un composant, en transmettant l'identifiant du produit sélectionné comme `productId` paramètre à l'aide de la syntaxe à double crochet :`{{ui.productsTable.selectedRow.id}}`. Ainsi, lorsqu'un utilisateur sélectionne un produit dans un tableau (`ui.productsTable`), l'automatisation récupère les détails du produit sélectionné en transmettant l'identifiant de la ligne sélectionnée comme `productId` paramètre.

Vous pouvez également invoquer cette automatisation à partir d'une autre automatisation qui parcourt une liste de produits et récupère les détails de chaque produit en transmettant l'identifiant du produit comme `productId` paramètre. Dans ce scénario, la valeur du `productId` paramètre serait fournie dynamiquement à partir de l'`{{product.id}}`expression à chaque itération de la boucle.

En utilisant le `productId` paramètre et la syntaxe à double crochet, vous pouvez rendre cette automatisation plus flexible et réutilisable. Au lieu de créer des automatisations distinctes pour chaque produit, vous pouvez disposer d'une automatisation unique capable de récupérer les détails de n'importe quel produit en fournissant simplement l'identifiant de produit approprié comme valeur de paramètre à partir de différentes sources, telles que les composants de l'interface utilisateur ou d'autres automatisations.

### Scénario : gestion des paramètres facultatifs avec des valeurs de remplacement
<a name="parameters-automation-scenario-optional-parameters"></a>

Imaginons un scénario dans lequel vous avez une entité « Tâche » avec une colonne « Propriétaire » obligatoire, mais vous souhaitez que ce champ soit facultatif dans l'automatisation et fournisse une valeur de remplacement si le propriétaire n'est pas sélectionné.

1. Créez une automatisation avec un paramètre nommé `Owner` qui correspond au `Owner` champ de l'`Task`entité.

1. Le `Owner` champ étant obligatoire dans l'entité, le `Owner` paramètre sera synchronisé avec le paramètre requis.

1. Pour rendre le `Owner` paramètre facultatif dans l'automatisation, désactivez-le. `required`

1. Dans votre logique d'automatisation, vous pouvez utiliser une expression telle que`{{params.Owner || currentUser.userId}}`. Cette expression vérifie si le `Owner` paramètre est fourni. S'il n'est pas fourni, l'identifiant actuel de l'utilisateur en tant que propriétaire sera rétabli.

1. Ainsi, si l'utilisateur ne sélectionne pas de propriétaire dans un formulaire ou un composant, l'automatisation désignera automatiquement l'utilisateur actuel comme propriétaire de la tâche.

En activant le `required` réglage du `Owner` paramètre et en utilisant une expression de remplacement, vous pouvez le dissocier de l'exigence du champ d'entité, le rendre facultatif dans l'automatisation et fournir une valeur par défaut lorsque le paramètre n'est pas fourni.

## Définition des types de paramètres d'automatisation
<a name="parameters-automation-create"></a>

En utilisant des types de paramètres pour spécifier les types de données et définir les exigences, vous pouvez contrôler les entrées de vos automatisations. Cela permet de garantir que vos automatisations fonctionnent de manière fiable avec les entrées attendues.

### Synchronisation des types depuis une entité
<a name="parameters-automation-synchronize-entity"></a>

La synchronisation dynamique des types de paramètres et des exigences à partir des définitions des champs d'entité rationalise les automatisations des bâtiments qui interagissent avec les données des entités, garantissant ainsi que le paramètre reflète toujours le type de champ d'entité et les exigences les plus récents.

La procédure suivante détaille les étapes générales de synchronisation des types de paramètres à partir d'une entité :

1. Créez une entité avec des champs saisis (par exemple, booléen, numérique, etc.) et marquez les champs selon vos besoins.

1. Créez une nouvelle automatisation.

1. Ajoutez des paramètres à l'automatisation, et lorsque vous choisissez le **type**, choisissez le champ d'entité avec lequel vous souhaitez effectuer la synchronisation. Le type de données et le paramètre requis seront automatiquement synchronisés à partir du champ d'entité mappé

1. Si nécessaire, vous pouvez annuler le paramètre « obligatoire » en le modifiant on/off pour chaque paramètre. Cela signifie que le statut requis ne sera pas synchronisé avec le champ d'entité, mais sinon, il restera synchronisé.

### Définition manuelle des types
<a name="parameters-automation-custom-types"></a>

Vous pouvez également définir les types de paramètres manuellement sans effectuer de synchronisation à partir d'une entité.

En définissant des types de paramètres personnalisés, vous pouvez créer des automatisations qui acceptent des types d'entrée spécifiques et gèrent les paramètres facultatifs ou obligatoires selon les besoins, sans vous fier aux mappages de champs d'entités.

1. Créez une entité avec des champs saisis (par exemple, booléen, numérique, etc.) et marquez les champs selon vos besoins.

1. Créez une nouvelle automatisation.

1. Ajoutez des paramètres à l'automatisation, et lorsque vous choisissez le **type**, choisissez le type souhaité.

## Configuration des valeurs dynamiques à transmettre aux paramètres d'automatisation
<a name="parameters-automation-pass-values"></a>

Une fois que vous avez défini les paramètres d'une automatisation, vous pouvez leur transmettre des valeurs lorsque vous invoquez l'automatisation. Vous pouvez transmettre des valeurs de paramètres de deux manières :

1. **Déclencheurs de composants** : si vous appelez l'automatisation à partir d'un déclencheur de composant, par exemple en cliquant sur un bouton, vous pouvez utiliser des JavaScript expressions pour transmettre des valeurs depuis le contexte du composant. Par exemple, si vous avez un champ de saisie de texte nommé`emailInput`, vous pouvez transmettre sa valeur au paramètre e-mail avec l'expression suivante :`ui.emailInput.value`.

1. **Autres automatisations** : si vous invoquez l'automatisation depuis une autre automatisation, vous pouvez utiliser des JavaScript expressions pour transmettre des valeurs issues du contexte d'automatisation. Par exemple, vous pouvez transmettre la valeur d'un autre paramètre ou le résultat d'une action précédente.

## Type de sécurité
<a name="parameters-automation-type-safety"></a>

En définissant des paramètres avec des types de données spécifiques, tels que String, Number ou Boolean, vous pouvez vous assurer que les valeurs transmises à votre automatisation sont du type attendu.

**Note**  
Dans App Studio, les dates sont des dates de chaîne ISO, et elles seront également validées.

Cette sécurité de type permet d'éviter les incohérences entre les types, qui peuvent entraîner des erreurs ou des comportements inattendus dans votre logique d'automatisation. Par exemple, si vous définissez un paramètre sous la forme d'un`Number`, vous pouvez être sûr que toute valeur transmise à ce paramètre sera un nombre, et vous n'aurez pas à effectuer de vérifications de type ou de conversions supplémentaires dans le cadre de votre automatisation.

## Validation
<a name="parameters-automation-validation"></a>

Vous pouvez ajouter des règles de validation à vos paramètres, afin de vous assurer que les valeurs transmises à votre automatisation répondent à certains critères.

Bien qu'App Studio ne propose pas de paramètres de validation intégrés pour les paramètres, vous pouvez implémenter des validations personnalisées en ajoutant à votre automatisation une JavaScript action qui génère une erreur si des contraintes spécifiques ne sont pas respectées.

Pour les champs d'entité, un sous-ensemble de règles de validation, telles que minimum/maximum les valeurs, est pris en charge. Toutefois, celles-ci ne sont pas validées au niveau de l'automatisation, uniquement au niveau de la couche de données, lors de l'exécution d'actions Create/Update/Delete Record.

## Bonnes pratiques pour les paramètres d'automatisation
<a name="parameters-automation-best-practices"></a>

Pour vous assurer que vos paramètres d'automatisation sont bien conçus, faciles à gérer et faciles à utiliser, suivez les meilleures pratiques suivantes :

1. **Utiliser des noms de paramètres descriptifs** : Choisissez des noms de paramètres qui décrivent clairement l'objectif ou le contexte du paramètre.

1. **Fournissez des descriptions des paramètres** : utilisez le champ **Description** lorsque vous définissez des paramètres pour expliquer leur objectif, leurs contraintes et leurs attentes. Ces descriptions apparaîtront dans les JSDoc commentaires lors du référencement du paramètre, ainsi que dans toutes les interfaces utilisateur où les utilisateurs doivent fournir des valeurs pour les paramètres lorsqu'ils invoquent l'automatisation.

1. **Utilisez les types de données appropriés** : examinez attentivement le type de données de chaque paramètre en fonction des valeurs d'entrée attendues, par exemple : chaîne, nombre, booléen, objet.

1. **Valider les valeurs des paramètres** : mettez en œuvre des contrôles de validation appropriés au sein de votre automatisation pour vous assurer que les valeurs des paramètres répondent à des exigences spécifiques avant de procéder à d'autres actions.

1. **Utiliser des valeurs de remplacement ou des valeurs par défaut** : bien qu'App Studio ne prenne actuellement pas en charge la définition de valeurs par défaut pour les paramètres, vous pouvez implémenter des valeurs de secours ou des valeurs par défaut lorsque vous utilisez les paramètres dans votre logique d'automatisation. Par exemple, vous pouvez utiliser une expression telle que `{{ params.param1 || "default value" }}` fournir une valeur par défaut si le `param1` paramètre n'est pas fourni ou s'il contient une valeur fausse.

1. **Maintien de la cohérence** des paramètres : si plusieurs automatisations nécessitent des paramètres similaires, essayez de maintenir la cohérence des noms de paramètres et des types de données entre ces automatisations.

1. **Utilisation des paramètres du document** : conservez une documentation claire pour vos automatisations, y compris des descriptions de chaque paramètre, de son objectif, des valeurs attendues et de tout exemple ou cas exceptionnel pertinent.

1. **Révisez et refactorisez fréquemment** : passez régulièrement en revue vos automatisations et leurs paramètres, en refactorisant ou en consolidant les paramètres selon les besoins pour améliorer la clarté, la maintenabilité et la réutilisabilité.

1. **Limitez le nombre de paramètres** : bien que les paramètres apportent de la flexibilité, un trop grand nombre de paramètres peut rendre une automatisation complexe et difficile à utiliser. Essayez de trouver un équilibre entre flexibilité et simplicité en limitant le nombre de paramètres au strict nécessaire.

1. **Envisagez le regroupement de paramètres** : si vous définissez plusieurs paramètres connexes, envisagez de les regrouper en un seul *Object* paramètre.

1. **Problèmes distincts** : évitez d'utiliser un seul paramètre à des fins multiples ou de combiner des valeurs indépendantes en un seul paramètre. Chaque paramètre doit représenter une préoccupation ou une donnée distincte.

1. **Utiliser des alias de paramètres** : si vos paramètres ont des noms longs ou complexes, pensez à utiliser des alias ou des versions abrégées dans la logique d'automatisation pour une meilleure lisibilité et une meilleure maintenabilité.

En suivant ces meilleures pratiques, vous pouvez vous assurer que vos paramètres d'automatisation sont bien conçus, faciles à gérer et faciles à utiliser, améliorant ainsi la qualité et l'efficacité globales de vos automatisations.