rapport technique jasper

Upload: sopranolex

Post on 07-Jul-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/18/2019 Rapport Technique Jasper

    1/12

    Création du document : Stéphanie GORGONE – Chloé MANDON

      Groupe Restitution Jasper 

    Date : 1!"!"11

    RAPPORT TECHNIQUE JASPER

    PROJET DARTIES – GROUPE2

  • 8/18/2019 Rapport Technique Jasper

    2/12

    1

    RAPPORT TECHNIQUE

    JASPERPROJET DARTIES – GROUPE2

    I. CONTENU

    I. Contenu....................................................................................................................................... 1

    II. Introduction..................................................................................................................................2

    III. Création d’un document jasper.................................................................................................3

    1. Les tableaux............................................................................................................................. 3

    Création de modeles de tableaux................................................................................................3

    Les différentes zones d’un rapport...............................................................................................5

    Respect du !".......................................................................................................................... 5

    2. Les #rap$i%ues.........................................................................................................................&

    Creation de modeles de #rap$i%ues............................................................................................&

    Respect du !".......................................................................................................................... &

    I'. Inté#ration des tableaux et #rap$i%ues en (a)a.......................................................................*

    1. C$oix du fic$ier (asper.............................................................................................................*

    2. C$ar#ement et compilation d’un rapport jrxml..........................................................................+

    3. C$an#ement de re%u,tes.........................................................................................................+

    C$an#ement de la clause WHERE  de la re%u,te........................................................................+

    C-/0ement de la clause select   de la re%uete..........................................................................

    . assa#e des param4tres....................................................................................................... 1

    6itres et sous7titres des rapports................................................................................................1

    eriodes dans l’entete des tableaux..........................................................................................1

    '. Conclusion.................................................................................................................................11

  • 8/18/2019 Rapport Technique Jasper

    3/12

    II. INTRODUCTION

    iReport est un éditeur #rap$i%ue permettant de conce)oir des mod4les de rapport. Ce lo#iciel 8pen

    ource fonctionne 9 partir de la librairie (asperReports. Il permet de créer différents t:pes de

    rapports ;tableaux< #rap$i%ues< etc.= et d’en )isualiser le rendu.

    La création d’un rapport permet d’obtenir un fic$ier >?L ;fic$ier jrxml=. /ous utilisons ces fic$iers

    >?L dans notre application pour affic$er les tableaux et #rap$i%ues. @n effet< un dossier 

    « TableauxXML » comporte tous les fic$iers >?L des tableaux et #rap$i%ues créés sous iReport.

    @nsuite< nous utilisons les objets (' %ui permettent la #énération d’un rapport ;ces derniers seront

    détaillés dans la deuxi4me partie du rapport=.

    Les données des tableaux ou des #rap$i%ues seront alimentées par une base de données. La

    sélection de ces données se fera par une re%u,te associée 9 c$acun des tableaux ou #rap$i%ues.

    our simplifier la création de ces différents tableaux< nous a)ons c$oisi de créer un tableau pour 

    c$a%ue couple indicateur7caractéristi%ues. lus précisément< pour c$a%ue on#let< nous a)ons un

    tableau pour un indicateur et une caractéristi%ue ;par exemple un tableau C7toutes

    caractéristi%ues< un autre C7Réalisé etc.=. i un on#let permet de )oir toutes les caractéristi%ues

    ;8bjectifs< Réalisé< 6outes= et tous les indicateurs ;C< 'entes< ?ar#es< 6outes=< il : aura 12

    mod4les de rapport créés ;en fic$ier jrxml=.

     

  • 8/18/2019 Rapport Technique Jasper

    4/12

    #III. CRÉATION D’UN DOCUMENT JASPER

    1. Les tablea!

    CR$A%&ON DE MODE'ES DE %A('EA)*La premi4re étape de création d’un rapport consiste 9 créer un document )ide a)ec une re%u,te

    AL #énérale ;sans %uoi la #énération du rapport ne fonctionne pas=.

    La liaison entre un tableau et la base de données se fait )ia un dataset ;ensemble de données

    récupérées par partir d’une re%u,te AL=.

    La création d’un tableau se fait 9 l’aide du dataset. Il permet de récupérer les c$amps de la base de

    données %ue l’on )eut affic$er dans le tableau.

    @nsuite on peut remplir le tableau en associant une expression ;c$amps résultant de la re%u,te ou

    c$amps saisissables= 9 c$a%ue case de celui7ci.

    /ous a)ons dB réaliser toutes les re%u,tes pour les affic$a#es dans les tableaux. our pou)oir 

    affic$er les écarts< le calcul a été fait dans la re%u,te AL. "e m,me pour le ran#< il a été calculé

    a)ec l’utilisation de la clause AL R/ 8'@R;=.

    8r pour pou)oir affic$er la li#ne des totaux ;somme correspondant au total d’une colonne et écart

    total=< nous a)ons utilisé des )ariables. Celles7ci donnent la possibilité d’effectuer des opérations de

    calculs sur les expressions et de les affic$er. L’opération utilisée dans ce cas est un SUM   de

    l’expression 9 sommer. "ans l’exemple ci7dessous< on peut )oir %ue l’on fait la somme ;calculation

    SUM = de la )ariable D?;C8E(@C6I!!I6= ( propriété variable expression).

    Le dataset palmares a été créé et permet

    de récupérer les c$amps résultat (iel!s)

    de la re%u,te AL.

    C$amps saisissables

    C$amps pro)enant des iel!s du

    dataset

  • 8/18/2019 Rapport Technique Jasper

    5/12

    +

    our les écarts totaux< nous a)ons effectué un calcul utilisant les deux )ariables des totaux.

    iReport permet aussi la création de param4tres. Ce sont des données prédéfinies %ue l’on ne peut

    pas trou)er dans la source de données. Les param4tres sont définis pour les titres. Ces derniers

    seront remplacés par les c$oix effectués par l’utilisateur dans les filtres.

    Les deux titres sont affic$és dans la zone F Title » du rapport ;)oir explication partie sui)ante= et

    sont des param4tres %ui prendront la )aleur définie par l’utilisateur ;9 l’aide du code ('=. ar 

    exemple< si l’utilisateur )eut affic$er le C< Réalisé< pour la famille -ifi< le sous7titre contiendra G

    F C H Réalisé H -ifi . Le premier titre contient le nom de l’on#let et la période c$oisie.

    Il en est de m,me pour les tableaux oJ l’ent,te correspond au mois ou 9 l’année c$oisis par 

    l’utilisateur dans les filtres F périodes . "es param4tres ont été créés pour pou)oir ,tre associés

    aux c$oix de l’utilisateur.

     

    ropriété de la )ariable sélectionnée

  • 8/18/2019 Rapport Technique Jasper

    6/12

    ,'ES D&--$REN%ES .ONES D/)N RA00OR%Dn rapport comporte plusieurs zones. La zone « Title » est  pour le titre et n’apparait %u’une fois enpremi4re pa#e du rapport.

    Les zones « "a#e Hea!er » et F pa#e !ooter correspondent 9 l’ent,te et pied de pa#e du

    document. @lles apparaissent donc sur toutes les pa#es du rapport.

    @nsuite< « $olumn Hea!er » et « $olumn ooter » correspondent aux noms de colonnes du tableau

    de données et sont répétés sur c$a%ue pa#e.

    C’est dans la zone F %&tail » %ue sont affic$ées les li#nes de résultats des colonnes %ue l’on désire

    affic$er.

    @nfin< la zone F Summar'   résume des informations présentes dans la zone F %&tail  

    our l’application< nous a)ons défini le titre et sous titre de c$a%ue tableauK#rap$i%ue dans la zone

    « Title »  Les tableaux et #rap$i%ues< %uant 9 eux sont disposés dans la zone « %&tail »  Ils

    pourraient ,tre placés dans la zone F $olumn Hea!er   mais celle7ci est limitée en taille et cela

    #én4re une erreur lors%ue le tableau contient trop de li#nes. Les autres zones ne sont pas utilisées.

    RES0EC% D) S-DC$a%ue tableau est ensuite mis aux normes du !" a)ec les r4#les sui)antes G

    • La police est RIL de taille 1<

    • Les données et les contours sont en bleu<

    • Le contour du tableau< des colonnes et de certaines li#nes sont deux fois plus épais %ue le

    contour standard< réser)é aux li#nes et aux séparations entre caractéristi%ues<

    • Dn seul c$iffre apr4s la )ir#ule n’est autorisé pour les données<

    • Les milliers sont séparés par un espace<

    • Les nombres sont justifiés 9 droite< a)ec un retrait de 2 pixels< les textes sont justifiés 9

    #auc$e et les titres sont centrés<

    • Les cellules des ent,tes de colonnes sont #risées

  • 8/18/2019 Rapport Technique Jasper

    7/12

    • Les titres sont centrés de couleur et taille définis dans le !".

    our pou)oir utiliser la couleur rou#e pour les écarts né#atifs et la couleur )erte pour les écarts

    positifs< nous a)ons dB utiliser les st:les conditionnels. Ces st:les correspondent 9 un rapport. /ous

    a)ons tout simplement ajouté un st:le au%uel nous a)ons ajouté deux conditions ;nombre positif ou

    né#atif=. @nsuite< on peut modifier les propriétés de c$a%ue condition. ar exemple< pour mettre en

    )ert les )aleurs des écarts positifs< nous a)ons créé un st:le $  comportant deux st:les

    conditionnels. @n premi4re condition< si sa )aleur est supérieure 9 < on lui met la couleur )erte G

    Le second st:le conditionnel dans $ met la couleur rou#e si le c$amp E$RT$ est inférieur 9 .

    Le st:le $ poss4de la couleur bleue du !" comme couleur de texte par défaut. insi< si le c$amp

    )aut ;aucune des deux conditions )érifiées=< le texte sera bleu.

    2. Les "#a$%&'es

    CREA%&ON DE MODE'ES DE GRA02&3)ESDn mod4le de rapport se crée de la m,me mani4re %ue ce soit pour : affic$er des résultats sous la

    forme de tableau ou de #rap$i%ue ;création d’un rapport )ide puis d’un dataset=.

    @nsuite il faut c$oisir un t:pe de #rap$i%ue< dans notre cas< ce sera des camemberts ou des

    $isto#rammes.

    iReport permet d’ajouter autant de séries %u’on le désire. Les $isto#rammes en nécessitent 2

    ;réalisé et objectif=. Auant aux camemberts< c’est un affic$a#e des ré#ions. Ils nécessitent donc

    autant de séries %ue de ré#ions< soit 5.

    RES0EC% D) S-Dour respecter le !"< nous a)ons personnalisés les séries des #rap$i%ues< cest797dire la couleur 

    %ue doit représenter une donnée. La propriété F series color   d’un #rap$i%ue permet de définir 

    toutes les couleurs %ue l’on sou$aite. Les lé#endes peu)ent ,tre affic$ées si le !" le demande

    ;#énéralement objectif ou réalisé ou encore le nom des )illes=.

    ropriété du st:le sélectionné

    Couleur )erte

    Condition

  • 8/18/2019 Rapport Technique Jasper

    8/12

    4I(. INTÉGRATION DES TA)LEAU* ET GRAPHIQUES EN JA(A

    Dne fois tous les tableaux et #rap$i%ues créés< ils doi)ent ,tre inté#rés dans linterface de

    lapplication dé)eloppée en (a)a sous larc$itecture ?'C ;?od4le7'ue7ContrMleur=.

     insi< dans la partie (asper du mod4le< il existe un traitement par profil distinct ;Responsable

    ma#asin< Responsable ré#ional et "irecteur commercial= ainsi %uun traitement #énéri%ue dun

    document jasper. Ce dernier permet notamment le c$ar#ement dun tableau ou dun #rap$i%ue 9

    partir du document *rxml < et le traitement par profil concerne le c$an#ement de re%u,tes en fonction

    des param4tres c$oisis par lutilisateur.

    Cest dans la partie contrMleur %ue le bon fic$ier (asper est c$oisi et appelé au c$ar#ement dans le

    mod4le< car comme expli%ué précédemment< un fic$ier par couple indicateur7caractéristi%ue

    différent a été créé.

    @nfin< la partie )ue permet de faire le lien entre linterface et les fic$iers (asper en appelant lecontrMleur pour le c$ar#ement dun nou)eau fic$ier en transmettant tous les param4tres< c$a%ue fois

    %ue lutilisateur c$an#e la sélection dune liste déroulante.

    1 C%+&! , -&%&e# Jas$e#

    Comme il a été rapidement énoncé en premi4re partie< nous a)ons établi une r4#le de nomma#e

    pour les fic$iers (asper< étant donné leur #rand nombre.

     insi< c$a%ue nom de fic$ier contient le nom du profil abré#é ;resp?a#< respRe# ou dirCom= sui)i

    du nom de lon#let entier ;ccueil< almares< "etails< ou -istori%ue= et se termine par les initiales du

    couple indicateur7caractéristi%ue concerné ;C6< C8< CR< ?6< ?8< ?R< 66< 68< 6R< ...=. La lettreN6N en premi4re position si#nifie tout indicateur ;C$iffre daffaires< ?ar#e et 'entes= et toutes

    caractéristi%ues en derni4re position ;8bjectif et Réalisé=.

    @nsuite< un N0N est ajouté 9 la fin du nom de fic$ier lors%ue ce dernier est un #rap$i%ue. C$a%ue

    on#let et profil ne poss4de pas exactement les m,mes param4tres et tous les fic$iers nexistent

    donc pas ;par exemple les fic$iers a)ec tous les indicateurs nexiste pas pour les on#lets détails et

    $istori%ue=.

    'oici par exemple le c$oix du bon fic$ier pour le palmar4s du responsable ma#asin si lindicateur 

    c$oisi est le c$iffre daffaires ;sac$ant %ue les )ariables indicateur et caractéristi%ue correspondent

    aux param4tres c$oisis et ren)o:és au contrMleur par la )ue= G

  • 8/18/2019 Rapport Technique Jasper

    9/12

    5 /. C%a#"e0et et +0$&lat&+ ,’ #a$$+#t #!0l@n ce %ui concerne le c$ar#ement dun document jrxml dans une application ja)a< un rapport intitulé

    DtilisationO(asperO(a)a a été li)ré en cours de projet.

    Il expli%ue le lien entre (asper et (a)a 9 laide de sc$émas et expose le code (a)a nécessaire au

    c$ar#ement< 9 la compilation< au remplissa#e et 9 lexport du document initial (asper.

    "ans notre application< le c$ar#ement du tableau ou #rap$i%ue est appelé dans le mod4le par le

    contrMleur suite 9 la définition du nom du fic$ier. @nsuite< le mod4le effectue un c$an#ement de

    re%u,te ;)oir partie sui)ante= en fonction des param4tres c$oisis par lutilisateur %ui lui sont

    ren)o:és. uis< il compile et remplit le rapport en passant les )aleurs des param4tres (asper définis

    dans c$a%ue rapport ;)oir partie =. @nfin< le fic$ier est exporté au format -6?L et affic$é dans

    lapplication par un objet na)i#ateur. 'oici une partie du code G

    Le passa#e des param4tres sera expli%ué ultérieurement ;partie =.

    Le fic$ier exporté porte le m,me nom %ue le document *rxml  c$ar#é ;)ariable +ic  ci7dessus=< ce %uisimplifie é#alement la rec$erc$e du fic$ier ,tml   pour laffic$a#e. Lexport en  p!+  permet de créer 

    é#alement le fic$ier p!+  dans le cas oJ lutilisateur désirerait imprimer.

    3. C%a"e0et ,e #e'4tes

     )ant la compilation dun rapport< une mét$ode de c$an#ement de re%u,te est appelée a)ec< en

    param4tres< tous les crit4res c$oisis par lutilisateur. Cela )a permettre de c$an#er la re%u,te du

    !ataset  correspondant au tableau ou #rap$i%ue pour correspondre aux restrictions demandées par 

    lutilisateur ;ce c$an#ement de re%u,te a é#alement été explicité en détails dans le rapport

    DtilisationO(asperO(a)a< partie G Re%u,tes 9 la )olée a)ec objets (a)a=.

    C2ANGEMEN% DE 'A C'A)SE WHERE  DE 'A RE3)6%EDne fois les param4tres de l’utilisateur récupérés< nous pou)ons remplir la clause WHERE  de la

    re%u,te. Les param4tres pris en compte dans cette clause de restriction sont G la ré#ion< la période

    ;l’année et le mois ou cumul de mois=< la famille d’articles et l’ensei#ne. lusieurs tests sont alors

    effectués pour créer la clause< par exemple pour la famille d’article G

  • 8/18/2019 Rapport Technique Jasper

    10/12

    7L’a)anta#e de ne modifier %ue la clause de restriction est %u’il n’est pas nécessaire de réécrire toute

    la re%u,te< celle7ci étant de taille assez consé%uente. La clause WHERE  étant la derni4re clause

    d’une re%u,te AL< il suffit de récupérer la re%u,te du !ataset   initialement créé dans le fic$ier 

    (asper< de la tron%uer a)ant le -,ere et de lui ajouter notre )ariable clauseW,ere< comme suit G

    L’objet *asper%esi#n< créé précédemment au c$ar#ement du fic$ier *rxml < permet de récupérer tous

    les !atasets du rapport sous forme de liste. Le !ataset  dont la re%u,te doit ,tre modifiée est ensuite

    c$oisi par son indice ;ordre de création dans le rapport=. 0énéralement< il : a plusieurs !atasets s’il

    : a plusieurs tableaux ou #rap$i%ues dans le rapport.

    La )ariable 0E correspond 9 la clause .R/U"01  %u’il faut rajouter apr4s le WHERE < le #roupe

    étant fait sur les ré#ions ou les )illes selon les cas.

    C2ANGEMEN% DE 'A C'A)SE SELECT  DE 'A RE3)E%Earfois< certains c$an#ements peu)ent ,tre é#alement faits dans la clause de sélection de la

    re%u,te< notamment le ran#. @n effet< comme nous l’a)ons décrit en premi4re partie< le ran# et la

    )ariation sont calculés dans le select de la re%u,te. insi< selon l’indicateur et la caractéristi%ue

    c$oisis par l’utilisateur< le contenu de ce calcul )a c$an#er. "ans ce cas< nous sommes contraints deréécrire la re%u,te enti4rement car le ran# inter)ient plusieurs fois dans la re%u,te. 'oici un exemple

    de test pour le c$iffre d’affaires G

    Lors%ue tous les indicateurs sont affic$és< le ran# est calculé par défaut sur le c$iffre d’affaires< de

    m,me %ue pour toutes les caractéristi%ues on calcule par défaut sur le réalisé.

    @nsuite la re%u,te est totalement réécrite a)ec les )ariables ran#  et clauseW,ere puis )a remplacer 

    la re%u,te courante du !ataset  comme )u ci7dessus.

    @nfin< le contenu du SELE$T  peut aussi ,tre modifié en fonction de si l’on )eut récupérer les noms

    des )illes ou ceux des ré#ions< cela dépend des profils et des on#lets.

  • 8/18/2019 Rapport Technique Jasper

    11/12

    1 5. assa"e ,es $a#a06t#es%&%RES E% SO)S8%&%RES DES RA00OR%SL’utilisation de param4tres dans un rapport (asper a été décrite dans la premi4re partie. La plus

    #rande utilité dans notre cas concerne l’affic$a#e du titre et du sous7titre au dessus des tableaux.

    Ces titres )arient selon les crit4res c$oisis par l’utilisateur< ils doi)ent donc ,tre transmis au rapport

    a)ant la compilation.

    Ces titres sont déj9 définis dans le rapport 9 la bonne position et le st:le correspond au !".

    'oici un exemple de remplissa#e du sous7titre pour la partie caractéristi%ue G

    @nsuite< tous les param4tres sont ajoutés dans une table Has,Map et transmis au remplissa#e du

    tableau ;)oir )ariable parameters dans la capture d’écran du 23 4= G

    0ER&ODES DANS '/EN%E%E DES %A('EA)*Les param4tres ont é#alement été utilisés pour les on#lets Histori5ue  et %&tails. @n effet< ces

    tableaux affic$ent en ent,te le nom du mois ou du cumul ;jan)ier 9 mars par exemple= concerné.

    Cela dépend donc de la période c$oisie par l’utilisateur.

    Ces param4tres sont définis dans un test sur la période sélectionnée et en)o:és au moment du

    remplissa#e du rapport de la m,me mani4re %ue précédemment.

    @nfin< pour le profil F Responsable ré#ional < l’on#let -istori%ue affic$e 12 petits tableaux par mois

    affic$ant les )aleurs cumulées de jan)ier au mois de c$a%ue petit tableau.

    8r< dans ce cas< l’utilisateur c$oisit une année et le mois jus%u’au%uel il )eut affic$er les tableaux.

    our faire cela< nous a)ons donc réalisé 12 tableaux distincts sous (asper %ue nous a)ons collés les

    uns aux autres. insi< nous a)ons pu utiliser les st:les pour conditionner l’affic$a#e de c$a%ue petit

    tableau 9 la )aleur du param4tre ;non )ide=.

    /ous a)ons donc utilisé 12 param4tres a:ant une double fonction G l’affic$a#e du nom du mois dans

    l’ent,te de c$a%ue petit tableau et la mise en condition de l’affic$a#e du tableau.

  • 8/18/2019 Rapport Technique Jasper

    12/12

    1(. CONCLUSION

    Le dé)eloppement de cette application EI fut tr4s enric$issant et nous a permis de mettre en

    prati%ue les notions t$éori%ues sur l’aide 9 la décision ac%uises tout au lon# de notre formation.

    /ous a)ons du faire plusieurs c$oix au cours du dé)eloppement< notamment sur l’outil de reportin#

    au début et sur la mani4re la plus adaptée de l’utiliser pour notre application.

    /ous ne re#rettons pas le c$oix de l’outil (asper pour sa facilité de mise en place sa bonne

    adé%uation a)ec le rendu désiré dans l’application. @n effet< la majorité des tableaux et #rap$i%ues

    ont pu ,tre réalisés en respectant scrupuleusement le !". Cet outil demande une certaine prise en

    main au début mais permet ensuite une utilisation assez prati%ue et rapide.

    /ous a)ons é#alement fait le c$oix de créer beaucoup de fic$iers (asper différents et d’effectuer 

    ainsi moins de traitements dans le code (a)a. /ous sommes plutMt satisfaits de ce c$oix en fin de

    dé)eloppement< car mal#ré le fait %ue la création des tableaux fut fastidieuse< le c$an#ement de

    tableaux demande un temps relati)ement acceptable. "’autant plus %u’il n’était pas possible de

    c$an#er aisément la structure d’un tableau (asper en (a)a ;c$an#ement du nombre de colonnes=.

    our conclure< nous a)ons apprécié de par)enir au dé)eloppement total de l’application pour la

    partie (asper et a)ons beaucoup appris dans ce projet %ui nous a é#alement permis d’é)aluer notre

    autonomie.