23. Automatisation avec des données JSON

Vous pouvez utiliser des données disponibles dans JSON pour dupliquer des graphiques créés en premier lieu comme modèle et fournir une nouvelle feuille de données pour ces dernières. Vous pouvez contrôler l’ordre dans lequel des modèles spécifiques sont utilisés pour créer une nouvelle présentation. Les modèles peuvent également être utilisés plusieurs fois.

Vous pouvez préparer une bibliothèque de tous les types de graphiques dont vous avez besoin et, au besoin, les versions dont les différentes décorations de graphique sont activées. Ensuite, vous pouvez librement combiner ces modèles et les remplir de données à utiliser dans une nouvelle présentation.

Les deux modèles PowerPoint et les données JSON peuvent être stockés localement ou à distance. Les données JSON peuvent même être générées à la volée par un service Web.

23.1
Structure des données JSON pour think-cell
23.2
Création d’une présentation à l’aide des données JSON
23.3
Obtenir des données JSON à distance
23.4
Accéder au modèle à distance

23.1 Structure des données JSON pour think-cell

Un exemple des données JSON pour think-cell est donné ci-dessous et peut se trouver dans le dossier sample.ppttc du sous-dossier ppttc du répertoire d’installation think-cell. Le JSON indique une présentation à créer à partir d’une concaténation de modèles. Il correspond au schéma disponible dans ppttc/ppttc-schema.json.

Exemple de fichier JSON de l’automatisation think-cell

Au niveau de la racine se trouve un ensemble d’éléments. Chaque élément indique un fichier modèle et des données pour ses graphiques. Il est possible de concaténer différents modèles et un seul modèle peut être utilisé plus d’une fois. Dans le cas le plus simple, un seul modèle est utilisé une seule fois pour remplir tous les tableaux contenus dans le modèle en question avec des données.

Chaque élément de l’ensemble des modèles concaténés contient deux clés : image modèle et image données. La valeur du image modèlecorrespond au chemin d’accès d’un fichier PowerPoint comportant des graphiques think-cell pour lesquels un nom a été défini comme identificateur (voir Introduction à l’automatisation). Le fichier modèle peut également être récupéré à partir d’un emplacement distant, comme décrit dans Accéder au modèle à distance.

La valeur de la clé image données est une liste de tables de données au format JSON des graphiques contenus dans le modèle. Chaque élément de la liste possède deux propriétés : image nom et image tableau. image nom indique un graphique utilisant son nom et image tableau contient la table de données.

La structure de la valeur du image tableau correspond directement à une feuille de données non transposée avec les lignes qui représentent des séries et les colonnes les catégories. Pour un graphique par défaut qui signifie que l’ordre des lignes suivantes sera représenté :

1.
Une ligne comportant d’abord une cellule vide (null), puis des cellules avec des noms de catégories.
2.
Une ligne de 100 %= valeurs. Si aucune ligne de 100 %= valeurs n’est utilisée, la ligne vide sera désignée comme image [].
3.
Plusieurs lignes avec une première cellule qui indique le nom de la série et les cellules subséquentes qui contiennent des valeurs numériques.

Un graphique auquel on peut attribuer un nom peut être référencé dans JSON. Pour leur structure spécifique de la feuille de données, voir le chapitre correspondant ou ouvrez simplement la feuille de données interne du graphique pour référence.

Remarque: Les cellules présentes dans la plage de la feuille de données think-cell peuvent contenir tout type de texte. Si nécessaire, la première cellule de la première ligne peut également être remplie.

Les données composant la valeur d’une clé table doivent respecter certaines règles définies dans le schéma. La valeur de la clé table elle-même est un tableau. Les sous-ensembles représentent les lignes de la feuille de données. Les lignes vides peuvent être spécifiées en utilisant un tableau vide []. Le contenu d’une cellule est décrit par les éléments énumérés dans ce type de sous-ensemble. L’ordre des éléments correspond à l’ordre des colonnes d’une feuille de données. Une cellule vide doit être décrite de manière explicite à l’aide de l’élément null. Les cellules dont le contenu doit être décrit à l’aide d’une autre paire clé-valeur. Dans ce cas, la clé décrit le type de données et la valeur contient les données qui doivent être effectivement affichées dans la présentation. Trois types de données sont pris en charge :

  • image Chaîne pour toute sorte de texte. Tous les caractères unicode (UTF-8) sont pris en charge. Exemple : {"string":"Echo"}
  • image Nombre pour toute sorte de nombres. Le séparateur décimal utilisé doit être un point. Exemple : {"number":"5"}
  • image Date pour les dates. Le format requis est YYYY-MM-DD. Exemple : {"date":"2016-09-04"}

