Rapport de stage. Période du 20 Mars au 29 Juin 2007. Migration d un portail en environnement Open Source. Maîtrise IUP NTIC



Documents pareils
Rapport de Stage Christopher Chedeau 2 au 26 Juin 2009

Catalogue des Formations Techniques

Compte Rendu d intégration d application

Evidian IAM Suite 8.0 Identity Management

2.1 Liferay en un clin d'oeil Forces, faiblesses, opportunités et menaces Résumé de notre évaluation... 5

Description de la maquette fonctionnelle. Nombre de pages :

Groupe Eyrolles, 2004 ISBN :

Extensions, Documentation, Tutoriels, Astuces

Joomla! Création et administration d'un site web - Version numérique

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Votre infrastructure est-elle? La collaboration informatique. améliore la performance globale

Notre Catalogue des Formations IT / 2015

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

IBM Tivoli Monitoring, version 6.1

CAHIER DES CHARGES D IMPLANTATION

Formation en Logiciels Libres. Fiche d inscription

Zimbra. S I A T. T é l : ( ) F a x : ( )

Travail collaboratif. Glossaire

Bien programmer. en Java ex. couleur. Avec plus de 50 études de cas et des comparaisons avec C++ et C# Emmanuel Puybaret.

Module BD et sites WEB

Architecture et infrastructure Web

2008 : Diplômé Master 2 ASR (Architecture Système et Réseaux) Université d Evry (Evry - 91)

Quel ENT pour Paris 5?

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Architectures web/bases de données

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

Groupe Eyrolles, 2004 ISBN :

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Alfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008

Mise en œuvre des serveurs d application

Java pour le Web. Cours Java - F. Michel

C3S : besoins fonctionnels et Management UNIS : technologies de l information ACSSI : intégration de solutions

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)

Expert technique J2EE

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Les tableaux de bord de pilotage de nouvelle génération. Copyright PRELYTIS

Hébergement de sites Web

SQL Server Installation Center et SQL Server Management Studio

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Documentation Honolulu 14 (1)

les techniques d'extraction, les formulaires et intégration dans un site WEB

SITE WEB E-COMMERCE ET VENTE A DISTANCE

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

LoReNa : pour dynamiser votre Relation Client (CRM)

Stage ingénieur : Participation à un projet de convergence des Systèmes d Information de retraite

Gestion des utilisateurs dans un environnement hétérogène

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

Devenez un véritable développeur web en 3 mois!

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Constat ERP 20% ECM 80% ERP (Enterprise Resource Planning) = PGI (Progiciel de Gestion Intégré)

Formation : Langues : Types d Intervention et Secteurs d Activité :

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Rapport de stage. Développement d un logiciel de vidéoconférence : Enjeux 3. Guillaume DOTT 2009

LemonLDAP::NG / SAML2. Xavier GUIMARD (Gendarmerie Nationale) Clément OUDOT (Groupe LINAGORA)

PROJET DE PORTAIL INTRANET YNNA

DataStudio. Solution d intégration des données et de diffusion de l information

Introduction MOSS 2007

Petit Déjeuner Pépinière du Logiciel Libre. 25 juin 2008

CAHIER DES CLAUSES TECHNIQUES PARTICULIÈRES (CCTP) MISE EN PLACE ET MAINTENANCE D UN MOTEUR DE RECHERCHE

BULK SMS Envoi en masse d un message texte moyennant un téléphone mobile (GSM)

Paul FLYE SAINTE MARIE

WEBSPHERE & RATIONAL. Jacques Rage

A5.2.4 Étude d une technologie, d'un composant, d'un outil

Installer Enterprise Miner 5.1 en SAS environnement Windows

BES WEBDEVELOPER ACTIVITÉ RÔLE

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA

Les logiciels OpenSource pour l'entreprise

DEMANDE D INFORMATION RFI (Request for information)

Dans cette Unité, nous allons examiner

Architecture N-Tier. Ces données peuvent être saisies interactivement via l interface ou lues depuis un disque. Application

E.N.T. Espace Numérique de Travail

Introduction à. Oracle Application Express

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

Catalogue des formations

A. À propos des annuaires

Services Réseaux - Couche Application. TODARO Cédric

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

1 JBoss Entreprise Middleware

NEXTDB Implémentation d un SGBD Open Source

Solutions de gestion de la sécurité Livre blanc

Configuration d'un annuaire LDAP

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

Description de l implantation dans le centre d examen (nom du service ou de l outil et caractéristiques techniques)

ORACLE DATA INTEGRATOR ENTERPRISE EDITION - ODI EE

Urbanisme du Système d Information et EAI

BUSINESS INTELLIGENCE

Installation d'un TSE (Terminal Serveur Edition)

Mercredi 15 Janvier 2014

Toute personne souhaitant maîtriser les techniques liées à la conception de produits multimédia et à la création de sites Web.

