Support Power Platform - Apps - Automate - SharePoint - Copilot

Support d'animation pour formateur

Introduction générale pour le formateur

Objectif du document

Ce document constitue un support d’animation complet et exhaustif, conçu pour vous, formateur expert, afin de vous permettre d’animer avec succès le stage de trois jours : "Microsoft Applied Skills : Créer et gérer des processus automatisés à l’aide de Power Automate". Il a été élaboré pour être une référence unique, vous guidant à travers chaque module, chaque concept théorique et chaque atelier pratique. Vous y trouverez non seulement le contenu à délivrer aux participants, mais également des notes pédagogiques, des conseils d'animation, des réponses aux questions fréquentes et des analyses approfondies pour enrichir votre discours et asseoir votre crédibilité.

La structure du document suit une progression logique, avec des conventions claires pour distinguer les différents types de contenu :

  • Contenu théorique : Explications détaillées des concepts.
  • Ateliers pratiques : Instructions pas-à-pas pour les exercices.
  • Note pour le formateur : Encadrés spécifiques contenant des conseils, des points de vigilance ou des approfondissements pour votre usage exclusif.
  • Démonstrations : Scénarios à présenter en direct pour illustrer des points clés.

Philosophie de la formation

La philosophie de ce stage repose sur une approche d'apprentissage progressive et active. L'objectif n'est pas seulement de transmettre des connaissances techniques, mais de développer une véritable compétence en automatisation. Pour ce faire, la formation est axée sur les principes suivants :

  1. Apprentissage par la pratique ("Learning by Doing") : Chaque module théorique est immédiatement suivi d'un atelier pratique ou d'une démonstration, garantissant un équilibre constant entre la théorie et l'application concrète.1 Les participants construiront des flux de complexité croissante tout au long des trois jours.
  2. Progression du simple au complexe : Le parcours est conçu pour partir des fondamentaux de l'automatisation dans le cloud, accessibles à tous, pour évoluer progressivement vers des sujets avancés comme les stratégies de gouvernance.4
  3. Autonomisation des participants : L'ambition finale est de rendre les participants autonomes. Ils doivent quitter ce stage non seulement en sachant comment utiliser Power Automate, mais aussi en étant capables d'identifier, d'analyser et de modéliser les processus métier au sein de leur propre organisation qui sont de bons candidats à l'automatisation.4

Préparation de la session

Une bonne préparation est la clé d'une session de formation réussie. Avant le début du stage, il est impératif de vérifier les points suivants :

Logistique et matériel

  • Salle de formation : Assurez-vous que la disposition des tables favorise la collaboration et l'interaction. Une disposition en "U" est souvent préférable à une disposition en "salle de classe" traditionnelle.7
  • Équipement : Vérifiez le bon fonctionnement du projecteur ou de l'écran, et assurez-vous que tous les participants peuvent lire facilement les informations projetées. Une connexion Internet stable et performante est non-négociable pour ce type de formation.
  • Vos repères : Arrivez en avance pour vous familiariser avec la salle et le matériel. Cela vous permettra d'être plus disponible et serein pour accueillir les participants.7

Prérequis techniques des participants

  • Licences : Chaque participant doit disposer d'une licence Microsoft 365 valide qui inclut les droits d'utilisation de Power Automate (Standard). Une licence Power Automate Premium (par utilisateur ou d'essai) est un plus pour explorer tous les aspects de la formation, notamment les connecteurs premium et Dataverse.8 Vérifiez ce point en amont avec l'organisateur du stage.
  • Environnement de test : Chaque participant doit avoir accès à un site SharePoint ou une équipe Teams de test où il dispose des droits de propriétaire ou de membre. Cela est crucial pour les exercices impliquant la création de listes et le déclenchement de flux.

Connaissance du public

  • Questionnaire pré-formation : Il est fortement recommandé d'envoyer un questionnaire simple aux participants quelques jours avant le stage. Ce questionnaire devrait évaluer :10
  • Leur rôle et leur secteur d'activité.11
  • Leur niveau de familiarité avec l'écosystème Microsoft 365 (SharePoint, Teams, Excel).
  • Leur expérience éventuelle en programmation ou en automatisation (même simple, comme les macros Excel).
  • Leurs attentes spécifiques vis-à-vis de la formation.
  • Adaptation : Les résultats de ce questionnaire vous permettront d'ajuster votre rythme, de choisir des exemples qui résonnent avec leur réalité métier et d'anticiper les questions.11

Conseils d'animation

  • Posture du formateur : Votre rôle va au-delà de celui d'un simple instructeur. Vous êtes un expert, un facilitateur et un coach.11
  • Crédibilité : Présentez-vous brièvement en début de session, en mettant en avant votre parcours et votre expérience concrète avec la Power Platform. Partager des anecdotes de projets réels renforce votre crédibilité et rend le contenu plus vivant.7
  • Enthousiasme : Votre passion pour le sujet est communicative. Elle contribue à créer un climat de confiance et à motiver les participants.7
  • Gestion du groupe et de la dynamique :
  • Interaction : Encouragez activement les questions, les discussions et le partage d'expériences entre les participants. Un environnement d'apprentissage collaboratif est plus riche.10 N'hésitez pas à faire reformuler une question par un autre stagiaire pour vérifier la compréhension collective.7
  • Variété pédagogique : Alternez les méthodes pour maintenir l'engagement. Utilisez des exposés magistraux pour les concepts théoriques, des sessions interrogatives (quiz, questions ouvertes) pour stimuler la réflexion, des ateliers participatifs pour la résolution de problèmes en groupe, et des phases de découverte où les participants explorent par eux-mêmes.13
  • Gestion du temps et du contenu :
  • Objectifs : Gardez toujours les objectifs pédagogiques de chaque module en tête. Annoncez-les en début de séquence et faites-y référence en conclusion pour montrer la progression.7
  • Flexibilité : L'agenda est un guide, pas une contrainte absolue. Soyez prêt à l'adapter en fonction du rythme du groupe et de la pertinence des discussions.10
  • Synthèse : Terminez chaque module et chaque journée par une synthèse. Faites rappeler les points clés par les stagiaires pour ancrer les connaissances et vous assurer que tout le monde a bien suivi avant de passer à la suite.7

Jour 1 : Les fondamentaux de l'automatisation avec Power Automate Cloud

Module 1 : Introduction à la Power Platform et à la valeur de l'automatisation (durée : 1h30)

1.1 La révolution de l'automatisation et du low-code

L'automatisation des processus n'est plus un luxe réservé aux grandes entreprises dotées de départements informatiques pléthoriques ; c'est devenu un enjeu stratégique fondamental pour toute organisation souhaitant rester compétitive. Le cœur de cette transformation réside dans la capacité à libérer les collaborateurs des tâches répétitives et à faible valeur ajoutée, leur permettant de se concentrer sur des activités plus stratégiques et créatives. Les bénéfices sont tangibles et mesurables : un gain de temps considérable, une réduction drastique des erreurs humaines, une productivité accrue et, in fine, une meilleure satisfaction des employés qui se sentent plus valorisés.

Parallèlement, la montée en puissance des plateformes Low-Code/No-Code, dont la Microsoft Power Platform est le fer de lance, a démocratisé l'accès à la création de solutions numériques. Auparavant, la moindre automatisation nécessitait l'intervention de développeurs spécialisés. Aujourd'hui, des utilisateurs métier, souvent appelés "citizen developers", peuvent concevoir et déployer leurs propres automatisations et applications sans écrire une seule ligne de code. Cette autonomie permet de répondre de manière beaucoup plus agile et rapide aux besoins du terrain.

Pour illustrer concrètement la portée de cette révolution, voici quelques cas d'usage emblématiques qui transforment les départements clés de l'entreprise :

  • Finance : L'automatisation du cycle "Procure-to-Pay" est un exemple classique. Un flux peut automatiquement traiter les factures reçues par e-mail, en extraire les données clés grâce à l'IA, les soumettre à un circuit d'approbation, et enfin, une fois validées, les intégrer dans le système comptable pour paiement. Ce processus réduit les délais de paiement, élimine les erreurs de saisie et assure la conformité.
  • Ressources Humaines (RH) : Le cycle de vie de l'employé est riche en opportunités d'automatisation. De la gestion des candidatures, où les CV sont automatiquement triés et les entretiens planifiés, à l'onboarding des nouveaux arrivants (création de comptes, envoi de documents), en passant par la gestion des demandes de congés qui suivent un processus d'approbation structuré, Power Automate fluidifie l'ensemble des interactions.19
  • Ventes & Marketing : La réactivité est essentielle. Un flux peut automatiquement créer un prospect dans un CRM comme Dynamics 365 dès qu'un formulaire est rempli sur le site web, envoyer un e-mail de bienvenue personnalisé, et planifier une tâche de suivi pour un commercial. Il peut également automatiser la veille concurrentielle ou la publication de contenu sur les réseaux sociaux.7
  • Opérations : La cohérence des données est un défi majeur. Power Automate excelle dans la synchronisation des informations entre des systèmes hétérogènes (ERP, CRM, listes SharePoint). Par exemple, la mise à jour du statut d'une commande dans l'ERP peut automatiquement se répercuter dans le CRM, offrant aux équipes commerciales une vue à 360 degrés et en temps réel, créant ainsi une source de vérité unique pour l'entreprise.7

1.2 L'écosystème Microsoft Power Platform

Power Automate n'est pas un outil isolé ; il est l'un des piliers d'un écosystème intégré et puissant : la Microsoft Power Platform. Comprendre cette synergie est essentiel pour en saisir toute la portée. La plateforme repose sur cinq applications principales et des composants transverses qui leur permettent de fonctionner de concert.

Les cinq piliers de la Power Platform :

  1. Power BI : L'outil d'analyse de données et de business intelligence. Il permet de transformer des données brutes en tableaux de bord interactifs et visuels pour prendre des décisions éclairées.
  2. Power Apps : La plateforme de développement d'applications low-code. Elle permet de créer rapidement des applications métier personnalisées, sur mobile ou sur le web, pour digitaliser les processus.
  3. Power Automate : Le moteur d'automatisation. C'est le "chef d'orchestre" qui connecte les applications entre elles et automatise les flux de travail en arrière-plan.
  4. Power Pages : Le service de création de sites web professionnels, sécurisés et orientés données, accessibles à des utilisateurs externes à l'organisation.29
  5. Copilot Studio (anciennement Power Virtual Agents) : La plateforme de création de chatbots (agents conversationnels) intelligents, sans nécessiter de compétences en développement ou en science des données.30

Les composants transverses

  • Microsoft Dataverse : Il s'agit bien plus qu'une simple base de données. Dataverse est une plateforme de données intelligente, sécurisée et scalable, qui constitue la fondation de la Power Platform.30 Contrairement à une base de données traditionnelle, Dataverse intègre nativement la sécurité, la logique métier et une riche modélisation des données (tables, colonnes, relations), ce qui en fait le socle idéal pour les applications d'entreprise.33
  • Connecteurs : Ce sont les ponts qui permettent à Power Automate et aux autres services de la plateforme de communiquer avec plus d'un millier d'applications et de services différents.23 Ils agissent comme des traducteurs, permettant à des systèmes qui ne se parlent pas nativement d'échanger des données et de déclencher des actions.35
  • AI Builder : C'est un service qui permet d'intégrer des capacités d'intelligence artificielle prêtes à l'emploi dans les flux et les applications. On peut par exemple l'utiliser pour le traitement de formulaires (extraction de données de factures), la prédiction, la classification de texte ou la détection d'objets dans des images, sans être un expert en IA.36

La véritable puissance de Power Automate réside dans son intégration native et profonde avec l'écosystème Microsoft 365 (Outlook, Teams, SharePoint, Excel) et Azure. Pour les utilisateurs, c'est une extension naturelle de leur environnement de travail quotidien, leur permettant d'automatiser des tâches directement depuis les outils qu'ils utilisent déjà.19

1.3 Découverte de l'interface Power Automate

La prise en main de Power Automate commence par la découverte de son portail web, accessible via l'URL make.powerautomate.com. L'interface est conçue pour être intuitive, même pour les non-développeurs.

  • Connexion et page d'accueil : À la connexion, l'utilisateur est accueilli par une page d'accueil qui présente les fonctionnalités clés, des suggestions de modèles et un champ de recherche assisté par Copilot pour créer des flux en langage naturel.
  • Volet de navigation gauche : C'est le menu principal qui permet d'accéder aux différentes sections : "Créer", "Mes flux", "Modèles", "Surveiller", "Approbations", etc..
  • Concept d'environnements : Dans le coin supérieur droit, un sélecteur permet de choisir l'environnement de travail. Il est crucial d'introduire dès le début cette notion. Un environnement est un conteneur qui isole les applications, les flux et les données.39 Par défaut, chaque organisation dispose d'un environnement "Default", mais pour une gouvernance saine, il est essentiel de créer des environnements distincts pour le Développement, les Tests et la Production. Ce point sera approfondi dans le module sur la gouvernance, mais il faut planter la graine dès maintenant.
  • Les modèles (templates) : La section "Modèles" est une mine d'or pour les débutants. Elle contient des centaines de flux pré-configurés pour des scénarios courants.38 C'est un excellent moyen de découvrir ce qu'il est possible de faire, de comprendre comment les flux sont construits et d'accélérer la création de ses propres automatisations.

1.4 Atelier pratique 1 : exploration et création à partir d'un modèle (30 min)

Objectif : Cet atelier vise à familiariser les participants avec l'interface de Power Automate et à leur procurer un sentiment de réussite immédiat en créant un flux fonctionnel en quelques clics.

Scénario : "Enregistrer automatiquement les pièces jointes des e-mails reçus dans Outlook vers un dossier spécifique sur OneDrive Entreprise."

Étapes guidées :

  1. Navigation vers les modèles : Depuis la page d'accueil de Power Automate, naviguez vers la section "Modèles" dans le volet de gauche.
  2. Recherche du modèle : Dans la barre de recherche, tapez des mots-clés comme "pièce jointe outlook onedrive". Sélectionnez le modèle intitulé "Enregistrer les pièces jointes d'Office 365 Outlook dans OneDrive Entreprise".
  3. Gestion des connexions : Power Automate affiche les connecteurs utilisés par ce modèle (Office 365 Outlook et OneDrive Entreprise). Il vérifie si une connexion valide existe déjà pour votre compte. Si c'est le cas, une coche verte apparaît.
    • Note pour le formateur : C'est le moment idéal pour expliquer le concept de "Connexion". Une connexion est une authentification stockée et sécurisée qui autorise Power Automate à agir en votre nom sur un service tiers. Si une connexion est invalide (mot de passe expiré, par exemple), le flux échouera. La gestion des connexions est une tâche de maintenance de base
  4. Création et exploration du flux : Cliquez sur "Créer le flux". Les participants sont alors dirigés vers le concepteur visuel, où le flux est déjà construit. Prenez un moment pour décortiquer sa structure :
    • Le déclencheur : "Quand un nouvel e-mail arrive".
    • La boucle : "Appliquer à chacun", qui traite chaque pièce jointe.
    • L'action : "Créer un fichier" dans OneDrive.
  5. Test du flux :
    • Cliquez sur le bouton "Tester" en haut à droite, choisissez l'option "Manuellement" et cliquez sur "Tester".
    • Le flux se met en mode "écoute". Demandez aux participants de s'envoyer à eux-mêmes un e-mail contenant une ou plusieurs pièces jointes.
  6. Vérification des résultats :
    • Une fois l'e-mail reçu, le flux doit s'exécuter et réussir. Montrez l'historique d'exécution où chaque étape est validée par une coche verte.
    • Demandez aux participants de vérifier leur dossier OneDrive (un dossier "Email attachments from Flow" aura été créé automatiquement) pour confirmer que les fichiers y ont bien été enregistrés.

Note pour le formateur : la valeur stratégique au-delà de la tâche

À première vue, ce flux peut sembler être une simple commodité personnelle, un "gadget" de productivité. C'est ici que votre rôle de formateur expert prend toute sa dimension. Il est essentiel de connecter cet exercice simple à une vision stratégique plus large pour que les participants comprennent la véritable puissance de l'outil.

Expliquez que ce flux, en apparence trivial, est en réalité la première brique fondamentale d'un processus de transformation numérique complexe, comme l'automatisation du traitement des factures fournisseurs.

  1. Étape 1 (ce que nous venons de faire) : La facture arrive en pièce jointe d'un e-mail. Notre flux la capture et la centralise automatiquement dans un emplacement unique et sécurisé (un dossier OneDrive ou, mieux encore, une bibliothèque SharePoint). La tâche manuelle de "sauvegarder la pièce jointe" est éliminée.
  2. Étape 2 (ce que nous verrons plus tard) : La présence d'un nouveau fichier dans ce dossier peut déclencher un deuxième flux. Ce flux utilisera AI Builder pour "lire" le document PDF, en extraire intelligemment les informations clés (nom du fournisseur, numéro de facture, montant, date d'échéance) et les stocker sous forme de données structurées.17
  3. Étape 3 (ce que nous verrons plus tard) : Une fois les données extraites, le flux peut lancer un processus d'approbation dynamique. Si le montant est inférieur à 1 000 €, il est envoyé au manager ; s'il est supérieur, il est escaladé au directeur financier.23
  4. Étape 4 (ce que nous verrons plus tard) : Une fois la facture approuvée, une dernière action peut mettre à jour le système comptable (ERP) via un connecteur, planifiant ainsi le paiement.

