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.

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

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.

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

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.

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.

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.

Ouvrez la propriété OnStart.

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()) )

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

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