«Outils de gestion pour TPE CRM / ERP»

Environnements de Développement

DEMARREZ RAPIDEMENT VOTRE EVALUATION

Gestion des Identités : 5 règles d'or. Patrice Kiotsekian Directeur Evidian France

GroupWise. Novell. Démarrage rapide.

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Transcription:

Maîtrise IUP NTIC Rapport de stage Migration d un portail en environnement Open Source Période du 20 Mars au 29 Juin 2007 Responsable de stage : M. Dominique FEDERICI Maître de stage : M. Julien ALIBERT Mots-clés : Portail Open Source Année universitaire 2006-2007 Christophe GOURDON

Avant propos - Remerciements AVANT PROPOS - REMERCIEMENTS Ce travail a été réalisé dans le cadre du stage de fin d année de Maîtrise à l Institut Universitaire Professionnalisé Nouvelles Technologies de l Information et de la Communication (IUP NTIC) de l Université de Corse Pascal Paoli. Le stage s est déroulé au sein de l entreprise BELHARRA à Bassussarry sous la tutelle de M. Julien ALIBERT pour une durée de trois mois. BELHARRA est une société de services spécialisée entre autres, dans le déploiement de solutions liées aux nouvelles technologies de l information. Ce rapport traite de la migration d un portail vers un environnement Open Source, ainsi que de l étude des outils qui ont permis cette migration. Le présent document a pu être réalisé grâce à l aide et la collaboration de l ensemble du personnel de BELHARRA. A l issue de cette nouvelle expérience, je tiens tout d abord à remercier Mr Serge FONTAGNERES, directeur général de BELHARRA, de m avoir accepté en tant que stagiaire dans les locaux de son entreprise ainsi que Mr Olivier DAMESTOY, responsable technique, de la confiance qu il m a accordée. Je tiens bien sûr à remercier mon maître de stage Mr Julien ALIBERT. Je lui suis particulièrement reconnaissant de m avoir fait confiance lors des différentes tâches qu il m a données et également de m avoir aidé à résoudre les problèmes qui ne manquent pas de se présenter au quotidien. Je tiens tout particulièrement à remercier Sandrine GARMENDIA et Benjamin BEHOTEGUY pour leur disponibilité, leur patience et l aide efficace qu ils ont su m apporter régulièrement lors du stage ainsi que Marie-Laure Nivet, MCF à l Université de Corse, pour la qualité de ses cours de J2SE. Je voudrais également remercier tous les autres employés de BELHARRA pour la bonne humeur générale qui régnait au sein de l entreprise. Je suis extrêmement reconnaissant à toutes ces personnes d avoir fait de mon stage une expérience riche et inoubliable. 1 Pour information, tous les mots de ce rapport suivis d une * sont explicités dans le glossaire page 39. Toutes les figures référencées sans leur source entre parenthèses sont soit des captures d écrans, soit des schémas ou soit des photos que j ai réalisés. Page 2 sur 42

Sommaire SOMMAIRE Avant propos - Remerciements... 2 Sommaire... 3 Résumé... 4 Abstract... 4 Belharra... 5 1. Présentation générale... 5 1.1. Quelques Chiffres... 5 1.2. Origine du nom "Belharra"... 5 1.3. Explications du logo... 6 2. Fonctionnement interne... 6 2.1. Organigramme... 6 2.2. Fonctionnement global... 7 3. Les domaines de compétences... 8 4. Les références clients... 9 Le projet Open Source et les concepts utilisés... 10 1. Le projet Open Source... 10 1.1. Introduction... 10 1.2. Le portail BELHARRA... 10 1.3. La migration vers l Open Source... 12 1.4. La répartition du travail... 13 2. Concepts et environnement de travail... 15 2.1. Introduction... 15 2.2. Bases de données... 15 2.3. Annuaires... 16 2.4. La plateforme J2EE... 16 Réalisations... 18 1. Migration de la base de données... 18 1.1. Introduction... 18 1.2. Existant... 18 1.3. La migration... 19 1.4. Problèmes rencontrés... 21 1.5. Conclusions... 22 2. Création de compte de services externes... 23 2.1. Introduction... 23 2.2. Travail réalisé... 24 2.3. Conclusions... 30 3. Evaluation du portail Liferay... 31 3.1. Introduction... 31 3.2. Liferay Portal... 32 3.3. Points d évaluations... 33 3.4. Conclusions... 37 Bilan et conclusion... 38 1. Bilan personnel... 38 2. Apports pour BELHARRA... 38 Glossaire... 39 Webographie... 41 Annexes... 42 Page 3 sur 42