En présentant cette chaîne de valeur complète, vous transformez la perception de l'outil. Il ne s'agit plus d'enregistrer un fichier, mais de digitaliser, d'optimiser et de sécuriser de bout en bout un processus métier critique. Cette capacité à relier chaque exercice à des cas d'entreprise à forte valeur ajoutée est ce qui distingue une formation de base d'une formation qui inspire et habilite les futurs champions de l'automatisation.

Module 2 : Création des premiers flux cloud (durée : 1h30)

2.1 Les trois types de flux cloud

Après avoir exploré un modèle, il est temps de créer des flux à partir de zéro. La première décision à prendre est de choisir le bon type de flux, ce qui dépend entièrement de la manière dont l'automatisation doit être initiée. Power Automate propose trois types de flux cloud.

  • Flux automatisés : Ce sont les flux les plus courants dans les scénarios d'automatisation de processus. Ils sont déclenchés automatiquement par un événement qui se produit dans une application ou un service connecté. L'utilisateur n'a aucune action manuelle à effectuer pour que le flux démarre.
    • Exemples de déclencheurs :
      • Quand un nouvel e-mail arrive dans une boîte de réception Outlook.
      • Quand un fichier est créé dans un dossier SharePoint ou OneDrive.
      • Quand une nouvelle réponse est soumise via un formulaire Microsoft Forms.
      • Quand un nouvel élément est ajouté à une liste Salesforce.
  • Flux instantanés (ou manuels) : Ces flux sont déclenchés à la demande par une action manuelle de l'utilisateur. Ils sont parfaits pour des tâches que l'on souhaite lancer ponctuellement, quand on en a besoin.
    • Exemples de déclencheurs :
      • Un bouton dans l'application mobile Power Automate (ex: pour envoyer rapidement un e-mail type "Je travaille de la maison aujourd'hui" à son manager).
      • Un bouton dans une application Power Apps pour déclencher une série d'actions complexes en arrière-plan.
      • Le déclencheur Pour un élément sélectionné dans une liste SharePoint, qui fait apparaître une option dans le menu "Automatiser" de SharePoint pour lancer un flux sur un élément spécifique.
  • Flux planifiés : Ces flux s'exécutent selon un calendrier prédéfini. On contrôle précisément la date de début, l'heure et la fréquence de l'exécution.
    • Exemples de déclencheurs :
      • Envoyer un rapport récapitulatif des ventes tous les vendredis à 17h00.
      • Archiver des documents anciens tous les premiers du mois à 2h00 du matin.
      • Synchroniser des données entre deux systèmes toutes les 15 minutes.

Note pour le formateur : la nature du déclencheur (polling vs. webhook)

Il est important d'expliquer une nuance technique qui a des implications pratiques significatives : la manière dont un déclencheur "sait" que l'événement s'est produit. Il existe deux mécanismes principaux : le polling et les webhooks.

  1. Polling (interrogation) : Le déclencheur interroge le service source à intervalles réguliers pour lui demander "Y a-t-il quelque chose de nouveau?". C'est le cas de nombreux déclencheurs SharePoint comme Quand un élément est créé ou modifié. La fréquence de cette interrogation (le "polling interval") dépend de la licence Power Automate de l'utilisateur. Pour une licence standard incluse dans Microsoft 365, cela peut aller jusqu'à 5 minutes.57
    • Implication : Un participant qui modifie un élément SharePoint et ne voit pas son flux se lancer instantanément doit comprendre qu'il y a un délai normal dû à cet intervalle de polling. Ce n'est pas un bug, c'est le fonctionnement du déclencheur.
  2. Webhook (crochet web) : Le service source notifie Power Automate instantanément dès que l'événement se produit. Il n'y a pas d'attente. C'est le cas du déclencheur Microsoft Forms Lorsqu'une nouvelle réponse est envoyée.
    • Implication : Ces flux sont beaucoup plus réactifs.

Cette distinction permet de gérer les attentes des participants sur la réactivité de leurs flux. Elle introduit également subtilement la notion de consommation de requêtes API (chaque "poll" est une requête), un concept qui deviendra fondamental lors de la discussion sur les limites et la gouvernance.59

2.2 Anatomie d'un flux : déclencheurs et actions

Un flux Power Automate, dans sa forme la plus simple, est composé de deux éléments fondamentaux : un déclencheur unique et une ou plusieurs actions.

  • Le déclencheur (trigger) : C'est le point de départ unique de tout flux cloud.42 Il définit la condition qui doit être remplie pour que le flux s'exécute (QUAND). Le déclencheur fournit également un ensemble de données de sortie, appelées contenu dynamique, qui décrivent l'événement. Par exemple, le déclencheur "Quand un nouvel e-mail arrive" fournira l'expéditeur, l'objet, le corps de l'e-mail, et les éventuelles pièces jointes.
  • Les actions : Ce sont les étapes qui suivent le déclencheur. Elles définissent les tâches que le flux doit accomplir (QUOI). Un flux peut enchaîner des dizaines, voire des centaines d'actions.28 Chaque action prend des données en entrée et produit des données en sortie, qui peuvent à leur tour être utilisées par les actions suivantes.
  • Le contenu dynamique : C'est le "ciment" qui lie les étapes d'un flux. C'est une interface conviviale qui permet de sélectionner facilement les données de sortie des étapes précédentes (du déclencheur ou d'autres actions) pour les utiliser comme données d'entrée dans l'étape actuelle.2 Par exemple, on peut prendre l'objet de l'e-mail du déclencheur et l'utiliser dans le champ "Sujet" d'une action "Créer une tâche" dans Microsoft Planner.66

2.3 Le rôle central des connecteurs

Les connecteurs sont la clé de voûte de Power Automate, lui conférant sa puissance et sa polyvalence.

  • Définition : Un connecteur est une passerelle, un "wrapper" d'API, qui permet à Power Automate de s'authentifier et de communiquer avec un service externe de manière standardisée.4 Que ce soit pour se connecter à SharePoint, Salesforce, Twitter ou une base de données SQL, le connecteur expose une série de déclencheurs et d'actions prédéfinis que l'on peut utiliser dans ses flux.23
  • Standard vs. Premium : C'est une distinction fondamentale qui a un impact direct sur les licences requises.
  • Connecteurs standard : Ils sont inclus dans la plupart des abonnements Microsoft 365. Ils couvrent la majorité des cas d'usage au sein de l'écosystème Microsoft (Outlook, SharePoint, Teams, OneDrive, Excel, etc.) et quelques services tiers de base.4
  • Connecteurs premium : Leur utilisation nécessite une licence Power Automate payante (soit un plan "par utilisateur", soit un plan "par flux"). Ils permettent de se connecter à des services d'entreprise plus avancés comme Dataverse, SQL Server, Dynamics 365, Salesforce, ou encore d'exécuter des requêtes HTTP personnalisées.4
  • Note pour le formateur : Profitez-en pour montrer la page de documentation d'un connecteur sur Microsoft Learn. Mettez en évidence la section sur les limitations et le "throttling" (limitation du nombre d'appels API sur une période donnée). C'est une notion avancée, mais il est bon de sensibiliser les participants dès le début au fait que les ressources ne sont pas illimitées et que la conception de flux robustes doit en tenir compte.67

2.4 Atelier pratique 2 : créer un flux planifié (45 min)

Objectif : Maîtriser la création d'un flux à partir de zéro, configurer un déclencheur planifié et utiliser une action simple.

Scénario : "Chaque vendredi à 17h00, envoyer un e-mail de rappel pour la soumission des feuilles de temps hebdomadaires."

Étapes guidées :

  1. Création du flux : Dans le portail Power Automate, cliquez sur "Créer" dans le volet de gauche, puis choisissez "Flux cloud planifié".40
  2. Configuration du déclencheur :
    • Donnez un nom explicite au flux, par exemple "Rappel hebdomadaire feuille de temps".
    • Configurez le déclencheur "Récurrence" :
    • Date de début : Laisser la date du jour.
    • Fréquence : Choisir "Semaine".
    • Intervalle : Laisser "1".
    • Dans les options avancées, spécifiez le jour : "vendredi" et l'heure : "17".14
  3. Ajout de l'action : Cliquez sur "+ Nouvelle étape". Dans la boîte de recherche, tapez "envoyer un e-mail" et sélectionnez l'action "Envoyer un e-mail (V2)" associée au connecteur "Office 365 Outlook".53
  4. Configuration de l'action :
    • À : Pour le test, demandez aux participants de saisir leur propre adresse e-mail.
    • Objet : "Rappel : N'oubliez pas de soumettre votre feuille de temps".
    • Corps : Rédigez un message simple, par exemple : "Bonjour, ceci est un rappel pour soumettre votre feuille de temps pour la semaine. Merci."
    1. Bonnes pratiques : Incitez les participants à renommer l'action pour la rendre plus descriptive. Par exemple, renommer "Envoyer un e-mail (V2)" en "Envoyer e-mail de rappel". C'est une pratique essentielle pour la lisibilité et la maintenance des flux.28
  5. Sauvegarde et test :
    • Cliquez sur "Enregistrer" en haut à droite.
    • Cliquez sur "Tester", puis "Manuellement" et "Tester".42 Expliquez que le test manuel permet d'exécuter le flux immédiatement, sans attendre la prochaine planification, ce qui est indispensable pour le développement.
  6. Vérification : Chaque participant doit vérifier sa boîte de réception pour confirmer qu'il a bien reçu l'e-mail de rappel.

Module 3 : Manipulation des données et logique de base (durée : 2h00)

3.1 Introduction aux variables

Pour construire des flux qui vont au-delà d'un simple enchaînement d'actions, il est indispensable de pouvoir stocker et manipuler des informations en cours de route. C'est le rôle des variables. Une variable est un conteneur nommé qui permet de stocker une valeur (un texte, un nombre, une date, etc.) qui peut être lue et modifiée tout au long de l'exécution du flux. C'est un concept fondamental de programmation, ici rendu accessible en low-code.

  • Portée (scope) : Un point crucial à comprendre dans les flux cloud Power Automate est que les variables ont une portée globale. Cela signifie qu'une variable doit obligatoirement être déclarée (initialisée) au niveau principal du flux. Il n'est pas possible de créer une nouvelle variable à l'intérieur d'une boucle ou d'une condition. Une fois initialisée, elle est accessible et modifiable depuis n'importe quel point du flux.15
  • Actions sur les variables : Le connecteur "Variable" fournit plusieurs actions clés :
  • Initialiser une variable : C'est la toute première étape, obligatoire pour utiliser une variable. Elle permet de la créer, de lui donner un nom, de définir son type de données et de lui assigner une valeur de départ.
    • Types de données : Il est important de choisir le bon type pour la donnée que l'on souhaite stocker :
    • Booléen (Boolean) : Vrai ou Faux (true/false).
    • Entier (Integer) : Nombre entier, sans décimale.
    • Flottant (Float) : Nombre à virgule.
    • Chaîne (String) : Texte.
    • Objet (Object) : Structure de données complexe au format JSON.
    • Tableau (Array) : Une liste d'éléments (qui peuvent être des chaînes, des nombres, des objets, etc.).
  • Définir une variable : Permet d'écraser la valeur actuelle d'une variable existante avec une nouvelle valeur.
  • Incrémenter une variable : Augmente la valeur d'une variable numérique (Entier ou Flottant) d'un montant spécifié. Très utile pour implémenter des compteurs.
  • Décrémenter une variable : Diminue la valeur d'une variable numérique.
  • Ajouter à la variable chaîne : Ajoute un morceau de texte à la fin d'une variable de type Chaîne.
  • Ajouter à la variable tableau : Ajoute un nouvel élément à la fin d'une variable de type Tableau.
  • Bonnes pratiques de nommage : Pour améliorer la lisibilité et la maintenabilité des flux, il est fortement conseillé d'adopter une convention de nommage. Une pratique courante consiste à préfixer les noms de variables pour indiquer leur nature, par exemple v pour variable, suivi du type et d'une description en casse camelCase (ex: vIntCompteurEmails, vStrNomClient).

3.2 La logique conditionnelle : action "condition"

