Utiliser YAML

Effectué

Une fois votre application décompressée, vous pouvez stocker les formules extraites dans les fichiers texte en utilisant un sous-ensemble de YAML. YAML est un langage de sérialisation de données convivial. Sa finalité est de simplifier le processus de lecture et d’écriture de la source et de déterminer les différences entre les versions. De plus, vous pouvez modifier ces fichiers à l’aide de tout éditeur de texte si vous suivez les conventions de formule YAML Microsoft Power Fx adoptées.

Voici un contrôle de libellé représenté au format YAML :

   LblAppName1 As label:
        Fill: =RGBA(58, 58, 58, 0)
        Height: =88
        Size: =27
        Text: ="Companies"
        Width: =Parent.Width - Self.X - IconSortUpDown1.Width - IconNewItem1.Width - IconRefresh1.Width
        Wrap: =false
        X: =20
        ZIndex: =2

YAML représente les données à l’aide de paires clé/valeur et prend en charge l’imbrication des paires. Par exemple, un élément comme lblAppName1 peut avoir des paires clé/valeur indentées pour Fill, Height, Size, etc. YAML détermine la structure et les espaces pour l’indentation à l’aide de l’indentation, mais il n’autorise aucune tabulation.

YAML intègre trois aspects uniques des formules Power Fx :

  • Le mot clé As définit les types de contrôle. Vous pouvez définir le contrôle de libellé, comme dans l’exemple précédent, à l’aide de l’expression lblAppName1 as Label:. Normalement, YAML présente un seul nom à gauche des deux points (:) lorsque vous fournissez une valeur de propriété. Cependant, rien dans les spécifications YAML n’exclut des expressions de gauche plus complexes. Par conséquent, la syntaxe Power Fx YAML peut nommer la propriété et fournir son type.

  • Toutes les formules commencent par un signe égal. De la même manière qu’avec Microsoft Excel, le signe égal (=) introduit une formule, plutôt qu’une valeur statique. Vous n’avez pas besoin de saisir le premier signe égal (=) dans Power Apps Studio, car il est toujours présent dans la barre de formule, comme vous pouvez le constater. De plus, le signe égal (=) permet d’éviter l’interprétation normale du type de données que YAML effectue pour la valeur statique, ce qui n’est pas adapté aux formules.

  • Certaines formules doivent être exprimées dans la syntaxe multiligne YAML. Si une formule comporte une chaîne avec un # intégré, YAML l’interprète comme le début d’un commentaire. Par conséquent, il tronque le reste de la ligne. Pour éviter cela, veillez à exprimer la formule à l’aide de la syntaxe multiligne de YAML. La syntaxe | est la plus couramment utilisée.

Pour en savoir plus, consultez Grammaire de la formule YAML Microsoft Power Fx.

Structure de dossiers

Lorsque vous décompressez une application canevas, examinez la création d’un ensemble de fichiers et de dossiers. Une fois le processus de décompression effectué, vous trouvez les fichiers et dossiers clés suivants :

  • \src : fichiers de contrôle et de composants. Ce fichier comporte les sources.

  • *.fx.yaml : formules extraites du fichier control.json. Vous pouvez y modifier vos formules.

  • CanvasManifest.json : fichier manifeste qui comporte les éléments se trouvant normalement dans l’en-tête, les propriétés et publishInfo.

  • *.json : fichier control.json brut.

  • \EditorState*.editorstate.json : informations mises en cache que Power Apps Studio utilise.

  • \DataSources : toutes les sources de données utilisées par l’application.

  • \Connections : instances de connexion enregistrées avec cette application et utilisées lorsque vous effectuez un rechargement dans Power Apps Studio.

  • \Assets : fichiers multimédias intégrés à l’application.

  • \pkgs : copie téléchargée de références externes telles que des modèles, des fichiers de définition d’API et des bibliothèques de composants. Ces fichiers sont similaires aux références nuget/npm.

  • \other : tous les fichiers divers nécessaires à la recréation du fichier .msapp.

  • entropy.json : les éléments volatils (comme les horodatages) sont extraits vers ce fichier. Ce dernier permet de réduire le bruit dans d’autres fichiers, tout en garantissant que les allers-retours sont toujours possibles. Il comporte d’autres fichiers provenant du fichier .msapp, par exemple, les éléments de \references.

Format de fichier

Les fichiers dont le nom se termine par *.fx.yaml comportent des formules modifiables. En explorant les fichiers extraits, vous constaterez que certains ne comportent pas YAML. Nombre d’entre eux sont au format natif et ne sont pas destinés à être modifiés en dehors de Power Apps Studio.

Fusionner les modifications apportées à la source

La décompression permet, entre autres, à plusieurs personnes de modifier une application et de fusionner les modifications dans le contrôle de code source. Dans ce cas, il est préférable de réduire les risques de conflits. Par exemple, la modification de formules sur le même contrôle présente un fort risque de conflit. En revanche, il est moins probable qu’un conflit se produise lorsque deux personnes modifient des écrans différents.

Si vous créez l’application dans le cloud, téléchargez-la, puis modifiez-la. Sachez que lorsque vous chargez la version recompressée, celle-ci écrase toutes les modifications apportées à la version cloud.

Afin d’éviter d’écraser et de perdre le travail effectué en ligne, comme vous avez téléchargé l’application précédemment, vous devez télécharger à nouveau l’application à partir du cloud, la décompresser, valider les modifications apportées au fichier, résoudre les éventuels conflits, puis recompresser et charger la nouvelle application. Vérifiez que le contrôle de code source comporte la copie principale de votre application.

Encore une fois, des conflits peuvent se produire lorsque plusieurs personnes effectuent des modifications simultanément. Par exemple, si deux personnes choisissent le même nom de contrôle sur des écrans différents, cela crée un conflit de fusion. Pour en savoir plus, consultez Documentation relative à la CLI Microsoft Power Platform.