Résumé - Abstract RESUME BELHARRA est une jeune société d informatique (SSIII) mais sa vingtaine d employés possèdent une forte expérience dans les nouvelles technologies de l information et de la communication. A ce jour, la société propose à ses clients un portail d entreprise nécessitant l achat d une coûteuse licence propriétaire pour l utiliser. Un des objectifs de BELHARRA est de trouver une solution alternative à ce produit qu elle vend. Cette solution serait entièrement Open Source* ce qui, entre autres, réduirait les coûts de façon à les réinvestir en services. J ai été affecté pour la durée de mon stage au sein d une équipe de six personnes. Tout d abord, je dois réaliser la migration de la base de données du portail BELHARRA existant vers une base de données Open Source. Ensuite, il m est demandé d ajouter une extension dans la console d administration du portail afin de créer facilement des comptes utilisateur externes. Enfin, je dois réaliser une étude sur un portail Open Source qui pourrait éventuellement remplacer l actuel portail à condition qu il propose les mêmes fonctionnalités. Dans ce rapport sont présentés la société BELHARRA, les concepts que j ai eu à manipuler, le projet Open Source et ainsi que les différentes réalisations que j ai effectuées durant ces quatre mois de stage. ABSTRACT BELHARRA is a company specialized in new technologies of information and communication. This is a young company (July of 2006) but there are more than twenty engineers which have a lot of experience. Currently, the company proposes a portal which uses an expensive license. The aim of BELHARRA is to find an alternative Open Source* at this portal to offer a best product at reduced costs to their client. My training course belongs to a project gathering six employees. First, I must migrate the current database towards an Open Source database. Then, I must add an extension to the console of administration for the management of accounts users. Lastly, I must realize a study on an Open Source portal in order to evaluate this last with the current portal of BELHARRA. Here is exposed all the work which I completed for BELHARRA during these four months. Page 4 sur 42

La société BELHARRA BELHARRA 1. Présentation générale BELHARRA est une Société de Services d'ingénierie Informatique et d'internet (SS3I). C est une entreprise dotée d'une solide expérience acquise auprès des PME/PMI par une équipe de collaborateurs partageant la même conception de leur métier. Cette société compte plus d une vingtaine de salariés dont 80% d informaticiens. L équipe technique de BELHARRA est composée de professionnels travaillant dans l informatique depuis une quinzaine d année en moyenne. Leur compétence est le résultat combiné de l expérience et de plans de formation réguliers qui leur confèrent une efficacité reconnue dans les domaines du développement d applications, de l intégration de solutions, du déploiement des infrastructures matériels/réseau et de la formation professionnelle. 1.1. Quelques Chiffres BELHARRA a été créée le 28 mars 2006 avec un capital de 140 000. Son activité a démarré le 1 er juillet 2006. Son premier exercice comptable se terminera donc le 31 décembre 2007. A l heure actuelle, elle compte une vingtaine de clients actifs. Les locaux sont composés de : l accueil (1 poste de travail) une salle de réunion un espace cafétéria 2 bureaux contenant chacun 2 postes de travail (direction) 3 bureaux contenant quatre, huit et sept postes de travail 1 bureau contenant quatre postes de travail (sur le site de Billère) 1.2. Origine du nom "Belharra" BELHARRA est le nom d une vague géante découverte il y a quatre ans par des surfeurs de la Côte Basque. BELHARRA se dresse à environ deux kilomètres de la superbe corniche reliant St Jean de Luz à Hendaye. Les houles du golf de Gascogne heurtent un sommet sous-marin et font lever une vague de près de quinze mètres. La vague, née d une dépression tropicale dans le golf du Mexique, devient une onde puissante et massive à l arrivée de nos côtes. BELHARRA n est autre que le reflet d une tempête lointaine. Elle vient de loin, l onde se propage et dans son cheminement, elle devient lisse, ordonnée et puissante. Elle fascine par sa force et sa régularité. Le nom BELHARRA donne un caractère régional à l entreprise sans avancer de message politique. Sa prononciation est facile et son orthographe met en avant l identité de l entreprise. Page 5 sur 42

La société BELHARRA 1.3. Explications du logo Le carré représente la rigueur mais le fait que BELHARRA dépasse de ce carré invoque la rigueur mais sans la rigidité (notion de créativité et d innovation). Le nom complet est rappelé au centre du logo pour mettre en avant l équilibre. D un coté la couleur bleue (couleur froide) représente la technologie, de l autre l orange (couleur chaude) représente le métier. La ligne blanche symbolise le rail du projet, notion de transition de BELHARRA au client. La progression du gris vers le noir représente la progression vers l achèvement du projet. Ce logo véhicule la transition de la transition de la technique vers le fonctionnel, de l innovation vers l opérationnel dans le cadre rigoureux d une conduite du projet menant le client à l autonomie dans l utilisation de ses outils. 2. Fonctionnement interne Le siège social de BELHARRA est situé à Bassussarry à l espace entreprise du makila. La société compte également un site à Billère (près de Pau) composé de quatre employés. 2.1. Organigramme La société est dirigée par un Président Directeur Général, Monsieur Serge Fontagnères qui coordonne avec M. Patrick Bourg, M. Bertrand Gambet et M. Jean-Michel Bourgeois la direction technique et commerciale. Comité directeur Directeur Commercial Patrick Bourg Président Directeur Général Serge è Directeur Technique JM Bourgeois Directeur Technique Bertrand Gambet Assistante de Direction Responsable Comptable Responsables Opérationnels Chefs de projets Ingénieurs Développement Page 6 sur 42

