Pour les familiers de l’environnement Microsoft, c’est probable qu’ils aient déjà entendu parler de PowerApps. Si tel n’est pas le cas, ça ne saurait tarder 😉. Dans cet article, après avoir parlé de PowerApps, nous verrons comment gérer les droits d’utilisateurs avec ce dernier.

Présentation de PowerApps

PowerApps est un ensemble de services applicatifs dont le fonctionnement conjoint permet de générer des applications métiers très robustes. De façon graphique, son interface ressemble beaucoup à une présentation PowerPoint.

Accueil de PowerApps / Flow Factory

On peut subdiviser une fenêtre PowerApps en sept blocs :

  1. Le bloc 1 est le Ruban, il regroupe les menus d’outils et les menus standards. Grâce à ce bloc on peut entre-autres créer des variables, mettre en forme nos textes d’affichage, aligner nos contrôles, regarder l’aperçu de l’application et même la partager.
  2. Le bloc 2 est une liste des propriétés avancées de l’item sélectionné.
  3. Ce bloc est la valeur du bloc 2. Cette valeur est similaire à une formule Excel dans sa forme.
  4. Le bloc 4 présente l’ensemble des écrans de l’application, comme une présentation PowerPoint le ferait.
  5. Le bloc 5 est la zone de travail. Elle affiche l’écran en mode édition.
  6. Ici s’affichent les propriétés de l’item sélectionné (écran, formulaire, contrôle) dans l’onglet “Propriétés”. Dans l’onglet “Règles”, on peut ajouter des règles et dans l’onglet “Avancées”, on accède aux propriétés et aux options avancées.
  7. Le dernier bloc permet d’ajuster l’affichage (zoom avant, zoom arrière) du bloc 5.

Voilà !!! Le but de l’article n’étant pas une présentation approfondie de PowerApps, passons au vif du sujet.

Gestion des droits d’utilisateurs

Description du procédé

Notre application aura deux écrans (Welcome et Home) :

  • Welcome : Cette page nous permettra de récupérer les informations sur l’utilisateur connecté puis de faire une requête à notre source de données qui nous renverra un résultat. Ensuite, ce résultat sera stocké dans une variable globale « Résultat ».
  • Home : Cet écran vérifiera le contenu de la variable globale « Résultat ». Si elle a une valeur (ça voudra dire que l’utilisateur a les droits nécessaires) alors on affichera l’onglet « Administration » de l’écran Home.
Les sources de données
Pour cet article nous utiliserons une liste SharePoint qui contiendra les utilisateurs (Nom et Email) et leurs rôles et l’ensemble des utilisateurs d’office comme sources de données.

Liste SharePoint PowerApps/ Flow Factory

Après avoir créé la liste SharePoint (la source de données) sur laquelle on vérifiera les droits, nous allons créer notre application PowerApps. On peut générer une application à partir d’une source de données ou alors à partir de zéro. Nous utiliserons la dernière méthode, puis plus tard à partir de la source de données.
Choisissez le facteur de forme « Tablette » puis cliquer sur « Développer cette application ».

Lancer PowerApps / Flow Factory

Une fois dans l’application, sous l’onglet « Affichage », cliquer sur « Source de données ». Puis cliquer sur « Nouvelle connexion ».

Dans la liste des sources de données, choisir « SharePoint ». Saisir le lien vers votre site SharePoint puis cliquer sur « Atteindre ».

PowerApps affiche l’ensemble des listes SharePoint de notre Site. On choisit la liste à laquelle on veut se connecter (User Role dans notre cas) puis on clique sur « Connecter ».

Une fois réalisé, on utilise le même procédé pour ajouter la connexion à la source de données Utilisateurs d’Office qui nous permettra d’avoir accès aux informations de l’utilisateur connecté. On peut utiliser la source de données des utilisateurs d’office pour afficher le nom et la photo de l’utilisateur connecté pour lui dire bienvenue (ce n’est pas le but de l’article). Puis on y ajoute un bouton qui permettra d’accéder à l’écran Home. Actuellement, notre application ressemble à ceci (Mais le bouton seul est suffisant pour la suite).

Configuration des formules

A présent passons aux choses sérieuses (pas de panique, rien de compliqué 😊). Dans la propriété avancée « OnVisible » (ou « OnStart ») du premier écran, on stocke l’email de la personne connectée dans une variable globale.

Set(UserMail;User().Email)

: La fonction

Set

crée la variable globale UserMail si elle n’existe pas déjà et la met à jour si elle existe en lui affectant la valeur User().Email (l’Email de la personne connectée).

Set(Result;First(Filter('User Role'; Role="Administrateur";UserEmail=UserMail)).UserEmail)

: à l’instar de l’instruction précédente, celle-ci obtient dans la liste ‘User Role’, l’Email de la personne connectée associé au rôle « Administrateur », puis stocke cet Email dans la variable globale « Result ».

La suite du travail se fera dans l’écran Home. Dans sa propriété avancée « OnVisible » (ici il n’y a plus de « OnStart »). On commence par changer la propriété « OnVisible » de tous les éléments que l’on veut cacher/afficher en fonction des droits. Dans notre cas c’est l’onglet « Administration » dont la propriété « OnVisible » est AdminVisible, une variable locale.

If(!IsBlank(Result);UpdateContext({AdminVisible:true}))

: Si la variable Result est vide alors l’utilisateur connecté n’est pas Administrateur sinon, il l’est, logique. Si il est donc Administrateur, alors la variable locale AdminVisible passe à « true », donc l’onglet « Administraion » sera visible. Il faut à présent initialiser AdminVisible à false quand on clique sur le Bouton « Get Started » afin que cet onglet soit caché par défaut.

Navigate(Home;ScreenTransition.Cover;{AdminVisible:false})

Voilà !!!!!
L’utilisateur connecté n’est pas dans la liste.

Résultat :

Cette fois, il y est :

Résultat :

Nous voici à la fin de cet article, j’espère qu’il vous aura plu et donné envie de travailler ou de continuer avec PowerApps. A bientôt pour un nouvel article.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *