Power Apps
27 August 2024

Fonctionnalités Power Apps : de l’essentiel à l’avancé (tutoriel)

Ce que sait faire Power Apps, fonction par fonction, avec la licence nécessaire, ce qu’on peut créer par métier, puis trois techniques avancées pas à pas : confier les traitements lourds à Power Automate, alimenter Dataverse avec des flux de données et créer un connecteur personnalisé.
Formule Power Fx avancée qui charge plusieurs sources en parallèle au démarrage d’une application Power Apps

Résumé de l'article

Panorama des fonctionnalités de Power Apps (applications canevas et pilotées par modèle, Dataverse, connecteurs, mobile et hors connexion, Copilot, sécurité, Power Pages) avec la licence de chacune, exemples d'applications par métier, puis trois techniques avancées illustrées pas à pas : déléguer les traitements lourds à Power Automate, charger des données dans Dataverse avec des flux de données, créer un connecteur personnalisé vers une API. L'article présente aussi les composants, les formules nommées, les composants de code et les limites à connaître.

Résumé en vidéo

Plan de l'article
Un projet Power Platform ?

Faites-nous part des défis de votre entreprise et nous vous aiderons à dynamiser votre activité.

Réserver un audit gratuit
Réserver un audit gratuit
Partager

En bref : ce que sait faire Power Apps

Power Apps sert à construire des applications métier reliées aux données de l’entreprise (SharePoint, Dataverse, Excel, logiciels du marché), utilisables sur ordinateur, sur téléphone et dans Teams. On assemble des écrans et on écrit des formules proches d’Excel ; une logique complexe reste du code, mais l’interface, l’hébergement, la sécurité et le déploiement sont fournis. Pour la définition et les prix, voir Power Apps, c’est quoi ; cet article fait le tour des fonctionnalités, puis détaille trois techniques avancées.

Le panorama des fonctionnalités

Fonctionnalité À quoi elle sert Licence
Applications canevas Écrans dessinés librement, formules Power Fx, sur ordinateur, téléphone et Teams Microsoft 365 avec les connecteurs standard, Premium sinon
Applications pilotées par modèle Applications générées à partir des tables Dataverse : listes, formulaires, vues, processus Power Apps Premium
Dataverse Base de données sécurisée, avec relations, rôles et historique Power Apps Premium (Dataverse for Teams avec certains abonnements Microsoft 365)
Connecteurs Des centaines de connecteurs : SharePoint, Outlook, SQL Server, Salesforce, SAP Standard inclus, Premium payants
Mobile et hors connexion Application Power Apps sur iOS et Android, appareil photo, codes-barres, géolocalisation, saisie hors connexion Selon la source de données
Copilot Créer une application en décrivant le besoin, écrire des formules, assistant dans l’application Selon la fonction et les réglages du tenant
Automatisation Déclencher des flux Power Automate depuis un bouton ou un formulaire Selon les connecteurs utilisés
Sécurité Comptes Microsoft Entra ID, partage, rôles Dataverse, stratégies de protection des données Incluse
Sites web Portails pour des utilisateurs externes, sur les mêmes données, avec Power Pages Licence Power Pages

Au 2 octobre 2026, Power Apps Premium coûte 17,30 € HT par utilisateur et par mois (10,40 € HT à partir de 2 000 utilisateurs), selon la page de tarification de Microsoft.

Ce qu’on peut créer, par métier

  • Ressources humaines : demandes de congés et d’absences, accueil des nouveaux arrivants, suivi des formations.
  • Maintenance : demandes d’intervention, comptes rendus sur tablette, inventaire des pièces (voir digitaliser la maintenance industrielle).
  • Qualité : contrôles avec photos, non-conformités, audits (voir un logiciel QHSE sur mesure).
  • Logistique : réception des marchandises, stocks, préparation des commandes.
  • Commercial : visites clients, devis, suivi des opportunités (voir la Power Platform pour les équipes commerciales).
  • Finance : notes de frais, demandes d’achat, circuits de validation des factures.
Application Power Apps en cours de conception dans Power Apps Studio
Exemple application Power Apps YoungData

‍

Fonctions avancées : trois techniques pas à pas

Une fois les bases acquises, Power Apps donne sa pleine mesure avec le reste de la Power Platform. Trois techniques, illustrées pas à pas.

‍

Laisser Power Automate exécuter les traitements les plus lourds

Dans Power Apps, on aime bien la fonction Patch(). Elle permet de mettre à jour et créer de nouvelles lignes dans une table. Là où les choses se corsent, c’est si on a un Patch avec une grande quantité de données, encore plus s’il y a des variables qui changent au sein d’une boucle ForAll().

