L’informatique décisionnelle (en anglais : DSS pour Decision Support System ou encore BI pour Business Intelligence) désigne les moyens, les outils et les méthodes qui permettent de collecter, consolider, modéliser et restituer les données, matérielles ou immatérielles, d’une entreprise en vue d’offrir une aide à la décision et de permettre aux responsables de la stratégie d’entreprise d’avoir une vue d’ensemble de l’activité traitée.
Un de ces outil est BIRT. BIRT est sans nulle doute une des solutions open source les plus abouties dans le domaine du reporting et de la restitution de données.
Je vais vous présenter à travers cet article / tutoriel ce logiciel à travers une prise en main rapide et un guide pas à pas pour réaliser votre premier rapport avec BIRT et une base de données SQL.
I – Présentation de BIRT
Birt (Business Intelligence Reporting Tools) est un logiciel open source basé sur eclipse. C’est un outil de reporting et de visualisations de données. Il vous permet de restituer vos données sous forme de graphiques, et de rapports.
Ce logiciel existe en différentes versions, Open source, Professionnelle. Je vous invite à consulter le tableau disponible à l’adresse suivante http://www.birt-exchange.com/be/download/BIRT-Designers-Comparison-Table.pdf et qui vous permettra de connaître les différences entre ces différentes versions.
BIRT integre différents modules (figure 1.1.1).

Figure 1.1.1 - Modules BIRT (Image source sur le site de l'éditeur)
Les diffrénts modules sont les suivants :
- Designer => Ce module permet de concevoir les rapports
- Deploy => Module permettant de déployer les rapports selon différents moyens
- Viewer => Module permettant aux utilisateurs finaux de consulter / voir les rapports générés.
II – Téléchargement & Installation
1°) Prérequis :
- OS Windows ou Linux
- Une base de données (j’utilise MySql)
- Le driver JDBC de votre base de données
- Des connaissances en langages SQL sont un plus
2°) Téléchargement
La première étape consiste à se rendre sur le site de l’éditeur à l’adresse suivante : http://www.birt-exchange.com/be/downloads/ (figure 2.21.1) et de télécharger la version open source. Enregistrez-vous afin de lancer le téléchargement.
Notes : Birt existe également en tant que module eclipse. Vous pouvez installer ce module depuis l’installateur de logiciel. Pour ce faire, allez à l’adresse suivante afin de consulter les adresse de mise à jour Eclipse Birt http://wiki.eclipse.org/BIRT_Update_Site_URL .Birt est disponible en version Windows et Linux. Les deux versions sont identiques et requiert les mêmes éléments. Il est également possible de déployer Birt dans vos développements ; pour cela, vous pouvez télécharger les classes et API’s (JAVA) qui vous permettent de générer et voir du contenu BIRT.
Une fois téléchargé, il ne vous reste plus qu’à extraire le contenu de l’archive ou vous souhaitez et exécuter BIRT.
3°) Interface générale
Pour les utilisateurs d’éclipse, cette interface vous semblera familière, pour les autres, sachez qu’éclipse est un ensemble de bloc modulaires. A la base, Eclipse est un IDE qui a rapidement été utilisé comme base de développement et de distribution de nombreux logiciels.
Après l’execuion de BIRT, il vous est demandé de spécifier l’espace de travail ; cet espace représente l’endroit ou seront enregistré / déployé vos travaux. Il est préférable d’avoir un environnement de travail par projet. Chaque espace de travail peut avoir sa propre configuration. Dans notre cas, j’utiliserai l’espace de travail par défaut (figure 2.3.1).

Figure 2.3.1 - Initialisation de l'espace de travail BIRT
Il se compose d’un menu principal, d’une vue principal et de panneaux (onglets) que vous pouvez placer ou bon vous semble (figure 2.3.2). Il vous est possible d’organiser les onglets comme bon vous semble.