La société BELHARRA 2.2. Fonctionnement global Le principe de fonctionnement est à deux niveaux: les directeurs techniques délèguent une partie de leurs responsabilités aux Responsables Opérationnels (RO). Cinq responsables opérationnels ont été nommés par la direction de BELHARRA. L équipe technique BELHARRA a été répartie sur les RO en fonction de leur emplacement dans les locaux de BELHARRA. Les personnes ne sont pas «cloisonnées» dans leur bureau actuel et elles peuvent passer d une salle à l autre pour faciliter la communication avec les personnes travaillant sur un même projet. Chaque RO a pour rôle de : CONTROLER la saisie des données administratives des personnes de son équipe, à savoir : La saisie de l activité projet au jour si possible ou à la semaine La saisie anticipée des congés La concordance entre les congés prévus et les demandes de congés posés HARMONISER et AMELIORER La démarche projet Le Plan Qualité Projet (PQP) Les outils Cognos : Editeur de solutions décisionnelles Domino : Serveur de messagerie, outils collaboratifs GED : Gestion Electronique de Documents Mantis : Suivi des incidents Portail d entreprise SOUTENIR son équipe sur les questions de démarche projet qui peuvent porter sur des sujets que doivent maîtriser les RO, à savoir : L utilisation des outils projet Le PQP L organisation projet La méthodologie Les RO et les directeurs techniques se réunissent régulièrement en fonction des besoins : Une réunion de «Suivi opérationnel et administratif» deux fois par mois à laquelle seuls les RO sont conviés. Une réunion de «Point projets» une fois par mois à laquelle les RO, les chefs de projet et les directeurs techniques sont conviés. Les personnes éloignées se joignent à la réunion en conférence téléphonique. Chaque mois, tous les employés et stagiaires de BELHARRA se réunissent sur le site de Bassussarry pour une réunion informative (avancements de projets, objectifs financiers, présentation des nouveaux projets ), afin que tout le monde ait une vision globale de l entreprise et ne se cantonne pas seulement à son propre travail. Page 7 sur 42

La société BELHARRA 3. Les domaines de compétences La société possède deux savoir-faire principaux : le décisionnel et l e-business. Le décisionnel : L entreprise donne à ses clients de nombreux outils performants afin qu ils puissent prendre des décisions en rapport avec leur gestion financière (états comptables), du personnel (performance des représentants), des stocks (taux de rotation) ou liées à l activité de l entreprise (chiffre d affaire, quantités vendues par surface de vente). BELHARRA offre également à ses clients, (mais s en sert aussi en interne) une partie opérationnelle avec par exemple l édition de facture ou de notes de frais. L e-business : L entreprise BELHARRA réalise également de nombreux développements autour des NTIC, comme la mise en œuvre d'architecture SOA 1, des applications transactionnelles, documentaires ou collaboratives en mode client-serveur ou client léger. BELHARRA commercialise un portail «Extranet» permettant aux utilisateurs mobiles, clients, fournisseurs et autres partenaires d accéder aux applications, services et informations dont ils sont destinataires, quelle que soit leur situation géographique, dans un concept d entreprise étendue. Les outils : De nombreux outils sont maîtrisés, on pourra citer de façon non exhaustive des logiciels comme Cognos (décisionnel), DB2 et Oracle Warehouse manager (solutions ETL 2 ou datapumping). Mais également Web WebSphere Application Server et Tomcat (serveurs d application), Eclipse, Webdev (outils de développement). La plupart des langages de programmation sont utilisés, on peut citer particulièrement J2EE, XML, C++, VB, PRO*C, PL*SQL, Shell et RPG. Espace Entreprises du Makila 1, chemin de l aviation 64200 BASSUSSARRY Tél : 05 59 70 40 70 1 SOA : Architecture Orientée Services (Service Oriented Architecture) 2 ETL : Synchronisations massives d'informations entre deux bases de données (Extract-Transform-Load) Page 8 sur 42