Dans ce genre de situation, une application peut vite devenir lente et perdre en fluidité.

La solution ? Transmettre le gros œuvre à PowerAutomate.

‍

Par exemple, voici une page d’application permettant de mettre à jour des prix et des taux de TVA d’articles, en sélectionnant les lignes qu’on veut éditer :

Application Power Apps d'exemple : articles de restauration avec prix HT, prix TTC et taux de TVA, et les boutons Patch et Flux
Capture d’écran d’une application exemple. Les lignes sélectionnées sont modifiées et synchronisées avec la base de données

‍

Une fois les modifications faites, l’usage le plus courant serait de faire une mise à jour des informations pour chaque ligne éditée comme suit :

Formule du bouton : ForAll et Patch pour mettre à jour les articles de restauration dans Dataverse
Capture d’écran du bouton « patch ». la boucle et le calcul dans la formule alourdissent l’application

‍

Mais en cas de volumétrie plus importante, le ForAll peut prendre du temps, car c’est un traitement ligne par ligne. De plus, il y a un calcul dans le patch qui n’aide pas forcément à la fluidité de l’application.

L’autre approche consiste donc à utiliser Power Automate, qui se chargera de faire tout le traitement, laissant l’application tourner fluidement en parallèle.

‍

Formule du bouton qui envoie la collection au flux Power Automate au format JSON
Capture d’écran du bouton « Flux ». La collection est envoyée presque telle quelle, en version allégée

‍

Le flux est d’ailleurs créé directement dans l’application, en passant par l’onglet « Power Automate » dans le volet de gauche, puis « ajouter un flux », puis « créer un nouveau flux ».

‍

Volet Power Automate de Power Apps : le flux Démo Articles restauration ajouté à l'application
Capture d’écran du volet gauche de Power Apps en mode édition. Le flux y est créé directement en même temps qu’il est ajouté à l’application

‍

Le flux ne comporte que le déclencheur et 3 actions :

  • le déclencheur Power Apps permettant de transmettre au flux notre JSON d’articles
  • une action d’analyse de JSON pour qu’on puisse itérer sur les articles
  • une boucle « appliquer à chacun » contenant notre dernière action
  • une action « mettre à jour une ligne » permettant de faire nos calculs de prix ttc et de mettre à jour toutes les lignes concernées

‍

Première partie du flux : déclencheur Power Apps et analyse du JSON reçu
Capture d’écran de la première partie du flux, où le JSON est analysé pour être exploité ensuite

‍

Seconde partie du flux : mise à jour de chaque ligne de la table Articles de restauration
Capture d’écran de la seconde partie du flux. Les prix sont calculés, et les infos sont envoyées dans la table correspondante

‍

Le flux s’exécute et mets les lignes à jour un peu plus lentement que la fonction Patch, mais l’application n’est pas ralentie ni bloquée le temps que ce traitement s’effectue. On peut en plus accélérer le traitement en mettant du parallélisme sur l’exécution du « Appliquer à chacun »

‍

Alimenter ses bases de données avec des Flux de données

‍

Maintenant, imaginons que vous soyez justement en pleine transition vers Dataverse (pour comprendre l’intérêt de Dataverse, rendez-vous ici). Le plus délicat, c’est de transférer vos données… ou peut-être pas ! Les flux de données (qu’on préfère souvent appeler DataFlow) vous permettent un chargement rapide et automatisé de vos données dans Dataverse.

Pour cela rien de plus simple :

1 - Depuis la page d’accueil de Power Apps, cliquez sur « Flux de données ». Si vous ne le voyez pas directement dans le menu, cliquez sur « Plus », et il sera dans la liste (je vous conseille fortement de l’épingler en cliquant sur le pin)

‍

Écran du menu de Power Apps
Capture d’écran du menu de Power Apps, les composants les plus importants se trouvent ici

‍

2 - Une fois sur la page des flux de données, cliquez sur « Nouveau flux de données ». Une fenêtre s’ouvre, et vous avez juste à lui donner un nom pour ensuite cliquer sur « Créer »

Création du nouveau dataflow sur PowerApps
Capture d’écran de la création du nouveau dataflow

‍

3 - Il faut ensuite choisir la source de données. Pour l’exemple, je vais prendre un fichier Excel (soyons honnête, ça représente la majorité des cas)

Choix de la source du Dataflow sur Power Apps
Choix de la source du Dataflow. Beaucoup de connecteurs sont possibles, mais on en reparlera !

‍