Figure 2.3.2 - Interface de BIRT
IV – Création d’un premier Report avec BIRT
1°) Introduction
Nous allons créer un premier rapport avec BIRT ; ce rapport est réalisée en liaison avec une base de données MySql et deux tables :
- Livres
- Catégories de livres
2°) Initialisation du projet
La première étape consiste à initialiser notre projet. Pour ce faire, cliquez sur « Files => New => Project » (figure 4.2.1).

Figure 4.2.1 - Création d'un nouveau projet Birt
Dans la fenêtre qui suit, sélectionnez « Report project » (figure 4.2.2).

Figure 4.2.2 - Sélection du type de projet
Pour l’étape qui suit, il suffit de donner un nom à votre projet (figure 4.2.3), j’ai choisi d’appeler le mien BiblioBirt.

Figure 4.2.3 - Nom du projet Birt
Cliquez sur terminer et valider le type de vue à utiliser avec BIRT. Cette nouvelle vue est composée de différents éléments :
- Palette => Cette palette permet d’ajouter des éléments graphiques à vos rapport (champs, tableaux, graphiques, etc.)
- Data Explorer => Explorateur de données
- Ressources explorer => Explorateur de ressources
- Navigator => Navigateur de projets
Cliquez droit sur le dossier de votre projet dans l’onglet navigator et dans le menu contextuel, cliquez sur « New =>Report » (figure 4.2.4)

Figure 4.2.4 - Création d'un nouveau rapport Birt
Donnez un nom à votre rapport (figure 4.2.5), pour ma part ce rapport servira simplement à lister les différents auteurs.

Figure 4.2.5 - Nom du nouveau rapport
Cliquez sur « Next » afin de choisir le type de rapport à générer (figure 4.2.6). Il s’agit en fait de templates.

Figure 4.2.6 - Sélection du type de rapport
Cliquez sur « Finish ». Notre vue vient de se mettre à jour et certains éléments sont maintenant accessibles :
Property Editor Report permet d’avoir accès au caractéristiques des élément du rapport sélectionné (figure 4.2.7) .

Figure 4.2.7 - Panneau de propriété du rapport
L’onglet « Data Explore » est maintenant actif et nous pouvons donc passer à l’étape suivante.
3°) Initialisation de la connexion
Birt vous permet d’extraire et de présenter des données provenant de différentes sources (Fichiers ou bases de données). Dans notre cas, j’ai opté pour le traitement de données provenant d’une base MySql. Il est alors nécessaire d’initialiser l’accès à cette source de données. Dans l’onglet « Data Explorer » faites un clic droit pouis cliquez sur « New Data Source » (figure 4.3.1).

Figure 4.3.1 - Connexion à une source de données
Dans l’écran qui suit, il suffit de sélectionner le type de source de données (figure 4.3.2).

Figure 4.3.2 - Sélection du type de source de données
Sélectionnez ensuite votre base de données dans la liste (figure 4.3.3) puis cliquez sur « Next ».

Figure 4.3.3 - Selection de la base de données
Il est maintenant nécessaire de configurer la connexion ; cette connexion doit s’effectuer par le biais d’un connecteur JDBC (Java Driver). Pour MySql, vous trouverez ce connecteur à l’adresse suivante http://dev.mysql.com/downloads/connector/j/5.0.html . Ce driver se présente sous forme d’un fichier *.jar qui est une archive java. J’ai placé ce driver à la racine de mon projet. Une fois ceci réalisé, il suffit de configurer la connexion. Pour ce faire, cliquez sur le bouton « New Driver Definition »
et renseignez l’ensemble des informations (Figure 4.3.4 & Figure 4.3.5)

Figure 4.3.4 - Sélection de la version du driver

Figure 4.3.5 - Sélection du driver (jar file)
Une fois es étapes réalisées, vous pouvez tester votre connexion (figure 4.3.5).

Figure 4.3.6 - Test de la conenxion JDBC Birt
Notes : Un driver JDBC fonctionne sous forme d’URL. Le schéma de cette URL est le suivant : jdbc:[base de données]://[adresse]:[port]/[DB Name]?[Utilisateur]
Notre Data Source est maintenant configuré et apparait dans notre Data Explorer (figure 4.3.7).

