Les bonnes pratiques Power Automate 

Règles de nommage

1. Flux

2. Déclencheur

3. Action

4. Variable de flux

5. Variable d'environnement

6. Référence de connexion

 

Choisir des noms explicites pour les déclencheurs et actions

Une nomenclature claire est la base d’un projet bien organisé. Microsoft recommande :

  • Utiliser des noms descriptifs : nommez chaque composant (déclencheurs, actions, variables) en fonction de sa fonction, par exemple Nouvel e‑mail reçu plutôt que Trigger1

  • Séparer les mots avec la notation camelCase ou un caractère de soulignement, par exemple envoyerEmailNotification ou envoyer_email_notificationlearn.microsoft.com.

  • Catégoriser les composants : ajoutez des préfixes pour identifier le type d’objet (Trg_ pour les déclencheurs, Act_ pour les actions, Var_ pour les variables)learn.microsoft.com.

  • Appliquer les conventions partout et documenter la nomenclature dans un guide partagé afin que chaque membre de l’équipe suive les mêmes règles

  • Commenter vos flux en ajoutant des notes sur les actions importantes. Les commentaires facilitent la compréhension et la maintenancelearn.microsoft.com.

Utiliser des variables d’environnement et des identités de service

Pour que vos flux soient portables et sécurisés, évitez les valeurs en dur. À la place :

  • Variables d’environnement : stockez les valeurs sensibles (URL, clés API, etc.) dans des variables d’environnement. Lors de l’exportation d’un flux, les valeurs codées en dur peuvent être exposéeslearn.microsoft.com. Les variables d’environnement permettent de modifier ces valeurs sans éditer le flux.

  • Principaux de service : créez des identités de service pour représenter des applications dans Azure/Power Platform. Elles permettent d’exécuter des tâches sans utiliser des identifiants personnelslearn.microsoft.com. Un principal de service peut posséder le flux et créer des connexions en toute sécuritélearn.microsoft.com.

  • Nommez et documentez vos variables d’environnement de façon cohérente et fournissez des valeurs par défaut pertinenteslearn.microsoft.com, sans y stocker de données extrêmement sensibleslearn.microsoft.com.

Respecter les limites de la plateforme et éviter le throttling

Chaque licence Power Automate impose des limites au nombre de requêtes ou au nombre de flux simultanés. Ignorer ces quotas peut entraîner un ralentissement ou la désactivation temporaire d’un fluxlearn.microsoft.com. Pour éviter cela :

  • Vérifiez votre plan de licence dans Power Automate (paramètres > View My Licenses)learn.microsoft.com.

  • Compter les requêtes : chaque déclencheur et chaque action génèrent une requête. Même les actions échouées comptent dans la limitelearn.microsoft.com. Les boucles Appliquer à chaque multiplient les requêtes ; un déclencheur et une action dans une boucle s’exécutant dix fois produisent 20 requêtes.

  • Limiter les requêtes : évitez de déclencher un flux trop souvent. Répartissez la charge sur plusieurs flux ou utilisez des flux enfantlearn.microsoft.com.

  • Gérer la concurrence : les limites de débit, de concurrence et de rafales d’actions (par exemple 100 000 actions en 5 minutes) peuvent être atteintes rapidement. Utilisez des flux enfant ou ajustez les conditions de déclenchement pour rester en dessous de ces seuilslearn.microsoft.com.

Traiter uniquement les données pertinentes

Plus vos flux manipulent de données, plus ils consomment de ressources. Pour améliorer leurs performances et éviter de dépasser les limites de débit, filtrez les données dès que possible :

  • Au niveau du déclencheur : pour Dataverse, utilisez des expressions OData pour récupérer uniquement les lignes qui vous intéressent (par exemple city eq 'Paris')learn.microsoft.com.
    Dans SharePoint, sélectionnez une vue qui expose seulement les colonnes et enregistrements nécessaireslearn.microsoft.com.

  • Au niveau des actions : choisissez précisément les colonnes, ajoutez des filtres et définissez un nombre maximum d’enregistrements à traiterlearn.microsoft.com.

  • Respect des limites de débit : éliminer les données inutiles contribue à rester sous les limites de débit définies par votre profil de performancelearn.microsoft.com.

Optimiser les déclencheurs

Le déclencheur démarre votre flux. Bien le configurer évite des exécutions inutiles et améliore la fiabilité :

  • Comprendre les types de déclencheurs : un déclencheur polling interroge une source à intervalles réguliers. S’il est désactivé puis réactivé, il reprend là où il s’était arrêté, ce qui peut entraîner le traitement d’événements accumuléslearn.microsoft.com. Un déclencheur webhook écoute les événements en temps réel et ne reprend pas les événements passés lorsqu’il est réactivélearn.microsoft.com.

  • Ajouter des conditions de déclenchement : évitez que vos flux ne s’exécutent à chaque modification en ajoutant un filtre. Par exemple, dans un flux d’approbation des dépenses, ajoutez une condition montant > 100 directement dans le déclencheur pour éviter des exécutions superflueslearn.microsoft.com.

  • Contrôler la concurrence : par défaut, le déclencheur peut lancer plusieurs instances simultanées. Activez la concurrency control dans les paramètres du déclencheur et fixez un nombre maximal d’exécutions parallèleslearn.microsoft.com. Cela évite les dirty reads ou la surcharge d’un service.

  • Utiliser ce contrôle avec prudence : un nombre de threads trop élevé peut provoquer des problèmes de performances. Il est conseillé de laisser l’option désactivée ou de l’appliquer à un flux enfant dédiélearn.microsoft.com.

Exécuter des actions en parallèle et gérer la concurrence

Les flux séquentiels peuvent ralentir l’exécution lorsque plusieurs tâches indépendantes doivent être réalisées. Pour accélérer les traitements :

  • Branches parallèles : exécutez des étapes indépendantes en parallèle. Cette technique est adaptée aux tâches asynchrones ou longues : demandes d’approbation non bloquantes, mise à jour de systèmes multiples ou récupération simultanée de donnéeslearn.microsoft.com.

  • Attention aux actions ignorées : dans des branches de type switch, les actions ignorées peuvent entraîner de la confusion et consommer des ressources. Externalisez les branches complexes dans des flux enfant pour réduire le nombre d’actions ignoréeslearn.microsoft.com.

  • Contrôler la concurrence dans les boucles : dans les boucles Apply to each, activez la concurrence pour traiter plusieurs éléments en même temps lorsque les éléments sont indépendants. Définissez un degré de parallélisme (1 à 50) en tenant compte du surcoût générélearn.microsoft.com. La concurrence ne s’applique qu’au premier niveau ; les boucles imbriquées restent séquentielleslearn.microsoft.com.

  • Comparer les performances : l’activation de la concurrence peut réduire significativement le temps d’exécution (par exemple, une boucle de quatre éléments passe de 21 s à 6 s avec un parallélisme de 4)learn.microsoft.com.

Éviter les anti‑patrons

Certaines constructions semblent pratiques mais entraînent un gaspillage de ressources ou des erreurs. Voici les pièges à éviter :

  • Boucles For each imbriquées : elles multiplient rapidement le nombre d’itérations et peuvent dépasser les limites de la plateforme. Utilisez l’expansion OData pour récupérer les enregistrements associés en une seule requête, plutôt que de parcourir deux listes l’une à l’intérieur de l’autrelearn.microsoft.com.

  • Boucles infinies : un flux peut se déclencher lui‑même s’il modifie le même enregistrement qui déclenche le flux. Ajoutez une condition dans le déclencheur (ou utilisez l’action Terminate) pour éviter cette récursionlearn.microsoft.com.

  • Transformations de données volumineuses : pour des tâches d’ETL (extraire, transformer, charger), utilisez des dataflows plutôt qu’un flux cloud. Il est plus efficace d’appeler un flux de données et de déclencher vos actions après sa finlearn.microsoft.com.

  • Mises à jour massives : ne mettez pas à jour des milliers d’enregistrements un par un. Utilisez des opérations en lots ou activez la concurrence dans la boucle. Dans Dataverse, privilégiez les bulk operations via l’API Web, qui regroupent plusieurs créations/mises à jour en une seule requêtelearn.microsoft.com. Cette méthode réduit considérablement le nombre d’actions et donc le nombre de requêteslearn.microsoft.com.

Exploiter les opérations de données

Power Automate fournit des actions spécialisées (Filter array, Select, Join, Compose, Parse JSON, création de tableau HTML ou CSV) pour manipuler les données. Elles remplacent avantageusement des boucles et expressions complexes :

  • Filtres et sélection : Filter array filtre un tableau selon des conditions sans boucle, tandis que Select permet de choisir ou renommer des champslearn.microsoft.com.

  • Concatenation : Join combine des valeurs dans une chaîne séparée par un délimiteur, pratique pour créer des résumés ou des rapportslearn.microsoft.com.

  • Compose et Parse JSON : Compose simplifie les expressions et crée des valeurs intermédiaires ; Parse JSON structure une chaîne JSON pour un traitement ultérieurlearn.microsoft.com.

  • Performances et flexibilité : ces actions réduisent la quantité de données à traiter et améliorent la lisibilité du fluxlearn.microsoft.com. Cependant, lorsqu’une source dispose de fonctions de filtrage ou de sélection (Dataverse, SharePoint, etc.), il est plus efficace de filtrer directement à la source plutôt que de recourir aux opérations de donnéeslearn.microsoft.com.

  • Variables vs Compose : utilisez des variables pour stocker et mettre à jour des valeurs dynamiques (compteurs, état du flux) et Compose pour des valeurs statiques ou des calculs intermédiaireslearn.microsoft.com.

  • Variables JSON : regroupez plusieurs valeurs dans un seul objet JSON pour réduire le nombre d’actions d’initialisation et de mise à jourlearn.microsoft.com.

