
Reply To: Package et multiplications d'une application
Hello Shadoks_,
De mon côte, j’ai réalisé (et je réalise toujours) une application assez conséquente chez mon client actuel (25 écrans, des milliers de contrôles, 6 rôles d’autorisation, 500 utilisateurs, 40 tables, 20 flux, …).
L’application tient la route. Elle se lance en quelques secondes et ses performances sont correctes. Mais il faut la concevoir (à la fois en terme d’UI et en terme de gestion des données surtout) de manière à optimiser les écrans, les traitements et les chargements. Et garder à l’esprit que désormais, un écran n’est instancié (i.e. initialisé/chargé) par Power Apps que lorsqu’il est affiché <- très important pour les perfs. Le découpage doit donc se faire intelligemment au niveau des écrans et il faut utiliser des composants pour les éléments communs.
Dans ton cas, je trouverais bcp plus compliqué de mettre en place des mécaniques complexes de réplication pour une même application fonctionnant sur un même modèle de données. Car cela pose de nombreux problèmes :
multiplier les sites et les applications implique également une multiplication de la maintenance
la maintenance de l’application : faire évoluer l’application (ou corriger des bugs) implique de le faire sur chaque instance d’application 😱… alors on pourrait imaginer créer une bibliothèque de composants et faire en sorte que l’application soit constituée à 90% de composants mais ça t’obligera quand même à rouvrir chaque application pour appliquer la mise à jour du composant et republier l’application
la maintenance des sites SP : il va falloir créer des tas de scripts PowerShell pour faire évoluer ou corriger le modèle de données
Clairement, perso je trouve que c’est pas la bonne approche.
Tu fais un seul site SharePoint et une seule application. Quand ton modèle de données évolue, tu ne dois modifier qu’une seule colonne ou une seule liste. Côté application, c’est à toi de gérer les rôles des utilisateurs dans l’application :
au moment où l’application se lance, j’identifie le rôle de l’utilisateur connecté
en fonction de ce rôle l’application se comporte différemment (affichage/grisage d’éléments, accès ou pas à des écrans, etc.)
Pour terminer, si ton application va être conséquente, assure-toi de mettre en place 3 environnements Power Platform DEV, TEST, PROD et de tout mettre dans des solutions. Perso j’ai organisé mes solutions de la manière suivante :
Voilà, n’hésite pas si t’as d’autres questions… 😉
CommentID=PFwXuDIhqfXrLYb, PostID=k7h02yUE6xwHQDo