1. Livres & vidéos
  2. Power Apps
  3. Personnalisations avancées et intégration
Extrait - Power Apps Créez des applications métiers avec Microsoft Power Platform (Canvas Apps, Dataverse, Power Automate, Copilot)
Extraits du livre
Power Apps Créez des applications métiers avec Microsoft Power Platform (Canvas Apps, Dataverse, Power Automate, Copilot) Revenir à la page d'achat du livre

Personnalisations avancées et intégration

Introduction

Jusqu’à présent, nous avons construit des applications Canvas et des applications pilotées par modèle en utilisant les fonctionnalités natives de Power Apps : formulaires, galeries et connexions aux sources de données classiques. Ces outils couvrent la majorité des besoins métiers courants. Cependant, certains projets nécessitent d’aller plus loin.

Vous pouvez, par exemple, avoir besoin d’afficher une notification personnalisée, de guider la saisie de l’utilisateur à l’aide d’un texte explicatif dans le formulaire ou encore de connecter votre application à une API externe qui ne figure pas parmi les connecteurs standards. Vous pouvez également avoir besoin d’accéder à une base de données locale située derrière le pare-feu de votre entreprise.

Dans ce chapitre, nous allons explorer trois techniques avancées qui permettent de dépasser les fonctionnalités habituelles de Power Apps :

  • L’intégration de JavaScript et de HTML dans une application pilotée par modèle afin d’enrichir l’expérience utilisateur à l’aide de fenêtres contextuelles personnalisées et de descriptions contextuelles.

  • L’appel d’API externes au moyen d’un connecteur personnalisé afin d’accéder...

Intégration de JavaScript et de HTML dans un formulaire Model-driven

1. Pourquoi personnaliser avec JavaScript et HTML ?

Les applications pilotées par modèle (Model-driven Apps) sont conçues pour offrir des interfaces cohérentes et robustes. Elles s’appuient sur le modèle de données de Dataverse et génèrent automatiquement des interfaces standardisées : formulaires, vues et graphiques. Cette approche permet de construire rapidement une application professionnelle.

Cependant, il peut être nécessaire d’aller au-delà des fonctionnalités proposées par défaut par l’interface. Par exemple :

  • Afficher un message de confirmation personnalisé lorsque l’utilisateur enregistre un projet.

  • Ajouter une description contextuelle en haut du formulaire pour guider l’utilisateur dans sa saisie.

  • Effectuer, avant l’enregistrement, des validations complexes qui ne peuvent pas être mises en œuvre à l’aide des règles métier classiques.

Pour répondre à ces besoins, vous pouvez intégrer du JavaScript et du HTML dans vos formulaires. Le JavaScript permet d’ajouter une logique personnalisée qui s’exécute dans le navigateur de l’utilisateur. Le HTML permet, quant à lui, d’afficher du contenu riche et mis en forme.

Cette approche est puissante, mais elle exige une certaine rigueur : testez soigneusement les scripts, gérez les erreurs et documentez le code afin d’en faciliter la maintenance.

Cas d’usage : afficher une pop-up à l’enregistrement d’un projet

Dans notre application de gestion des demandes internes, nous souhaitons rassurer l’utilisateur en lui confirmant explicitement que son projet a bien été enregistré. Une simple notification système pourrait passer inaperçue. Nous allons donc créer une fenêtre contextuelle personnalisée qui s’affichera à chaque enregistrement.

Pour cela, nous utiliserons JavaScript et l’API cliente des applications pilotées par modèle. Cette API fournit de nombreuses fonctions permettant d’interagir avec le formulaire, ses champs...

Appel API à l’aide d’un connecteur personnalisé

1. Introduction : pourquoi créer un connecteur personnalisé ?

Power Apps propose des centaines de connecteurs prêts à l’emploi pour des services tels que SharePoint, Office 365, SQL Server et Salesforce. Ces connecteurs permettent d’accéder facilement à ces services sans écrire de code. Cependant, comment accéder à une API qui n’est pas prise en charge par les connecteurs standards ? Par exemple :

  • Une API publique, par exemple pour obtenir des données météorologiques, des taux de change ou des informations géographiques.

  • Une API développée en interne par le service informatique.

  • Une API fournie par un partenaire externe.

