Développer des extensions sur Qlik Sense
Les extensions
Une extension Qlik Sense est un composant qui permet d’ajouter à la plateforme Qlik Sense de nouveaux types de visualisations. Ce concept permet de combiner des APIs Qlik Sense avec les capacités illimitées du Web. Une fois créée, l’extension a le même comportement qu’un composant Qlik Sense natif : on peut ajouter des dimensions, des mesures et préserver le principe d’interactivité de Qlik Sense.
Architecture
Le serveur Qlik Sense nous propose un certain nombre d’APIs. Ces interfaces permettent une interaction avec notre serveur, ce qui permet d’extraire des données ainsi que diverses informations. Ces données et informations extraites peuvent être traitées avec du JavaScript afin de les structurer et de les visualiser selon notre besoin. En plus du JavaScript basique, des bibliothèques CSS (comme Bootstrap) et du HTML peuvent être utilisés afin de faire des Dataviz plus au moins personnalisées.
Les possibilités d'extension
- Exploitation des bibliothèques JavaScript existantes Highcharts, D3JS, Google Charts.
- Utilisation des APIs sur le Web : Google Maps, Twitter.
- Utilisation des bibliothèques de style comme Bootstrap.
- Développement des visualisations et des comportements selon le besoin.
Le développement d'extensions
Fichiers d’une extension
Pour développer des extensions, l’architecture document doit être constituée d’un ensemble de fichiers qui sont indispensables. A ces fichiers s’ajoutent des fichiers supplémentaires, qui permettent de pousser plus loin les capacités de développement mais aussi de bien les organiser.
- Fichiers indispensables
- Le fichier. Wbl : c’est un point d’entrée de l’extension, il contient la liste des fichiers indispensables
- Le fichier. Qext : c’est le fichier de configuration principal de l’extension, il contient la version, le nom, l'icône, etc.
- Le fichier .js : c’est le fichier le plus important, c’est là que l'on interroge le serveur Qlik, que l’on fait les calculs nécessaires ainsi que le design de l’extension.
- Fichiers supplémentaires
- Properties.js : Parmi les bonnes pratiques, les propriétés de l’extension seront séparées du fichier principal.
- Fichiers .ccs : Des fichiers de style peuvent être ajoutés à l’extension afin d’améliorer le rendu et avoir une meilleure qualité de visualisation.
- Bibliothèque JS : Des bibliothèques JS peuvent être ajoutées aussi pour avoir plus de fonctionnalités JavaScript (Jquery, D3JS, Highcharts).
Accès et structuration des données
La structuration et l’accès aux données retournées depuis le serveur seront contenus dans la méthode Paint ($element, layout). Cette dernière est rafraîchie à chaque fois que les propriétés changent ou que le widget est redimensionné. Le serveur Qlik Sense retourne des données sous format d’un hypercube JSON. L’accès à cet hypercube se fera par la fonctionnalité layout.qHypercube. L’hypercube est un objet JavaScript générique, qui va contenir les données ainsi que des métas données sur ce que l’utilisateur de l’extension mettra comme mesure et dimension depuis l’interface Hub.
Exemples d'extensions développées par ASI
- Une première extension prend une mesure et une dimension puis classe les membres de cette dernière en fonction de la mesure. Elle retourne ensuite le TOP3 de la dimension choisie :
- Une deuxième extension s’appuie sur la bibliothèque Highcharts pour construire un radar, avec la possibilité de mettre plusieurs dimensions et de choisir la couleur de la dimension ainsi que la taille du diagramme.
Publié le 09/02/2018

Le triangle d’or de la sollicitation digitale
Comment exploiter la data pour acquérir et fidéliser des clients ? Philippe vous répond en 3 étapes.

Que prendre en compte pour la construction d’un Data Lake ?
Quelles sont les caractéristiques d'un Data Lake ? Christophe vous explique les fondamentaux pour démarrer votre projet.

Comment se délester des tâches répétitives et systématiques grâce au Robotic Process Automation ?
Couplez RPA et IA pour automatiser des processus entiers et gagner du temps !

Devenir data-driven, une affaire de culture
Pourquoi et comment lancer son programme d'acculturation à la data ?