La société BELHARRA 4. Les références clients Des groupes multinationaux aux PME/PMI, les références de BELHARRA sont très variées, aujourd'hui, elle en compte une vingtaine, dont voici quelques exemples organisés par domaines : Administration et services : Eurolines : Transport autocars en Europe Fédération Nationale des Travaux Publics : Offre de services aux entreprises liées aux travaux publics Centre Hospitalier Polynésie Française : L hôpital de Papeete CCCA-BTP : Formation de professionnels du bâtiment Distribution : Intersport : Distribution de sportwear Ricoh France: Distribution de matériel informatique (imprimante, télécopieur ) Rip Curl : Distribution de surfwear Olympus France : Spécialiste en image et son numériques Agroalimentaire : Fromarsac (groupe Bongrain) : Distribution de produits fromagers Jacquet (groupe Limagrain) : Fabrication de pain, pain de mie, brioche France prune : Coopérative agricole de transformation et commercialisation de pruneaux et fruits secs. Page 9 sur 42

Le projet Open Source LE PROJET OPEN SOURCE ET LES CONCEPTS UTILISES 1. Le projet Open Source 1.1. Introduction Actuellement, BELHARRA commercialise des solutions qui s appuient sur des produits propriétaires dont les coûts de licences sont importants. Le projet Open Source consiste en quelques mots à s affranchir de ces coûts tout en bénéficiant des avantages liés au monde du libre. En effet, les produits Open Source sont aujourd hui des alternatives intéressantes et fiables. Ce sont majoritairement des produits compatibles entre eux car ils respectent les plus grands standards et ils sont de plus en plus utilisés dans le monde, ce qui en fait des références. BELHARRA a également souhaité s orienter vers ce type de technologies afin de renforcer sa qualité, sa sécurité et la pérennité tout en accélérant la flexibilité, l innovation et l adaptabilité. De plus, le projet Open Source permettra par la suite à BELHARRA d élargir son offre et d investir une partie des économies réalisées (licence) dans les supports, services internes et externalisés. 1.2. Le portail BELHARRA Le portail BELHARRA est accessible à partir du site web http://www.belharra.fr. Ce site présente l entreprise BELHARRA, ses domaines de compétences, ses références clients ainsi que ses savoir-faire, les news et autres informations pratiques. Access portail BELHARRA depuis la partie publique du site internet. Fig. 1 : Site BELHARRA (public) Page 10 sur 42

Le projet Open Source Le portail BELHARRA est un portail interne et n est donc pas commercialisé. Les portails commercialisés ont tous une base identique, tout comme le portail BELHARRA. Le projet Open Source dans lequel je suis intervenu concerne en premier lieu le portail interne afin d envisager une commercialisation de futurs portails Open Sources. J ai travaillé sur un portail de test qui repose sur cette même base mais la migration de la base de données a été réalisée après validation sur le portail BELHARRA. L accès au portail BELHARRA nécessite une authentification réservée aux employés de la société. Cette authentification utilise le Single Sign On (SSO) afin d accéder à certaines applications externes (services) sans devoir ressaisir à chaque fois les informations de connexion dans le portail. Ces services sont par exemple des raccourcis internet, articles, flux RSS, annuaires, calendrier, forum et sont répertoriés dans des catégories (voir la Fig. 2). Certains utilisateurs possèdent le droit d administrer le portail et ont accès à plus de services, comme la gestion des utilisateurs ou de services. Catégories du portail Services disponibles Applications News du portail Fig. 2 : Page d accueil du portail BELHARRA (privé) Page 11 sur 42

Le projet Open Source 1.3. La migration vers l Open Source La migration du portail existant vers un environnement totalement Open Source requiert de nombreux changements d outils. En effet, il faut remplacer le système d exploitation, le serveur d applications web, le système de gestion de bases de données, l annuaire LDAP, les outils de travail collaboratif ou encore de messagerie Voici dans ce tableau les anciens produits propriétaires utilisés et leurs équivalents Open Source pour le portail BELHARRA. Produit Propriétaire Equivalent Open Source Système d exploitation Windows Server 2003 Red Hat SGBD DB2 MySQL - PostgreSQL Serveur d applications WebSphere Application Server Tomcat Serveur http Domino Apache Serveur de messagerie Domino Open-Xchange Annuaire LDAP LDAP Domino OpenLDAP CMS 4 Domino Joomla GED 5 Domino Alfresco Portail WebSphere Portal Server Liferay Décisionnel Cognos Pentaho Cette migration a lieu en plusieurs temps, de façon à intégrer petit à petit tous les produits. Les premiers concernés sont l annuaire LDAP, le serveur d applications et http, la base de données et le système de gestion de contenu. Dans un second temps, le serveur de messagerie et la gestion électronique de documents. Enfin, sont à l étude l outil décisionnel Pentaho et le portail Liferay. Le système d exploitation installé dépend des machines. Le schéma simplifié de l architecture du portail BELHARRA (Fig. 3) se trouve sur la page suivante. Certains de ces outils sont détaillés dans la partie «Concepts et environnement de travail» afin d expliquer les concepts utilisés par le portail BELHARRA. Le portail BELHARRA réunit un serveur de base de données, un serveur d applications, un serveur web ainsi qu un annuaire LDAP. Il communique avec des applications externes, comme la GED, la messagerie, les outils décisionnels ou le site web. Sur la Fig. 3, les outils qui sont en rouge sont des produits propriétaires qui fonctionnent actuellement sous Windows Server 2003. Ceux en vert sont les équivalents Open Source qu il faut mettre en place sous Red Hat (Linux). La base de données DB2 est actuellement sur AS/400, ici représentée par un fanion jaune. Les applications externes sont stockées sur une machine, ici nommée serveur d applications externes, qui est représentée par un fanion noir. Le rouge indique les outils propriétaires comme Domino, WebSphere et Cognos qui sont sur le serveur de production (appelé Iparla). Enfin, le fanion vert représente la machine ou sont stockés tous les outils nécessaires au portail Open Source comme MySQL, Tomcat, Apache, et OpenLDAP. 4 Content Management Systems * 5 Gestion Electronique de Documents * Page 12 sur 42