Toute mise en forme du contenu des cellules (par exemple, indication du format de la date) doit être effectuée dans le modèle PowerPoint.

23.2 Création d’une présentation à l’aide des données JSON

Le fichier de données JSON doit avoir un type de fichier de .ppttc. Lors de l’ouverture de ce type de fichier :

1.
think-cell lit le fichier et vérifie son intégrité structurale.
2.
Une nouvelle présentation est créée. Pour chaque élément situé au niveau supérieur du fichier JSON, la nouvelle présentation contient une copie du modèle spécifié.
3.
Dans les copies de modèles, les feuilles de données des graphiques identifiés par les valeurs name sont remplacées par les données des valeurs table. Les libellés de totaux, les placements des libellés et les valeurs des flèches de différence ou les autres décorations de graphique sont mis à jour.

Par la suite, la nouvelle présentation s’affiche. L’utilisateur peut continuer à modifier son contenu et l’enregistrer ou l’utiliser d’une autre manière.

23.3 Obtenir des données JSON à distance

Les données JSON disponibles dans un fichier .ppttc peuvent être également générées à distance par un service Web et mises à la disposition de l’utilisateur pour téléchargement dans un navigateur Web. Veuillez consulter l’échantillon prévu ci-dessous et disponible dans sample.html du sous-dossier ppttc du répertoire d’installation think-cell.


<!DOCTYPE html> 
<html> 
<body> 
 
<h1>ppttc test</h1> 
 
<button type="button" onclick="myFunction()"> 
Download .ppttc 
</button> 
 
<a id="downloader" style="display:none"/> 
 
<script> 
function myFunction() { 
  var obj = [ 
    { 
      template : "https://static.think-cell.com/ppttc/template.pptx", 
      data: [ 
        { 
          name: "Chart1", 
          table: [ 
            [null, {string:"Alpha"},{string:"Bravo"},{string:"Charlie"}], 
            [], 
            [{string:"Delta"},{number:1},{number:2},{number:3}], 
            [{string:"Echo"},{number:4},{number:5},{number:6}] 
          ] 
        }, 
        { 
          name: "Chart2", 
          table: [ 
            [null, {date:"2016-09-03"},{date:"2016-09-04"},{date:"2016-09-05"}], 
            [], 
            [{string:"Foxtrot"},{number:7},{number:8},{number:9}], 
            [{string:"Gulf"},{number:10},{number:11},{number:12}] 
          ] 
        } 
      ] 
    } 
  ]; 
  var elemDownloader = document.getElementById("downloader"); 
  elemDownloader.setAttribute("href","data:application/vnd.think-cell.ppttc+json;charset=utf-8," 
    + encodeURIComponent(JSON.stringify(obj))); 
  elemDownloader.setAttribute("download", "sample.ppttc"); 
  elemDownloader.click(); 
} 
</script> 
 
</body> 
</html>

Figure 23..1: Exemple JSON à distance

Dans notre exemple, les données JSON sont compilées à la volée lorsque l’utilisateur sollicite un téléchargement. Si l’exemple inclut des données statiques, vous pouvez naturellement créer JSON de manière dynamique à partir d’autres sources de données à l’aide des paramètres indiqués par l’utilisateur sur votre site Web.

Lorsqu’un fichier .ppttc est téléchargé, l’utilisateur peut choisir d’enregistrer le fichier ou de l’ouvrir de manière semblable à tous les autres téléchargements. Lors de l’ouverture du fichier, les données JSON servent à créer une nouvelle présentation, telle que décrit à Création d’une présentation à l’aide des données JSON.

23.4 Accéder au modèle à distance

Les fichiers du modèle comportant les graphiques think-cell peuvent également être fournis par le biais d’un serveur distant. Dans ce cas, la valeur de la clé template est une URL au lieu d’un chemin d’accès local, comme indiqué dans l’exemple JSON distant. L’URL peut spécifier http comme le protocole, https pour une connexion sécurisée ou tout autre protocole valable sur ce système où le fichier .ppttc est ouvert.

Lors du traitement d’un fichier .ppttc qui se rapporte à un modèle distant, PowerPoint récupère le fichier du modèle. Par conséquent, l’utilisateur qui a ouvert le fichier .ppttc a besoin d’un accès approprié au modèle distant.

Lorsque les données JSON sont générées à distance par un service Web et les modèles sont aussi stockées à distance, seule une installation think-cell standard est nécessaire sur la machine de l’utilisateur pour utiliser les présentations PowerPoint générées avec des tableaux think-cell.