Concepts de solution

Les solutions sont le mécanisme de mise en œuvre de l’ALM dans Power Apps et Power Automate. Cet article décrit les concepts clés de solution suivants :

  • Deux types de solutions
  • Composants de solution
  • Cycle de vie d’une solution
  • Éditeur de solutions
  • Solution et dépendances de composants de solution

Solutions gérées et non gérées

Une solution est gérée ou non gérée.

  • Les Solutions non gérées sont développées. Les solutions non gérées sont utilisés dans des environnements de développement pendant que vous apportez des modifications à votre application. Les solutions non gérées peuvent être exportées comme non gérées ou gérées. Les versions non gérées exportées de vos solutions doivent être archivées dans votre système de contrôle de code source. Les solutions non gérées doivent être considérées comme votre source pour les actifs Microsoft Power Platform. Lorsqu’une solution non gérée est supprimée, seul le conteneur de solutions de toutes les personnalisations incluses dans ce dernier est supprimé. Toutes les personnalisations non gérées sont effectives et appartiennent à la solution par défaut.

  • Les Solutions gérées sont déployées. Les solutions gérées sont déployées dans tout environnement autre qu’un environnement de développement pour la solution concernée. Cela inclut les environnements d’évaluation, UAT, SIT et de production. Les solutions gérées peuvent être tenue à jour indépendamment des autres solutions gérées dans un environnement. En tant que meilleure pratique ALM, les solutions gérées doivent être générées en exportant une solution non gérée comme gérée et considérée comme un artefact de génération. Voici quelques ajustements supplémentaires :

    • Vous ne pouvez pas modifier directement les composants d’une solution gérée. Pour modifier les composants gérés, ajoutez-les d’abord à une solution non gérée.
      • Une fois ce module désinstallé, créez une dépendance entre vos personnalisations non gérées et la solution gérée. Lorsqu’une dépendance existe, la solution gérée ne peut pas être désinstallée tant que vous ne supprimez pas la dépendance.
    • Certains composant gérés ne peuvent pas être personnalisés. Pour vérifier si un composant peut être modifié, consultez les Propriétés gérées.
    • Vous ne pouvez pas exporter une solution gérée.
    • Lorsqu’une solution gérée est supprimée (désinstallée), toutes les personnalisations et les extensions associées sont supprimées.

    Important

    • Il est impossible d’importer une solution gérée dans le même environnement qui contient la solution non gérée d’origine. Pour tester une solution gérée, vous avez besoin d’un environnement distinct pour l’y importer.
    • Quand vous supprimez une solution gérée, les données suivantes sont perdues : les données stockées dans les entités personnalisées qui font partie de la solution gérée et les données stockées dans des attributs personnalisés qui font partie de la solution gérée sur d’autres entités ne faisant pas partie de la solution gérée.

Les créateurs et les développeurs travaillent dans des environnements de développement à l’aide de solutions non gérées, puis les importent dans d’autres environnements en aval, comme les tests, en tant que solutions gérées.

Distribuer une solution des environnements de développement aux environnements de test.

Note

Lorsque vous personnalisez dans l’environnement de développement, vous travaillez dans la couche non gérée. Ensuite, lorsque vous exportez la solution non gérée en tant que solution gérée pour la distribuer à un autre environnement, le solution gérée est importé dans l’environnement dans la couche gérée. Plus d’informations : Couches de solution

Composants de solution

Un composant est un élément que vous pouvez vous permettre de personnaliser. Tout ce qui peut être inclus dans une solution est un composant. Pour afficher les composants inclus dans une solution, ouvrez la solution souhaitée. Les composants sont répertoriés dans la liste Composants.

Composants de solution.

Note

  • Une solution peut avoir une taille maximale de 32 Mo.
  • Vous ne pouvez pas modifier directement les composants d’une solution gérée.

Pour afficher la liste des types de composants pouvant être ajoutés à n’importe quelle solution, consultez Options de ComponentType.

Certains composants sont imbriqués dans d’autres composants. Par exemple, une entité contient des formulaires, des vues, des graphiques, des champs, des relations d’entité, des messages et des règles métier. Ces composants requièrent tous une entité. Un champ ne peut pas exister en dehors d’une entité. Nous disons que le champ dépend de l’entité. Il existe deux fois plus de types de composants qu’illustré dans la liste précédente, mais la plupart d’entre eux sont imbriqués dans d’autres composants et ne sont pas visibles dans l’application.

L’intérêt de disposer de composants consiste à pouvoir suivre toutes les limitations sur ce qui peut être personnalisé à l’aide des propriétés gérées et dans toutes les dépendances afin de pouvoir les exporter, les importer et (dans les solutions gérées) les supprimer sans rien perdre.

Cycle de vie d’une solution

