Site icon A DevOps journey

Comment construire une application avec Power Apps ?

Afin de comprendre la manière dont l’application Power Apps traite les données, vous pouvez vous référer au précédent post sur Microsoft Power Platform.

Dans l’article qui suit, nous allons aborder 3 sujets :

Pour rappel, ce post n’a pas pour but d’être un tutoriel d’utilisation de Power Apps. Je souhaite simplement vous montrer l’étendue des possibilités qu’offre cette solution. Si vous comptez en apprendre davantage, vous pourrez retrouver des tutoriels sur Microsoft Learn.

Qu’est-ce que le Common Data Service (CDS) ?

Le Common Data Service est basé sur le Common Data Model. Pour résumer rapidement, il consiste à avoir un service de données unique, standardisé et simple d’accès.

Microsoft utilise déjà le Common Data Service dans un certain nombre de produit en plus de Power Platform, avec Dynamics 365 par exemple. Le principal intérêt de CDS provient de la standardisation : le service arrive avec des entités prédéfinies qui sont souvent utilisées, comme les utilisateurs, les tâches, les commandes, etc.

Les données, c’est ce qui permet de piloter un business. Et meilleurs sont les outils, meilleures sont nos chances d’adopter la bonne stratégie.

Le principal problème rencontré avec la donnée est la mauvaise structure que l’on peut donner à ces dernières. C’est un critère important que Microsoft tente de résoudre avec la standardisation dont on parlait plus haut. Lorsque l’on parle d’une « commande » dans l’application A, on doit pouvoir parler de la même chose dans l’application B en ayant la même structure. Il devient alors bien plus simple de communiquer entre les applications que nous allons construire dans l’entreprise.

Dans Power Apps, nous pouvons créer nos propres entités, modifier certaines des entités préexistantes et manipuler les relations entre ces dernières. Il est aussi possible de créer plusieurs ‘instances’ de CDS (comprenez : des bases de données distinctes).

Dans la suite de ce post, nous nous baserons sur CDS afin de vous montrer l’utilisation et les avantages avec Power Apps. Mais vous pourriez très bien vous baser sur un fichier, une base de données SQL, ou autre.

Pour en apprendre plus sur CDS, je vous conseille le lien suivant: Bien démarrer avec CDS

Exemples d’entités sur CDS
Exemple de l’entité contact

Créer la structure d’une application avec Power Apps.

Pour démarrer une application d’exemple, nous allons commencer par créer un nouvel environnement. Un environnement est semblable à une instance de base de données. Chaque environnement contiendra une instance CDS séparée, avec un schéma et des données qui lui sont propres, ainsi que des applications liées à cet environnement.

Création d’une nouvelle entité

Pour cet exemple, nous allons créer une application qui va permettre à un téléphone de rapidement charger et enregistrer des contacts sur un salon. L’entité « contact » existe déjà dans CDS.

Il va donc être intéressant de catégoriser la provenance des données que nous souhaitons collecter. Nous avons alors deux possibilités:

Ce choix va dépendre de plusieurs paramètres et notamment l’utilisation que nous souhaitons faire de nos données collectées. Nous vous conseillons fortement de privilégier les entités afin de garantir une pérennité et une modularité maximale à vos données. Cependant, il faut que vous gardiez en tête que plus le schéma de données sera complexe, plus vous serez confronté aux limites de Power Apps : une application plus « classique » sera alors à privilégier. Nous reviendrons sur ce point dans la dernière partie de cet article.

Pour des raisons de simplicité, reprenons notre exemple précédent en image:

Création d’un champ d’option sélectionnable directement sur l’entité

Premier pas dans Power Apps

Une fois que votre environnement CDS sera créé et personnalisé, il sera ensuite possible d’attaquer la construction de l’application.

Comme nous vous l’avons présenté dans le post précédent, Power Apps propose un grand nombre de modèles d’application répondant à un certain nombre de besoins. Afin de continuer dans la construction de notre application, nous allons continuer notre démonstration à partir d’une application canvas vierge.

Power Apps vous propose de démarrer une application depuis une source de données, mais rien n’empêche d’en ajouter par la suite

L’interface

Nous allons dans maintenant vous présenter l’interface de Power Apps. Comme vous allez le voir, l’interface est rapide à prendre en main. Elle se compose de 3 éléments principaux:

La création d’une application en partant de zéro

Les différents types d’écrans

Différents types d’interfaces sont proposées

Lors de la création d’une application vierge, vous pouvez choisir entre plusieurs types d’écrans qui vous permettront ensuite de construire votre application autour de vos données.

