Related pages: 🇬🇧 BI reporting
1. Reporting BI
L'interface standard de Pwic.wiki offre des listes et des pivots basiques dans la section spéciale de vos projets. Cependant, vous voudriez accéder directement aux tables internes de Pwic.wiki pour utiliser les capacités étendues de tout outil BI externe.
1.1. API
La première possibilité pour accéder aux données internes est d'utiliser l'API (Application Programming Interface). Il s'agit d'un ensemble de points d'entrée auxquels vous pouvez accéder via des requêtes HTTP pour effectuer des opérations en lecture ou en écriture. Le site interagit déjà avec elle lorsque vous écrivez une page ou configurez une option par exemple. Par conception, l'API n'est pas utilisée partout, par exemple lorsqu'une page est affichée.
L'API est une implémentation personnalisée avec des noms, des paramètres et des codes réponses arbitraires. Vous devez lire la documentation en ligne pour mieux connaître le fonctionnement des interfaces disponibles. Tout d'abord, vous devez vous connecter via /api/login
pour récupérer la valeur renvoyée du cookie crypté. Vous pouvez ensuite appeler les autres fonctions pour effectuer une action particulière. Certains exemples de code sont disponibles dans le dossier static/api/
.
L'API est sûre dans le sens où toute la logique est gérée : il vous suffit de faire correspondre les bonnes valeurs avec les bons champs. L'interface /api/project/get
est certainement la plus utile pour analyser les données.
1.2. ODBC
Open Database Connectivity (ODBC) est une couche intermédiaire pour intégrer une base de données avec une application au niveau... des tables ! La logique est alors non gérée.
Premièrement, le fichier de base de données pwic.sqlite
NE DOIT JAMAIS ÊTRE PARTAGÉ, surtout si vous utilisez l'option keep_sessions
. En violant cette règle, du fait de la conception du module aiohttp-session
, vous compromettriez entièrement l'intégrité de l'application.
Deuxièmement, Pwic.wiki fonctionne avec la base de données SQLite. C'est un fichier plat qui ne peut pas être lu à distance. Le fichier est disponible localement et son accès est protégé par le système de fichiers. Vous ne devez pas mettre la base de données dans un dossier partagé (voir la première règle).
Troisièmement, vous avez besoin d'un pilote ODBC SQLite pour lire la base de données. Celui disponible sur ch-werner.de est bien.
Quatrièmement, vous définissez une source DSN en exécutant la commande %windir%\syswow64\odbcad32.exe
(32 bits) ou %windir%\system32\odbcad32.exe
(64 bits). Ajoutez une entrée et indiquez le nom du fichier de la base de données dans les paramètres :
Enfin, dans votre outil de reporting, vous sélectionnez cette connexion dans le menu relatif à ODBC : les données de Pwic.wiki deviennent visibles au format brut et vous pouvez créer un rapport.
Rappelez-vous que cette procédure est fortement déconseillée, car elle peut soumettre vos données à un risque inacceptable. L'utilisation d'un pilote ODBC ne peut pas être empêchée. Vous pouvez sinon utiliser SQLiteBrowser.org qui ne nécessite aucune configuration particulière.
1.3. OData
Open Data Protocol (OData) est le moyen le plus récent pour rapporter avec les outils BI. Schématiquement, il s'agit d'un mélange sûr entre API et ODBC : il offre un moyen classique pour accéder aux tables à distance et il implémente de nombreuses fonctionnalités pour sécuriser les données et les délivrer dans le bon format.
Pwic.wiki implémente une version partielle d'OData V4, car il y a quelques restrictions :
- les données sont en lecture seule
- vous ne pouvez pas filtrer/limiter les données avec un argument dollar
- le service n'est pas bien intégré avec Power BI Desktop pour une raison technique inconnue
- l'authentification se fait via le chemin le plus profond via un challenge Basic (pas d'OAuth)
- certaines colonnes des tables ne sont volontairement pas affichées
Tout d'abord, vous devez définir l'option odata
par la commande ./pa set-env odata X
(Linux) ou pa set-env odata X
(Windows). L'activation des adresses suivantes est immédiate :
/api/odata
/api/odata/$metadata
/api/odata/table
(replacez table par le nom réel)
Ensuite, ajoutez les chemins à votre outil BI. Nous utiliserons ci-après Power BI Desktop qui est gratuit sous conditions.
Vous devez vous identifier avec un mot de passe (OAuth n'est pas supporté). Créez un compte utilisateur séparé avec le profil Reader si vous avez besoin d'un mot de passe, mais rappelez-vous que les informations d'identification peuvent être enregistrées dans le fichier PBIX ! Assurez-vous de sélectionner l'adresse URL la plus longue dans la liste déroulante.
Un aperçu de la table sélectionnée s'affiche et vous pouvez l'importer ou la transformer. Répétez l'opération autant de fois qu'il y a de tables à charger. Leur liste est donnée dans la description de l'interface OData.
Power BI ne peut pas charger le service à partir de son chemin racine, indiquant qu'un encodage n'est pas supporté. Si vous avez une idée, n'hésitez pas à nous contacter pour que cette erreur gênante disparaisse.
À la fin, vous devriez être en mesure de modéliser les tables et d'en faire un rapport avec vos propres critères. Cliquez sur le bouton Rafraîchir en haut de l'application pour collecter toutes les données.
Revision #1 was last modified by gitbra
on 2023-12-11 at 00:00:00 — 24d2d87b7c6fba89