URL: https://linuxfr.org/news/publication-d-urungi-tableaux-de-bord-statistiques-business-intelligence Title: Publication dâUrungi, tableaux de bord, statistiques, Business Intelligence Authors: Paul POULAIN ZeroHeure, bubarđŠ„, palm123, BenoĂźt Sibaud, Nils Ratusznik, Xavier Teyssier et Davy Defaud Date: 2019ćčŽ03æ08æ„T11:11:09+01:00 License: CC By-SA Tags: statistiques, mongodb, postgresql, tableau, kpi et tableau_de_bord Score: 32 Nous sommes fiers et heureux dâannoncer la publication dâUrungi, application Web permettant de crĂ©er des Ă©tats, des rapports, des graphiques, des tableaux de bord. Urungi est destinĂ© Ă ĂȘtre utilisĂ© par des personnes ne sachant pas â ou ne pouvant pas â faire de requĂȘtes SQL, mais ayant besoin de rĂ©aliser des tableaux et des rapports. Urungi est publiĂ© sous licence GNU/GPL et pour ĂȘtre complet, il sâagit de la fourche dâun logiciel en dĂ©shĂ©rence, Widestage. Il reste encore quelques rĂ©fĂ©rences Ă cette base qui nous a semblĂ© suffisamment chouette pour que lâon investisse dessus. ---- [Le site](https://www.urungi.org) [Le code](http://github.com/biblibre/urungi) [La dĂ©mo (test/test pour se connecter)](https://demo-urungi.biblibre.com) [La feuille de route](https://kanboard.biblibre.com/public/board/fc524fef4df4404a551f2315511d15d384f4d36ad99c7e36bd05155ed037) ---- Pour arriver Ă son objectif, Urungi utilise trois concepts : - la source de donnĂ©es (_data source_) ; - le calque (_layer_) : la « vue » qui permet de dĂ©finir ce qui pourra ĂȘtre utilisĂ© dans les rapports ; cette Ă©tape est critique : un calque bien construit permet ensuite de gĂ©nĂ©rer trĂšs facilement tout rapport et tableau de bord ; - les rapports / tableaux de bord (_report/dashboard_), qui sâappuient sur un ou plusieurs calques.  # CĂŽtĂ© technologie Urungi est codĂ© en Node.js (Express), MongoDB, AngularJS (1.x), les graphiques sont gĂ©nĂ©rĂ©s avec [c3js](https://c3js.org). CĂŽtĂ© source de donnĂ©es, ça se connecte Ă des bases MariaDB/MySQL, mais aussi dâautres. NâhĂ©sitez pas Ă les tester, nous nous concentrons sur MariaDB pour notre part. Pour les curieux qui voudraient savoir dâoĂč vient ce nom « Urungi », quâils sachent quâils viennent dâapprendre un mot [Maori](http://maoridictionary.co.nz/word/8920). # CĂŽtĂ© fonctionnalitĂ©s ## Connexion Ă une base de donnĂ©es Avant de construire nos tableaux de bord, il faut se connecter Ă une base de donnĂ©es. Urungi propose des connecteurs vers MariaDB, PostgreSQL, MSSQL et Oracle. Un connecteur vers mongoDB est aussi disponible, mais Ă cette heure il ne fonctionne plus ; nous lâavons dĂ©sactivĂ©. ## CrĂ©ation de calques Un calque, câest une couche intermĂ©diaire entre la base de donnĂ©es et lâutilisateur final. On peut le voir comme une vue. Un informaticien (gĂ©nĂ©ralement) va construire un (ou plusieurs) calques, qui permettront ensuite Ă lâutilisateur final de construire ses rapports, graphiques et tableaux de bord. Un calque contient : - des champs de la base (issus de nâimporte quelle table de la base de donnĂ©es) ; chaque champ a son libellĂ© Urungi et quelques paramĂštres additionnels comme le format, le groupement par dĂ©faut, le type (numĂ©rique, alphabĂ©tique) ; - des dossiers : on peut regrouper les champs dans des blocs fonctionnellement cohĂ©rents, pour organiser la vue ; par exemple, dans une base « fournisseur, commande, lignes de commande, produit », on pourrait avoir un dossier « Fournisseur » et un groupe « Commande » ; on peut avoir des sousâdossiers sur autant de niveaux que lâon veut, celui qui construit le calque peut organiser les choses comme il le souhaite ; - des champs calculĂ©s : il sâagit de champs qui ne sont pas directement issus de la base de donnĂ©es, mais calculĂ©s Ă partir de ses champs, les formules disponibles sont celles de la base de donnĂ©es sousâjacente â par exemple, si lâon a un champ `date_cmde`, on peut crĂ©er un `YEAR(date_cmde)`. ## CrĂ©ation de rapports Urungi permet la crĂ©ation de listes, de tableaux, de graphiques en quelques clics, une fois votre calque dĂ©fini. Selon le type de rapport Ă crĂ©er, il suffit de glisser/dĂ©poser les champs sur lesquels vous souhaitez faire votre rapport, prĂ©ciser quelques paramĂštres additionnels, cliquer sur Refresh, et vous avez une premiĂšre Ă©bauche de votre rapport (calculĂ© par dĂ©faut sur les cinq cents premiĂšres donnĂ©es renvoyĂ©es par la base de donnĂ©es). Il est Ă©galement possible de : - dĂ©finir des paramĂštres Ă sĂ©lectionner au moment de lâexĂ©cution du rapport ; - publier le rapport pour le rendre accessible aux autres utilisateurs dâUrungi (et bientĂŽt le rendre public)  ## CrĂ©ation de tableaux de bord Urungi vous permet de dĂ©finir des tableaux de bord comportant plusieurs rapports, avec une mise en page libre. Le systĂšme est dâores et dĂ©jĂ trĂšs souple et sera encore amĂ©liorĂ© dans les mois qui viennent. Un mĂ©canisme de « boĂźtes » dĂ©finissent les lignes de votre tableau de bord. Chaque ligne comporte une, deux, trois ou quatre boĂźtes, qui peuvent Ă leur tour contenir des sousâboĂźtes. Dans chaque boĂźte, du texte, un rapport, une image, etc. Tout est modifiable, câest du HTML avec une surcouche graphique.  ## Importation et exportation Il est possible dâexporter (en [[JSON]]) calques, rapports et tableaux de bord, ce qui permet de dĂ©ployer trĂšs facilement des lots chez des utilisateurs aux besoins multiples. Dans le cas de BibLibre : nos clients (environ 200) sont exclusivement des bibliothĂšques, qui utilisent des logiciels que nous avons dĂ©ployĂ©s chez eux. Les besoins sont trĂšs similaires dâun Ă©tablissement Ă lâautre. Nous avons une instance interne sur laquelle nous crĂ©ons nos rapports, un coup dâexportation et dâimportation, et on dĂ©ploie trĂšs simplement ! # La feuille de route Nous commençons Ă dĂ©ployer Urungi chez nos clients, nous considĂ©rons donc que câest assez stable. Mais il reste encore de nombreuses choses Ă faire : - ajouter des types de graphiques (_timeline_ et _map_, par exemple) ; - exporter un tableau de bord en PDF ; - programmer lâenvoi dâun tableau de bord en PDF par courriel ; - dĂ©finir des feuilles de style pour changer lâapparence des tableaux de bord trĂšs simplement ; - historiser les tableaux de bord (cas dâusage : je veux mĂ©moriser les statistiques que je sors tous les ans et envoie au ministĂšre) ; - permettre au constructeur de tableaux de bord de dĂ©finir des durĂ©es de mise en cache des rĂ©sultats (certains tableaux ne nâĂ©voluent que trĂšs peu, il est inutile de tout recalculer Ă chaque fois, une fois par jour, semaine ou mois, ça suffit) ; - faire en sorte quâun calque puisse attaquer plusieurs sources de donnĂ©es. # Contribuer Nous serons ravis de tester et intĂ©grer toute demande dâintĂ©gration Git (_pull request_), nous souhaitons vraiment quâune communautĂ© puisse se construire autour de cet outil ! Pour les curieux : « nous », câest la sociĂ©tĂ© [BibLibre](https://biblibre.com), spĂ©cialisĂ©e dans les logiciels libres Ă destination des bibliothĂšques. Nous sommes une vingtaine de collaborateurs, et allons dĂ©ployer Urungi chez nos clients.