Rapport de Stage Développement d un module Web pour le Portail Olympe 02 septembre 2010
|
|
|
- Estelle Lefrançois
- il y a 10 ans
- Total affichages :
Transcription
1 Rapport de Stage Master 2 MIAGE Spécialité NTDP Développement d un module Web pour le Portail Olympe 02 septembre 2010 Stagiaire : Maxime CHECCONI Entreprise : PROELAN (Sophia Antipolis) Maître de stage (Entreprise) : Yannick AUMAGE Maître de stage (MIAGE) : Isabelle MIRBEL
2 Remerciement Je profite de ce document pour remercier l entreprise Proelan de m avoir accueilli dans leurs locaux et me permettre d exprimer mes connaissances acquises dans un projet professionnel. Je tiens plus particulièrement à remercier Monsieur Yannick AUMAGE, dirigeant de la société et encadrant durant mon stage, de m avoir intégré rapidement dans l entreprise et de m avoir accordé sa confiance pour la réalisation de ce projet. Je voudrai également remercier les personnes suivantes pour leur gentillesse et leur soutient durant toute la période du stage : Audrey LEROUX, ancienne responsable des ressources humaines, pour m avoir témoigné sa confiance dès le premier entretien. Cécile CONCAS, responsable des ressources humaines, pour son soutient. Laurent GOMEZ, directeur commercial, pour sa gentillesse et son soutient. Prisca RANDRIANARIVONY, développeuse dans l équipe de recherche et développement qui m a beaucoup aidé sur des notions techniques durant tout le stage. Enfin, je voudrai remercier Monsieur Jean Pierre LIPS, et Madame Isabelle MIRBEL, responsable et tutrice de stage, ainsi que tous les enseignants de la formation MIAGE qui ont contribué au bon déroulement de ce stage. Maxime CHECCONI Page 2 / 49
3 Sommaire 1. Présentation de l entreprise L entreprise Proelan Historique Compétences Activités La solution Olympe Références Présentation du stage Le sujet de stage Intégration dans l équipe Objectifs du stage et réalisation attendue Objectifs professionnels Objectifs personnels Outils et méthodes utilisés Principe d un portail Web La Business Intelligence (Informatique décisionnelle) Les outils de reporting Technologies utilisées Technologies utilisées côté client Technologies utilisées côté serveur L IDE MyEclipse La base de données Apache Derby Le pack Office Les phases et les réalisations Le plan de travail réalisé Les phases Etude de l existant Conception et modélisation technique Développement Tests Documentation technique Gestion de projet Les réalisations Développement de l outil «hyperlink» Développement de l outil «image» Développement de l outil «pagenumber» Développement de l outil représentant une colonne de la source de données Développement de l outil représentant un container de colonnes ou de tables de la source de données Sauvegarde d un modèle de rapports Ouverture d un modèle de rapports Interface de gestion des modèles de rapports Connexion à une nouvelle source de données Génération de la requête SQL Génération d un rapport simple Les problèmes rencontrés Adaptation à l outil existant Maxime CHECCONI Page 3 / 49
4 5.4.2 Internet Explorer / Firefox La génération des rapports Projet annexe : Vidéo Profile Etude de l existant Technologies utilisés Travail réalisé Bilan Bilan personnel Bilan professionnel Webographie Pour la réalisation du projet Pour la réalisation du rapport Maxime CHECCONI Page 4 / 49
5 Introduction Dans le cadre du Master 2 MIAGE, j ai effectué un stage de fin d études au sein de la société Proelan pendant une durée de six mois. Ce stage s est en effet déroulé du 15 février 2010 au 13 Août J ai intégré l équipe de Recherche et Développement de la société Proelan qui cherchait à se renforcer dans le but d accélérer le développement de la nouvelle version du portail Web Olympe qu il commercialise. Le principal objectif de ce stage était de développer un outil de reporting comme étant un module Web de la prochaine version d Olympe. La volonté de Proelan de développer ce module est née de leur retour client qui souhaitait avoir à leur disposition un outil leur permettant de générer des rapports simples de leur activité. Le but n était pas de remplacer ni même de concurrencer les outils de reporting déjà présents sur le marché mais de proposer un outil capable de couvrir la majorité des fonctionnalités que l on est en droit d attendre d'un tel outil. Ce stage était d autant plus important pour moi puisque c était le dernier avant mon insertion dans la vie professionnelle, c était une des raisons pour lesquelles je me suis impliqué avec motivation dans toutes les tâches qui m ont été confiées. Maxime CHECCONI Page 5 / 49
6 1. Présentation de l entreprise 1.1 L entreprise Proelan Historique Proelan a été créé en Septembre 1999 par le fruit de la collaboration entre des ingénieurs informatiques dont M. Yannick AUMAGE, dirigeant actuellement la société. L entreprise, composée actuellement d une dizaine de collaborateurs, est une société de services éditrice de logiciel, spécialisée dans le développement des nouvelles technologies appliqué à des environnements internet et intranet. L entreprise s est développée dans le monde industriel, notamment au sein du groupe Thales. Leur équipe en a retiré une rigueur et une qualité de travail qu elle applique quotidiennement dans ses prestations. Orientées web et nouvelles technologies, Leurs solutions conçues sur des modèles de données relationnels sont accessibles, efficaces et évolutives. Il développe ainsi des applications sur mesure au forfait qui accroissent la productivité. Leurs méthodes s appliquent aussi bien aux secteurs purement industriels qu aux pôles administratifs et tertiaires. Proelan est une Société A Responsabilité Limité (SARL). Son siège se situe au cœur du pôle technologique et scientifique de Sophia Antipolis. L'entreprise met à disposition de ses visiteurs plusieurs moyens de communication : Le site internet : L adresse [email protected] A travers ces moyens de communication, les visiteurs peuvent se documenter sur l entreprise et se renseigner sur les prestations que peut offrir la société. Les visiteurs peuvent également faire des commentaires ou poster des suggestions. Maxime CHECCONI Page 6 / 49
7 1.1.2 Compétences SGBDR : L expérience de Proelan dans ce domaine s est construite autour d Oracle, faisant de Proelan des experts dans la conception et l implémentation de modèles relationnels. La société maîtrise cependant d'autres systèmes tels que Sql Server, DB2 et MySQL. Intranet / Technologies : Proelan a une connaissance parfaite des principes et des normes J2EE et.net. Associée à leur maîtrise des SGBD, la société intervient sur tout type de mission internet/intranet. Reporting et Business Intelligence : Proelan développe des rapports, des tableaux de bords et des indicateurs. En centralisant l'information du client, Proelan arrive à mettre en place un reporting web sécurisé et très performant. Expertise PLM (Product Lifecycle Management) : Proelan maîtrise la gestion de la définition et de la configuration des matériels, principalement avec TeamCenter qui est le progiciel leader planétaire du Product Lifecycle Management. Etant à l'écoute du client, Proelan adapte ses solutions aux processus industriels du client. Maxime CHECCONI Page 7 / 49
8 1.1.3 Activités Proelan est éditeur et intégrateur de solutions de business intelligence. Ils mettent à disposition du client une solution qui va permettre de prendre les bonnes décisions et ainsi piloter efficacement l activité au quotidien. Afin de proposer une solution fiable, ils ont fondé leurs solutions sur plusieurs principes : Mesurer et contrôler sont des notions indispensables à la productivité : en effet, dans de nombreux cas, les utilisateurs ne disposent pas des bonnes informations au bon moment, et dans d'autres cas, les utilisateurs n ont pas de moyen efficace de les collecter. Des informations dispersées dans l entreprise et stockées sur différents supports ne sont pas une fatalité : La solution de Proelan (que nous détaillerons plus tard dans ce rapport) est un moyen rapide et efficace pour collecter, consolider, modéliser, restituer et distribuer des informations qui s adapteront facilement au processus qualité existant ainsi qu aux différents environnements de travail. Une approche collaborative sécurisée : en effet, l information doit être uniformisée et doit être accessible par tous ceux qui ont en besoin, n importe où et n importe quand, selon un profil utilisateur adapté aux règles de sécurité garant de la confidentialité des données. Le produit phare de Proelan est Olympe dont une partie de l équipe développe actuellement la troisième version du logiciel La solution Olympe Olympe est un portail web qui centralise l ensemble des états de gestion d'une entreprise. Il permet aux directeurs d accéder, au sein d un outil unique et convivial, à l ensemble des indicateurs, courbes, tableaux chiffrés de la société, quelle que soit leur nature : finances, projets, achats, ressources humaines. S adressant également aux opérationnels, ceux-ci peuvent y consulter leurs états de gestion courante, afférents à leur métier, sans nécessité préalable de connaître ou de se connecter à telle ou telle application informatique. Ainsi pour résumer Olympe permet : D accroître l efficacité de l'entreprise, en proposant une manière unique, pour tout le personnel et pour l ensemble des applications informatiques : o De choisir un état à éditer. o D y renseigner des paramètres. o De le soumettre. o D en visualiser le résultat. De réaliser une économie en formation et en utilisation car Olympe est particulièrement convivial et simple d'utilisation. De ce fait, il convient également aux utilisateurs occasionnels. De réaliser une économie sur l'achat de licences de progiciels de gestion, tant la consultation de données à travers les états peut souvent s'avérer suffisante pour les utilisateurs. Maxime CHECCONI Page 8 / 49
9 Grâce à son architecture ouverte, il est très facile d intégrer dans Olympe des modules complémentaires à sa fonction d'édition, permettant par exemple la saisie et la mise à jour des données à partir du portail. Olympe dispose de fonctionnalités pertinentes : Une publication sécurisée : les états sont publiés de manière sécurisée au sein de dossiers arborescents dont l'accès est régi par un système de profils. L utilisateur accède à ces états soit après s'être explicitement identifié, soit après avoir été implicitement authentifié grâce à des données systèmes. Le choix du format de sortie : en fonction de l'outil de reporting choisi, Olympe peut fournit un état dans de multiples formats s adaptant ainsi aux différents besoins d'impression, de diffusion ou de retraitement des données : Maxime CHECCONI Page 9 / 49
10 Le choix du mode de construction : la plupart des états s affichent instantanément. Mais d'autres, plus complexes, s'avèrent long à traiter, il est donc préférable de les envoyer sur un serveur pour être construits et ainsi éviter toute attente inutile. Olympe prend donc en charge ce mode serveur pour les états complexes et un gestionnaire élaboré des demandes différées gère les files d'attentes. Le choix de la destination du résultat : en fonction de l outil de reporting choisi, l'utilisateur choisit préalablement la destination de l'état qu'il veut construire : o Affichage en aperçu. o Enregistrement dans un fichier. o Impression. o Transmission par courrier électronique. Multilingue : Olympe permet un affichage multilingue personnalisé en fonction du profil de l'utilisateur Références Voici une liste d'entreprises faisant confiance à Proelan : IBM. Thales Underwater Systems : o Angleterre. o Australie. o France. Thales Air Systems : o Angleterre. o France. Thales Services : o Angleterre. o France. EDF-GDF Nice. Maxime CHECCONI Page 10 / 49
11 2. Présentation du stage 2.1 Le sujet de stage L intitulé du stage était «développement d'un outil de reporting sous environnement web pour le portail Olympe». En effet, la société Proelan cherchait à renforcer son équipe de recherche et développement dans le cadre du développement de la nouvelle version du progiciel Olympe qu il commercialise. La mission qui m était confiée comportait les aspects suivants : Conception et modélisation technique. Rédaction du dossier de spécifications détaillées. Phase de développement : o Intégration. o Tests. o Rédaction de la documentation technique. Le but était de développer un outil de reporting représentant un module web qui viendrait se greffer directement à la solution Olympe. Ce module qui sera développé permettra de concevoir des rapports ou des tableaux de bords à partir d une interface web intégrée dans le portail. La version actuelle du portail Olympe en production chez le client est numérotée 2.8. Ce qui signifie que depuis plusieurs années, la solution n'a pas cessé d évoluer permettant d offrir un produit de plus en plus stable et efficace aux clients. Sa fonction principale, qui est la base du sujet de stage, est la génération de rapports qui se fait actuellement à la demande. Autrement dit, si le client souhaite un nouveau type de rapport, il est obligé de passer par un des experts de Proelan, qui se chargera de créer un gabarit (template) et qui le mettra à disposition des utilisateurs via le portail Olympe. La génération des rapports est une tâche très lourde et très complexe, puisqu elle consiste à récolter des données sur le système d information de l entreprise (souvent dans des bases des données relationnelles, mais pas exclusivement), de formater ces données (en utilisant des états, des tableaux, des graphiques, etc ) puis finalement de combiner toutes ces informations pour générer le rapport désiré. C est d'ailleurs en raison de cette complexité que la version actuelle d'olympe délègue cette tâche à l un des deux principaux acteurs du marché que sont Cognos (possédé par IBM) et Crystal Report (possédé par SAP). Par ailleurs, outre l obligation actuelle de réaliser les rapports à la demande, l'autre inconvénient de cette méthode est qu'elle est immanquablement tributaire d un logiciel tiers, dont la licence représente un coût relativement élevé dans la facture totale de la solution Olympe (surtout pour les PME-PMI). C est pour fournir une alternative à ce fonctionnement que la société Proelan développe actuellement la prochaine version de son logiciel phare, Olympe 3.0. Cette nouvelle version sera une révolution par rapport aux précédentes versions, en effet, elle sera «full web», ce qui aura pour avantage d être multiplateforme. Maxime CHECCONI Page 11 / 49
12 Le sujet du stage était précisément de développer le module web de génération de rapport (outil de reporting). Ma tâche consistait donc à insérer dans le portail Olympe 3.0 un nouveau module permettant à l'utilisateur de créer lui-même son propre rapport à la manière des outils de création de formulaires tels que ceux présents dans les grands logiciels comme Visual Studio. Un tel développement dans un environnement web représente un vrai challenge du fait de la complexité de la tâche en regard des technologies disponibles pour le mener à bien mais également de la complexité des modules déjà développés. 2.2 Intégration dans l équipe La majorité des collaborateurs travaillent à l extérieur des bureaux du siège social, à savoir chez le principal client de la société qui est Thales situé également à Sophia Antipolis. Pour ma part, je travaille dans les locaux du siège social ou travaillent quotidiennement M. Yannick AUMAGE, mon tuteur et dirigeant, M. Laurent GOMEZ, qui est le directeur commercial, Mme Prisca RANDRIANARIVONY, qui occupe un poste de développeur. 3. Objectifs du stage et réalisation attendue 3.1 Objectifs professionnels Il y a plusieurs objectifs à réaliser au cours de ce stage : Satisfaire la société Proelan en proposant un travail sérieux et appliqué. Analyser les besoins. Intégration au sein de l entreprise. Organiser mon travail en utilisant mes compétences en gestion de projets pour mener le projet à terme. Assurer le suivi du projet du début jusqu à la fin. Satisfaire aux exigences de Proelan afin de décrocher un contrat d'embauche. 3.2 Objectifs personnels Au-delà des objectifs professionnels, je me suis fixé des objectifs personnels : Satisfaire aux objectifs professionnels en réalisant un travail sérieux et de qualité en adéquation avec les attentes de l entreprise. Découvrir un nouvel environnement professionnel. Répondre aux besoins de mes collaborateurs. Appliquer mes acquis aussi bien en informatique qu en gestion de projets. Enrichir mes acquis dans tous les domaines. Gérer un projet de manière autonome avec toutes les phases qu il comporte. Avoir une proposition de contrat d'embauche à la fin des six mois de stage. Maxime CHECCONI Page 12 / 49
13 4. Outils et méthodes utilisés 4.1 Principe d un portail Web Un portail web est un site web qui donne la possibilité d accéder à de nombreuses ressources et services par l intermédiaire d un point d entrée unique. Dans la majorité des cas, une authentification est nécessaire pour accéder à l'ensemble des services proposés. Les utilisateurs doivent donc s enregistrer à un portail afin de pouvoir s y connecter ultérieurement et ainsi profiter des tous les services. Après authentification sur un portail web, l utilisateur dispose d'un espace de travail qui est généralement entièrement personnalisable grâce à des éléments d'interface Home Machine (IHM) de base : les portlets. Un portlet est une application informatique qui joue le rôle d'un conteneur que l on place dans un portail web pour enrichir celui-ci. Un portlet est donc un composant web qui est capable de traiter une ou plusieurs requêtes afin de générer dynamiquement du contenu dans une page web. Les portails web sont souvent des sites communautaires qui tentent de rassembler un ensemble de services pouvant intéresser les internautes. Cependant, en ce qui concerne les entreprises, un portail web est souvent utilisé pour centraliser et faciliter la navigation entre les nombreux outils web existants. Le fait de mettre en place un portail web dans une société permet de bénéficier d une charte graphique commune, d une authentification unique pour accéder aux différentes ressources et donne la possibilité de personnaliser l espace de travail en fonction de l utilisateur connecté (profil, droit d'accès,...). C est peut-être pour ces différentes raisons que Proelan a décidé de développer une solution de reporting autour d'un portail web. Le reporting étant un composant essentiel de la Business Intelligence, il est important de comprendre ce que représente la Business Intelligence. 4.2 La Business Intelligence (Informatique décisionnelle) L informatique décisionnelle (en anglais : BI pour Business Intelligence) correspond aux moyens, aux outils et aux méthodes qui permettent de collecter, modéliser et restituer les données, matérielles ou immatérielles, d une entreprise dans le but d'offrir une aide à la décision et ainsi permettre aux responsables de la stratégie d entreprise d avoir une vue d ensemble de l activité traitée. De manière générale, une application mettant en œuvre l informatique décisionnelle utilise un entrepôt de données (datawarehouse) pour stocker les données provenant de plusieurs sources hétérogènes et procède à des traitements par lots pour collecter les informations. On trouve l informatique décisionnelle au sein d'une architecture plus complexe qui est celle d un système d'information. On comprend bien donc l'importance que peut avoir cette discipline dans un système d information et plus généralement dans l entreprise. L informatique décisionnelle dispose de nombreux enjeux, ce qui a entrainé de plus en plus d'entreprise à fonder leur business model sur la Business Intelligence. Maxime CHECCONI Page 13 / 49
14 Actuellement, une entreprise collecte de nombreuses données chaque jours qui sont stockées dans une (ou plusieurs) base(s) de données relationnelle(s) ou non. Par la suite, ces données sont ensuite extraites, transformées et chargées dans un entrepôt de données par l'intermédiaire d'un outil de type ETL (Extract-Transform-Load). Le but d un entrepôt de données est de produire des rapports permettant de répondre à des questions simples (qu'est ce qui c'est passé?), à des questions analytiques (pourquoi est ce que cela s'est passé?) mais aussi à des questions pronostiques (qu'est ce qu'il va se passer?). L informatique décisionnelle permet principalement de mesurer un certain nombre d indicateurs (appelés aussi faits ou métriques) pour être ensuite restitué selon des axes d analyse (dimensions). On distingue plusieurs outils (appelés tableau de bord) permettant de représenter le résultat de la mesure : Le tableau : on l utilise lorsque l on veut représenter des indicateurs selon deux axes. Les tableaux croisés des principaux tableurs permettent de construire ce type de tableau de bord à partir d une base de données. Le cube : on l utilise lorsque intervient un troisième axe, ce qui a pour effet de créer une dimension de plus, ce qui nous fait passer du tableau au cube. Les tableaux croisés dynamiques permettent de représenter ce type de tableau de bord. L'hypercube : on l utilise lorsque intervient plus de trois axes. On distingue également quatre fonctions essentielles de l informatique décisionnelle : La collecte de données qui correspond à l extraction et à la sélection de données. L intégration qui correspond à la concentration des données dans un entrepôt de données. La diffusion qui est la mise à disposition des données aux utilisateurs. La présentation qui correspond à la consultation du résultat par l utilisateur. L informatique décisionnelle est composée de plusieurs applications permettant aux décideurs de prendre la meilleure décision possible pour leur entreprise. Parmi ces applications, le reporting est la plus utilisée. 4.3 Les outils de reporting Les outils de reporting permettent de présenter un ensemble de données selon des axes d analyse choisis par l utilisateur. Ils permettent donc de faire le rapport d activité de l entreprise en analysant le fonctionnement de l entreprise dans un ou plusieurs domaines pour une période donnée. D une manière plus générale, ils permettent de fournir une présentation périodique de rapports sur les activités et résultats d une organisation afin d'en informer ceux qui sont concernés par ces activités ou résultats. Maxime CHECCONI Page 14 / 49
15 Le reporting est donc une technique informatique de préparation de ces rapports, consistant à extraire des données pour les présenter dans un format lisible. Voici les différentes étapes mises en œuvre par un outil de reporting : Ciblage des sources de données à rassembler (données filtrées ou non) avec un paramétrage ou non (paramétrées en fonction d'une année par exemple). Extraction des informations utiles (groupement, tris,...). Mise en forme du rapport (le modèle, le template). Génération du rapport sous une forme lisible. Diffusion du rapport (intranet, , document,...). Voici une liste des outils de reporting disponibles sur le marché : Business Object. SAS. Cognos (possédé par IBM). Oracle. SAP. Crystal Report (possédé par SAP). ireport (utilisant la librairie open source JasperReport). 4.4 Technologies utilisées Technologies utilisées côté client Le langage JavaScript orienté objet JavaScript est un langage de programmation de scripts principalement utilisé dans les pages web interactives. La redécouverte ces dernières années de la puissance du langage a remis au goût du jour son orientation objet qui était plutôt sous utilisée. Ceci s explique par le fait que le JavaScript n est pas un langage objet comme on l entendrait en parlant de Java, ou de C++, mais un langage qui peut simuler le comportement objet. En effet, le langage ne possède pas de mot clé pour définir une classe ou une interface, pas plus qu'il ne peut explicitement gérer l'héritage. Néanmoins, la nature dynamique du langage permet de passer outre ces limitations pour arriver à un résultat sensiblement comparable. En JavaScript, tous les objets (ceux natifs du navigateur, ou ceux créés par programmation) sont constitués de paires clé/valeur, où la clé est le nom de la propriété (qui peut être une fonction). De cette façon, on peut définir une classe comme étant un objet auquel on attache des propriétés via le mot clé «this». Maxime CHECCONI Page 15 / 49
16 Le Model Objet de Document (DOM) Le DOM est la technologie sous-jacente à toute page HTML et qui lui donne son comportement dynamique. Par l intermédiaire de cette technologie, on peut facilement créer des pages au comportement dynamique coté client et arriver au même résultat que ce que l on obtiendrait en générant du html coté serveur. La création de l interface utilisateur s'appuie sur ce principe, en y ajoutant l idée que l on peut de cette manière construire des objets graphiques qui seront ajoutés à l interface de manière centralisée. Ainsi, en plus d objets JavaScript simples permettant la création de toutes les balises HTML, des contrôles plus compliqués peuvent par exemple afficher un calendrier, une grille de données, des éditeurs de texte, des boîtes à onglets, etc par simple appel d une méthode. Le langage XML XML est un langage informatique de balisage générique. Il sert essentiellement à stocker/transférer des données de type texte Unicode structurées en champs arborescents. Ce langage est qualifié d extensible car il permet à l utilisateur de définir les balises des éléments. L utilisateur peut multiplier les espaces de nommage des balises et emprunter les définitions d autres utilisateurs. La technologie Ajax Ajax est un acronyme pour Asynchronous JavaScript and XML («XML et Javascript asynchrones») et désignant une solution informatique libre pour le développement de pages dynamiques et d applications Web. Il est important de noter qu Ajax n est pas une technologie en elle-même, mais un terme qui évoque l utilisation conjointe d un ensemble de technologies libres couramment utilisées sur le web : HTML (ou XHTML) pour la structure sémantique des informations. CSS pour la présentation des informations. DOM et JavaScript pour afficher et interagir dynamiquement avec l information présentée. L objet XMLHttpRequest pour échanger et manipuler les données de manière asynchrone avec le serveur web. XML pour remplacer le format des données informatives (JSON) et visuelles (HTML). Les applications Ajax peuvent être utilisées au sein des navigateurs web qui supportent les technologies décrites précédemment. Parmi eux, on trouve Mozilla Firefox, Internet Explorer, Konqueror, Google Chrome, Safari et Opera. Ajax et plus particulièrement l objet XmlHttpRequest est devenu la base sur laquelle toutes les applications web dites 2.0 sont construites. Le portail Olympe n échappe pas à cette règle puisque c est par lui que sont transportées les requêtes http du client vers le serveur. En effet, le portail étant composé d une unique page web, les requêtes ne sont pas déclenchées par les transitions entre pages lorsque l utilisateur clic sur un lien ou valide un formulaire par exemple, mais par des actions JavaScript, tels un clic sur un élément HTML, la pression d une touche au clavier, etc. Maxime CHECCONI Page 16 / 49
17 4.4.2 Technologies utilisées côté serveur Le langage Java/J2EE Le langage Java est un langage de programmation informatique orienté objet qui est multiplateforme et permet de bénéficier de tous les avantages d'un langage orienté objet comme la réutilisabilité, et l encapsulation. Le langage Java a la particularité principale que les logiciels écrits avec ce dernier sont très facilement portables sur plusieurs systèmes d exploitation tels qu UNIX, Microsoft Windows, Mac OS ou GNU/Linux avec peu ou pas de modifications. C est la plate-forme qui garantit la portabilité des applications développées en Java. Java permet de développer des applications client-serveur. Côté client, les applets sont à l origine de la notoriété du langage. C'est surtout côté serveur que Java s est imposé dans le milieu de l entreprise grâce aux servlets, le pendant serveur des applets, et plus récemment les JSP (JavaServer Pages) qui peuvent se substituer à PHP, ASP et ASP.NET. Java Enterprise Edition, ou Java EE (anciennement J2EE), est une spécification pour la technique Java de Sun (racheté récemment par Oracle) plus particulièrement destinée aux applications d entreprise. Dans ce but, toute implémentation de cette spécification contient un ensemble d extensions au framework Java standard (JSE, Java Standard Edition) afin de faciliter la création d applications réparties. La technologie Java EE est utilisée sur le serveur pour gérer toute la partie métier d Olympe, c est à dire que c'est par elle que sont gérés tous les accès aux bases de données et que sont effectués tous les traitements ayant trait à la logique applicative du portail. Toute la partie graphique de l interface étant déléguée coté client à JavaScript, les servlets Java EE peuvent être vues comme le point d entrée de la partie applicative du portail, appelées par les requêtes Ajax pour accéder aux couches métiers. L api JDOM L utilisation de XML coté serveur est également présente, notamment pour tout ce qui concerne la gestion des sources de données. Il permet de créer facilement des arbres XML à partir de chaînes de caractères reçues via Ajax par exemple et de valider à la volée un arbre XML à partir d'un DTD L IDE MyEclipse MyEclipse est un environnement de développement intégré supportant Java EE et Ajax créé et maintenu par la société Genuitec qui est co-fondateur de la fondation Eclipse. MyEclipse est fondé sur la plateforme Eclipse mais intègre par défaut des plugins comme un gestionnaire de base de données (Derby) et un serveur d'application (Tomcat). Proelan utilise la version "Blue Edition" de MyEclipse qui est une version personnalisé pour les produits d IBM (WebSphere...). Il est important de noter que MyEclipse Blue Edition est disponible que sous environnement Windows. Maxime CHECCONI Page 17 / 49
18 4.4.4 La base de données Apache Derby Apache Derby est un moteur de base de données relationnelle léger et multiplateforme basé sur le langage Java. De ce fait, il peut être facilement intégré dans toute application Java. JDBC et SQL constituent les interfaces de programmation utilisées pour effectuer des requêtes sur une base de données utilisant Apache Derby Le pack Office La suite office a été utilisée afin de pouvoir réaliser les diverses tâches bureautiques pour fournir à mes collaborateurs un ensemble de documents tels que la documentation technique ou l échéancier. Maxime CHECCONI Page 18 / 49
19 5. Les phases et les réalisations 5.1 Le plan de travail réalisé Semaines Semaine du 15 février au 21 février Semaine du 22 février au 28 février Semaine du 1 er mars au 7 mars Tâches Etude du portail Web Olympe Etude des outils de reporting du marché et de l outil de reporting précédemment développé Conception et spécifications de la suite de l application, début du développement de la fonctionnalité de sauvegarde et d ouverture de modèles (pour se former au code) Semaine du 8 mars au 14 mars Continuation du développement des fonctionnalités de sauvegarde et d ouverture de modèles, début de la rédaction de la documentation technique Semaine du 15 mars au 21 mars Semaine du 22 mars au 28 mars Semaine du 29 mars au 4 avril Semaine du 5 avril au 11 avril Semaine du 12 avril au 18 avril Semaine du 19 avril au 25 avril Finition des fonctionnalités de sauvegarde et d ouverture de modèles, tests divers et intégration de l outil dans la nouvelle version d Olympe en cours de développement, réflexion sur l architecture du projet et mise en place d un SVN Conception générale sur l application, développement d un parseur XML en Java, développement d un builder de fichier XML en Java, développement d une feuille XSL pour produire du HTML à partir d un document XML, début du développement des fonctionnalités permettant la génération d un rapport au format HTML Amélioration de l interface utilisateur, développement de classes permettant de gérer une connexion à une base de données de type Derby Mise en place d une architecture côté serveur sous forme de services, développement de l interface permettant de gérer les modèles de rapports de l utilisateur (ajout, suppression, recherche, ), développement d un composant JavaScript permettant de modéliser un tableau Finition du développement de l interface permettant de gérer les modèles de rapports Développement de l interface permettant de créer une nouvelle source de données Maxime CHECCONI Page 19 / 49
20 avec gestion de l historique des connexions de l utilisateur, spécifications concernant la gestion de la requête SQL associée à un modèle Semaine du 26 avril au 2 mai Développement de l interface de construction et gestion de la clause Where Semaine du 3 mai au 9 mai Développement de l interface de construction et gestion des jointures Semaine du 10 mai au 16 mai Finition de l interface de construction et gestion des jointures, développement de fonctionnalités permettant de mettre à jour dynamiquement la requête SQL associée à un modèle, développement de l interface Semaine du 17 mai au 23 mai de visualisation de la requête SQL Spécifications sur un nouveau composant permettant de créer une table ou une colonne de la source de données dans la zone de modélisation, début du développement de ce composant, début rédaction du rapport de stage préliminaire Semaine du 24 mai au 30 mai Continuation du développement du composant précédemment cité, finition du rapport de stage préliminaire Semaine du 31 mai au 6 juin Semaine du 7 juin au 13 juin Semaine du 14 juin au 20 juin Semaine du 21 juin au 27 juin Semaine du 28 juin au 4 juillet Finition du composant permettant de créer une table ou une colonne de la source de données dans la zone de modélisation (container de colonnes ou tables), optimisation du code Spécifications, tests divers, modification de certaines fonctionnalités permettant de prendre en compte les nouveaux composants créés (container de colonnes ou tables), correction de bugs d affichage, amélioration de l interface utilisateur Mise en place de fonctionnalité permettant de stocker la requête SQL, développement d une interface permettant de lancer la génération d un rapport avec choix du format et de la destination Développement d une interface permettant de gérer la clause OrderBy de la requête SQL (ordonnancement), correction de bugs divers, test de l application sur le réseau et test multiutilisateurs Etude sur les API libres permettant de générer des rapports, documentation sur JasperReport, étude du fonctionnement de JasperReport Semaine du 5 juillet au 11 juillet test des possibilités offertes par JasperReport, développement de Maxime CHECCONI Page 20 / 49
21 fonctionnalités permettant de générer un rapport avec JasperReport Semaine du 12 juillet au 18 juillet Nouveau projet, étude du projet de Vidéo Profile développé en PHP Semaine du 19 juillet au 25 juillet Développement d une zone d administration pour le projet de Vidéo Profile, zone d administration permettant de gérer les clients de l application (ajout, suppression, modification) Semaine du 26 juillet au 1er août Intégration du développement effectué dans l application existante du projet de Vidéo Profile, correction de bugs divers permettant d assurer la compatibilité avec la majorité des navigateurs Semaine du 2 août au 8 août Rédaction de la documentation technique du projet de reporting Semaine du 9 août au 15 août Rédaction du rapport final Maxime CHECCONI Page 21 / 49
22 5.2 Les phases Etude de l existant Etude du portail Web Olympe J ai consacré les premiers jours de mon stage à comprendre le fonctionnement du portail Olympe, ainsi que le travail que l on attendait de moi. Outre la partie strictement technique qui concernait le développement et pour laquelle j avais déjà de bonnes bases, j ai dû également me familiariser avec une discipline informatique que je ne connaissais pas : la Business Intelligence (Informatique Décisionnelle). L objectif de la nouvelle version d'olympe est de regrouper de multiples applications au sein d un même portail, telles que le module de reporting dont j avais la charge. Au moment où je suis arrivé, la seule chose qui existait était le portail lui-même, c'est-à-dire la structure dans laquelle doivent s intégrer tous les autres modules. La caractéristique la plus remarquable du portail est qu il est en fait composé d'une unique page HTML, elle-même réduite à sa plus simple expression puisque sa structure est composée d un corps (élément body) vide appelant au chargement une suite de fonctions qui construisent dynamiquement l interface. En fait, toute la structure HTML est déportée dans des fichiers XML où sont décrits les composants à afficher (panel, texte area, combo box,...) qui seront ensuite chargés par un objet JavaScript via le Model Objet Document (DOM). La compréhension globale du principe de fonctionnement qui était mis en œuvre m a pris près d une semaine car dans l ensemble, les objets qui réalisent la génération de l interface utilisateur sont complexes, et interagissent entre eux-mêmes et le serveur pour générer et récupérer les informations dont ils ont besoin. Tout ceci étant rendu possible par l utilisation massive de JavaScript qui est un langage assez laxiste (objet non typé...). Etude des outils de reporting La seconde semaine, j ai dû apprendre rapidement quelques bases afin de découvrir à quoi ressemblait un outil de reporting et quelles étaient les possibilités qu offraient les principaux produits du marché. Pour cela, mon tuteur m'a montré le fonctionnement et plus précisément la conception et génération de rapports avec les deux produits leaders du marché que sont Cristal Report et Cognos. De ce processus, j ai constaté que dans tous ces produits, la première étape qui était proposée à l utilisateur était de sélectionner la source qui fournirait les données à inclure dans le rapport, puis de créer la requête SQL qui sélectionnerait les données dans la source. Ensuite seulement, l éditeur (l'espace de travail de l'utilisateur) était accessible. Ceci fait, l utilisateur devait placer dans l éditeur les différents éléments qu il souhaitait voir apparaître dans son rapport lors de la génération. De nombreux outils étaient à la disposition de l'utilisateur, tels que la construction de tableaux, d images, de tables ou encore d outils plus simple tels que l insertion de la date ou du numéro de page. Maxime CHECCONI Page 22 / 49
23 Il était également essentiel de remarquer la forme générale de l éditeur. En effet, celui-ci se décompose en trois parties distinctes : Un en-tête de page. Un corps de page. Un pied de page. Après avoir étudié le fonctionnement général des outils de reporting, il fallait que j étudie l outil de reporting développé par un précédent stagiaire. Etude de l outil de reporting existant Cette étape était très importante à comprendre, car il fallait continuer le développement de cet outil qui contenait de bonnes bases sur l édition d un modèle de rapports. Afin de mieux comprendre la suite de ce rapport (notamment les parties concernant les réalisations), une présentation de l outil existant va être effectuée. Voici l interface de base : Zone de navigation Zone outils Zone d édition ou de modélisation Cette interface se compose : D une zone d édition ou de modélisation dans laquelle on va créer des objets. D une zone outils qui contient tous les outils disponibles que l utilisateur peut insérer dans la zone d édition. D une zone de navigation qui contient tous les menus proposés à l utilisateur (création d une source de données, alignement, ). Le contenu de ces zones sera chargé dynamiquement par du JavaScript (cf Développement). Maxime CHECCONI Page 23 / 49
24 La zone outils Cette zone est composée d un onglet «Data wharehouse» et d un onglet «tools». Voici l onglet «Data wharehouse» : Cet onglet représente une source de données précédemment ouverte par l utilisateur. Chaque nœud de cet arbre représente une table de la source de données et de la même manière chaque fils représente un attribut de cette table. Une table ou un attribut peuvent être insérés dans la zone de modélisation en effectuant un drag & drop. Lors de la génération finale d un rapport, les objets présents dans la zone de modélisation seront automatiquement remplacés par les données contenues présentes sur le serveur. Voici l onglet «Tools» : Cette zone contient les six outils qui permettent de créer les objets associés (souris pour la sélection, texte area, forme pouvant contenir d autres objets, un tableau, l heure courante, la date courante, ) dans la zone de modélisation. L environnement global Maxime CHECCONI Page 24 / 49
25 Dans cette image, on voit bien toutes les zones : Zone de modélisation (avec un en-tête de page, un corps de page et un pied de page La zone outil avec les deux onglets (Data wharehouse et Tools). La zone de navigation (File, help, ) Conception et modélisation technique La phase de conception et de modélisation technique concerne essentiellement la partie côté serveur. En effet, pour la partie côté client, une analyse de l existant a été effectuée afin de procéder de la même manière pour la suite du projet. Cette phase intervient en amont de chaque développement de nouvelles fonctionnalités afin de modéliser le besoin et d anticiper les éventuels problèmes que l'on pourrait avoir pendant le développement Développement Dans Olympe, les interfaces graphiques du portail ne sont pas construites directement via les méthodes du DOM, ou par une page HTML classique, mais indirectement. En effet, chaque partie de l interface est décrite dans un fichier XML dans lequel les balises correspondent à un objet JavaScript pouvant recréer la balise HTML correspondante. Chaque fichier XML est donc chargé depuis le serveur et son contenu est envoyé à un objet qui va l analyser tag par tag pour utiliser le builder approprié afin de recréer l interface. Me conformant à cette façon de développer, j ai adopté pour cette partie ce que je qualifierais de mode «semi-objet», c'est-à-dire que globalement le code est séparé en objets, mais ces objets n'existent qu en une seule instance. De plus, les méthodes qu ils possèdent ne manipulent aucune propriété interne, elles se contentent d effectuer un traitement sur les objets passés en paramètres. Grossièrement, on pourrait voir cela comme définir des objets qui n auraient que des méthodes statiques et aucune propriété. Cela permet d organiser le code en ensembles fonctionnels (par exemple, toutes les méthodes traitant des données spécifiques au navigateur dans un objet JSBrowser, et toutes les méthodes traitant les cookies dans un objet JSCookie, etc) Tests Afin de fournir un produit de qualité et fiable et surtout qui réponde aux attentes de mes collaborateurs, plusieurs séries de tests ont été effectuées avant, pendant et après chaque fonctionnalité développée. Maxime CHECCONI Page 25 / 49
26 5.2.5 Documentation technique La phase de documentation technique est une étape importante parce qu elle permet de décrire la manière de procéder pour réaliser les différentes fonctionnalités du projet. Elle pourra servir notamment si une autre personne est amenée à intégrer le projet. En effet, la documentation lui permettra de mieux comprendre les aspects techniques du projet qui peuvent parfois être complexes Gestion de projet Outre la rédaction des spécifications et la rédaction de la documentation technique, un suivi de projet a été mis en place. En effet, des réunions hebdomadaires étaient organisées avec mon encadrant durant lesquelles je devais présenter un échéancier avec toutes les tâches qu il fallait réaliser et le temps estimé pour chaque tâches. Cela permettait donc de suivre l avancement du travail et de discuter des choix techniques à faire pour la suite du projet. 5.3 Les réalisations Il est important de comprendre que la majorité des fonctionnalités développées concerne le back-office (la partie métier ou logique) de l application et non pas le front-office (la partie interface utilisateur). De plus, les interfaces utilisateurs développées pourront évoluées au cours du temps Développement de l outil «hyperlink» Le développement de cet outil permet de glisser-déposer un objet représentant un lien hypertexte dans la zone de modélisation. Lorsqu on clique sur l outil et qu on le dépose dans la zone de modélisation, une fenêtre modale s ouvre nous demandant de rentrer le titre du lien et l url qui sera pointé par le lien. Lors de la génération du rapport, l objet sera remplacé par un lien hypertexte ayant pour titre et url, les valeurs rentrées lors de la création de l'objet Développement de l outil «image» Le développement de cet outil permet de glisser-déposer un objet représentant une image dans la zone de modélisation. Lorsqu on clique sur l outil et qu'on le dépose dans la zone de modélisation, une fenêtre modale s ouvre nous demandant de rentrer l url de l'image. Lors de la génération du rapport, l objet sera remplacé par une image ayant pour url, la valeur rentrée lors de la création de l'objet Développement de l outil «pagenumber» Le développement de cet outil permet de glisser-déposer un objet représentant un numéro de page dans la zone de modélisation. Lors de la génération du rapport, l'objet sera remplacé par le numéro de page courant. Maxime CHECCONI Page 26 / 49
27 5.3.4 Développement de l outil représentant une colonne de la source de données Le développement de cet outil permet de glisser-déposer un objet représentant un attribut d une table de la source de données dans la zone de modélisation. Cet objet se présente sous cette forme : Cet objet est un tableau à une colonne et deux lignes. La première ligne indique le nom de la colonne, et la deuxième indique le type de la colonne. Lors de la génération du rapport, cette colonne sera remplacée par toutes les valeurs présentes dans la table Développement de l outil représentant un container de colonnes ou de tables de la source de données Dès que l utilisateur dépose dans la zone de modélisation, une colonne ou une table provenant de la source de données, ce container sera créé. Ce container se présente sous cette forme : On aperçoit un container composé de colonnes que l utilisateur a glissées-déposées et une zone vide juste à côté. Cette zone permettra d accueillir d autres colonnes ou tables, en effet, cette zone est «droppable». De plus à partir du moment ou l utilisateur a déposé une colonne ou une table dans la zone de modélisation et que le container a été créé, il pourra déposer des nouvelles colonnes / tables uniquement dans la zone vide du container déjà présent dans la zone de modélisation. Lorsque l utilisateur dépose une colonne ou une table entière dans la zone de modélisation, une requête SQL (clause Select et From) se génère dynamiquement, c est également pour cela que l utilisateur ne peut pas créer plusieurs containers de colonnes / tables car sinon il y aurait plusieurs requêtes SQL générés, or un rapport ne peut être rattaché qu a une seule requête SQL. Lorsque l utilisateur clique deux fois sur une colonne du container alors, une zone vide «droppable» se créée permettant de déposer des nouvelles colonnes ou tables de la source de données. Voici comment cela se présente : L utilisateur a effectué un double clique sur la colonne «OBID», ce qui a provoqué la création d une zone «droppable» entre la colonne «OBID» et «IDENTIFICATION». Maxime CHECCONI Page 27 / 49
28 L utilisateur a la possibilité d ordonner les colonnes du container, pour cela il a juste à cliquer (en maintenant le bouton de la souris enfoncé) sur une colonne et à la déplacer vers une zone «droppable» dans laquelle il pourra la déposer. Voici comment cela se présente : Maxime CHECCONI Page 28 / 49
29 5.3.6 Sauvegarde d un modèle de rapports Cette fonctionnalité est très importante car l outil n aurait aucun intérêt si l'utilisateur ne pouvait pas enregistrer ces modèles de rapports (templates) pour pouvoir générer les rapports correspondants ultérieurement. Pour réaliser cette fonctionnalité, je me suis conformé à la manière de développer les objets dans Olympe et l outil de reporting existant (cf. développement et organisation). J'ai donc parcouru la structure HTML de la zone de modélisation pour récupérer tous les objets présents (tableau, hyperlink, image, pagenumber, texte area) afin de les stocker dans un fichier XML. Le fichier XML représentant la structure du modèle de rapports est stocké de manière physique sur le serveur dans un dossier nommé «reportmodels». De plus, une table a été créée dans la base de données pour stocker les modèles de rapports car il fallait pouvoir représenter le fait qu un utilisateur pouvait avoir plusieurs modèles de rapports mais qu'un modèle de rapports n'appartenait qu à un seul utilisateur. Voici la structure de cette table : Attributs Type Description OBID Numérique Identifiant interne, généré automatiquement FILE_NAME Car Nom du modèle OBID_USER Numérique Identifiant utilisateur, propriétaire du modèle DATE_CREATION Date Date de création du modèle MODIFY_BY Car Identifiant de l utilisateur ayant modifié le modèle DATE_MODIF Date Dernière date de modification ISPUBLIC Car Y/N identifie si le modèle est public, visible de tous ISMODEL Car Y/N identifie si le modèle est un template A chaque sauvegarde d un modèle de rapports, une vérification est faite pour vérifier qu un enregistrement correspondant au modèle que l utilisateur souhaite sauvegarder n est pas déjà présent dans la base. Si un enregistrement est déjà présent, alors juste la date de modification est mise à jour, sinon un nouvel enregistrement est créé dans la base pour sauvegarder les informations du modèle courant. Maxime CHECCONI Page 29 / 49
30 Au niveau de l'interface utilisateur, voici comment cela se présente : Avant de sauvegarder le modèle il faut renseigner différentes informations dont : Le nom du modèle, une vérification est faite sur le nom du modèle pour indiquer si le nom entré par l utilisateur n existe pas déjà. Si le nom existe déjà, une confirmation pour écraser l ancien modèle sera demandée à l utilisateur. Dire si le modèle est public ou non. Un modèle public pourra être vu par tous les utilisateurs alors qu un modèle non public ne pourra être vu que par son créateur. Maxime CHECCONI Page 30 / 49
31 5.3.7 Ouverture d un modèle de rapports Cette fonctionnalité est le pendant de la sauvegarde. En effet, une fois la sauvegarde d un modèle de rapports effectuée, il faut un moyen pour le rouvrir afin de pouvoir soit le compléter/modifier, soit le générer avec les données courantes de la base de données. Au niveau de l'interface utilisateur, voici comment cela se présente : L utilisateur choisit donc un modèle de rapports dans la liste disponible contenant tous les modèles disponibles appartenant soit à l utilisateur courant soit à un autre utilisateur ayant rendu ses modèles publics. A partir du moment où l utilisateur ouvre un modèle de rapports, le fichier XML décrivant le modèle est récupéré et interprété. C est à dire qu un parcours du fichier XML est réalisé afin de créer tous les objets présents dans la zone de modélisation. De plus, un modèle peut-être rattaché à une source de données particulière, si tel est le cas, cette source de données sera chargée en même temps que le modèle Interface de gestion des modèles de rapports Après le développement des fonctionnalités permettant de sauvegarder un modèle et de le rouvrir, il fallait qu un utilisateur ait la possibilité de gérer tous les modèles de rapports dont il avait l accès. C est pour cette raison qu'une interface a été développée à cet effet permettant : De lister tous les modèles de rapports dont l utilisateur connecté a accès. De supprimer un modèle de rapports précédemment sélectionné. De faire une recherche sur les modèles de rapports dont l'utilisateur a accès à partir du nom du modèle ou du nom du créateur ou tout simplement d effectuer une recherche sur les modèles publics. Maxime CHECCONI Page 31 / 49
32 Au niveau de l'interface utilisateur, voici comment cela se présente : Voici l interface de recherche : Maxime CHECCONI Page 32 / 49
33 5.3.9 Connexion à une nouvelle source de données Cette fonctionnalité fait partie des plus importantes car c est une des bases d un outil de reporting. En effet, rien ne doit être possible avec l outil tant que l utilisateur ne s est pas connecté à une source de données. C est pour cette raison qu il fallait un moyen pour que l utilisateur puisse se connecter à une source de données existante en renseignant plusieurs paramètres tels que : Le type de la base à laquelle il souhaite se connecter (Derby,...). Le nom de base (de la forme par exemple, c:/base/olympe). Le serveur (localhost). Le port. Le nom d'utilisateur. Le mot de passe. Une gestion de l historique a été mise en place, pour cela, une table dans la base a été créée dont voici la structure : Attributs Type Description OBID Numérique Identifiant interne, généré automatiquement OBID_USER Numérique Identifiant utilisateur USERNAME Car Identifiant de connexion de l utilisateur PASSWORD Car Mot de passe de l utilisateur DBNAME Car Nom de la base HOST Car Nom du serveur PORT Numérique Numéro de port OBID_JDBC Numérique Identifiant associé au type de la base LAST_CONNECTION Date Date de dernière connexion A chaque connexion à une nouvelle source de données, un enregistrement est créé dans la base et si cette source de données existe déjà, alors juste la date de dernière connexion est mise à jour. Maxime CHECCONI Page 33 / 49
34 Au niveau de l'interface utilisateur pour créer une nouvelle connexion, voici comment cela se présente : Au niveau de l'interface utilisateur pour afficher l historique des connexions, voici comment cela se présente : L utilisateur a plus qu à choisir une connexion parmi celle se trouvant dans le tableau pour charger la source de données correspondante dans l environnement. Maxime CHECCONI Page 34 / 49
35 Génération de la requête SQL La génération d une requête est également une des étapes essentielles du fonctionnement d un outil de reporting parce que c est la requête qui détermine l extraction de données que l on va faire à partir de la source et qui va constituer le corps du document lors de la génération du rapport. Afin de faciliter l implémentation de l outil, un rapport sera associé à une seule source de données et à une seule requête SQL. Si l utilisateur veut faire plusieurs extractions de données (plusieurs requêtes SQL), la notion de sous-rapport intervient mais pour l instant, l outil de reporting développé ne permettra pas de gérer la notion de sous-rapport. Interface de construction et gestion de la clause Where Cette interface a été développée pour permettre à l utilisateur de construire la clause Where de la requête SQL associée au rapport. Elle se présente sous cette forme : L utilisateur sélectionne un attribut dans le panneau «Sources de données». Ce panneau contient les tables présentes dans la zone de modélisation. A partir du moment où il sélectionne un attribut et qu il clique sur le bouton «>», le nom complet de l attribut apparaîtra dans le panneau «Where». Il pourra ensuite saisir au clavier l opération qu il veut appliquer à l attribut sélectionné. Après chaque action effectuée, la requête se met à jour dynamiquement. Le bouton «Tester» permet de tester la requête au niveau syntaxique. En effet, si la requête construite est valide syntaxiquement, le message «Votre requête est valide» apparaîtra, sinon un message décrivant l'erreur SQL s affichera. Le bouton «Valider» permet d enregistrer les modifications faites sur la requête SQL. Si l utilisateur modifie la clause Where et qu il ne valide pas, alors les changements ne seront pas pris en compte. Maxime CHECCONI Page 35 / 49
36 Interface de construction et gestion des jointures Cette interface a été développée pour permettre à l utilisateur de construire et gérer les jointures de la requête SQL associée au rapport. Pour des raisons de performance, les jointures sont gérées dans la clause From de la requête. L interface se présente sous cette forme : L utilisateur sélectionne deux attributs dans le panneau «Source de données». Ce panneau contient les tables présentes dans la zone de modélisation. A partir du moment où deux attributs sont sélectionnés (attribut n 1 et attribut n 2 sur l image) et qu il clique sur le bouton «>», un critère de jointure composé du couple d attributs apparaîtra dans le panel «Critères de jointures». A gauche du panel «Critères de jointures» (voir image), il y a deux flèches («haut», et «bas») permettant d ordonner les critères de jointure. Il est également possible de supprimer un critère de jointure en le sélectionnant au préalable. Après chaque action effectuée, la requête se met à jour dynamiquement. Le bouton «Tester» permet de tester la requête au niveau syntaxique. En effet, si la requête construite est valide syntaxiquement, le message «Votre requête est valide» apparaîtra, sinon un message décrivant l'erreur SQL s affichera. Le bouton «Valider» permet d enregistrer les modifications faites sur la requête SQL. Si l utilisateur modifie la jointure et qu il ne valide pas, alors les changements ne seront pas pris en compte. Maxime CHECCONI Page 36 / 49
37 Interface de gestion de la clause Order By Cette interface a été développée pour permettre à l utilisateur d ordonner les éléments de la clause Order By (attributs des tables présentes dans la requête SQL). L interface se présente sous cette forme : L utilisateur sélectionne un attribut présent dans le panneau et peut le faire monter ou descendre par l intermédiaire de deux flèches («haut», et «bas») présentes sur la droite, ce qui aura pour effet d ordonner les critères de la clause Order By. Le bouton «Valider» permet d enregistrer les modifications faites sur la requête SQL. Si l utilisateur change l ordre des éléments de la clause Order By et qu il ne valide pas, alors les changements ne seront pas pris en compte. Maxime CHECCONI Page 37 / 49
38 Interface de visualisation de la requête en cours d'édition Cette interface a été développée pour permettre à l utilisateur de visualiser la requête SQL associée au modèle en cours d édition. L interface se présente sous cette forme : C est une simple fenêtre dans lequel on voit toutes les clauses composant une requête SQL classique : Clause Select. Clause From. Clause Where. Clause Order By. Clause Group By. Maxime CHECCONI Page 38 / 49
39 Génération d un rapport simple Cette fonctionnalité représente la conséquence logique de toutes les fonctionnalités précédemment développées. Elle constitue une des principales fonctions attendues par un outil de reporting digne de ce nom. En effet, une fois que la source de données a été ciblé, que les informations utiles ont été extraites de cette source de données et enfin que le rapport a été mis en forme (conception du modèle, template), ll reste plus que la génération du rapport qui correspond à la dernière étape du principe de fonctionnement d un outil de reporting. Le but de l outil est de permettre la génération d un rapport à partir d un modèle dans divers formats (HTML, doc, pdf, ). Le plus simple étant de générer un rapport au format HTML. Pour réaliser cette fonctionnalité, la solution choisie a permit de se replonger dans les connaissances acquises au cours du cursus MIAGE. En effet, étant donné qu un modèle est au format XML, une feuille XSL a été utilisée pour produire du HTML. Plus précisément, voici la méthodologie : Développement d un parseur permettant d extraire du document XML décrivant la structure du rapport (template). Développement d un builder permettant de créer un nouveau document XML à partir des informations extraites précédemment. Cela a permit de construire un document XML plus simple et dont les informations inutiles pour la génération ont été supprimées. Développement d une feuille XSL permettant de définir la manière dont les éléments s afficheront lors de la génération du rapport. Développement d une fonctionnalité permettant d appliquer une feuille XSL à un document XML. Pour la génération de rapports dans les autres formats, cela est plus compliqué. Une étude a donc été réalisée pour voir quels outils étaient disponibles pour pouvoir générer des rapports dans divers formats. Maxime CHECCONI Page 39 / 49
40 Présentation de JasperReport JasperReports est un outil de reporting open source qui se présente sous la forme d une API Java pouvant être embarquée dans tout type d applications (web ou non). Sa puissance provient de sa gratuité et de sa simplicité de mise en œuvre. Son principe de fonctionnement est le suivant : 1. L API prend en entrée un document au format XML décrivant la structure du rapport. Ce fichier peut être vu comme un template dans lequel est décrit l agencement graphique des composants sur la page, mais aussi la façon de sélectionner les données à inclure dans le rapport (la requête SQL), les paramètres généraux du rapport, comme la langue à utiliser, d éventuels scripts écrit dans un langage dérivant de Java et permettant d appliquer des fonctions définies par l utilisateur suivant les valeurs du rapport, etc Créer un tel fichier était le but de l outil de reporting qui a été développé. 2. Ce document XML, généralement enregistré dans un fichier.jrxml, est envoyé à une des classes de l API qui le compile pour générer un fichier Java représentant le design du rapport dans un objet Java vide, c'est-à-dire qu à cette étape, les données ne sont pas ajoutées. Seuls sont définis les emplacements et la façon dont ces données seront rendues sur le rapport. Cette étape permet en outre de sérialiser cet objet Java dans un fichier pour une réutilisation ultérieure. 3. L objet JasperDesign issu de l étape précédente est chargé avec les données provenant d une des multiples sources que peut gérer l API (base de données via jdbc, ResultSet provenant d une base quelconque, JavaBean, fichier XML ou CSV, beans chargés via Hibernate, JPA, OLAP, etc ). Le résultat de cette opération est un objet pouvant être sérialisé représentant cette fois le design du rapport, rempli avec les données qu il doit recevoir. C est l étape la plus longue du processus car elle nécessite d exploiter toutes les données qui lui sont passées pour les ajouter au rapport suivant les règles définies par le template. 4. L étape finale permet d exporter le rapport dans un des multiples formats compréhensibles par l utilisateur (PDF, fichier Excel, format HTML ou XML, RTF, impression). Pour cette étape, l API a besoin d utiliser des librairies tierces afin d effectuer l export. Maxime CHECCONI Page 40 / 49
41 La mise en œuvre de JasperReport dans l outil de reporting doit s effectuer en deux étapes : Tout d abord, il s agit de générer le document au format jrxml décrivant la structure du rapport (template). C est cette tâche que doit effectuer l éditeur graphique embarqué dans le module web développé et c est là que réside principalement la complexité du projet. En effet, tous les éléments que l utilisateur peut ajouter au rapport, comme les graphiques, les tableaux croisés, les sous rapports pour les plus complexes, mais également les éléments plus simples que sont toutes les zones de textes statiques ou dynamiques, les formes géométriques, les styles à appliquer, tous ces composants sont décrits sous forme XML dans une DTD comprenant une centaine d éléments, chacun de ces éléments pouvant avoir jusqu à trente ou quarante attributs. Cette masse d information représente donc le plus gros du travail, car arriver à fournir à l éditeur la façon de reproduire, ne serait-ce qu en partie, ces éléments est un travail très long et très complexe. La deuxième partie est beaucoup plus simple puisqu elle consiste uniquement à utiliser les fonctions de l API pour générer le rapport dans le format voulu. Pour cela, les classes fournies sont faciles à utiliser, et très souvent, il ne suffit que de quelques lignes de code pour effectuer l action souhaitée. Interface de génération d un rapport Cette interface a été développée pour permettre à l utilisateur de générer un rapport préalablement sauvegardé en fonction d un format et d une destination. L interface se présente sous cette forme : L utilisateur doit sélectionner un format de sortie pour son rapport (HTML, pdf, doc). A noter que seul le format HTML fonctionne pour le moment. L utilisateur doit également sélectionner une destination pour son rapport. Il existe deux types de destination : Fichier : le rapport est tout simplement généré et enregistrer dans un fichier sur le disque. Ecran : le rapport généré est enregistré sur le disque mais il est également ouvert dans une fenêtre permettant d en avoir un aperçu. Maxime CHECCONI Page 41 / 49
42 Cet aperçu se présente sous cette forme : Maxime CHECCONI Page 42 / 49
43 5.4 Les problèmes rencontrés Adaptation à l outil existant Un des principaux problèmes a été de m adapter à l outil de reporting existant (développement commençait par un précédent stagiaire) et à la manière de développer qui a été utilisée (cf. la partie sur l étude de l existant). Il est toujours difficile de reprendre une application qui a été développée par une autre personne donc la phase du stage concernant l étude de l existant a été très importante et primordiale pour la suite du projet. Cependant, il a fallut constamment s adapter pour ne pas avoir des choses redondantes. Tous les choix techniques ont donc été faits en fonction de tout ce qui existait déjà, ce qui a rendu plus difficile le développement de la suite de l application Internet Explorer / Firefox On entend souvent des critiques sur Internet Explorer et notamment sur le fait qu il ait été développé sans se soucier des standards, en particulier ceux de CSS et de javascript. Cependant, en tant qu utilisateur, on ne s en rend que rarement compte. En se plaçant du côté développeur, Internet Explorer devient vite désagréable. En effet, au niveau de la mise en page et du CSS, le moindre design un peu compliqué devient vite un calvaire lorsqu il s agit de le rendre compatible avec Internet Explorer surtout avec les versions antérieures à la version 7. Cependant, ces navigateurs ne sont pas à négliger puisque, par exemple, plus de 11% des internautes utilisent la version 6. Ainsi, pour arriver à un rendu similaire entre tous les navigateurs, il faut souvent passer des heures pour arriver à ses fins. Olympe a été initialement développé pour Internet Explorer, cependant un portage de la nouvelle version (version 3.0) a été effectué pour les autres navigateurs. L outil de reporting développé au cours de ce stage ne fonctionne pas sur Internet Explorer, un portage devra donc être réalisé une fois que l application sera entièrement fonctionnelle. Maxime CHECCONI Page 43 / 49
44 5.4.3 La génération des rapports La génération d un rapport est la dernière étape réalisée par un outil de reporting mais elle peut s avérer complexe. Dans notre outil, nous avons géré uniquement la génération de rapports au format HTML, tout simplement parce que la génération dans les autres formats est beaucoup plus complexe. Il était très difficile de générer des rapports dans d autres formats sans utiliser une API externe capable de faire cela. Notre choix s est arrêté sur l API JasperReport. Cette API est souvent utilisée en complément d un outil de modélisation de rapport, comme par exemple ireport. JasperReport génère un rapport à partir d un modèle définit dans un format XML précis (suivant une DTD précise). La difficulté résulte du fait que nous avons définit un format XML pour nos modèles créer par notre outil mais nous n avons pas développé de connecteurs capablent de convertir un modèle définit dans notre format en un modèle compatible avec le format de JasperReport. Cette étape peut s avérer très complexe et le rendu final n est pas garantit. De plus, JasperReport communique avec des librairies tierces pour exporter le rapport dans les formats autre que HTML. Il utilise notamment la librairie nommée «POI» pour générer un rapport au format Word ou Excel et d après certaines informations, cette librairie ne supporterait pas la charge au-delà d un certains nombres d informations. D où la difficulté de savoir si oui ou non on doit utiliser JasperReport. Maxime CHECCONI Page 44 / 49
45 5.5 Projet annexe : Vidéo Profile Au cours du cinquième mois de stage, Proelan a eu un besoins pour un des ses client : Vidéo Profile. Vidéo Profile est une société travaillant dans le milieu du football professionnel basé à Sophia Antipolis et composée d une vingtaine de salariés. Cette société vend à ses clients un service d enregistrement de vidéos de matchs de football diffusés à travers le monde. Ses clients peuvent être : Soit des agents de joueurs pour promouvoir leurs joueurs. Soit des clubs pour trouver des nouveaux joueurs. Proelan a développé une application qui est actuellement en production permettant aux clients ayant souscrit à un abonnement auprès de Vidéo Profile de se connecter et d effectuer des commandes de matchs Etude de l existant Une étude de l existant a été réalisée afin de comprendre comment l application était organisée. Cette application était composée de deux modules : Un module de recherche. Un module d historique des commandes. Le module de recherche permet d effectuer une recherche sur un match particulier. On distingue deux méthodes de recherches : Recherche par club en fonction du pays, du club et de la compétition. Recherche par équipe national en fonction du pays et de la compétition. Lorsque l utilisateur a trouvé le match qu il intéresse, il peut l ajouter à son panier puis lancer une commande auprès de Vidéo Profile. Les vidéos commandées sont mises à disposition du client soit par FTP (les clients possèdent un répertoire dédié), soit sur DVD avec envoie par courrier. Il existe plusieurs type de vidéos dont : Vidéo Match qui est une vidéo de quelques minutes d un match particulier. Vidéo Report qui est une vidéo de quelques minutes d un match mais centré sur un joueur en particulier. Le module d historique des commandes permet d afficher : L état des commandes qui résume l état des commandes du client (la durée du contrat, le nombre de matchs commandés, ). La liste de toutes les commandes qui montre le détail de chaque match commandé. Il est important de noter que cette application est multilingue. En effet, actuellement, les langues françaises et anglaises sont gérées par l application. Maxime CHECCONI Page 45 / 49
46 5.5.2 Technologies utilisés Les technologies utilisées pour réaliser ce projet annexe sont les suivantes : WampServer 2.0 : o Apache o MySQL o PHP HTML/CSS. JavaScript, XML, Ajax Travail réalisé Le travail réalisé a été fait en deux étapes, tout d abord, il fallait développer de nouvelles fonctionnalités, puis intégrer les nouvelles fonctionnalités dans l application existante. Développement de nouvelles fonctionnalités Il fallait tout d abord développer une zone d administration permettant d administrer le site pour les utilisateurs ayant un rôle de «manager». Cette zone d administration devait permettre la gestion des comptes clients, en effet, l utilisateur devait pouvoir : Créer un nouveau client dans l application. Rechercher un client en fonction de son type (club, agent, ou manager), du nom de la société auquel il appartient, et de son nom et prénom. A partir de la recherche, il fallait pouvoir Modifier les informations d un client. Supprimer un client. Ensuite, il fallait développer un module de vidéo à la demande en fonction des matchs commandés. En effet, Vidéo Profile voulait donner la possibilité à ses clients de consulter directement les vidéos sur l application en plus de l envoie par courrier et du mode FTP. Pour réaliser ce module, on a attribué à chaque client, un répertoire dédié sur le serveur qui est créé lors de la création du compte client. Lorsqu un utilisateur se connecte à l application, il peut désormais visualiser directement sur internet les vidéos commandées. Intégration des modules développés et tests Une fois le développement terminé, il fallait intégrer l ensemble des modules dans l application existante. Un nettoyage du code et des bases de données a été réalisé afin de rendre une application correctement développée et facilement maintenable. Ce qui était intéressant dans ce projet, c est que l on avait de vraies données, ce qui a permit de lancer des tests et de voir comment l application réagissait en conditions réelles de fonctionnement. Voici l environnement final : Maxime CHECCONI Page 46 / 49
47 Maxime CHECCONI Page 47 / 49
48 6. Bilan 6.1 Bilan personnel Ce stage a été très enrichissant dans de nombreux domaines. Dans un premier temps, il m a permis de découvrir une nouvelle entreprise avec son mode de fonctionnement et ses collaborateurs. J ai donc intégré une équipe de recherche et développement au sein d une structure dynamique. J ai également découvert l univers de la Business Intelligence, ce qui m a permis de mieux comprendre les concepts de l informatique décisionnel enseignés au cours de l année de Master 2 MIAGE à travers le cours d ingénierie organisationnel. Ce stage m a également permis de développer mes connaissances acquises tout au long de mon cursus MIAGE et de m épanouir dans un environnement qui me passionne qui est l univers du web. Tout en étant encadré, j ai du gérer un projet de recherche et développement en passant par toutes les phases (spécifications, modélisation, développement, tests, documentation). Par l intermédiaire des réunions hebdomadaires et de l échéancier que je devais mettre jour régulièrement, je me suis rendu compte que la gestion d un projet n est pas une tâche facile. Cependant tout cela m a considérablement fait progresser et sera certainement utiles dans mon avenir professionnel. Le principal regret que je nourris à propos de mon travail est de ne pas avoir pu aller plus loin dans le projet. En effet, le sujet était très long surtout pour une seule personne puisque j ai du apprendre de nouveaux concepts avant de pouvoir les mettre en œuvre. La compréhension du sujet et l adaptation à la manière de développer m ont pris beaucoup plus de temps que je ne l avais escompté. Pour conclure, le bilan de ce stage est sans conteste positif au vu de l expérience acquise et l ambiance dans laquelle il s est réalisé. Ce stage était d autant plus important pour moi car il constituait la fin de mes études et donc le début de ma vie professionnel, j en garderai un très bon souvenir. 6.2 Bilan professionnel Je ne suis pas bien placé pour parler au nom de l entreprise, je pense que mon encadrant sera plus apte à vous faire un bilan sur mon travail le jour de la soutenance. Cependant, ce que je peux dire c est que Proelan avait besoins d un stagiaire pour développer un module web pour la nouvelle version du portail Olympe. Il est important de savoir que plusieurs stagiaires ont eu ce sujet de stage et donc que j ai repris une application en cours de développement, tout cela signifie que c est un projet complexe de recherche et développement qui demandera plus de temps pour être finaliser et opérationnel. Mon travail aura donc permit à la société Proelan d améliorer le projet de reporting existant. Faire un bilan, c est également regarder si les objectifs fixés au départ ont bien été atteints. Je pense avoir apporté à ce projet mon savoir faire et mes compétences et avoir satisfait mes collaborateurs sur l ensemble de mon travail, ainsi que sur mon sérieux et mon implication tout au long du projet. Maxime CHECCONI Page 48 / 49
49 7. Webographie 7.1 Pour la réalisation du projet Pour la réalisation du rapport Maxime CHECCONI Page 49 / 49
50 Résumé Dans le cadre de la dernière année du cursus MIAGE (Méthodes Informatiques Appliquées a la Gestion des Entreprises), j ai dû effectuer un stage de fin d études au sein de la société Prolean du 15 février 2010 au 13 Août Proelan est un éditeur de logiciels professionnels et plus spécialement dans les progiciels de d informatique décisionnelle. Ce stage a consisté en l étude et le développement d un outil de reporting sous environnement web pour le portail Olympe commercialisé par la société Proelan. Proelan a eu le souhait de développer ce module car leurs clients souhaitaient avoir à leur disposition un outil capable de générer des rapports simples de leurs activités. Cette application n avait pas pour but de concurrencer les outils de reporting déjà présents sur le marché mais simplement de proposer un environnement permettant de couvrir la majorité des fonctionnalités de reporting. Les objectifs professionnels et personnels de ce stage ont été atteints aussi bien par l aboutissement du projet que par l apprentissage de nouvelles compétences techniques. Abstract During the last year in MIAGE training (Computer Sciences Applied to Business Management) I had to do an internship in Proelan from February 15, 2010 at August 13, Proelan is an editor of professional software and more precisely for Business Intelligence software. This internship consisted in studying and programming a reporting tool for the web portal Olympe sold by Proelan. Proelan had the desire to develop this module because their customers wanted a tool that allows users to generate reports of their activities. The goal of this application was not to compete the others available reporting tools but to offer an environment to cover the main reporting features. The professional and personal objectives of this internship reached by both the finalization of the project and by learning new technical skills. Stagiaire : Maxime CHECCONI Entreprise : PROELAN (Sophia Antipolis) Maître de stage (Entreprise) : Yannick AUMAGE Maître de stage (MIAGE) : Isabelle MIRBEL
Business Intelligence avec SQL Server 2012
Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Extrait Alimenter l'entrepôt de données avec SSIS Business
Fournir un accès rapide à nos données : agréger au préalable nos données permet de faire nos requêtes beaucoup plus rapidement
Introduction Phases du projet Les principales phases du projet sont les suivantes : La mise à disposition des sources Des fichiers Excel sont utilisés pour récolter nos informations L extraction des données
Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement
Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons
Formations 2015 JASPER, REDMINE, TABLEAU, TALEND, SPAGO BI SYNALTIC 24 RUE DE L EGLISE 94300 VINCENNES
Formations 2015 JASPER, REDMINE, TABLEAU, TALEND, SPAGO BI SYNALTIC 24 RUE DE L EGLISE 94300 VINCENNES Table des matières Edito... 3 Informations pratiques... 4 Accueil des stagiaires... 4 Horaires...
Introduction à la B.I. Avec SQL Server 2008
Introduction à la B.I. Avec SQL Server 2008 Version 1.0 VALENTIN Pauline 2 Introduction à la B.I. avec SQL Server 2008 Sommaire 1 Présentation de la B.I. et SQL Server 2008... 3 1.1 Présentation rapide
Compte Rendu d intégration d application
ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...
Expert technique J2EE
EHRET Guillaume 25, rue de la Richelandiere 42100 SAINT ETIENNE 32 ans - Célibataire Expert technique J2EE Domaines de compétences Environnement et langages Expertise en programmation Java et en architecture
Formation. Module WEB 4.1. Support de cours
Formation Module WEB 4.1 Support de cours Rédacteur Date de rédaction F.CHEA 08/02/2012 Les informations contenues dans ce document pourront faire l'objet de modifications sans préavis Sauf mention contraire,
Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv>
Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee
Formations 2015 JASPER, REDMINE, TABLEAU, TALEND, SPAGO BI ALTIC & SYNOTIS - TRAINING CENTER 24 RUE DE L EGLISE 94300 VINCENNES
Formations 2015 JASPER, REDMINE, TABLEAU, TALEND, SPAGO BI ALTIC & SYNOTIS - TRAINING CENTER 24 RUE DE L EGLISE 94300 VINCENNES Table des matières Edito... 3 Informations pratiques... 4 Accueil des stagiaires...
Business Intelligence avec SQL Server 2012
Editions ENI Business Intelligence avec SQL Server 2012 Maîtrisez les concepts et réalisez un système décisionnel Collection Solutions Informatiques Table des matières Les éléments à télécharger sont disponibles
CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING
CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN E-MAILING Durée : 3J / 21H Formateur : Consultant expert en PAO et Web-marketing. Groupe de : 4 max Formation au web marketing Objectifs : Mettre en oeuvre des
Catalogue Formations Jalios
Catalogue Formations Jalios Offre de services Jalios 23/04/2015-6.0 1 / 19 Sommaire Sommaire... 2 1. Introduction... 3 2. Jalios, organisme de formation... 4 3. Formations fonctionnelles... 5 3.1. Formation
WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES
WEB & DÉVELOPPEMENT LES BASES DU WEB HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES LE LANGAGE HTML STRUCTURE D UNE PAGE En-tête et corps Syntaxe INSÉRER DES CONTENUS Texte : formatage (titre,
BIRT (Business Intelligence and Reporting Tools)
BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»
Petite définition : Présentation :
Petite définition : Le Web 2.0 est une technologie qui permet la création de réseaux sociaux, de communautés, via divers produits (des sites communautaires, des blogs, des forums, des wiki ), qui vise
Avant-propos 1. Avant-propos...3 2. Organisation du guide...3 3. À qui s'adresse ce guide?...4
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr. Saisissez la référence ENI de l'ouvrage EP5EJAV dans la zone de recherche et validez.
IBM DB2 Alphablox. d administration GC11-2170-00
IBM DB2 Alphablox Guide d administration Version 8.4 GC11-2170-00 IBM DB2 Alphablox Guide d administration Version 8.4 GC11-2170-00 ii IBM DB2 Alphablox - Guide d administration Table des matières Avis
Java pour le Web. Cours Java - F. Michel
Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)
Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée
Formation : WEbMaster
Formation : WEbMaster Objectif et Description : Centre Eclipse vous propose une formation complète WebMaster, vous permettant de : Utiliser dès maintenant les nouveautés du web2, ainsi alléger les besoins
Les tableaux de bord de pilotage de nouvelle génération. Copyright 2002-2008 PRELYTIS
Les tableaux de bord de pilotage de nouvelle génération Sommaire PRELYTIS en quelques mots LiveDashBoard : principes directeurs et positionnement La couverture fonctionnelle Démonstration Les packages
Qu'est-ce que le BPM?
Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant
Introduction à. Oracle Application Express
Introduction à Oracle Application Express Sommaire Qu est-ce que Oracle Application Express (APEX)? Vue d ensemble des fonctionnalités et des différents composants d Oracle APEX Démonstration de création
1 Introduction. Business Intelligence avec SharePoint Server 2010
Business Intelligence avec SharePoint Server 2010 1 Introduction Dans le chapitre précédent, nous avons créé une collection de sites et activé les fonctions de restitution décisionnelles du serveur SharePoint
Devenez un véritable développeur web en 3 mois!
Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web
Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013
Rapport de stage Création d un site web Stage du 20/01/2013 au 21/02/2013 Auteur : Antoine Luczak Tuteur professionnel : M. Tison Tuteur scolaire : Mme Girondon Année scolaire : 2013/2014 1 Table des matières
Accélérateur de votre RÉUSSITE
Accélérateur de votre RÉUSSITE SAP Business Objects est une suite décisionnelle unifiée et complète qui connecte ses utilisateurs en éliminant les difficultés d accès à l information. Mobile Devices Browsers
Cursus Sage ERP X3 Outils & Développement. CURSUS Sage ERP X3 Outils & Développement ADVANCED. Outils avancés. 2 jours X3A-ADM. Développement 1 &2
Cursus Outils & Développement Vous êtes Consultant, Chef de Projets, Directeur des Systèmes d Information, Directeur Administratif et Financier, Optez pour les «formations Produits» Nous vous proposons
Module BD et sites WEB
Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet [email protected] 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD
INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)
CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.
Pentaho : Comparatif fonctionnel entre la version Communautaire (gratuite) et la version Entreprise (payante) Table des matières
Pentaho : Comparatif fonctionnel entre la version Communautaire (gratuite) et la version Entreprise (payante) Table des matières 1 2 3 4 PRÉSENTATION DE PENTAHO...2 LISTING DES COMPOSANTS DE LA PLATE-FORME...4
PRODIGE V3. Manuel utilisateurs. Consultation des métadonnées
PRODIGE V3 Manuel utilisateurs Consultation des métadonnées Pour plus d'information sur le dispositif : à remplir par chaque site éventuellement 2 PRODIGE V3 : Consultation des métadonnées SOMMAIRE 1.
Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009
Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009 «Web. De l intégration de pages statiques HTML à un CMS, à la dynamisation d un site grâce au Javascript et l utilisation de nouvelles technologies
Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s
Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN
Catalogue Formation «Vanilla»
Catalogue Formation «Vanilla» Date : octobre 2009 Table des matières Liste des Formations...2 Contenu des formations...3 Vanilla FastTrack...3 Vanilla Architecture...5 Enterprise Services...6 BIPortail...7
WysiUpStudio. CMS professionnel. pour la création et la maintenance évolutive de sites et applications Internet V. 6.x
WysiUpStudio CMS professionnel pour la création et la maintenance évolutive de sites et applications Internet V. 6.x UNE SOLUTION DE GESTION DE CONTENUS D UNE SOUPLESSE INÉGALÉE POUR CRÉER, MAINTENIR ET
les techniques d'extraction, les formulaires et intégration dans un site WEB
les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents
emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche
emuseum emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET emuseum est un système de publication Web qui s intègre de façon transparente avec TMS pour la publication d informations sur Internet et les appareils
Le "tout fichier" Le besoin de centraliser les traitements des fichiers. Maitriser les bases de données. Historique
Introduction à l informatique : Information automatisée Le premier ordinateur Définition disque dure, mémoire, carte mémoire, carte mère etc Architecture d un ordinateur Les constructeurs leader du marché
Analyse comparative entre différents outils de BI (Business Intelligence) :
Analyse comparative entre différents outils de BI (Business Intelligence) : Réalisé par: NAMIR YASSINE RAGUI ACHRAF Encadré par: PR. L. LAMRINI Dans le domaine d économies des Big Data et Open Data, comment
CQP Développeur Nouvelles Technologies (DNT)
ORGANISME REFERENCE STAGE : 26572 20 rue de l Arcade 75 008 PARIS CONTACT Couverture géographique : M. Frédéric DIOLEZ Bordeaux, Rouen, Lyon, Toulouse, Marseille Tél. : 09 88 66 17 40 Nantes, Lille, Strasbourg,
Chapitre 9 : Informatique décisionnelle
Chapitre 9 : Informatique décisionnelle Sommaire Introduction... 3 Définition... 3 Les domaines d application de l informatique décisionnelle... 4 Architecture d un système décisionnel... 5 L outil Oracle
Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8
Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel
LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation
ING 01 LANGAGUE JAVA Durée : 21 heures 1090 HT / jour Dates : à définir en 2012 Concevoir et développer des programmes en langage Java Comprendre le fonctionnement de la machine virtuelle S approprier
Bureautique Initiation Excel-Powerpoint
Module de Formation Personnalisée : Bureautique Initiation Excel-Powerpoint Durée : jours ouvrables Prix : Formation personnalisée en vue d obtenir les notions de base indispensables pour : Excel Office
CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012
CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE Edition 2012 AGENDA Qui sommes nous? Présentation de Keyrus Keyrus : Expert en formations BI Nos propositions de formation 3 modes de formations Liste des
Paul FLYE SAINTE MARIE
Paul FLYE SAINTE MARIE ASSISTANT CHEF DE PROJET DANS LE DÉVELOPPEMENT INFORMATIQUE Domaines de compétences Conduite de projet (échange avec la maitrise d ouvrage, maitrise d œuvre, rédaction des spécifications
DEMANDE D INFORMATION RFI (Request for information)
DOD SEICAM RFI Demande d information EVDEC Réf. : RFI_EVDEC- GT5_Outil_reporting_BI_v4.doc Page 1/11 DEMANDE D INFORMATION RFI (Request for information) OUTIL INTÉGRÉ DE REPORTING ET D ANALYSE DÉCISIONNELLE
Nell Armonia Shuttle Web
Nell Armonia Shuttle Web Optimiser la collecte, la mise à jour et la fiabilité de vos indicateurs L'IDEE ET LA GENESE DU PRODUIT LA PROBLEMATIQUE Les entreprises disposent aujourd hui de multiples indicateurs
Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack
Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack A propos de ce guide A propos de ce guide Ce guide contient des informations de prise en main du BusinessObjects XI R2 Service Pack
Optimiser pour les appareils mobiles
chapitre 6 Optimiser pour les appareils mobiles 6.1 Créer un site adapté aux terminaux mobiles avec jquery Mobile... 217 6.2 Transformer son site mobile en application native grâce à PhoneGap:Build...
Chapitre 1 Introduction
Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage SOBI10SHA dans la zone de recherche et validez. Cliquez sur le titre
Programmation Web. Madalina Croitoru IUT Montpellier
Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance
Joomla! Création et administration d'un site web - Version numérique
Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique
BUSINESS INTELLIGENCE. Une vision cockpit : utilité et apport pour l'entreprise
BUSINESS INTELLIGENCE Une vision cockpit : utilité et apport pour l'entreprise 1 Présentation PIERRE-YVES BONVIN, SOLVAXIS BERNARD BOIL, RESP. SI, GROUPE OROLUX 2 AGENDA Définitions Positionnement de la
Mise en œuvre des serveurs d application
Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés
Projet M1 Sujet 21 : Développement d'un logiciel simplifié de type Business Object
Florent Dubien Antoine Pelloux IUP GMI Avignon Projet M1 Sujet 21 : Développement d'un logiciel simplifié de type Business Object Professeur Tuteur : Thierry Spriet 1. Cadre du projet... 3 2. Logiciel
< Atelier 1 /> Démarrer une application web
MES ANNOTATIONS SONT EN ROUGE : Axel < Atelier 1 /> Démarrer une application web Microsoft France Tutorial Découverte de ASP.NET 2.0 Sommaire 1 INTRODUCTION... 3 1.1 CONTEXTE FONCTIONNEL... 3 1.2 CONTEXTE
ANNEXE 2 DESCRIPTION DU CONTENU DE L OFFRE BUSINESS INFORMATION AND ANALYSIS PACKAGE
ANNEXE 2 DESCRIPTION DU CONTENU DE L OFFRE BUSINESS INFORMATION AND ANALYSIS PACKAGE (BUSINESS INTELLIGENCE PACKAGE) Ce document propose une présentation générale des fonctions de Business Intelligence
Introduction aux concepts d ez Publish
Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de
Configuration matérielle et logicielle requise et prérequis de formation pour le SYGADE 6
Configuration matérielle et logicielle requise et prérequis de formation pour le SYGADE 6 DMFAS6/HardwareSoftware/V4 Octobre 2013 2 Configuration matérielle et logicielle requise et prérequis de formation
Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10
modalisa Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10 8 Fonctionnalités de mise en ligne de questionnaires Vous trouverez dans cet opuscule les informations nécessaires
Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :
CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE Projet 2 Gestion des services enseignants G r o u p e : B E L G H I T Y a s m i n e S A N C H E Z - D U B R O N T Y u r i f e r M O N T A Z E R S i
Suite Jedox La Business-Driven Intelligence avec Jedox
Suite La Business-Driven Intelligence avec Une solution intégrée pour la simulation, l analyse et le reporting vous offre la possibilité d analyser vos données et de gérer votre planification selon vos
1. Considérations sur le développement rapide d'application et les méthodes agiles
Chapitre 1 Introduction 1. Considérations sur le développement rapide d'application et les méthodes agiles 1.1 Rappel Longtemps les méthodes en cascade ou en V ont été opposées aux démarches empiriques
Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services
Ce Whitepaper décrit la méthodologie de développement d un rapport personnalisé au format SQL Server Reporting Service (SSRS) appliqué à System Center Operations Manager (SCOM) Whitepaper Méthodologie
Code Produit Nom Produit Dernière mise à jour. AM003 Alias Mobile On Demand Licence 1 mois 27/04/2015
www.alias-ad.com ALIAS MOBILE DESIGNER Des solutions innovantes pour la création d applications de gestion accessibles aux appareils mobiles (tablettes et smartphones) en client léger. Code Produit Nom
et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7
Tsoft et Groupe Eyrolles, 2006, ISBN : 2-212-11747-7 OEM Console Java OEM Console HTTP OEM Database Control Oracle Net Manager 6 Module 6 : Oracle Enterprise Manager Objectifs Contenu A la fin de ce module,
Nouvelles Plateformes Technologiques
Cycle de présentation du développement Nouvelles Plateformes Technologiques Observatoire Technologique, CTI Observatoire Technologique 4 mai 2004 p 1 Plan de la présentation 1. Historique du projet 2.
Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application
Architecture Multi-Tier Traditionnellement une application informatique est un programme exécutable sur une machine qui représente la logique de traitement des données manipulées par l application. Ces
Portage et développement de jeux Java sur téléphones mobiles. Licence Professionnelle SIL 25 juin 2007
Portage et développement de jeux Java sur téléphones mobiles Table des matières I Présentation de l'entreprise II Présentation des projets effectués III Le portage d'un jeu sur téléphones mobiles IV Conclusion
AJAX. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada
AJAX (Administrateur) (Dernière édition) Programme de formation Microsoft Partner France, Belgique, Suisse, Roumanie - Canada WWW.SASGROUPE.COM Formez vos salariés pour optimiser la productivité de votre
Mercredi 15 Janvier 2014
De la conception au site web Mercredi 15 Janvier 2014 Loïc THOMAS Géo-Hyd Responsable Informatique & Ingénierie des Systèmes d'information [email protected] 02 38 64 26 41 Architecture Il est
PROJET DE PORTAIL INTRANET YNNA
PROJET DE PORTAIL INTRANET YNNA PV sur l état d avancement du chantier Intranet Ynna Hicham BENJELLOUN [email protected] Préambule Ce rapport a pour objet de proposer les grandes lignes de l état des
Petit Déjeuner Pépinière du Logiciel Libre. 25 juin 2008
Petit Déjeuner Pépinière du Logiciel Libre 25 juin 2008 1 / 37 Agenda Définition & Principes Les différents outils & composants Les Solutions intégrés Open-Source Vos Questions 2 / 37 Agenda Définition
Architectures web/bases de données
Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est
Sql Server 2005 Reporting Services
Sql Server 2005 Reporting Services Un grand merci à Mr F. B. pour sa franchise, son sens de la relation humaine et son humilité. Sql Server 2005 Reporting Services - 2 / 30 - Sommaire Sommaire...2 Introduction...3
BUSINESS INTELLIGENCE
GUIDE COMPARATIF BUSINESS INTELLIGENCE www.viseo.com Table des matières Business Intelligence :... 2 Contexte et objectifs... 2 Une architecture spécifique... 2 Les outils de Business intelligence... 3
Introduction : présentation de la Business Intelligence
Les exemples cités tout au long de cet ouvrage sont téléchargeables à l'adresse suivante : http://www.editions-eni.fr Saisissez la référence ENI de l'ouvrage RI3WXIBUSO dans la zone de recherche et validez.
Formation Webmaster : Création de site Web Initiation + Approfondissement
Contactez notre équipe commerciale au 09.72.37.73.73 Aix en Provence - Bordeaux - Bruxelles - Geneve - Lille - Luxembourg - Lyon - Montpellier - Nantes - Nice - Paris - Rennes - Strasbourg - Toulouse Formation
Notre Catalogue des Formations IT / 2015
Notre Catalogue des Formations IT / 2015 Id Intitulé Durée Gestion de projets et méthodes I1101 I1102 I1103 I1104 I1105 I1106 I1107 I1108 I1109 I1110 I1111 I1112 I1113 I1114 I1115 I1116 I1117 I1118 I1119
Burckel Thomas. Formation. Compétences
Burckel Thomas Adresse : 92 avenue de la République 94300 VINCENNES Tel : 06.83.21.48.25 Email : [email protected] Date et lieu de naissance : 3 septembre 1986 à Strasbourg Formation 2006 2009 Polytech
Communiqué de Lancement. Sage Intégrale V4.50
Communiqué de Lancement Sage Intégrale V4.50 Nouvelle Version Majeure Avec près de 3000 entreprises clientes, l Intégrale est le Progiciel de Gestion Intégré le plus déployé en France, ce qui révèle toutes
Formation : Langues : Types d Intervention et Secteurs d Activité :
Ismail HACHOUM 142, Rue Georges Pompidou, 59110 La Madeleine - FRANCE Email : [email protected] Tél: +33(0) 650 198 937 27 ans - Marié Permis B Ingénieur Etudes et Développement Java/JEE Formation
INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09
INFORMATIQUE & WEB Code du diplôme : CP09 Passionné par l informatique et le web, vous souhaitez obtenir une certification dans un domaine porteur et enrichir votre CV? PARCOURS CERTIFICAT PROFESSIONNEL
SQL SERVER 2008, BUSINESS INTELLIGENCE
SGBD / Aide à la décision SQL SERVER 2008, BUSINESS INTELLIGENCE Réf: QLI Durée : 5 jours (7 heures) OBJECTIFS DE LA FORMATION Cette formation vous apprendra à concevoir et à déployer une solution de Business
SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)
Avant-propos 1. À qui s'adresse ce livre? 15 2. Pré-requis 15 3. Objectifs du livre 16 4. Notations 17 Introduction à la Business Intelligence 1. Du transactionnel au décisionnel 19 2. Business Intelligence
Formation en Logiciels Libres. Fiche d inscription
République Tunisienne Ministère de l'industrie et la Technologie - Secrétariat d'état de la Technologie Unité des Logiciels Libres Formation en Logiciels Libres Fiche d inscription (Une fiche par candidat)
Manuel utilisateur. des. listes de diffusion. Sympa. l'université Lille 3
Manuel utilisateur des listes de diffusion Sympa à l'université Lille 3 1 Table des matières Table des matières...2 I. Introduction...3 II. Principe général de fonctionnement de «Sympa»...3 1. Les principaux
TAGREROUT Seyf Allah TMRIM
TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation
Créer un rapport pour Reporting Services
Créer un rapport pour Reporting Services Comment créer des rapports pour SSRS Maintenant que nous avons vu que la version de SQL Server 2005 Express Edition with Advanced Services intègre SQL Server Reporting
Un serveur d'archivage
Un serveur d'archivage destiné au Service Commun de Documentation de l'université de la Méditerranée Encadrement : Noël Novelli Représentants client (S.C.D.) : Axelle Clarisse Ronan Lagadic Equipe Projet
Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)
LA BOITE A OUTILS DE L ACHETEUR DE BPM Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM) La boîte à outils de l acheteur de solution BPM -
SIO-65291 Page 1 de 5. Applications Web dynamiques. Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault
SIO-65291 Page 1 de 5 1- Objectifs généraux Applications Web dynamiques Prof. : Dzenan Ridjanovic Assistant : Vincent Dussault acquérir les principes et concepts fondamentaux dans le domaine d'applications
Installation Client (licence réseau) de IBM SPSS Modeler 14.2
Installation Client (licence réseau) de IBM SPSS Modeler 14.2 Les instructions suivantes permettent d installer IBM SPSS Modeler Client version 14.2 en utilisant un licence réseau. Ce présent document
Publication dans le Back Office
Site Web de l association des ingénieurs INSA de Lyon Publication dans le Back Office Note : dans ce guide, l'appellation GI signifie Groupe d'intérêt, et GR Groupe Régional laure Buisset Page 1 17/09/2008