Les concepts utilisés Fig. 3 : Architecture générale du portail BELHARRA 1.4. La répartition du travail Le projet a été confié par Bertrand Gambet, responsable technique, à trois binômes. Chacun étant composé d un membre du personnel de BELHARRA et d un stagiaire à savoir : Sandrine Garmendia Habib Sannoud Pascal Del Prado Eric Pont Julien Alibert Christophe Gourdon Le projet consiste à migrer l ensemble des éléments du portail BELHARRA dans un environnement Open Source afin de rendre le portail totalement libre et évolutif. Il a été demandé à un autre stagiaire (Eric Pont) de reproduire à l identique le site BELHARRA avec l outil Open Source Joomla et de se familiariser avec ce CMS afin d intégrer sur le portail certains de ses modules comme les accroches. Le troisième stagiaire (Habib Sannoud) doit étudier l outil décisionnel Open Source Pentaho afin d envisager une alternative au logiciel propriétaire Cognos actuellement utilisé. Pour ma part, je dois réaliser la migration de la base de données, la création de comptes services externes et étudier les fonctionnalités du portail Open Source Liferay. Tout mon travail est détaillé dans le chapitre Réalisations. Le planning prévisionnel et le planning réel du stage étant quasiment identiques, j ai mis en annexe le planning réel du stage sous forme d un diagramme de Gantt. Ce dernier a été réalisé avec Gantt Project (Open Source) qui est équivalent à Microsoft Project 2003 vu en cours de gestion de projet. Ce planning a été convenu entre mon maître de stage et moi selon les échéances qui nous étaient imposées par le responsable du projet. Page 13 sur 42

Les concepts utilisés Les rôles des trois binômes pour ce projet Open Source sont décrits dans la vue globale du projet Open Source ci-dessous (Fig. 4). Ces rôles ont été attribués par le responsable technique du projet Open Source, à savoir, Bertrand Gambet. Fig. 4 : Vue globale du projet Open Source Tout au long du stage, nous avons fait des réunions techniques de façon régulière (mensuelles) afin de travailler dans de bonnes conditions. Travaillant en face de mon maître de stage, cela m a souvent permis de communiquer et d obtenir rapidement des informations. J ai également bénéficié des conseils et renseignements d autres employés grâce à la proximité des bureaux. A chaque nouvelle mission, j ai souvent passé une demi-journée en réunion avec mon maître de stage pour établir le cahier des charges ou le travail à réaliser pour les semaines à venir. Toute modification ou ajout concernant mon travail m a été communiqué oralement sachant que nous étions à côtés. Après deux mois de stage, j ai eu l occasion de participer à une réunion technique regroupant les employés des deux sites. Cette réunion d une journée a été très enrichissante, elle a permis d aborder des points comme les résultats de l entreprise, les prévisions, le travail réalisé, les orientations technologique dont notamment le projet Open Source. J ai pu prendre la parole 15 minutes lors de cette réunion afin d exposer à l aide d un Powerpoint le travail réalisé lors de ces deux premiers mois de stage. Mon travail consiste à créer ou modifier de nombreux fichiers, c est pourquoi j ai pu rédiger à plusieurs reprises des documentations techniques de façon à installer, configurer ou maintenir tout le développement effectué. Page 14 sur 42