Dans ces situations, vous pouvez créer un connecteur personnalisé. Celui-ci sert d’interface entre Power Apps et une API REST. Une fois configuré, il s’utilise comme un connecteur standard : vous l’ajoutez à l’application, appelez ses opérations et exploitez les données renvoyées.

Cas d’usage : récupérer des données depuis une API publique

Dans cet exemple, nous utiliserons JSONPlaceholder, une API publique simple qui ne nécessite aucune authentification. Elle fournit des données fictives, notamment des utilisateurs, des publications et des commentaires, adaptées aux tests et aux démonstrations.

Nous allons créer un connecteur qui interroge le point de terminaison suivant : https://jsonplaceholder.typicode.com/users

Ce point de terminaison renvoie une liste d’utilisateurs au format JSON.

2. Créer le connecteur personnalisé

 Ouvrez le portail de création Power Apps.

 Dans le menu de gauche, cliquez sur Connecteurs personnalisés.

images/11RI11.png

 Cliquez sur Nouveau connecteur personnalisé, puis sélectionnez...

Introduction à la Data Gateway

1. Qu’est-ce que la Data Gateway ?

Jusqu’à présent, nous avons travaillé avec des sources de données situées dans le cloud : SharePoint Online, Dataverse et des API publiques. Cependant, dans de nombreuses entreprises, une part importante des données demeure hébergée dans des systèmes locaux : bases de données SQL Server, fichiers Excel stockés sur un serveur réseau ou systèmes ERP installés dans l’infrastructure de l’entreprise.

Comment connecter Power Apps à ces sources locales tout en respectant les contraintes de sécurité de l’infrastructure ? C’est précisément le rôle de la passerelle de données locale (On-premises Data Gateway).

La passerelle de données locale est un logiciel installé sur un ordinateur ou un serveur du réseau local. Elle assure une communication sécurisée entre les sources de données locales et les services Microsoft dans le cloud, tels que Power Apps, Power BI et Power Automate. Les échanges transitent par des connexions sortantes chiffrées établies par la passerelle, sans qu’il soit nécessaire d’ouvrir des connexions entrantes vers le réseau local.

2. À quoi sert la Data Gateway ?

La passerelle de données locale permet notamment de connecter Power Apps aux sources suivantes :

  • Bases de données SQL Server : accédez aux données d’une base SQL Server hébergée dans le centre de données de l’entreprise.

  • Fichiers Excel locaux : accédez à des fichiers Excel stockés sur un serveur de fichiers.

  • Systèmesd’entreprise : connectez-vous à des sources prises en charge, telles que SAP ou Oracle.

  • Services web locaux : appelez des API hébergées dans l’infrastructure de l’entreprise.

Par exemple, si votre entreprise utilise une base de données SQL Server locale pour gérer les commandes clients, vous pouvez créer une application Power Apps qui consulte ces commandes sans migrer l’ensemble de la base vers le cloud.

3. Où télécharger la passerelle de données locale ?...

Conclusion du chapitre

Dans ce chapitre, nous avons exploré trois techniques avancées permettant d’étendre les possibilités de Power Apps :

L’intégration de JavaScript et de HTML dans les formulaires d’applications pilotées par modèle permet d’adapter l’expérience utilisateur, notamment en personnalisant les messages, en ajoutant des validations complexes et en affichant du contenu contextuel. Cette approche exige toutefois des tests rigoureux, une gestion appropriée des erreurs et une documentation suffisante.

Les connecteurs personnalisés permettent d’intégrer à Power Apps des API REST qui ne sont pas prises en charge par les connecteurs standards, qu’elles soient publiques, fournies par un partenaire ou développées en interne. Ils facilitent ainsi l’intégration de la plateforme dans des systèmes d’information hétérogènes.

La passerelle de données locale établit une communication sécurisée entre les services cloud de Microsoft et les sources de données hébergées dans l’infrastructure de l’entreprise. Elle permet de concevoir des applications hybrides sans imposer une migration immédiate de l’ensemble des données, sous réserve de prendre en compte les exigences de sécurité...