SlideShare une entreprise Scribd logo
1  sur  47
Création de visuels personnalisés
avec Power BI Visuals CLI
Denys Chamberland
Analyste-Programmeur Web
@MawashiKid
mawashikid@gmail.com
MSDEVMTL – Data Platform ©2017
Denys Chamberland
• analyste-programmeur Web depuis plus de 20 ans
• importante collaboration dans l’architecture, l’analyse
et la conception de plusieurs projets d’applications Web.
• Microsoft Community Contributor à l'affut des dernières
technologies Microsoft.
• Lauréat d’une seconde position lors du Montreal Devops Hackathon 2016
• Background en multimédia: 10 années d’expérience en production de vidéo
numérique
• En parallèle: expertise en infographie et photographie [hobby] –
conception graphique dont le logo YulDev…
MawashiKid@gmail.com
Agenda
 Introduction
 Custom Visual Gallery – description du format de fichier PBIVIZ
 Rétrospectives des versions Power BI Visuals antécédentes
 Concepts de base
 IVisual LifeCycle : contructor, update, destroy – object enumeration
 Capabilities : DataRoles & DataMapping, DataView, Object Formatting
 Installation chaine d’outils requis
 Node.js + Node Package Manager (npm)
 Visual Studio Code
 Power BI Visuals CLI Tool (pbiviz) - via Node Package Manager (npm)
 Typings (gestion de fichiers) – via Node Package Manager (npm)
 Local Self-Signed Certificate – via pbiviz
 Architecture de projet Power BI Visuals CLI
 Démos
 Session questions
La suite d’outils Power BI permet déjà de transformer et d’analyser des données d’entreprise en riches composants visuels,
tels que des tableaux de bord et rapports interactifs.
Introduction
Introduction – suite…
Power BI Visuals
 Conscient des besoins croissants d’analyse d’intelligence d’affaires et dans une initiative visant à rejoindre un plus grand
gabarit d’utilisateurs, Microsoft a amené un nouvel élément fort important permettant aux développeurs de créer des
composants visuels personnalisées - [parfois même au delà des approches visuelles traditionnelles] - avec l’ajout de l’outil
Power BI Visuals.
 Les stratégies d'exploitation ne sont désormais plus uniquement axées sur des options de base conventionnelles, mais de
plus en plus orientées vers une multitude de possibilités.
 Les 3 éléments clés utilisés lors du dévelopement de visuels personalisés sont:
 TypeScript
 Less
 D3.js
Introduction – suite…
Introduction – élément clé :TypeScript
http://www.typescriptlang.
org/
 Le code des visuels (src/ visual.ts - ainsi que les modules et
interfaces qu’ils implémentent) doit être écrit en TypeScript, qui est un
superset de JavaScript et qui prend en charge des fonctionnalités plus
avancées et un accès précoce aux fonctionnalités ES6 / ES7.
 Tous les fichiers .ts TypeScript doivent être stockés dans le répertoire
