1. Livres & vidéos
  2. Power Apps
  3. L'application fil rouge : connexion et partage
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

L'application fil rouge : connexion et partage

Introduction rapide

Nous repartons de la solution que vous avez créée dans Dataverse. Les tables existent : Demande (principale) et Service (lookup). Les colonnes sont en place : Titre de la demande, Description, Service, Demandeur, Date de la demande, Statut, Priorité, Commentaire du gestionnaire. La table Service contient les colonnes Nom du service, Responsable et Actif.

Nous allons créer une Canvas App « Tablette » connectée à ces tables. Nous partirons de l’écran Liste pour aller jusqu’au formulaire d’édition. Nous installerons un socle solide : variables, collections, filtres délégables, tri, navigation, validations et messages d’erreur. Vous disposerez ainsi d’une app prête à être partagée.

Préparation et connexion aux tables

 Ouvrez make.powerapps.com. Allez dans la solution Gestion des demandes que vous avez créée précédemment en cliquant sur Solutions dans le menu de gauche.

images/05RI01.png

 Cliquez sur Nouveau - Application - puis Application Canvas - Tablette. 

images/05RI02.png

 Donnez un nom clair : « App - Gestion des demandes ». Enregistrez tout de suite en cliquant sur le bouton en forme de disquette.

 Choisissez un thème, par exemple « pixel perfect ». Pour choisir votre thème, vous pouvez vous baser sur les thèmes des réglages par défaut. Vous pouvez aussi aller dans les paramètres.

images/05RI04.png

 Allez ensuite dans Mises à jour et activez les Contrôles et thèmes modernes. 

images/05RI05.png

Cela vous permettra d’accéder à des contrôles plus modernes et de créer votre propre thème. Vous trouverez la rubrique Thèmes dans les trois petits points situés à gauche. En cliquant dessus, vous pouvez sélectionner un thème ou en ajouter un.

images/05RI06.png

 Vous pouvez maintenant connecter l’app à Dataverse. Pour cela, ouvrez le panneau Données (icône base de données). Cliquez sur Ajouter des données. Choisissez Dataverse.

images/05RI07.png

 Recherchez puis ajoutez les tables : Demandes et Services concernés. Vous voyez maintenant deux sources...

Initialiser l’application (App.OnStart)

Nous allons stocker des informations utiles dès le lancement : l’utilisateur connecté, les listes réutilisées (services, statuts, priorités), un indicateur de tri et la date du jour. Nous effectuerons les chargements en parallèle. Le fait de les stocker permet de réduire les appels vers la source de données.

 Dans l’arborescence, cliquez sur App.

images/05RI09.png

 Ouvrez la propriété OnStart.

images/05RI10.png

 Entrez :

Concurrent( Set(CurrentUser; User()); 
ClearCollect(colServices; Filter('Services concernés'; Statut= Statut (Services concernés)'.Oui)); 
ClearCollect(colStatuts; 
Choices(Demandes.Statut)); ClearCollect(colPriorites;
Choices(Demandes.Priorité)); Set(gSortDesc; false); 
Set(gToday; Today()) ) 
images/05RI11.png

 Exécutez OnStart (clic droit sur App - ExécuterOnStart). C’est instantané.

images/05RI12.png

Vous disposez maintenant de collections locales pour alimenter les contrôles, ainsi que de variables globales réutilisables.

Pourquoi utiliser Concurrent ?

La fonction Concurrent permet d’évaluer plusieurs formules simultanément. Les collections et variables se chargent en parallèle, ce qui accélère le démarrage de l’app. Ce gain est particulièrement visible sur mobile.

Encart - Délégation

Filter('Services concernés'; Actif = 'Actif (Services concernés)'.Oui) 

est délégable dans Dataverse. Il n’y a donc pas d’échantillon tronqué : vous récupérez bien tous les services actifs.

1. Écran Liste (Screen1)

 Renommez l’écran principal scrListeDemande. Ajoutez un label de texte pour le titre de l’application, un label pour le titre de l’écran et une barre d’action. Ajoutez ensuite un champ de recherche, un filtre sur Service, un filtre sur Statut et un tri, puis une galerie qui affiche les demandes. Vous pouvez organiser l’ensemble avec des conteneurs afin de gérer les alignements et le comportement responsive de votre application.

Ici, les menus déroulants seront alimentés par les collections précédemment créées.

  • Champ de recherche : insérez un contrôle Text input et renommez-le...