4 - Vu qu’on peut directement ajouter un fichier, autant utiliser cette fonctionnalité (l’alternative aurait été un stockage du fichier sur SharePoint, pour ensuite utiliser ce fichier SharePoint comme source)

Paramétrage de la source avec un fichier Excel sur Power Apps
Paramétrage de la source avec un fichier Excel

‍

5 - Si vous avez déjà utilisé cette méthode, le flux de données utilisera automatiquement une connexion déjà existante. Sinon, il suffit de renseigner les différents champs (nom de la connexion, et se connecter). On clique ensuite sur « Suivant »

‍

6 - On sélectionne notre feuille de données, et on clique sur « Transformer »

Aperçu des données sources sur Power Apps
Aperçu des données sources, on y est presque !

‍

7 - Si on a des modifications ou corrections à effectuer, c’est maintenant. L’interface est assez intuitive si vous avez utilisé Power Query dans Power BI par exemple. Si tout est ok il ne reste qu’à faire le « mappage des colonnes » en cliquant sur « suivant »

Éditeur Power Query du dataflow : transformation des données avant leur chargement
Écran de traitement et transformation des données, comme dans Power Query

‍

8 - 2 options, soit vous avez été prévoyant et vous avez déjà créé la table en avance, soit vous n’avez rien du tout, et c’est encore plus simple : il vous suffit alors de renseigner le nom de la table en cochant « charger dans une nouvelle table »

Paramétrage de la sortie vers une nouvelle table Power Apps
Paramétrage de la sortie vers une nouvelle table

Dans le cas où la table existe déjà, il suffit de la sélectionner, et de faire correspondre les colonnes du flux avec les colonnes de la table

Paramétrage de la sortie vers une table existante Power Apps
Paramétrage de la sortie vers une table existante

‍

Une fois publié, le flux tourne pendant quelques minutes et la table est remplie !

Affichage des données nouvellement chargées dans Dataverse
Affichage des données nouvellement chargées dans Dataverse

‍

Créer et utiliser des connecteurs personnalisés

Cette partie est plus technique, mais permet de s’affranchir des limitations d’environnement. En utilisant un connecteur, on peut appeler n’importe quelle API depuis une application, et récupérer ou envoyer des données via cette API.

Tout se passe dans l’onglet « connecteurs personnalisés », où il faut cliquer sur « créer un nouveau connecteur ».

Je vais ici utiliser une API gratuite et sans authentification, car c’est le cas le plus simple. Il s’agit d’une API de données météo (fournie par open-meteo), utile dans le cadre d’une application de logistique où il faut planifier des trajets. Deux options possibles : On peut paramétrer le connecteur en renseignant des champs, ou en passant par l’éditeur Swagger.

‍

Paramétrage en remplissant les différents champs Power Apps
Option 1 : paramétrage en remplissant les différents champs (simple en apparence, mais plus long)

‍

Paramétrage en éditeur Swagger sur Power Apps
Option 2 : paramétrage en éditeur Swagger (ne partez pas, ce n’est pas si horrible !)

‍

L’éditeur swagger parait intimidant au début, mais c’est en fait l’option la plus simple. Étant aujourd’hui à l’âge de l’IA générative, il suffit de lui donner les informations importantes pour que tout le swagger soit généré.

Dans la documentation de cette API, on voit que toutes les informations d’entrée sont fournies dans l’URL cible. Par exemple, pour Montpellier du 27/08/2024 au 31/08/2024, voici l’url cible

URL de l’API contenant tous les paramètres nécessaires
URL de l’API contenant tous les paramètres nécessaires

‍

On peut voir que la première partie correspond à l’hôte de l’API, la partie « /v1/ » est ce qu’on appelle l’URL de base, et le « forecast ? » correspond au chemin d’accès du endpoint qu’on souhaite interroger. Les couples paramètres/valeur se suivent ensuite, séparés par un « & » à chaque fois.

La documentation nous permet également de tester et d’obtenir un json de réponse. C’est un cas idéal, car avec cet élément, une IA générative comme ChatGPT peut littéralement finir le travail pour nous.

Demande à ChatGPT : écrire le Swagger d'un connecteur personnalisé pour l'API météo Open-Meteo, avec un exemple de réponse JSON
Prompt et réponse de Chat GPT sur Power Apps

‍

Réponse de ChatGPT : la définition Swagger du connecteur au format YAML
Prompt et réponse de Chat GPT. Le premier jet est tout à fait correct, mais n’hésitez pas à faire plusieurs essais en cas de message d’erreur

‍

Dès le premier essai, le YAML que me fournit ChatGPT est cohérent et fonctionnel !
Il ne reste qu’à le copier/coller dans l’éditeur Swagger du connecteur. 