src / et ajoutés au tableau des fichiers dans tsconfig.json.
Introduction – élément clé : Less
http://http://lesscss.org/
• Par défaut, les feuilles de style (style/visual.less) sont créées en format .less.
• Less est en quelque sorte un pré-compilateur CSS qui permet de prendre en charge certaines
fonctionnalités avancées telles que les imbrications, les variables, les mixins, les conditions, les
boucles, etc.
• Si vous ne voulez pas utiliser ces fonctions,
vous pouvez simplement écrire vos styles en format CSS.
style/
Introduction – élément clé : D3.js – Data Driven Documents
https://github.com/d3/d3/wiki/Gallery
• Le dernier élément clé (et non le moindre…) est l'utilisation des frameworks open source JavaScript.
• Une bonne majorité des visuels personnalisés disponibles en ligne sur le site Custom Visuals Gallery de la communauté
Power BI ont été construits à partir de modèles de code D3.js. Cette approche est un framework open source de
visualisation de données créée par Mike Bostock - qui a notamment été un des principaux collaborateurs en matière de
visualisation de données pour le New York Time jusqu’en 2015. Une approche entièrement JavaScript principalement
orientée sur la manipulation du DOM ainsi que de vecteurs.
• Il existe un nombre imposant de types de visuels vraiment soignés sur la galerie de D3.js, lesquels peuvent être
facilement réorientées dans un contexte Power BI Visuals et ce, sans avoir constamment à réinventer la roue.
Custom Visuals Gallery
• https://app.powerbi.com/visuals/
• Le site Custom Visuals Gallery héberge une collection
de composants visuels créés par Microsoft ainsi que
des développeurs indépendants membres de la
Communauté Power BI.
• Sandboxing depuis avril 2016: fournit une couche
d'isolation pour chaque visuel personnalisé en
l'hébergeant dans un iFrame dédié.
• Votre code et vos dépendances sont injectés
dynamiquement dans l'iFrame. Il garantit que vous
n'avez pas de conflit avec d'autres visuels / éléments
sur votre page et supprime l'accès aux API que vous ne
devriez pas utiliser dans vos visuels personnalisés.
• N.B: Plusieurs visuels avaient été d’abord créés en
version Power BI Visuals CORE [deprecated]. Certains
ont cependant été migrés vers la nouvelle version
Power BI Visuals CLI.
Custom Visuals Gallery
• https://app.powerbi.com/visuals/
En cliquant sur une des icônes, on peut ensuite voir une fenêtre affichant le nom du visuel, le nom de
l’auteur, une brève description et une image graphique du visuel.
On peut également contacter l’auteur et certains vont même donner un lien de référence du projet sur
Github.
Ces composants visuels sont disponibles en format de package .pbiviz, ainsi qu’en exemple complet
d’application de démonstration .pbix.
Custom Visuals Gallery – importation de package .pbiviz
• 1 Sélectioner l’option menu
File>Import BI Custom Visual
• 2- Un message d’avertissement est alors
affiché par mesure de sécurité Microsoft…
• 3 – Localiser le fichier .pbiviz à importer
• 4 – Un message de confirmation devrait
ensuite indiquer que le visuel a été importé
avec succès
• 5 – Finalement une icône identifiant le
visual importé est alors ajouté au
panneau de visualisation
Power BI Visuals Extensibity Developer Tool- DeprecatedRétrospective
 https://app.powerbi.com/devTools
 Une première version DevTool de développement en ligne [très embryonaire
-style "playground“…] a d’abord été créée comme rampe de lancement lors d’un concours
Microsoft en septembre 2015 invitant les participants à soumettre leurs créations visuelles.
Power BI Visuals Extensibity Developer Tool- DeprecatedRétrospective
 Un cadre d’affichage supérieure gauche pour le code source des visuels en TypeScript
 Un autre cadre d’affichage inférieur gauche pour le contenu de feuille de style CSS
 Un cadre d’affichage de résultat en cliquant Compile & Run.
 Finalement la compilation en format .pbiviz s’effectuait en cliquant sur le bouton Export.

Plusieurs fonctionalités TypeScript comme let et const n’étaient pas supportées et l’interface
n’offrait pas vraiment de possibilités de gestion de librairies clients externes.
Power BI Visuals Extensibity Developer Tool- DeprecatedRétrospective
• Un formulaire de sauvegarde et d’envoi en ligne était jadis disponible avec cette version.
• La soumission de contenu .pbiviz pour mise en ligne sur le site Custom Visual Gallery
s’effectue désormais par courriel.
[voir: https://app.powerbi.com/visuals/info#submit ]
Power BI Visuals CORE- DeprecatedRétrospective
 https://github.com/Microsoft/PowerBI-visuals-core
 Microsoft a ensuite décidé de regrouper une liste imposante de composants visuels dans une application
Web version Visual Studio 2015 avec la version Power BI Visuals CORE. Bien que l’application fournisse une
quantité respectable d’informations, l’architecture était bâtie comme une lourde batterie de cuisisne
nécessitant beaucoup de temps et de patience au niveau de configuration Node.js, Gulp.
 L'application n'offrait pas vraiment d'options de création|exportation de fichier .pbiviz "right out-of-the-
box"...
 L'ajout de nouveaux composants exigeait de "cloner" un répertoire existant, rebâtir le code,
et de rouler un tâche Gulp chaque fois qu’on voulait effectuer une compilation de package.
[voir: http://amolpandey.com/2016/08/02/powerbi-how-to-create-pbiviz-file-custom-visualization/]
Power BI Visuals CORE- DeprecatedRétrospective
Une application client de type "Playground" pouvait être actionnée à partir de
Visual Studio 2015 (Ctrl+F5), permettant de visionner les différents exemples de chartes
incluses dans le projet Power BI Visuals CORE en mode Web View
Power BI Visuals CORE- DeprecatedRétrospective
Ainsi qu’en mode Mobile View. [Désolé pas de bouton Export .pbiviz…]
Power BI Visuals CLI – PBIVIZ ToolRétrospective
• Création de nouveau projet: pbiviz new <NomdeProjet>
• Mise-a-jour de version de projet: pbiviz update
• Compilation de projet - package pbiviz: pbiviz package
• Démarrage serveur local – débugguage en ligne Power BI Online: pbiviz start
 Après avoir écouté activement plusieurs commentaires émis par les dévelopeurs - membres
de la communauté - Power BI, Microsoft a décidé qu'il était temps de modifier son
approche et de repenser à une formule plus compact, plus malléable et homogène,
permettant également une meilleure gestion de librairies client externes.
 Puis en août 2016, Microsoft a officellement annoncé la mise en ligne de la nouvelle
version de dévelopement Power BI Visuals CLI.
 Le nouvel outil de développement est entièrement basé sur la ligne de commande pbiviz
et fonctionne sur toutes les plates-formes avec n'importe quel IDE de votre choix.
 Les principales fonctions de base pbiviz sont:
Power BI Visuals CLI – PBIVIZ ToolRétrospective
Donc une simple commande en ligne pbiviz new <NomdeProjet>
permet maintenant de générer un nouveau modèle Template de projet Power BI
Visuals CLI en quelques secondes. Tadaaaam…
Concepts de base: IVisual en 3 cycles
constructor(options:VisualConstructorOptions): void;
update?(options: VisualUpdateOptions): void;
destroy?(): void;
L'interface IVisual est l’engin principal de Power BI Visuals que toute classe de composant visuels
[visual.ts] doit implémenter. L’interface IVisual est executée en 3 cycles:
La méthode constructor est appelée une seule fois, lorsque le visuel est initialisé pour
la première fois lors du chargement.
La méthode update est appelée chaque fois qu’une mise a jour est effectuée sur le
composant visuel, tel qu’une modification de données ou de changements de paramètres
de propriétés ou lors d’un repositionnement effectués par l’usager...
La méthode destroy est appelée lorsque le visuel est sur le point d'être disposé.
Ici, le visuel devrait être nul, ainsi que toutes les ressources attachées afin d’éviter
les fuites de mémoire.
Concepts de base: capabilities.json
1- Propriétés - dataRoles 2- Propriétés -objects
• L’ajout de fichiers capabilities.json dans l’architecture des nouvelles version Power BI Visuals CLI a permis une
meilleure séparation de contrôle.
• On a vite réalisé qu’à la base, la gestion du formatage d’interface utilisateur Power BI ne relevait pas vraiment de la
logique du code source des visuels [visual.ts].
• En revanche, on a cependant cru préférable de déclarer une liste d'options de formatage objects dans un fichier de
configuration capabilities.json que l‘environnement Power BI pourra prendre en charge au moment du
chargement du visuel.
Concepts de base: capabilities.json – Data Roles & Mapping
Concepts de base: capabilities.json – DataView
Qu'est-ce qu'un DataView?
 DataView est un modèle d'objet JavaScript pour les représentations canoniques des données.
 A la base, il ne s’agit pas vraiment ici d’un modèle de format de fichier format JSON, mais plutôt d’une
forme d’arborescence ou graphe d’objet avec de références croisées supportant des vues multiples,
simples et canoniques des mêmes données, donnant ainsi aux visualisations la liberté de choisir leur
modèle de représentations canoniques préféré.
 Les structures canoniques DataView sont:
 metadata
 categorical
 table
 single
 matrix
 tree
Concepts de base: capabilities.json – DataView
Si vous souhaitez voir ces données ("metadata", "categorical", "matrix", "table" ,
"single" et "tree") lors de tests en ligne sur l'environnement
Power BI Online Developer Visual, vous n'avez qu'a cliquer sur le bouton
d'affichage du DataView en format JSON.
Capabilities – DataView- metadata
metadata:
Les métadonnées contiennent des informations sur les différentes colonnes, telles
que leur type (catégorique ou scalaire), le type de chaînes de caractères qui
s'appliquent à ses valeurs, ainsi que les options de formatage statique telles que la
couleur d'arrière-plan, la position des légendes, etc.
Capabilities – DataView- categorical
Capabilities – DataView- table
Capabilities – DataView- single
Capabilities – DataView- matrix
 Installation Node.JS (gratuit…)
 Version 5.0 recommendée - 4.0+ minimum
 Installation Node Package Manage (npm)
 Installation Visual Studio Code (gratuit…)
 Outil compact et performant de développement Node.js, TypeScript…
 Installation Typings (gratuit…)
 Recommendé pour la gestion de librairies via TypeScript (typings.json)
 Installation Power BI Visuals CLI tool (pbiviz) (gratuit…)
 Installation via Node Package Manager (npm)
npm install –g powerbi-visuals-tools
Installation Local self-signed certificate (gratuit…)
 pbiviz -–install-cert
Installation Power BI Visuals CLI - ToolChain
• https://nodejs.org/en/download/
Installation Node.js
• http://code.visualstudio.com/
Installation Visual Studio Code
Installation Typings - npm
• https://www.npmjs.com/package/typings
# Install Typings CLI utility.
npm install typings --global
# Search for definitions.
typings search tape
# Find a definition by name.
typings search --name react
# If you use the package as a module:
# Install non-global typings (defaults to "npm" source, configurable through `defaultSource` in `.typingsrc`).
typings install debug --save
# If you use the package through `<script>`, it is part of the environment, or
# the module typings are not yet available, try searching and installing with `--global`:
typings install dt~mocha --global --save
# If you need a specific commit from github.
typings install d3=github:DefinitelyTyped/DefinitelyTyped/d3/d3.d.ts#1c05872e7811235f43780b8b596bfd26fe8e7760 --global --save
# Search and install by version.
typings info env~node --versions
typings install env~node@0.10 --global --save
# Install typings from a particular source (use `<source>~<name>` or `--source <source>`).
typings install env~atom --global --save
typings install bluebird --source npm --save
#Use `typings/index.d.ts` (in `tsconfig.json` or as a `///` reference).
cat typings/index.d.ts
Typings est le moyen simple de gérer et d'installer les définitions de TypeScript.
Il utilise typings.json, qui peut résoudre le registre Typings, GitHub, NPM,
Bower, HTTP et les fichiers locaux.
Les packages peuvent utiliser des définitions de types de différentes sources et de
différentes versions, sachant qu'elles ne seront jamais en conflit pour les utilisateurs.
Installation Power BI Visuals CLI Tool (PBIVIZ)
npm install –g powerbi-visuals-tools
pbiviz
Pour installer l’outil de commande Power BI Visuals CLI Tool (PBIVIZ), on doit simplement exécuter la commande npm
suivante à partir d’une console command prompt avec droit d’administrateur:
Une fois le processus d’installation complété, on peut ensuite confirmer que les opérations ont bien été effectuées avec succès en
exécutant la commande pbiviz suivante - sans paramètre:
Installation Power BI Visuals CLI Tool (PBIVIZ)
Une fenêtre affichant une description des différentes options de paramètres de commande pbiviz disponibles apparaitra
ensuite a l’ écran:
Installation - Local self-signed certificate
 ll est possible d'effectuer des tests de visionnement de composant visuels
en ligne sur le site Power BI Online.: https://app.powerbi.com
 On doit d’abord selectionner l’option de menu Settings.
Installation - Local self-signed certificate
 Puis sous l’onglet General>Developer, simplement s’assurer
de cocher l’option “Enable Developer visual for testing”
 On doit ensuite s’assurer que le serveur local est démarré en
exécutant la commande suivante à partir du répertoire root
du projet. [Ex: C:PBIVisualsbarChart]
pbiviz start
Installation - Local self-signed certificate
 Ceci indique que le portail Power BI Online n'est pas en mesure de
détecter un serveur https sécurisé sur votre poste.
 Pour remédier au problème, on doit d'abord installer un certificat SSL
à partir de la commande pbiviz suivante.

 Une fois le certificat SSL installé, ceci permettra à nos
composants visuels d'être chargés dans notre navigateur local.
pbiviz -–install-cert
Ouch!!!...
“Can’t contact visual server.
Please make sure the visual server is running
and configured correctly”
Installation - Local self-signed certificate
pbiviz -–install-cert
Ouch!!!...
“Can’t contact visual server.
Please make sure the visual server is running
and configured correctly”
 Ceci indique que le portail Power BI Online n'est pas en mesure de
détecter un serveur https sécurisé sur votre poste.
 Pour remédier au problème, on doit d'abord installer un certificat SSL
à partir de la commande pbiviz suivante.
 Une fois le certificat SSL installé, ceci permettra à nos
composants visuels d'être chargés dans notre navigateur local.
Visual Studio Code – architecture de projet PBIVIZ CLI
api/ Ce répertoire contient des informations relatives a la version
assets/ Ce répertoire est utilisé pour stocker des éléments graphiques tels que des
Icônes, images screenshots, etc.
dist/ Lorsque l’on exécute la commande pbiviz package, un fichier pbiviz est
automatiquement généré sous le repertoire dist/.
src/ Ce répertoire est utilisé pour stocker tout code source format TypeScript et JavaScript
style/ Ce repertoire contient le principal fichier de style Less de votre composant visuel
Importation de fichiers style externes: @import (less) "style/external.css";
.gitignore Manifeste Indiquant a git les fichiers a ignorer et ne pas prendre en charge..
capabilities.json Fichier de configuration utilisé pour définir les capacités
[dataRole, dataViewMappings, object] relatifs à votre visuel
package.json Fichier permettant d’effectuer la gestion de modules [node_modules] à partir de
commandes npm.
pbiviz.json Principal fichier de configuration du projet.
tsconfig.json Paramètres de compilateur de fichiers Typescript.
typings.json Ce fichier est optionne,l mais suggeré pour la gestion de définitions de types Typescript
Démos…
Démo – Ferrari + code svg
Démo – Slicer – thermometer -revisited
Démo – d3.js circlepacking version - revisited
Questions?
Power BI Visuals
 Build Your Custom Visuals in Power BI (Step-by-Step) -Tsuyoshi Matsuzaki:
https://blogs.msdn.microsoft.com/tsmatsuz/2016/09/27/power-bi-custom-visuals-programming/
 Create a custom visual with the custom visual developer tools
https://powerbi.microsoft.com/en-us/documentation/powerbi-desktop-tips-and-tricks-for-creating-reports/
 How to Create a Power BI Custom Visual Based on an Existing d3 Visual – Jon Gallant
https://powerbi.microsoft.com/en-us/documentation/powerbi-desktop-tips-and-tricks-for-creating-reports/
Forums Community Power BI– (section Developer)
https://community.powerbi.com/t5/Developer/bd-p/Developer
TypeScript:
 TypeScript Samples:
https://www.typescriptlang.org/samples/
 TypeScript Deep Dive:
https://github.com/basarat/typescript-book
D3.js:
 D3.js Gallery – Mike Bostock:
https://github.com/d3/d3/wiki/Gallery
 Collection D3.js Gallery (2490 examples!) – Christophe Viau :
http://christopheviau.com/d3list/
 D3 Tips and Tricks v3.x – Malcolm Maclean:
https://leanpub.com/D3-Tips-and-Tricks
Liens utiles… [Merci de votre participation ;]

Contenu connexe

Tendances

What's So Special about the Oracle Database Appliance?
What's So Special about the Oracle Database Appliance?What's So Special about the Oracle Database Appliance?
What's So Special about the Oracle Database Appliance?O-box
 
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and AdministerAndrejs Karpovs
 
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Leinylson Fontinele
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDBCésar Trigo
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dadosmgoberto
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados ConceitosCleber Ramos
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBNodeXperts
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRSLilia Sfaxi
 
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...Leinylson Fontinele
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6Amal Abid
 
Laravel 9 comprendre les fondamentaux.
Laravel 9 comprendre les fondamentaux.Laravel 9 comprendre les fondamentaux.
Laravel 9 comprendre les fondamentaux.Valdy Ngouabira
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOATugdual Grall
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDBMongoDB
 
Power BI Desktop | Power BI Tutorial | Power BI Training | Edureka
Power BI Desktop | Power BI Tutorial | Power BI Training | EdurekaPower BI Desktop | Power BI Tutorial | Power BI Training | Edureka
Power BI Desktop | Power BI Tutorial | Power BI Training | EdurekaEdureka!
 
Oracle Database Security
Oracle Database SecurityOracle Database Security
Oracle Database SecurityTroy Kitch
 

Tendances (20)

What's So Special about the Oracle Database Appliance?
What's So Special about the Oracle Database Appliance?What's So Special about the Oracle Database Appliance?
What's So Special about the Oracle Database Appliance?
 
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and AdministerOracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
 
Mongo DB
Mongo DBMongo DB
Mongo DB
 
1_PB_Semana_1.pdf
1_PB_Semana_1.pdf1_PB_Semana_1.pdf
1_PB_Semana_1.pdf
 
steeleye Replication
steeleye Replication steeleye Replication
steeleye Replication
 
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
 
Cics tutorial
Cics tutorialCics tutorial
Cics tutorial
 
An introduction to MongoDB
An introduction to MongoDBAn introduction to MongoDB
An introduction to MongoDB
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dados
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
 
Active directory backup
Active directory backupActive directory backup
Active directory backup
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Tp2 - WS avec JAXRS
Tp2 - WS avec JAXRSTp2 - WS avec JAXRS
Tp2 - WS avec JAXRS
 
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
Banco de Dados II Aula 12 - Gerenciamento de transação (controle de concorrên...
 
Cours Big Data Chap6
Cours Big Data Chap6Cours Big Data Chap6
Cours Big Data Chap6
 
Laravel 9 comprendre les fondamentaux.
Laravel 9 comprendre les fondamentaux.Laravel 9 comprendre les fondamentaux.
Laravel 9 comprendre les fondamentaux.
 
Introduction a la SOA
Introduction a la SOAIntroduction a la SOA
Introduction a la SOA
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Power BI Desktop | Power BI Tutorial | Power BI Training | Edureka
Power BI Desktop | Power BI Tutorial | Power BI Training | EdurekaPower BI Desktop | Power BI Tutorial | Power BI Training | Edureka
Power BI Desktop | Power BI Tutorial | Power BI Training | Edureka
 
Oracle Database Security
Oracle Database SecurityOracle Database Security
Oracle Database Security
 

En vedette

Création de visuels personnalisés avec Power BI Visuals CLI
Création de visuels personnalisésavec Power BI Visuals CLICréation de visuels personnalisésavec Power BI Visuals CLI
Création de visuels personnalisés avec Power BI Visuals CLIDenys Chamberland
 
Creating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLICreating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLIDenys Chamberland
 
Partager et collaborer avec Power BI - SQL Saturday Montreal 2017
Partager et collaborer avec Power BI - SQL Saturday Montreal 2017Partager et collaborer avec Power BI - SQL Saturday Montreal 2017
Partager et collaborer avec Power BI - SQL Saturday Montreal 2017Jean-Pierre Riehl
 
Partage et Collaboration avec Power BI
Partage et Collaboration avec Power BIPartage et Collaboration avec Power BI
Partage et Collaboration avec Power BIJean-Pierre Riehl
 
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...Patrick Guimonet
 
Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...
Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...
Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...Microsoft
 
DAX for dummies / DAX pour les NULS !
DAX for dummies / DAX pour les NULS !DAX for dummies / DAX pour les NULS !
DAX for dummies / DAX pour les NULS !Microsoft
 
2008-09-30 Présentation Générale SQL Server 2008
2008-09-30 Présentation Générale SQL Server 20082008-09-30 Présentation Générale SQL Server 2008
2008-09-30 Présentation Générale SQL Server 2008Patrick Guimonet
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...Patrick Guimonet
 
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BI
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BIRetour d’expérience de Sarenza sur la façon de piloter un projet Power BI
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BIMicrosoft Technet France
 
2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédiblePatrick Guimonet
 
Groupe Montreal Modern Excel and Power BI 2016 2017
Groupe Montreal Modern Excel and Power BI 2016 2017Groupe Montreal Modern Excel and Power BI 2016 2017
Groupe Montreal Modern Excel and Power BI 2016 2017MSDEVMTL
 
La BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devicesLa BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devicesMicrosoft Décideurs IT
 
Automatiser les tests des développements BI grâce à NBi
Automatiser les tests des développements BI grâce à NBiAutomatiser les tests des développements BI grâce à NBi
Automatiser les tests des développements BI grâce à NBiCédric Charlier
 
alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)Alphorm
 
Afterworks présentation de la stack bi de microsoft
Afterworks présentation de la stack bi de microsoftAfterworks présentation de la stack bi de microsoft
Afterworks présentation de la stack bi de microsoftPhilippe Geiger
 

En vedette (20)

Création de visuels personnalisés avec Power BI Visuals CLI
Création de visuels personnalisésavec Power BI Visuals CLICréation de visuels personnalisésavec Power BI Visuals CLI
Création de visuels personnalisés avec Power BI Visuals CLI
 
Creating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLICreating custom visuals with Power BI Visuals CLI
Creating custom visuals with Power BI Visuals CLI
 
Partager et collaborer avec Power BI - SQL Saturday Montreal 2017
Partager et collaborer avec Power BI - SQL Saturday Montreal 2017Partager et collaborer avec Power BI - SQL Saturday Montreal 2017
Partager et collaborer avec Power BI - SQL Saturday Montreal 2017
 
Partage et Collaboration avec Power BI
Partage et Collaboration avec Power BIPartage et Collaboration avec Power BI
Partage et Collaboration avec Power BI
 
Ferrari f1 svg
Ferrari f1 svgFerrari f1 svg
Ferrari f1 svg
 
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...
2014-06-27 Cumulos - Groupe Utilisateurs Office 365 - SharePoint, Yammer, Off...
 
Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...
Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...
Obtenez votre brevet de pilotage de l’efficacité énergétique avec la BI Micro...
 
DAX for dummies / DAX pour les NULS !
DAX for dummies / DAX pour les NULS !DAX for dummies / DAX pour les NULS !
DAX for dummies / DAX pour les NULS !
 
2008-09-30 Présentation Générale SQL Server 2008
2008-09-30 Présentation Générale SQL Server 20082008-09-30 Présentation Générale SQL Server 2008
2008-09-30 Présentation Générale SQL Server 2008
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
 
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BI
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BIRetour d’expérience de Sarenza sur la façon de piloter un projet Power BI
Retour d’expérience de Sarenza sur la façon de piloter un projet Power BI
 
2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible
 
Groupe Montreal Modern Excel and Power BI 2016 2017
Groupe Montreal Modern Excel and Power BI 2016 2017Groupe Montreal Modern Excel and Power BI 2016 2017
Groupe Montreal Modern Excel and Power BI 2016 2017
 
La BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devicesLa BI Microsoft en mobilité sur tous les devices
La BI Microsoft en mobilité sur tous les devices
 
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
Database Schema Management & Deployment using SQL Server Data Tools (SSDT)
 
Automatiser les tests des développements BI grâce à NBi
Automatiser les tests des développements BI grâce à NBiAutomatiser les tests des développements BI grâce à NBi
Automatiser les tests des développements BI grâce à NBi
 
alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)
 
Afterworks présentation de la stack bi de microsoft
Afterworks présentation de la stack bi de microsoftAfterworks présentation de la stack bi de microsoft
Afterworks présentation de la stack bi de microsoft
 
Le CFO masqué
Le CFO masquéLe CFO masqué
Le CFO masqué
 
Pourquoi les CFO devraient s'intéresser à Power BI
Pourquoi les CFO devraient s'intéresser à Power BIPourquoi les CFO devraient s'intéresser à Power BI
Pourquoi les CFO devraient s'intéresser à Power BI
 

Similaire à Création de visuels personnalisés avec Power BI Visuals CLI

Formation sharepoint 2013 développement sharepoint 2013
Formation sharepoint 2013   développement sharepoint 2013Formation sharepoint 2013   développement sharepoint 2013
Formation sharepoint 2013 développement sharepoint 2013EGILIA Learning
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement bruteYounesOuladSayad1
 
Mobyview : Drupal Meetup, Paris, 17 Sep 2015
Mobyview : Drupal Meetup, Paris, 17 Sep 2015Mobyview : Drupal Meetup, Paris, 17 Sep 2015
Mobyview : Drupal Meetup, Paris, 17 Sep 2015Alex Leroy Deval
 
Solutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPressSolutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPressStéphane Plante
 
Introduction à TeamCity
Introduction à TeamCityIntroduction à TeamCity
Introduction à TeamCityUlrich VACHON
 
Nouveautés Revit Architecture 2012 PROCAD
Nouveautés Revit Architecture 2012 PROCADNouveautés Revit Architecture 2012 PROCAD
Nouveautés Revit Architecture 2012 PROCADprocadconsultants
 
Microsoft Power Platform en Action
Microsoft Power Platform en Action Microsoft Power Platform en Action
Microsoft Power Platform en Action Denys Chamberland
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005Gregory Renard
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamiqueYounesOuladSayad1
 
Dev ops - Contiuous delivery
Dev ops - Contiuous deliveryDev ops - Contiuous delivery
Dev ops - Contiuous deliveryPatrice Ferlet
 
201502_SOGETI_Support_Digital_2.0_V1.1
201502_SOGETI_Support_Digital_2.0_V1.1201502_SOGETI_Support_Digital_2.0_V1.1
201502_SOGETI_Support_Digital_2.0_V1.1Xavier Mouly
 
SharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationSharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationMicrosoft Technet France
 
8 Rex : Mise en place de DevOps sur Azure
8   Rex : Mise en place de DevOps sur Azure8   Rex : Mise en place de DevOps sur Azure
8 Rex : Mise en place de DevOps sur AzureaOS Community
 
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenance
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenanceSPINALBIM Suite: transformation digitale de l'exploitation et la maintenance
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenanceSebastien Coulon
 
Formation devops par la pratique
Formation devops par la pratiqueFormation devops par la pratique
Formation devops par la pratiqueKhaled Ben Driss
 
PRESENTATION_webclient.pptx
PRESENTATION_webclient.pptxPRESENTATION_webclient.pptx
PRESENTATION_webclient.pptxAleskaVargas2
 
S18 db2 web query comment partir de zero
S18   db2 web query comment partir de zeroS18   db2 web query comment partir de zero
S18 db2 web query comment partir de zeroGautier DUMAS
 

Similaire à Création de visuels personnalisés avec Power BI Visuals CLI (20)

Presentation platform flash
Presentation platform flashPresentation platform flash
Presentation platform flash
 
Formation sharepoint 2013 développement sharepoint 2013
Formation sharepoint 2013   développement sharepoint 2013Formation sharepoint 2013   développement sharepoint 2013
Formation sharepoint 2013 développement sharepoint 2013
 
developpement web framework cms developpement brute
developpement web framework cms developpement brutedeveloppement web framework cms developpement brute
developpement web framework cms developpement brute
 
Mobyview : Drupal Meetup, Paris, 17 Sep 2015
Mobyview : Drupal Meetup, Paris, 17 Sep 2015Mobyview : Drupal Meetup, Paris, 17 Sep 2015
Mobyview : Drupal Meetup, Paris, 17 Sep 2015
 
Solutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPressSolutions Web « prêtes à porter » avec WordPress
Solutions Web « prêtes à porter » avec WordPress
 
Introduction à TeamCity
Introduction à TeamCityIntroduction à TeamCity
Introduction à TeamCity
 
Nouveautés Revit Architecture 2012 PROCAD
Nouveautés Revit Architecture 2012 PROCADNouveautés Revit Architecture 2012 PROCAD
Nouveautés Revit Architecture 2012 PROCAD
 
Microsoft Power Platform en Action
Microsoft Power Platform en Action Microsoft Power Platform en Action
Microsoft Power Platform en Action
 
Le Developpement Web Aspnet2 Vb2005
Le Developpement Web Aspnet2   Vb2005Le Developpement Web Aspnet2   Vb2005
Le Developpement Web Aspnet2 Vb2005
 
Programmation Web developpement dynamique
Programmation Web developpement dynamiqueProgrammation Web developpement dynamique
Programmation Web developpement dynamique
 
Dev ops - Contiuous delivery
Dev ops - Contiuous deliveryDev ops - Contiuous delivery
Dev ops - Contiuous delivery
 
Prismic
PrismicPrismic
Prismic
 
201502_SOGETI_Support_Digital_2.0_V1.1
201502_SOGETI_Support_Digital_2.0_V1.1201502_SOGETI_Support_Digital_2.0_V1.1
201502_SOGETI_Support_Digital_2.0_V1.1
 
SharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle générationSharePoint Framework : le développement SharePoint nouvelle génération
SharePoint Framework : le développement SharePoint nouvelle génération
 
8 Rex : Mise en place de DevOps sur Azure
8   Rex : Mise en place de DevOps sur Azure8   Rex : Mise en place de DevOps sur Azure
8 Rex : Mise en place de DevOps sur Azure
 
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenance
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenanceSPINALBIM Suite: transformation digitale de l'exploitation et la maintenance
SPINALBIM Suite: transformation digitale de l'exploitation et la maintenance
 
Visio services 2013 share point saturday mtl
Visio services 2013   share point saturday mtlVisio services 2013   share point saturday mtl
Visio services 2013 share point saturday mtl
 
Formation devops par la pratique
Formation devops par la pratiqueFormation devops par la pratique
Formation devops par la pratique
 
PRESENTATION_webclient.pptx
PRESENTATION_webclient.pptxPRESENTATION_webclient.pptx
PRESENTATION_webclient.pptx
 
S18 db2 web query comment partir de zero
S18   db2 web query comment partir de zeroS18   db2 web query comment partir de zero
S18 db2 web query comment partir de zero
 

Création de visuels personnalisés avec Power BI Visuals CLI

  • 1. Création de visuels personnalisés avec Power BI Visuals CLI Denys Chamberland Analyste-Programmeur Web @MawashiKid mawashikid@gmail.com MSDEVMTL – Data Platform ©2017
  • 2. Denys Chamberland • analyste-programmeur Web depuis plus de 20 ans • importante collaboration dans l’architecture, l’analyse et la conception de plusieurs projets d’applications Web. • Microsoft Community Contributor à l'affut des dernières technologies Microsoft. • Lauréat d’une seconde position lors du Montreal Devops Hackathon 2016 • Background en multimédia: 10 années d’expérience en production de vidéo numérique • En parallèle: expertise en infographie et photographie [hobby] – conception graphique dont le logo YulDev… MawashiKid@gmail.com
  • 3. Agenda  Introduction  Custom Visual Gallery – description du format de fichier PBIVIZ  Rétrospectives des versions Power BI Visuals antécédentes  Concepts de base  IVisual LifeCycle : contructor, update, destroy – object enumeration  Capabilities : DataRoles & DataMapping, DataView, Object Formatting  Installation chaine d’outils requis  Node.js + Node Package Manager (npm)  Visual Studio Code  Power BI Visuals CLI Tool (pbiviz) - via Node Package Manager (npm)  Typings (gestion de fichiers) – via Node Package Manager (npm)  Local Self-Signed Certificate – via pbiviz  Architecture de projet Power BI Visuals CLI  Démos  Session questions
  • 4. La suite d’outils Power BI permet déjà de transformer et d’analyser des données d’entreprise en riches composants visuels, tels que des tableaux de bord et rapports interactifs. Introduction
  • 5. Introduction – suite… Power BI Visuals  Conscient des besoins croissants d’analyse d’intelligence d’affaires et dans une initiative visant à rejoindre un plus grand gabarit d’utilisateurs, Microsoft a amené un nouvel élément fort important permettant aux développeurs de créer des composants visuels personnalisées - [parfois même au delà des approches visuelles traditionnelles] - avec l’ajout de l’outil Power BI Visuals.  Les stratégies d'exploitation ne sont désormais plus uniquement axées sur des options de base conventionnelles, mais de plus en plus orientées vers une multitude de possibilités.
  • 6.  Les 3 éléments clés utilisés lors du dévelopement de visuels personalisés sont:  TypeScript  Less  D3.js Introduction – suite…
  • 7. Introduction – élément clé :TypeScript http://www.typescriptlang. org/  Le code des visuels (src/ visual.ts - ainsi que les modules et interfaces qu’ils implémentent) doit être écrit en TypeScript, qui est un superset de JavaScript et qui prend en charge des fonctionnalités plus avancées et un accès précoce aux fonctionnalités ES6 / ES7.  Tous les fichiers .ts TypeScript doivent être stockés dans le répertoire src / et ajoutés au tableau des fichiers dans tsconfig.json.
  • 8. Introduction – élément clé : Less http://http://lesscss.org/ • Par défaut, les feuilles de style (style/visual.less) sont créées en format .less. • Less est en quelque sorte un pré-compilateur CSS qui permet de prendre en charge certaines fonctionnalités avancées telles que les imbrications, les variables, les mixins, les conditions, les boucles, etc. • Si vous ne voulez pas utiliser ces fonctions, vous pouvez simplement écrire vos styles en format CSS. style/
  • 9. Introduction – élément clé : D3.js – Data Driven Documents https://github.com/d3/d3/wiki/Gallery • Le dernier élément clé (et non le moindre…) est l'utilisation des frameworks open source JavaScript. • Une bonne majorité des visuels personnalisés disponibles en ligne sur le site Custom Visuals Gallery de la communauté Power BI ont été construits à partir de modèles de code D3.js. Cette approche est un framework open source de visualisation de données créée par Mike Bostock - qui a notamment été un des principaux collaborateurs en matière de visualisation de données pour le New York Time jusqu’en 2015. Une approche entièrement JavaScript principalement orientée sur la manipulation du DOM ainsi que de vecteurs. • Il existe un nombre imposant de types de visuels vraiment soignés sur la galerie de D3.js, lesquels peuvent être facilement réorientées dans un contexte Power BI Visuals et ce, sans avoir constamment à réinventer la roue.
  • 10. Custom Visuals Gallery • https://app.powerbi.com/visuals/ • Le site Custom Visuals Gallery héberge une collection de composants visuels créés par Microsoft ainsi que des développeurs indépendants membres de la Communauté Power BI. • Sandboxing depuis avril 2016: fournit une couche d'isolation pour chaque visuel personnalisé en l'hébergeant dans un iFrame dédié. • Votre code et vos dépendances sont injectés dynamiquement dans l'iFrame. Il garantit que vous n'avez pas de conflit avec d'autres visuels / éléments sur votre page et supprime l'accès aux API que vous ne devriez pas utiliser dans vos visuels personnalisés. • N.B: Plusieurs visuels avaient été d’abord créés en version Power BI Visuals CORE [deprecated]. Certains ont cependant été migrés vers la nouvelle version Power BI Visuals CLI.
  • 11. Custom Visuals Gallery • https://app.powerbi.com/visuals/ En cliquant sur une des icônes, on peut ensuite voir une fenêtre affichant le nom du visuel, le nom de l’auteur, une brève description et une image graphique du visuel. On peut également contacter l’auteur et certains vont même donner un lien de référence du projet sur Github. Ces composants visuels sont disponibles en format de package .pbiviz, ainsi qu’en exemple complet d’application de démonstration .pbix.
  • 12. Custom Visuals Gallery – importation de package .pbiviz • 1 Sélectioner l’option menu File>Import BI Custom Visual • 2- Un message d’avertissement est alors affiché par mesure de sécurité Microsoft… • 3 – Localiser le fichier .pbiviz à importer • 4 – Un message de confirmation devrait ensuite indiquer que le visuel a été importé avec succès • 5 – Finalement une icône identifiant le visual importé est alors ajouté au panneau de visualisation
  • 13. Power BI Visuals Extensibity Developer Tool- DeprecatedRétrospective  https://app.powerbi.com/devTools  Une première version DevTool de développement en ligne [très embryonaire -style "playground“…] a d’abord été créée comme rampe de lancement lors d’un concours Microsoft en septembre 2015 invitant les participants à soumettre leurs créations visuelles.
  • 14. Power BI Visuals Extensibity Developer Tool- DeprecatedRétrospective  Un cadre d’affichage supérieure gauche pour le code source des visuels en TypeScript  Un autre cadre d’affichage inférieur gauche pour le contenu de feuille de style CSS  Un cadre d’affichage de résultat en cliquant Compile & Run.  Finalement la compilation en format .pbiviz s’effectuait en cliquant sur le bouton Export.  Plusieurs fonctionalités TypeScript comme let et const n’étaient pas supportées et l’interface n’offrait pas vraiment de possibilités de gestion de librairies clients externes.
  • 15. Power BI Visuals Extensibity Developer Tool- DeprecatedRétrospective • Un formulaire de sauvegarde et d’envoi en ligne était jadis disponible avec cette version. • La soumission de contenu .pbiviz pour mise en ligne sur le site Custom Visual Gallery s’effectue désormais par courriel. [voir: https://app.powerbi.com/visuals/info#submit ]
  • 16. Power BI Visuals CORE- DeprecatedRétrospective  https://github.com/Microsoft/PowerBI-visuals-core  Microsoft a ensuite décidé de regrouper une liste imposante de composants visuels dans une application Web version Visual Studio 2015 avec la version Power BI Visuals CORE. Bien que l’application fournisse une quantité respectable d’informations, l’architecture était bâtie comme une lourde batterie de cuisisne nécessitant beaucoup de temps et de patience au niveau de configuration Node.js, Gulp.  L'application n'offrait pas vraiment d'options de création|exportation de fichier .pbiviz "right out-of-the- box"...  L'ajout de nouveaux composants exigeait de "cloner" un répertoire existant, rebâtir le code, et de rouler un tâche Gulp chaque fois qu’on voulait effectuer une compilation de package. [voir: http://amolpandey.com/2016/08/02/powerbi-how-to-create-pbiviz-file-custom-visualization/]
  • 17. Power BI Visuals CORE- DeprecatedRétrospective Une application client de type "Playground" pouvait être actionnée à partir de Visual Studio 2015 (Ctrl+F5), permettant de visionner les différents exemples de chartes incluses dans le projet Power BI Visuals CORE en mode Web View
  • 18. Power BI Visuals CORE- DeprecatedRétrospective Ainsi qu’en mode Mobile View. [Désolé pas de bouton Export .pbiviz…]
  • 19. Power BI Visuals CLI – PBIVIZ ToolRétrospective • Création de nouveau projet: pbiviz new <NomdeProjet> • Mise-a-jour de version de projet: pbiviz update • Compilation de projet - package pbiviz: pbiviz package • Démarrage serveur local – débugguage en ligne Power BI Online: pbiviz start  Après avoir écouté activement plusieurs commentaires émis par les dévelopeurs - membres de la communauté - Power BI, Microsoft a décidé qu'il était temps de modifier son approche et de repenser à une formule plus compact, plus malléable et homogène, permettant également une meilleure gestion de librairies client externes.  Puis en août 2016, Microsoft a officellement annoncé la mise en ligne de la nouvelle version de dévelopement Power BI Visuals CLI.  Le nouvel outil de développement est entièrement basé sur la ligne de commande pbiviz et fonctionne sur toutes les plates-formes avec n'importe quel IDE de votre choix.  Les principales fonctions de base pbiviz sont:
  • 20. Power BI Visuals CLI – PBIVIZ ToolRétrospective Donc une simple commande en ligne pbiviz new <NomdeProjet> permet maintenant de générer un nouveau modèle Template de projet Power BI Visuals CLI en quelques secondes. Tadaaaam…
  • 21. Concepts de base: IVisual en 3 cycles constructor(options:VisualConstructorOptions): void; update?(options: VisualUpdateOptions): void; destroy?(): void; L'interface IVisual est l’engin principal de Power BI Visuals que toute classe de composant visuels [visual.ts] doit implémenter. L’interface IVisual est executée en 3 cycles: La méthode constructor est appelée une seule fois, lorsque le visuel est initialisé pour la première fois lors du chargement. La méthode update est appelée chaque fois qu’une mise a jour est effectuée sur le composant visuel, tel qu’une modification de données ou de changements de paramètres de propriétés ou lors d’un repositionnement effectués par l’usager... La méthode destroy est appelée lorsque le visuel est sur le point d'être disposé. Ici, le visuel devrait être nul, ainsi que toutes les ressources attachées afin d’éviter les fuites de mémoire.
  • 22. Concepts de base: capabilities.json 1- Propriétés - dataRoles 2- Propriétés -objects • L’ajout de fichiers capabilities.json dans l’architecture des nouvelles version Power BI Visuals CLI a permis une meilleure séparation de contrôle. • On a vite réalisé qu’à la base, la gestion du formatage d’interface utilisateur Power BI ne relevait pas vraiment de la logique du code source des visuels [visual.ts]. • En revanche, on a cependant cru préférable de déclarer une liste d'options de formatage objects dans un fichier de configuration capabilities.json que l‘environnement Power BI pourra prendre en charge au moment du chargement du visuel.
  • 23. Concepts de base: capabilities.json – Data Roles & Mapping
  • 24. Concepts de base: capabilities.json – DataView Qu'est-ce qu'un DataView?  DataView est un modèle d'objet JavaScript pour les représentations canoniques des données.  A la base, il ne s’agit pas vraiment ici d’un modèle de format de fichier format JSON, mais plutôt d’une forme d’arborescence ou graphe d’objet avec de références croisées supportant des vues multiples, simples et canoniques des mêmes données, donnant ainsi aux visualisations la liberté de choisir leur modèle de représentations canoniques préféré.  Les structures canoniques DataView sont:  metadata  categorical  table  single  matrix  tree
  • 25. Concepts de base: capabilities.json – DataView Si vous souhaitez voir ces données ("metadata", "categorical", "matrix", "table" , "single" et "tree") lors de tests en ligne sur l'environnement Power BI Online Developer Visual, vous n'avez qu'a cliquer sur le bouton d'affichage du DataView en format JSON.
  • 26. Capabilities – DataView- metadata metadata: Les métadonnées contiennent des informations sur les différentes colonnes, telles que leur type (catégorique ou scalaire), le type de chaînes de caractères qui s'appliquent à ses valeurs, ainsi que les options de formatage statique telles que la couleur d'arrière-plan, la position des légendes, etc.
  • 31.  Installation Node.JS (gratuit…)  Version 5.0 recommendée - 4.0+ minimum  Installation Node Package Manage (npm)  Installation Visual Studio Code (gratuit…)  Outil compact et performant de développement Node.js, TypeScript…  Installation Typings (gratuit…)  Recommendé pour la gestion de librairies via TypeScript (typings.json)  Installation Power BI Visuals CLI tool (pbiviz) (gratuit…)  Installation via Node Package Manager (npm) npm install –g powerbi-visuals-tools Installation Local self-signed certificate (gratuit…)  pbiviz -–install-cert Installation Power BI Visuals CLI - ToolChain
  • 34. Installation Typings - npm • https://www.npmjs.com/package/typings # Install Typings CLI utility. npm install typings --global # Search for definitions. typings search tape # Find a definition by name. typings search --name react # If you use the package as a module: # Install non-global typings (defaults to "npm" source, configurable through `defaultSource` in `.typingsrc`). typings install debug --save # If you use the package through `<script>`, it is part of the environment, or # the module typings are not yet available, try searching and installing with `--global`: typings install dt~mocha --global --save # If you need a specific commit from github. typings install d3=github:DefinitelyTyped/DefinitelyTyped/d3/d3.d.ts#1c05872e7811235f43780b8b596bfd26fe8e7760 --global --save # Search and install by version. typings info env~node --versions typings install env~node@0.10 --global --save # Install typings from a particular source (use `<source>~<name>` or `--source <source>`). typings install env~atom --global --save typings install bluebird --source npm --save #Use `typings/index.d.ts` (in `tsconfig.json` or as a `///` reference). cat typings/index.d.ts Typings est le moyen simple de gérer et d'installer les définitions de TypeScript. Il utilise typings.json, qui peut résoudre le registre Typings, GitHub, NPM, Bower, HTTP et les fichiers locaux. Les packages peuvent utiliser des définitions de types de différentes sources et de différentes versions, sachant qu'elles ne seront jamais en conflit pour les utilisateurs.
  • 35. Installation Power BI Visuals CLI Tool (PBIVIZ) npm install –g powerbi-visuals-tools pbiviz Pour installer l’outil de commande Power BI Visuals CLI Tool (PBIVIZ), on doit simplement exécuter la commande npm suivante à partir d’une console command prompt avec droit d’administrateur: Une fois le processus d’installation complété, on peut ensuite confirmer que les opérations ont bien été effectuées avec succès en exécutant la commande pbiviz suivante - sans paramètre:
  • 36. Installation Power BI Visuals CLI Tool (PBIVIZ) Une fenêtre affichant une description des différentes options de paramètres de commande pbiviz disponibles apparaitra ensuite a l’ écran:
  • 37. Installation - Local self-signed certificate  ll est possible d'effectuer des tests de visionnement de composant visuels en ligne sur le site Power BI Online.: https://app.powerbi.com  On doit d’abord selectionner l’option de menu Settings.
  • 38. Installation - Local self-signed certificate  Puis sous l’onglet General>Developer, simplement s’assurer de cocher l’option “Enable Developer visual for testing”  On doit ensuite s’assurer que le serveur local est démarré en exécutant la commande suivante à partir du répertoire root du projet. [Ex: C:PBIVisualsbarChart] pbiviz start
  • 39. Installation - Local self-signed certificate  Ceci indique que le portail Power BI Online n'est pas en mesure de détecter un serveur https sécurisé sur votre poste.  Pour remédier au problème, on doit d'abord installer un certificat SSL à partir de la commande pbiviz suivante.   Une fois le certificat SSL installé, ceci permettra à nos composants visuels d'être chargés dans notre navigateur local. pbiviz -–install-cert Ouch!!!... “Can’t contact visual server. Please make sure the visual server is running and configured correctly”
  • 40. Installation - Local self-signed certificate pbiviz -–install-cert Ouch!!!... “Can’t contact visual server. Please make sure the visual server is running and configured correctly”  Ceci indique que le portail Power BI Online n'est pas en mesure de détecter un serveur https sécurisé sur votre poste.  Pour remédier au problème, on doit d'abord installer un certificat SSL à partir de la commande pbiviz suivante.  Une fois le certificat SSL installé, ceci permettra à nos composants visuels d'être chargés dans notre navigateur local.
  • 41. Visual Studio Code – architecture de projet PBIVIZ CLI api/ Ce répertoire contient des informations relatives a la version assets/ Ce répertoire est utilisé pour stocker des éléments graphiques tels que des Icônes, images screenshots, etc. dist/ Lorsque l’on exécute la commande pbiviz package, un fichier pbiviz est automatiquement généré sous le repertoire dist/. src/ Ce répertoire est utilisé pour stocker tout code source format TypeScript et JavaScript style/ Ce repertoire contient le principal fichier de style Less de votre composant visuel Importation de fichiers style externes: @import (less) "style/external.css"; .gitignore Manifeste Indiquant a git les fichiers a ignorer et ne pas prendre en charge.. capabilities.json Fichier de configuration utilisé pour définir les capacités [dataRole, dataViewMappings, object] relatifs à votre visuel package.json Fichier permettant d’effectuer la gestion de modules [node_modules] à partir de commandes npm. pbiviz.json Principal fichier de configuration du projet. tsconfig.json Paramètres de compilateur de fichiers Typescript. typings.json Ce fichier est optionne,l mais suggeré pour la gestion de définitions de types Typescript
  • 43. Démo – Ferrari + code svg
  • 44. Démo – Slicer – thermometer -revisited
  • 45. Démo – d3.js circlepacking version - revisited
  • 47. Power BI Visuals  Build Your Custom Visuals in Power BI (Step-by-Step) -Tsuyoshi Matsuzaki: https://blogs.msdn.microsoft.com/tsmatsuz/2016/09/27/power-bi-custom-visuals-programming/  Create a custom visual with the custom visual developer tools https://powerbi.microsoft.com/en-us/documentation/powerbi-desktop-tips-and-tricks-for-creating-reports/  How to Create a Power BI Custom Visual Based on an Existing d3 Visual – Jon Gallant https://powerbi.microsoft.com/en-us/documentation/powerbi-desktop-tips-and-tricks-for-creating-reports/ Forums Community Power BI– (section Developer) https://community.powerbi.com/t5/Developer/bd-p/Developer TypeScript:  TypeScript Samples: https://www.typescriptlang.org/samples/  TypeScript Deep Dive: https://github.com/basarat/typescript-book D3.js:  D3.js Gallery – Mike Bostock: https://github.com/d3/d3/wiki/Gallery  Collection D3.js Gallery (2490 examples!) – Christophe Viau : http://christopheviau.com/d3list/  D3 Tips and Tricks v3.x – Malcolm Maclean: https://leanpub.com/D3-Tips-and-Tricks Liens utiles… [Merci de votre participation ;]