Figure 4.3.7 - Data Source après configuration
4°) Initialisation des données
Maintenant que nous avons configuré notre connexion, il est nécessaire de récupérer nos données ; cette étape est réalisable depuis le Data Sets. Il esxiste deux type de data sets :
- Data Sets standard
- Join Data Sets (permettant de lier différentes sources de données)
Nous allons dans un premier temps configurer un data sets standard. Cliquez droit sur Data Sets et dans le menu contextuel, cliquez sur « New Data Sets » (figure 4.4.1).

Figure 4.4.1 - Menu contextuel création du data sets
La prochaine étape consiste à compléter les différentes informations qui vont constituer notre source de données. Dans un premier temps, il faut choisir la connexion (ici il n’y en a qu’une) puis donner un nom à ce data sets (figure 4.4.2)

Figure 4.4.2 - Sélection de la connexion et identification du data sets
Il est ensuite nécessaire de sélectionner les donner en ajoutant une table. Dans cet exemple, je souhaite simplement lister mes livres, je vais donc ajouter la table « livres » (figure 4.4.3) et sélectionner les champs qui m’intéresse (figure 4.4.4). N’oubliez pas de donner des alias à vos champs pour plus de lisibilité.

Figure 4.4.3 - Ajout d'une table au data sets

Figure 4.4.4 - Sélection des champs et personalisation
Notre data sets est maintenant créé, il est accessible depuis le dossier « data sets » de notre onglet « data explorer » (figure 4.4.5).

Figure 4.4.5 - Vue du data sets après configuration
La prochaine étape consiste à glisser / déposer les champs de notre data sets dans notre tableau afin de créer notre rapport (figure 4.4.6).

Figure 4.4.6 - Aperçu du rapport en mode conception
A cette étape, il vous est possible de réaliser un aperçu en cliquant sur l’onglet « preview » de la vue principale. Vous pouvez ainsi voir vos données (figure 4.4.7).

Figure 4.4.7 - Prévisualisation du rapport
Vous venez de réalisez un premier étape (très simple il est vrai) sans aucune utilisation du langage SQL. Notre rapport est certes devant nos yeux mais la mise en page laisse à désirer…
5°) Personnalisation et mise en page
Voyons maintenant comment nous pouvons améliorer notre listing… Lorsque vous cliquez sur un élément du tableau ceci déclenche le panneau de propriété situé en dessous du rapport ; ceci va nous permettre de personnaliser nos champs et notre listing.
A – Formatage global
Commencez par sélectionner l’ensemble du tableau (en cliquant sur une des bordure) puis allez sur la propriété « Border » afin d’ajouter une bordure à notre tableau (figure 4.5.1)

Figure 4.5.1 - Personalisation des bordures de notre tableau BIRT
Je vous laisse mettre en page ce tableau à votre guise, pour ma part, je souhaite simplement ajouter une bordure à mon tableau et à mes cellules.
B – Création d’une feuille de style
Birt nous permet d’appliquer des styles à nos rapports et il existe différentes façons de créer / gérer les styles dans BIRT.
- Création et importation
- Création directe
Pour l’importation d’une feuille de style, cliquez droit sur un élément vide du rapport afin d’afficher le menu contextuel ; dans ce menu il y a une section « Style ». Une fois sur cet élément du menu, il vous suffit de sélectionner « Import CSS Style » (figure 4.5.2).

Figure 4.5.2 - Importation d'une feuille de style CSS
Il est ensuite nécessaire de sélectionner les éléments de style que vous souhaiter importer dans votre projet (figure 4.5.3). Je vous conseille de créer un dossier réservé à vos éléments de style et d’y placer vos feuilles et images.

Figure 4.5.3 - Sélection des styles à importer dans BIRT - exemple réalisé depuis une feuille de style jQuery UI
La deuxième option est celle de la création à la volée ; pour cela il suffit de sélectionner « New style » dans le menu contextuel et de renseigner les éléments de style (figure 4.5.4).