Une fois que le connecteur est enregistré, il suffit d’aller dans une application Power Apps en mode édition. Dans le volet de gauche, en cliquant sur l’onglet de données, on peut ajouter notre connecteur. 

‍

Volet Données de Power Apps : ajout du connecteur personnalisé WeatherOpenAPI comme source de données
Onglet « données », où le connecteur est disponible pour l’utiliser dans l’application

‍

Une fois dans l’application, il peut être appelé et sa réponse est stockée dans une variable qu’on exploite ensuite 

‍

Formule Power Fx qui appelle le connecteur météo et stocke les prévisions horaires dans une variable
Formule d’appel du connecteur : On appelle notre endpoint « GetTempRain », et on lui transmet les paramètres dont il a besoin. Le « .hourly » permet de récupérer une sous-partie de la réponse, où se trouvent les données

‍

Et vous avez maintenant une API directement accessible dans votre application, sans avoir besoin de stocker vous-même les données où que ce soit !

‍

Graphique des prévisions météo à Montpellier : humidité, précipitations et température entre deux dates
Écran de récupération des données pour la zone et la période spécifiée (Il ne manque plus qu’à rajouter un peu de design)

‍

Composants, formules nommées et composants de code

  • Composants : un en-tête, un menu ou un sélecteur construits une fois et réutilisés dans tous les écrans, voire partagés entre applications grâce aux bibliothèques de composants.
  • Formules nommées : dans la propriété Formulas de l’application, des valeurs définies une fois et réutilisées partout, par exemple UtilisateurActuel = User().Email; ; plus lisibles et plus rapides que des variables chargées au démarrage.
  • Composants de code : pour un besoin hors de portée des contrôles standard, un développeur crée un contrôle en TypeScript avec le Power Apps Component Framework (PCF).
  • Solutions et environnements : on développe dans un environnement de développement, on teste dans un environnement de test, puis on déploie en production avec des solutions et des pipelines, sans toucher à l’application utilisée.

Pour les formules qui écrivent dans les données, voir la fonction Patch dans Power Apps ; pour garder une application fiable au fil des versions, les tests automatisés dans Power Apps.

Les limites à connaître

  • Délégation : sur SharePoint ou Dataverse, certaines fonctions ne sont pas délégables ; Power Apps ne traite alors que les premières lignes (500 par défaut, 2 000 au maximum). Les filtres et les recherches se conçoivent en conséquence.
  • Performance : trop de contrôles sur un écran, des boucles ForAll avec Patch ou des chargements lourds au démarrage ralentissent l’application ; d’où les techniques ci-dessus.
  • Licences : Dataverse et les connecteurs Premium demandent Power Apps Premium, à 17,30 € HT par utilisateur et par mois au 2 octobre 2026.
  • Mise en page : moins libre qu’un développement web classique ; pour un site ouvert au public, Power Pages est plus adapté.

À lire aussi :

Questions fréquentes

Quelles sont les fonctionnalités de Power Apps ?

Applications canevas et pilotées par modèle, base de données Dataverse, des centaines de connecteurs, applications mobiles avec saisie hors connexion, Copilot, déclenchement de flux Power Automate, sécurité Microsoft 365, et sites web avec Power Pages. Les fonctions avancées ajoutent les composants, les formules nommées, les composants de code et le déploiement par solutions.

Que peut-on créer avec Power Apps ?

Des applications métier : demandes internes et circuits de validation, interventions et maintenance, contrôles qualité, stocks et réception, visites commerciales et devis, notes de frais. Elles fonctionnent sur ordinateur, sur téléphone et dans Teams.

Quelles sont les limites de Power Apps ?

La délégation (au-delà de 500 à 2 000 lignes, certaines fonctions ne traitent qu’une partie des données), les performances sur des écrans très chargés, le coût des licences Premium pour Dataverse et certains connecteurs, et une mise en page moins libre qu’un site web classique.

Comment créer un connecteur personnalisé dans Power Apps ?

Dans « Connecteurs personnalisés », créez un nouveau connecteur, décrivez l’API (hôte, URL de base, opérations) dans les champs ou dans l’éditeur Swagger, enregistrez, puis ajoutez le connecteur comme source de données dans l’application et appelez-le dans une formule.

Un projet Power Platform ?

Faites-nous part des défis de votre entreprise et nous vous aiderons à dynamiser votre activité.

Réserver un audit gratuit

Votre prochain processus mérite mieux qu'un Excel.

Premier échange de 40 minutes offert : on analyse vos fichiers, identifie ce qui peut être automatisé, et vous donne un plan d'action clair.