1. Livres & vidéos
  2. Power Apps
  3. Découvrir les Model-driven Apps
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

Découvrir les Model-driven Apps

Différences fondamentales avec les Canvas

Lorsque l’on découvre Power Apps, la première impression est souvent liée aux Canvas Apps. L’approche est séduisante : une page blanche, des contrôles que l’on peut disposer librement, des formules à écrire comme dans Excel, et une grande liberté créative. Mais avec le temps, et surtout quand les projets grandissent, on réalise que ce type d’application repose sur un investissement important en configuration et en écriture de logique métier.

En parallèle, la plateforme propose un autre type d’application : les Model-driven Apps. Celles-ci sont moins connues au départ, mais elles révèlent toute leur puissance lorsqu’on comprend leur philosophie : partir de la donnée et générer automatiquement l’interface et les fonctionnalités.

Comprendre la différence entre ces deux mondes est essentiel pour choisir la bonne approche selon vos projets. Et c’est précisément ce que nous allons explorer ensemble.

1. Canvas Apps : tout est à construire

Un Canvas App, c’est un peu comme partir d’une feuille blanche. Vous devez dessiner vos écrans, placer vos boutons, configurer vos galeries, définir vos formulaires. Rien n’est imposé.

Cela donne un sentiment de liberté incroyable : vous pouvez imaginer une application qui ressemble exactement à vos besoins, même avec un design très éloigné de ce que propose Microsoft.

Mais cette liberté a un coût. Chaque action doit être programmée...

Cas pratique comparatif

Prenons un cas d’usage : une entreprise souhaite créer une application de gestion des incidents.

1. Avec Canvas

  • Temps de conception : 10 jours (3 jours de design, 5 jours de développement, 2 jours de test).

  • Formules écrites : environ 800 lignes de Power FX.

  • Niveau de personnalisation : très élevé. Vous pouvez concevoir une application très éloignée des standards Microsoft si nécessaire.

2. Avec Model-driven

  • Temps de conception : 3 jours (1 jour pour la création des tables, 1 jour pour la configuration des vues et formulaires, 1 jour de test).

  • Formules écrites : 0.

  • Niveau de personnalisation : limité. L’application ressemblera à toute autre application Dataverse.

3. Quand utiliser l’un ou l’autre ?

La question du choix est centrale.

  • Canvas App : idéale pour des applications front-end, mobiles ou destinées à un large public interne.

    Exemple : un formulaire de demande de congés avec une interface agréable et intuitive.

  • Model-driven App : parfaite pour la gestion de données métier complexes.

    Exemple : un CRM interne, une gestion des ressources humaines ou un suivi de projets.

Dans une entreprise, il est fréquent de combiner les deux. On utilise une Model-drivenApp pour gérer les données et une Canvas...

Création d’une application Model-driven simple avec Dataverse

Quand on découvre les Model-driven Apps, l’interface peut paraître très structurée. On a moins de liberté que dans une Canvas App, mais ce n’est pas une faiblesse, c’est une force. La logique est différente : au lieu de construire chaque bouton, chaque écran et chaque règle manuellement, on va s’appuyer sur des briques déjà prêtes et sur la puissance du modèle de données. C’est cette approche qui rend les applications model-driven rapides à construire et robustes à maintenir.

1. Comprendre les briques d’une Model-driven App

Avant de créer notre première application, il est important de bien comprendre le vocabulaire.

  • La zone est la grande section de navigation.

    Elle correspond à un espace thématique de l’application. Par exemple, une zone Suivi des demandes regroupera tout ce qui concerne le traitement des tickets, et une zone Administration sera réservée aux paramétrages.

  • Le groupe se situe à l’intérieur d’une zone.

    C’est un sous-ensemble qui permet de regrouper des pages similaires. Dans notre exemple, dans la zone Suivi des demandes, on pourrait avoir un groupe Demandes et un groupe Services.

  • La page est l’élément visible par l’utilisateur.

    Une page peut être une vue (liste filtrée d’enregistrements), un formulaire (affichage ou modification d’un enregistrement), un tableau de bord ou même un graphique. L’utilisateur navigue de page en page pour travailler.

  • Les paramètres permettent de personnaliser l’application : le nom, le logo, la couleur de l’entête, l’ordre des zones, mais aussi les paramètres de sécurité comme les rôles autorisés à l’ouvrir. C’est ici que l’on peut vraiment adapter l’app à l’image de l’organisation.

Ces quatre concepts (zones, groupes, pages et paramètres) forment l’ossature de toute application model-driven....

Vues (*Model-driven Apps*)

Dans les chapitres précédents, nous avons vu comment modifier des vues existantes. Dans cette section, nous allons voir comment créer des vues.

1. Comprendre ce qu’est une vue

Dans une application model-driven, une vue est une fenêtre prête à l’emploi sur une table Dataverse. Elle affiche une liste d’enregistrements selon les colonnes choisies, un ordre de tri et, surtout, des filtres. Une vue est donc à la fois un modèle d’affichage et une requête. L’utilisateur n’a rien à construire : il ouvre la page, et la liste s’affiche avec les bons champs, les bons filtres et les bons tris.