Les concepts utilisés 2. Concepts et environnement de travail 2.1. Introduction Durant le stage, j ai eu l occasion de manipuler de nombreux outils inconnus tels que certains produits propriétaires IBM, comme le SGBD 6 DB2 ou encore des logiciels Open Source comme Liferay Portal. J ai dû également me former à certains concepts que je n avais pas abordés lors de ma formation, comme J2EE qui fait partie de l enseignement de dernière année. Les cours de bases de données m ont permis de travailler sur trois SGBD différents au cours du stage. Je décris brièvement dans cette partie ces outils ou concepts manipulés afin de mieux appréhender le travail réalisé par la suite. Le glossaire en fin de rapport complète cette partie. 2.2. Bases de données 2.2.1. DB2 DB2 Universal Database est un système de gestion de base de données relationnelle compatible Web. Il s agit d un produit IBM qui offre toutes les capacités de gestion d une base relationnelle, avec l ajout de fonctionnalités destinées à effectuer des tâches décisionnelles. 2.2.2. MySQL MySQL est un système de gestion de base de données relationnelle SQL développé dans un souci de performances élevées. Il est multi-thread et multi-utilisateurs. C'est un logiciel libre développé sous double licence en fonction de l'utilisation qui en est faite: dans un produit libre (Open Source) ou dans un produit propriétaire. Dans ce dernier cas, la licence est payante, sinon elle est libre (GNU GPL) 7. 2.2.3. PostgreSQL PostgreSQL est un système de gestion de base de données relationnelle et objet. C'est un outil libre disponible selon les termes d'une licence de type BSD 8. Il fonctionne sur diverses plates-formes matérielles et sous différents systèmes d'exploitation. Il est largement utilisé dans le monde tout comme MySQL. 6 Système de Gestion de Bases de Données 7 GNU s Not Unix General Public Licence * 8 Berkeley Software Distribution * Page 15 sur 42

Les concepts utilisés 2.3. Annuaires Un annuaire LDAP est utilisé ici afin de pouvoir stocker des personnes simplement et les répertorier en groupes (administrateurs, utilisateurs, clients par exemple). LDAP étant un standard reconnu, de nombreuses applications de l architecture (Fig. 3) peuvent utiliser une authentification avec l annuaire LDAP notamment le portail BELHARRA. 2.3.1. Lotus Domino Domino application server est un serveur de messagerie qui sert aussi de serveur web. Il supporte un serveur http indépendant ainsi que l annuaire LDAP. L annuaire LDAP du serveur Lotus Domino est utilisé pour gérer les droits d accès à la console d administration du serveur d application WebSphere (WAS). 2.3.2. OpenLDAP OpenLDAP est un serveur LDAP, pour Lightweight Directory Access Protocol, ou plus simplement Protocole Léger d'accès à un Répertoire. Le protocole LDAP est un serveur d annuaire issu d un projet libre conforme à la norme LDAP 3. Ce serveur, dérivé de l'implémentation mise au point par l'université du Michigan, est également développé selon les termes de la licence GNU GPL. 2.4. La plateforme J2EE 2.4.1. Définition Java 2 Platform, Enterprise Edition est une spécification pour le langage de programmation Java de Sun plus particulièrement destinée aux applications d'entreprise. Dans ce but, toute implémentation de cette spécification contient un ensemble d'extension au Framework Java standard (J2SE, Java 2 Standard Edition) afin de faciliter la création d'applications réparties. 2.4.2. Environnement de développement Lors de ce stage, j ai utilisé Eclipse qui est un environnement de développement intégré dont le but est de fournir une plate-forme modulaire pour permettre de réaliser des développements informatiques. Ce logiciel Open Source m est familier puisque nous l avons utilisé lors de ma formation à l IUP. 2.4.3. Les JSP Les JSP (Java Server Pages) sont un standard permettant de développer des applications Web interactives, c'est-à-dire dont le contenu est dynamique. Une page web JSP aura un contenu pouvant être différent selon certains paramètres contrairement à une page Web statique. Concrètement, il s agit d un langage de script exécuté coté serveur. Le principe de celui ci est d insérer des portions de code Java au milieu du langage de balise HTML constituant les pages Web statiques. Ces portions de code interprétées, le serveur renvoie la page au client en fonction des spécificités de sa requête. Page 16 sur 42

