
Transformez votre activité en créant des applications métier personnalisées avec Microsoft PowerApps. Connectez les données à partir du cloud et créez votre propre application.
Qu’est-ce que PowerApps ?
PowerApps est un service proposé par l’écosystème Office 365 qui permet de créer des apps mobiles ou web (accessibles depuis smartphone, tablette ou PC), sans développement, par le biais d’un configurateur web ou client. De surcroît, ces apps peuvent être connectées à de multiples sources de données, d’Office 365 à Salesforce en passant par Twitter ou Dropbox.
Peut-être avez-vous déjà entendu parler d’InfoPath, cet outil Microsoft de création de formulaires basé sur XML qui, s’il a fait grincer bien des dents, a également rendu d’inestimables services de par sa simplicité de mise en œuvre. Parfois jugé trop complexe, peu moderne et pas du tout responsive, son arrêt de mort a été signé par Microsoft et le support n’en sera plus assuré d’ici quelques années. PowerApps, avec son interface de création de formulaires mobiles et web, se pose donc en héritier moderne d’InfoPath.
Quant à Microsoft Forms, n’est-ce pas également un service de conception de formulaires ? Certes, mais avec un périmètre beaucoup plus restreint, puisqu’il vise essentiellement à créer des enquêtes et sondages web. Si l’utilisation en très simple, les possibilités de personnalisation sont en revanche très limitées.
PowerApps, accessible aux non-informaticiens ?
S’il est vrai qu’il n’est nul besoin de savoir coder pour créer une app, une certaine sensibilité technique est recommandée afin d’appréhender toutes les possibilités de PowerApps (« un peu d’expérience et un sens de la créativité » : le minimum vital selon la documentation Microsoft).
L’interface du PowerApps Studio, d’abord, est d’une simplicité trompeuse :
- Il est possible de créer en un clic un écran vierge ou contenant déjà des contrôles
- Pour chaque écran qui composera notre app, on peut rapidement :
– Ajouter les contrôles souhaités
– Personnaliser leur apparence via le menu des propriétés
– Leur associer une ou plusieurs fonctions via la barre de fonctions en haut du formulaire (par exemple, sur l’évènement OnSelect d’un bouton, ou OnVisible d’un écran).
En quelques clics, un formulaire se dessine sous nos yeux :
La tâche se complique dès lors que vous souhaitez utilisez les contrôles avancés, de type « form » ou « gallery » notamment. Plus question, alors, de disposer les contrôles sur votre écran ainsi que vous l’entendez. Vous serez contraints par une « grille » proposée par l’outil, dont les possibilités de personnalisation sont plus limitées.
Prenons l’exemple d’un jeu de données issu de SharePoint : si celui-ci comprend une liste de choix, votre seule possibilité d’affichage pour ce contrôle sera la liste déroulante. L’on peut dire adieu aux boutons radio ou autres cases à cocher :
Quant aux fonctions elles-mêmes, elles tiennent beaucoup des formules Excel avancées. Les cas les plus simples sont à la portée d’un utilisateur averti ; les plus complexes exigent des notions d’algorithmique basiques (ou, à tout le moins, une certaine aisance dans le traitement informatique de données).
Exemple d’une requête d’enregistrement d’image avec test, recherche, sélection… :
Des fonctionnalités avancées tel que le mode déconnecté, qui requiert l’enregistrement de données en local, pourront donner lieu à quelques entorses au cerveau le temps de se familiariser avec le mécanisme.
A noter pour les concepteurs novices, Microsoft propose un certain nombre d’exemples d’apps, répondant à divers cas d’usage, dont il est possible de se servir comme base de travail : en plus de faire gagner du temps de mise en forme, cela permet de se familiariser avec la logique de l’outil.
Quelques exemples d’applications proposées par Microsoft :
Pour résumer : l’utilisateur non-informaticien sera vite confronté à des difficultés techniques, tandis qu’une personne habituée aux formules et requêtes n’aura besoin que d’une courte période d’adaptation, le temps d’apprivoiser une nouvelle syntaxe et quelques subtilités de l’outil.
PowerApps et Flow
PowerApps est souvent associé à Flow, la solution de gestion et d’automatisation de flux d’Office 365. L’interaction entre les deux services permet d’automatiser certaines fonctionnalités, telles que l’affectation de tâches ou l’envoi de notifications, mais également l’enregistrement de contenu, dans des applications ou services aussi variés que Salesforce, Google ou SQL Server.
Dans notre cas, Flow peut par exemple être utilisé pour envoyer des mails de notification lors de la création d’un nouvel élément initié à partir d’un formulaire PowerApps.
Cas d’usage avec SharePoint et OneDrive
C2S a été amené à réaliser, pour l’un de ses clients, le POC d’une application de gestion d’audits.
Cette application doit permettre à des auditeurs envoyés sur le terrain de répondre à une série de questions, chacune accompagnée de prise de photos, souvent en mode déconnecté.
Deux exigences principales ont été formulées par le client :
- Pouvoir saisir les réponses et ajouter des photos en mode déconnecté
- Récupérer les données (réponses et images) sous une forme exploitable facilement, à des fins de reporting d’intégration à des bases de traitement d’images.
Mode déconnecté
Le mode déconnecté n’est pas un mode « out-of-the-box » proposé par PowerApps – le service propose un simple flag du type connecté / non connecté.
Sur cette base, la gestion du mode hors-ligne passe par l’enregistrement des données modifiées en local :
Puis par leur envoi en ligne une fois que l’app est de nouveau connectée :
Quoique faisable, la tâche est complexe et, surtout, fastidieuse : par exemple, indiquer une collection comme source de données d’un contrôle rend celui-ci moins flexible ; il faut donc avoir tout prévu avant de faire ce changement, sous peine de devoir remettre son ouvrage sur le métier.
Ainsi, sur l’exemple ci-dessous, le formulaire est bien connecté à une collection « CollectionAudits » :
Mais PowerApps ne « reconnaît » pas cette source de données et le mapping du formulaire n’est donc plus modifiable (en revanche, cela fonctionne parfaitement) :
Exploitation des données
Afin de faciliter l’extraction et le traitement des réponses, les données des audits peuvent être stockées dans une liste SharePoint. Cette partie-là ne pose pas de problème pour le reporting : il est aisé d’exporter les éléments d’une liste SharePoint vers Excel, ou de les exploiter via Power BI par exemple.
L’une des principales pierres d’achoppement consiste en l’enregistrement des images. En effet, à l’heure actuelle, PowerApps ne gère qu’une seule méthode pour le stockage des images : les propriétés (identifiant, nom, légende…) sont enregistrées dans un unique fichier Excel dont la structure est déterminée par PowerApps (il est possible d’y ajouter des colonnes personnalisées) tandis que les images elles-mêmes sont stockées dans un dossier attenant et affublées d’un nom aléatoire.
Dans notre cas, les images et leurs données seront enregistrées dans la bibliothèque OneDrive, seule solution disponible pour l’instant dans l’écosystème Office 365.
Structure créée par PowerApps dans un dossier de la bibliothèque de documents du OneDrive :
Structure du fichier « data.xlsx » créé par PowerApps :
Exemples de noms d’images générés automatiquement par PowerApps :
A l’heure actuelle, il n’est possible d’enregistrer les images ni dans une bibliothèque SharePoint (PowerApps ne se connecte pas encore aux bibliothèques), ni en pièce-jointe d’un élément de liste.
Or, un audit contient un grand nombre d’images (potentiellement, des dizaines), et plusieurs audits peuvent être enregistrés chaque jour. Le fichier Excel risquait donc de devenir rapidement inexploitable, du fait d’un trop grand nombre de lignes et de données issues de plusieurs audits.
La solution envisagée consiste en le développement d’un job Azure, exécuté quotidiennement, qui découpera le fichier Excel pour en recréer un par audit, et qui renommera en même temps les images selon un format plus compréhensible. Les images et leurs propriétés pourront ainsi être exploitées plus facilement. Quant au fichier source, il sera nettoyé en fin de processus, afin de conserver une taille raisonnable.
Constats
Parmi les points négatifs identifiés, on notera :
– L’impossibilité de se connecter à une bibliothèque SharePoint, ce qui limite notamment les possibilités en matière de stockage d’images.
– Une prise en main qui requiert un temps d’adaptation et une sensibilité « technique »
– Une tendance de l’éditeur PowerApps Studio à ralentir lorsque l’on doit traiter de très grosses requêtes (une centaine de champs, dans notre cas). PowerApps semble donc peu adapté pour les applications devant répondre à des règles de gestion très complexes et volumineuses.
– De manière générale, le manque de maturité de la solution qui se traduit parfois par l’absence de fonctionnalités que l’on pourrait juger « basiques »
– Peu de visibilité sur le planning de mise à disposition des nouvelles fonctionnalités
En revanche, on appréciera :
– La rapidité de mise en œuvre pour des applications simples
– La possibilité de s’affranchir des développements pour réaliser une app métier
– La possibilité de se connecter en quelques clics à de nombreux services et applications
– L’évolution constante du service, auquel Microsoft apporter régulièrement des améliorations et évolutions.
Licences
– PowerApps est inclus dans certaines offres Office 365 et Dynamics 365 : https://docs.microsoft.com/fr-fr/powerapps/pricing-billing-skus#licenses
– Ou pour 5€90 par utilisateur et par mois pour les utilisateurs d’une entreprise, avec le Common Data Services
– Ou pour 33€70 pour les développeurs et administrateurs, tout compris : https://powerapps.microsoft.com/fr-fr/pricing/

Si vous souhaitez créer une application mobile avec PowerApps, contactez-nous !