Dans notre fil rouge, la table Demande contient toutes les demandes internes. Une vue Demandes en cours montrera uniquement les enregistrements dont le statut est En cours, avec, par exemple, les colonnes Titre, Service, Priorité, Date et Demandeur. Une autre vue Mes demandes filtrera sur Propriétaire = utilisateur courant. Vous voyez l’idée : chaque besoin d’analyse ou d’action peut devenir une vue dédiée, stable et partageable.

2. Les types de vues

Toutes les vues ne jouent pas le même rôle. Il existe trois grandes familles que vous croiserez au quotidien.

Les vues système sont créées dans les solutions, par les makers ou les administrateurs, et sont visibles par tous selon les rôles de sécurité. Ce sont celles que vous ajoutez à l’application dans le concepteur d’app. Elles structurent l’expérience de tous les utilisateurs.

Quelques vues système « spécialisées » méritent une mention :

  • Vue de recherche rapide (Quick Find) : elle définit les colonnes recherchées quand l’utilisateur tape un mot-clé. Si vous voulez que la recherche porte sur Titre et Description, c’est ici qu’on l’indique.

  • Vue de recherche associée (Associated View) : elle est utilisée quand on consulte des lignes liées. Par exemple, depuis un service, elle permet de voir les demandes associées.

  • Vue de recherche (Lookup View) : elle s’affiche dans les champs de type recherche. Par exemple, lorsqu’on choisit un service depuis une demande, c’est cette vue, avec ses colonnes...

Formulaires (Model-driven Apps)

1. Pourquoi les formulaires sont centraux

Dans une application model-driven, le formulaire est la porte d’entrée sur la donnée. C’est l’écran où l’on consulte, saisit et met à jour un enregistrement. Il se génère à partir de la table Dataverse, puis on le structure pour qu’il épouse le métier : on choisit les champs, on organise l’espace, on décide quand un champ est visible, obligatoire ou verrouillé.

Contrairement à une Canvas App, où tout est à construire en low-code - chaque bouton, chaque étiquette, chaque logique -, la structure de base existe déjà. On paramètre plutôt qu’on ne code. Résultat : un temps de mise en œuvre réduit, une UX cohérente et des formulaires naturellement responsives.

Dans notre fil rouge, ouvrir une Demande affiche un formulaire avec le Titre, la Description, le Service, le Demandeur, la Date de la demande, le Statut, la Priorité et le Commentaire du gestionnaire. À partir de ce socle, nous allons affiner, clarifier et guider l’utilisateur, sans écrire une ligne de JavaScript.

2. Les types de formulaires et quand les utiliser

Tous les formulaires ne servent pas le même objectif. Dataverse en propose plusieurs, que l’on combine selon les scénarios.

Le formulaire principal (Main) est l’écran complet. On y place les champs clés, des sections, des onglets, des sous-grilles, des graphiques, voire des composants PCF. C’est le plan de travail du gestionnaire : il y passe du temps, il a besoin de contexte, de listes liées, d’un historique.

Le formulaire de création rapide (Quick Create) ouvre un panneau latéral. On y saisit l’essentiel sans quitter son écran. Il est idéal pour une création ponctuelle : j’ajoute une demande au fil de l’eau depuis la page d’un service.

Le formulaire de consultation rapide (Quick View) n’est pas ouvert directement par l’utilisateur. Il injecte des informations d’une table liée dans le formulaire courant.

Exemple : afficher le Responsable et l’Email du Service sélectionné, sans dupliquer les colonnes. On gagne en lisibilité et on évite les recopies....

Les graphiques dans les Model-driven Apps

1. Comprendre l’intérêt des graphiques

Dans une application model-driven, les données sont structurées et centralisées dans Dataverse. Mais les afficher sous forme de listes ou de formulaires ne suffit pas toujours. Très vite, un gestionnaire, un responsable ou même un collaborateur veut comprendre les tendances : combien de demandes sont encore ouvertes ? Quel service est le plus sollicité ? Quelle est la répartition des statuts ?

Les graphiques répondent à ces questions en un clin d’œil. Ils transforment une liste d’enregistrements en représentation visuelle et complètent les vues et les formulaires. Là où la vue sert à lire et à filtrer, et le formulaire à détailler, le graphique aide à décider rapidement.

Contrairement à Power BI, destiné à l’analyse approfondie, les graphiques model-driven sont conçus pour être rapides à mettre en place et directement utilisables par les utilisateurs. Quelques clics suffisent, sans écrire de code.

2. Les types de graphiques disponibles

Par défaut, Dataverse propose plusieurs représentations simples, mais efficaces :

  • Les graphiques en secteurs (Pie chart) permettent de comparer des proportions. Exemple : 40 % des demandes concernent l’informatique, 30 % les RH.

  • Les graphiques en barres horizontales ou verticales permettent de comparer des volumes entre catégories. Exemple : le nombre de demandes par service.

  • Les histogrammes empilés permettent de croiser deux dimensions. Exemple : les demandes par service, empilées par statut....