L'action "Condition" est le principal outil pour introduire de la logique et des embranchements dans un flux. Elle permet au flux de suivre des chemins différents en fonction de la véracité d'une règle, à la manière d'une instruction If/Then/Else en programmation traditionnelle.

  • Structure : L'action se présente visuellement avec deux branches distinctes : "Si oui" (la condition est vraie) et "Si non" (la condition est fausse). On place les actions à exécuter dans chaque cas à l'intérieur de la branche correspondante.
  • Construction d'une condition : Une condition de base se compose de trois parties :
  1. Une valeur à tester : Généralement issue du contenu dynamique d'une étape précédente.
  2. Un opérateur de comparaison : est égal à, n'est pas égal à, contient, commence par, est supérieur à, etc.
  3. Une valeur de comparaison : Une valeur fixe (ex: "Approuvé") ou une autre valeur dynamique.
  • Conditions multiples : Il est possible de construire des logiques plus complexes en ajoutant des lignes de condition avec les opérateurs logiques ET (AND) (toutes les règles doivent être vraies) ou OU (OR) (au moins une des règles doit être vraie).

3.3 Introduction aux expressions

Si le contenu dynamique est le ciment de base, les expressions sont le ciment à prise rapide qui permet des constructions beaucoup plus sophistiquées. Elles sont indispensables dès que l'on a besoin de manipuler des données, et non plus seulement de les passer d'une étape à l'autre.

  • Pourquoi utiliser les expressions?
    • Pour effectuer des calculs mathématiques.
    • Pour manipuler du texte (concaténer, extraire une partie, remplacer des caractères).
    • Pour formater des dates et des heures.
    • Pour convertir des données d'un type à un autre.
  • L'éditeur d'expression : Dans n'importe quel champ d'entrée d'une action, à côté de l'onglet "Contenu dynamique", se trouve l'onglet "Expression". C'est ici que l'on peut taper des formules. La syntaxe est standardisée : nomDeLaFonction(parametre1, parametre2,...).77
  • Passer du no-code au low-code : L'utilisation des expressions marque le passage du "no-code" (pur glisser-déposer) au "low-code". C'est une compétence qui décuple la puissance de l'outil mais qui demande plus de rigueur.38 Il est essentiel de présenter les expressions non pas comme une fonctionnalité réservée aux développeurs, mais comme une "superpuissance" accessible à tous ceux qui souhaitent construire des flux plus intelligents.
  • Exemple simple : Pour saluer l'utilisateur qui a déclenché le flux, on ne peut pas se contenter du contenu dynamique. On utilisera une expression : concat('Bonjour, ', triggerBody()?).
  • Note pour le formateur : Expliquez la fonction triggerBody() qui permet d'accéder à l'ensemble des données brutes fournies par le déclencheur. Le ? permet d'accéder à la propriété "DisplayName" de cet ensemble de données.

3.4 Atelier pratique 3 : enregistrement de pièces jointes avec logique (1h00)

Objectif : Cet atelier synthétise les apprentissages du module en combinant l'utilisation de connecteurs, de conditions et d'expressions pour un cas d'usage réaliste et à valeur ajoutée.

Scénario : "Lorsqu'un e-mail arrive avec au moins une pièce jointe, si l'expéditeur fait partie de l'entreprise (son adresse contient '@monentreprise.com'), enregistrer la pièce jointe dans un dossier 'Factures Internes' sur OneDrive. Sinon, l'enregistrer dans un dossier 'Factures Externes'. Le nom du fichier doit être préfixé par la date du jour au format AAAA-MM-JJ pour un archivage clair."

Étapes guidées :

  1. Déclencheur : Créez un nouveau flux automatisé avec le déclencheur "Quand un nouvel e-mail arrive (V3)" (connecteur Office 365 Outlook).
    • Dans les paramètres avancés du déclencheur, activez l'option "Inclure les pièces jointes" sur "Oui".
    • Pour faciliter les tests, dans le "Filtre d'objet", mettez un mot-clé spécifique (ex: "FACTURE") pour que le flux ne se déclenche pas sur tous les e-mails.67
  2. Boucle automatique : Ajoutez une action "Condition" juste après le déclencheur.
    • Note pour le formateur : C'est un point pédagogique important. Dès que vous utiliserez un contenu dynamique provenant des pièces jointes, Power Automate ajoutera automatiquement une boucle "Appliquer à chacun". Expliquez pourquoi : un e-mail peut contenir plusieurs pièces jointes, ce qui constitue un tableau de données. La boucle permet d'exécuter les actions suivantes pour chaque élément de ce tableau.79 C'est une introduction parfaite au module suivant sur les boucles.
  3. Condition sur l'expéditeur : Placez l'action "Condition" à l'intérieur de la boucle "Appliquer à chacun" qui vient d'être créée.
    • Règle : Dans le premier champ, sélectionnez le contenu dynamique De du déclencheur. Choisissez l'opérateur contient et tapez dans le deuxième champ la valeur @monentreprise.com.
  4. Action dans la branche "Si oui" (interne) :
    • Ajoutez l'action "Créer un fichier" du connecteur OneDrive Entreprise.
    • Chemin du dossier : Naviguez et sélectionnez le dossier "Factures Internes".
    • Nom du fichier : C'est ici que l'on utilise une expression. Cliquez dans le champ, allez dans l'onglet "Expression" et tapez : concat(formatDateTime(utcNow(), 'yyyy-MM-dd'), '_', items('Appliquer_à_chacun')?['name']). Décortiquez chaque partie de l'expression avec les participants : utcNow() pour la date actuelle, formatDateTime() pour la mettre au bon format, items('Appliquer_à_chacun')?['name'] pour récupérer le nom de la pièce jointe en cours de traitement dans la boucle, et concat() pour assembler le tout.
    • Contenu du fichier : Sélectionnez le contenu dynamique "Contenu des pièces jointes".
  5. Action dans la branche "Si non" (externe) :
    • Copiez l'action "Créer un fichier" précédente (via le menu "...") et collez-la dans la branche "Si non".
    • Modifiez uniquement le "Chemin du dossier" pour pointer vers "Factures Externes".
  6. Test complet :
    • Demandez aux participants de s'envoyer un e-mail à eux-mêmes (simulant un interne) avec l'objet "FACTURE" et une pièce jointe.
    • Demandez-leur d'utiliser un compte personnel (Gmail, etc.) pour envoyer un deuxième e-mail (simulant un externe) avec l'objet "FACTURE" et une autre pièce jointe.
    • Vérifiez que les deux flux se sont exécutés correctement et que les fichiers ont été créés dans les bons dossiers OneDrive, avec le nommage correct incluant la date.79

Module 4 : Les boucles et le traitement de tableaux (durée : 1h30)

4.1 Maîtriser la boucle "appliquer à chacun" (apply to each)