Mettre en place une gestion robuste des erreurs

Une bonne gestion des erreurs renforce la fiabilité et facilite le dépannage :

  • Paramètres Run after : définissez ce qui doit se passer lorsqu’une action est réussie, échoue, est ignorée ou expire. Par exemple, envoyez une notification si l’action Mettre à jour une ligne échouelearn.microsoft.com.

  • Fonction workflow() : cette fonction renvoie un objet JSON contenant des informations sur l’exécution en cours (ID, nom, environnement, etc.), utile pour l’audit et la journalisationlearn.microsoft.com.

  • Scopes de type Try/Catch : regroupez les actions principales dans un scope « Try », puis ajoutez un scope « Catch » configuré pour s’exécuter en cas d’échec afin de capturer et traiter l’erreurlearn.microsoft.com.

  • Politiques de réessai : pour les erreurs transitoires, utilisez une politique de réessai exponentielle. Définissez l’intervalle initial et le nombre maximum de tentatives pour laisser au service le temps de se rétablirlearn.microsoft.com.

  • Action Terminate : si l’erreur est critique, stoppez le flux et définissez un statut d’échec à l’aide de l’action Terminatelearn.microsoft.com.

  • Journalisation et notifications : consignez les erreurs dans SharePoint ou une base de données et envoyez des notifications. Vous pouvez également intégrer Application Insights pour un suivi centralisélearn.microsoft.com.

Simplifier la création et la maintenance des flux

Pour accélérer la conception et améliorer la documentation :

  • Afficher le code JSON : dans l’ancien concepteur, utilisez Peek code ; dans le nouveau concepteur, cliquez sur Code view. Cela permet de voir la représentation JSON d’un déclencheur ou d’une action et de comprendre sa structurelearn.microsoft.com.

  • Ajouter des notes : comme des commentaires dans un code, les notes expliquent le rôle d’une action ou d’un déclencheur. Dans le nouveau concepteur, sélectionnez une action, puis Add a notelearn.microsoft.com.

  • Copier/coller des actions : réutilisez des actions ou des blocs entiers pour gagner du temps. Dans le nouveau concepteur, cliquez avec le bouton droit sur une action et sélectionnez Copy action, puis collez‑la à l’endroit souhaitélearn.microsoft.com.

Exploiter les flux dans des solutions

Créer vos flux dans des solutions offre plusieurs avantages :

  • Portabilité et gestion ALM : une solution regroupe le flux, ses connexions et tous les composants nécessaires. Les flux solution aware sont faciles à déplacer entre environnements et favorisent de bonnes pratiques de gestion du cycle de vielearn.microsoft.com.

  • Connection references vs connections : dans une solution, les actions utilisent des connection references plutôt que des connexions directes. Si vous devez changer l’authentification, vous modifiez la référence une seule fois, sans mettre à jour chaque actionlearn.microsoft.com.

  • Variables d’environnement et versioning : seules les solutions permettent d’utiliser des variables d’environnement et de gérer plusieurs versions d’un fluxlearn.microsoft.com.

  • Run history et pipelines : l’historique des exécutions des flux solution est stocké dans Dataverse, ce qui facilite le suivi et l’auditlearn.microsoft.com. De plus, les pipelines Power Platform simplifient le déploiement des solutions vers les environnements de test et de productionlearn.microsoft.com.

  • Aucune limite de possession : vous pouvez posséder un nombre illimité de flux solution, contre un maximum de 600 flux non solutionlearn.microsoft.com.

Conclusion

Ces recommandations issues de la documentation Microsoft visent à vous aider à développer des flux Power Automate robustes, sécurisés et performants. En adoptant des conventions de nommage claires, en séparant la configuration de la logique, en maîtrisant les limites de la plateforme, en optimisant les déclencheurs et la concurrence, en évitant les anti‑patrons, en exploitant les opérations de données et en mettant en place une gestion des erreurs efficace, vous améliorerez la qualité et la maintenabilité de vos automatisations. L’utilisation de variables d’environnement, de solutions et des fonctionnalités d’édition proposées par Power Automate vous permettra de gagner en productivité et de déployer vos flux en toute confiance.