Gestion de l’état 101 : variables et collections dans Power Fx
By Mirko Peters ·
Bienvenue de nouveau sur le blog d’accompagnement du podcast ! Au fur et à mesure que vous développez vos solutions low-code dans l’écosystème Microsoft, vous constatez rapidement que les écrans simples et statiques ne sont qu’un début. Les applications métier réelles ont besoin de mémoire. Elles doivent retenir les choix des utilisateurs, conserver temporairement des articles dans un panier, suiv
Automatically translated with AI from the original post. Read the English original

Bienvenue de nouveau sur le blog d’accompagnement du podcast ! Au fur et à mesure que vous développez vos solutions low-code dans l’écosystème Microsoft, vous constatez rapidement que les écrans simples et statiques ne sont qu’un début. Les applications métier réelles ont besoin de mémoire. Elles doivent retenir les choix des utilisateurs, conserver temporairement des articles dans un panier, suivre la progression d’un formulaire en plusieurs étapes et manipuler des groupes d’enregistrements avant de les renvoyer vers une source de données comme Microsoft Dataverse ou SharePoint. Cette exigence nous amène directement au concept de gestion de l’état.
Dans notre récent épisode de podcast, Microsoft Power Fx - Simply Explained, nous avons expliqué comment ce puissant langage de formules fait le lien entre la familiarité des tableurs et le développement d’applications métier à grande échelle. Nous avons évoqué la manière dont Power Fx pilote les interfaces utilisateur dynamiques, gère les connexions aux données et permet aux développeurs citoyens comme aux professionnels de l’IT de travailler ensemble. Si vous n’avez pas encore écouté cet épisode, n’hésitez pas à le découvrir : il constitue une base complète pour comprendre comment Power Fx transforme le paysage du low-code. Aujourd’hui, nous allons approfondir l’un des sujets essentiels abordés dans cet épisode : la gestion de l’état à travers les variables et les collections.
Introduction à la gestion de l’état dans Power Fx
La gestion de l’état peut sembler un terme technique complexe, mais au fond, elle désigne simplement le suivi de la situation courante de votre application. Lorsqu’un utilisateur ouvre une application, clique sur un bouton, filtre une galerie ou saisit du texte dans un formulaire, l’application passe par différents états. Sans gestion de l’état, chaque écran se réinitialiserait dès que l’utilisateur quitterait la page, et votre application souffrirait d’une perte de mémoire à court terme.
Dans la programmation traditionnelle, la gestion de l’état peut impliquer des structures de données complexes, une allocation de mémoire et le débogage de fuites mémoire. Power Fx, en revanche, reste accessible grâce à sa nature déclarative, tout en proposant des fonctions impératives lorsque vous devez stocker des valeurs temporaires. Savoir gérer cet état efficacement fait la différence entre un prototype basique et une application d’entreprise robuste, prête pour la production. Que vous construisiez un simple outil interne ou un vaste tableau de bord organisationnel, savoir quand et comment stocker temporairement des informations est une compétence essentielle pour tout créateur Power Apps.
Comprendre les variables : stocker des informations temporairement
Les variables sont les briques fondamentales de la gestion de l’état. Imaginez une variable comme un conteneur étiqueté ou un post-it sur lequel vous notez une information pour la retrouver plus tard. Dans Power Fx, les variables existent sous plusieurs formes, chacune conçue pour une portée et une durée de vie spécifiques au sein de votre application.
Le premier type de variable, le plus courant, est la variable de contexte, créée à l’aide de la fonction UpdateContext. Les variables de contexte sont strictement limitées à un seul écran. Elles sont idéales pour suivre des états d’interface, comme l’ouverture ou la fermeture d’un panneau d’informations détaillées, l’onglet actuellement consulté par l’utilisateur ou une valeur d’identifiant temporaire nécessaire uniquement à la mise en page de cet écran. Comme elles sont locales à l’écran, elles sont automatiquement effacées lorsque l’utilisateur quitte celui-ci, ce qui contribue à garder la mémoire de votre application propre et organisée.
Le deuxième type est la variable globale, créée à l’aide de la fonction Set. Les variables globales sont accessibles depuis n’importe quel point de votre application. Si vous devez stocker des informations sur l’utilisateur actuellement connecté, des paramètres de configuration globaux ou des préférences à l’échelle de l’organisation dont chaque écran a besoin, les variables globales sont votre outil de prédilection. Cependant, un grand pouvoir implique de grandes responsabilités : un usage excessif des variables globales peut rendre votre application difficile à déboguer, puisque n’importe quel écran peut modifier leurs valeurs à tout moment. Bonne pratique : réservez les variables globales aux données réellement globales et privilégiez, chaque fois que c’est possible, les variables de contexte propres à chaque écran.
Maîtriser les collections : gérer des groupes d’enregistrements
Si les variables sont parfaites pour stocker une information unique, comme un nombre, une chaîne de texte, une valeur booléenne vrai/faux ou un enregistrement unique, que faire lorsque vous devez gérer une liste complète d’éléments ? C’est là qu’interviennent les collections.
Une collection est, en substance, un jeu de données tabulaire local, stocké dans la mémoire de l’appareil de l’utilisateur. Elle reprend exactement la même structure tabulaire que celle des sources de données comme Dataverse, SharePoint ou SQL Server. Vous pouvez créer et alimenter une collection avec la fonction Collect, ajouter des éléments avec Collect ou Patch, supprimer des éléments avec Remove ou RemoveIf, et vider entièrement son contenu avec Clear.
Les collections sont indispensables dans les scénarios hors connexion, pour les fonctions de panier d’achat, les formulaires de saisie multi-éléments où l’utilisateur ajoute plusieurs lignes avant de tout enregistrer en un seul lot, ou encore pour la mise en cache de données de référence afin d’améliorer les performances de l’application. Comme les collections résident localement en mémoire, leur interrogation et leur manipulation sont instantanées, sans aller-retour vers votre serveur ou votre source de données cloud. Votre application reste ainsi fluide et réactive, même lorsqu’elle manipule des ensembles complexes de données saisies par les utilisateurs.
Variables ou collections : quand utiliser l’une ou l’autre
L’une des questions les plus fréquentes chez les nouveaux développeurs Power Apps est la suivante : « Quand dois-je utiliser une variable, et quand dois-je utiliser une collection ? » La réponse dépend de la nature et du volume des données que vous manipulez.
Utilisez une variable lorsque vous manipulez une valeur scalaire ou un objet unique et distinct. Si vous devez stocker le nom d’un utilisateur, la valeur sélectionnée dans une liste déroulante, l’état d’un bouton bascule ou un seul enregistrement représentant l’élément sélectionné dans une galerie, la variable est le choix approprié. Les variables sont légères et conçues pour le suivi de valeurs uniques.
Utilisez une collection lorsque vous manipulez plusieurs lignes et colonnes de données. Si votre utilisateur constitue une liste d’éléments à soumettre, sélectionne plusieurs cases à cocher dans une galerie pour effectuer une mise à jour groupée, ou récupère une table de recherche pour la filtrer localement, une collection est indispensable. Considérez les variables comme des notes adhésives individuelles posées sur votre bureau, et les collections comme des dossiers complets contenant plusieurs documents.
Bonnes pratiques pour des solutions évolutives et maintenables
À mesure que vos applications Power Apps gagnent en complexité, des variables et des collections mal gérées peuvent transformer votre solution en un enchevêtrement de logique difficile à suivre. Pour garder vos applications évolutives et faciles à maintenir, adoptez quelques bonnes pratiques éprouvées :
- Limitez les variables globales : réservez l’utilisation de Set() aux paramètres au niveau de l’application et aux métadonnées utilisateur. Utilisez UpdateContext() pour les états d’interface propres à un écran, afin d’éviter les effets de bord inattendus entre les différents écrans.
- Videz et réinitialisez en connaissance de cause : assurez-vous toujours que vos collections sont vidées ou correctement initialisées lorsqu’un utilisateur démarre un nouveau processus. Conserver des données obsolètes issues d’une session précédente peut provoquer des bogues déroutants et des soumissions de formulaires erronées.
- Documentez l’état de votre application : utilisez des commentaires dans vos formules Power Fx. Oui, Power Fx prend en charge les commentaires avec une double barre oblique (//) ! Documenter l’endroit où les variables sont initialisées et modifiées vous fera gagner un temps considérable lors du dépannage.
- Tirez parti des formules nommées (App.Formulas) : profitez des fonctionnalités modernes de Power Fx, notamment les formules nommées de l’objet App. Elles se comportent comme des variables qui se recalculent automatiquement et peuvent grandement simplifier l’architecture de votre application par rapport aux variables impératives traditionnelles.
Conclusion et prochaines étapes de votre parcours Power Apps
Maîtriser les variables et les collections marque un tournant majeur dans votre parcours low-code. Vous passez de la création d’interfaces statiques et rigides à celle d’applications métier dynamiques et intelligentes, capables de s’adapter en toute fluidité aux saisies des utilisateurs et aux processus organisationnels complexes. En comprenant comment stocker temporairement des valeurs uniques et gérer des groupes entiers d’enregistrements en mémoire, vous exploitez tout le potentiel de Microsoft Power Apps.
Pour approfondir le fonctionnement de Power Fx et découvrir davantage de retours d’expérience pratiques sur le développement low-code, écoutez l’intégralité de l’épisode de podcast Microsoft Power Fx - Simply Explained. Commencez à expérimenter avec les variables dans votre prochaine application, créez votre première collection, et voyez votre confiance en tant que créateur d’applications grandir !