Certains écrans sont très spécifiques à certaines sources de données, comme « Contacts », « Réunions » et « Calendrier » qui sont notamment fortement liés à Office 365. D’autres, tels que Liste et Formulaire sont beaucoup plus génériques.

Pour la construction de notre application, nous allons choisir l’écran liste qui va nous permettre d’afficher l’ensemble des contacts présents en base de données et de disposer d’un champ de recherche. Des données de tests ont été injectées. On peut voir dans la capture ci-dessous que nous avons bien l’écran qui apparaît sur l’arborescence à gauche, les données ont directement été chargées dans l’application en développement pour être plus « visuelle ». Enfin, dans le panneau contextuel, la « Source de données » est bien l’entité « Contacts ».

Avoir une liste d’affichage de données avec une barre de recherche est très simple

Si l’affichage des données peut être assez simple, la manipulation de ces données peut quant à elle être plus complexe. Il existe deux manières différentes selon votre niveau :

Nous allons continuer notre démonstration avec les formulaires existants. Les formulaires sont des composants liés à une source de données, ils ont un fonctionnement particulier. Un formulaire sera directement lié aux champs de votre entité et permettra l’ajout ou la modification de données de manière simplifiés. Il est possible d’ajouter de nouveaux champs à une entité depuis l’écran Power Apps si la source de données est CDS.

Le formulaire de création / édition ne prend que quelques clics
Vous avez oublié un champ dans votre entité? Pas de problèmes, vous pouvez l’ajouter à la volée

Déploiements, tests et debugs

Tout comme pour la construction de l’application, le management du cycle de vie (application lifecycle) de cette dernière se retrouve considérablement simplifié.

On l’a vu un peu plus haut, Power Apps intègre vos données depuis la source directement dans la construction de l’application. Ca permet d’avoir un rendu très rapide et de s’assurer que l’application possède le fonctionnement souhaité. Même lorsque nous travaillons sur le filtrage de vos données, cela fonctionne.

A tout moment, il est possible de démarrer l’application via le bouton « play » en haut à droite de l’écran. Nous pouvons naviguer alors dans l’application telle qu’elle sera sur le PC / tablette / téléphone, avec la possibilité de manipuler les données. Il est possible de simuler les clics sans lancer l’application via le bouton « play », et ce en utilisant le raccourci ‘alt + clic’ sur une zone d’action de Power Apps. Le test manuel d’une application est ainsi simplifié.

Cependant, il est important de noter que Power Apps n’est pas une plateforme qui produit du « code » que vous pourriez compiler, analyser ou tester de manière « traditionnelle ». Ce qui rend difficile d’effectuer des tests automatisés ou des tests de performance. Les tests se limitent aux tests manuels. Cette logique se comprend néanmoins dans la volonté de faire des applications légères, rapides, et sans code. Le périmètre étant restreint, le besoin de tests « lourds » est lui aussi plus limité.

Pour pallier à cela, Microsoft a mis en place un outil « diagnostic » performant qui se base sur des formules et qui va permettre de limiter les erreurs. L’outil de diagnostic fonctionne en arrière-plan et permet de vérifier continuellement la cohérence de vos formules. Mais également leurs bons fonctionnements ainsi que les éventuels problèmes de performances ou encore les problèmes d’UX qui pourrait être rencontré.

Pour finir, une fois que votre application est créée, testée et validée, la publication devient un jeu d’enfant. Lors de la sauvegarde, ou directement depuis le bouton de publication, il est possible de partager votre application au sein de votre entreprise. Si l’application existe déjà, une nouvelle version sera créée. Le versionning est nativement géré dans Power Apps, permettant de revenir en arrière en cas de déploiement d’une version qui contiendrait de potentielles erreurs.

Retours et limites de Power Apps

Nous avons vu que Power Apps peut être une excellente plateforme pour la création de petites applications. C’est ce qui en fait sa grande force, mais également à mes yeux sa faiblesse. L’outil a été conçu pour gagner du temps et permettre à tout à chacun de créer des applications basiques. Power Apps ne permettra pas de créer des applications « trop complexes ». Certains de vos projets demanderont un développement complet par des équipes de développeurs spécialisées.

Microsoft incite d’ailleurs à utiliser la plateforme afin de créer 10 micro-applications plutôt qu’une seule application monolithique. Chaque application répondant à un besoin spécifique. Power Apps possède un réel intérêt pour toute entreprise ayant de petits besoins sur lesquels on peut apporter une réponse rapide sans avoir besoin de dégager des budgets et/ou des compétences trop importantes.

Quitter la version mobile