Les solutions prennent en charge les actions suivantes qui aident à prendre en charge les processus de cycle de vie des applications :

  • Créer Créer ou importer des solutions non gérées.

  • Mettre à jour Créez des mises à jour pour une solution gérée qui sont déployées sur la solution gérée parente. Vous ne pouvez pas supprimer des composants avec une mise à jour.

  • Mettre à niveau Importez la solution en tant que mise à niveau vers une solution gérée existante, qui supprime les composants inutilisés et implémente la logique de mise à niveau. Les mises à niveau impliquent le report (fusion) de tous les correctifs de la solution dans une nouvelle version de la solution. Les mises à niveau de solution supprimeront les composants qui existaient mais qui ne sont plus inclus dans la version mise à niveau. Vous pouvez choisir de mettre à niveau immédiatement ou de mettre en œuvre la mise à niveau afin de pouvoir effectuer des actions supplémentaires avant de terminer la mise à niveau.

  • Correctif Un correctif contient uniquement les modifications apportées à une solution gérée parente, telles que l’ajout ou la modification de composants et de ressources. Utilisez des correctifs lorsque vous effectuez de petites mises à jour (comme un correctif logiciel). Lorsque des correctifs sont importés, ils sont superposés au-dessus de la solution parente. Vous ne pouvez pas supprimer des composants avec un correctif.

Éditeur de solutions

Chaque application et autres composants de solution tels que les entités que vous créez ou toute personnalisation que vous faites font partie d’une solution. Parce que chaque solution a un éditeur, vous devez créer votre propre éditeur plutôt que d’utiliser la valeur par défaut. Vous spécifiez l’éditeur quand vous créez une solution.

Note

Même si vous n’utilisez pas de solution personnalisée, vous travaillerez dans des solutions connues sous le nom de Solution par défaut Common Data Service et les solutions Par défaut. Plus d’informations : Solution par défaut et Solution par défaut Common Data Service

L’éditeur d’une solution dans laquelle un composant est créé est considéré comme le propriétaire de ce composant. Le propriétaire d’un composant contrôle les modifications que les autres éditeurs de solutions, notamment ce composant, sont autorisés ou interdits d’effectuer. Il est possible de déplacer la propriété d’un composant d’une solution à une autre au sein du même éditeur, mais pas entre les éditeurs. Une fois que vous avez introduit un éditeur pour un composant dans un solution gérée, vous ne pouvez pas modifier l’éditeur du composant. Pour cette raison, il est préférable de définir un seul éditeur afin de pouvoir modifier ultérieurement le modèle de superposition d’une solution à l’autre.

L’éditeur de solutions spécifie qui a développé l’application. Pour cette raison, vous devez créer un nom d’éditeur de solutions significatif.

Préfixe de l’éditeur de solutions

Un éditeur de solutions inclut un préfixe. Le préfixe de l’éditeur est un mécanisme permettant d’éviter les collisions de noms. Cela permet aux solutions de différents éditeurs d’être installées dans un environnement avec peu de conflits. Par exemple, la solution Contoso affichée ici inclut un préfixe d’éditeur de solutions contoso.

Exemple de préfixe de l’éditeur de solutions.

Note

Lorsque vous modifiez un préfixe d’éditeur de solutions, vous devez le faire avant de créer des applications ou des éléments de métadonnées, car vous ne pouvez pas modifier les noms des éléments de métadonnées après leur création initiale.

Pour plus d’informations :

Dépendances aux solutions

En raison de la façon dont les solutions gérées sont organisées, certaines solutions gérées peuvent dépendre de composants de solution dans d’autres solutions gérées. Certaines éditeurs de solutions tireront parti de cela pour bâtir des solutions modulaires. Vous devrez peut-être d’abord installer une solution gérée « de base » avant d’installer une autre solution gérée qui personnalisera davantage les composants de la solution gérée de base. La seconde solution gérée dépend des composants de solution qui font partie de la première solution.

Le système suit ces dépendances entre les solutions. Si vous essayez d’installer une solution qui requiert une solution de base qui n’est pas installée, vous ne pourrez pas installer la solution. Vous recevrez un message indiquant que la solution nécessite l’installation préalable d’une autre solution. De même, en raison des dépendances, vous ne pouvez pas désinstaller la solution de base lorsqu’une solution qui en dépend est toujours installée. Vous devez désinstaller la solution dépendante avant de désinstaller la solution de base. Pour plus d’informations : Suppression des dépendances

Dépendances des composants de solution

Un composant de solution est un élément que vous pouvez vous permettre de personnaliser. Tout ce qui peut être inclus dans une solution est un composant de solution et certains composants dépendent d’autres composants. Par exemple, le champ du site Web et le rapport récapitulatif du compte dépendent tous deux de l’entité du compte. Pour plus d’informations, voir : Suivi de dépendance pour les composants de solution

Voir aussi

Couches de solution
Créer et gérer des environnements dans le centre d’administration Power Platform