Exercice : ajouter une fonctionnalité avancée côté client

Effectué

L’objectif de ce labo pratique est de présenter comment ajouter du code JavaScript à une page pour afficher les données de Microsoft Dataverse sous forme de graphique à l’aide d’une bibliothèque graphique externe avec les données récupérées de Dataverse à l’aide de l’API web des portails.

Les exercices sont plus pertinents si vous disposez d’exemples de données à utiliser. En fonction de l’environnement utilisé, vous pouvez installer certains exemples de données pour vous aider dans les exercices. Microsoft Power Platform vous permet d’ajouter des exemples de données si nécessaire. Si aucun exemple de données n’est installé dans l’environnement utilisé, suivez les étapes de la documentation Ajouter ou supprimer des exemples de données pour installer les exemples de données dans votre environnement.

Objectifs d’apprentissage

L’objectif de ces exercices est de vous aider à découvrir comment :

  • Configurer les paramètres du site et les autorisations de la table pour activer les demandes d’API web des portails.

  • Ajoutez du code en ligne à une page web de contenu pour récupérer et transformer les données à l’aide de l’API web des portails.

  • Utiliser une bibliothèque JavaScript externe pour tracer les données transformées.

Conditions préalables

Pour cet exercice, assurez-vous d’avoir défini les paramètres suivants dans votre environnement :

  • Un site web Power Pages approvisionné. Si vous ne disposez pas d’un site web Power Pages, suivez les instructions dans la documentation Créer un site avec Power Pages pour en créer un.

  • Accès à la page d’accueil Power Pages Maker.

Étapes générales

Pour terminer l’exercice, effectuez les tâches suivantes :

  1. Créer les paramètres du site et les autorisations de table qui autorisent les demandes de lecture de l’API web des portails vers la table des comptes.

  2. Créer une page de contenu et ajouter du code JavaScript qui récupère et transforme les données.

  3. Ajouter une bibliothèque de graphiques à la page et au code JavaScript en utilisant la bibliothèque pour créer un graphique avec les données récupérées.

Étapes détaillées

Pour effectuer ce labo, procédez comme suit :

Activer les demandes d’API web des portails

Cette section vous indique comment activer les requêtes API Web des portails vers la table comptes.

Créer les paramètres du site

Pour créer des paramètres de site, procédez comme suit.

  1. Connectez-vous à la page Accueil de Power Pages.

  2. Sélectionnez l’environnement adéquat dans le coin supérieur droit.

  3. Cliquez sur le menu des points de suspension (), puis sélectionnez Power Pages Management.

    L’application Power Pages Management s’ouvre alors dans un nouvel onglet.

    Capture d’écran de l’environnement de créateur Power Pages avec le menu d’extension développé et l’option de menu Power Pages Management sélectionnée.

  4. Cliquez sur Paramètres de site.

  5. Cliquez sur + Nouveau et saisissez les informations suivantes :

    • Nom : Webapi/account/enabled

    • Site web : sélectionnez votre site web actuel

    • Valeur : true

  6. Cliquez sur Enregistrer.

    Capture d’écran des étapes de création des paramètres du site de l’API web.

  7. Cliquez sur + Nouveau et saisissez les informations suivantes :

    • Nom : Webapi/account/fields

    • Site web : sélectionnez votre site web actuel

    • Valeur : name,numberofemployees,revenue

  8. Cliquez sur Enregistrer et fermer.

Créer des autorisations de table

Pour créer des autorisations de table, procédez comme suit :

  1. Basculez vers la page d’accueil Power Pages.

  2. Cliquez sur Modifier afin que le site web cible ouvre le studio de conception Power Pages.

  3. Sélectionnez l’espace de travail Sécurité, puis cliquez sur Autorisations de table.

    Capture de l’écran des autorisations de table dans le studio de conception Power Pages.

  4. Cliquez sur + Nouvelle autorisation, puis renseignez les informations suivantes :

    • Nom : Compte

    • Table : Compte (compte)

    • Type d’accès : Global

    • Autorisation de : Lire

  5. Cliquez sur Ajouter des rôles, puis ajoutez Utilisateurs anonymes et Utilisateurs authentifiés.

  6. Cliquez sur Enregistrer.

    Capture d’écran de l’autorisation globale de lecture de table sur les comptes.

Tester l’API web

Pour tester l’API Web, accédez à l’URL suivante : https://yourwebsite.powerappsportals.com/_api/accounts?$select=name,numberofemployees,revenue

Votre résultat devrait ressembler à l’image suivante :

Capture d’écran de l’exemple de sortie de l’API web du portail.

Créer une page de contenu et récupérer des données

