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.

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 :

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 :

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.

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 ».

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


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)

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 »

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)

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)

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 »

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 »

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 »

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

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

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.


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

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.


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.

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

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 !

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.