La boucle "Appliquer à chacun" est un des contrôles les plus fondamentaux et les plus utilisés dans Power Automate. Elle est indispensable dès que l'on doit effectuer une même série d'actions sur plusieurs éléments d'une liste ou d'un tableau.81

  • Concept : Cette boucle prend en entrée un tableau (un "array" en anglais) et exécute les actions qu'elle contient une fois pour chaque élément de ce tableau. Si le tableau est vide, la boucle est simplement ignorée et le flux continue.84
  • Sources de tableaux courantes : Il est essentiel que les participants identifient les actions qui produisent des tableaux, car ce sont elles qui nécessiteront une boucle pour être traitées :
    • Lister les lignes présentes dans un tableau (Connecteur Excel) : Renvoie toutes les lignes d'une table Excel.71
    • Obtenir les éléments (Connecteur SharePoint) : Renvoie une liste d'éléments d'une liste SharePoint.
    • Obtenir les pièces jointes (Connecteur Outlook) : Renvoie la liste des fichiers attachés à un e-mail.
    • La sortie d'une action Filtrer un tableau.
    • La sortie d'une fonction d'expression split(), qui transforme une chaîne de caractères en un tableau de sous-chaînes.
  • Référencer l'élément courant avec item() : À l'intérieur de la boucle, comment faire référence à l'élément qui est en cours de traitement? Power Automate le fait automatiquement via le contenu dynamique. Cependant, si l'on doit utiliser une expression, la fonction item() est la clé. Elle représente l'objet complet de l'itération actuelle. Pour accéder à une de ses propriétés (par exemple, une colonne d'un tableau Excel), la syntaxe sera item()?.22

4.2 Parallélisme et contrôle de la concurrence

Par défaut, une boucle "Appliquer à chacun" traite les éléments les uns après les autres, de manière séquentielle. Pour un tableau de 1000 éléments où chaque itération prend 1 seconde, le flux mettra plus de 16 minutes à s'exécuter. Power Automate offre une fonctionnalité puissante pour accélérer ce processus : le contrôle de la concurrence.

  • Concept : En accédant aux paramètres de la boucle (via le menu "..."), on peut activer le "Contrôle de la concurrence" et définir un "Degré de parallélisme".82 Si on le règle sur 10, par exemple, Power Automate traitera jusqu'à 10 éléments du tableau simultanément, en parallèle, ce qui peut réduire considérablement le temps d'exécution total. Le maximum est de 50.85

Note pour le formateur : le faux ami de la performance

C'est un point de bascule pédagogique crucial. L'instinct d'un débutant, face au curseur du "Degré de parallélisme", est de le pousser au maximum (50) en se disant "plus c'est élevé, plus ce sera rapide". Votre rôle est de transformer cette intuition simpliste en une compréhension nuancée de l'architecture des systèmes.

Expliquez que la performance n'est pas une ligne droite. Un parallélisme élevé peut devenir contre-productif pour plusieurs raisons :

  1. Surcharge du service source : Chaque branche parallèle exécute une requête vers le service source (SharePoint, SQL, etc.). Si 50 requêtes arrivent en même temps, le service peut être surchargé et répondre plus lentement.
  2. Limitation de l'API (throttling) : C'est le point le plus important. La plupart des services cloud, y compris ceux de Microsoft, ont des politiques de limitation pour se protéger contre les abus. Si un utilisateur envoie trop de requêtes en un temps très court, le service va commencer à les rejeter avec une erreur (souvent l'erreur 429 "Too Many Requests").8 Un flux avec un parallélisme de 50 qui met à jour 1000 éléments SharePoint a de très fortes chances d'être "throttled" et d'échouer.
  3. Consommation de ressources Power Automate : Chaque branche parallèle consomme de la mémoire et des ressources côté Power Automate.

La bonne pratique n'est donc pas de viser le maximum, mais de trouver le bon équilibre. La recommandation est de commencer avec une valeur faible (par exemple, 5 ou 10), de tester le flux sur un volume de données représentatif, de surveiller l'historique d'exécution pour d'éventuelles erreurs de limitation, et d'augmenter progressivement si nécessaire. Cela enseigne une compétence essentielle : l'optimisation consciente des limites des systèmes, une compétence d'architecte et non plus de simple utilisateur.

4.3 Filtrage côté client : l'action "filtrer un tableau" (filter array)

Il arrive souvent que l'on récupère un grand ensemble de données mais que l'on ne veuille en traiter qu'un sous-ensemble. L'action "Filtrer un tableau" permet d'effectuer cette opération.

  • Quand l'utiliser? Cette action est particulièrement utile dans deux cas :
    1. Lorsque le connecteur source ne propose pas d'option de filtrage en amont (côté serveur).
    2. Lorsque la logique de filtrage est trop complexe pour être exprimée avec les capacités de filtrage du service source (par exemple, une requête OData).88
  • Fonctionnement :
    • Entrée "De" : On fournit le tableau complet que l'on souhaite filtrer.87
    • Condition : On définit la ou les règles de filtrage de la même manière que pour une action "Condition". On peut utiliser des conditions simples ou avancées avec des opérateurs ET/OU.86
    • Sortie : L'action produit en sortie un nouveau tableau, qui ne contient que les éléments du tableau d'origine qui ont satisfait à la condition de filtrage.90
    • Note pour le formateur : Il est impératif de souligner que cette action effectue un filtrage côté client (au sein de Power Automate). Cela signifie que le flux doit d'abord récupérer toutes les données du service source avant de pouvoir les filtrer. Pour des listes volumineuses, cette approche est beaucoup moins performante que le filtrage côté serveur (via une requête OData, qui sera abordé au Module 5), car elle consomme plus de requêtes API et plus de mémoire.91 C'est une solution de repli, pas la méthode à privilégier si le filtrage à la source est possible.

4.4 Atelier pratique 4 : envoyer des rappels personnalisés (1h00)

Objectif : Mettre en pratique la lecture de données depuis Excel, l'utilisation d'une boucle "Appliquer à chacun" et l'imbrication d'une condition pour envoyer des notifications ciblées.

Scénario : Un fichier Excel stocké sur OneDrive contient une table nommée "SuiviTaches" avec les colonnes suivantes : "NomTache", "ResponsableEmail", et "Statut". Un flux doit s'exécuter une fois par jour. Pour chaque tâche dont le statut est "En retard", il doit envoyer un e-mail de rappel personnalisé au responsable de la tâche.

Étapes guidées :

  1. Préparation du fichier Excel : Demandez aux participants de créer un nouveau fichier Excel dans leur OneDrive. Créez les trois colonnes "NomTache", "ResponsableEmail", "Statut". Saisissez quelques lignes de données de test, avec différents statuts ("En cours", "Terminé", "En retard"). Sélectionnez les données et utilisez la fonction "Mettre sous forme de tableau" d'Excel. Donnez un nom explicite à la table, par exemple "Taches".71 C'est une étape cruciale, car l'action Power Automate ne fonctionne qu'avec des tables nommées.
  2. Déclencheur du flux : Créez un nouveau flux planifié, configuré pour s'exécuter une fois par jour avec le déclencheur "Récurrence".
  3. Lecture des données Excel : Ajoutez l'action "Lister les lignes présentes dans un tableau" du connecteur "Excel Online (Business)".71
  • Configurez l'action pour pointer vers le fichier Excel et la table "Taches" créés à l'étape 1.
  1. Boucle sur les tâches : L'action précédente renvoie un tableau de lignes. Ajoutez une nouvelle étape. Dès que vous utiliserez une donnée dynamique provenant de "Lister les lignes...", Power Automate insérera automatiquement une boucle "Appliquer à chacun" sur la sortie "value" de l'action Excel.
  2. Condition sur le statut :À l'intérieur de la boucle, ajoutez une action "Condition".
  • Règle : Sélectionnez le contenu dynamique Statut (qui représente la valeur de la colonne Statut pour la ligne en cours de traitement), choisissez l'opérateur est égal à, et saisissez la valeur En retard.
  1. Envoi de l'e-mail de rappel : Dans la branche "Si oui" de la condition, ajoutez une action "Envoyer un e-mail (V2)".
  • À : Utilisez le contenu dynamique ResponsableEmail de la ligne Excel.
  • Objet : Rendez l'objet dynamique en utilisant une expression : concat('Rappel de tâche en retard : ', item()?).
  • Corps : Rédigez un message personnalisé qui inclut également des informations de la ligne en cours, par exemple : "Bonjour, la tâche '' qui vous est assignée est actuellement en retard. Merci de la traiter rapidement."
  1. Test et vérification :
  • Sauvegardez le flux et lancez un test manuel.
  • Vérifiez l'historique d'exécution pour voir le déroulement de la boucle et des conditions.
  • Les participants doivent vérifier leur boîte de réception. Seuls les responsables des tâches "En retard" doivent avoir reçu un e-mail, et chaque e-mail doit être personnalisé avec le bon nom de tâche.

Jour 2 : Flux avancés et automatisation de processus métier

Module 5 : Intégration poussée avec SharePoint (durée : 2h00)

5.1 SharePoint comme source de données robuste

Alors qu'Excel est un excellent outil pour débuter, les processus d'entreprise nécessitent une source de données plus structurée, sécurisée et scalable. C'est là que SharePoint excelle.93 Il est essentiel de positionner SharePoint non pas comme un simple espace de stockage de fichiers, mais comme une véritable plateforme de services de contenu, offrant des listes (qui agissent comme des tables de base de données intelligentes) et des bibliothèques de documents (qui peuvent être enrichies de métadonnées et de politiques de gestion).19

  • Déclencheurs SharePoint courants : Power Automate offre une intégration profonde avec SharePoint, proposant des déclencheurs très spécifiques :
  • Quand un élément est créé : Se déclenche uniquement à l'ajout d'un nouvel élément dans une liste.95
  • Quand un élément ou un fichier est modifié : Se déclenche à la création ET à chaque modification. C'est un déclencheur puissant mais qui nécessite des précautions pour éviter les boucles infinies.96
  • Pour un élément sélectionné : Un déclencheur manuel qui permet à un utilisateur de lancer un flux directement depuis l'interface d'une liste ou bibliothèque SharePoint sur un ou plusieurs éléments sélectionnés.52
  • Actions SharePoint courantes : Les actions permettent une manipulation complète des données : Créer un élément, Obtenir un élément, Obtenir les éléments, Mettre à jour un élément, Supprimer un élément, ainsi que leurs équivalents pour les fichiers (Créer un fichier, Obtenir le contenu du fichier, etc.).95

5.2 Filtrage côté serveur avec les requêtes OData

C'est l'un des concepts les plus importants pour créer des flux performants et fiables avec SharePoint. Dans les paramètres avancés de l'action Obtenir les éléments, le champ "Requête de filtre" (Filter Query) permet de spécifier des critères de filtrage en utilisant la syntaxe OData (Open Data Protocol).97

Note pour le formateur : le point de bascule vers la performance - la délégation

Il est crucial de consacrer du temps à expliquer la différence fondamentale entre le filtrage côté client et le filtrage côté serveur. C'est un point de bascule qui sépare les flux "amateurs" des flux de "qualité professionnelle".

Utilisez une analogie claire :

  • Filtrage côté client (mauvaise pratique) : C'est comme commander une bibliothèque entière pour trouver un seul livre. L'action Obtenir les éléments (sans filtre) demande à SharePoint : "Donne-moi TOUS les éléments de la liste". SharePoint commence à envoyer les éléments par paquets (pagination). Par défaut, Power Automate récupère les 100 premiers, puis continue jusqu'à une limite (par exemple, 5000 éléments pour certaines licences).99 Ensuite, c'est l'action Filtrer un tableau qui, au sein de Power Automate, doit trier cette énorme pile de données pour trouver ce qui l'intéresse.
    • Problèmes :
      1. Inefficacité : Transfert de données massif et inutile sur le réseau.
      2. Lenteur : Le flux passe beaucoup de temps à traiter des données inutiles.
      3. Risque d'erreur : Si la liste contient plus de 5000 éléments (le "List View Threshold" de SharePoint), et que l'élément recherché n'est pas dans les 5000 premiers, le flux ne le trouvera jamais et donnera un résultat erroné sans générer d'erreur apparente. C'est ce qu'on appelle un problème de délégation.
  • Filtrage côté serveur (bonne pratique) : C'est comme demander directement au bibliothécaire de vous apporter le livre précis. L'action Obtenir les éléments avec une requête de filtre OData envoie une instruction précise à SharePoint : "Donne-moi UNIQUEMENT les éléments où la colonne 'Statut' est égale à 'Approuvé'". SharePoint effectue le filtrage en utilisant ses index optimisés et ne renvoie que le petit sous-ensemble de données pertinent.
    • Avantages :
      1. Efficacité maximale : Seules les données nécessaires transitent.
      2. Rapidité extrême : Le temps d'exécution est considérablement réduit.
      3. Fiabilité et scalabilité : La méthode fonctionne quel que soit le nombre d'éléments dans la liste SharePoint (des dizaines de milliers ou plus), contournant ainsi la limite de 5000 éléments.

Insistez sur cette règle d'or : Toujours filtrer les données à la source (côté serveur) chaque fois que c'est possible.

5.3 Syntaxe des requêtes OData pour SharePoint

La syntaxe OData peut être intimidante au premier abord. Il est donc essentiel de la présenter de manière structurée et avec des exemples clairs.

  • Le nom interne des colonnes : La première règle est que les requêtes OData n'utilisent pas le nom d'affichage de la colonne (ex: "Date d'échéance") mais son nom interne (ex: DueDate). Montrez aux participants comment trouver ce nom interne : allez dans les paramètres de la liste SharePoint, cliquez sur la colonne, et regardez l'URL de la page. Le nom interne apparaît après &Field=.
  • Opérateurs logiques : On peut combiner plusieurs conditions avec les opérateurs and et or. Il est possible de grouper les conditions avec des parenthèses : (Status/Value eq 'En cours') and (Priority eq 'Haute').

5.4 Atelier pratique 5 : flux de gestion documentaire (1h00)

Objectif : Mettre en œuvre une automatisation de gestion de cycle de vie de documents en utilisant une requête OData pour la performance et la fiabilité.

Scénario : Une entreprise a une bibliothèque de documents SharePoint nommée "Contrats Clients" avec une colonne de métadonnée "Statut" (Choix : "En rédaction", "En approbation", "Signé", "Archivé"). Un flux planifié doit s'exécuter chaque nuit pour archiver les vieux contrats. Il doit trouver tous les documents dont le statut est "Signé" et qui n'ont pas été modifiés depuis plus de 365 jours, puis les déplacer vers une autre bibliothèque nommée "Archives Contrats".

Étapes guidées :

  1. Préparation SharePoint : Les participants créent les deux bibliothèques de documents ("Contrats Clients" et "Archives Contrats") et ajoutent la colonne "Statut" à la première. Ils y déposent quelques fichiers de test et s'assurent de mettre à jour le statut et la date de modification pour simuler le scénario.
  2. Déclencheur : Créez un nouveau flux planifié avec le déclencheur "Récurrence" (une fois par jour).
  3. Calcul de la date limite : Ajoutez une action "Composer" (ou "Initialiser une variable") pour calculer la date d'il y a 365 jours.
    • Expression : addDays(utcNow(), -365)
  4. Obtenir les fichiers à archiver : Ajoutez l'action "Obtenir les fichiers (propriétés uniquement)".
    • Configurez l'adresse du site et le nom de la bibliothèque "Contrats Clients".
    • Dépliez les "Paramètres avancés" et dans le champ "Requête de filtre", saisissez la requête OData : Status eq 'Signé' and Modified lt '@{outputs('Composer')}'. Expliquez comment la sortie de l'action "Composer" est utilisée dynamiquement dans la requête.
  5. Boucle d'archivage : Une boucle "Appliquer à chacun" sera automatiquement créée sur la sortie de l'action "Obtenir les fichiers".
  6. Actions dans la boucle : Pour chaque fichier trouvé, effectuez les actions suivantes :
    • Obtenir le contenu du fichier : Utilisez l'identifiant ID du fichier en cours de traitement pour récupérer son contenu binaire.
    • Créer un fichier : Créez un nouveau fichier dans la bibliothèque "Archives Contrats". Utilisez le Nom de fichier avec extension et le Contenu du fichier des actions précédentes.
    • Supprimer le fichier : Une fois la copie réussie, supprimez le fichier original de la bibliothèque "Contrats Clients" en utilisant son ID.
  7. Test : Exécutez le flux manuellement. Vérifiez que les bons fichiers ont été déplacés de "Contrats Clients" vers "Archives Contrats" et que les autres sont restés en place.

Module 6 : Les flux d'approbation (durée : 2h30)

6.1 Concevoir des processus de validation

Les processus d'approbation sont omniprésents dans la vie d'une entreprise : validation d'une note de frais, approbation d'une demande de congé, relecture d'un document, signature d'un bon de commande, etc..17 Power Automate fournit un système d'approbation centralisé et puissant qui permet de standardiser, d'automatiser et de tracer ces processus critiques.11

  • L'action "Démarrer et attendre une approbation" : C'est l'action centrale de ce module. Comme son nom l'indique, elle crée et envoie une demande d'approbation, puis met l'exécution du flux en pause jusqu'à ce que l'approbateur désigné ait donné sa réponse. Le flux ne reprendra son cours qu'après cette réponse.104
  • L'expérience de l'approbateur : Une demande d'approbation est une expérience unifiée sur plusieurs plateformes, ce qui la rend très efficace. L'approbateur reçoit :
  • Un e-mail adaptatif dans Outlook, lui permettant d'approuver, de rejeter et de commenter directement depuis sa boîte de réception, sans changer de contexte.104
  • Une notification dans Microsoft Teams, où il peut également traiter la demande directement depuis le client Teams.
  • Une tâche dans le Centre d'Approbations du portail Power Automate, qui centralise toutes ses demandes en attente.

6.2 Types d'approbation et réponses personnalisées

L'action "Démarrer et attendre une approbation" offre plusieurs types de comportement pour s'adapter à différents scénarios métier.104

  • Types de base (approuver/rejeter) :
  • Premier à répondre : La demande est envoyée à un groupe d'approbateurs. Dès que l'un d'eux répond (approuve ou rejette), la décision est finale et le flux continue. C'est idéal pour un service où plusieurs personnes ont l'autorité de valider et où la rapidité est essentielle (ex: validation d'un ticket de support par n'importe quel membre de l'équipe N2).
  • Tous doivent approuver (mode unanime) : La demande est envoyée à un groupe, et le résultat ne sera "Approuvé" que si tous les membres du groupe approuvent. Si un seul membre rejette, la demande est immédiatement considérée comme rejetée. C'est le mode le plus strict, utilisé pour les décisions collégiales importantes où un consensus est requis.
  • Réponses personnalisées : Parfois, "Approuver" et "Rejeter" ne suffisent pas. Power Automate permet de définir ses propres boutons de réponse.105
  • Exemple : Pour une demande de budget, les options pourraient être "Approuver", "Rejeter", "Demander plus d'informations".
  • Le flux peut ensuite utiliser une action "Condition" ou, mieux, une action "Basculer" (Switch) pour exécuter une logique différente en fonction de la réponse choisie. Si "Demander plus d'informations", le flux pourrait envoyer un e-mail au demandeur pour lui demander des précisions.

6.3 Architectures d'approbation : séquentiel vs. parallèle

Le choix de l'architecture d'approbation n'est pas une simple décision technique ; il doit refléter la nature du processus métier que l'on automatise. C'est une question de modélisation avant d'être une question de construction.106

  • Approbation séquentielle : La demande suit un chemin linéaire et hiérarchique. Elle est d'abord envoyée à l'approbateur A. S'il approuve, elle est ensuite envoyée à l'approbateur B, et ainsi de suite. C'est le modèle classique des validations managériales (employé -> manager N+1 -> directeur N+2) ou des processus par étapes (rédaction -> relecture technique -> relecture légale).
  • Implémentation : On enchaîne simplement plusieurs actions "Démarrer et attendre une approbation" les unes après les autres, avec des conditions entre chaque étape pour vérifier le résultat de l'approbation précédente.
  • Approbation parallèle : La demande est envoyée simultanément à plusieurs approbateurs (ou groupes d'approbateurs). Leurs décisions sont indépendantes et peuvent être prises en même temps. C'est idéal lorsqu'on a besoin de l'avis de plusieurs départements qui n'ont pas de lien hiérarchique entre eux (ex: une demande d'achat doit être validée à la fois par le service Finance pour le budget et par le service IT pour la conformité technique).
  • Implémentation : On utilise le contrôle "Ajouter une branche parallèle" dans le concepteur de flux pour créer plusieurs chemins d'exécution simultanés, chacun contenant sa propre action d'approbation.

Tableau 1

CritèreApprobation séquentielleApprobation parallèle
Logique de fluxLinéaire, étape par étape. A -> B -> C.Simultanée. A -> (B et C en même temps).
DépendanceChaque approbation dépend de la précédente.Les approbations sont indépendantes les unes des autres.
Cas d'usageProcessus hiérarchiques (validation managériale), validation de documents par étapes.Demande d'avis à plusieurs départements (RH, Finance, Légal), vote d'un comité.
ImplémentationActions "Démarrer et attendre" successives.Utilisation des "Branches parallèles".
VitessePotentiellement plus lent, car bloqué par un seul maillon de la chaîne.Généralement plus rapide, car les tâches sont effectuées en même temps.
ComplexitéPlus simple à concevoir et à suivre.Peut devenir complexe pour gérer la consolidation des différents résultats.
  • Justification de la valeur de la table : Ce tableau est un outil pédagogique essentiel. Il aide les participants à passer d'une réflexion purement technique ("Comment je construis ça?") à une réflexion de modélisation de processus métier ("Quel est le fonctionnement logique de ma validation?"). En les forçant à répondre à des questions comme "L'ordre a-t-il de l'importance?", on les guide vers le choix de la bonne architecture, ce qui est une compétence clé pour créer des automatisations pertinentes et efficaces.

6.4 Gestion avancée : délais, délégation et escalade

Un processus d'approbation robuste doit anticiper les imprévus, notamment l'indisponibilité d'un approbateur.

  • Timeout (délai d'expiration) : Dans les paramètres de l'action "Démarrer et attendre une approbation", l'option "Délai d'expiration" permet de spécifier une durée (ex: P7D pour 7 jours). Si l'approbateur ne répond pas dans ce délai, l'action expire et le flux continue dans une branche d'erreur.118
  • Escalade (escalation) : Le pattern d'escalade combine le timeout avec la gestion d'erreur. On configure une branche parallèle ou une action suivante pour qu'elle ne s'exécute qu'en cas d'échec ou d'expiration de l'approbation. Dans cette branche, on peut alors, par exemple, obtenir le manager de l'approbateur initial et lui assigner une nouvelle tâche d'approbation.118
  • Délégation et réassignation :
  • Manuelle : Un approbateur peut, depuis l'e-mail ou Teams, réassigner manuellement une tâche qui lui est destinée à un collègue.123
  • Automatique : Mettre en place une délégation automatique (par exemple, en se basant sur les réponses automatiques d'absence du bureau d'Outlook) est un scénario avancé. Il n'existe pas d'action simple pour cela. Cela requiert généralement des flux plus complexes qui interagissent directement avec les tables Dataverse où sont stockées les approbations, pour annuler la tâche initiale et en créer une nouvelle pour le délégué.125 Il est important de mentionner cette complexité.

6.5 Atelier pratique 6 : processus de validation de congés multi-niveaux (1h30)

Objectif : Construire un flux d'approbation séquentiel complet et réaliste, en manipulant la hiérarchie managériale.

Scénario : Un employé soumet une demande de congé via une liste SharePoint. La demande doit d'abord être approuvée par son manager direct (N+1). Si celui-ci approuve, la demande est alors transmise au manager du manager (N+2) pour approbation finale. L'employé doit être notifié par e-mail du résultat final (approbation ou rejet) et le statut dans la liste SharePoint doit être mis à jour.

Étapes guidées :

  1. Préparation : Les participants créent une liste SharePoint "Demandes de Congés" avec les colonnes : Titre, DateDébut, DateFin, Statut (Choix: "Soumis", "Approuvé", "Rejeté").
  2. Déclencheur : Créez un flux automatisé déclenché par Quand un élément est créé sur cette liste.
  3. Étape 1 - Obtenir le manager (N+1) : Ajoutez l'action "Obtenir le responsable (V2)" du connecteur "Utilisateurs Office 365". Dans le champ "UPN de l'utilisateur", insérez le contenu dynamique E-mail de la personne qui a créé provenant du déclencheur.
  4. Étape 2 - Première approbation (N+1) : Ajoutez une action Démarrer et attendre une approbation.
    • Type : "Approuver/Rejeter - Premier à répondre".
    • Titre : Concat('Demande de congé pour ', triggerOutputs()?).
    • Assigné à : Insérez le contenu dynamique Courrier de l'action "Obtenir le responsable (V2)".
  5. Condition de pré-approbation : Ajoutez une action Condition.
    • Vérifiez si le Résultat (Outcome) de l'approbation N+1 est égal à Approuver.
  6. Branche "Si non" (rejet N+1) :
    • Ajoutez une action Envoyer un e-mail (V2) au demandeur (E-mail de la personne qui a créé) pour l'informer du rejet.
    • Ajoutez une action Mettre à jour un élément pour changer le statut dans SharePoint à "Rejeté".
  7. Branche "Si oui" (pré-approuvé) :
    • Obtenir le super-manager (N+2) : Ajoutez une nouvelle action Obtenir le responsable (V2). Cette fois, dans le champ "UPN de l'utilisateur", insérez le contenu dynamique Courrier du premier manager (N+1).
    • Deuxième approbation (N+2) : Ajoutez une deuxième action Démarrer et attendre une approbation, assignée au Courrier du N+2.
  8. Condition finale : Ajoutez une nouvelle condition imbriquée pour vérifier le Résultat de l'approbation N+2.
    • Branche "Si oui" (approbation finale) : Envoyez un e-mail de confirmation au demandeur et mettez à jour l'élément SharePoint avec le statut "Approuvé".
    • Branche "Si non" (rejet final) : Envoyez un e-mail de rejet au demandeur et mettez à jour l'élément SharePoint avec le statut "Rejeté".
  9. Test : Le participant crée un nouvel élément dans la liste SharePoint. Le flux se déclenche, envoie la demande au N+1. Une fois approuvée, elle est envoyée au N+2. Le résultat final est notifié et tracé dans SharePoint.

Module 7 : Maîtrise des expressions et des opérations sur les données (durée : 2h30)

7.1 Manipulation avancée de chaînes de caractères

Le contenu dynamique est pratique, mais sa portée est limitée. La véritable puissance de Power Automate se révèle lorsque l'on commence à manipuler les données à l'aide d'expressions. De nombreux cas d'usage réels impliquent l'extraction d'informations spécifiques à partir de textes non structurés, comme l'objet ou le corps d'un e-mail.77

  • Fonctions clés de manipulation de chaînes :
    • split(texte, séparateur) : Cette fonction est extrêmement utile. Elle prend une chaîne de caractères et la divise en un tableau de sous-chaînes en se basant sur un caractère séparateur. Par exemple, split('INV-2024-001', '-') renverra un tableau contenant ['INV', '2024', '001'].
    • indexOf(texte, recherche) : Renvoie la position numérique (à partir de 0) de la première occurrence d'une sous-chaîne. Indispensable pour trouver où commence une information.
    • substring(texte, indexDébut, longueur) : Extrait une partie d'une chaîne en spécifiant un point de départ et une longueur.
    • replace(texte, ancienTexte, nouveauTexte) : Recherche et remplace toutes les occurrences d'une sous-chaîne par une autre.
    • trim(texte) : Supprime les espaces superflus au début et à la fin d'une chaîne.
    • toLower(texte) / toUpper(texte) : Convertit une chaîne en minuscules ou en majuscules. C'est essentiel pour effectuer des comparaisons qui ne sont pas sensibles à la casse (ex: vérifier si un statut est "Approuvé", "approuvé" ou "APPROUVÉ").
  • Cas pratique - extraction de données d'un e-mail :
  • Scénario : Extraire le numéro de facture et le montant d'un objet d'e-mail standardisé comme : "Nouvelle Facture #FA-98765 pour un montant de 1500.75 EUR".
  • Extraction du numéro de facture : On peut combiner plusieurs fonctions. Une approche possible est d'utiliser split() deux fois :
    • split(split(triggerBody()?['subject'], '#'), ' ')
    • Le premier split (interne) coupe la chaîne au niveau du #, ce qui donne un tableau. On prend le deuxième élément (134), soit "FA-98765 pour un montant de 1500.75 EUR".
    • Le deuxième split (externe) coupe ce résultat au niveau de l'espace, et on prend le premier élément (``), ce qui donne "FA-98765".
  • Note pour le formateur : Montrez comment construire cette expression étape par étape à l'aide de l'action "Composer" pour visualiser le résultat de chaque fonction.

7.2 Calculs et manipulation de dates

La gestion des dates et heures est une source fréquente d'erreurs pour les débutants, principalement à cause des fuseaux horaires.

  • Le standard UTC : Il est impératif d'expliquer que Power Automate, comme la plupart des services cloud, fonctionne en interne avec le fuseau horaire UTC (Temps Universel Coordonné). Si on ne prend pas cela en compte, les dates affichées aux utilisateurs ou utilisées dans les conditions peuvent être incorrectes. L'action Convertir le fuseau horaire est l'outil indispensable pour passer de l'UTC à l'heure locale de l'utilisateur (ex: "Romance Standard Time" pour Paris) et vice-versa.
  • Fonctions de date clés :
    • utcNow() : Renvoie la date et l'heure actuelles au format UTC. C'est le point de départ de la plupart des calculs de date.
    • formatDateTime(date, 'format_souhaité') : Permet de formater une date pour l'affichage. Par exemple, formatDateTime(utcNow(), 'dd/MM/yyyy HH:mm') affichera la date et l'heure actuelles au format français.
    • addDays(date, nombre_de_jours), addHours(), addMinutes() : Permettent d'ajouter (ou de soustraire, avec un nombre négatif) une durée à une date. C'est la méthode à utiliser pour calculer des dates d'échéance.
    • dayOfWeek(date) : Renvoie le jour de la semaine sous forme de nombre (0 pour dimanche, 1 pour lundi, etc.), ce qui est très utile pour des logiques métier comme "ne pas exécuter ce flux le week-end".

7.3 Transformer des tableaux avec l'action "sélectionner" (select)

L'action "Sélectionner" est un outil de transformation de données extrêmement puissant et souvent sous-utilisé. Alors que "Filtrer un tableau" agit sur les lignes, "Sélectionner" agit sur les colonnes.88

  • Concept : Cette action prend un tableau d'objets en entrée et produit un nouveau tableau où la structure de chaque objet a été modifiée selon vos spécifications.136
  • Cas d'usage principaux :
  1. Renommer des clés (colonnes) : Si une action "Obtenir les éléments" renvoie une colonne avec un nom interne complexe comme Author/DisplayName, on peut utiliser "Sélectionner" pour la renommer en Auteur dans le tableau de sortie, le rendant plus lisible.
  2. Supprimer des colonnes : En ne mappant que les colonnes que l'on souhaite conserver, on crée une version allégée du tableau, ce qui est plus performant pour les étapes suivantes.
  3. Ajouter des colonnes calculées : On peut créer une nouvelle colonne qui n'existe pas dans les données sources. Par exemple, créer une colonne NomComplet en utilisant l'expression concat(item()?['Prénom'], ' ', item()?['Nom']).
  4. Créer des liens HTML : On peut créer une colonne qui contient un lien cliquable, par exemple pour une utilisation dans une table HTML.
  • Sortie : Le résultat de l'action "Sélectionner" est un nouveau tableau, parfaitement formaté pour être utilisé comme entrée des actions Créer une table HTML ou Créer une table CSV.138

7.4 Générer des rapports : tables HTML et CSV

Power Automate facilite la création de rapports tabulaires à partir de n'importe quelle source de données de type tableau.

  • Actions Créer une table HTML et Créer une table CSV : Ces actions de l'opération de données prennent en entrée un tableau (typiquement la sortie d'une action Sélectionner ou Filtrer un tableau) et le convertissent en une seule chaîne de caractères formatée en HTML ou en CSV.135
  • Personnalisation de la table HTML : Une table HTML brute est fonctionnelle mais peu esthétique. Pour créer des rapports professionnels, il faut la styliser. La meilleure pratique consiste à :
  1. Créer une action Composer qui contient tout le code CSS nécessaire pour définir les styles (couleurs des en-têtes, bordures, espacement, etc.).140
  2. Dans l'action Envoyer un e-mail (V2), s'assurer que le corps de l'e-mail est en mode HTML.
  3. Insérer d'abord la sortie de l'action Composer (le CSS), puis la sortie de l'action Créer une table HTML. Le navigateur de l'utilisateur appliquera alors les styles à la table.143

7.5 Atelier pratique 7 : créer un e-mail de synthèse hebdomadaire (digest) (1h30)

Objectif : Cet atelier est un projet de synthèse qui combine le filtrage OData, les opérations sur les tableaux (Sélectionner, Créer une table HTML) et le formatage HTML pour produire un rapport automatisé à forte valeur ajoutée.

Scénario : Chaque lundi matin à 8h00, un flux doit envoyer un e-mail unique à un manager. Cet e-mail doit contenir un tableau récapitulatif de toutes les tâches de sa liste SharePoint qui sont "En cours" ou "En retard" et dont l'échéance est dans les 7 prochains jours. Le tableau doit être clair, stylisé et contenir des liens directs vers les éléments SharePoint.

Étapes guidées :

  1. Déclencheur : Créez un flux planifié avec le déclencheur "Récurrence", configuré pour s'exécuter tous les lundis à 8h00.
  2. Obtenir les tâches pertinentes : Ajoutez l'action Obtenir les éléments de SharePoint.
    • Pointez vers la liste de tâches.
    • Dans la "Requête de filtre" OData, construisez la requête pour ne récupérer que les tâches nécessaires. C'est une excellente occasion de réviser les expressions de date :
      • (Status eq 'En cours' or Status eq 'En retard') and (DueDate ge '@{utcNow()}' and DueDate le '@{addDays(utcNow(), 7)}')
  3. Mise en forme des données : Ajoutez une action Sélectionner.
    • En entrée De, utilisez la sortie value de l'action "Obtenir les éléments".
    • Dans le Mappage, créez des colonnes plus lisibles :
    • Tâche -> Title (contenu dynamique)
    • Échéance -> Expression : formatDateTime(item()?, 'dd/MM/yyyy')
    • Lien -> Expression : concat('<a href="', item()?['{Link}'], '">Ouvrir</a>') pour créer un lien HTML cliquable.
  4. Création de la table HTML : Ajoutez une action Créer une table HTML.
    • En entrée De, utilisez la sortie de l'action "Sélectionner".
    • Dans les options avancées, vous pouvez choisir les colonnes à inclure.
  5. Stylisation (CSS) : Ajoutez une action Composer nommée "Style CSS". Collez-y un bloc de CSS fourni par le formateur pour styliser les tables HTML (balises table, th, td).
  6. Envoi de l'e-mail : Ajoutez une action Envoyer un e-mail (V2).
    • À : L'adresse e-mail du manager.
    • Objet : "Synthèse hebdomadaire des tâches à venir".
    • Corps : Passez en mode code (</>). Insérez d'abord la sortie de l'action "Style CSS", puis la sortie de l'action "Créer une table HTML".
  7. Test : Exécutez le flux manuellement. Le manager doit recevoir un e-mail contenant un tableau bien formaté des tâches pertinentes, avec des dates lisibles et des liens fonctionnels.

Table 2

CatégorieFonctionExemple d'utilisation et Résultat
Chaîneconcat(str1, str2,...)concat('ID-', item()?['NumeroFacture']) -> "ID-123"
Chaînesplit(texte, séparateur)split('a;b;c', ';') -> ['a', 'b', 'c'] (un tableau)
Chaînereplace(texte, ancien, nouveau)replace('abc-123', '-', '_') -> "abc_123"
Chaînesubstring(texte, début, long)substring('abcdef', 1, 3) -> "bcd"
ChaînetoLower(texte)toLower('AbC') -> "abc" (pour comparaison insensible à la casse)
Date/HeureutcNow()Renvoie la date et l'heure actuelles au format UTC.
Date/HeureformatDateTime(date, format)formatDateTime(utcNow(), 'dd/MM/yyyy') -> "16/06/2025"
Date/HeureaddDays(date, jours)addDays(utcNow(), -7) -> Renvoie la date et l'heure d'il y a 7 jours.
Date/HeureconvertTimeZone(date, src, dest)convertTimeZone(utcNow(), 'UTC', 'Romance Standard Time')
Logiqueif(condition, siVrai, siFaux)if(equals(item()?['Statut'], 'OK'), 'Valide', 'Invalide')
Logiqueequals(val1, val2)Utilisé dans les conditions pour tester l'égalité stricte.
Collectionlength(collection)length(outputs('Obtenir_les_éléments')?['body/value']) -> Renvoie le nombre d'éléments.
Collectionempty(collection)empty(outputs('Filtrer_un_tableau')?['body']) -> Renvoie true si le tableau est vide.
  • Justification de la valeur de la table : Cette table est un aide-mémoire ("cheatsheet") indispensable pour les participants. Les expressions représentent souvent la courbe d'apprentissage la plus raide.77 Fournir une référence rapide des fonctions les plus courantes, avec des exemples concrets, démystifie le concept et encourage les participants à expérimenter par eux-mêmes, renforçant ainsi leur autonomie.75

Module 8 : Débogage, surveillance et gestion des erreurs (durée : 1h30)

8.1 Surveiller les exécutions de flux

Un flux qui a été créé et sauvegardé n'est pas une boîte noire. Power Automate offre des outils de surveillance transparents pour suivre ce qui se passe "sous le capot".

  • L'historique d'exécution : Pour chaque flux, le portail Power Automate conserve un historique détaillé des 28 derniers jours d'exécution.49 Cette page est le premier point d'entrée pour le diagnostic. Elle liste chaque exécution avec son heure de début, sa durée et son statut final.
  • Analyse d'une exécution : En cliquant sur une exécution spécifique, on accède à une vue détaillée où chaque action du flux est représentée. On peut cliquer sur chaque action pour inspecter ses entrées (les données qu'elle a reçues) et ses sorties (les données qu'elle a produites). C'est le principal outil pour comprendre pourquoi un flux s'est comporté d'une certaine manière.12
  • Les statuts d'exécution :
  • Réussi : Le flux s'est terminé sans erreur.
  • Échoué : Une ou plusieurs actions ont rencontré une erreur qui a stoppé le flux.
  • Annulé : Le flux a été arrêté manuellement par un utilisateur ou a été annulé par le système (par exemple, un flux d'approbation qui a été annulé).
  • En cours d'exécution : Le flux est actuellement en train de s'exécuter.

8.2 Stratégies de débogage

Lorsqu'un flux ne fonctionne pas comme prévu, il faut adopter une approche méthodique pour trouver et corriger le problème.

  • L'action "composer" (compose) comme outil de diagnostic :
  • L'action "Composer" est bien plus qu'un simple moyen de stocker une valeur ; c'est le meilleur ami du développeur Power Automate pour le débogage.145 Souvent, le résultat d'une expression complexe ou la valeur d'une variable à un instant T n'est pas directement visible dans les sorties d'une action comme "Condition". En insérant une action "Composer" juste avant l'étape problématique et en y plaçant la variable ou l'expression que l'on souhaite inspecter, on force Power Automate à afficher sa valeur exacte dans l'historique d'exécution. Cela permet de vérifier si une date est bien formatée, si un calcul est correct ou si une chaîne de caractères contient la bonne valeur, rendant l'erreur évidente.147
  • Tester avec des données précédentes : Pour les flux automatisés, il peut être fastidieux de recréer l'événement déclencheur à chaque test (ex: envoyer un e-mail, créer un élément SharePoint). La fonction "Tester" permet de ré-exécuter un flux en utilisant les données d'un déclencheur d'une exécution précédente, ce qui permet de se concentrer sur la logique du flux sans avoir à refaire la mise en place du test.42

8.3 Mettre en place une gestion d'erreurs robuste

Un flux de production ne doit pas simplement échouer en silence. Une gestion d'erreurs robuste permet d'anticiper les problèmes, de notifier les bonnes personnes et de garantir la continuité du service.

  • "Configurer l'exécution après" : C'est le mécanisme fondamental de la gestion d'erreurs.148 Pour chaque action, on peut accéder à ce paramètre (via le menu "..."). Par défaut, une action ne s'exécute que si la précédente a
  • réussi. On peut modifier ce comportement pour qu'elle s'exécute également (ou uniquement) si l'action précédente a échoué, a été ignorée (skipped) ou a expiré (timed out).
  • Le pattern "try / catch / finally" avec des étendues (scopes) : Ce pattern, bien connu en développement traditionnel, peut être répliqué dans Power Automate pour une gestion d'erreurs structurée et propre.28
  1. Le bloc "try" : On crée une action Étendue (Scope) que l'on nomme "Try". À l'intérieur, on place le corps principal de notre flux, c'est-à-dire les actions qui pourraient potentiellement échouer. L'étendue permet de grouper logiquement ces actions.148
  2. Le bloc "catch" : On ajoute une deuxième étendue, nommée "Catch", après le bloc "Try". On configure son exécution ("Configurer l'exécution après") pour qu'elle ne se lance que si le bloc "Try" a échoué. À l'intérieur de ce bloc "Catch", on place la logique de gestion d'erreur : envoyer un e-mail d'alerte à l'administrateur, enregistrer l'erreur dans une liste SharePoint de suivi, etc.
  3. Le bloc "finally" (optionnel) : On peut ajouter une troisième étendue "Finally" dont l'exécution est configurée pour se lancer dans tous les cas (réussite ou échec du bloc "Try"). C'est utile pour des actions de nettoyage qui doivent toujours avoir lieu, comme fermer une connexion ou supprimer un fichier temporaire.

8.4 Prévenir les boucles infinies

Une boucle infinie est un problème de conception classique et grave. Elle se produit généralement lorsqu'un flux déclenché par l'événement Quand un élément est modifié contient une action qui, à son tour, Met à jour ce même élément. Cette mise à jour redéclenche le flux, qui met à jour l'élément, qui redéclenche le flux, et ainsi de suite, consommant des ressources inutilement jusqu'à ce que le système l'arrête.

  • La solution principale : les conditions de déclenchement (trigger conditions) : C'est la méthode la plus propre et la plus performante pour éviter les exécutions inutiles. Dans les paramètres du déclencheur, on peut ajouter une expression qui doit être vraie pour que le flux démarre.
  • Exemple : Un flux doit se déclencher uniquement lorsque la colonne "Statut" passe à "Approuvé". On peut ajouter une condition de déclenchement : @equals(triggerBody()??['Value'], 'Approuvé'). Ainsi, si une autre colonne de l'élément est modifiée, le flux ne se lancera pas. Pour éviter la boucle si le flux lui-même met à jour une autre colonne, on peut ajouter une condition qui vérifie que le statut n'était pas déjà "Approuvé" avant la modification, ou plus simplement, s'assurer que l'utilisateur qui fait la modification n'est pas le compte de service utilisé par le flux.
  • Alternative : la condition de sortie : Une autre approche consiste à placer une action "Condition" tout au début du flux. Cette condition vérifie si le flux doit s'exécuter. Par exemple, si l'utilisateur qui a modifié l'élément est le compte de service du flux, alors on ne fait rien ou on utilise l'action Terminer pour arrêter le flux immédiatement.

8.5 Atelier pratique 8 : réparer un flux et implémenter un "try/catch" (1h00)

Objectif : Donner aux participants une expérience pratique du diagnostic d'une erreur et de la mise en place d'une gestion d'erreurs robuste.

Scénario : Le formateur fournit aux participants un flux pré-construit et intentionnellement défaillant. Par exemple, un flux qui récupère une valeur numérique d'une source (ex: un champ de texte dans un formulaire) et tente d'effectuer une division. Le flux échoue si l'utilisateur saisit "0" ou du texte.

Étapes guidées :

  1. Diagnostic de l'erreur :
    • Les participants exécutent le flux en fournissant une entrée qui le fera échouer (ex: "0").
    • Ils observent l'échec dans l'historique d'exécution et apprennent à lire le message d'erreur (ex: "Tentative de division par zéro.").[157]
  2. Débogage :
    • Ils modifient le flux en ajoutant une action Composer juste avant l'action de division pour afficher la valeur de la variable utilisée comme diviseur. Cela leur permet de confirmer la cause du problème.
  3. Correction simple :
    • Ils ajoutent une action Condition pour ne réaliser l'opération de division que si la variable diviseur est différente de zéro.
  4. Mise en place de la robustesse (pattern Try/Catch) :
    • Ils créent une étendue "Try" et y placent l'action de division.
    • Ils créent une étendue "Catch" et configurent son exécution pour qu'elle ne se déclenche qu'en cas d'échec de l'étendue "Try".
    • À l'intérieur de "Catch", ils ajoutent une action Envoyer un e-mail (V2) qui envoie une alerte à l'administrateur. Le corps de l'e-mail doit être dynamique et utile, en incluant le nom du flux et un lien direct vers l'exécution échouée.
    • Note pour le formateur : Montrez les expressions pour obtenir ces informations :
      • Nom du flux : workflow()?['name']
      • Lien vers l'exécution : concat('https://make.powerautomate.com/environments/', workflow()?['tags']?['environmentName'], '/flows/', workflow()?['name'], '/runs/', workflow()?['run']?['name']).[148]
    • Ils ajoutent une action Terminer à la fin du bloc "Catch" avec le statut "Échoué" pour que l'historique reflète correctement l'échec.
  5. Test final : Les participants testent à nouveau le flux avec une entrée invalide. Cette fois, le flux doit se terminer avec le statut "Réussi" (grâce au Try/Catch qui a "attrapé" l'erreur), et l'administrateur doit recevoir l'e-mail d'alerte.

Jour 3 : Gouvernance, Administration et Bonnes Pratiques

Module 9 : Gestion du cycle de vie des flux et Gouvernance (durée : 2h00)

9.1 Introduction à l'Application Lifecycle Management (ALM)

L'ALM (Application Lifecycle Management) n'est pas un concept réservé aux développeurs professionnels. C'est une discipline qui englobe la gouvernance, le développement et la maintenance d'une application ou d'une automatisation, de sa conception à son retrait. Adopter une stratégie ALM est ce qui différencie la création de "petits flux personnels" du déploiement de solutions d'automatisation critiques pour l'entreprise. L'ALM garantit que les solutions sont développées, testées et déployées de manière structurée, contrôlée et reproductible, minimisant ainsi les risques pour l'environnement de production.

9.2 Les Environnements : Dev, Test, Production

Le pilier de toute stratégie ALM est la séparation des environnements. Il est impératif d'interdire le développement directement dans l'environnement de production. Un modèle standard comprend au minimum trois environnements :

  1. Développement (Dev) : C'est ici que les créateurs (makers) construisent et testent leurs flux et applications. C'est un "bac à sable" où les erreurs n'ont aucun impact sur les opérations de l'entreprise.
  2. Test (UAT - User Acceptance Testing) : Une fois qu'une solution est jugée prête en Dev, elle est déployée dans l'environnement de Test. Ici, un groupe d'utilisateurs clés (les "métiers") teste la solution dans des conditions quasi réelles pour valider qu'elle répond bien aux besoins et ne contient pas de bugs.
  3. Production (Prod) : C'est l'environnement "live" utilisé par l'ensemble des employés de l'entreprise. Seules les solutions qui ont été validées en Test y sont déployées. Les modifications directes dans cet environnement doivent être strictement interdites.

9.3 Les Solutions : le Conteneur de Déploiement

Comment déplace-t-on un ensemble de composants (flux, applications, tables Dataverse, etc.) d'un environnement à un autre de manière propre et fiable ? La réponse est : les Solutions.

Une solution est un "conteneur" qui permet de regrouper tous les composants d'un projet d'automatisation. Plutôt que d'exporter et d'importer chaque flux et chaque application individuellement (ce qui est source d'erreurs), on place tout dans une solution, puis on déploie cette solution comme un seul paquet. C'est le mécanisme de transport officiel de la Power Platform.

9.4 Solutions Managées vs. Non Managées

C'est une distinction fondamentale pour l'ALM.

  • Solutions Non Managées (Unmanaged) : Elles sont utilisées exclusivement dans les environnements de Développement. Elles sont "ouvertes", ce qui signifie que l'on peut y ajouter, supprimer et modifier des composants librement. C'est la nature même du développement.
  • Solutions Managées (Managed) : Lorsqu'une solution est prête à être déployée en Test ou en Production, on l'exporte en tant que solution managée. Une fois importée dans un autre environnement, cette solution est "verrouillée". On ne peut plus modifier directement ses composants dans l'environnement cible. Pour apporter un changement, il faut retourner dans l'environnement de Dev, mettre à jour la solution non managée, puis exporter une nouvelle version de la solution managée pour la redéployer.

Tableau 3

CaractéristiqueSolution Non-ManagéeSolution Managée
EnvironnementDéveloppement (DEV)Test (TEST), Production (PROD)
ÉtatOuverte, entièrement modifiable.Fermée, verrouillée après importation.
ObjectifCréation et modification des composants.Déploiement et utilisation en production.
Mise à jourModifications directes des composants.Importation d'une nouvelle version de la solution managée (mise à niveau ou patch).
SuppressionLa suppression de la solution ne supprime que le conteneur. Les composants restent dans l'environnement (dans la solution par défaut).La suppression de la solution désinstalle et supprime proprement tous ses composants de l'environnement.
AnalogieLe code source d'un programme.Le programme d'installation (.exe,.msi).
  • Justification de la valeur de la table : Ce tableau clarifie un concept souvent confus pour les débutants. Il établit des règles claires sur "quoi utiliser où" et souligne les implications de chaque type de solution, notamment en termes de maintenabilité et de propreté des environnements de production.

9.5 Introduction à la Gouvernance : Politiques de Prévention de la Perte de Données (DLP)

La gouvernance consiste à mettre en place des garde-fous pour que les créateurs puissent innover en toute sécurité. Les politiques de prévention de la perte de données (DLP - Data Loss Prevention) sont un outil de gouvernance essentiel. Une politique DLP permet aux administrateurs de définir des règles sur les connecteurs qui peuvent être utilisés ensemble.

On peut classer les connecteurs en trois groupes :

  1. Professionnel : Connecteurs liés à l'activité de l'entreprise (SharePoint, Office 365, etc.).
  2. Personnel : Connecteurs liés à des services publics (Twitter, Facebook, etc.).
  3. Bloqué : Connecteurs dont l'utilisation est interdite.

Une politique DLP peut par exemple interdire l'utilisation conjointe d'un connecteur "Professionnel" (comme SharePoint) et d'un connecteur "Personnel" (comme Twitter) dans le même flux. Cela empêche un utilisateur de créer un flux qui, par inadvertance ou malveillance, publierait des données confidentielles d'un document SharePoint sur un réseau social public.

9.6 Atelier pratique 9 : Déployer une solution (1h00)

Objectif : Mettre en pratique le processus ALM de base en créant, exportant et important une solution.

Scénario : Utiliser le flux de rappel de tâches hebdomadaires créé précédemment et le déployer vers un nouvel environnement.

Étapes guidées :

  1. Création de la solution : Dans l'environnement de Dev, allez dans la section "Solutions" et créez une nouvelle solution (ex: "Mes Rapports de Tâches").
  2. Ajout des composants : Ouvrez la solution et utilisez le bouton "Ajouter existant" pour y inclure le flux de rappel de tâches. Si le flux utilise des variables d'environnement (bonne pratique pour les URLs de site SharePoint, par exemple), ajoutez-les également.
  3. Exportation : Une fois les composants ajoutés, cliquez sur "Exporter la solution". Exécutez les vérifications, puis choisissez d'exporter en tant que solution Managée. Téléchargez le fichier .zip résultant.
  4. Importation : Le formateur fournira l'accès à un environnement de "Test/Prod" aux participants. Dans cet environnement, ils iront dans "Solutions" et cliqueront sur "Importer la solution". Ils sélectionneront le fichier .zip téléchargé.
  5. Gestion des connexions : Lors de l'importation, Power Automate demandera d'établir les connexions requises par la solution dans le nouvel environnement.
  6. Vérification : Une fois l'importation terminée, le flux doit apparaître dans la liste des flux de l'environnement cible. Il est maintenant prêt à être activé pour fonctionner en production. Expliquez que le flux est maintenant "verrouillé" et non modifiable directement.

Conclusion générale et prochaines étapes

Synthèse de la formation

Au cours de ces trois jours, nous avons parcouru un chemin complet, depuis les concepts fondamentaux de l'automatisation jusqu'aux bonnes pratiques de déploiement et de gouvernance.

  • Vous avez découvert la puissance de la Power Platform en tant qu'écosystème intégré.
  • Vous avez appris à créer les trois types de flux cloud : automatisés, instantanés et planifiés.
  • Vous avez maîtrisé la logique de base avec les conditions et la puissance de manipulation des données avec les expressions.
  • Vous avez compris comment traiter des ensembles de données avec les boucles et comment optimiser les performances avec le filtrage côté serveur.
  • Vous avez construit des processus d'approbation robustes et réalistes.
  • Enfin, vous avez appris à déboguer vos flux, à gérer les erreurs et à les déployer proprement à l'aide des solutions.

Prochaines étapes et auto-formation

La formation est terminée, mais votre parcours avec Power Automate ne fait que commencer. Pour continuer à progresser, voici quelques pistes :

  • Appliquez immédiatement : Le meilleur moyen d'ancrer vos connaissances est de les mettre en pratique. Identifiez dès maintenant un ou deux processus simples mais fastidieux dans votre travail quotidien et essayez de les automatiser.
  • Explorez Microsoft Learn : La plateforme d'apprentissage de Microsoft est une ressource inépuisable et gratuite, avec des parcours d'apprentissage guidés et des modules spécifiques.
  • Rejoignez la communauté : La communauté Power Automate est extrêmement active. Les forums sont un excellent endroit pour poser des questions, trouver des solutions à des problèmes complexes et voir ce que d'autres construisent.
  • Soyez curieux : Explorez de nouveaux connecteurs, testez les fonctionnalités d'AI Builder, regardez comment Power Automate s'intègre avec Power Apps.

Vous avez désormais toutes les clés en main pour devenir un véritable acteur de la transformation numérique au sein de votre organisation. L'automatisation est un voyage, et vous venez de faire le premier pas avec succès.

Sources des citations

  1. Utiliser des expressions dans les conditions dans Power Automate - Learn Microsoft, consulté le juin 15, 2025, https://learn.microsoft.com/fr-fr/power-automate/use-expressions-in-conditions
  2. Formation Power Automate - Ambient IT, consulté le juin 15, 2025, https://www.ambient-it.net/formation/power-automate/
  3. Sequential Approval in Power Automate | Softchief Learn, consulté le juin 16, 2025, https://softchief.com/2024/12/18/sequential-approval-in-power-automate/
  4. Power Automate pour débutant - Openhost, consulté le juin 15, 2025, https://www.openhost-network.com/blog/power-automate-pour-les-debutants/
  5. Formation Power Automate, automatiser les processus - ORSYS, consulté le juin 15, 2025, https://www.orsys.fr/formation/formation-power-automate-automatiser-les-processus.html
  6. Automatiser des tâches simples avec Power Automate - Formation ..., consulté le juin 15, 2025, https://dfc.csfoy.ca/me-perfectionner/cours-de-perfectionnement-a-temps-partiel/informatique/automatiser-des-taches-simples-avec-power-automate
  7. Découvrir Power Automate - SYD - SYD Digital Care, consulté le juin 15, 2025, https://www.syd.fr/power-automate-decouvrir/
  8. Résoudre les problèmes courants avec les déclencheurs - Power Automate, consulté le juin 15, 2025, https://learn.microsoft.com/fr-fr/power-automate/triggers-troubleshoot
  9. Automate Workflows with Power Automate: Master PL-7002 Certification - CloudThat, consulté le juin 15, 2025, https://www.cloudthat.com/training/power-platform/pl-7002-create-and-manage-automated-processes-by-using-power-automate
  10. 6 Exemples de Power Automate - Konfuzio, consulté le juin 15, 2025, https://konfuzio.com/fr/microsoft-power-automate-exemples/
  11. Benefits and Uses of Power Automate | Pragmatiq, consulté le juin 15, 2025, https://www.pragmatiq.co.uk/benefits-and-uses-of-power-automate/
  12. Simple Power Automate Flow Tutorial Step by Step - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=zCXt-8vEvOk
  13. Avoid anti-patterns - Power Automate | Microsoft Learn, consulté le juin 15, 2025, https://learn.microsoft.com/en-us/power-automate/guidance/coding-guidelines/avoid-anti-patterns
  14. Tutoriel : Envoyer des rappels par e-mail hebdomadaires basés sur des données de feuille de calcul - Office Scripts | Microsoft Learn, consulté le juin 15, 2025, https://learn.microsoft.com/fr-fr/office/dev/scripts/tutorials/excel-power-automate-returns
  15. Store and manage values in variables in Power Automate - Power ..., consulté le juin 15, 2025, https://learn.microsoft.com/en-us/power-automate/create-variable-store-values
  16. Qu'est-ce que Power automate ? Automatisation Microsoft - Lapala, consulté le juin 15, 2025, https://lapala.io/power-automatate-cest-quoi/
  17. Automatisez vos Tâches Répétitives avec Power Automate Microsoft - ITTA, consulté le juin 15, 2025, https://www.itta.net/blog/automatisez-vos-taches-repetitives-avec-power-automate-microsoft/
  18. How automation in HR is driving efficiency and innovation in the workplace - CultureMonkey, consulté le juin 16, 2025, https://www.culturemonkey.io/employee-engagement/automation-in-hr/
  19. Power Platform et Microsoft 365 : Automatisation et innovation, consulté le juin 15, 2025, https://blog.alphorm.com/la-power-platform-et-microsoft-365-une-alliance-pour-innover
  20. Power Automate | Microsoft | Automatisation des workflows - Prodware Group, consulté le juin 15, 2025, https://www.prodwaregroup.com/fr-fr/solutions/microsoft-power-automate/
  21. How to create a scalable Power Platform governance model, consulté le juin 16, 2025, https://www.syskit.com/blog/scalable-power-platform-governance-guide/
  22. Power Automate Part 10 - Apply to Each loops - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=kEa27SAmkMA
  23. Automatisation des processus : 4 points clés sur Power Automate | ArpeJe, consulté le juin 15, 2025, https://www.arpeje.fr/power-automate-points-cles-automatisation-processus/
  24. Can I use Power apps to build end to end recruitment tool, consulté le juin 15, 2025, https://community.powerplatform.com/forums/thread/details/?threadid=0d782dcf-1c70-ef11-a670-0022481d7be5
  25. Top 12 HR Automation Benefits to Consider Today - Deel, consulté le juin 16, 2025, https://www.deel.com/blog/benefits-of-hr-automations/
  26. Evaluating the ROI of Automated Human Resource Management Systems - The HR Innovator Group, consulté le juin 16, 2025, https://hrinnovatorsgroup.com/evaluating-the-roi-of-automated-human-resource-management-systems/
  27. 12 Essential HR Automation Benefits to Streamline Your HR in 2025 - FlowForma, consulté le juin 16, 2025, https://www.flowforma.com/blog/benefits-of-hr-automation
  28. Qu'est-ce que vous devez apprendre pour maîtriser Power Automate, consulté le juin 15, 2025, https://www.learnthings.fr/apprendre-pour-maitriser-power-automate/
  29. PL-900: Microsoft Power Platform Fundamentals - Training, consulté le juin 15, 2025, https://learn.microsoft.com/en-us/training/paths/power-plat-fundamentals/
  30. PL-900 Training: Power Platform Fundamentals - Dynamics Edge, consulté le juin 15, 2025, https://www.dynamicsedge.com/courses/power-bi-apps/pl-900-training-power-platform-fundamentals/
  31. CREATING YOUR MICROSOFT POWER PLATFORM GOVERNANCE STRATEGY - Bridgeall, consulté le juin 16, 2025, https://www.bridgeall.com/wp-content/uploads/2022/07/BRAL037_PowerPlatform_Governance_v3.pdf
  32. Power Automate, automatiser vos processus métier - IB Formation, consulté le juin 15, 2025, https://www.ib-formation.fr/formations/messagerie-et-outils-collaboratifs/power-automate-automatiser-vos-processus-metier
  33. Study guide for Exam PL-900: Microsoft Power Platform ..., consulté le juin 15, 2025, https://learn.microsoft.com/en-us/credentials/certifications/resources/study-guides/pl-900
  34. Application lifecycle management (ALM) with Microsoft Power Platform, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-platform/alm/overview-alm
  35. Common questions about Power Automate - Learn Microsoft, consulté le juin 15, 2025, https://learn.microsoft.com/en-us/power-automate/frequently-asked-questions
  36. Microsoft Power Automate French - sa.global, consulté le juin 15, 2025, https://www.saglobal.com/fr-fr/microsoft-business-applications/microsoft-power-platform/microsoft-power-automate-implementation-partner.html?print=print
  37. Power Automate Découverte - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=l9oVMw41WX0
  38. Power Automate : Le Guide Ultime | Tutoriel pour débutants - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=Lozx5O243Do&pp=0gcJCdgAo7VqN5tD
  39. Explore the Power Automate home page - Learn Microsoft, consulté le juin 15, 2025, https://learn.microsoft.com/en-us/power-automate/getting-started
  40. Comment créer un flux sur Power Automate ? - LearnThings, consulté le juin 15, 2025, https://www.learnthings.fr/comment-creer-un-flux-sur-power-automate/
  41. A Beginner's Guide to Microsoft Power Automate in 2025 - Desk365, consulté le juin 15, 2025, https://www.desk365.io/blog/microsoft-power-automate-beginners-guide/
  42. Robotisez vos tâches grâce à Power Automate - Jean-Loup & Azure, consulté le juin 15, 2025, https://jlou.eu/robotisez-vos-taches-grace-a-power-automate/
  43. Troubleshoot Broken Connections - Power Automate | Microsoft Learn, consulté le juin 15, 2025, https://learn.microsoft.com/en-us/troubleshoot/power-platform/power-automate/connections/troubleshoot-broken-connections
  44. Test connection failed. Details: {0} Error in Power Automate for MS Forms Connector, consulté le juin 15, 2025, https://sharepoint.stackexchange.com/questions/301268/test-connection-failed-details-0-error-in-power-automate-for-ms-forms-connec
  45. Fix Power Automate Teams Connection Errors - nBold, consulté le juin 15, 2025, https://nboldapp.com/fix-power-automate-teams-connection-errors/
  46. Can't fix my connection - Power Platform Community, consulté le juin 15, 2025, https://community.powerplatform.com/forums/thread/details/?threadid=93876b29-fecc-ef11-b8e8-7c1e527e6133
  47. Power Automate - Apprendre les bases - get email file to One drive folder - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=ZwbYqokdkP0
  48. Enregistrer automatiquement les PJ d'emails avec Power Automate - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=OmnVFhU2k6A
  49. Comment exécuter un flux Power Automate ? - LearnThings, consulté le juin 15, 2025, https://www.learnthings.fr/comment-executer-un-flux-power-automate/
  50. TUTO Power Automate, Copier vos pièces jointes dans un OneDrive ou SharePoint, consulté le juin 15, 2025, https://www.youtube.com/watch?v=DuL2_3Y9BMM
  51. Qu'est-ce que Power Automate ? - Power Automate | Microsoft Learn, consulté le juin 15, 2025, https://learn.microsoft.com/fr-fr/power-automate/flow-types
  52. Créer un flux pour une liste ou une bibliothèque. - Support Microsoft, consulté le juin 15, 2025, https://support.microsoft.com/fr-fr/office/cr%C3%A9er-un-flux-pour-une-liste-ou-une-biblioth%C3%A8que-a9c3e03b-0654-46af-a254-20252e580d01
  53. Créer un flux de travail automatisé pour Microsoft Forms - Support ..., consulté le juin 15, 2025, https://support.microsoft.com/fr-fr/office/cr%C3%A9er-un-flux-de-travail-automatis%C3%A9-pour-microsoft-forms-dee28c00-503a-48b3-89df-91a5084e6e43
  54. Power Automate - Introduction - Formations | Afi U., consulté le juin 15, 2025, https://www.afiexpertise.com/fr/formation/power-automate-introduction-2231
  55. Formation Automatisation Low Code / No Code Power Automate - Automatiser les processus, consulté le juin 15, 2025, https://www.m2iformation.fr/formation-power-automate-automatiser-les-processus/PA-AUT/
  56. Optimize Power Automate triggers - Learn Microsoft, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-automate/guidance/coding-guidelines/optimize-power-automate-triggers
  57. Take Control of SharePoint Workflows with Power Automate Triggers - Alberon, consulté le juin 16, 2025, https://www.alberon.co.uk/take-control-of-sharepoint-workflows-with-power-automate-triggers/
  58. Sharepoint trigger polling : r/PowerAutomate - Reddit, consulté le juin 16, 2025, https://www.reddit.com/r/PowerAutomate/comments/1kn3c15/sharepoint_trigger_polling/
  59. Limits of automated, scheduled, and instant flows - Power Automate | Microsoft Learn, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-automate/limits-and-config
  60. power-automate-docs/articles/triggers-troubleshoot.md at main - GitHub, consulté le juin 16, 2025, https://github.com/MicrosoftDocs/power-automate-docs/blob/main/articles/triggers-troubleshoot.md
  61. Requests limits and allocations - Power Platform | Microsoft Learn, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-platform/admin/api-request-limits-allocations
  62. Understanding Request Limits and Performance Profiles in Power Automate - YouTube, consulté le juin 16, 2025, https://www.youtube.com/watch?v=SRG5rQkaBv8
  63. Is it really free and for long? 🤯 - Power Platform Community, consulté le juin 16, 2025, https://community.powerplatform.com/forums/thread/details/?threadid=25e7f991-5f35-4369-9c84-7ff54ce353f4
  64. Do NOT confuse Common Data Service Entitlement limits (licence related) with Service Protection limits (performance related) - Dynamics 365 Community, consulté le juin 16, 2025, https://community.dynamics.com/blogs/post/?postid=8d9c3ad9-fe05-42f4-9671-3e2d4b107183
  65. Which license inside Power automate allow the service account to run more than 5000 items inside Apply to each, consulté le juin 16, 2025, https://sharepoint.stackexchange.com/questions/297695/which-license-inside-power-automate-allow-the-service-account-to-run-more-than-5
  66. Power Automate Tutorial Beginner To Pro [Full Course] - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=KsgxDz-nY_I&pp=0gcJCdgAo7VqN5tD
  67. 4. Travailler avec des déclencheurs et des actions - Apprendre Microsoft Power Automate [Book], consulté le juin 15, 2025, https://www.oreilly.com/library/view/apprendre-microsoft-power/9798341610361/ch04.html
  68. Understanding Connectors in Power Automate - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=_750FRsSuBM
  69. Use consistent naming for flow components - Power Automate - Learn Microsoft, consulté le juin 15, 2025, https://learn.microsoft.com/en-us/power-automate/guidance/coding-guidelines/use-consistent-naming-conventions
  70. Power Automate Standards: Naming Conventions - Matthew Devaney, consulté le juin 15, 2025, https://www.matthewdevaney.com/power-automate-coding-standards-for-cloud-flows/power-automate-standards-naming-conventions/
  71. Power Automate Desktop : Le Guide Ultime | Tutoriel pour débutants - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=gPFW9pehf1k
  72. Power Automate Interview Questions - Cloud Foundation, consulté le juin 15, 2025, https://cloudfoundation.com/blog/power-automate-interview-questions/
  73. Best practices thread : r/PowerApps - Reddit, consulté le juin 15, 2025, https://www.reddit.com/r/PowerApps/comments/1i94gul/best_practices_thread/
  74. Power Automate - Switch, Condition and If() - DEV Community, consulté le juin 15, 2025, https://dev.to/wyattdave/power-automate-switch-condition-and-if-25
  75. Présentation des expressions dans Power Automate - Training | Microsoft Learn, consulté le juin 15, 2025, https://learn.microsoft.com/fr-fr/training/modules/introduction-expressions/
  76. Power Automate : expressions avec les données d'inspection SafetyCulture, consulté le juin 15, 2025, https://help.safetyculture.com/fr/000084/
  77. Writing expressions in Power Automate - Digital Mill, consulté le juin 16, 2025, https://digitalmill.net/2024/02/27/writing-expressions-in-power-automate/
  78. Power Automate Functions Overview | Definition, Cheat Sheet, Best Practices, consulté le juin 16, 2025, https://citizendevelopmentacademy.com/blog/power-automate-functions/
  79. Automatically Save Email Attachments to OneDrive with Power Automate - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=XvZ6SF4sXus
  80. Use Case for Apply to Each in Power Automate - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=cWFnnTN4V3o
  81. Introduction to Loops in Power Automate - Vlad Talks Tech, consulté le juin 15, 2025, https://vladtalkstech.com/power-platform/introduction-to-loops-in-power-automate/
  82. Use the Apply to each action to process a list of items periodically - Power Automate, consulté le juin 15, 2025, https://learn.microsoft.com/en-us/power-automate/apply-to-each
  83. Understanding Apply to Each [Power Automate Basics Series - Ep. 5] - YouTube, consulté le juin 15, 2025, https://www.youtube.com/watch?v=xgW49Anyx08
  84. Power Automate - How to do Loops - DEV Community, consulté le juin 15, 2025, https://dev.to/wyattdave/power-automate-how-to-do-loops-391b
  85. Implement parallel execution and concurrency - Power Automate - Learn Microsoft, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-automate/guidance/coding-guidelines/implement-parallel-execution
  86. Filter An Array in Power Automate - Power Solution, consulté le juin 16, 2025, https://powersolution.dev/filter-an-array-in-power-automate/
  87. Filter array in Power Automate - Low Code Lewis - LewisDoesDev, consulté le juin 16, 2025, https://www.lewisdoes.dev/blog/filter-array-in-power-automate/
  88. Work with data operations - Power Automate | Microsoft Learn, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-automate/guidance/coding-guidelines/use-data-operations
  89. Are you using the Microsoft Power Automate Filter Array Action wrong? - YouTube, consulté le juin 16, 2025, https://www.youtube.com/watch?v=HVAf1aTEQNg
  90. What is Filter Array action in Microsoft Power Automate? - YouTube, consulté le juin 16, 2025, https://www.youtube.com/watch?v=s-0aRnl7BTg
  91. Master filtering in Power Automate flows, consulté le juin 16, 2025, https://tomriha.com/master-filtering-in-power-automate-flows/
  92. OData filter combining multiple or statements with and - Power Platform Community, consulté le juin 16, 2025, https://community.powerplatform.com/forums/thread/details/?threadid=61038b11-aea3-4d95-8291-892a57a3874f
  93. SharePoint Workflows : 3 automatisations pour les listes SharePoint - intranet.ai, consulté le juin 15, 2025, https://intranet.ai/nos-articles/microsoft-365/sharepoint-workflows/
  94. Utiliser SharePoint et Power Automate pour créer des workflows - Learn Microsoft, consulté le juin 15, 2025, https://learn.microsoft.com/fr-fr/power-automate/sharepoint-overview
  95. Créer et tester un flux de travail d'approbation avec Power Automate - Learn Microsoft, consulté le juin 15, 2025, https://learn.microsoft.com/fr-fr/power-automate/modern-approvals
  96. Power Automate Astuces | KTNN SharePoint - WordPress.com, consulté le juin 15, 2025, https://ktnnsharepoint.wordpress.com/2021/09/10/powerautomate-astuces/
  97. Filtering SharePoint Data with oData Queries in Power Automate, consulté le juin 16, 2025, https://www.powerapps911.com/post/filtering-sharepoint-data-with-odata-queries-in-power-automate
  98. Guide To Using SharePoint Filter Queries In Power Automate - Reality Tech, consulté le juin 16, 2025, https://reality-tech.com/blog/using-sharepoint-filter-queries-in-power-automate-a-guide-to-efficient-data-retrieval/
  99. Understand delegation in a canvas app - Power Apps - Learn Microsoft, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-apps/maker/canvas-apps/delegation-overview
  100. SharePoint Delegation Cheat Sheet For Power Apps - Matthew Devaney, consulté le juin 16, 2025, https://www.matthewdevaney.com/sharepoint-delegation-cheat-sheet-for-power-apps/
  101. Mastering Delegation in Power Apps: A Comprehensive Guide - PowerApps 911, consulté le juin 16, 2025, https://www.powerapps911.com/post/mastering-delegation-in-power-apps-a-comprehensive-guide
  102. How to use OData query filters in the SharePoint Get Items action for Power Automate, consulté le juin 16, 2025, https://teamdynamix.umich.edu/TDClient/210/DepressionCenter/KB/ArticleDet?ID=10904
  103. Working with filter query in Power Automate - Digital Mill, consulté le juin 16, 2025, https://digitalmill.net/2024/06/21/working-with-filter-query-in-power-automate/
  104. [Ultimate Guide] Approvals In Power Automate - Acuity Training, consulté le juin 15, 2025, https://www.acuitytraining.co.uk/news-tips/the-ultimate-guide-to-approvals-in-power-automate/
  105. Create approval flows with custom responses - Power Automate | Microsoft Learn, consulté le juin 15, 2025, https://learn.microsoft.com/en-us/power-automate/create-approval-response-options
  106. Sequential vs. Parallel Approval Workflows: Which Suits Your Artwork Approval Project?, consulté le juin 16, 2025, https://www.artworkflowhq.com/resources/sequential-vs-parallel-workflows-for-artwork-management
  107. Creating Sequential Approval in Power Automate - Pascalcase, consulté le juin 16, 2025, https://pascalcase.com/Home/Blog/creating-sequential-approval-in-power-automate
  108. Set up sequential approvals - Power Automate | Microsoft Learn, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-automate/set-up-sequential-approvals
  109. Manage sequential approvals with Power Automate - Learn Microsoft, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-automate/sequential-modern-approvals
  110. Easy Sequential Approvals in Power Automate | Beginner's Tutorial - YouTube, consulté le juin 16, 2025, https://www.youtube.com/watch?v=F819U_l07qI&pp=0gcJCdgAo7VqN5tD
  111. Power Automate Sequential Approvals Made Easy: A Beginner's Guide - YouTube, consulté le juin 16, 2025, https://www.youtube.com/watch?v=yeg1MOG4fIQ
  112. What are the types of approval flow? - Kissflow, consulté le juin 16, 2025, https://kissflow.com/faq/types-of-approval-flows
  113. Create a parallel modern approval workflow - Power Automate ..., consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-automate/parallel-modern-approvals
  114. "Parallel Approvals in Power Automate: No More Waiting on One Approver!" : r/PowerApps - Reddit, consulté le juin 16, 2025, https://www.reddit.com/r/PowerApps/comments/1ix3krf/parallel_approvals_in_power_automate_no_more/
  115. How to use Parallel actions in Microsoft Power Automate Flow? - YouTube, consulté le juin 16, 2025, https://www.youtube.com/watch?v=nW2eZFty8IQ
  116. How to create Approval flow using Parallel Branch in Power Automate - YouTube, consulté le juin 16, 2025, https://m.youtube.com/watch?v=dCusc1oc0NE&t=117s
  117. Power Automate + SharePoint: Build a Dynamic Parallel Approval Flow (Step-by-Step!), consulté le juin 16, 2025, https://www.youtube.com/watch?v=p930D7Skfuw
  118. Add escalation to Power Automate approval flow, consulté le juin 16, 2025, https://tomriha.com/add-escalation-to-power-automate-approval-flow/
  119. Microsoft Power Automate Approval Time Outs & Escalations - YouTube, consulté le juin 16, 2025, https://www.youtube.com/watch?v=U4iuVi1Vtgg
  120. 5 Power Automate Approval Flow Errors: Fix Guide - nBold, consulté le juin 16, 2025, https://nboldapp.com/5-power-automate-approval-flow-errors-fix-guide/
  121. Power Automate Approval Timeout with Escalations & Delegations - YouTube, consulté le juin 16, 2025, https://www.youtube.com/watch?v=r8jk5xigpQg&pp=0gcJCdgAo7VqN5tD
  122. Approval escalation, error handling, flow fails… why? how?, consulté le juin 16, 2025, https://sergeluca.wordpress.com/2019/01/22/approval-escalation-error-handling-flow-fails-whyhow/
  123. How to - Top scenarios with approval flows - Power Automate | Microsoft Learn, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-automate/approvals-howto
  124. Power Automate - Approval Flow with Delegation capability - YouTube, consulté le juin 16, 2025, https://www.youtube.com/watch?v=9d-b3HrDLlo
  125. Delegate Power Automate approval task to other user, consulté le juin 16, 2025, https://tomriha.com/delegate-any-approval-task-to-other-user-with-power-automate/
  126. How to Automatically Reassign Pending Approvals in Power Automate When Approvers Are Out of Office - Stack Overflow, consulté le juin 16, 2025, https://stackoverflow.com/questions/79089608/how-to-automatically-reassign-pending-approvals-in-power-automate-when-approvers
  127. How to Reassign Any Existing Microsoft Approval on the Behalf of Another User (Delegation for Admins) : r/MicrosoftFlow - Reddit, consulté le juin 16, 2025, https://www.reddit.com/r/MicrosoftFlow/comments/19an3bm/how_to_reassign_any_existing_microsoft_approval/
  128. Reference guide for expression functions - Azure Logic Apps - Learn Microsoft, consulté le juin 15, 2025, https://learn.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference
  129. List of string operations - Power Automate | Microsoft Learn, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-automate/minit/string-operations
  130. Using Power Automate To Parse Email and Extract Information From The Body - Reddit, consulté le juin 16, 2025, https://www.reddit.com/r/MicrosoftFlow/comments/10z7856/using_power_automate_to_parse_email_and_extract/
  131. Power Automate Substring Function: Explanation, Examples, Best Practices, consulté le juin 16, 2025, https://citizendevelopmentacademy.com/blog/power-automate-substring/
  132. Three expressions to extract a piece of text in Power Automate, consulté le juin 16, 2025, https://tomriha.com/three-expressions-to-extract-a-piece-of-text-in-power-automate/
  133. All Power Automate Text Functions (With Examples) - Matthew Devaney, consulté le juin 16, 2025, https://www.matthewdevaney.com/all-power-automate-text-functions-with-examples/
  134. PL-7002: Create and Manage Automated Processes By Using Power Automate, consulté le juin 15, 2025, https://www.netcomlearning.com/course/pl-7002-create-and-manage-automated-processes-by-using-power-automate
  135. Use data operations in Power Automate - Learn Microsoft, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-automate/data-operations
  136. Select in Power Automate - Low Code Lewis - LewisDoesDev, consulté le juin 16, 2025, https://www.lewisdoes.dev/blog/select-in-power-automate/
  137. 5 Surprising Power Automate Select Action Tricks - Matthew Devaney, consulté le juin 16, 2025, https://www.matthewdevaney.com/5-surprising-power-automate-select-action-tricks/
  138. Quick Pro Tip #17 - Power Automate - Little known trick with the Select action - YouTube, consulté le juin 16, 2025, https://m.youtube.com/watch?v=cJW2VQ2q-PI
  139. What is Select Operation in Microsoft Power Automate? - YouTube, consulté le juin 16, 2025, https://www.youtube.com/watch?v=LuYvUih0V0I
  140. Power Automate Email Templates Made Easy - Matthew Devaney, consulté le juin 16, 2025, https://www.matthewdevaney.com/power-automate-email-templates-made-easy/
  141. Creating a Custom SharePoint News Digest with Power Automate - YouTube, consulté le juin 16, 2025, https://m.youtube.com/watch?v=JQ1Wb_14xGI
  142. Flexible Project Management : Automating an Email Digest of Tasks, consulté le juin 16, 2025, https://informationhandyman.com/2024/07/01/project-management-notifications/
  143. Creating a Custom SharePoint News Digest with Power Automate ..., consulté le juin 16, 2025, https://steveknutson.blog/2021/05/28/creating-a-custom-sharepoint-news-digest-with-power-automate/
  144. Surveiller les exécutions de flux de bureau - Power Automate | Microsoft Learn, consulté le juin 15, 2025, https://learn.microsoft.com/fr-fr/power-automate/desktop-flows/monitor-desktop-flow-runs
  145. Compose in Power Automate - Low Code Lewis, consulté le juin 15, 2025, https://www.lewisdoes.dev/blog/compose-in-power-automate/
  146. Understanding Power Automate Compose: Definition and Usage, consulté le juin 16, 2025, https://citizendevelopmentacademy.com/blog/power-automate-compose/
  147. Quick Pro Tip #2 - Power Automate - Leveraging the Compose Action - YouTube, consulté le juin 16, 2025, https://www.youtube.com/watch?v=kxVo0KTpLJg
  148. Power Automate: Best Practices for Error Handling - NetFlows, consulté le juin 15, 2025, https://netflows.de/en/blog/power-automate-best-practices-for-error-handling/
  149. infinite loop : r/MicrosoftFlow - Reddit, consulté le juin 15, 2025, https://www.reddit.com/r/MicrosoftFlow/comments/1k43clt/infinite_loop/
  150. Bonnes pratiques pour la gestion des processus de workflow en arrière-plan - Power Automate | Microsoft Learn, consulté le juin 15, 2025, https://learn.microsoft.com/fr-fr/power-automate/best-practices-workflow-processes
  151. How to Avoid Infinite Trigger Loop in Power Automate - Process Street, consulté le juin 15, 2025, https://www.process.st/how-to/avoid-infinite-trigger-loop-in-power-automate/
  152. power automate - Why is this flow activating an infinite loop? - Stack Overflow, consulté le juin 15, 2025, https://stackoverflow.com/questions/78226869/why-is-this-flow-activating-an-infinite-loop
  153. Trigger Conditions For Optimizing Flow Execution - IW Mentor, consulté le juin 15, 2025, https://www.iwmentor.com/pages/blog?p=trigger-conditions-for-optimizing-flow-execution
  154. What Are Power Automate Trigger Conditions? - Detailed Guide - Al Rafay Consulting, consulté le juin 15, 2025, https://www.alrafayglobal.com/power-automate/power-automate-trigger-conditions/
  155. Get started with triggers - Power Automate | Microsoft Learn, consulté le juin 16, 2025, https://learn.microsoft.com/en-us/power-automate/triggers-introduction
  156. How to avoid an endless loop in Power Automate - Torpedo, consulté le juin 15, 2025, https://www.torpedo.pt/infinite-loop-in-power-automate/