Figure 4.5.4 - Création de style à la volée
Vous pouvez maintenant sélectionner le style dans la liste déroulant du panneau de propriété (figure 4.5.5).

Figure 4.5.5 - Sélection du style dans le panneau de propriété
C – Formatage des nombres
Notre tableau comporte des nombres devant êtres formatés au format monétaire. Pour formater cet élément, cliquez sur l’élément « [Prix] » puis dans le panneau de propriété, choisissez « Format number » puis dans la liste déroulante choisissez « Currency » et renseignez les informations de formatage (figure 4.5.6).

Figure 4.5.6 - Formatage des unités monétaires
D – Mise en page des textes long
Vous l’aurez remarqué, les textes trop longs sont tronqués, nous allons donc modifier les cellules pour que le texte retourne à la ligne. Cliquez sur l’élément « [Description] » puis dans le panneau de propriété cliquez sur le bouton « Advanced ». Cette vue vous permet d’avoir accès à l’ensemble des propriété d’un élément BIRT. Dans ce panneau, cherchez l’élément « text » puis dans l’arborescence l’élément « whitespace ». Choisissez la propriété normal dans la liste de choix (figure 4.5.7). Votre texte passera à la ligne automatiquement.

Figure 4.5.7 - Propriétés avancées et modification de la propriété White-space
Voici après quelques modifications à quoi ressemble notre listing (figure 4.5.8).

Figure 4.5.8 - Prévisualisation après modifications de style et formatage
Nous venons de terminer notre premier rapport qui n’est en fait qu’un listing. Vous avez déjà en main les bases qui vous permettent de vous connecter à une base de données, récupérer les données et les mettre en page. Nous allons maintenant étudier plus en détail les possibilités de BIRT.
V – Jointures, données croisées et graphiques
Il est temps pour nous de passer à des choses plus intéressantes, nous allons voir ensemble comment réaliser des jointures entre plusieurs tables, réaliser un tableau croisé dynamique et réaliser un graphique.
1°) Initialisation d’un nouvel état.
Nous allons réaliser un nouveau rapport. Suivez les mêmes étapes que pour notre rapport précédent à la différence prêt que nous changerons de nom
. Il sera également nécessaire de reprendre notre Data sources ; un simple copier / coller permet de récupérer la connexion.
Créez ensuite un nouveau Data sets (que j’ai appelé « Bibliothèque ») et insérez la table ‘livres’ et la table ‘categories’. Vous disposez maintenant de deux tables. Cliquez sur le champ « livres.categorie_id » et faites le glisser sur le champ « categories.id ». Vous venez de créer une jointure permettant de lier notre table catégories avec les identifiants de la table « categories ». La figure 5.1.1 vous montre l’ensemble de ces éléments.

Figure 5.1.1 - Configuration du data sets et des jointures
Enregistrez ce data sets et réalisez votre rapport (Glisser / Déposer les éléments du data sets dans le tableau) puis mettez le en forme. Vous devriez obtenir un listing affichant les libellés de catégories (figure 5.1.2).

Figure 5.1.2 - Prévisualisation du listing avec jointures
2°) Regroupement de données
Il est possible de regrouper vos données. Cliquez sur le tableau et sélectionnez l’onglet « Groups » puis sur ajouter. Cet interface vous permet de regrouper vos données en fonction de différents critères. Dans l’exemple qui suit, j’ai regroupé mes données par auteur (figure 5.2.1 & figure 5.2.2).

Figure 5.2.1 - regroupement de données

Figure 5.2.2 - Prévisualisation du listing après groupement de données
3°) Compter le nombre d’enregistrements
Il est possible de compter le nombre d’enregistrements ou d’élément. Pour cela, il suffit d’ajouter un champ à notre data sets ; éditez votre data sets (clic droit => Editer) puis ajoutez un champ de type « Computed column » (figure 5.3.1).