Les concepts utilisés 2.4.4. Les servlets Les servlets sont des programmes Java qui s exécutent sur un serveur d application. L exécution d une servlet est lancée par le navigateur en effectuant une requête. Une requête peut contenir des informations saisies par l utilisateur dans le navigateur. Lors de son exécution, la servlet traite les informations contenues dans la requête. A la fin de l exécution de la servlet, celui-ci renvoie une réponse au navigateur. Cette réponse peut-être soit un flux de données représentant une page HTML qui sera affichée par le navigateur, soit une référence à une JSP qui sera exécutée et renvoyée au navigateur, soit tout autre sorte de flux (image, binaire ). Fig. 5 : Architecture J2EE (http://www.commentcamarche.net) Page 17 sur 42

Migration de la base de données REALISATIONS 1. Migration de la base de données 1.1. Introduction Après avoir réparti les tâches de chacune des équipes, mon maître de stage m a confié pour première mission d étudier la base de données du portail BELHARRA, puis de réaliser la migration vers le SGBD MySQL. Dans un second temps, j ai réalisé cette même migration mais cette fois vers le SGBD PostgreSQL car le choix du SGBD Open Source n était pas encore fixé. En effet, le choix s établira en fonction de la difficulté à lier tous les outils utilisant une base de données, comme Open-Xchange, Alfresco ou Joomla. La migration vers PostgreSQL a été sensiblement la même que pour MySQL, c est pourquoi j ai souvent noté (PostgreSQL) après MySQL. 1.2. Existant La base de données actuelle contient plusieurs types d objets, mais nous nous servirons uniquement des tables, des index et des vues. Je ne connaissais pas le concept de vues. Toutes les requêtes de type SELECT dans ce portail se font non pas directement sur les tables, mais sur les vues afin de simplifier les requêtes. 1.2.1. La notion de vues Une vue dans une base de données est une synthèse d'une requête d'interrogation de la base. On peut la voir comme une table virtuelle, définie par une requête. Les vues sont en quelque sorte des tables dynamiques virtuelles qui peuvent faire la jointure de tables existantes. Par exemple, si nous avons deux tables contenant respectivement des informations sur des employés et sur des sociétés, une vue pourrait recueillir des informations sur un employé et sur la société qui lui correspond sur un même enregistrement. 1.2.2. Le SGBD DB2 Le portail BELHARRA s appuie actuellement sur une base DB2 stockée sur une architecture AS/400, produits propriétaires IBM. Pour accéder à cette base de données, j ai installé iseries Navigator de IBM. Ce logiciel permet de voir le contenu des bases et propose également de générer du code SQL. Cette fonctionnalité propose de nombreuses options que j ai du tester pour obtenir des instructions SQL se rapprochant le plus du langage MySQL (PostgreSQL) Voici sur la page suivante une capture d écran de ce logiciel lors de la génération d instructions SQL à partir des tables de la base de données du portail BELHARRA. Page 18 sur 42

Migration de la base de données Fig. 6 : La base de données DB2 du portail vue grâce au logiciel iseries Navigator 1.3. La migration La migration de la base de données s est réalisée en deux étapes. Tout d abord, il a fallu migrer la structure de la base, qui comprend les tables, les index et les vues. Dans un second temps, je me suis occupé de transférer les données d une base à l autre. Cette migration a pour objectif de créer des fichiers SQL prêts à être importer dans MySQL (PostgreSQL). Il ne m a pas été demandé d automatiser cette tâche. Voici les étapes de la migration correspondantes à la Fig. 7 de la page suivante. 1 : iseries Navigator dialogue avec la base de données DB2 2 : iseries Navigator génère des instructions SQL dans un fichier bportail.sql 3 : traitement manuel du fichier bportail.sql (correction de problèmes d incompatibilité) 4 : insertion dans la base de données MySQL (PostgreSQL) 5 : la Servlet consulte la base de données DB2 6 : la Servlet copie les enregistrements dans la base de données MySQL (PostgreSQL) J ai eu souvent à utiliser le manuel de documentation de MySQL entre autres [1], afin d arriver à bien effectuer cette migration. Page 19 sur 42

Migration de la base de données 2 3 1 4 DB2 5 6 Fig. 7 : Les différentes étapes de la migration de la base DB2 vers MySQL (PostgreSQL) 1.3.1. Migration de la structure En premier lieu, il a fallu transférer sur MySQL (PostgreSQL) la même structure. Cette opération s est déroulée en deux étapes. Dans un premier temps, j ai généré un fichier SQL grâce à iseries Navigator, puis dans un second temps, j ai effectué des traitements spécifiques sur ce fichier afin de le rendre compatible avec MySQL (PostgreSQL). Cette migration de la structure a été réalisée en trois temps, je me suis d abord occupé de générer et importer dans MySQL (PostgreSQL) les tables. Une fois terminé, je me suis chargé des index et pour finir des vues. Enfin, j ai rassemblé dans un unique fichier les trois fichiers SQL afin d avoir un unique fichier SQL pour la structure du portail. 1.3.2. Migration des données La structure de la base de données du portail étant en place, il a fallu par la suite traiter les données déjà présentes. Un employé de l entreprise avait déjà travaillé sur ce genre d opération, car il avait effectué la migration d une base DB2 vers une base de données Oracle à l aide d une Servlet qu il avait écrite. J ai donc utilisé ce programme en l intégrant dans mon environnement de travail Eclipse, et je l ai paramétré de façon à ce qu il manipule bien les deux bases source et destination. Il était nécessaire d avoir la même structure dans les deux bases, ce que j avais réalisé au préalable, puis le programme copiait le contenu de chaque table dans la table correspondante de la nouvelle base MySQL (PostgreSQL). Le programme a fonctionné relativement bien et m a permis de corriger des erreurs de structure détaillées par la suite. 1.3.3. Migration sur le portail Une fois la structure et les données migrées, il a fallu tester si la nouvelle base de données Open Source était opérationnelle sur le portail. J ai tout simplement modifié quelques lignes dans le code source java. Ceci a été réalisé assez vite car nous l avions appris dans le chapitre JDBC du module Programmation Java. Page 20 sur 42