Pour créer une page de contenu et ajouter du code JavaScript qui récupère et transforme les données, procédez comme suit :

  1. Dans le studio de conception, sélectionnez l’espace de travail Pages, puis cliquez sur + Page.

  2. Saisissez Graphique comme Nom de la page.

  3. Vérifiez la sélection de l’option Ajouter une page à la navigation principale.

  4. Sélectionnez la disposition Démarrer à partir de zéro.

  5. Cliquez sur Ajouter.

  6. Cliquez sur Modifier le code.

    Capture d’écran de la nouvelle page de graphique vide dans le studio de conception, avec un encadré rouge sur le bouton Modifier le code.

  7. Dans la boîte de dialogue contextuelle, cliquez sur Ouvrir Visual Studio Code.

  8. Dans l’éditeur Visual Studio Code, sélectionnez le fichier Chart.en-US.customjs.js.

  9. Ajoutez le script suivant :

    function makeChart(rawData) {
      // transform raw data into plotting array
      var rData = rawData.value.map(({
        name,
        revenue,
        numberofemployees
      }) => ({
        "x": numberofemployees,
        "y": revenue,
        "z": (!revenue) ? 1 : numberofemployees / revenue,
        "name": name
      }));
      console.log(rData);
    }
    // retrieve accounts data using portals Web API
    $(document).ready(function() {
      $.get('/_api/accounts?$select=name,numberofemployees,revenue', makeChart, 'json');
    });
    
  10. Appuyez sur le raccourci clavier Ctrl + S (⌘ + S sur Mac) afin d’enregistrer le fichier.

    Capture d’écran de l’éditeur Visual Studio Code avec Javascript pour récupérer les données des comptes à l’aide de l’API web de portail.

  11. Fermez l’onglet Visual Studio Code. Cliquez sur Synchroniser lorsque vous êtes invité à synchroniser les modifications.

  12. Cliquez sur Aperçu > Bureau.

  13. Lorsque la page s’affiche, appuyez sur F12 pour afficher les outils de développement du navigateur.

  14. Vérifiez que la sortie de la console contient les mêmes données que celles récupérées précédemment, mais que celles-ci s’affichent désormais comme étant transformées.

    Capture d’écran de la sortie de la console avec les données transformées.

  15. La structure de données est désormais prête pour le traçage. Attribuez les libellés appropriés aux points de données :

    • name : Nom de la société

    • x : Nombre de collaborateurs

    • y : Chiffre d’affaires de la société en milliers

    • z : Chiffre d’affaires par collaborateur (calculé)

Ajouter une fonctionnalité de bibliothèque externe

Cet exercice utilise la bibliothèque Highcharts.js (gratuite pour un usage personnel ou à but non lucratif) pour créer un graphique à bulles basé sur les données.

  1. Basculez vers le studio de conception.

  2. Sélectionnez le pied de page, puis sélectionnez Modifier le code.

  3. Dans la boîte de dialogue contextuelle, cliquez sur Ouvrir Visual Studio Code.

    Capture d’écran d’une page ouverte dans le studio de conception Power Pages avec le pied de page sélectionné et une fenêtre contextuelle invitant l’utilisateur à Ouvrir Visual Studio Code.

  4. Ajoutez le code suivant à la fin du fichier.

      <script src="https://code.highcharts.com/highcharts.js"></script>
      <script src="https://code.highcharts.com/highcharts-more.js"></script>
    
  5. Appuyez sur le raccourci clavier Ctrl + S (⌘ + S sur Mac) afin d’enregistrer le fichier.

  6. Fermez l’onglet Visual Studio Code.

  7. Cliquez sur Modifier le code dans la barre d’outils pour ouvrir Visual Studio Code pour la page.

  8. Sélectionnez le fichier Chart.en-US.customjs.js.

  9. Modifiez le fichier de sorte à définir la fonction makeChart comme suit :

    function makeChart(data) {
      console.log(data);
      var rData = data.value.map(({
        name,
        revenue,
        numberofemployees
      }) => ({
        "x": numberofemployees,
        "y": revenue,
        "z": (!revenue) ? 1 : numberofemployees / revenue,
        "name": name
      }));
      console.log(rData);
    
      // new code to plot the data
      Highcharts.chart($('.mychart')[0], {
        title: {
          text: "Customers efficiency"
        },
        legend: {
          enabled: false
        },
        xAxis: {
          title: {
            text: "Number of employees"
          }
        },
        yAxis: {
          title: {
            text: "Turnover ($K)"
          }
        },
        tooltip: {
          pointFormat: '<strong>{point.name}</strong><br/>Employed: {point.x}<br>Turnover ($K): ${point.y}',
          headerFormat: ''
        },
        series: [{
          type: 'bubble',
          data: rData
        }]
      });
    }
    
    // retrieve accounts data using portals Web API
    $(document).ready(function() {
      $.get('/_api/accounts?$select=name,numberofemployees,revenue', makeChart, 'json');
    });
    
  10. Appuyez sur le raccourci clavier Ctrl + S (⌘ + S sur Mac) afin d’enregistrer le fichier.

  11. Sélectionnez le fichier Chart.en-US.webpage.copy.html.

  12. Insérez le code suivant dans l’élément <div> interne :

      <figure>
        <div class="mychart"></div>
      </figure>
    
  13. Appuyez sur le raccourci clavier Ctrl + S (⌘ + S sur Mac) afin d’enregistrer le fichier.

    Capture d’écran de la zone de contenu de la page dans l’éditeur de Visual Studio Code.

  14. Fermez l’onglet Visual Studio Code, puis cliquez sur Synchroniser pour synchroniser les modifications.

  15. Cliquez sur Aperçu > Bureau.

  16. La sortie devrait maintenant inclure le graphique à bulles. Pointez votre curseur sur les bulles pour vérifier les données.

Capture d’écran de la sortie de page avec le graphique à bulles désormais inclus.