Figure 5.3.1 - Ajout d'une colonne calculée
Dans cet exemple, j’ai simplement compté le nombre de livres. L’exemple ci-dessous vous montre comment ajouter un champ qui compte le nombre d’auteurs.
4°) Data cubes
Le data cubes vous permet de réaliser des croisements de données. Imaginons que je souhaite connaître le nombre de livres par catégories…. et bien le data cubes va nous permettre de réaliser cette opération. Pour cela, cliquez droit sur « Data cubes » et dans le menu contextuel cliquez sur « New ». Il vous est demandé deux élément :
- Groups
- Summary fields
Dans « Groups », glissez l’élément de table « Catégorie » ainsi que dans « Summary Fields » (figure 5.4.1).

Figure 5.4.1 - Création d'un data cubes
Cliquez droit sur un espace vide de votre rapport et dans le menu contextuel, cliquez sur « Insert => Cross tab » afin de créer un tableau croisé (figure 5.4.2).

Figure 5.4.2 - Création du tableau croisé
Il ne reste plus qu’à glisser l’élément « Groups => Catégories » dans la case de gauche (celle inscrite ‘Drop Data field’) et glisser l’élément « Summary Field => Nombre de livres » dans les autres cases (figure 5.4.3).

Figure 5.4.3 - Ajout des champs au tableau croisé
Il ne reste plus qu’à visualiser le résultat (figure 5.4.4).

Figure 5.4.4 - Prévisualisation tableau croisé
5°) Intégration d’un graphique
Nous allons maintenant intégrer un graphique. L’opération est simple, il suffit de réaliser un clic droit sur le tableau croisé que nous venons de créer puis dans le menu contextuel « Create Chart View ». Choisissez un graphique de type camembert (Pie chart) puis cliquez sur suivant. L’écran suivant nous permet de sélectionner notre source de données. Les informations sont reprises de notre tableau il n’y a donc rien à faire
(figure 5.5.1).

Figure 5.5.1 - Interface de créattion de graphiques
Cliquez sur suivant, puis personnalisez votre graphique (figure 5.5.2)

Figure 5.5.2 - Personnalisation du graphique
VI – Export et génération de documents
Une fois votre ou vos états réalisés, il sera nécessaire de les exporter ; dans le menu principal, cliquez sur « Run » et sélectionnez le type de génération à réaliser (*.pdf, *.html, etc.). Il est également possible d’intégrer les rapports dans d’autres applications avec le traitement des données XML. Vous pouvez également utiliser « Birt Viewer » qui est un outil destiné aux utilisateurs finaux.
Note : Attention, il existe différentes versions de BIRT Viewer dont certaines ne sont pas open source et ne sont disponible qu’après l’achat de licences. Vous pouvez télécharger le document suivant http://www.birt-exchange.com/be/download/Viewer-Product-Comparison-Table.pdf qui donne un aperçu des différentes fonctionnalités des Viewers. Au moment ou je vous parle, je n’ai pas de prix ni de mode de licence à vous communiquer
.
VII – Conclusion
Vous venez de voir les grandes lignes de l’utilisation de BIRT. Sans connaissances du langage SQL (ou besoin), vous avez pu extraire des données de votre base, mettre en page ces données. BIRT est sans nul doute un outil performant et intuitif. Cette solution peut facilement remplacer d’autres solutions commerciales sous réserve d’acheter les « Viewers » ou d’avoir les compétences permettant d’intégrer les états générés dans des outils personnels.
Cet article peut évoluer et n’est pas figé, vous pouvez me laisser vos commentaires et remarques afin de compléter des informations ou d’en ajouter.





#1 by Serge on 16 décembre 2010 - 22 h 15 min
Habitué de l’Open_Source et fervent adepte de cette communauté, je vous remercie pour ce tuto que je vais tenter de mettre en place.
Il a un sacré mérite, même si l’anglais technique m’est familier, de vulgariser en français une note personnelle technique, pas forcément accessible à priori.
Sacré travail.
Bravo.
Je vous tiens au courant de mes avancées…