MÉMOIRE. Infrastructure logicielle de portail : mise en œuvre d une solution complète.

Dimension: px
Commencer à balayer dès la page:

Download "MÉMOIRE. Infrastructure logicielle de portail : mise en œuvre d une solution complète."

Transcription

1 CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE RÉGIONAL RHÔNE-ALPES CENTRE D ENSEIGNEMENT DE GRENOBLE MÉMOIRE présenté par Philippe BEUTIN en vue d'obtenir le DIPLÔME D'INGÉNIEUR C.N.A.M. en INFORMATIQUE Infrastructure logicielle de portail : mise en œuvre d une solution complète. Soutenu le 31 mars 2005 Présidente : Membres : Jury Mme Véronique DONZEAU-GOUGE M. Éric GRESSIER M. Jacques COURTIN M. Jean-Pierre GIRAUDIN M. André PLISSON M. Christian LENNE M. Dominique MERLE

2

3 CONSERVATOIRE NATIONAL DES ARTS ET MÉTIERS CENTRE RÉGIONAL RHÔNE-ALPES CENTRE D ENSEIGNEMENT DE GRENOBLE MÉMOIRE présenté par Philippe BEUTIN en vue d'obtenir le DIPLÔME D'INGÉNIEUR C.N.A.M. en INFORMATIQUE Infrastructure logicielle de portail : mise en œuvre d une solution complète. Les travaux relatifs au présent mémoire ont été effectués au centre interuniversitaire de calcul de Grenoble, sous la direction de Christian LENNE, responsable du département réseau du CICG. 3

4

5 Remerciements Remerciements Je tiens à remercier vivement : Madame Véronique DONZEAU-GOUGE, professeur au Conservatoire National des Arts et Métiers, de me faire l honneur de présider le jury. Monsieur Éric GRESSIER, professeur au Conservatoire National des Arts et Métiers, et Monsieur Jacques COURTIN, professeur à l université Pierre Mendès-France, de participer à ce jury. Monsieur Jean-Pierre GIRAUDIN, responsable pédagogique et scientifique du ème 3 cycle CNAM-Informatique, pour ses conseils avisés. Monsieur André PLISSON, Directeur du centre d'enseignement CNAM de Grenoble, pour l inspiration et l espoir qu il m a donnés il y a 14 ans. Monsieur Christian LENNE, mon tuteur et responsable du département réseau, pour avoir su me guider pendant cette année, avec toujours le terme approprié, le mot pour encourager. Monsieur Dominique MERLE, de SUN Microsystem France, pour les conseils techniques. Monsieur Pierre-Yves CUNIN pour son assurance quant à mes capacités. Le Centre Interuniversitaire de Calcul de Grenoble (CICG) pour m avoir accueilli pendant cette année et tout particulièrement le Département Réseau pour le soutien, l ambiance chaleureuse et l écoute dont j ai pu bénéficier. L AGECIF pour le financement de mon projet. Jean-Louis Liagre, de SUN Microsystem France, pour l intérêt qu il a porté à mon travail. Et à tous ceux qui m ont permis de réaliser cette formation. À ma famille, pour m avoir toujours soutenu et supporté pendant toutes ses années. 5

6

7 Tables Table des matières Remerciements... 5 Table des matières... 7 Table des figures... 8 Table des tableaux... 9 Introduction Contexte Des origines Définition d un portail Les familles de portails La vocation du portail Types de portail Autres définitions Conclusion Comment fonctionne un portail? Les portlets Les «briques» d un portail Le Workflow Les protocoles de services Web et de fédération XML-RPC SOAP WSDL WSRP UDDI SSO SSO fédéré Exemple d utilisation de services web But d un portail Pourquoi un portail? Les enjeux d un portail Les difficultés que l on peut rencontrer Conclusion Le projet du CICG Pourquoi un portail au CICG Cahier des charges du portail de métrologie Objectifs généraux du portail Constat Spécifications techniques Utilisateurs cibles du portail de métrologie Requis non fonctionnels Requis fonctionnels Les tâches ou cas d utilisation L offre actuelle Les offres commerciales Oracle Application Server 10g Portal Microsoft SharePoint Portal SUN - Java Enterprise System BEA WebLogic Portal Kosmos - K-Sup / K-Portal WebSphere 5 d IBM Les offres «Open Source» EXo Red Hat Portal Server uportal Zope et Plone Spip

8 Infrastructure logicielle de portail : mise en œuvre d une solution complète. 3.3 La solution SUN Java Enterprise System Concept de Sun JES Architecture Conclusion Réalisation d un portail au CICG Méthode d approche Fonctionnement de JES Construction d un portail Session Mécanisme de construction d une page d accueil Le portail de métrologie Le portail anonyme Le portail des utilisateurs authentifiés Conclusion Conclusions et perspectives Références bibliographiques Acronymes et définitions Index Annexes Annexe 1 : Fréquentations des portails français Annexe 2 : SUN Java Enterprise System Annexe 3 : Portail de métrologie Résumé et mots clés Table des figures Figure 1 : générations d'architectures client-serveur Figure 2 : architecture de portail par services...16 Figure 3 : architecture de portail par serveurs Figure 4 : vocations des portails Figure 5 : complexités des types de portails...20 Figure 6 : schéma des ENT du Ministère de l Éducation Nationale...23 Figure 7 : modèle de fonctionnement d'une architecture de portail Figure 8 : comparaison de.net et J2EE [15] Figure 9 : exemple d'un workflow de publication Figure 10 : protocole SOAP Figure 11 : principe de fonctionnement d'un SSO Figure 12 : exemple d'invocation d'un service Web...34 Figure 13 : apport d une interface unique Figure 14 : diagramme des généralisations entre les utilisateurs...45 Figure 15 : schéma principal - 1 ère partie Figure 16 : schéma principal - 2 ème partie Figure 17 : architecture d'oracle AS Portal...53 Figure 18 : architecture du portail Microsoft SharePoint Portal Server...54 Figure 19 : architecture de Sun Java Enterprise System...55 Figure 20 : architecture de BEA WebLogic Portal Figure 21 : architecture de K-Sup/K-Portal Figure 22 : architecture de IBM WebSphere...57 Figure 23 : architecture de Zope...59 Figure 24 : Java Enterprise System

9 Tables Figure 25 : architecture de portail proposée par Sun Figure 26 : architecture de portail Sun JES Figure 27 : Directory Server Figure 28 : attributs du service d'authentification LDAP Figure 29 : utilisateurs, rôles, services et politiques dans les organisations Figure 30 : architecture de Portal Server Figure 31 : mécanisme de construction du portail Figure 32 : configuration générale dynamique du service Portal Desktop Figure 33 : fournisseurs (providers), conteneurs (containers) et canaux (channels). 71 Figure 34 : cycle de vie en spirale Figure 35 : formulaire de connexion à la console d'administration Figure 36 : création d'une nouvelle organisation Figure 37 : inscription des services dans une organisation Figure 38 : création d'un utilisateur Figure 39 : attribution de services à l'utilisateur Figure 40 : portail d'exemple généré par défaut (sampleportal personnalisé) Figure 41 : conteneurs et canaux du nouveau portail Figure 42 : relations entre les conteneurs et canaux du nouveau portail Figure 43 : onglet «général» du nouveau portail Figure 44 : onglet «collaboratif» du nouveau portail Figure 45 : onglet CICG créé par le rôle Figure 46 : arborescence des conteneurs et canaux du portail anonyme Figure 47 : page des utilisateurs anonymes du portail de métrologie Figure 48 : structure de l annuaire LDAP du portail de métrologie Figure 49 : arborescence des conteneurs, rôles et canaux du portail par défaut Figure 50 : page d accueil du portail, l onglet CICG est commun à tous les utilisateurs Figure 51 : second onglet du portail, il propose des outils collaboratifs Figure 52 : vue d un des onglets associés au rôle MetrologieSRES avec l onglet Big Brother actif Table des tableaux Tableau 1 : liste de serveurs web Tableau 2 : liste de serveurs d'applications Tableau 3 : familles d'utilisateurs Tableau 4 : droits des familles d'utilisateurs par application et ressources Tableau 5 : éditeurs de solution de portail Tableau 6 : services d'authentification d'identity Server Tableau 7 : entête du document xml Display Profile Tableau 8 : fournisseurs (providers) de conteneurs (Containers) Tableau 9 : fournisseurs (providers) de canaux (Channels) Tableau 10 : Display Profile d un rôle affichant un onglet supplémentaire Tableau 11 : document Display Profile correspondant au rôle PrisesSalles Tableau 12 : hiérarchie des fichiers du JSPTabContainerProvider Tableau 13 : arborescence des répertoires Tableau 14 : exemple d'arborescence de fichier pour personnaliser l affichage Tableau 15 : configuration xml du fournisseur IFrameProvider Tableau 16 : attributs ajoutés aux thèmes

10

11 Introduction Introduction Le monde de l Internet évolue rapidement. La technologie de portail, qui n était qu une «niche» pour de petites sociétés en l an 2000, est aujourd hui un enjeu primordial pour les entreprises leader du marché de l Internet, dans les solutions logicielles comme dans les configurations matérielles. Les multinationales, telles Microsoft, IBM, BEA ou SUN, offrent toutes au minimum une solution de portail à leur catalogue. Le monde du logiciel libre quant à lui n est pas en retard avec pas moins d une centaine de solutions de portail plus ou moins évoluées. Certains annoncent le chiffre de 350 solutions. Mais qu est-ce qu un portail? Cette question, pourtant simple, n est pas anodine. La définition la plus juste serait : «Le terme portail est notre pire ennemi dans la compréhension de ce qu est un portail» [1]. Nous verrons dans la première partie de ce mémoire que le terme de portail est utilisé trop facilement, par effet de mode ou comme atout commercial. Il enveloppe des infrastructures logicielles très disparates. Tous les types de sites ont désormais droit à leur appellation «portail», chaque entreprise à son portail. Mais, en réalité, peu répondent à l appellation portail telle que nous la définissons dans ce premier chapitre. Nous présenterons également les différentes architectures des solutions voisines des portails : environnement ou espace numérique de travail (ENT), systèmes de gestion de contenus (CMS), etc. La question : «pourquoi un portail?» nous permettra ensuite d analyser les nécessités qui amènent à choisir une technologie de portail par rapport à d autres solutions. Nous étudierons le cahier des charges du portail de métrologie du département réseau du CICG 1 pour mieux cerner la problématique. Nous envisagerons ensuite, dans le troisième chapitre, les solutions disponibles dans le monde commercial et dans le monde du «logiciel libre». Nous présenterons les objectifs des différents produits, leurs atouts et leurs défauts. Et, en fin de chapitre, nous analyserons en détail une solution technologique complète : Sun Java Entreprise System. Depuis le serveur d annuaire jusqu au serveur de portail, nous étudierons les interactions entre les différents composants, leur mise en œuvre et leur fonctionnement. Le dernier chapitre abordera l application de cette solution technologique au cas particulier de l ingénierie réseau du CICG. 1 CICG : Centre Interuniversitaire de Calcul de Grenoble. 11

12

13 1 Contexte 1 - Contexte Avant toute analyse ou étude, il faut cerner le champ d application du terme «portail». Qu est-ce qu un portail? Qu est-ce qui se cache derrière cette formule pour le moins évasive? La réponse est d autant plus difficile à donner qu elle se décline selon plusieurs registres : portail d entreprise, portail collaboratif, portail vertical pour mieux nous éclairer, remontons aux premiers pas du web. 1.1 Des origines L histoire des portails se présente selon deux approches : celle des particuliers et celle des entreprises. En 1996, MyYahoo! fut sans nul doute le précurseur des portails par la possibilité offerte aux utilisateurs de personnaliser leur page d accueil. C est la naissance du concept de portail. Au fil des ans, il s enrichit de fonctionnalités, de services, et intègre aujourd hui des flux de données XML, des services web Le concept de personnalisation, si cher à l utilisateur, s est alors imposé aux entreprises. Pour l entreprise : l Internet, dans sa version initiale, était statique. L information partagée était référencée par des liens, statiques eux aussi. Les «portails» de l époque ne proposaient qu un regroupement de pointeurs. Puis, le web est devenu dynamique. Les organismes ont pu communiquer avec leurs partenaires, fournisseurs ou clients, par l intermédiaire du web. L information réorganisée est présentée favorablement en fonction du destinataire : la personnalisation se situe du côté du serveur. On ne présente pas le contenu de la même manière si le client est partenaire ou employé de l entreprise. L idée d utiliser le réseau pour travailler en collaboration devient alors évidente vers C est l'ère des messageries immédiates, des communications basées sur le web. Le portail évolue, il est le point d entrée incontournable de la plate-forme collaborative. Depuis 2002, l utilisation des services web à travers le réseau et de partage d informations entre organisations est stratégique. C est la naissance des standards d interopérabilité comme SOAP, WSDL, UDDI, qui permettent les échanges de données et de services. Les portails d aujourd hui «consomment» et interagissent avec les services web. Ils proposent désormais du contenu, des liens, un moteur de recherche. Ils sont organisés selon le destinataire, collaboratifs et interopérables. Le défi est de syndiquer les contenus, de fédérer les solutions souvent hétérogènes et de permettre une intégration de l existant tout en s assurant de la sécurité, pour cela il faut une gestion optimale des identités. Les mécanismes de création et de gestion des rôles, le partage d identités, la centralisation des authentifications deviennent en enjeu majeur. Des standards d échanges comme Liberty Alliance, Shibboleth ou Passport 1 sont en plein essor pour répondre à ce dernier besoin. La technologie permet aussi de s affranchir de la plate-forme cliente, de la langue en ne se concentrant que sur le contenu. Mais les portails sont une évolution et non une révolution. Ils constituent une nouvelle approche d un problème récurrent en informatique. La naissance des micro-ordinateurs a vu se multiplier les sources d informations et les applicatifs. Nous sommes passés d un système centralisé avec des terminaux passifs à des postes individualisés. Les réseaux sont venus apporter une solution aux redondances et une réponse facile aux partages d informations et d applications. Le problème de partage d informations était matériel. Avec l apparition des 1 Microsoft a officiellement abandonné Passport en décembre

14 Infrastructure logicielle de portail : mise en œuvre d une solution complète. technologies du web, un nouveau pas est franchi en permettant un véritable travail collaboratif. Le logiciel client est redevenu un client léger 1 comme au temps des terminaux passifs. La fédération des informations et des applications dans une solution unique pour l utilisateur était le pas logique à franchir. Le portail ouvre une porte vers les ressources à partager, les applicatifs, proposant des services le tout sous une gestion unique de l authentification, des droits et de la sécurité. Né de l expérience de Yahoo! : l utilisateur personnalise son interface, range son portail comme il le souhaite. Il «possède» son outil. Les portails tentent de résoudre le problème que les réseaux ont rencontré il y a quelques années en désirant partager entre machines hétérogènes des données : problème matériel hier, applicatif aujourd hui. L émergence du mot «portail» C est avec MyYahoo! en 1996 qu apparaît le mot «portail» pour désigner un site web. Devant le succès du concept (390 % de croissance moyenne sur 12 mois), ce fut au tour des géants du web comme Lycos, Infoseek, Excite et plus tard Netscape et Microsoft de proposer leur portail. «Portail» a été sans conteste un des mots les plus utilisés en 1998 sur Internet. Tout le monde ou presque avait son portail. Un nouveau modèle client-serveur La figure 1 ci-dessous nous montre les différentes architectures client-serveur au fil du temps. 1 ère génération 2 ème génération 3 ème génération Client Portail Serveur de portail Serveur d intégration Serveur d applications Serveur de données Figure 1 : générations d'architectures client-serveur. Dans la première génération d applicatifs client-serveur, le poste client s occupait de l exécution et de la présentation tandis que le serveur gérait des données. 1 Client léger : variante de la composante client d'un modèle client-serveur, dans laquelle le volume du traitement effectué sur l'ordinateur client est minimal en comparaison du volume traité dans le serveur. Par extension, l'objectif est de déployer des systèmes aussi simples que possible, pour réduire la maintenance et le coût total d'un système. 14

15 1 - Contexte Dans la seconde génération, le poste client ne fait plus que la présentation, un premier serveur intermédiaire (middleware) se consacre à l exécution des applicatifs et un second serveur des données. Dans la troisième génération, celle des portails, le client gère toujours la présentation mais dans une moindre mesure, le portail lui fournissant un contenu partiellement présenté. Dans cette architecture, un serveur gère l intégration et les droits, un autre les applicatifs. Les données proviennent de différentes sources qui peuvent être un serveur SGBD, des services Web 1.2 Définition d un portail Pour définir le terme de portail, plusieurs méthodes s offrent à nous. Commençons par les définitions encyclopédiques. Microsoft Encarta reste prudent : Site thématique d'internet qui propose un moteur de recherche, des liens et des accès à d'autres sites, des annuaires et des groupes de discussions [2]. Le Robert est plus académique : 1988, emprunt de l anglais portal : portail, porte. Site d accès au réseau Internet, dont la page d accueil propose une gamme de services et permet d accéder à d autres sites [3]. Le Quid plus ouvert : Porte d entrée vers l Internet grand public, un intranet d entreprise ou un centre d appel ; l utilisateur accède à une page ou un message vocal d accueil avant d être aiguillé vers le service de son choix. Comporte également des services : informations générales, moteur de recherche, sélection de sites [4]. C est dans un colloque de juin 2001 de la Direction Générale de la Concurrence, de la Consommation et de la Répression des Fraudes (DGCCRF) que l on trouve la définition qui semble la plus juste des portails : Il y a peu de documents publiés sur les portails et la question est controversée sur le plan technique puisqu il n y a pas de standard de définition [5]. Là est bien le problème. Il n y a pas une définition des «portails». Chaque architecture de portail est une définition. Chaque fournisseur met en avant sa solution, sa vision des portails. Sa représentation est donc architecturale. Sa solution est dirigée vers la gestion de contenus, l intégration, les outils collaboratifs, décisionnels. Il met en avant la possibilité de communication entre les acteurs, l interopérabilité ou le e-commerce Le responsable du système d information définit différemment les portails. L entreprise possède des applicatifs, un ou plusieurs intranets, des annuaires Pour lui, le portail lui apportera la meilleure intégration de son architecture. Même si la frénésie des portails sur Internet s est calmée, elle reste très vive dans les intranets. Une nouvelle tendance, évolution des portails, sont les «environnements numériques de travail». Enfin, l internaute voit d un autre œil les portails. Il recherche des portails généralistes proposés par son FAI 1 ou les moteurs de recherches comme Google ou Yahoo. Il parcourt également les portails spécialisés, sur un thème précis, une communauté, un secteur d activité, une technologie ou un revendeur. De plus, l utilisateur n est pas obligatoirement derrière un ordinateur personnel, il peut consulter le portail avec un organiseur, un téléphone portable ou tout autre outil nomade. Il ne parle pas nécessairement la même langue que le rédacteur 1 FAI : Fournisseur d accès Internet. 15

16 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Qui des trois à raison? Nous serions tentés de répondre tous. Chacun voit le même portail selon une interprétation différente. Il faut extraire de toutes ces possibilités une définition universelle. Portail : infrastructure logicielle qui peut fournir une plate-forme d intégration, de gestion de contenus, d outils collaboratifs, de services web, d authentification, etc. et qui propose à l utilisateur sur une interface adaptée à son mode de connexion, des services comme la personnalisation, un moteur de recherche, des contenus classés, des liens, etc. Présentation Personnalisation Internationalisation Composants du portail Authentificat ion SSO Sécurité Discuss i ions Outils collaboratifs & de communication Conférence f Forum r l Calendrier i r Mai Messagerie instantanée Intégration d applicatifs i Moteur de recherche Gestion de documentations Intégration des contenus API - SPI - Portlets Data repository Services Web Partage d identité Gestion de contenus Figure 2 : architecture de portail par services. La figure 2 détaille l architecture d un portail selon une approche de services. Le client est de base universel. Il peut s agir d un navigateur, un agenda électronique de poche, un téléphone portable, un système embarqué, une autre application ou portail le portail est en mesure d adapter la présentation des contenus selon le type de matériel client. Le format d échange est adapté : XML, HTML, WML, VRML, WSRP Le service «présentation» Présentation gère l interface fournie au client. Il détermine quel est le Personnalisation Internationalisation protocole et, éventuellement, le format de données à transmettre selon le matériel de l utilisateur. L affichage est également personnalisé par rapport à l utilisateur, selon ses préférences ou selon son appartenance à un groupe cible : client, fournisseur, collaborateur, étudiant, 16

17 1 - Contexte employé Ce service peut traduire le contenu dans la langue du destinataire (BabelFish d Altavista). Exemple : un utilisateur anonyme fait une recherche sur Google. La page de résultats qui lui sera retournée tient compte de sa langue mais, de plus, il lui est possible d obtenir la traduction d une page référencée (celle-ci est écrite dans une langue qui n est pas la sienne). Dans cet exemple, le portail de recherche propose une traduction d un contenu qu il ne maîtrise pas, la mise en page du contenu est alors perturbée. Dans un portail proposant des contenus maîtrisés, la traduction peut s effectuer avant la mise en page et le document proposé en tient compte. Le second élément du schéma présente la mise en œuvre des composants du portail. Il propose des services et réalise des tâches pour l utilisateur. Ces composants sont partie intégrante de l architecture de portail, même s ils font appel à des contenus externes ou des app Composants du portail lications agrégées. La liste de composants n est ni exhaustive, ni obligatoire. La majorité est toujours présente dans une architecture de portail mais, selon le type de portail, elle peut être plus ou moins intégrée et plus ou moins complète. L authentification repose sur plusieurs technologies : Active Directory, LDAP, RADIUS, SGBD ou des fichiers de configuration. La propagation de l authentification au sein des composants du portail est assurée par le système de gestion des identités. Sécurité : la centralisation de l authentification unique doit reposer sur une garantie de sécurité tant au niveau fiabilité matérielle que dans la protection logicielle. Les points principaux se situent dans l architecture du réseau (ACL 1, Firewall, équilibrage de charge, redondances des équipements ), dans les composants du portail (rôles, identités, stratégies de sécurité ) et dans l intégration des applicatifs (propagation des identités en dehors de l architecture de portail, authentification unique ). Outils collaboratifs et de communication : cette section regroupe tous les outils intégrés dans l architecture de portail comme les groupes de discussions, forums, «bavardoirs», calendriers partagés ou personnels, clients messageries Intégration d applications : permet d intégrer dans le portail des applications existantes, par réécriture du code (HTML), par traduction d url, par mise en œuvre d un composant particulier Gestion de contenus : tout ou partie d un système de gestion de contenus intégré dans le portail. Moteur de recherche : permet des recherches sur le contenu proposé par le portail ou, plus largement, sur l Internet entier. Enfin, une dernière section gère les accès vers les systèmes fournisseurs de contenus, qu ils soient internes ou externes à Authentification tifi SSO Sécurité Outils collaboratifs & de communication l architecture de portail. C est le cas des portlets qui fournissent une brique du portail, des API et SPI qui fournissent des méthodes, des services web qui échangent selon des protocoles définis (SOAP ) avec d autres serveurs web ou Discussions API - SPI - Portlets Conférence f Forum Calendrier Mail Messagerie instantanée Intégration d applicatifs Intégration des contenus Data repository Services Web Partage d identité Moteur de recherche Gestion t de documentations Gestion de contenus 1 ACL (Acces Control List) : table des autorisations affectées aux utilisateurs sur une ressource. 17

18 Infrastructure logicielle de portail : mise en œuvre d une solution complète. encore la propagation d authentification qui permettent de partager des identités entre organisations (CDSSO, Shibboleth, Liberty Alliance, Passport.net). L annuaire ou metadata repository peut être intégré dans la solution (LDAP et Active Directory). Il permet de gérer les utilisateurs et leurs droits au sein du portail et dans les services proposés. Sous l architecture de portail viennent les ressources internes et externes à l entreprise : applicatifs, bases de données, serveurs de fichiers, de messagerie, services web La figure 1 nous a montré le chemin parcouru par l information pour atteindre l utilisateur. Les ressources fournissent le contenu, il est intégré puis canalisé vers l objet (Portlet) qui assurera sa fusion dans le portail fourni au client. La figure 3 cidessous montre une approche plus structurelle des différents outils de l architecture de portail. Il ne reprend pas les outils secondaires comme un serveur de calendrier, de messagerie, d outils collaboratifs Serveur Web Serveur d applications Serveur de portail API - SPI - Portlets Serveur d intégration Framework J2EE,.NET Figure 3 : architecture de portail par serveurs. 1.3 Les familles de portails Le concept de portail précisé, nous pouvons détailler les différentes mises en applications et donner quelques exemples. Les portails se divisent selon deux principes : la vocation du portail : ses cibles, son périmètre. le type de portail : son contenu, ses fonctionnalités La vocation du portail D une façon générale, un portail se définit par sa vocation ou domaine d application. Il est dédié à une population d acteurs. Bien souvent, il a plusieurs vocations. Exemple : une entreprise s est dotée d une architecture de portail pour ses employés (B2E : «business to employees»), ses partenaires (B2B : «business to business») et ses clients (B2C : «business to consumers»). Elle propose aux clients des commandes en ligne, obtient de ses fournisseurs les délais de livraison et informe ses partenaires des projets en cours. Dans l entreprise, les employés du département marketing ont des 18

19 1 - Contexte outils d aide à la décision, tous les employés peuvent participer à la gestion de documentations (GED), gestion des connaissances (KM), gestion de contenus et ils ont leur messagerie, les ressources réseau habituelles et d autres outils de collaboration sur leur page d accueil. Portail B2C Internet Clients Portail B2B Extranet Fournisseurs Portail B2E Intranet Employés Partenaires Figure 4 : vocations des portails. La vocation du portail se présente selon plusieurs scénarios, en terme de cibles : client, fournisseurs ou partenaires et employés. On rencontre parfois la définition de portail «business to administration» (B2A), il désigne alors une relation commerciale entre une entreprise et le secteur public Portail «business to consumers» (B2C) C'est la forme de portail la plus populaire. Les portails B2C (Business to consumers : entreprise face à ses clients) se déclinent selon deux grands principes : les portails généralistes destinés à un large public et les portails communautaires, spécialisés dans un domaine ou une activité particulière. On peut y trouver tant de configurations différentes qu il est impossible de toutes les détailler. L'objectif est de générer le trafic le plus important possible, en vendant des produits ou services bien sûr, mais aussi en offrant un grand nombre de services gratuits parallèles en rapport avec le thème général du portail Portail «business to business» (B2B) Portail relatif à des échanges ou des transactions commerciales en ligne entre des fabricants, des fournisseurs et des entreprises clientes. Il permet d'améliorer le commerce électronique interentreprises et l'approvisionnement par Internet et favorise la collaboration entre différents partenaires commerciaux. Il touche les acquisitions et maintenances des équipements, les approvisionnements, la soustraitance, les ventes et après-vente, la logistique et les services financiers On trouve ainsi des portails thématiques (assurance ), des portails dédiés à des départements de l'entreprise (ressources humaines, gestion des stocks ) ou encore dédiés à des services spécifiques (aides aux start-up, services en ligne ). Suivant la notoriété de l'entreprise et la qualité des services qu'elle offre, le site portail peut viser à fédérer toute une profession vers un marché précis Portail d entreprise ou «business to employees» (B2E) Le portail B2E, dirigé de l'entreprise vers ses employés, a pour objectif d'unifier l'ensemble des ressources internes et externes de l'entreprise. Il met ainsi à disposition de chaque employé l'ensemble des services et informations dont il a besoin sous la forme la mieux adaptée. Il s adresse aux employés de l entreprise et ses partenaires proches. Le niveau d outils collaboratifs est élevé et l agrégation d applicatifs également. 19

20 Infrastructure logicielle de portail : mise en œuvre d une solution complète Types de portail Le type d un portail correspond à son objectif, il est déterminé par les outils qu il met à la disposition des acteurs. Nous pouvons les classer comme suit : Le portail généraliste : Google, Voilà.fr, MSN Portail communautaire : généalogie, fans-club, technique, communauté Portail documentaire : orienté gestion de contenus, de documents. Portail collaboratif : permet le travail en commun au sein d une entreprise et de ses partenaires. Portail de gestion de la connaissance (KM). Portail décisionnel : intègre les applicatifs de suivi, tableaux de bord tous les outils nécessaires à la prise de décisions. Portail transactionnel : environnement numérique de travail (ENT). Cette liste n est pas exhaustive, une entreprise peut créer son propre portail axé sur la communication ou l information d entreprise, sur la co-conception ou le pilotage de performance. De plus, un éditeur de solution de portail peut utiliser un terme plutôt qu un autre pour des raisons commerciales ou d interprétation. Ainsi, Hummingbird parle de portail d information d entreprise pour couvrir le portail d aide à la décision, de gestion de la connaissance et de gestion de contenus [6]. Complexité d intégration Portail EAI Portail gestion connaissance Portail généraliste Portail décisionnel Portail documentaire Portail communautaire Portail transactionnel Portail collaboratif Complexité des outils collaboratifs Figure 5 : complexités des types de portails. Comme le montre la figure 5, la complexité d une architecture de portail est liée à la complexité de l intégration et au niveau de collaboration des acteurs. Ainsi, un portail généraliste sera assez simple et peu collaboratif alors que le portail d une entreprise dédié aux employés sera complexe de part l intégration des applications hétérogènes et le niveau de collaboration entre les acteurs Le portail généraliste ou portail horizontal Le portail horizontal couvre de vastes domaines qui sont néanmoins regroupés au sein d un grand thème principal, mais traités de façon à couvrir la plus grande gamme d activités possible. C est une page d accueil donnant accès à des données classées, un moteur de recherche, des actualités, des liens, la météo, les programmes télé des services multiples qui retiendront l internaute. On peut y trouver des services de communication ou de collaboration : messageries instantanées, «bavardoirs» ou chat, courriel et client messagerie, forums Certains de ces portails permettent à l utilisateur de personnaliser son interface, de choisir les briques qui seront affichées. Enfin, ils lui permettent de rebondir vers d autres sites. Les fournisseurs d accès Internet (FAI) l ont bien compris, leur page d accueil, installée par défaut 20

21 1 - Contexte avec le navigateur, doit devenir la porte d entrée sur le Web du nouveau client. Pour le FAI, le portail est donc une vitrine, un enjeu commercial capital. Les portails généralistes Parmi les portails généralistes, on trouve les portails d accès des FAI comme Wanadoo, Lycos ou Free. Ils proposent à leurs abonnés une porte d entrée sur l Internet. Ils se doivent d agréger tout un ensemble de services aussi généralistes que possible autour de leur activité afin de fidéliser leurs clients. Leurs portails sont soignés, tant sur le point de vue artistique que sur l interface, proposant dès la première page les rubriques les plus sollicitées. Les portails de recherche Ce sont les sites les plus connus (Voilà.fr, Google, Altavista ) qui sont souvent les précurseurs de nouvelles fonctionnalités comme ce fut le cas pour le portail MyYahoo!, le multilinguisme ou, plus récemment, des services web grand public (Google AdSense ou Google Web APIs en Beta2). Les portails fédérateurs On trouve enfin d anciens sites verticaux se voulant fédérateurs ou des sites d entreprises ayant élargis leur gamme de services pour devenir multidisciplinaires. Le portail de tf1.fr propose aujourd hui un large éventail de services dépassant son segment de marché. Parmi les portails fédérateurs, citons également les portails de portails, comme meilleurduweb.com, qui proposent un annuaire de sites Le portail communautaire ou vertical C est un portail spécialisé qui regroupe l'information et les ressources relatives à un secteur d'activités ou à une profession. Il est dédié à un domaine très spécialisé et il traite l information à la verticale, ce qui permet de creuser un sujet spécifique en profondeur. Il est impossible de dénombrer le nombre de sites communautaires sur Internet : une estimation de deux millions de portails francophones ne serait pas farfelue! Mais peu de ses portails en méritent l appellation. Tous les domaines sont abordés : des amateurs de jardinage aux sites de fans, en passant par les sports, technologies ou thèmes historiques! Parmi les sites publics, un exemple hors du commun est le projet Lutèce Open Source Portal : Lutèce est un outil permettant la réalisation d'un portail internet ou intranet offrant les fonctionnalités suivantes : publication et agrégation de contenu, recherche en texte intégral sur l'ensemble du site, lettre d'information, administration dynamique. Écrit en Java, il est basé sur les projets de l'apache Software Foundation (Jakarta et projets XML). Actuellement, 18 des mairies de Paris utilisent ce logiciel pour leurs portails d arrondissement [7] Portail de gestion de contenus ou de documents Un portail de gestion de contenus (Content management system : CMS) est un système intégré et multi plate-forme permettant aux entreprises et aux organisations de gérer rapidement et facilement le contenu dynamique et rédactionnel d'un site Web. Les systèmes de gestion de contenus sont des solutions flexibles et dynamiques qui permettent aux sociétés une actualisation facile des sites Web, c'est-à-dire de corriger et d'ajouter des textes, des photos et des fonctions multimédias sur leur site, sans avoir besoin d'aide extérieure [8]. 21

22 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Le nombre de solutions purement orientées gestion de contenus (Content management system : CMS) dans le «monde libre» dépasse les 200 d après Jean-Luc PAROUTY [9] de l INRIA 1. L offre de CMS tend aujourd hui à se scinder : D une part les produits orientés vers la seule gestion d un site web, simples, prêts à l emploi, aux possibilités d extension généralement limitées (Cofax, K- Sup, PhpNuke, Spip ). Ils ne peuvent prétendre à l appellation de portail! D autre part les portails documentaires qui permettent de construire un véritable référentiel de contenus au niveau de l entreprise, de personnaliser les processus de gestion associés et de décliner la restitution de ces contenus sur une variété de médias (Jahia, Redhat E-CMS, Zope ) Portail Collaboratif Le portail collaboratif permet le travail en commun au sein d une entreprise et de ses partenaires. Les outils collaboratifs y sont prédominants mais secondés par des applicatifs externes. Ils ne répondent pas seulement à une volonté d image mais aussi à un enjeu de productivité. En facilitant la collaboration, notamment pour soutenir une organisation en mode projet (via des espaces de travail en groupe, des circuits de validation des documents, etc.), le portail devient un outil de travail. Les portlets typiquement mis en œuvre sont : Forums. «Bavardoirs», messagerie instantanée. Messagerie. Agenda. Espaces de travail virtuels où les participants peuvent mettre en commun leurs documents. Salles de réunion. Tableau blanc. Etc Portail de gestion de la connaissance (KM) Point d entrée potentiel pour les différentes initiatives de gestion de la connaissance au sein de l'organisation, le portail d'information d'entreprise facilite l'implémentation d'une gamme complète de fonctionnalités : point d'accès unique à l'ensemble des informations utiles structurées ou non structurées, constitution de communautés d'intérêt, collaboration, etc Portail décisionnel Appelé aussi portail d'aide à la décision, il est nourri par les applications clés du système d'information (progiciel de gestion, suivi de relation client ) dont les données actives (en temps réel) sont remontées jusqu'à lui. Le portail décisionnel agrège des tableaux de bord et les personnalise pour chaque population Portail transactionnel Le portail transactionnel est l aboutissement du portail. On ne parle plus de solution de portail mais d un environnement de portail. Il est le fédérateur des briques du système d information. À travers lui, les utilisateurs vont interagir avec leurs applications clés (applicatifs, documents, outils bureautiques ) et modifier les données qui y sont hébergées. Le portail n'est donc plus seulement une interface de reporting mais un outil transactionnel fortement intégré avec l'existant informatique de l'entreprise. Il fait partie intégrante de l architecture du système d information, il en est même le poumon. 1 INRIA : Institut national de recherche en informatique appliquée. 22

23 1 - Contexte Autres définitions Maintenant que nous avons fait un tour complet des familles de portail, leurs vocations et leurs types, nous pouvons aborder certains concepts qui, sans être des portails, ont des points communs avec eux ENT Les ENT ou environnement numérique de travail ou encore espace numérique de travail sont liés aux portails, ils en sont très proches au point qu ils pourraient se confondre avec les portails transactionnels. La définition donnée par le Ministère de l Éducation Nationale dans son schéma directeur est : «Un espace numérique de travail désigne un dispositif global fournissant à un usager un point d accès à travers les réseaux à l ensemble des ressources et des services numériques en rapport avec son activité. Il est un point d entrée pour accéder au système d information de l établissement.» ([10] p. 4). Daniel Kaplan et Serge Pouts-Lajus complètent : «Concrètement, il s agit de rassembler toutes les fonctions disponibles dans un «portail personnalisé» adapté aux besoins de chacun : bureau numérique (annuaire, espace de stockage, agenda, outils bureautiques ), outils de communication (courriel, accès Internet ), services de vie scolaire (emploi du temps, notes, absences, information administrative ), services pédagogiques et documentaires (ressources pédagogiques, dictionnaires et bases de données, outils de création, de publication et de collaboration ). Ces fonctions seront accessibles à partir d une identification unique, depuis n importe quel poste à l intérieur de l établissement, mais aussi depuis l extérieur : domicile, lieux d accès public, etc.» [11]. Un ENT englobe une architecture de portail, mais couvre également les applicatifs externes au portail, les serveurs de messagerie, tout l environnement nécessaire au portail. Le portail est la clef de voûte, la face visible par l utilisateur de l ENT. Cidessous, la figure 6, extraite du Schéma directeur des espaces numériques de travail, expose clairement la position du portail en cœur de l ENT [10] Bureau virtuel Figure 6 : schéma des ENT du Ministère de l Éducation Nationale. Le bureau virtuel est la transposition du bureau «Windows» sur un site. L utilisateur doit y trouver sa messagerie, son agenda, ses outils bureautiques et 23

24 Infrastructure logicielle de portail : mise en œuvre d une solution complète. ses documents tout ce qu il trouve actuellement sur son bureau. Il doit permettre d accéder depuis n importe quel type de lecteur (navigateur, organiseur personnel, téléphone portable ) et depuis n importe où (intranet, VPN, WIFI ) Le bureau virtuel n est donc pas un portail car il ne propose pas d intégration d applicatifs ni de services, simplement une agrégation d outils Conclusion Il nous est possible maintenant de dire qu un portail n est pas simplement un gestionnaire de contenu. Il ne permet pas seulement de personnaliser l interface utilisateur, il ne se limite pas à la gestion des authentifications il est tout cela et plus encore! Les portails sont des outils qui ne peuvent laisser indifférents les entreprises en quête de rationalisation de leur système d information. Plus de 40 % des budgets de développement en informatique sont liés à l'intégration de données dans les systèmes d'information. Il s'agit donc d'une problématique stratégique pour les entreprises [12]. Les portails, évolution logique du système d information, vont offrir une mutualisation des moyens et une meilleure collaboration tout en optimisant la sécurité et en améliorant la qualité de travail des acteurs. La personnalisation va permettre de modeler cette concentration d information en fonction des besoins de l utilisateur. Le mouvement est à peine amorcé pour les entreprises, les intranets s effacent peu à peu derrière des portails. L environnement de portail comme outil d intégration a un avenir certain. 1.4 Comment fonctionne un portail? Les différents types de portails précisés, nous pouvons examiner leurs fonctionnements. Bien sûr, chaque architecture de portail a ses propres mécanismes, mais toutes utilisent un schéma sensiblement identique. Le portail propose à l utilisateur des pages web composées de pavés issus de sources différentes. Chaque pavé est indépendant, ses attributs sont stockés dans une base de paramètres propre au portail : le référentiel du portail ou Data Repository. Les informations sont stockées en XML, dans un annuaire LDAP, une SGBD Si l on reprend la figure 3 de la page 18, le client effectue ses requêtes sur le serveur web (dans son protocole HTTP, VRML, XML, WML, WSDL ). Celui-ci sollicite le serveur de portail pour générer la page demandée. Le serveur de portail construit les éléments de la page en tenant compte du profil de l utilisateur final. Il met à disposition du serveur d applications les contenus et les applicatifs intégrés avec les scripts (JSP,.NET, Python ). Ce dernier exécute les scripts serveurs et fournit le résultat au serveur web qui le transmet dans le protocole adapté au client. Bien entendu, ce schéma de fonctionnement est décliné de façon différente par les diverses solutions. 24

25 1 - Contexte Architecture de portail Client Serveur Web Serveur d applications Serveur de portail Serveur d intégration Requête HTTP Demande page (Utilisateur) Récupération profil Obtention des contenus applicatifs auprès des sources externes. Pages JSP, ASP Transfert HTTP Pages HTML Exécution scripts Figure 7 : modèle de fonctionnement d'une architecture de portail Les portlets Avec la technologie des portails, des termes nouveaux apparaissent. Le terme «Portlet» est issu du modèle d'applet. Il provient de la contraction des mots «portail» et «applet». Décrit en janvier 2002 par SUN et IBM 1 dans leur définition de l API de portail, le portlet définit l interface entre le serveur de portail et les applications qu il agrège. C est un module intégré à une architecture de portail, qui permet à l'utilisateur de disposer, dans la même fenêtre, d'un accès centralisé et convivial à différentes ressources (données, applications, sites Web, etc.), de modifier l'interface du portail selon ses besoins et de personnaliser ainsi son environnement de travail. D'un point de vue technique, un Portlet est un servlet fonctionnant à l'intérieur d'un portail. Il existe de nombreux types de portlets permettant d'accéder à différents types d'informations et d'exécuter une grande variété de tâches. Citons, par exemple : affichage d un autre site Web, accès à sa messagerie, à un agenda, aux forums de discussion, etc. Le serveur de portail permet à l'utilisateur de personnaliser l'interface, dans des valeurs précisées par l administrateur, en choisissant les portlets qu il aura sur sa page, parmi ceux qui sont proposés, en modifiant l'emplacement et le nombre de portlets dans la page ou encore en modifiant leurs présentations. La spécification normalisée de l interface amène l interopérabilité, et crée une sorte de marché du Portlet. Les grands éditeurs de portails livrent leurs solutions avec un ensemble de portlets standard, le développement de portlets spécifiques est alors réduit aux applications déjà existantes dans l entreprise. Certains éditeurs d applications complémentaires fournissent également des portlets adaptés à différentes architectures de portails, sur le standard JSR-168 de SUN, IBM, BEA Exemple : SUN Microsystems décrit le Portlet API (PAPI sur le standard JSR-168) et livre un «Portlet builder», outil de développement de portlets, avec sa solution Java Enterprise System. FatWire Spark, éditeur de système de gestion de contenus, outil complémentaire au portail, s intègre avec des portlets fournis par FatWire Spark [13]. 1 Aujourd hui rejoint par Oracle, Sybase, Vignette, BEA et Apache Software Fundation. 25

26 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Pour le monde du logiciel libre, le nombre de portlets contenus dans le logiciel est plus réduit mais des compléments sont disponibles sur l Internet communautaire. La tendance est également au standard JSR-168 bien que celui-ci soit aujourd hui incomplet. En effet, il ne prévoit pas la communication entre portlets et la notion de fournisseur (conteneur ou classe java) n est pas identifiée Les «briques» d un portail L architecture de portail est formée de plusieurs «briques» qui interagissent les unes avec les autres. Comme l indique la figure 3 page 18, ces éléments sont intimement liés et complémentaires. Chacune accomplit une partie bien définie de la mise en œuvre du portail, de la génération de la page adressée au client à la gestion des droits. Selon la solution de portail, ces briques peuvent différer, être divisées ou fusionnées ou même absentes. C est le cas de Zope par exemple qui ne comprend pas de serveur web et demande l installation préalable d un serveur Apache ou autre Serveur Web Le serveur Web traite les requêtes du client selon le protocole HTTP, transmet les différentes tâches demandées aux éléments concernés et retourne au client le résultat du traitement. En général, un serveur Web ne peut pas exécuter des scripts côté serveur (ASP, JSP ). Il fait appel pour cela au serveur d applications. Serveur web Systèmes d exploitation possibles Part de marché Apache NetWare, OS/2, Unix (tous), Windows (tous) 68 % Microsoft IIS Windows Server 21 % Sun Java System Web Server Zeus Web Server Red Hat Linux, Solaris, Windows Server 3 % AIX, BSD (tous), Digital UNIX, HP-UX, Linux, MacOS X Server, Solaris 1,5 % Tableau 1 : liste de serveurs web. Dans le tableau 1, une liste de quelques serveurs disponibles sur le marché (source NetCraft de septembre 2004). Apache, serveur du monde libre, est le plus couramment utilisé. Le serveur Microsoft IIS est particulier, il fait office de serveur web, serveur d applications et sert également de point d'entrée pour les services Web. Les extensions serveur lui permettent d exécuter ou d interpréter du code ASP, MS IL et PHP. Il gère les protocoles HTTP, FTP, SMTP et NNTP. Enfin, IIS Windows et.net sont liés Serveur d applications Le serveur d applications exécute ou interprète les programmes (ASP, JSP ) pour un client. Ce système permet d avoir des clients légers qui exécutent leurs applicatifs sur le serveur. Dans une architecture de portail, le serveur d applications exécute les scripts ou programmes pour les autres briques du portail. Dans le tableau 2 ci-dessous, nous donnons une liste des principaux serveurs d applications. On remarque que Zope est son propre serveur d applications comme BEA ou WebSphere, alors qu Oracle, Sun ou Sybase ont séparé cette fonction du portail dans un élément autonome, réutilisable par d autres applicatifs. Le serveur d applications de Microsoft, Internet Information Service, est également serveur web et est détaillé dans le paragraphe

27 1 - Contexte Serveur d applications Système d exploitation possibles Open Source Framework Apache Tomcat Tous serveurs J2EE 1.3 BEA WebLogic Server Red Hat Linux, Solaris, Windows (2000, 2003, XP) Red Hat Linux, Solaris, Windows (NT 4, 2000) J2EE 1.3 IBM WebSphere J2EE 1.3 Microsoft Internet Information Service Inclus dans Windows Server.NET Oracle Application Server United Linux, Red Hat Linux, Solaris, Windows Server J2EE 1.3 Sun Java System Application Server Red Hat Linux, Solaris, Windows Server J2EE 1.4 Sybase Enterprise Application Server Linux, Solaris, Windows (NT 4, 2000) J2EE 1.3 Zope Linux, Solaris, Unix (tous), Windows Python Tableau 2 : liste de serveurs d'applications Serveur de portail Le serveur de portail diffère fortement selon la solution de portail. Les solutions les plus simples proposent un ensemble de pages qui seront exécutées par le serveur d applications, quelques gestions de droits et d administration. Les architectures les plus complexes divisent le serveur de portail en plusieurs éléments afin de gérer chaque brique individuellement et de l intégrer dans l architecture de portail déployée selon les besoins : Serveur d identité : chargé de gérer les droits, les authentifications, les profils Serveur d agrégation ou de portail : fait appel aux portlets pour construire la page. Serveur de contenu : chargé de délivrer l information, gérer les contenus souvent externe au portail. Serveur de messagerie, souvent externe au portail. Serveur collaboratif : calendriers, agendas, «bavardoirs» Serveur de processus : workflow, applicatifs décisionnels Serveur e-commerce. Serveur d accès : accès distant, multi plates-formes, multilinguisme Etc. D autres briques peuvent également être séparées sans pour autant être considérées comme des serveurs : Outil de recherche. Sécurité. Data repository : pour le stockage d informations propre au portail Serveur d intégration Le serveur d intégration gère les liens entre le portail, l architecture de portail ou l environnement de portail avec l extérieur, que ce soit par l intermédiaire du singlesign-on (SSO), de protocoles d échanges structurés (RSS ) ou de services web (WSDL, SOAP ). Il permet aussi aux portlets de dialoguer avec les applicatifs de l entreprise. Enfin, il peut également assurer la fourniture de service web. 27

28 Infrastructure logicielle de portail : mise en œuvre d une solution complète Le Framework Le Framework est la plate-forme de développement et d exécution. Deux grands standards se partagent la quasi-totalité des frameworks : J2EE (Java 2 Entreprise Edition) et.net. La plate-forme J2EE de BEA, IBM, Oracle, Sun, Sybase qui préconise un langage de développement universel (Java) pour plusieurs supports logiciels. Les standards de communications sont multiples, l interopérabilité avec le modèle.net est assuré par les services web et par des conteneurs web avec le standard J2EE [14]. Le modèle Microsoft avec.net où plusieurs langages sont disponibles pour un unique type de plate-forme. Les standards Microsoft sont : HTML, XML, LDAP pour les données et SOAP, WSDL pour les services web. D autres langages sont utilisés tout en s appuyant sur des frameworks J2EE ou.net : Perl, Python, PHP, Cold Fusion, etc. La figure 8 ci-dessous détaille les différences et les points communs entre J2EE et.net et fait un parallèle entre les implémentations de chaque Framework. Figure 8 : comparaison de.net et J2EE [15]. La première différence visible est au niveau du développement. J2EE est mono langage et multi plate-forme, le développement s effectue en Java mais avec l outil de développement de son choix : Éclipse, Sun Studio ; alors que.net doit se faire avec Visual Studio.NET mais dans le langage que l on veut : VB, C++, C#... Dans ce cas, le code initial est converti en un langage intermédiaire appelé IL (Intermediate Language) qui sera interprété par la CLR (Common Language Runtime) lui même compilé selon la machine par le compilateur JIT (Just In Time). Réciproquement, dans le modèle J2EE, le langage Java est directement exécuté par le serveur d applications Le Workflow On appelle "Workflow" (traduisez littéralement "flux de travail") la modélisation et la gestion informatique de l'ensemble des tâches à accomplir et des différents acteurs impliqués dans la réalisation d'un processus métier. De façon plus pratique, le Workflow décrit le circuit de validation, les tâches à accomplir entre les différents acteurs d'un processus, les délais, les modes de validation et fournit à chacun des acteurs les informations nécessaires pour la réalisation de sa tâche. Pour un processus de publication en ligne par exemple, il 28

29 1 - Contexte s'agit de la modélisation des tâches de l'ensemble de la chaîne éditoriale, de la proposition du rédacteur à la validation par le responsable de publication. 1 4 Chef de rubrique Rédacteur Rédacteur en chef Figure 9 : exemple d'un workflow de publication. L'exemple ci-dessus est une représentation très schématique de ce que pourrait être un workflow de publication de document sur un intranet à l'aide d'une interface de publication : Le rédacteur propose un article au chef de rubrique Le chef de rubrique prend connaissance du document et le valide Le rédacteur en chef estime que le document possède des éléments incompatibles avec l'actualité et retourne le document au rédacteur Le rédacteur revoit sa copie et la soumet au chef de rubrique Le chef de rubrique corrige les coquilles et transmet l'article au rédacteur en chef Le rédacteur en chef valide le document pour une publication en ligne Certaines solutions de portail proposent un schéma de workflow très évolué, avec un circuit de validation différent pour chaque type de contenu alors que d autres ne permettent qu un seul circuit de validation. Ces schémas de workflow sont principalement utilisés dans les gestionnaires de contenus. 1.5 Les protocoles de services Web et de fédération Aux portails sont associés des termes, protocoles ou standards, que l on retrouve fréquemment dans les publications. Néanmoins, peu de ces standards sont de véritables normes car ils sont le fruit de consortium ou d alliances et s affrontent sur le marché en proposant chacun leur vision de la solution idéale XML-RPC XML-RPC (Remote Procedure Calling Protocol : protocole d appel de procédure distante) est un protocole applicatif pour réaliser des échanges synchrones. Les messages XML sont véhiculés entre deux machines à l'aide des instructions de base du protocole HTTP : Get et Post. Très simple à mettre en œuvre, XML-RPC est l'ancêtre de SOAP, plus complet, mais aussi plus complexe SOAP SOAP (Simple Object Access Protocol : protocole simplifié d accès aux objets) est un protocole standardisé permettant à une application d envoyer et de recevoir des messages via l Internet en s'appuyant sur le XML et le HTTP. Il permet l'interopérabilité des applications à travers le Web. 29

30 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Action Serveur Applications API SOAP Requête SOAP SOAP API Serveur Applications Résultat XML Parser HTTP Réponse SOAP HTTP XML Parser Figure 10 : protocole SOAP. SOAP est un protocole d échange de messages dans un milieu distribué. SOAP définit aussi un RPC (Remote Procedure Call ou Appel de Procédures Distantes), mais n est pas limité à cette utilisation : il est possible d utiliser SOAP pour des appels asynchrones (SOAP ne fonctionne pas nécessairement sur le modèle requête-réponse). Contrairement aux tentatives précédentes (DCOM, CORBA, RMI), SOAP est un standard simple WSDL WSDL (Web Services Description Language : langage de description de Service Web) est une syntaxe XML pour décrire les méthodes et paramètres des Services Web invocables par le biais de messages au format SOAP. Il permet de définir ce qu un Service Web est capable de réaliser, où il réside et comment l invoquer. Ce langage permet de décrire de façon précise les Services Web en incluant des détails tels que les protocoles, les serveurs, les ports utilisés, les opérations pouvant être effectuées, le format des messages d entrée et de sortie, et les exceptions pouvant être renvoyées WSRP Soumis au consortium OASIS par IBM et Hewlett Packard fin 2001, le langage WSRP (Web services for remote portals : service web pour les portails distants) a pour but de standardiser l'accès aux Services Web depuis différents types d'applications Internet, tel qu'un navigateur WAP ou un portail Web. WSRP tente de standardiser l'affichage de services Web au sein d'une interface cliente en harmonisant ses travaux avec le modèle des portlets. L'objectif de ce langage est de fournir un mécanisme en vue d'agréger au sein d'un portail (ou autre application Web) des contenus ou des services applicatifs en provenance de sources diverses [16]. WSRP repose essentiellement sur les langages SOAP et WSDL. Il Offre une interface d'appel distant en mode Services Web. Le couple SOAP / WSDL est complété d'une série d'éléments conçus pour décrire l'environnement local dans lequel les services sont amenés à être affichés ainsi que les règles d'interfaçage correspondantes (type de terminal et type de langage de description d'interface cliente requis) UDDI UDDI (Universal description, discovery and integration directory : annuaire universel de description, localisation et intégration) est un référentiel commun d entreprises. UDDI permet de décrire (description) et de localiser (discovery) une entreprise ou un service, à partir d'interfaces qui sont personnalisables. L'annuaire indique également comment accéder aux services Web (integration). 30

31 1 - Contexte UDDI se comporte lui-même comme un Service Web dont les méthodes sont appelées via le protocole SOAP. UDDI est composé de deux parties : L UDDI Business Registry, annuaire d entreprise et de Services Web. Les interfaces d accès à ces annuaires, et les modèles de données. Dans la littérature, on différencie 6 types d UDDI [17] : L opérateur UDDI : un annuaire global distribué sur Internet et accessible par tous. Parmi les opérateurs UDDI on compte Microsoft, IBM et HP. L UDDI e-marketplace : un annuaire regroupant des informations spécifiques à un corps de métier. Les entreprises d un même corps de métier s inscrivent et enregistrent leurs services. L UDDI portail : situé au niveau du Firewall d une entreprise, cet annuaire est accessible de l extérieur. C est un moyen pour l entreprise de publier ses services à destination de ses partenaires, tout en gardant un contrôle total des informations publiées. Des mécanismes permettent une réflexion des changements de cet UDDI sur les opérateurs et les e-marketplaces. L UDDI catalogue partenaire (ou UDDI B2B) : interne à une entreprise, cet annuaire n est accessible que par les applications de cette entreprise. On y ajoute toutes les informations concernant ses partenaires et les services qu ils proposent. Lorsqu une entreprise désire travailler avec un nouveau partenaire, elle examine les services proposés dans un UDDI portail et ajoute les informations les plus utiles dans son UDDI catalogue partenaire. L UDDI EAI : cet annuaire est lui aussi interne à l entreprise, mais les informations contenues servent avant tout à faire de l intégration d application en interne. On y retrouve les services publiés par les applications de l entreprise, et des informations sur les rôles de l organisation. Les informations contenues dans cet annuaire permettent aux applications d une même entreprise de se découvrir et de collaborer. L UDDI de test : cet annuaire UDDI est utilisé lors des phases de tests précédent le déploiement des Services Web. Plus qu un annuaire global, UDDI devient un outil incontournable pour faciliter l intégration pour des problématiques d entreprise ou interentreprises. Toutefois, UDDI se heurte à quelques fournisseurs d annuaires (France Télécom, BT, Yellow Pages...) peu enclins à ouvrir leurs standards et qui concentrent 75 % du marché. De plus, UDDI s oppose parfois à WSDL, ce dernier permet de décrire les Services Web selon un standard, ce que ne permet pas UDDI. Une solution future est d imposer l utilisation de WSDL pour décrire les services SSO Une partie des risques liés à la sécurité des systèmes d'information provient de l'erreur humaine. La multiplicité des mots de passe met en péril la sécurité, dans la mesure où les utilisateurs ont tendance à noter sur papier leurs différents mots de passe ou d utiliser des moyens mnémotechniques simples. Avec la solution de signature unique, ce risque peut disparaître en éliminant le besoin de se souvenir de plusieurs processus de connexion, plusieurs identifiants ou mots de passe. SSO (Single sign-on : authentification unique) désigne les procédés et solutions qui permettent de fédérer toutes les procédures d'authentification derrière une seule et unique identification. Un dispositif de SSO concerne donc autant la sécurité que l'ergonomie d'un portail Objectif du SSO Le SSO est une solution logicielle qui permet aux utilisateurs d'un réseau d'entreprise d'accéder, en toute transparence, à l'ensemble des ressources 31

32 Infrastructure logicielle de portail : mise en œuvre d une solution complète. autorisées, sur la base d'une authentification unique effectuée lors de l'accès initial au réseau. Un seul mot de passe permet ainsi d'accéder à l'ensemble des applications et des systèmes multi plates-formes de l'entreprise. Le SSO permet d améliorer l ergonomie en exigeant l authentification une seule fois, d améliorer la sécurité en rationalisant les procédures d authentification, en les centralisant sur un système sécurisé et non sur les applications. Il permet d intégrer les applications dans le SI et de réduire le temps de développement, la partie gérant les droits étant séparée de l applicatif. Autre avantage de la centralisation de l authentification, elle peut s appuyer sur plusieurs méthodes de certification : Basic (nom d utilisateur et mot de passe). Adresse IP. Carte magnétique. etc. Et sur plusieurs bases d authentification («backend») : LDAP. Active Directory. RADIUS. Etc Principes du SSO L application étant déchargée de l authentification des utilisateurs, elle doit recueillir un identifiant et non un authentifiant. Une relation de confiance doit donc exister entre le serveur d authentification et l application. Le serveur délivre des jetons de session au client et des jetons d identité à l application. Le serveur maintient la session de l utilisateur et propage les identités aux applications. Navigateur Agent SSO Application Serveur authentification Base authentification 1-Requête 2-Redirection 3-Demande d authentification 4-Envoi du formulaire d authentification 5-Retour du formulaire renseigné 6-Vérification 8-Redirection 7-Envoi du jeton Utilisation de l application «backend» Figure 11 : principe de fonctionnement d'un SSO. Un agent SSO fait l interface entre le client et l application, redirigeant le client vers le serveur d authentification lors du premier accès. Il reçoit du serveur l identifiant sous la forme d un jeton et autorise l accès à l application. Ensuite, tant que la session est valide, c'est-à-dire son jeton, l agent SSO accepte les échanges entre l application et ce client. Si le client a déjà une session en cours, les étapes 4 et 5 sont ignorées, l agent SSO reçoit directement le jeton de session valide. 32

33 1 - Contexte Dans la grande majorité, les solutions de portail intègrent un SSO. Certaines sont même un peu plus complètes en proposant un SSO propriétaire et une compatibilité avec des SSO fédérés SSO fédéré Le but des SSO fédérés est de permettre l interconnexion des différents comptes d un même utilisateur à travers toutes les structures et tous les réseaux. Par exemple, un utilisateur ayant un compte chez un prestataire de voyages et un autre compte dans une compagnie de location de voitures n aura pas à s identifier deux fois pour réserver un vol et une voiture à l arrivée, pourtant, les deux commandes ne sont pas traitées par le même serveur. L utilisateur a bien deux comptes mais le fait de s authentifier auprès de l un valide la session sur l autre par un mécanisme de certification entre les deux serveurs. Autre particularité du SSO fédéré, le système doit être capable de fermer toutes les sessions ouvertes d un même utilisateur. Les SSO fédérés reposent sur l interopérabilité des mécanismes de SSO. Pour fonctionner correctement, les SSO fédérés doivent : Mettre ne œuvre une politique d un «cercle de confiance». La gestion des identités est propre à chaque site, il y a une équivalence qui doit être faite entre les deux comptes d un même utilisateur. Plusieurs modèles existent mais trois «grands» inter établissements se dessinent actuellement, en l absence de standard défini : Liberty Alliance mené par Sun et IBM, Shibboleth dans le monde de l Open Source universitaire et Passport de Microsoft [18]. Liberty Alliance [19] Liberty Alliance est une alliance d entreprises formée pour délivrer et fédérer des identités sur Internet. Les spécifications ont été créées par les membres de l alliance, pour produire un SSO universel. Actuellement, Liberty Alliance comprend 17 fondateurs dont American Express, America Online, Bell Canada, CitiGroup, France Télécom, GM, HP, Master Card, Nokia, Sony, Sun, Vodafone et Intel depuis mars Liberty Alliance partage les identités des utilisateurs. Ils doivent avoir un compte sur chaque domaine pour qu un parallèle soit effectué entre les deux. Liberty Alliance se veut ouvert vers des services administratifs, universitaires ou publics. Il comprenait plus de 2 milliards d identités dans sa seconde version en août 2003 [20]. Liberty Alliance se place comme une alternative à Microsoft Passport. Il s adresse plus à des échanges commerciaux qu aux universités. Shibboleth [21] Shibboleth est un projet universitaire devant permettre l accès à des ressources sécurisées au-delà des frontières d un établissement. Le concept de base de Shibboleth repose sur le principe que le site gérant la ressource web accédée est responsable du contrôle d accès à cette ressource ; l authentification de l utilisateur reste à la charge de l établissement d origine. Contrairement à Liberty Alliance où chaque entreprise peut gérer les identités des utilisateurs, Shibboleth utilise des fournisseurs d identité et un service tiers chargé de déterminer le fournisseur d identité à contacter (celui du client). Le projet envisage les relations entre établissements universitaires mais également les relations avec d autres partenaires. L une des principales préoccupations pour les architectes du projet Shibboleth est la protection des données nominatives. Microsoft Passport.NET [22] Passport est un service d'authentification central fourni par Microsoft, qui offre une connexion unique et des services de profils de base pour les sites membres. Les 33

34 Infrastructure logicielle de portail : mise en œuvre d une solution complète. technologies utilisées sont identiques à celles des autres solutions : redirections HTTP, cookies, tickets d authentification. Seule la vision centralisée de Microsoft diffère puisque toutes les informations personnelles sur les utilisateurs sont centralisées sur le site passport.com, passage obligé pour s identifier. Passport n est donc pas un produit mais un service. La solution Microsoft Passport compte de nombreux détracteurs. En mai 2003, dans un article du ZDNet France, Christophe Guillemin déclare : «Gartner conseille de cesser immédiatement d'utiliser Passport suite à la faille qui a potentiellement mis en danger les informations de 200 millions de comptes Passport, la société d'études Gartner recommande de bloquer son utilisation au moins jusqu'en novembre. Microsoft juge la recommandation "non constructive"» [23]. En décembre 2004, Microsoft a abandonné officiellement Passport.Net [24] Exemple d utilisation de services web Comme nous venons de le voir, les services Web sont intimement liés aux portails. Ils apportent une souplesse impérative pour un fonctionnement en transparence pour l utilisateur. Pour terminer ce chapitre sur les protocoles de communication utilisés dans les portails, prenons un petit exemple d invocation d un service web basé sur la conversion au taux en vigueur d une devise en euro. 1 : où est le service de conversion? (SOAP sur HTTP) Annuaire UDDI 2 : retour de l adresse de l interface 3 : Comment est l interface? 4 : description de l interface (WSDL) 5 : invocation du service (paramètres) 6 : résultat de la conversion Interface du service TauxChange WSDL Service Web TauxChange Figure 12 : exemple d'invocation d'un service Web. Le scénario comprend trois étapes : Le client demande un service sur le principe des pages jaunes. «Je recherche un taux de change?». Une recherche sémantique dans un annuaire UDDI donne la liste des prestataires habilités à répondre à la requête. Une fois la réponse reçue (en XML), le client recherche l'interface du composant référencé dans l'annuaire. Cette interface spécifiée en WSDL (XML également) décrit l'ensemble des services implémentés par l'objet distribué. Si l'interface convient, il ne reste plus qu'à effectuer l'invocation du service. 1.6 But d un portail Intéressons nous maintenant aux raisons qui peuvent inciter une entreprise à se lancer dans l aventure qu est la mise en place d un portail. En effet, ce n est pas une mince affaire. Chaque niveau du système d information (SI) de l entreprise doit être étudié, chaque applicatif analysé pour connaître son taux d intégration dans la nouvelle architecture. 34

35 1 - Contexte Nous allons donc analyser les intérêts d un portail, les enjeux et les difficultés puis détailler les étapes à suivre pour réussir la mise en œuvre Pourquoi un portail? Effet de mode ou réel besoin? Quels sont les atouts que l on peut attendre d une architecture de portail? Quelles seront les difficultés rencontrées? Quels sont les outils nécessaires dans l architecture de portail? Autant de questions qui ne peuvent avoir de réponses préétablies. Elles dépendent du système d information de l entreprise, de son mode de fonctionnement, du domaine d application du portail «L'excellence passe par le portail!» a déclaré Ronald Montcalm [25], bâtonnier du Québec, en mars Il est évident que l image donnée par la possession d un portail est importante pour certains. Dans le projet France Urgences, le «but du portail est de créer une communauté virtuelle», de «développer et diffuser la médecine d urgence en France et dans les communautés francophones» [26]. Quels sont les aspects qu un portail peut améliorer, les avantages que l on peut attendre de la mise en place d un portail? Voici quelques pistes pour répondre à cette question, tout en gardant à l esprit que chaque portail est un cas! Une Interface unique Avoir une interface unique pour tout ce qui était disséminé derrière plusieurs interfaces et, de plus, permettre la personnalisation du contenu et de la présentation. L utilisateur maîtrise son interface, place ses outils comme il le souhaite et dispose des éléments les plus pertinents pour lui sur sa page d accueil. Messagerie Messagerie Services Services Fichiers Fichiers Base de données Base de données Applications Applications Figure 13 : apport d une interface unique. Un espace collaboratif La complexité des processus, des offres et du marché implique de plus en plus un travail collaboratif. Le portail apporte, de part les outils qui lui sont intégrés, une facilité de travail collaboratif en mode connecté, déconnecté, dans le suivi de projets, dans les espaces de travail en groupe, dans les circuits de validation des documents, etc. Le portail est devenu l outil de travail. Un lieu fédérateur Le commerce électronique a développé la dimension de fidélisation et la dimension communautaire qui sont la base d un portail d entreprise. Le portail apporte une nouvelle gestion de la relation clients. La mutualisation Le portail regroupe une sélection de l'existant dans une sorte de guichet unique, réduit de façon significative les coûts d exploitation, homogénéise les 35

36 Infrastructure logicielle de portail : mise en œuvre d une solution complète. environnements d exploitation et d administration, harmonise la qualité de service associée aux plates-formes de FOAD 1 en apportant la disponibilité, la sécurité, la supervision, les sauvegardes, les statistiques de fréquentation, les tableaux de bord Répondre à des problèmes d ordre technique La taille et la dimension internationale des marchés et de la concurrence ont rendu nécessaire l intégration de flux d informations multiples. La quantité d informations à gérer (via des interfaces web entre autre) s est accrue. La pertinence de ces informations est plus ou moins juste, le portail apporte une solution souple et universelle. Les portails répondent à la notion d entreprise étendue qui englobe, dans le système d information, les clients, les partenaires, les actionnaires, les salariés, les étudiants Garantir la visibilité de l ensemble du dispositif en temps réel Le portail propose des vues personnalisées, limite les authentifications, facilite l accès aux contenus, l accès au savoir, simplifie les procédures et gagne en productivité. Par des systèmes d abonnement, de publication ou de notification, il est possible d aller au devant des besoins des utilisateurs. De plus, il permet un accès universel, quel que soit le périphérique d affichage, le lieu ou la plate-forme. Un gain pour les systèmes d information Réduire un portail à une simple évolution de l Internet en proposant aux clients la même chose que les concurrents serait omettre tout l apport pour le système d information. En effet, il permet de sécuriser les contenus, de fédérer les services, de fluidifier les relations entre utilisateurs. Investir dans un portail correspond à une volonté de mettre en place une architecture adaptable et évolutive, un système extensible. C est une solution globale mais avec une gestion décentralisée. La mise en place d un portail induit également une méthode unifiée de recherche, des connexions uniques et sécurisées, une possibilité d évolution de l offre en adaptant l architecture logicielle. Il peut rendre le site plus attractif et ainsi attirer de nouveaux clients Les enjeux d un portail Connaissant mieux les atouts d un portail, il nous faut déterminer les enjeux dans la mise en œuvre d une solution de portail. Cerner son champ d application Un portail ne répondant pas à l attente des utilisateurs est voué à l échec. Les portails sont résolument orientés vers les utilisateurs, ils sont au centre de l étude des objectifs. Évaluer son impact Le portail doit utiliser les annuaires de l entreprise mais quelles seront les incidences sur les autres applicatifs s appuyant également sur cet annuaire? Quels applicatifs doivent être adaptés? Etc. Le portail se conçoit selon trois axes fondamentaux : Les rôles : qui a le droit de faire quoi et dans quelles conditions ; prévoir les évolutions et les mises à jour. L organisation : organisation de l entreprise, décentralisation de l administration, maîtrise de la délégation. 1 FOAD : formation ouverte et/ou à distance. 36

37 1 - Contexte Le savoir : indexation pertinente de l information, information de l information Les rôles Le portail est avant tout un moyen de placer l'utilisateur au centre d'un dispositif personnalisé en fonction de son rapport à l'entreprise. À son arrivée dans l entreprise, il lui est attribué des moyens matériels (ordinateur, téléphone ) et des ressources immatérielles (logiciels, fichiers ) ainsi que des droits sur ses ressources. Il peut être consommateur, contributeur, coordinateur, superviseur L'ensemble de ces droits définit le ou les rôles de l'utilisateur. Mais un employé ne garde pas toujours le même poste, il peut évoluer, acquérir d autres droits, en perdre donc changer de rôles. Ces informations ne sont pertinentes que si elles sont à jour et cette mise à jour est coûteuse dans un système dispersé. Le portail fournit un système de gestion des rôles ou droits qui répond au problème de partage des informations et gère la délégation d administration des mises à jour et garantit la concordance entre les rôles et les services ou ressources mis à disposition Organisation L organisation de l entreprise est également au cœur des enjeux. Souvent, des intranets sont apparus de façon anarchique mais répondant à un réel besoin et à une forme d'expression non maîtrisée de la décentralisation. Le portail doit donc réussir à rationaliser cette décentralisation tout en permettant des personnalisations de services et d intégration dans les organismes de l entreprise ou de ses partenaires. La technologie de portail permet de désigner des animateurs parmi l'entreprise ou ses collaborateurs, de déléguer l administration de tout ou partie d un domaine du portail, de groupes d utilisateurs, de contenus selon des conditions prédéfinies Savoir Le rapport 20 % d informations structurées et 80 % d informations non structurées représente plus que jamais une réalité. La quantité d informations augmentant sensiblement, il est de plus en plus difficile de trouver celle qui est pertinente. De plus, le savoir informel est souvent égaré dans des circuits tortueux, des structures arborescentes complexes ou répondant à une logique personnelle. En fournissant un moteur de recherche évolué, le portail peut résoudre ce problème. Un robot d indexation effectue la classification des informations selon une règle de catégorisation. L utilisateur peut alors interroger une base de connaissance plus congruente Les difficultés que l on peut rencontrer Il n existe pas de standards pour les portails. Cependant, plusieurs consortiums ont spécifié l intégration d applicatifs et des protocoles d échanges de données comme SOAP ou WSDL sont utilisés. Les difficultés résident dans la pertinence des choix comme dans leurs stratégies. La mise en œuvre d une architecture de portail exige un investissement en temps conséquent. L expression «out-of-box» est plus un argument commercial qu une réalité. Beaucoup d éditeurs annoncent des temps de prises en mains allant de 1 semaine à 2 mois! Cependant, la seule installation de Sun Java Enterprise System demande, d après Sun Microsystem eux-mêmes, nécessite une semaine. Par ailleurs, les compétences nécessaires doivent être multiples tant au niveau technique qu au niveau du système d information de l entreprise. Un projet de portail concerne toute l entreprise et doit répondre à toutes les spécificités. 37

38 Infrastructure logicielle de portail : mise en œuvre d une solution complète. La prolifération des intranets a provoqué un fractionnement de l information, une multiplicité d approche du client. Il faut repenser l approche portail par centre d intérêt pour le client! L étude des habilitations est aussi un point délicat. Savoir qui fait quoi? Qui administre quoi? Comment? Sous quelles conditions? L administration est-elle centralisée? Décentralisée? Une méthode préconisée en IHM 1 est de définir une matrice des accès aux modules et aux données par ensembles d utilisateurs. L initialisation du référentiel, les procédures d alimentation, d initialisation du référentiel sont des étapes importantes mais souvent mieux maîtrisées. L architecture matérielle doit être à la mesure des enjeux. Le serveur Web, le serveur de portail, l annuaire, sont des points névralgiques de l architecture. Si l on propose un passage unique mais obligatoire à l utilisateur, il faut s assurer de sa complète disponibilité. L architecture de portail devient aussi le point central de la sécurité. Répartition de charge, réplication, redondance, cryptage autant de notions à envisager. Vient enfin le choix de la solution de portail : laquelle choisir? Quelle architecture logicielle : J2EE, Net L architecture choisie doit permettre l intégration des applicatifs existants. Les éditeurs de logiciels ont aussi une solution de portail à leur catalogue. Plutôt que de proposer des outils d intégrations, ils seront tentés de vendre leur solution de portail Conclusion Un portail est plus qu une technologie, c est une offre de services. Comme tout développement logiciel aujourd hui, l interface doit être la plus proche possible de l utilisateur, elle doit également être pensée pour la collaboration et la coopération entre les opérateurs. La mise en œuvre du projet impose d instaurer une culture du partage. Afin de définir les besoins et les objectifs du portail, «l architecte» du SI doit répondre à plusieurs questions : Qui? À qui est destiné le portail? Qui seront les utilisateurs, bien sûr, mais aussi leurs fonctions ou rôles, les groupes et quelles politiques d alimentation de l annuaire : extraction, création? Quoi? Quels services proposer, quelles informations Quels outils collaboratifs, les circuits de validation, les abonnements à des canaux de diffusion? Où? Où sont les sources de données, leurs volumes, comment y accéder : interne ou externe, services Web? Qui fait quoi? Comment administrer : centraliser, décentraliser, déléguer À partir de quel critère, sur quelle source qui gère les habilitations? Sur quoi? Sur quelle architecture, quelle solution de portail, quelle infrastructure : réplication, équilibrage de charge avec quels terminaux : navigateur, téléphone, organiseur? Comment? Quelle mode de présentation, modèles (templates), navigation dans le portail, construction du référentiel? Cette étude débouche sur le cahier des charges fonctionnel, suivi des spécifications fonctionnelles, de la conception technique et enfin des tests qui précèdent la mise en production. C est ce que nous vous proposons d étudier dans le chapitre suivant. 1 IHM : Interface Homme-Machine. 38

39 2 Le projet du CICG 2 - Le projet du CICG 2.1 Pourquoi un portail au CICG Nous vous proposons d examiner l étude effectuée au CICG pour le portail de métrologie avant de faire un inventaire de quelques solutions du marché et de l Open Source. La décision de mettre en œuvre un portail au CICG est née d une volonté double : maîtriser une technologie encore mal connue sur le campus universitaire et améliorer et syndiquer les outils de métrologie, la charge de travail pour la gestion des multiples autorisations devenant de plus en plus complexe. Le désir de rendre accessibles à de nouveaux acteurs ou partenaires du CICG des applications de métrologie (NetMet, NetSec ) est difficilement intégrable dans l état actuel des applicatifs ; toute la sécurité repose sur des fichiers de configuration sur chaque serveur et non en un lieu central. Pour enrichir les applications déjà existantes et sécuriser leurs accès, le portail est une solution idéale. Dans les conditions fondamentales du choix de technologie, le portail doit s appuyer sur l annuaire LDAP des universités (Triode Process). Le premier objectif est de limiter la saisie des noms d authentifications pour les différents applicatifs. C est dans le cadre d un partenariat avec SUN que le projet a vu le jour. 2.2 Cahier des charges du portail de métrologie Le CICG gère le réseau de données des universités de Grenoble. Il a en charge la surveillance des flux et le bon fonctionnement des éléments actifs. Il utilise divers outils de métrologie permettant de relever des utilisations préjudiciables ou malintentionnées, des problèmes de flux ou des incidents matériels. Le manque d homogénéité dans ces outils et les problèmes d authentifications, de partages d informations avec des tiers ou la mise en place d un point d accès unique à ces applications sont les principales raisons. Pour réaliser ce cahier des charges, nous avons suivi la démarche préconisée par l équipe Ingénierie de l'interaction Homme-Machine (IIHM) du laboratoire CLIPS- IMAG [27] Objectifs généraux du portail Les bénéfices attendus Un portail avec un accès unique et authentification unique doit apporter une souplesse d utilisation aux membres du département et faciliter l administration des droits. Il doit faciliter la vie de tous les jours (en proposant un moteur de recherche ), être personnalisable et faciliter la gestion des droits d accès Définition des priorités La Métrologie NetMet du routeur Tigre est la tâche la plus importante car elle intéresse de nombreux clients. Il faut réussir à gérer les droits des clients externes, tâche impossible actuellement. Pour améliorer la gestion du mot de passe par l utilisateur, insatisfaisante aujourd'hui, il faut utiliser l annuaire LDAP de référence. Ensuite, l accès aux ressources partagées est une seconde priorité. Elle permettra l accès aux documents du département, éventuellement à l aide d un CMS. 39

40 Infrastructure logicielle de portail : mise en œuvre d une solution complète Constat Aujourd hui, le Département Réseau du CICG utilise différents sites et outils de métrologie disséminés sur divers serveurs et derrière de multiples applications. Chacune de ces applications a son propre mode d authentification. Certaines utilisent une limitation par l adresse IP de la machine, d autres une authentification basique fondée sur un nom d utilisateur et mot de passe, d autres encore associent l adresse réseau et une connexion sécurisées de type HTTPS. Outre la difficulté d utilisation, le recours à des méthodes simples de mémorisation des noms d utilisateurs et mots de passe peut présenter des failles de sécurité. Un portail avec un accès unique et une authentification unique doit apporter une solution simple et performante. De plus, la gestion des droits est parfois incertaine ou problématique. En effet, il est difficile actuellement d autoriser un utilisateur externe au CICG sur une application Les motivations Le portail doit apporter une souplesse d utilisation aux membres du département et faciliter l administration des droits. Il doit réduire les processus d authentifications et limiter les redondances. Enfin, le portail doit permettre l accès à des utilisateurs extérieurs Les applications à fédérer Big Brother : c est une application de surveillance des serveurs du CICG. Il suit l état de paramètres divers (utilisation des CPU, état des disques, protocoles, ou ports utilisés ) sur un ensemble de serveurs. Seule la visualisation est accessible. La configuration se fait par connexion directe (ssh) sur le serveur. Les résultats sont actuellement affichés sur une page intranet sécurisée L authentification est faite sur l adresse IP dans les ACL Apache. SAA : outil identique à Big Brother, destiné aux éléments actifs Cisco mais entièrement en ligne de commande. Il opère par ICMP ; interrogation des services réseaux (DHCP ) ou de sondes (JITTER). Les résultats son livrés sous forme de fichiers texte ou par SNMP. Aucun outil actuel ne permet un affichage graphique. Son intégration dans le portail n est pas une priorité et sera effectuée ultérieurement. MRTG : fonctionne avec SNMP, il fournit des graphiques de routeurs et commutateurs sur 4 secteurs : le réseau Amplivia, le réseau métropolitain, les dorsales des campus et le réseau du CICG. Il est disponible en consultation uniquement, la configuration se faisant par connexion directe sur le serveur. NetMet : l authentification est basée sur les ACL d Apache, avec restriction sur l adresse IP plus un Login/Password. Les pages affichées sont adaptées au client. Par exemple, le personnel du service réseau du CICG a tous les droits, les personnes de l UJF ne peuvent voir que les flux de l UJF, etc. NetMet analyse les flux des réseaux Tigre, Campus et Viallet. Il faut compter sur un volume de logs de 25 à 30 Go par mois! NetMet est un outil de métrologie très utilisé. Il permet de donner le flux de données émanant ou à destination de n importe quelle machine du campus. Les informations permettent de scanner le réseau en temps réel et, par un système de «Top 10», de détecter un fonctionnement anormal. NetSec : outil de surveillance des réseaux Campus et Tigre, analysant les flux des routeurs basés au CICG. Les données de métrologie sont stockées dans une base de données MySQL, alimentée par l application NetMet dont il est complémentaire. NetSec propose deux modules, un premier composé de plusieurs formulaires d interrogation de la base de données, un autre d administration. Il n existe actuellement aucune différenciation dans les droits utilisateurs. Toute personne 40

41 2 - Le projet du CICG autorisée à accéder au serveur peut tout consulter mais surtout tout administrer. Seules les ACL Apache limitent l accès au serveur selon l adresse IP du client. NMAP : outil de surveillance qui effectue des diagnostics, surveille une machine suspecte, liste les ports ouverts sur une cible. La version disponible ici est strictement réservée aux personnes du département Réseau. SNMPc : outil de surveillance du réseau qui effectue régulièrement des requêtes (ICMP, SNMP) sur les éléments actifs et peut afficher le résultat sous forme de carte. Il envoie automatiquement des alertes par mail ou SMS. Le résultat peut aussi être affiché sur un site web, mais n est pas installé actuellement. La configuration se fait par l outil SNMPc sur le serveur ou avec un client déporté. L authentification est basée sur l adresse IP dans les ACL Apache. Cet outil est réservé aux personnes du département Réseau. Snort : système de détection d intrusion, il capture et analyse les trames et émet des alertes selon des règles prédéfinies. Les données sont stockées dans une base de données MySQL. Une Interface Web permet d interroger les statistiques. Le logiciel original se nomme : Analysis Console for Intrusion Database (ACID). L authentification s effectue sur l adresse IP dans les ACL Apache et d une authentification par Login/Password. Tickets d incidents : suivi en collaboration des tickets d incidents. Il est en réalité géré par le logiciel Open Ticket Request System (OTRS). La consultation s effectue par profil et l exploitation est en accès limité. Les comptes d utilisateurs sont créés dans le logiciel OTRS. Seul le client habilité peut voir ce qui le concerne, le groupe des administrateurs (les membres du département Réseau) peut accéder aux dossiers d incidents Ressources : service de document (Portillon) Astreintes et consignes : le tableau d astreinte est envoyé par mail automatiquement tous les jours à tous les membres du département. Une page intranet sur le serveur du CICG rappelle les astreintes mais elle est en accès limité sur l adresse IP déclarée dans les fichiers de configuration d Apache et sur un Login/Password. Idem pour le calendrier d astreinte et le cahier de consignes. Adresse : De plus, une autre page, protégée par mot de passe et cryptée, est disponible pour les informations de configurations très sensibles. Partage de salles de réunion : partage de salle, réservation, activation des prises réseau (voir ). L authentification est basée sur l adresse IP dans les ACL d Apache comme tout l Intranet. Ce service est ouvert à tout le CICG. Actuellement, dans l Intranet du CICG, le Département Réseau gère uniquement l activation des prises des salles. La saisie de l occupation des salles est effectuée sur un logiciel du service administratif et le planning d occupation est disponible sur le site Intranet de l Administration. Le portail ne doit pas centraliser la saisie ou la consultation car il n est pas actuellement prévu pour tous les utilisateurs du CICG. Dans l avenir, il pourrait être intéressant de tout intégrer mais ce n est pas la priorité actuelle. Actuellement, le nom d utilisateur et le mot de passe sont en clair dans l URL! Documentations sur le www : cette documentation est hors du cadre de la métrologie mais nécessaire au Département Réseau. Les rubriques actuelles sont : description d interface, suivi version IOS, historique des sauvegardes CISCO, historique des reboots CISCO, logs analyse Cisco, stats Ping, table des routes, Vlan Database L authentification est basée sur l adresse IP dans les ACL Apache. 41

42 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Certaines informations sont dupliquées entre l intranet et le serveur de fichiers Portillon, ce qui engendre des problèmes de mise à jour (lequel est correcte, existe-t-il plusieurs versions ). Nomadisme, schémas des fibres, des bornes. Les 3 ressources à partager sont l Installation du client VPN, la documentation sur le Wifi et les documents réservés aux administrateurs Wifi (Cartographie des bornes et Profils). L installation du client VPN est accessible à tout utilisateur authentifié dans une organisation reconnue : UJF, UPMF parmi les partenaires internes. L authentification actuelle s appuie sur les ACL d Apache. Une version écrite en JSP et faisant intervenir l authentification de l annuaire Triode Process est en cours de réalisation. Elle sera opérationnelle avant le portail Spécifications techniques Le choix de la technologie à mettre en œuvre a déjà été déterminé, dans le cadre d un partenariat. Il s agit du Java Entreprise System de Sun, comprenant : Un serveur SUN v210 sous Solaris 9, il contiendra toute l application. Un annuaire LDAP : Sun JES Directory Server qui contiendra les informations spécifiques au portail et la gestion des identités. Il devra disposer d une liaison avec l annuaire LDAP Triode Process, également sur Directory Server. Un gestionnaire d identité : Sun JES Identity Server s appuyant sur l annuaire. Un gestionnaire de portail : Sun JES Portal Server. Quelques services complémentaires au portail : Sun JES Instant Messaging, Sun JES Calendar Server Un serveur Web : Sun JES Web Server. Un serveur d applications : Sun JES Application Server. La compatibilité Mozilla, Netscape ou Internet Explorer est assurée par Portal Server. La résolution d écran doit répondre dans des conditions optimales à toutes les configurations possibles à savoir : 800 x 600 pour les accès anonymes x 768 pour les utilisateurs authentifiés. En complément à la technologie Sun, un outil de gestion de contenus (CMS) doit être mis en œuvre. Le choix de cet outil est à décider. Le schéma retenu pour la gestion du portail par Identity Server est un schéma organisationnel alors que l annuaire Triode Process est sur un schéma à plat. Il faut prévoir une correspondance des données entre l annuaire du portail et l annuaire Triode Process Utilisateurs cibles du portail de métrologie Les utilisateurs du site sont regroupés en familles auxquelles sont attribués des droits. La création d un utilisateur doit répondre à la procédure suivante : Contrôler si l utilisateur existe déjà dans l annuaire LDAP Triode Process. S il existe déjà, il faut compléter le profil de l utilisateur avec les informations propres au portail. Sinon, solliciter la création d un utilisateur dans Triode Process puis compléter le profil de l utilisateur avec les informations propres au portail. Les attributs d un utilisateur sont donc inscrits dans le schéma LDAP Triode Process pour une partie et dans le schéma du portail pour tout ce qui concerne le portail exclusivement. 42

43 Le projet du CICG La suppression d un utilisateur du portail ne supprime que les informations propres au portail, sans toucher à l annuaire Triode Process Utilisateur «Anonyme» Tant qu un utilisateur ne s est pas authentifié, le système doit lui attribuer une authentification particulière appelée «anonyme». Il a alors accès à un portail simplifié, non modifiable et non personnalisable. Ce portail se rapproche d un simple site Extranet dynamique. Une solution simple et rapide est de reprendre le site Extranet actuel du CICG en modifiant la présentation afin qu elle soit conforme à la charte du portail. Remarque : le déploiement de KSup par Grenoble-Université devrait induire une nouvelle charte imposée au CICG. Le calendrier de ce déploiement n est pas encore connu Utilisateurs authentifiés Dès qu un utilisateur est authentifié, il acquiert des droits et capacités, il peut : personnaliser son portail, changer la couleur, la police, le thème, etc. déplacer, réduire, agrandir, afficher ou supprimer un canal prédéfini. gérer ses favoris. lire sa messagerie. De plus, selon son identification, l utilisateur va acquérir d autres droits, tâches et services, détaillés ci-dessous selon l authentification Membre d un département, responsable d un département Le responsable d un département (SRES, DIG, Logistique/Logiciel ou Direction) cumule les droits de membre et d administrateur dans son département. Le membre d un département a tous les droits en consultation dans son département, documents, outils de métrologie. Un département est considéré comme une organisation, au même titre qu un service, une université ou un laboratoire. Il est géré par un administrateur (voir ) Partenaires internes ou externes Ce sont les personnels des autres universités ou des partenaires. Ils ont accès à certains outils de métrologie et quelques documents «publics» Administrateur Un administrateur a les droits d administration dans son organisation et celles qui en dépendent. Il peut : Créer ou supprimer un utilisateur dans son organisation. Autoriser ou interdire l accès à des ressources ou services de son organisation, ou celles en dessous, à n importe quel utilisateur du portail. Modifier le portail, la présentation par défaut, l ordre des canaux, des conteneurs Créer ou supprimer une organisation sous la sienne. Déléguer les droits d administrations dans les organisations dont il a la tutelle. Cette gestion est actuellement effectuée par l intermédiaire de la console d administration d Identity Server Super administrateur Il peut intervenir dans toutes les organisations du portail et déléguer des droits aux autres administrateurs. Il est le seul à pouvoir créer une nouvelle organisation au niveau supérieur et à y attribuer des droits d administration. C est l administrateur d Identity Server.

44 Infrastructure logicielle de portail : mise en œuvre d une solution complète Tableau récapitulatif des utilisateurs Famille d utilisateurs Public Domaine d application Anonyme Toute personne non authentifiée Portail anonyme Utilisateur authentifié Membre d un département Responsable d un département Partenaire interne Partenaire externe Administrateur Toute personne authentifiée Personnel du CICG, Réseau, Gestion, Logistique & Logiciels, Direction. Responsables d un département du CICG. Il est aussi membre du département «Direction». Utilisateurs de l IMAG, de l INPG, de Stendhal, de l UJF ou de l UPMF. Utilisateurs de : Cemagref, CNED, CNRS, ESRF, ILL, EMBL, INRA, INRIA, IRAM ou IUFM. Le responsable d une organisation pour Identity Server. Portail personnalisable Portail personnalisable + fonctions de publications + métrologie Portail personnalisable + fonctions publications + fonctions administration Portail personnalisable Portail personnalisable Console Identity Server Super administrateur Administrateur des serveurs (Identity Server, Portal Server ) Console Identity Server Tableau 3 : familles d'utilisateurs. Une même personne peut appartenir à plusieurs familles d utilisateurs. Ces familles donnent accès à tout ou partie des applications et ressources, comme détaillé dans le tableau 4 page 46. Dans un premier temps, cette étude se porte sur le portail du département Réseau tout en anticipant son déploiement sur les autres départements ou sur les différents partenaires internes Diagramme des liens entre utilisateurs Ce diagramme (figure 14) va permettre de regrouper les utilisateurs et d utiliser des acteurs génériques plutôt que de détailler chaque acteur dans les diagrammes de cas. On pourra utiliser l acteur Partenaire Interne comme étant un acteur UJF, UPMF, Imag, INPG ou US. Le premier acteur, Utilisateur, est le plus universel. Il regroupe toute personne se connectant au portail, authentifiée ou non. L acteur Utilisateur Anonyme représente tout utilisateur se connectant au portail sans avoir été authentifié, dont la validité de la session est périmée ou encore les utilisateurs dont l authentification a été refusée. Les autres acteurs ont une précondition : s être fait authentifier par le système. L acteur Utilisateur Authentifié regroupe tous les utilisateurs ayant réussis à s authentifier auprès du système. Nous assignerons à cet acteur les tâches et services universels comme la personnalisation du portail, les tâches de métrologie, de messagerie Deux autres acteurs, le Partenaire interne et le Partenaire externe, permettent de synthétiser les cas d utilisation associés à tous les acteurs UJF, UPMF et Cemagref, CNED 44

45 2 - Le projet du CICG Figure 14 : diagramme des généralisations entre les utilisateurs Requis non fonctionnels Le site devra être attractif, il doit centraliser les services et devenir la page d ouverture, le site de référence à partir duquel les utilisateurs trouveront facilement tout ce qui les concerne. Les thèmes proposés peuvent être améliorés ou modifiés par les administrateurs d une organisation. Ils pourront même en créer un nouveau Requis fonctionnels Le tableau 4 synthétise les droits des utilisateurs du CICG sur les ressources proposées. 45

46 Infrastructure logicielle de portail : mise en œuvre d une solution complète. MRTG Tigre Applications NetMet Campus Viallet Tickets OTRS Astreintes Ressources Portillon Nomadisme utilisateurs Familles d'utilisateurs BB Anonyme NetSec IMAG C C* C* C* NM- AP C* - - C - INPG C C* C* C* SNMPc - C* - - C - Partenaire Snort US C C* C* - - C* - - C - interne UJF C C* C* C* - C* - - C - Partenaire externe Départ. du CICG UPMF C C* C* C* - C* - - C - Cemagref - C* C* - - C* CNED - C* C* CNRS C C* C* - - C* E.I.E. - C* C* INRA - C* C* - - C* INRIA C C* C* IRAM - - C* - - C* IUFM C C* C* SRES A A A A A A A A A C DIG C C C C - C - - C C Logistique Logiciel C* - - C C Admin C* - - C A C = consultation, A = administration, * = accès limité à la section concernant l utilisateur Tableau 4 : droits des familles d'utilisateurs par application et ressources. Salles Les tâches ou cas d utilisation Il faut se reporter à la figure 14 pour comprendre les liens unissant les acteurs. Seule la gestion du portail est modélisée, les systèmes Web Server, Portal Server, Identity Server et Directory Server sont considérés comme des acteurs externes comme les outils complémentaires : Calendar Server, CMS, etc Principes Les tâches sont divisées en deux catégories : les tâches fondamentales, raison d être du portail, et les tâches secondaires, moins centrales, moins fréquentes ou qui offrent un service complémentaire. Chaque tâche est indépendante, elle est attribuée par l intermédiaire des rôles dans Identity Server. Sa position générique dans le portail est décidée par l administrateur de l organisation alors que sa position physique dans l interface est gérée par l utilisateur final lui-même. Certaines tâches sont accessibles en partie ou totalement à tous les utilisateurs, d autres nécessitent des droits particuliers à affiner. Exemple : la tâche secondaire «le mot du directeur» est divisée en deux éléments distincts : la partie consultation accessible à tous les utilisateurs authentifiés et une seconde partie de saisie accessible uniquement aux membres ayant le droit SaisieMotDirecteur, c'est-à-dire le directeur, le secrétariat de direction 46

47 2 - Le projet du CICG Tâches fondamentales Les tâches fondamentales doivent être accessibles depuis n importe quelle page du site. Un utilisateur ayant les droits d accès suffisants doit pouvoir rapidement et facilement : Rechercher une information Le moteur de recherche doit inclure les discussions, documentations, et documents en ligne sur le site, mais aussi ceux sur les serveurs de fichiers, et selon les droits de l utilisateur. Une personne n ayant pas les droits de lecture à un document ne doit pas pouvoir le consulter. Portal Server propose un outil de recherche (Search Provider) administrable par la console d Identity Server. Le moteur de recherche est intégré au serveur. Roger travaille au département Réseau du Cicg. Suite à un appel téléphonique, il veut consulter une documentation sur le routeur 3550 de Cisco. Il lance son navigateur Internet et accède au portail anonyme. Il s authentifie en entrant son nom d utilisateur et son mot de passe et accède à son portail. Il saisit dans la zone de texte du canal Rechercher les mots clés Cisco et Le système lui retourne plusieurs résultats dont un lien vers le document 3550_12Tov.pdf. Julie, correspondante informatique au Cemagref, vient de s authentifier. Son explorateur affiche le portail qu elle a personnalisé. Comme Roger, elle lance une recherche avec les mots clés Cisco et Elle n obtient aucun résultat car ses droits sont insuffisants. Effectuer de la Métrologie L utilisateur doit pouvoir détecter une activité anormale, relever une alerte, contrôler l état d un élément actif ou contrôler le flux sur le réseau, selon les rôles qui lui sont associés. Pour cela, il doit accéder aux outils de métrologie décrits dans la section page 40. Jean-François commence sa journée au département Réseau du Cicg en allumant son ordinateur puis en se connectant sur le portail. Une fois authentifié, il contrôle si tous les serveurs sont opérationnels et s il n y a aucune alerte. Il fait, pour cela, appel à Big Brother. D un coup d œil il vérifie que tout va bien. C est pour cette raison qu il a placé cet outil de métrologie sur sa page d accueil. Bernard, responsable métrologie, supervision et sécurité au département Réseau du Cicg, contrôle régulièrement la charge du réseau, les attaques éventuelles et les utilisations inappropriées en visualisant le trafic sur les routeurs du Campus, de Viallet et de Tigre, avec NetMet et MRTG. En cas de doute, il utilise alors NetSec. Xavier, ingénieur système à l ENSEEG, école de l INPG, utilise NetMet et MRTG pour contrôler les liens de son commutateur et vérifier qu il n y a pas d utilisations anormales du réseau depuis ou vers l ENSEEG. Sur son écran, il peut lire le top 10 du trafic des machines de l INPG et le détail pour les machines dont il a la gestion. Accéder à une documentation L utilisateur doit pouvoir consulter, mettre à jour, créer ou supprimer une documentation, un schéma ou une photo technique dans les domaines qui lui sont autorisés sans se poser la question de sa localisation physique. Le portail doit fédérer les diverses sources de documentations de façon transparente pour l utilisateur. Les documentations doivent être classées selon un arbre. Un outil de gestion de contenus (CMS) peut gérer les différentes tâches afférentes à la documentation. Les documents seront indexés par le moteur de recherche du portail Tâches secondaires D autres tâches doivent être mises à disposition de l utilisateur, celui-ci pouvant les réorganiser, les masquer ou les afficher selon ses souhaits. 47

48 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Le mot du directeur L utilisateur authentifié peut directement lire le mot du directeur ou de son responsable. Seul l utilisateur autorisé peut saisir le texte! Favoris Gérer mes favoris (météo, banque, intranet CICG, Google, Voilà, infos ), les favoris peuvent aider à la veille technologique. L administrateur attribue le canal des favoris, seul l utilisateur peut le modifier. L administrateur de l organisation peut annuler les personnalisations de l utilisateur avec la console d Identity Server. Astreintes Pour l utilisateur authentifié, consulter le programme d astreintes, savoir qui est d astreinte et vérifier quand sera sa prochaine période d astreinte. Actualités du Cicg Consulter et éventuellement saisir les dernières Informations sur le CICG, le département Suivi des projets Être informé et tenir à jour le suivi des projets en cours. Relever sa messagerie Calendriers Utiliser un agenda personnel et partagé ; Partage de salles Contrôler la disponibilité d une salle, la réserver (si le délai le permet), activer les prises réseaux. Consignes Consulter le cahier des consignes Diagrammes de cas Le diagramme de cas principal est divisé en deux parties (figure 15 et figure 16) afin de montrer clairement les tâches et les acteurs associés. Ces deux diagrammes se lisent dans la continuité. Certains cas d utilisation se retrouvent dans les deux schémas (comme Personnaliser le portail et Administrer le portail), les acteurs impliqués n étant indiqués que sur l un des deux (Utilisateur authentifié pour Personnaliser le portail dans le premier schéma et Administrateur dans Administrer le portail dans le second schéma). Pour plusieurs diagrammes, les relations de généralisations sont rappelées ou, plus particulièrement, amendées afin de répondre plus précisément aux cas d utilisation. Dans le premier diagramme, les cas S authentifier et Utiliser les liens sont uniquement accessibles à l acteur Anonyme. Un utilisateur authentifié ne peut pas utiliser ces liens. Ceci est dû au fait que le portail anonyme est unique, non personnalisable et non modifiable par l utilisateur. De même, un utilisateur authentifié ne peut pas s authentifier à nouveau tant qu il ne s est pas déconnecté. Viennent ensuite deux cas d utilisation autorisés à tout le monde : lire les actualités du Cicg et Effectuer une recherche. Les acteurs des cas d utilisation liés (Écrire les actualités du Cicg et Recherche avancée) sont décrits plus précisément dans le diagramme suivant. L acteur Utilisateur Authentifié dispose d un ensemble de cas d utilisation lui permettant de personnaliser son portail, de consulter différents services et de faire de la métrologie. Enfin, il peut se déconnecter volontairement ou être déconnecté automatiquement par le serveur Web lors de la fin de sa session (après vingt minutes d inactivité). 48

49 2 - Le projet du CICG Figure 15 : schéma principal - 1 ère partie. 49

50 Infrastructure logicielle de portail : mise en œuvre d une solution complète. SCHÉMA PRINCIPAL, UTILISATEURS DÉTAILLÉS «uses» Personaliser le portail Administrer le portail Administrateur Lire Actualités et Infos du Cicg «uses» Écrire les actualités du Cicg Lire le mot du Directeur «uses» Écrire le mot du Directeur Consulter disponibilité salles «uses» Gérer réservations de salles Direction Direction Consulter les Astreintes Activer prises réseau dans salle Système d'astreintes Utiliser le CMS SRes Effectuer un travail collaboratif Participer au suivi des projets «uses» Partenaire externe Consulter les projets en cours Cicg Partenaire interne Dispositions des tâches Figure 16 : schéma principal - 2 ème partie. Les tâches étant indépendantes, il n est pas possible de déterminer un ordre d exécution ou une disposition adéquate. De part la technologie utilisée, l utilisateur est libre de disposer les canaux sur son portail, on ne peut que proposer une organisation type initiale. Une tâche est intégrée dans un ou plusieurs canaux, la position du canal sur la page est initialisée par l administrateur et sera modifiée par l utilisateur à sa convenance. Il n y a aucune relation temporelle entre les tâches. Les tâches fondamentales sont ubiquitaires mais, là aussi, l utilisateur peut disposer ses objets à l écran comme il le souhaite. 50

51 3 L offre actuelle 3 - L offre actuelle Les portails définis, nous savons ce que l on peut attendre d eux. La question suivante est donc : lequel choisir? Quels critères peuvent déterminer le choix d une solution par rapport à une autre? Le marché des portails est non stabilisé ce qui rend toujours plus difficile de «noter» une solution par rapport à une autre. Nous allons donc étudier les différents critères de choix sans les classer, la prépondérance de l un par rapport à l autre étant plus de la compétence du maître d ouvrage : Le Framework ou la culture d entreprise : comme détaillé dans le paragraphe page 28, deux modèles sont disponibles (J2EE ou.net). Le type de portail, les fonctionnalités, les types d accès : quel est le but final du portail, est-ce un portail grand public, d entreprise, un gestionnaire de contenu Le temps d implémentation de la solution : la haute technicité des portails rend les outils parfois difficiles à maîtriser et à paramétrer. La modularité de la solution : sa flexibilité après mise en œuvre et les évolutions futures. L intégration : sa capacité à intégrer des applicatifs internes. La souplesse et le niveau d interopérabilité : sa capacité à intégrer des applicatifs externes, son potentiel d interopérabilité, les protocoles implémentés. Le système de gestion de contenus : associé ou intégré dans la solution. Les bases d annuaires existantes : pour assurer la compatibilité. L adaptabilité de la solution : sa capacité à intégrer des outils divers, hétérogènes, ses compatibilités avec le reste du SI. L assistance, l aide au déploiement et le support. Son prix : choisir une offre commerciale ou du monde «Open Source», mais bien maîtriser le coût réel. 3.1 Les offres commerciales Les entreprises proposant des solutions de portail se divisent en deux groupes : les constructeurs ou fournisseurs de technologies comme Sun, IBM, HP ou Compaq et les grands éditeurs comme Oracle, Microsoft ou SAP. Les deux offrent des solutions comparables même si les premiers ont des produits complémentaires avec leurs matériels donc plus performants. Comme exemple, Sun Java System Web Server comparé à Apache et Tomcat est 24 fois plus rapide dans la délivrance de pages sécurisées (SSL) et de 40 à 200 fois plus performant lors d une montée en charge [28]. Toutes les offres commerciales proposent dans leur serveur de portail les portlets génériques : Personnalisation, internationalisation. Moteur de recherche sur les documents, contenu web Authentification. SSO interne et externe (sauf BEA où le SSO est interne uniquement). Système de gestion de contenus (sauf Oracle et Sun) et le workflow associé. Portlet vers un serveur de messagerie, carnet d adresses. Calendrier, calendrier partagé, agenda. Messagerie instantanée, chat ou «bavardoirs» (sauf Oracle). 51

52 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Forums, discussions (en complément chez Oracle). Réécriture d URL. Portlet de liens (bookmark). Portlet d intégration de service Web. Intégration de flux XML (sauf BEA). Gestion d erreurs. Gestion des sessions. Et, bien sûr, la possibilité de créer ses propres portlets. Le tableau 5 est une simple comparaison des standards d interopérabilité de quelques solutions commerciales. Toutes proposent un SSO interne et externe, seul BEA ne propose pas de SSO externe. Toutes les solutions intègrent un gestionnaire d identité à l exception de Microsoft qui délègue cette gestion à son Active Directory. Pour les prix de ces divers produits, certains facturent par CPU ou par serveurs, d autres par utilisateurs. Ils s'étendent de $ à $ par CPU ou de 68 $ à 500 $ par utilisateur [29]. Éditeur Solution Standards architecture Annuaire d identification BEA WebLogic Portal JSR-168, WSRP Active Directory, LDAP IBM WebSphere Portal JSR-168, WSRP Active Directory, IBM et Sun Directory Server (LDAP) Kosmos K-SUP/K-Portal Aucun MySQL et ACL d Apache Microsoft Oracle Plumtree Sun Sybase SharePoint Portal Server Oracle AS 10g Portal Enterprise Web Suite Java System Portal Enterprise Portal WebDav Tibco ActivePortal Aucun Vignette Application Portal & App. Builder JSR-168, WebDav, WSRP JSR-168, WebDav, WSRP JSR-168, WebDav, WSRP JSR-168, WebDav, WSRP JSR-168, WSRP Active Directory Active Directory, LDAP Active Directory, LDAP LDAP, Radius, Safeword, SAML/Liberty, Unix Active Directory, J2EE containerbased auth., LDAP Active Directory, Sun Directory Server (LDAP), Novell. Active Directory, LDAP Tableau 5 : éditeurs de solution de portail Oracle Application Server 10g Portal Oracle propose une solution de portail plus en prolongement de sa suite Application Server et en complément de son gestionnaire de base de données qu au titre d un nouveau progiciel [30]. Néanmoins, Oracle AS 10g Portal arrive en tête des solutions de portail dans l étude de Lori MacVittie [29] pour sa capacité d intégration, son environnement graphique, la facilité de création de nouvelles applications par la combinaison de plusieurs portlets et, en particulier, pour un portlet unique : OmniPortlet. Il permet l accès à différentes sources de données (XML, bases de données, services web) avec une grande facilité. Comme les autres solutions de portail, Oracle AS Portal propose l ensemble de portlets génériques mais enrichit la réécriture d URL avec l extraction d une partie de page HTML dans le style «coupure de presse». Il intègre également des 52

53 3 - L offre actuelle portlets pour Lotus Notes, Microsoft Exchange, SAP, IMAP, SMTP, Telnet ou UMS. Oracle AS Portal ne propose pas de messagerie instantanée et le forum n est pas livré de base, toutefois il est possible de télécharger l outil de forum gratuitement sur le site d Oracle. La figure 17 présente comment le modèle initié page 18 est implémenté par Oracle. Le serveur web n est pas intégré dans la solution de portail, il peut être remplacé par un serveur web Apache ou IIS. La suite Oracle Application Server comprend plusieurs briques : le serveur d applications, le serveur de portail avec des outils orientés e-commerce et un système de gestion de contenus et de travail collaboratif en complément, plus un serveur d intégration. Oracle AS s appuie sur un annuaire LDAP mais peut interroger un Active Directory (s il est synchronisé sur un annuaire LDAP). Oracle Web Server Oracle Application Server Oracle Application Server Portal Oracle E-commerce Oracle Workflow JSR-168, WebDav WSRP Oracle AS Integration/Interconnect Oracle Database LDAP J2EE Figure 17 : architecture d'oracle AS Portal Microsoft SharePoint Portal Microsoft a investi tardivement (2001) le marché des portails, et avec une solution incomplète : SharePoint Portal Server. L offre était répartie sur trois solutions : SharePoint Team Services : serveur portail collaboratif. SharePoint Portal Server : serveur de portail documentaire. Content Management Server : gestionnaire de contenu. Depuis 2003, Microsoft a revu sa stratégie : SharePoint Team Services a été intégré dans Windows Server 2003 comme extension de.net, SharePoint Portal Server est devenu Office SharePoint Portal Server avec des outils collaboratifs et l intégration de Microsoft Office. Les portlets baptisés ici Web Parts peuvent être créés dans Visual Studio.Net ou FrontPage et avec le langage de son choix (C++, C#, Visual Basic ). SharePoint Portal fonctionne sur une hiérarchie de sites, chaque utilisateur peut gérer son site et en créer un nouveau (selon ses droits). L installation est très facile, le développement commode, le paramétrage simple et la mise en œuvre immédiate. Les points forts sont la simplicité d installation et d utilisation, de développement également, les possibilités d interaction avec les autres outils Microsoft et l intégration de documents et bien sûr la documentation. 53

54 Infrastructure logicielle de portail : mise en œuvre d une solution complète. SharePoint Portal est la solution idéale pour les entreprises «tout Microsoft», ses principaux inconvénients étant sa fragilité face aux attaques virales et son manque de compatibilité avec les applications concurrentes. Un autre point non négligeable est l obligation de travailler avec les progiciels Microsoft. Égal à lui-même, Microsoft est compatible avec Microsoft. SharePoint Portal Server 2003 (SPS) exige Windows Server 2003 avec Active Directory, IIS comme serveur web et d applications. En complément de SharePoint Portal, Microsoft propose Exchange 2003 (sur un autre serveur) pour la messagerie, SQL Server pour le SGBD 1 (ou d autres formats via ODBC 2 ), CMS pour la gestion de contenus et BizTalk pour l interopérabilité interentreprises. La figure 18 montre comment le schéma page 18 est implémenté par Microsoft SharePoint Portal Server. Microsoft Internet Information Service Microsoft Sharepoint Portal Server Microsoft Content Management Server Web Parts, ASPX WebDav, ADO Microsoft BizTalk Content Integration Pack Microsoft SQL Server.NET Figure 18 : architecture du portail Microsoft SharePoint Portal Server SUN - Java Enterprise System 6 Dans le chapitre 3.3 page 60, nous exposons plus précisément la solution de Sun et sa mise en œuvre, aussi allons nous simplement survoler Sun Java Enterprise System afin de le comparer aux autres solutions du marché. Sun Microsystems propose une version aboutie d un environnement de portail : Java Enterprise System (JES). Une des grandes particularités de JES est l administration autour d un serveur d identité permettant la gestion des utilisateurs, des rôles, des portlets, des modes d authentification Toute la structure est centrée sur cette gestion d identité. Sun JES compte parmi les solutions les plus polyvalentes, acceptant plusieurs serveurs web et serveurs d applications autres, une base de données LDAP et fournit des portlets d intégration d applicatifs divers. Il présente aussi une palette de méthodes d authentification assez large. Le niveau de personnalisation est particulièrement important. Par contre, le développement de portlets personnels peut paraître lourd. La console d administration manque de représentation graphique mais permet plus de souplesse et de réutilisation des portlets. Dans les versions actuelles, le système de gestion de contenus n est pas intégré, mais gageons qu il le sera d ici peu. Il faut compléter JES avec le CMS FatWire Spark ou adapter un autre CMS. 1 SGBD : système de gestion de base de données, MS SQL Server est un SGBD relationnel. 2 ODBC : interface standardisée par Microsoft permettant d accéder à toutes bases de données. 54

55 La figure 19 détaille les briques de la solution de portail et leurs positions. 3 - L offre actuelle Sun Java System Web Server Sun Java System Portal Server Sun Java System Calendar Server JSR-168, WebDav, WSRP Sun Java System Application Server Sun Java System Identity Server Sun Java System Instant Messaging Server Sun Java System Integration Server Sun Java System Directory Server J2EE Figure 19 : architecture de Sun Java Enterprise System BEA WebLogic Portal 8 Lori MacVittie reconnaît de nombreuses lacunes à BEA WebLogic Portal [29] : peu de portlets proposés, l obligation de créer ses propres portlets pour simplement intégrer un flux XML. De plus l interface, pourtant soignée et intuitive, ne permet pas toutes les actions, mais il n est pas le seul dans ce cas. Toutefois, BEA WebLogic Portal propose les services fondamentaux de portail, des fonctionnalités avancées de personnalisation, de gestion des interactions utilisateurs, d'administration et d'intégration. Il a été récompensé à l occasion des Codie Awards par le prix du meilleur portail d'entreprise lors de la 17 ème convention annuelle du SIIA (Software & Information Industry Association) en avril La figure 20 détaille les éléments constituants la solution WebLogic. BEA WebLogic Server BEA WebLogic Application Server BEA WebLogic Portal BEA Liquid Data BEA Workshop JSR-168, WebDav, WSRP BEA WebLogic Integration BEA WebLogic Directory Server J2EE Figure 20 : architecture de BEA WebLogic Portal. 55

56 Infrastructure logicielle de portail : mise en œuvre d une solution complète Kosmos - K-Sup / K-Portal La société Kosmos, implantée à Nantes, propose la suite K-Sup (K-Portal) développée en environnement Java depuis Le logiciel peut s installer sur un serveur Linux, Unix ou Windows, sachant que l'environnement conseillé est Linux RedHat Entreprise ou Debian 3.0. Il lui faut le SDK Java de Sun, un serveur Web Apache, un serveur d applications Tomcat et le gestionnaire de bases de données MySQL. Comme le précise la société Kosmos, K-Sup est un outil évolué de gestion et d intégration de contenu spécialisé enseignement supérieur. Ce n est pas un portail comme nous le définissons. Actuellement, Kosmos travaille sur les fonctionnalités suivantes, mises en place uniquement pour démonstration : Base utilisateurs de plusieurs milliers d utilisateurs (annuaire Lyon2). Authentification sur un annuaire LDAP. Notion de «rôle» (interfaces personnalisées). Agrégation de sources : RSS, flux XML. Module d'import spécifique pour récupérer les contenus de Spip. Intégration d'applications exogènes en php ou Java, mise en œuvre d un SSO (CAS probablement). Apache Tomcat K Portal Gestion sécurité par Apache K-Sup CAS en cours d étude MySQL J2EE Figure 21 : architecture de K-Sup/K-Portal WebSphere 5 d IBM Facile à prendre en mains, la plate-forme WebSphere d IBM centralise la sécurité autour de rôles (en utilisant RBAC : role-based access control), ce qui permet de gérer les droits d accès comme la délégation d administration. Le nombre de portlets fournis est assez limité mais intègre son propre gestionnaire de documents ainsi que des connecteurs vers les outils bureautique Microsoft. IBM propose en complément de WebSphere un outil de développement de nouveaux portlets, services web et intégration de données XML sans avoir recours (ou presque) à la programmation : BowStreet Portal Factory. À titre de comparaison, le même outil existe chez ses concurrents, seul Oracle l intègre directement dans sa solution de portail. 56

57 3 - L offre actuelle WebSphere requiert son propre serveur d applications mais est polyvalent pour les autres éléments. La figure 22 représente les différentes briques de l architecture de portail proposées par IBM. IBM WebSphere Web Server IBM WebSphere Portal IBM MQSeries Workflow JSR-168, WebDav, WSRP IBM WebSphere Application Server IBM WebSphere Commerce PE IBM CrossWorld MQ Integrator Broker IBM WebSphere Directory Server J2EE Figure 22 : architecture de IBM WebSphere. 3.2 Les offres «Open Source» Il n est pas question ici de débattre des différences entre les solutions «Open Source» et celles du commerce, des avantages des unes par rapport aux autres. Chacune répond à un besoin spécifique. À titre d exemple, il n est pas question de comparer Sun Java Enterprise System avec Spip. Le premier s adresse aux systèmes d informations d entreprises alors que le second est plus orienté vers les organismes plus modestes ou à des communautés d internautes [31] EXo EXo, de la société Éponyme, est une plate-forme compatible JSR composée de plusieurs modules basés sur des APIs et un Framework Java. Il comprend un CMS (orienté objet) fournissant un système de gestion de fichiers web gérant les versions, le verrouillage d accès La solution de portail est basée sur des portlets vus comme des applications web et pouvant être utilisés par d autres solutions de portailet des services. La configuration est effectuée par un fichier XML. Le workflow est réalisé par jbpm, un outil de l open source intégré comme portlet. Le point fort d exo réside dans un outil permettant à un administrateur de créer son portail dans un environnement graphique (WYSIWYG). De plus, exo étant un outil universitaire, il intègre dans son «bavardoir» des plug-ins fonctionnels comme celui de math. Enfin, exo peut également faire appel à des portlets d autres fournisseurs si le portlet est totalement compatible JSR EXo a récemment rejoint le consortium ObjectWeb (voir le paragraphe 3.2.2). 1 Les créateurs promettent déjà d implémenter la JSR-170 dès qu elle sera finalisée. 2 Comme pour toutes les solutions s appuyant sur un Framework J2EE et implémentant la JSR-168. Cette compatibilité est rarement possible car les constructeurs pallient les erreurs de jeunesse de la JSR-168 en adaptant leurs portlets. 57

58 Infrastructure logicielle de portail : mise en œuvre d une solution complète Red Hat Portal Server Red Hat propose depuis 2003 un serveur de portail et un gestionnaire de contenu «Open Source». La solution de portail, présente au sein de l offre de produits Red Hat Enterprise Applications, est basée sur les servlets java conformes J2EE. Elle propose l intégration d applications et une vision centralisée des services ainsi que le gestionnaire de contenu CCM (Content and Collaboration Management), considéré comme l un des meilleurs outils de gestion de contenus «Open Source» du marché. L entreprise met en avant le coût réduit de sa solution, une communauté de développement puissante et un support global 7j/7 et 24h/24. Vraisemblablement, Red Hat s est lancé sur le marché du portail comme beaucoup mais, en novembre 2004, a «abandonné» sa solution de gestion de contenus au consortium ObjectWeb. Cette démarche n est pas sans rappeler le transfert de Linux au projet Fedora. Un même transfert de la solution de portail de Red Hat n est pas certain car ObjectWeb a déjà accueilli le portail d entreprise exo, précédemment cité. Toutefois, ObjectWeb ne fournit aucun support. L utilisateur doit s adresser à des sociétés de services spécialisés, ce qui est souvent le cas dans les solutions «Open Source» uportal uportal est une solution de portail libre issue d un projet d universités américaines. Il est aujourd'hui présent à travers le monde et fait l objet de développement collaboratif dans les universités l utilisant. La communauté de uportal est organisée autour du consortium JA-SIG (Java Architectures Special Interest Group) implanté dans des universités aux États- Unis, Canada, Royaume-Uni et en cours d implémentation en France (Albi, Le Havre, Nancy, Rennes, Toulouse, Valenciennes, Versailles ). uportal est basé sur un standard J2EE et emploie Java, XML et JSP. Il peut se connecter à différentes bases de données (via JDBC). Il s appuie sur un serveur Web Apache et un Java Servlet Engine particulier. uportal dispose de plusieurs avantages dont sa grande diffusion à travers le monde et ses capacités d intégration mais présente deux inconvénients à prendre en compte : la difficulté d évaluer l adaptabilité du produit sur différentes platesformes et l absence de gestion de répartition des charges. Ce dernier inconvénient peut être résolu par un matériel réseau plus onéreux mais plus performant [32] Zope et Plone Zope 1 est un serveur d applications basé sur Python, un langage orienté objet. Il permet de construire facilement des applications intranet et surtout des portails. La communauté autour de Zope est très active en France et beaucoup d entreprises de services proposent une aide et un support dans sa mise en œuvre [33]. La notion objet dans Zope permet une abstraction des publications et une délégation des droits. Zope est modulaire, il est facile d ajouter de nouvelles fonctionnalités. Zope a son propre système de base de données : ZODB. Il est orienté objet également et conserve un historique de toutes les opérations ce qui permet un retour en arrière sur les actions effectuées très pratique. Zope propose un langage de script : le DTML 2. Il utilise des balises propres commençant par <dtml et suivi des instructions. Elles sont exécutées par le serveur 1 Z Object Publishing Environment : environnement de publication d objets Z. 2 DTML : Document Template Markup Language. 58

59 3 - L offre actuelle Zope. Par exemple, la balise <dtml-var id> va insérer l identifiant unique de l objet en cours. Zope fonctionne sur une hiérarchie des objets conteneurs et des contenus. Quand l utilisateur demande une page intitulée MaPage_html dans un répertoire quelconque, le serveur recherche cette page dans ce répertoire, s il ne la trouve pas, il recherche dans le répertoire parent et ainsi de suite jusqu à la racine. Apache Zope Application Server CPS CMF CPSSkins Modules Zope Plone ZODB Zope Object Database Python Figure 23 : architecture de Zope. Comme décrit dans la figure 23, Zope s accompagne de modules comme CPS, CPSSkins, CMF, Nuxeo ou Plone. CPS (Collaborative Portal Server : serveur de portail collaboratif) est un système de gestion de contenus, de travail collaboratif et de workflow basé sur Zope. Il offre un ensemble de fonctions : Gestion documentaire. Chaîne de validation des documents. Espaces de travail collaboratif. Gestion des accès basée sur des rôles. Suivi des versions. Support des métadonnées. Recherche plein texte et multicritères. Architecture organisationnelle. CPSSkins est un éditeur WYSIWYG qui permet de créer des thèmes (skins) pour CMF, CPS et Plone. CMF (Content Management Framework : architecture de gestion de contenus) est un CMS. Il propose les fonctionnalités habituelles. Pour terminer ces quelques outils complémentaires à Zope, Plone est un system de gestion de contenus complémentaire à Zope. Écrit en Python également, il est disponible dans 30 langues différentes et dispose d une communauté importante et active. Nuxeo Collaborative Portal Server (CPS) est une solution de travail collaboratif et de gestion de contenus basée sur Zope [34]. 59

60 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Comme Zope, Plone exploite le XHTML et les CSS 1. Il accepte l interopérabilité avec diverses bases de données et peut également s installer sur différentes plates-formes comme Linux, Windows, Mac OS X, Solaris ou BSD. Tous ces outils sont gratuits, disponibles en licence GPL. Tous les utilisateurs de Zope ne sont pas unanimes pour garantir la simplification de la création et la maintenance des sites Web et permettre aux gestionnaires de contenu d'alimenter et de modifier leur site sans un haut niveau d'expertise technique. Ses détracteurs trouvent son utilisation moins intuitive qu il n y paraît, ils lui reprochent un langage particulier et une interopérabilité limitée. Zope est néanmoins une très bonne solution, robuste et fiable. Il est utilisé dans quelques ministères et universités. Deux exemples : le site france-généalogie.fr a été porté le 20 janvier 2004 sur la technologie ZOPE/CPS, afin de permettre des mises à jour plus souples et réactives comme il l est indiqué sur le site. L université de Savoie utilise également Zope depuis plusieurs années Spip Spip est un projet Open Source à publication libre sur l Internet, élaboré pour répondre aux besoins individuels ou non lucratifs. En effet, Spip ne tient pas la charge dès que le nombre d utilisateurs devient important. Spip n est pas un portail dans le sens où il n offre que de la gestion de contenus. Il n est pas possible d intégrer des applications et le workflow est limité. Il n existe que deux rôles : auteur et administrateur. Le premier soumet des articles ou documents et le second les valide mais aussi gère et administre le site et son arborescence. Toutefois, Spip est d une grande facilité d utilisation. Il permet de mettre en ligne des documents facilement et même de les créer dans une interface intuitive sans écrire une balise HTML. Les données sont stockées dans une base de données MySQL et l affichage est basé sur les CSS ce qui permet de dissocier les données, le code HTML et la mise en forme. 3.3 La solution SUN Java Enterprise System Sun Microsystems est un constructeur réputé pour la fiabilité de ses serveurs, Spark notamment, et la qualité des logiciels systèmes comme Unix Solaris. Il a récemment ouvert son architecture matérielle à Linux pour contrer le géant américain Microsoft. Sun a toujours été le rival de Microsoft sur les standards ou la philosophie informatique, préférant favoriser le choix de plate-forme en ne gardant qu un seul langage dont il est l initiateur : Java. Sun a aussi participé à de nombreuses normes comme J2EE, JSP, EJB, JSR-168 au sein de consortiums ou alliances. En octobre 1998, après l acquisition de I-Planet Inc. pour créer son intranet (WebdTop), Sun lance une stratégie appelée Sun.Net devant fournir à l utilisateur un accès rapide, sécurisé et personnel à la messagerie, aux données, aux applicatifs, aux intranets et services réseaux depuis n importe quel type de logiciel client [35]. Après l alliance avec Netscape, Sun.Net devient iplanet puis, en 2002, Sun One (Open Net Environment) pour enfin s appeler Sun Java System en novembre CSS (cascading Style Sheet) : feuille de style permettant de séparer la mise en forme du contenu d une page HTML. 60

61 3 - L offre actuelle Depuis janvier 2004, deux nouvelles versions de JES ont vu le jour, montrant bien l émergence de la technologie et l intérêt que lui porte l éditeur. La dernière, disponible depuis l été 2004, peut désormais s installer sur Linux Red Hat Enterprise. Les prochaines versions devraient rendre JES disponible pour d autres systèmes d exploitation et avancer encore dans la fédération (avec WSRP, RSS Jini 1 ) ou les annuaires. Enfin, JES est une solution ouverte. Actuellement, il accepte les outils complémentaires suivants : Outils de développement : Sun Studio, Borland, Webgain, Rational Formats de présentation : Servlets, JSP et RMI Sun, Apache, IBM Logique applicative : EJB et JMS Sun, BEA, IBM, Oracle Intégration : JDBC, JCA, CORBA Gestion des identités : Kerberos, LDAP, PKI de Sun, Novell, CA Système d exploitation : Solaris, Windows, Linux (Red Hat seul pour l instant). Dispositif client : navigateurs, J2ME, HTML, XML, XHTML, WML, SOAP Concept de Sun JES Java Enterprise System propose un serveur d applications certifié J2EE : Sun JES Applications Server. Il intègre avec le serveur de portail un annuaire LDAP et surtout un gestionnaire d'identités. Ce dernier est utilisé pour définir et appliquer les habilitations des utilisateurs (leurs droits d accès et d intervention sur l ensemble des services du portail). JES a une vision centrée sur l utilisateur : un service est délivré à l utilisateur dans les meilleures conditions afin de réduire la complexité côté utilisateur et d alléger le travail du développeur. Chaque élément, chaque portlet et chaque outil du portail est un service, il est administré depuis la console d Identity Server. Ce dernier joue un rôle primordial dans JES, il est la clef de voûte du système. JES permet de construire «simplement» des portails personnalisables, selon l organisation, les services mis en oeuvre, les rôles de l utilisateur Le niveau de personnalisation est très élevé et l imbrication des portlets (containers et channels) peut être quasiment infinie. Sun Java Enterprise System contient un nombre important de composants. D une part des outils d infrastructure : Directory Server : annuaire LDAP. Identity Server : gestionnaire d identité. Portal Server : serveur de portail et d intégration. Applications Server : serveur d applications. Web Server : serveur web et serveur d applications. D autre part, des outils collaboratifs ou d extension : Calendar Server : gestionnaire de calendriers et d agendas. Messaging Server : serveur de messagerie. Instant Messaging Server : discussions, «bavardoirs». Portal Server Secure Remote Access : compléments pour accès distants. Dans cette étude, nous ne détaillerons que les outils d infrastructure. 1 Jini : «La technologie Jini a été développée pour faciliter l'assemblage, le désassemblage et la gestion de tout type de réseau composé de services et des clients utilisant ces services» (Jim Waldo de Sun). 61

62 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Services applicatifs Intégration Outils Collaboratifs Secure Remote Acces Messaging Server Portal Server Instant Messaging Server Calendar Server Services intermédiaires (middleware) Sécurité et politiques Fonctionnement Persistance Web Server Identity Server Directory Server Application Server Sun Cluster Système d exploitation et réseau Figure 24 : Java Enterprise System. La figure 24 présente les différentes briques par rapport aux services qu elles fournissent. Sun Cluster permet d assurer la haute disponibilité des services. Sun Java Enterprise System est un environnement de portail. Il est apte à instancier toutes sortes de portail mais est plus approprié aux portails d intégration d applicatifs ou transactionnels (page 22). Sun met en avant trois avantages de son système : Services dynamiques et adaptables : extension des capacités d accès ubiquitaires, personnalisation selon les préférences de l utilisateur, l heure et le lieu et le besoin immédiat. Le bon service au bon endroit et au bon moment : l utilisateur a besoin d un accès simple et immédiat au bon service. Le contenu et le service fournis sont dépendants du contexte dans lequel l accès est réalisé. Poser les principes des futurs services «à la demande» : les services sur demande sont l avenir modulaire, flexible et d accès automatisés, quel que soit le logiciel client de l utilisateur et sa localisation géographique. La vision du service «à la demande» impose la délivrance de services de différents types sur le support réseau et l assemblage en temps réel de composants applicatifs disséminés. Ceci nécessite donc des architectures non monolithiques. Sun JES fournit un concept de liens entre les services pour délivrer des fonctionnalités à l utilisateur par rapport aux rôles qui lui sont attribués au moment de la demande. 62

63 3 - L offre actuelle Figure 25 : architecture de portail proposée par Sun Architecture Web Server et Application Server Portal Server Providers : search, forum, notes, login, bookmarks Intégrations : calendar, chat, mail, CMS SSO Identity Server Directory Server Framework J2EE Figure 26 : architecture de portail Sun JES. Sun Java Enterprise System fonctionne autour de fournisseurs de services : des providers. Ce sont des classes Java fournissant les portlets appelés ici Container ou Channels selon leur destination finale. Les providers sont détaillés dans le paragraphe et leur fonctionnement est analysé dans le chapitre La figure 26 montre les liens entre les différents éléments de JES et les providers Web Server C est un serveur Web capable également d exécuter des applications web. Il ne peut, contrairement à Application Server, implémenter les EJB. Sun Java System Web Server est utilisé par plus de 50 % des sites des entreprises classées au 63

64 Infrastructure logicielle de portail : mise en œuvre d une solution complète. «Fortune 100». Il permet de mettre en ligne du contenu dynamique sur Internet. Il résiste aux fortes montées en charge et assure ainsi stabilité et performance Application Server Sun Java System Application Server offre une plate-forme certifiée J2EE pour le déploiement d applications Java. Application Server est conforme aux standards J2EE, XML, WAP, SNMP, LDAP et CORBA Directory Server Sun Java System Directory Server (DS) est un gestionnaire d annuaire LDAP, réputé et répandu, façonné pour traiter des volumes de données importants. Il fonctionne sous Solaris, Windows Server, Red Hat Linux, IBM AIX et HP-UX. Il est conforme aux RFC LDAP v2 et v3 et aux requêtes Liberty Alliance, accepte les connexions sécurisées LDAPs et les services Web UDDI (dialogue avec un annuaire UDDI). Il peut se renforcer d un meta annuaire avec des connecteurs pour Active Directory, les domaines NT ou Oracle. Il dispose de la réplication partielle ou totale, du stockage distribué sans arrêt de service. Enfin, Directory Server est utilisé par Identity Server pour stocker les identités et profils des utilisateurs du portail, pour l administration, la délégation de droits Identity Server Figure 27 : Directory Server. Nous l avons vu, Identity Server (renommé Access Manager en septembre 2004) est le cœur de l architecture de JES. Il a une triple fonction d administration, de sécurisation et de configuration. Il gère les liens entre les différents objets du portail : organisations, utilisateurs, groupes, services, rôles et politiques. Il assure la sécurisation des services par l authentification, les droits d accès et le SSO (Single Sign-On). Enfin, il gère les conditions d accès dans le système d information par l intermédiaire des rôles et des politiques et au-delà avec la notion de fédération. Identity Server gère également la session de l utilisateur. Il met en œuvre les connecteurs SSO. 64

65 L offre actuelle L annuaire Directory Server est utilisé par Identity Server pour stocker les identités, consolider les identités dans l entreprise, les profils, les références d authentification, la gestion des accès, la protection des ressources, les rôles, la configuration des services Identity Server permet de dissocier l annuaire d identité de l annuaire d authentification. L annuaire d identité stocke les informations complémentaires associées à un compte utilisateur pour le bon fonctionnement du portail. Une des particularités de Sun JES par rapport à ses concurrents réside dans la gestion sous la même interface des utilisateurs, du portail et des services. La délégation devient à la fois simplifiée mais plus dangereuse dans sa version de base. En effet, en standard, l utilisateur ayant la délégation doit manipuler la console d administration. Toutefois, cette console est un portail à part entière donc il est possible de la personnaliser selon l authentification, mais ce travail est à réaliser. Les organisations Une organisation est une entité possédant : des sous organisations, des groupes, des utilisateurs, des services, des rôles, des politiques. C est au sein d une organisation que l on détermine les relations entre ses objets. Un utilisateur peut administrer une organisation seulement si les droits d administration lui ont été délégués dans l organisation hiérarchiquement supérieure. Les services Dans Identity Server, un service est un ensemble d attributs gérés par la console. Les attributs peuvent être de simples informations comme le nom d une personne, sa fonction, son adresse mail mais généralement, les attributs sont utilisés comme paramètres de configuration pour des modules applicatifs comme une messagerie ou une méthode d authentification. Pour comprendre le fonctionnement d un service, prenons l exemple d un serveur de messagerie dans une université. En premier lieu, le profil de l utilisateur est stocké dans Directory Server. Cet utilisateur dispose dans son laboratoire d un serveur de messagerie propre. L administrateur du portail définit le service de messagerie approprié dans un fichier XML. Ce document XML décrit les classes d objets et les attributs qui seront utilisés par le serveur de messagerie : l adresse mail, le nom de l utilisateur et son mot de passe, le nom du serveur, la limite de stockage, le timeout Les paramètres de chaque service, dans un format XML, sont stockés dans Directory Server. Le paramétrage d un service peut se faire dans la console d administration (interface graphique), par le chargement d un fichier XML ou par procédure personnelle de mise à jour de l annuaire. Un service se configure depuis quatre emplacements distincts dont les effets ne sont pas les mêmes. Tout d abord, le service se paramètre dans l onglet de configuration des services. C est une configuration globale, commune à tout le portail, qui sera utilisée comme valeur par défaut. Ensuite, lors de l enregistrement d un service dans une organisation, il est possible d amender cette configuration ou d en faire une autre totalement différente. En troisième lieu, un service est associé à un utilisateur, sans condition ni restriction. Le service peut être à nouveau amendé ou complètement créé. Enfin, il est également possible de paramétrer le service au niveau des rôles, chaque rôle pouvant avoir une configuration nouvelle et contradictoire. La priorité de configuration est : service général puis service dans l organisation, puis service

66 Infrastructure logicielle de portail : mise en œuvre d une solution complète. pour les rôles et enfin service pour l utilisateur. Il est possible de modifier, remplacer, supprimer ou fusionner les modifications. Authentication Services Signification Anonymous Pour autoriser un accès anonyme Certificate Certificat numérique personnel Core Module commun utilisé par Identity Server HTTP Basic Authentification en HTTP mais sur un annuaire LDAP LDAP Basée sur un annuaire LDAP ou Active Directory Membership Permet l auto enregistrement de l utilisateur. NT Comptes d un domaine Windows 2000 RADIUS Serveur Radius (souvent utilisé pour accès nomades) SafeWord Méthodes propriétaire de SafeWord SecurID Utilise un serveur d authentification RSA s ACE/Server Unix Sur base des comptes Unix Tableau 6 : services d'authentification d'identity Server. Les services représentent les capacités et options de l environnement de portail. Un autre exemple de services peut être la méthode d authentification. Le tableau 6 détaille les méthodes installées nativement. Figure 28 : attributs du service d'authentification LDAP. La figure 28 montre le service d authentification LDAP. Les attributs sont : Le ou les noms des serveurs primaires et secondaires : serveur annuaire utilisé pour authentifier l utilisateur dans l organisation. Le DN 1 initial : nœud dans l annuaire à partir duquel on recherche l utilisateur (ici grenet.fr). Le nom d utilisateur et son mot de passe utilisé pour accéder au serveur LDAP (ici amldapuser dans l organisation DSAM Users). 1 DN : Distinguish Name = clé unique dans un annuaire LDAP. 66

67 3 - L offre actuelle Si l annuaire LDAP utilise LDAPs, protocole sécurisé comme pour HHTPs. Etc. Dans le paragraphe 4.2.1, plusieurs services sont utilisés pour la construction du portail et un service en particulier, le Portal Desktop, est étudié dans le chapitre Les rôles Il existe deux façons de gérer des ensembles de personnes : les groupes et les rôles. Un groupe est une entrée à part entière dans l annuaire LDAP (dn : distinguished name). Les membres sont des attributs du groupe. La liste des membres d un groupe est donc facile à obtenir alors que la recherche des groupes associés à une personne est plus coûteuse. Inversement, un rôle est un attribut d un utilisateur. La recherche des rôles d une personne est donc très rapide alors que la construction des membres d un rôle est plus coûteuse. Dans un souci de performance SUN a choisi de gérer les droits des utilisateurs par les rôles. Identity Server utilise les rôles pour appliquer des contrôles d accès (ACI : access control instruction). Un rôle permet de régir l accès par un ou plusieurs utilisateurs sur un ou plusieurs services. Il ne peut pas mettre de conditions d accès. Les utilisateurs sont associés à un rôle soit de façon statique, c'est-à-dire selon une sélection des utilisateurs concernés, soit dynamique par l intermédiaire d un filtre LDAP exécuté sur l annuaire. Exemple du filtre d un rôle dynamique sélectionnant dans l organisation ujf, et ses sous organisations, tous les utilisateurs : (&(entrydn=*o=ujf*)(uid=*)). Les rôles peuvent se cumuler. Un utilisateur peut être dans un rôle étudiant et dans un rôle personnel, il peut être consultant d une documentation et rédacteur pour une autre Pour gérer les conflits, chaque rôle dispose d un niveau de priorité, le chiffre le plus élevé ayant le plus haut degré de priorité. Le niveau User est égal à l infini, c est le niveau utilisé par les personnalisations faites par l utilisateur. Un rôle peut autoriser ou interdire l accès à une ressource, il peut aussi afficher ou masquer un canal du portail, modifier ce canal Les rôles servent aussi à déléguer l administration. Si un administrateur souhaite déléguer une partie de l administration de son organisation, il peut y parvenir en utilisant les rôles. Les utilisateurs Un utilisateur représente l identité d une personne. Le profil de l utilisateur est stocké dans le Directory Server. Il existe un utilisateur particulier : l utilisateur anonyme. Tant qu un utilisateur n est pas authentifié, il est associé à l utilisateur anonyme. L utilisateur anonyme a, comme tout utilisateur, des services et des rôles qui lui sont associés. Un utilisateur appartient à une organisation. Les politiques Une politique peut être comparée à une règle d accès, mais en plus complet. Il existe deux types de politiques : les politiques de gestion d accès et les politiques de délégations (referral). Une politique de gestion d accès décrit qui peut accéder à un service du portail et dans quelles conditions : qui, sur quoi et comment? Qui : la politique peut concerner des rôles d Identity Server, des groupes, des utilisateurs ou des organisations. Quoi : elle peut porter sur des listes d accès (SSO), des services (messagerie, portail, chat ) ou des Policy Agents (client SSO). Comment : elle gère les accès selon le système d authentification, l adresse IP, l état de la session ou l heure. 67

68 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Une politique de délégations offre à une organisation la possibilité d administrer l accès à un service avec les politiques. Donc, pour pouvoir créer une politique d accès à une ressource, cette ressource doit avoir été déléguée par un administrateur ayant des droits sur elle. Le super administrateur (administrateur d Identity Server) a tous les droits de délégation à partir de l organisation sommet. Exemple : l administrateur de l organisation UJF a un service de messagerie sur un serveur interne et il souhaiterait autoriser des utilisateurs d une autre organisation à atteindre cette ressource. Il veut contrôler l accès à ce serveur de messagerie par l adresse IP des postes clients. Il va donc créer une politique. Le super administrateur lui ayant délégué le droit de gérer le service NetMail, l administrateur d UJF crée une politique donnant le droit d exécuter NetMail aux utilisateurs de l organisation INPG s ils sont dans la plage d adresses IP qu il désire. Relations Il nous faut maintenant comprendre comment ces éléments s articulent, quels sont les liens qui les unissent et comment les configurer. Les organisations forment un arbre hiérarchique. Cette notion de hiérarchie impose qu un service soit déclaré dans l organisation supérieure pour qu il soit disponible dans la sous organisation. Inversement, un rôle ou un utilisateur sont disponibles dans l organisation supérieure quand ils sont déclarés dans la sous organisation. Les politiques n ont pas de notion d héritage mais, comme nous l avons vu précédemment, une notion de transmission de droits. Utilisateurs Organisation grenet.fr Rôles Services Politiques etc. Sous organisation cicg etc. Politiques Services Rôles Utilisateurs Figure 29 : utilisateurs, rôles, services et politiques dans les organisations Portal Server Sun Java Enterprise System Portal Server met à la disposition des utilisateurs finals un bureau de portail qui leur permet d accéder à des ressources et des applications. Le logiciel dispose également d un moteur de recherche, de canaux messagerie, calendrier, carnet d adresses et messagerie instantanée [36]. Portal Server gère le multilinguisme et la personnalisation. Il prend également en charge l accès à distance sécurisé, permettant aux utilisateurs distants d accéder en toute sécurité au réseau et aux services. La figure 30 ci-dessous présente l architecture de portail selon les trois accès possibles : accès mobile depuis un téléphone portable, un système embarqué ; accès par un navigateur et enfin accès distant sécurisé. 68

69 3 - L offre actuelle Accès mobile Portal Server Portal Server, Mobile Access Construction dynamique, personnalisation, connectivités Exchange et Lotus, XML, XML voix, WAP 2.0, J2ME Portail Portal Server Gestion des identités et politiques Agrégation, restitution Personnalisation Sécurité Recherche Services Web Portail accès distant Portal Server Secure Remote Access Chiffrement ; Support de multiples protocoles & proxys ; Définitions en XML Architecture Web Application Server Identity Server Directory Server Architecture Web Application Server Identity Server Directory Server Figure 30 : architecture de Portal Server. Pratiquement, Portal Server est un ensemble de services administrés depuis la console d Identity Server, des applicatifs Java (servlets et portlets) et des fichiers JSP et Templates 1. Parmi les services, Portal desktop nous intéresse plus particulièrement. C est le service de portail qui permet d élaborer le portail de l utilisateur final. Il est certes complexe mais très complet et virtuellement récursif à l infini Le service Portal Desktop Le service Portal Desktop met en œuvre les différents portlets définis au niveau de l organisation, du ou des rôles et de l utilisateur selon un ordre précis pour réaliser son objectif. Comme décrit dans la figure 31, le portail se construit par étapes successives, chacune pouvant modifier complètement la précédente, l amender, supprimer ou remplacer des éléments et des propriétés selon sa priorité. Les modifications apportées au niveau de l utilisateur étant toujours prioritaire par rapport aux autres. Configuration globale du service Organisation Service Rôles Utilisateur Figure 31 : mécanisme de construction du portail. 1 Template : fichier HTML intégrant des balises (tags) d appels de fonctions exécutés sur le serveur. 69

70 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Le service Portal Desktop est administrable, comme tout service, depuis la console d Identity Server. Il est aussi possible de le modifier avec le fichier Display Profile, un document XML respectant une structure (DTD) précise (annexe 2). Nous pouvons voir dans le tableau 7 les premières lignes d un document Display Profile reprenant la DTD, le niveau de priorité (10) puis le contenu lui-même (ici, le début de la collection des thèmes). <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd"> <DisplayProfile version="1.0" priority="10"> <Collection name="globalthemes" propagate="false"> <Collection name="suntheme"> <String name="description" value="thème Sun initial"/> <String name="bgcolor" value="white"/> Tableau 7 : entête du document xml Display Profile. Depuis l onglet Configuration des services, deux paramétrages sont proposés pour le service Portal Desktop : global et dynamique. Quel que soit l organisation, le rôle ou l utilisateur, le paramétrage global contient les attributs communs comme la durée d une session, le nombre maximum de sessions La configuration dynamique est le portail par défaut. Dans l exemple de la figure 32, le premier portlet mis en œuvre est le JSPTabContainer : un conteneur fourni par le JSPTabContainerProvider et proposant une présentation de canaux sous la forme d onglets ; le portlet utilisé pour personnaliser les canaux est le JSPEditContainer ; le portail est celui d exemple de Sun, il se trouve physiquement dans le dossier sampleportal. En face de Display Profile, trois boutons permettent de modifier directement le document XML, de le mettre à jour ou de télécharger celui actuellement utilisé sur le serveur de portail. Figure 32 : configuration générale dynamique du service Portal Desktop. Cette présentation est commune à tous les niveaux d utilisation du service Portal Desktop, dans les organisations, les rôles ou les utilisateurs. Nous venons de voir que le portail est construit à partir de fournisseurs (providers). Ils produisent des conteneurs (containers) ou des canaux (channels). Les conteneurs forment l armature du portail et les canaux le contenu. Dans l exemple de la figure 33, la page d accueil est produite par le JSPTabContainer Provider, un conteneur d onglets. La page contient 2 onglets tous deux fournis par le JSPTableContainer Provider : l onglet CICG et l onglet général. L onglet général contient plusieurs canaux : un canal calendrier, un canal menu construit à partir d un fichier XML, un canal de liens favoris fourni par le Bookmark Provider, une page provenant d un autre site Internet inclue dans le portail grâce à l URLScraper Provider, un fournisseur de réécriture d URL et enfin une page JSP proposant la météo. 70

71 3 - L offre actuelle Page d accueil (avec onglets) JSPTabContainer Provider Onglet CICG Onglet Général JSPTableContainer Provider Menu Calendrier JSPTableContainer Provider Calendar Provider Favoris Grenoble Université XML Provider Bookmark Provider URLScraper Provider JSP Provider Figure 33 : fournisseurs (providers), conteneurs (containers) et canaux (channels). Les Providers, Containers et Channels Un fournisseur (ou Provider) spécifie le nom de la classe Java utilisée comme modèle pour générer un objet du portail. Un canal (ou Channel) détaille la configuration au moment de l exécution d une instance d une classe de fournisseur. Un canal est une unité de contenu souvent mais pas nécessairement ordonné en colonnes. Un conteneur (ou Container) est un canal de canaux. Les conteneurs peuvent donc s imbriquer quasiment à l infini. Un conteneur ou un canal peut être utilisé plusieurs fois sur une même page ou sur plusieurs pages. Les propriétés d un fournisseur définissent les valeurs à utiliser par défaut pour le canal qui en sera dérivé. Le titre, la description, la colonne Les propriétés d un canal spécifient la valeur exacte pour ce canal. À l installation de Sun Java Enterprise System, un ensemble de fournisseurs est disponible. Chacun a son utilité, ses particularités et ses attributs. Le tableau 8 reprend les fournisseurs de conteneurs et le tableau 9 les fournisseurs de canaux. Fournisseur de conteneurs JSPSingleContainerProvider JSPTabContainerProvider JSPTableContainerProvider TemplateTabContainerProvider TemplateTableContainerProvider TemplateEditContainerProvider Utilité Conteneur ne pouvant contenir qu un seul canal. Conteneur d onglets. Chaque conteneur inclus est un onglet. Conteneur de type tableau, pouvant contenir des canaux ou d autres conteneurs. Conteneur d onglets basé sur des modèles. Conteneur de type tableau, basé sur des modèles. Utilisé par les conteneurs TemplateTab et TemplateTable comme conteneur d édition. Tableau 8 : fournisseurs (providers) de conteneurs (Containers). 71

72 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Fournisseur de canal : Utilité AddressBookProvider Carnet d adresse. AppProvider Liens vers des applications. BookmarkProvider Favoris. CalendarProvider Calendrier Sun JES. DiscussionProvider «Bavardoir». IMProvider Messagerie instantanée ou chat. JSPProvider Fournisseur universel pouvant faire exécuter du code java. LoginProvider Formulaire de connexion. LotusNotesAddressBookProvider Carnet d adresses Lotus Notes. LotusNotesCalendarProvider Agenda Lotus Notes. LotusNotesMailProvider Messagerie Lotus Notes. MailCheckProvider État des messages. MailProvider Messagerie Sun JES. MSExchangeAddressBookProvider Carnet d adresses Exchange. MSExchangeCalendarProvider Agenda Lotus Exchange. MSExchang Provider Messagerie Lotus Exchange. NetletProvider Applet client pour l accès à des ressources réseau en mode sécurisé. NotesProvider Prises de notes communes. PersonalNoteProvider Notes personnelles. SearchProvider Formulaire de recherches. SimpleWebServiceProvider Accès à un service Web d après son WSDL. SimpleWebServiceConfigurable Provider SubscriptionsProvider URLScraperProvider UserInfoProvider XMLProvider Identique au SimpleWebServiceProvider mais modifiable par l utilisateur. Inscription à un bavardoir. Réécriture de page HTML par l URL. Informations et paramètres de l utilisateur. Intégration de document XML, nécessite le document XSL de mise en forme. Tableau 9 : fournisseurs (providers) de canaux (Channels). Display Profile Les attributs du service Portal Desktop définis dans l organisation, dans le rôle ou pour l utilisateur sont stockés dans le fichier Display Profile. Ce fichier, en XML, reprend toutes les informations concernant les canaux et les conteneurs, les fournisseurs invoqués pour les construire Il sert de référence pour générer le portail. Les manipulations effectuées dans la console d administration sont enregistrées dans ce document mais il peut être manuellement modifié comme nous l avons vu au début de ce chapitre. Nous avons un exemple d entête dans le tableau 7 et le tableau 10 ci-dessous détaille l exemple d un rôle affichant un onglet supplémentaire dans une page d accueil. 72

73 3 - L offre actuelle <DisplayProfile version="1.0" priority="10"> 1 <Channels> <Container name="mononglet" provider="jsptablecontainerprovider" 2 merge="replace"> 3 4 <String name="title" value="mon Onglet"/> <String name="description" value="onglet personnalisé pour le rôle GU"/> <Available> <Reference value="mononglet/mareference"/> </Available> <Selected> <Reference value="mononglet/mareference"/> 5 </Selected> <Channels> <Channel name="mareference" provider="urlscraperprovider" merge="replace"> <String name="title" value="le titre de ma référence"/> 6 <String name="description" value="encapsulation de la page d&apos;accueil d un autre site"/> <String name="width" value="full_top"/> <ConditionalProperties condition="client" value="html"> <String name="url" value=" 7 </ConditionalProperties> </Channel> </Channels> </Container> <Container name="jsptabcontainer"> <Available> <Reference value="mononglet"/> </Available> 8 <Selected> <Reference value="mononglet"/> </Selected> <Channels></Channels> </Container> </Channels> <Providers></Providers> </DisplayProfile> Tableau 10 : Display Profile d un rôle affichant un onglet supplémentaire. Dans cet exemple, les zones encadrées correspondent à : 1. Priorité du rôle par rapport aux autres, ordre de gestion des conflits. 2. Création du conteneur MonOnglet fourni par le JSPTableContainer. 3. Méthode de fusion. Cette instance du conteneur remplace toutes celles qui auraient pu être créées précédemment. Sans précision, les propriétés sont fusionnées avec les précédentes. 4. Désignation du titre de l onglet. 5. Disponibilité (available) et affichage (selected) du canal MaReference. 6. Création de ce nouveau canal : MaReference. 7. Attribut du canal MaReference. URL de la page à incorporer. 8. Le conteneur MonOnglet est ajouté au conteneur JSPTabContainer. 73

74 Infrastructure logicielle de portail : mise en œuvre d une solution complète Conclusion Comme nous venons de le voir, la Solution Sun Java Enterprise System est complète et, même si elle n adresse pas toutes les possibilités (absence de CMS), elle permet de part sa souplesse et sa grande adaptabilité de répondre à tous les besoins d architecture de portail d entreprises. Pour aller plus avant dans l étude de la solution de Sun, nous allons en premier lieu réaliser un nouveau portail puis suivre la mise en œuvre du prototype de portail de métrologie effectué au CICG. Ces points seront abordés dans le chapitre suivant. 74

75 4 Réalisation d un portail au CICG 4 - Réalisation d un portail au CICG Dans le chapitre 2, nous avons établi le cahier des charges d un portail au CICG. Dans le chapitre précédent, nous venons d examiner quelques solutions du commerce ou du monde du «logiciel libre». Nous allons maintenant appliquer l une de ces solutions au projet du CICG : Sun Java Enterprise System. Pourquoi avoir choisi cette offre? Deux motivations importantes nous y ont incité. La première raison est politique : dans le projet Encora ([37] et [38]), la société Sun et le CICG ont eu une démarche de partenariat. Le projet de portail du CICG étant à l origine une instanciation réduite de ce projet, il était tout naturel de nous appuyer sur cette technologie. La seconde raison, technique, repose sur notre volonté de gérer les identités de façon optimum et la solution de Sun est à notre avis la plus appropriée. Un autre motif, secondaire, est le désir de mettre en œuvre une solution technique aboutie et professionnelle que n offrent pas tous les produits étudiés. 4.1 Méthode d approche Pour étudier cette nouvelle technologie, nous avons choisi un cycle de vie en spirale avec, à chaque itération, une version opérationnelle du portail. Nous avons procédé à 4 itérations : 1) Le «sample portal» Dans un premier temps, nous nous sommes attachés à comprendre le fonctionnement du portail d exemple de Sun : le sample portal. Le cahier des charges de cette première spire était simple : installer le serveur de portail et l utiliser en tant qu administrateur et surtout comme utilisateur final. Nous avons pu effectuer une première évaluation de l outil et approcher sa structure de configuration. 2) Deux portails distincts Dans une seconde itération, nous voulions personnaliser le portail, proposer aux clients un site anonyme ainsi qu un portail authentifié, différents dans leurs dispositions et leurs contenus. Ce second prototype fut présenté en juin [39] au conseil d administration du CICG 1. Les points que nous avons testés et validés étaient : Une présentation du site selon une charte graphique spécifique (pour l exemple, celle du CICG). La configuration de canaux depuis la console d administration. La connexion avec un serveur de messagerie Microsoft Exchange sans avoir à s authentifier (SSO). Le contrôle des modifications dans les fichiers de configuration engendrées par la personnalisation du portail côté utilisateur. Une première approche des rôles. 3) Des portails personnalisés La troisième itération avait pour but de présenter un prototype technique au Comité Opérationnel des Ressources Informatiques Interuniversitaire 2 en septembre 2004 [40]. Ce portail devait s adresser à des administrateurs potentiels et leur exposer comment créer des organisations, des utilisateurs ou des rôles, 1 Le CA du CICG est composé des présidents des 5 universités et des 5 secrétaires généraux, de 2 personnalités extérieures, du représentant du comité de pilotage, du directeur du CICG et d'invités comme les chefs de départements. 2 Le COR2I comprend les responsables des Centres de Ressources Informatiques, du directeur du CICG, des chefs de département et des chefs de projets gérés par le CICG. 75

76 Infrastructure logicielle de portail : mise en œuvre d une solution complète. d intégrer des applicatifs tiers, sans pour autant investir en temps de développement ou modifier les applicatifs tiers. La solution du fournisseur URLScraper a été retenue. Cette spire était très proche de la précédente. Nous avons pu mettre en œuvre différents fournisseurs et canaux et explorer plus avant la personnalisation des sites. Nous nous sommes également appropriés le mécanisme de génération du portail. Nous avons pu approfondir la personnalisation du code (HTML, JSP ou template) et amender les thèmes pour que le travail d affichage soit plus simple, en faisant appel à des styles dynamiques. L objectif de ce prototype était de présenter les capacités de l outil et le mécanisme de construction du portail. 4) Un portail de métrologie La quatrième itération, prévue pour le printemps 2005, doit proposer aux utilisateurs une version opérationnelle du portail de métrologie. Le cahier des charges est repris dans le chapitre 2.2. Ce portail doit nous permettre de tester l intégration d applications, la mise à disposition des utilisateurs d un CMS et l accès aux serveurs de fichiers. Les éléments à mettre en œuvre ont été mis en évidence dans les phases précédentes : l URLScraper pour l intégration d applicatifs, KSup comme CMS et le NetFile de Sun pour un accès aux dossiers partagés. L étape suivante est une généralisation aux universités et une intégration du CMS KSup. Conception Spécifications externes Analyse des besoins Sample Portal Portails distincts Portails personnalisés Portail de métrologie Paramétrage et développement Déploiement Tests Figure 34 : cycle de vie en spirale. Avant de mettre en application la solution de Sun pour réaliser le portail de métrologie (quatrième spire) et afin de bien s approprier la technologie, nous allons réaliser un portail de démonstration sur le même principe que celui de la seconde spire. 76

77 4.2 Fonctionnement de JES 4 - Réalisation d un portail au CICG Pour bien comprendre le fonctionnement de Sun JES, nous vous proposons de suivre les étapes nécessaires à la création d un nouveau portail. Nous n entrerons pas dans le détail de toutes les actions à effectuer mais nous vous proposons d effectuer les opérations minimales suivantes : La création d une nouvelle organisation. La création d un nouvel utilisateur dans cette organisation. L attribution du service de portail, son paramétrage et sa personnalisation pour l organisation. La visualisation de notre portail, maintenant opérationnel. La création d un rôle et son attribution à l utilisateur et au portail. Enfin, l étude du mécanisme de génération de la page d accueil Construction d un portail Nous avons choisi de présenter la démarche de construction d un portail en détaillant les principales étapes élémentaires. Pour cet exemple, nous allons créer un portail avec les outils proposés par défaut dans Sun JES comme nous les avons vus dans la section tableau 8 et tableau 9. Le portail que nous allons créer doit comprendre deux onglets. Le premier contiendra les informations générales : informations sur l utilisateur authentifié, flash d actualités fourni par un flux XML (et XSL 1 ) et un ensemble de liens personnalisables. Le second comportera les outils de communication et de collaboration : messagerie, agenda personnel, «bavardoir», groupes de discussions et notes. Dans une seconde étape, nous attribuerons à l utilisateur un rôle qui affichera un canal de gestion des prises réseau des salles de réunion du CICG dans un nouvel onglet. Création d une organisation Cette première étape est très simple. Nous nous connectons sur la console d administration (figure 35) en tant que super administrateur et nous créons une nouvelle organisation dénommée Mémoire (figure 36). Figure 35 : formulaire de connexion à la console d'administration. 1 XSL : (XML Stylesheet Language) feuille de style permettant de transformer un document XML en format HTML, Word, Acrobat 77

78 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Figure 36 : création d'une nouvelle organisation. Une fois notre organisation générée, nous devons lui assigner des services. Ceux que nous allons utiliser sont : le Portal Desktop pour proposer un portail aux utilisateurs, NetMail pour gérer la messagerie, Subscription pour le forum, Instant Messaging Service et Presence Service pour le «bavardoir» et SSO Adapter pour permettre le Single Sign-on (figure 37). Figure 37 : inscription des services dans une organisation. Création d un utilisateur Encore une étape assez simple car, dans notre exemple, nous n importons pas l utilisateur depuis un autre annuaire. Il est créé au sein du portail et authentifié par le Directory Server. Figure 38 : création d'un utilisateur. 78

79 4 - Réalisation d un portail au CICG Assignation du service portail à l utilisateur Dans la page de gestion de cet utilisateur, nous lui attribuons tous les services disponibles (cités plus haut) pour qu il puisse les utiliser. Attribuer un service sert à stocker les paramètres de l utilisateur. Même si le service est attribué, l utilisateur n a pas toujours accès à ce service, excepté pour le Portal Desktop qui est alors celui de l organisation (voir paragraphe suivant). Figure 39 : attribution de services à l'utilisateur. Visualisation du premier portail Tel quel, l utilisateur peut déjà se connecter sur le serveur et avoir à sa disposition le portail par défaut de l organisation sample portal (figure 40). Figure 40 : portail d'exemple généré par défaut (sampleportal personnalisé). Création du portail personnalisé Pour personnaliser le portail, nous devons revenir au niveau de l organisation, dans les services, puis sélectionner Portal Desktop. Notons qu actuellement, le portail est celui hérité de la gestion globale du service dans Identity Server. Nous devons donc modifier l instance en créant un template. Nous accédons alors au menu précédemment détaillé dans la figure 32. Nous modifions les paramètres pour préciser MaPageOnglets comme conteneur initial et nous gardons sampleportal comme répertoire par défaut des fichiers. Nous supprimons les conteneurs et canaux inutiles (fournis avec le portail d exemple) et 79

80 Infrastructure logicielle de portail : mise en œuvre d une solution complète. créons ceux que nous désirons (figure 41). Le fichier XML Display Profile correspondant est en annexe. Figure 41 : conteneurs et canaux du nouveau portail. La figure 42 présente les relations entre les conteneurs et les canaux utilisés. L onglet OngletCICG n est disponible que pour les membres du rôle. Cet onglet ne comprend qu un seul canal : PrisesSalles. MaPageOnglets JSPTabContainer InfoUtilisateur : UserInfoProvider OngletGeneral JSPTableContainer FlashActualite : XMLProvider Favoris : BookmarkProvider Messagerie : MailCheckProvider Agenda : CalendarProvider OngletCollaboratif JSPTableContainer ClientMail : MailProvider Discussion : DiscussionProvider Rôle OngletCICG JSPTableContainer Notes : NotesProvider PrisesSalles : URLScraperProvider Figure 42 : relations entre les conteneurs et canaux du nouveau portail. 80

81 4 - Réalisation d un portail au CICG Visualisation du portail L utilisateur, en se connectant, dispose maintenant d un portail personnalisé (figure 43 et figure 44). Figure 43 : onglet «général» du nouveau portail. Figure 44 : onglet «collaboratif» du nouveau portail. Remarques : le provider JSPTabContainer utilisé pour le conteneur parent fournit également une zone de recherche, le lien de personnalisation, la modification de la disposition et la modification du contenu des pages. Création d un rôle et attribution à l utilisateur Nous allons créer un rôle dans l organisation et personnaliser le service portal Desktop pour ce rôle. Dans le fichier Display Profile ci-dessous (tableau 11), nous pouvons voir les modifications apportées au portail : ajout de l onglet OngletCICG, modification du titre de l onglet, insertion dans cet onglet du canal PrisesSalles en ligne complète en haut (full_top) et référencement d une page HTML dans ce canal. 81

82 Infrastructure logicielle de portail : mise en œuvre d une solution complète. <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd"> <DisplayProfile version="1.0" priority="user"> <Properties/> <Channels> <Container name="mapageonglets"> <Properties/> <Available> <Reference value="ongletcicg"/> </Available> <Selected> <Reference value="ongletcicg"/> </Selected> <Channels/> </Container> <Container name="ongletcicg"> <String name="title" value="outils CICG"/> <Available> <Reference value="prisessalles"/> </Available> <Selected> <Reference value="prisessalles"/> </Selected> <Channels/> </Container> <Channel name="prisessalles"> <ConditionalProperties condition="client" value="html"> <String name="url" value="file:///home/portail/cicg/iframe_sallereunion.html"/> </ConditionalProperties> <String name="title" value="prises réseau des salles de réunions"/> <String name="width" value="full_top"/> </Channel> </Channels> <Providers/> Tableau 11 : document Display Profile correspondant au rôle PrisesSalles. Puis, nous devons associer ce rôle à l utilisateur pour qu il puisse en bénéficier. Il ne reste plus à l utilisateur qu à rafraîchir son portail pour disposer de l onglet supplémentaire créé par le rôle (figure 45). Figure 45 : onglet CICG créé par le rôle. Notre portail fonctionne. Il a maintenant trois onglets comprenant des outils de communication, des canaux d informations et une application. Le SSO a été mis en œuvre pour la messagerie et l agenda. Son utilisation est complètement transparente pour l utilisateur comme pour l administrateur. 82

83 4 - Réalisation d un portail au CICG Il nous reste encore deux points intéressants à étudier plus précisément : la session de l utilisateur et le mécanisme mis en œuvre pour afficher la page sur le navigateur client Session La documentation de Sun fournit plusieurs définitions de Session : Objet utilisé par des servlets pour accompagner les interactions d un utilisateur avec les applications web à travers des requêtes HTTP multiples. Instance d une connexion client serveur. Dans Java Enterprise System Portal Server, séquence d interactions entre un utilisateur et une ou plusieurs applications, s initialisant à l authentification et se terminant à la déconnexion ou lors de son expiration. La session qui nous intéresse correspond à la troisième défintion, la session utilisateur, qui suit le client à travers ses actions, l autorise, lui interdit l accès à des ressources Le scénario de la session débute avec la première connexion de l utilisateur sur le portail. Le client effectue une requête HTTP sur la page d accueil, par exemple : L utilisateur n est pas authentifié et la ressource (le portail en l occurrence) est protégée par un Policy Agent. Identity Server refuse implicitement l accès aux ressources. À l initialisation, la session est donc refusée. Le mécanisme d authentification utilise l utilisateur anonyme pour proposer au client un portail par défaut dans lequel il pourra s authentifier. Le formulaire d authentification proposé (LDAP, Radius, Active Directory ) est déterminé par la configuration du portail. L utilisateur saisit son identifiant et son mot de passe dans ce formulaire et le soumet au serveur d identité. Celui-ci vérifie l exactitude de la saisie auprès du module d authentification concerné puis crée un objet session. L utilisateur est alors redirigé vers l adresse (URL) du portail, avec les références de l objet session dans l entête HTTP. L URL étant toujours la même, le Policy Agent intercepte à nouveau la requête mais, avec les références de session, demande un jeton de session au serveur d identité afin de déterminer les droits de l utilisateur. Ensuite, le rapprochement entre l authentification et le profil de l utilisateur est effectué pour définir le portail adéquat selon l organisation, les rôles, les personnalisations La session prend fin dès que l utilisateur se déconnecte, si la durée de vie de la session est atteinte ou si l inactivité dépasse un certain seuil paramétrable Mécanisme de construction d une page d accueil Dernière étape pour bien appréhender la technologie Sun, le mécanisme de construction de la page d accueil met en œuvre deux types de fichiers : des JSP et des templates. Les premiers contiennent une partie du code exécuté sur le serveur (servlet) alors que le second fait appel à des fonctions par le biais de balises prédéfinies (tag). Les deux types de fichiers séparent la logique métier de la présentation et des données, les JSP sont plus performants, plus souples, ils peuvent être référencés comme attribut dans le founisseur (JSPProvider par exemple) alors que les templates ont un nom imposé (BookmarkProvider par exemple). Les templates sont encore utilisés dans un souci de compatibilité également. Un enchaînement de fichiers construit les éléments de la page définitive en s appuyant sur le protocole connu par le client. En prenant le HTML comme exemple, nous allons examiner la génération du portail de la figure

84 Infrastructure logicielle de portail : mise en œuvre d une solution complète. tab.jsp header.jsp menubar.jsp avalaibletabs.jsp selectedtab.jsp tabs.jsp footer.html fichier initialisant la page entête barre d outils détermine le nombre d onglets et celui sélectionné affichage de l onglet sélectionné affichage des autres onglets pied de page Tableau 12 : hiérarchie des fichiers du JSPTabContainerProvider. Les pages HTML sont construites par l imbrication de multiples tableaux (Table). Le tableau 12 décrit la hiérarchie des fichiers invoqués par le conteneur initial MaPageOnglets fourni par le JSPTabContainerProvider, le premier étant un attribut déterminé dans la configuration du conteneur. Le mécanisme de recherche du premier fichier est simple mais astucieux : Portal Server va chercher dans le répertoire desktop du serveur un répertoire ayant le nom de l organisation. S il trouve ce répertoire, il cherche alors à l intérieur un répertoire ayant le nom du canal, ici MaPageOnglets. S il trouve ce répertoire, il cherche enfin le fichier concerné, s il ne trouve pas le répertoire, il cherche alors un répertoire ayant le nom du fournisseur, ici JSPTabContainerProvider. L internationalisation est gérée à ce niveau par une terminaison spéciale ajoutée aux noms des répertoires d organisations : default_en, default_fr, memoire_fr Le serveur de portail recherche en premier lieu le répertoire de l organisation avec la terminaison associée à la langue de l utilisateur (attribut dans l annuaire LDAP), ensuite le même nom de répertoire sans aucune terminaison et enfin le répertoire default. Dans notre exemple, l arborescence des répertoires sur le serveur peut être celle décrite dans le tableau 13 ci-dessous : Desktop Memoire BookmarkProvider Favoris Default BookmarkProvider Favoris répertoire racine notre organisation fournisseur canal nommé explicitement répertoire par défaut, obligatoire fournisseur canal nommé explicitement Tableau 13 : arborescence des répertoires. L ordre exact de recherche dans ce cas précis est : 9. desktop/memoire/favoris/ 10. desktop/memoire/bookmarkprovider/ 11. desktop/memoire/ 12. desktop/default/favoris/ 13. desktop/default/bookmarkprovider/ 14. desktop/default/ Si l on ajoute la gestion de l internationalisation, avec un utilisateur ayant le français comme langue prédéfinie, l ordre de recherche serait : 1. desktop/memoire_fr/favoris/ 2. desktop/memoire_fr/bookmarkprovider/ 3. desktop/memoire_fr/ 4. desktop/memoire/favoris/ 5. desktop/memoire/bookmarkprovider/ 6. etc. Ce système de parcours d arbre permet de moduler la personnalisation de l affichage d un canal en plaçant les fichiers nécessaires à différents niveaux de l arborescence. Par exemple, si nous voulons personnaliser l affichage du canal 84

85 4 - Réalisation d un portail au CICG Favoris fourni par le BookmarkProvider dans l organisation Mémoire tout en conservant la même page d édition pour toutes les organisations, nous pouvons créer l arborescence décrite dans le tableau 14. Desktop Memoire Favoris display.template Default BookmarkProvider edit.template fichier utilisé pour afficher les liens fichier utilisé par l utilisateur pour personnaliser ses liens Tableau 14 : exemple d'arborescence de fichier pour personnaliser l affichage. 4.3 Le portail de métrologie L exemple que nous venons de voir nous permet de passer à l étape suivante : la réalisation du portail de métrologie. Comme indiqué dans les sections 2 et 2.2, ce portail doit proposer aux utilisateurs un lieu unique d accès aux différents outils et ressources. Ce développement n est pas terminé à l heure actuelle mais fonctionne dans une version initiale. Nous avons créé deux organisations permettant de proposer deux portails distincts, le premier pour les utilisateurs anonymes, le second pour les utilisateurs authentifiés. La connexion avec l annuaire des universités (Triode Process) sera réalisée ultérieurement, le but immédiat étant de familiariser les utilisateurs avec l outil. Nous avons conçu une première organisation CICG dans l annuaire du serveur de portail. Elle contient deux sous organisations : Anonyme et SRES pour respectivement le portail anonyme et le portail du département réseau Le portail anonyme Le portail anonyme est en principe accessible à tous les utilisateurs. Les filtres des routeurs limitent l accès au serveur. L organisation Anonyme comprend : Un seul service, le Portal Desktop. Un utilisateur : l utilisateur Anonyme qui reprend la configuration du portail proposé. Cet utilisateur a accès au service Portal desktop de l organisation. Quatre rôles d administration : Administration de l organisation, Administration secondaire (droits de lecture sur l organisation et d écriture uniquement sur les mots de passes des utilisateurs), Administration des politiques et Administration des utilisateurs. Aucune politique, aucun groupe, aucun rôle particulier, n est nécessaire pour faire fonctionner ce portail. Le service Portal Desktop propose aux utilisateurs anonymes un portail (en annexe) limité dans ses fonctionnalités. Afin de mieux répondre à certaines spécificités et avoir un objet réutilisable, nous avons créé un fournisseur particulier : IFrameProvider (tableau 15). Ce fournisseur est une extension du JSPProvider et s inspire du URLScraperProvider. Il utilise la balise HTML IFrame pour inclure une page dans un canal. Les attributs de l instance du IFrameProvider sont paramétrés depuis la console d administration. Ce sont : Le titre de la page. 85

86 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Une description. La page servant à afficher le canal (IFrame.jsp dans tous les cas). L URL de la page html à inclure. Les tailles en largeur et hauteur de l IFrame. La présence des ascenseurs. La taille de la bordure. L affichage de l option «Ouvrir dans une nouvelle fenêtre». La colonne dans le portail. <Provider name="iframeprovider" class="com.sun.portal.providers.jsp.jspprovider" version="2"> <ConditionalProperties condition="client" value="html"> <ConditionalProperties condition="locale" value="en"> <String name="helpurl" value="" advanced="true"/> </ConditionalProperties> <String name="helpurl" value="" advanced="true"/> </ConditionalProperties> <String name="title" value="my IFrame"/> <String name="description" value="page distante dans une IFrame"/> <String name="contentpage" value="iframe.jsp"/> <String name="refreshtime" value="0" advanced="true"/> <String name="srcurl" value="url"/> <String name="width" value="thick"/> <String name="fontface1" value="arial"/> <String name="productname" value="portail de métrologie - CICG"/> <String name="fwidth" value="100%"/> <String name="fheight" value="300"/> <String name="scrolling" value="yes"/> <Boolean name="showexceptions" value="false"/> <String name="fborder" value="0"/> <Boolean name="iseditable" value="false"/> <Boolean name="lienouvrir" value="true" advanced="true"/> <Boolean name="bordureiframe" value="true" advanced="true"/> <String name="edittype" value="edit_complete" advanced="true"/> </Provider> Tableau 15 : configuration xml du fournisseur IFrameProvider. Un autre canal particulier est le JSPMeteo. Il est fourni par le JSPProvider. En réalité, c est une page JSP exécutée et affichée. Cette page lit les attributs (une liste de villes avec leurs paramètres) saisis par l administrateur dans la console et les affiche sur le portail. Afin de faciliter la lecture, les canaux sont construits à l intérieur de leurs conteneurs, l utilisation est limitée à ce conteneur mais l affichage dans la console est plus adapté. Enfin, nous avons créé un thème particulier (en annexe), correspondant à la charte graphique du CICG. Les thèmes ont également été enrichis d attributs particuliers pour générer une présentation homogène des canaux (tableau 16). <String name="stylefontfamily" value="verdana, Arial, Helvetica, sans-serif"/> <String name="stylefontsize" value="xx-small"/> <String name="stylecolor" value="#000066"/> <String name="styletitlefamily" value="verdana, Arial, Helvetica, sans-serif"/> <String name="styletitlesize" value="small"/> <String name="styletitlecolor" value="white"/> Tableau 16 : attributs ajoutés aux thèmes. 86

87 4 - Réalisation d un portail au CICG TopTableContainer (JSPTableContainerProvider) Authentification (LoginProvider) Recherche (SearchProvider) LiensPublics (BookmarkProvider) VenirAuCicg (IFrameProvider) AccueilCicg (IFrameProvider) INPG (IFrameProvider) Savoie (IFrameProvider) JSPTableUniversites (JSPTableContainerProvider) UJF (IFrameProvider) UPMF (IFrameProvider) US (IFrameProvider) JSPTableContainerMeteo (JSPTableContainerProvider) JSPMeteo (JSPProvider) Figure 46 : arborescence des conteneurs et canaux du portail anonyme. La figure 46 reprend l arborescence des objets utilisés : les conteneurs (en bleu) et les canaux (en jaune). Le lecteur trouvera en annexe le fichier Display Profile correspondant à ce portail. La figure 47 reprend la page proposée aux utilisateurs non authentifiés. Figure 47 : page des utilisateurs anonymes du portail de métrologie Le portail des utilisateurs authentifiés Tous les utilisateurs authentifiés ont accès à ce portail. Il y a bien entendu plusieurs niveaux d habilitations, représentés par les rôles. Dans cette phase de prototypage, le portail ne s appuie sur aucune base d annuaire externe. Les utilisateurs ont été créés avec la console d administration. Le couplage avec l annuaire Triode Process est en cours de développement. 87

88 Infrastructure logicielle de portail : mise en œuvre d une solution complète. La figure 48 présente l arborescence de l annuaire. Le serveur thot.grenet.fr contient l organisation grenet.fr en racine de l arbre et les sous organisations CICG, Anonyme et SRES. Cette dernière organisation dispose des conteneurs utilisateurs (People), groupes et services ainsi que de connecteurs. Figure 48 : structure de l annuaire LDAP du portail de métrologie. Plusieurs thèmes personnalisés ont été mis à disposition des utilisateurs comme une seconde version du thème du CICG, un thème s inspirant de la charte de l UJF ou encore de l UPMF (en annexe). L organisation SRES comprend : Les services Portal Desktop, NetMail, NetFile, Instant Messaging Les utilisateurs. Ils ont tous accès au Portal desktop de l organisation ainsi qu à la messagerie, le NetFile Les rôles d administration et les rôles gérant l accès aux ressources. Aucune politique ni groupe. Le service Portal Desktop propose aux utilisateurs authentifiés les éléments communs du portail comme détaillés dans la figure 49 (en bleu les conteneurs, en jaune les canaux et en orange les rôles). Le rôle InfoAstreinte fournit aux 88

89 4 - Réalisation d un portail au CICG utilisateurs habilités le planning d astreinte en consultation uniquement. Le rôle MetrologieSRES procure un accès à tous les outils de métrologie. Il est dédié au personnel du département réseau du CICG. Le rôle Portillon donne accès par l intermédiaire de la fonction NetFile au serveur de fichiers Portillon. D autres rôles permettent de gérer l accès aux ressources pour chaque groupe d utilisateurs : MetrologieUJF, MetrologieUPMF TopTableContainer UserInfo Recherche LiensPublics MailCheck JSPTabOnglets Notes OngletCICG ActualiteXML SalleReunion Calendar DiscussionLite OngletCollaboratif Discussion Mail InfoAstreinte Notes OngletAstreinte Astreinte MetrologieSRES OngletSRES CalendrierPartage OngletBB BBurl NetMetTigre OngletNetMet NetMetCampus NetMetViallet OngletOTRS OTRS OngletSnort Snort Portillon OngletPortillon Portillon Figure 49 : arborescence des conteneurs, rôles et canaux du portail par défaut. En annexe, vous trouverez le fichier Display Profile correspondant au portail par défaut, ainsi que ceux des rôles. 89

90 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Les trois figures suivantes montrent les vues du portail que peut avoir un utilisateur authentifié : Figure 50 : page d accueil du portail, l onglet CICG est commun à tous les utilisateurs. Figure 51 : second onglet du portail, il propose des outils collaboratifs. 90

91 4 - Réalisation d un portail au CICG Figure 52 : vue d un des onglets associés au rôle MetrologieSRES avec l onglet Big Brother actif. 4.4 Conclusion Ces quatre itérations nous ont permis de bien appréhender la technologie Sun et de proposer aux personnels du CICG un nouvel outil performant centralisant les outils et les ressources. La mise en place de ce portail nous a permis d évaluer les capacités de la technologie JES à intégrer des sources de données diverses, d accéder à des outils variés et de s interfacer à différents systèmes comme un système de gestion de fichiers distant. Si l appréhension de cette technologie est lourde, il faut souligner qu en retour elle offre puissance, flexibilité et personnalisation. Cette technologie présente aussi l avantage d être «répartie» (Directory Server, Web Server, Portal Server ), de traiter à l origine la sécurité et donc de pouvoir se calquer sur une architecture quelconque qui pourra évoluer pour prendre en charge des contraintes d exploitation comme la haute disponibilité ou la montée en charge progressive. Même si ces caractéristiques ne sont pas essentielles dans le portail de métrologie, elles le deviennent pour des outils de plus grande envergure comme le sont les environnements numériques de travail. 91

92

93 5 Conclusions et perspectives 5 - Conclusions et perspectives Comme nous l avons vu dans ce mémoire, le terme de portail n est pas le plus approprié. Trop souvent, il est galvaudé et l architecture réduite à un simple catalogue de liens ou une gestion de contenus. Il est donc important de, soit préciser une définition juste des portails, soit changer le terme. La seconde solution semble prendre l avantage car la notion d environnement numérique apparaît de plus en plus et prend le pas sur les portails pour les reléguer à une fonction plus proche de la définition encyclopédique. L avenir des portails serait donc dans le changement, logique pour une technologie en continuelle évolution. Gardons tout de même le terme jusqu à la fin de ce document ( ), en déclarant que les portails sont aujourd hui une réalité économique et stratégique au sein des entreprises. Ils permettent de faire évoluer le système d information vers les besoins actuels. Mais est-ce pour autant une nécessité? L investissement peut paraître démesuré par rapport aux gains envisagés. En effet, si l on a une vue restreinte du système d information, un portail peut n être qu un confort d utilisation fourni à l utilisateur. Le système peut même sembler alourdi par une interface supplémentaire. L erreur serait de dire qu ils n apportent aucune amélioration directe aux applicatifs. Mais ils sous-tendent une sécurité et une centralisation indispensable, ils permettent un accès homogène et contrôlé à des sources ou des données hétérogènes. Ils permettent aussi de répartir les tâches des utilisateurs en séparant les données ou contenus, les processus métiers et l affichage. Les technologies très disparates soulignent l instabilité du marché. La technique en continuelle évolution exige pourtant un choix judicieux. La solution sélectionnée devra progresser, s adapter aux futurs standards, être multi plates-formes, en un mot : être évolutive. Un constat que nous n avons pas abordé avant dans ce mémoire est que toutes les entreprises n en sont pas au même point d avancement dans ce domaine. Schlumberger propose déjà à tous ses employés un accès unique sécurisé à toutes les applications et processus métiers (mais pas sous le terme de portail). La SNCF, quant à elle, a abandonné temporairement le projet de fédérer tous ses intranets pour des raisons de coûts. Alors, pour ces entreprises ou structures qui n ont pas fait le pas, est-ce trop tard? Vaut-il mieux attendre la prochaine génération de portails? Nous serions tenté de répondre : ce qui est fait n est plus à faire! Le pas vers une structure complète du système d information, l interopérabilité des systèmes et la capacité de se connecter depuis n importe où avec un procédé quelconque, est impératif. Aujourd hui, un effort important est effectué par les fournisseurs de solutions pour simplifier l intégration de l existant et la communication entre systèmes (SSO, services Web ) ainsi que sur des standards (fédérations, normes ) La mise en œuvre demande un savoir-faire non négligeable. Dans notre projet, la prise en main de la technologie, la compréhension de ses mécanismes et la philosophie de l outil ont pris un temps très important. Le défi est pourtant là. L organisation des universités repose sur un structure complexe, avec des particularités pour chaque université, chaque laboratoire, chaque département, avec différents annuaires structurés diversement, des systèmes répartis inégalement et pourtant des points communs. Un étudiant doit, quelle que soit son appartenance, consulter son profil, sa messagerie, ses notes ces informations, bien que reposant sur des systèmes différents, doit être présentée de façon harmonieuse mais, là encore, de façon individuelle. Dans la technologie que nous avons étudiée, les rôles peuvent apporter une solution. La gestion des rôles est lourde, la délégation d administration impérative. Afin de répondre au mieux à ce besoin de gérer les rôles de façon spécifique, nous avons initié un nouveau projet 93

94 Infrastructure logicielle de portail : mise en œuvre d une solution complète. dans la continuité de celui-ci. Nous avons renforcé l équipe et allons réaliser en premier lieu un module d auto inscription. L utilisateur aura la possibilité de s inscrire sur le portail sans avoir de compte. Il sera authentifié par le serveur de son université et héritera automatiquement de quelques rôles propres à son profil dans cette université. Il pourra également demander à bénéficier de rôles «publics» requérant la validation d un modérateur. La réalisation de ce «portail» de métrologie nous a permis de mettre en évidence les points forts et les points faibles d une telle technologie et ce que l on pouvait en attendre. Nous avons pu nous familiariser avec les problèmes d architecture. Il permet également d aborder avec plus de sérénité l intégration de logiciels futurs utilisés au sein du CICG. Enfin, ce travail nous semble être le point de passage indispensable pour aborder maintenant les choix critiques d architecture et d outils d intégration pour la mise en place d un ENT à l usage de notre communauté Enseignement Supérieur et de Recherche Grenobloise (voir figure 6). Le projet futur, certes plus ambitieux, est aujourd hui réalisable grâce à l analyse que nous avons pu mener, dans des conditions exceptionnelles, au CICG. 94

95 6 Références bibliographiques 6 - Références bibliographiques Dans l ordre d apparition dans ce mémoire : [1] Richard HACKATHORN. Portals are more than a convenience. Août p. Bolder Technology, Inc. Boulder, Colorado. [2] Dictionnaire Microsoft Encarta Microsoft Corporation. CD-Rom. [3] Alain REY, Portail p. 963 In : Dictionnaire historique de la langue française, tome 5. Le Robert. 2001, 2383 p. [4] Dominique FRÉMY, Michèle FRÉMY. Portail p. 1646c In : Quid Éd. R. Laffont, 2003, 2190 p. [5] Me BENSOUSSAN Alain. Le droit applicable aux portails. Revue de la Concurrence, de la Consommation et de la Répression des fraudes - 19ème Atelier de la consommation [en ligne], 14 juin disponible sur (consulté le 14/09/2004). [6] Les portails d'information d'entreprise. Livre blanc Hummingbird. Janvier HUMMINGBIRD France. Paris. 18 p. [7] Danièle AUFFRAY, Adjointe au Maire de Paris chargée des Nouvelles Technologies et de la Recherche. (consulté en mai et octobre 2004). [8] Le Grand dictionnaire terminologique. Dictionnaire en ligne de l'office québécois de la langue française. En ligne : [9] Jean-Luc PAROUTY. Les outils open source pour la gestion de contenus web. Conférence du 17 juin DRSI INRIA. [10] Schéma directeur des espaces numériques de travail. Ministère de la jeunesse, de l éducation nationale et de la recherche. 17 mars p. [11] Daniel KAPLAN, Serge POUTS-LAJUS. Du cartable électronique aux espaces numériques de travail. La documentation française, collection des Cahiers pratiques du développement numérique du territoire Juin p. [12] Fiches de l AWT. Les sites portails. 15/04/00. 3 p. ; Intégration des applications. 15/10/03. 6 p. Agence Wallonne des Télécommunications. [13] FatWire Software. Spark pcm Automated Installation Guide. Octobre p. [14] Simon RITTER. Java Everywhere. Sun Microsystems, Inc p. [15] Keith MORTENSEN, Rob MCGOVERN, Charles LIPTAAK. ASP.NET and Struts : Web Application Architectures. MSDN. Décembre Disponible sur ASPNet-J2EE-Struts.asp [16] Avec WSRP, OASIS entend combiner Web Services et Portlets Par le JDNet Solutions (Benchmark Group). Lundi 6 mai Disponible sur : [17] Steve GRAHAM. Building Web Services with Java : making sense of XML, SOAP, WSDL and UDDI. [18] Olivier Salaün. Introduction aux architectures web de Single Sign-on. Rennes. 15 Octobre [19] Liberty Alliance : [20] Angela CAICEDO. Getting Started with Sun ONE Identity Server. 86 p. Sun Microsystems. [21] Shibboleth : [22] Microsoft Passport : [23] Christophe Guillemin. Gartner conseille de cesser immédiatement d'utiliser Passport. ZDNet France [en ligne]. 20/05/2003. Disponible sur : [24] Séminaires X-Aristote,: «Gestion et fédération des identités : ayez confiance!» 9 Décembre École Polytechnique. [25] Ronald MONTCALM, bâtonnier du Québec. Le Journal du Barreau. Volume 33 - numéro 4. 1 er mars Disponible sur consulté le 7 octobre [26] A. BONIN, F. BRUNET, P. CARLI, V. HAZEBROUCQ, M. SPECTOR. Pourquoi un portail pour la Médecine d'urgence? Hôpital Cochin. Paris. Disponible sur Consulté en octobre [27] Joëlle COUTAZ. Conception de sites Web. Équipe Ingénierie de l IHM, CLIPS-IMAG p. 95

96 Infrastructure logicielle de portail : mise en œuvre d une solution complète. [28] Apache/Tomcat and Sun One performance comparison. KeyLabs Acquisition Corporation. 12 septembre p. [29] Lori MacVittie. Enterprise Portals Suites. [En ligne]. Network Computing. 15 avril Disponible sur [30] Oracle Application Server Portal. Disponible sur [31] Patrice BERTRAND, Bard CHENTOUF. Content Management les solutions open source. Livre blanc Smile, version février p. [32] Steve PERRY. Comparison of Oracle Portal to JA-SIG uportal. The University of Kansas Medical Center. Kansas City. 05/02/2002. [33] Pierre-Julien GRIZEL. Zope. Eyrolles. Oct p. ISBN : [34] Livre blanc Nuxeo Collaborative Portal Server. 20 pages. [En ligne]. 20/02/2003. disponible sur Consulté en décembre [35] Sun acquires i-planet, privately-held developer of award-winning secure remote access software. Sun Press Releases. 5 octobre PALO ALTO, California, USA. Disponible sur : [36] Sun ONE Portal Server 6 face aux enjeux du portail d entreprise. Livre blanc Dreamsoft p. [37] Christian LENNE, Dominique MERLE, Stéphane PICHEVIN. ENCORA : Organisation et architecture de l'ent ENCORA. 29 septembre Grenoble. 14 p. [38] Christian LENNE, Dominique MERLE, Stéphane PICHEVIN. Architecture de l ENT ENCORA. 4 février JRES Lille. 18 p. [39] Philippe BEUTIN, Christian LENNE, Jean-François SCARIOT. Présentation d un portail. Présenté en juin CICG. 12 diapositives. [40] Philippe BEUTIN, Christian LENNE, Jean-François SCARIOT. Mise en œuvre de la technologie Java Enterprise System (JES). Présenté le 30 septembre CICG. 52 diapositives. 96

97 7 - Acronymes et définitions 7 Acronymes et définitions Acronymes 97 Définitions API Application programming Interface : interface de programmation. Ensemble de routines standard qui sont destinées à faciliter au programmeur le développement d'applications. Les développeurs, en créant un logiciel, utilisent les services de l'api pour accéder aux programmes dont ils ont besoin et qui sont disponibles dans une bibliothèque de programmes. Applet Petite application écrite en langage Java et qui, insérée dans un document Web, exécute ses objets multimédias en présence d'un navigateur compatible, et ce, directement sur l'ordinateur de l'internaute, peu importe le système d'exploitation utilisé. ASP Application Service Provider, fournisseur de services applicatifs. Société qui loue, notamment en ligne, des progiciels ou des logiciels d'application destinés aux entreprises, avec tous les services afférents. ASP Active server page : Page HTML contenant un ou plusieurs scripts qui sont exécutés dynamiquement sur le serveur Web, avant que la page soit envoyée au navigateur, c'est-à-dire à l'utilisateur. Les pages ASP, spécifiques aux serveurs Windows, constituent un environnement de script dans lequel on peut combiner le HTML, les scripts (qui s'exécutent sur le poste client et sur le serveur) et les composants ActiveX, permettant de créer des pages Web dynamiques. C3MS Communautary Collaborative Content Management System : système de gestion de contenus collaboratif et communautaire. CMS Content management system : système de gestion de contenus. Système intégré et multi plate-forme permettant aux entreprises et aux organisations de gérer rapidement et facilement le contenu dynamique et rédactionnel d'un site Web. Les systèmes de gestion de contenus sont des solutions flexibles et dynamiques qui permettent aux sociétés une actualisation facile des sites Web, c'est-à-dire de corriger et d'ajouter des textes, des photos et des fonctions multimédias sur leur site, sans avoir besoin d'aide extérieure. CORBA Common Object Request Broker Architecture : architecture pour un intermédiaire commun dans les requêtes d'objet. Standard définissant l'architecture que doivent adopter les systèmes d'exploitation et les applications pour rendre possible la communication entre des objets provenant d'environnements différents. Le standard Corba n'est pas une norme au sens strict du terme, car ses spécifications n'ont pas été entérinées par un organisme officiel de normalisation. On le considère comme une norme de fait car il a été défini et adopté de façon consensuelle par un ensemble d'entreprises regroupées sous le nom de Object Management Group ou OMG. Data repository EAI EJB Ou data warehouse repository : référentiel d entreprise. Base de données centrale qui stocke et gère l'information d'une entreprise et de ses systèmes dans le but de servir de point de référence dans des phases ultérieures de traitement. Enterprise Application Integration : intégration d'applications d'entreprise. Ensemble de technologies qui permet aux logiciels d'application développés dans une entreprise et aux progiciels qui y sont implantés de communiquer et de travailler de concert, assurant ainsi la mise en œuvre optimale des processus de l'entreprise et une administration centralisée du système d'information de celle-ci. Enterprise JavaBean. Spécification qui définit, côté serveur, un modèle d'intégration de composants logiciels réutilisables permettant aux concepteurs de créer, d'implanter et de gérer des applications distribuées, indépendamment du système utilisé. Destiné aux entreprises et développé avec leur concours, le standard Enterprise JavaBeans, proposé par Sun, définit la structure des composants logiciels EJB et les interfaces qui leur permettront d'interagir avec le serveur qui les hébergera. La spécification Enterprise JavaBeans est désormais considérée comme un standard.

98 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Acronymes HTTP ICMP J2EE Jini JSR-168 et JSR-170 JSP KM Définitions HyperText Transfer Protocol : protocole utilisé pour transférer des documents hypertextes ou hypermédias entre un serveur Web et un client Web. Internet Control Message Protocol : Protocole utilisé pour gérer les informations contrôlant le trafic IP. Il permet notamment aux routeurs d'envoyer des messages de contrôle ou d'erreur vers d'autres ordinateurs ou routeurs connectés. Java 2 Enterprise Edition. Défini par Sun en collaboration avec ses partenaires, J2EE définit un modèle de composants. Autrement dit, un ensemble de services qui standardisent les interactions entre ces composants et les services auxquels ils peuvent faire appel. Dans un environnement Java, technologie permettant de constituer un réseau spontané de matériels et de logiciels aptes à fonctionner avec une machine virtuelle Java, offrant ainsi à l'utilisateur la possibilité d'accéder à distance et facilement à ce réseau, et d'utiliser tous les dispositifs qui y sont branchés. La technologie Jini, développée par Sun, libère les ordinateurs de toute dépendance à l'égard des systèmes d'exploitation. En considérant les périphériques et les logiciels comme des objets indépendants qui peuvent communiquer, Jini peut les réunir en fédération d'objets qui s'installent automatiquement et qui fonctionnent dès qu'ils sont branchés. Java Specification Request : spécifications de portlets définie par Sun, IBM, BEA ( ) qui fournit un standard pour l agrégation de contenus et d applicatifs. Il définit également la manière dont la sécurité et la personnalisation doivent être manipulées. JSR-170 définit plus particulièrement les entrepôts de contenus. Java Server Page. Standard Sun équivalent des pages ASP de Microsoft, définissant des tags spéciaux permettant d une part d ajouter du code Java aux pages HTML et d autre part d appeler et d utiliser des JavaBeans à partir de ces pages. Knowledge Management : gestion des connaissances. Gestion, par des moyens informatiques, des informations significatives qui sont acquises par une entreprise et qui y circulent, ainsi que du savoir-faire développé par le personnel, de manière à créer un système interactif de formation maison continue qui débouche sur une meilleure qualité des produits et services, ainsi que sur une plus grande compétitivité de l'entreprise. PDA Personal Digital Assistant : assistant numérique personnel. Agenda électronique très évolué, permettant notamment la connexion à l'internet, la communication avec un ordinateur classique, un GSM, etc. Portlet Module intégré à un portail d'entreprise, qui permet à l'utilisateur de disposer, dans la même fenêtre, d'un accès centralisé et convivial à différentes ressources (données, applications, sites Web, etc.), de modifier l'interface du portail selon ses besoins et de personnaliser ainsi son environnement de travail. RADIUS Remote Access Dial In User Service : service d accès distant aux utilisateurs. Serveur principalement utilisé dans les accès distants pour gérer l authentification, les autorisations et la durée de connexion pour comptabilité (accounting). RDF Resource Description Format : format universel de description de données qui a pour but de créer un système d'indexation adapté autant à la création de serveurs de recherche dans Internet qu'à l'indexation de fichiers stockés sur le disque dur de l'utilisateur. Présenté par Netscape au consortium W3C, le format RDF est à la base de la technologie Aurora de Netscape qui propose dans son navigateur une façon d'organiser les données, non pas par type de données, mais par centre d'intérêt. Il ne faut pas confondre le format RDF et le système RDF, qui partagent le même sigle, ce dernier ayant été élaboré à l'origine par le consortium W3C pour l'échange des données à travers le Web. RDF Resource Description Framework : système de définition de ressources permettant à des applications d'échanger des données à travers le Web. Le système RDF a été élaboré par le consortium W3C. Il a fait place à un système plus évolué, le modèle DOM. 98

99 Acronymes Définitions 7 - Acronymes et définitions RSS Rich Site Summary. Contenu d'un site web décrit en XML conformément au RDF. Défini à l'origine par Netscape pour ses canaux Netcenter, ce type de sommaire permet de publier des titres de nouvelles ou d'articles et donne la possibilité à d'autres sites de les exploiter dynamiquement. RSS était une idée de Netscape pour la version La version 1.0 du W3C s'appelle RDF Site Summary. SAML Security Assertions Markup Language : format d'échange XML décrivant 3 types d'assertions : authentification, attribut, autorisation. SAML doit permettre l'interopérabilité entre systèmes d'authentification/autorisation. Les développeurs de Shibboleth (utilisant lui-même SAML) distribuent OpenSAML, des librairies Java et C++. Servlet Applet serveur. Programme Java qui utilise des modules supplémentaires figurant dans l'api Java, qui s'exécute dynamiquement sur le serveur Web, et permet l'extension des fonctions du serveur. En fait, les servlets sont aux serveurs ce que les applets sont aux navigateurs. Lorsqu'un client envoie une requête au serveur, ce dernier transmet au servlet les informations relatives à la requête puis le servlet crée une réponse que le serveur renvoie au client. Lors de la création de la réponse, le servlet peut utiliser toutes les fonctions du langage Java ou communiquer avec des ressources externes (fichiers, bases de données ou applications). SMTP Simple Mail Transfer Protocol, protocole de transmission du courrier électronique sur Internet. SOAP Simple object access protocol : protocole simplifié d accès aux objets. Protocole de communication s'appuyant sur le XML et le HTTP, qui permet l'interopérabilité des applications à travers le Web. SPI Service Provider Interface : interface de fournisseur de services. Équivalent aux API mais pour les services Web SSL Secure Socket Layer, protocole utilisé pour le paiement sécurisé visant à protéger la transmission de données sensibles. SSO Single sign-on : authentification unique. Solution logicielle basée sur un annuaire, qui permet aux utilisateurs d'un réseau d'entreprise d'accéder, en toute transparence, à l'ensemble des ressources autorisées, sur la base d'une authentification unique effectuée lors de l'accès initial au réseau. Un seul mot de passe permet ainsi d'accéder à l'ensemble des applications et des systèmes multi plates-formes de l'entreprise. C'est l'annuaire qui assure directement avec l application l authentification, sans que l'utilisateur ne s'en aperçoive ou soit obligé d'intervenir. TCP Transport Control Protocol, TCP assure l'établissement et le contrôle d'une liaison momentanée entre une machine émettrice de paquets de données IP et la machine à laquelle les paquets sont destinés. UDDI Universal description, discovery and integration directory : annuaire mondial en ligne référençant l'ensemble des services Web disponibles. L'annuaire UDDI inclut des pages blanches, jaunes et vertes permettant de rechercher le service Web qui correspond à ses besoins. UMS Unified Messaging System : système de message unifié. Service de messagerie qui permet à ses utilisateurs d'obtenir un accès unique à l'ensemble des messages qui leur sont transmis, quel que soit le moyen de communication utilisé et quel que soit leur contenu. VRML Virtual Reality Modeling Language : Langage de modélisation qui permet la création et la diffusion de mondes virtuels en trois dimensions, et leur exploration interactive dans Internet. Le VRML est un langage de description de scène et non un langage de programmation. Ce dernier est compilé en programmes, transformés en un langage compris par l'ordinateur, puis exécutés; le langage VRML, lui, est analysé syntaxiquement, c'est-à-dire transformé en un ensemble d'objets compris par l'ordinateur, puis affiché. La description de scène est statique puisque l'on ne peut rien modifier une fois que le fichier VRML est chargé. 99

100 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Acronymes WebDav Web Parts Web Services WML WSCM WSDL WSRP XML Définitions Web Distributed Authoring and Versioning : Rédaction et suivi de versions distribuée sur le Web. Norme de l'internet Engineering Task Force (IETF) pour la création en collaboration sur le Web. Elle facilite l'édition et la gestion de fichiers en collaboration sur Internet entre des utilisateurs distants les uns des autres. C est un composant personnalisable, réutilisable servant à afficher des informations spécifiques sur un tableau de bord. Les Composants WebPart sont utilisés pour associer du contenu Web (de type XML, HTML et script) à un ensemble spécifique de propriétés dans un cadre organisationnel. Services Web : Composant applicatif accessible sur le Web, par l'entremise d'une interface standard, qui peut interagir dynamiquement avec d'autres applications en utilisant des protocoles de communication basés sur le XML, et cela indépendamment du système d'exploitation et des langages de programmation utilisés. Les services Web ont recours à un ensemble de standards : le langage XML pour décrire les informations, la norme UDDI pour trouver les services dont on a besoin, le langage WSDL pour décrire leur interface et le protocole SOAP pour les exécuter à distance. Ils sont référencés dans l'annuaire UDDI et permettent de créer des applications distribuées et accessibles depuis n'importe quel navigateur XML. Wireless Mark up Language : langage structuré sans fil. Langage basé sur le XML et le HDML, conçu pour les appareils Internet et s'appuyant sur le protocole WAP pour les échanges d'information entre les serveurs. Le langage WML est au protocole WAP (Wireless Application Protocol) ce que le langage HTML est au protocole HTTP (HyperText Transfer Protocol). Web Services Component Model : modèle de composants pour les services Web. Web Services Description Language : langage de description de Web Service. WSDL est une syntaxe XML pour décrire les méthodes et paramètres des Web Services invocables par le biais de messages au format SOAP. Il permet de définir ce qu un Web Service est capable de faire, où il réside et la manière de l invoquer. Web services for remote portals : protocole de communication pour les Web Services. Soumis au consortium OASIS par IBM et Hewlett Packard fin 2001, ce langage a pour but de standardiser l'accès aux Web Services depuis différents types d'applications Internet, tel qu'un navigateur WAP ou un portail Web par exemple. WSRP, assez proche de WSCM, tente de standardiser l'affichage de services Web au sein d'une interface cliente, en harmonisant ses travaux avec le modèle des portlets. L'objectif de ce langage est de fournir un mécanisme en vue d'agréger au sein d'un portail (ou autre application Web) des contenus ou des services applicatifs en provenance de sources diverses. WSRP repose essentiellement sur les langages SOAP (Simple Object Access Protocol) et WSDL (Web Services Description Language). Offrant une interface d'appel distante en mode Web Services, ce couple est complété d'une série d'éléments conçus pour décrire l'environnement local dans lequel les services sont amenés à être affichés, ainsi que les règles d'interfaçage correspondantes soit le type de terminal et le type de langage de description d'interface cliente qu'il requiert. WSRP a été développé en étroite association avec la JSR-168 afin d assurer une complète bijection entre eux. extensible Markup Language : évolution du langage SGML permettant aux concepteurs de documents HTML de définir leurs propres marqueurs, dans le but de personnaliser la structure des données qu'ils comptent présenter. C'est en utilisant un navigateur compatible que l'utilisateur peut exploiter les marqueurs personnalisés du langage XML. De ce fait, ce langage est mieux adapté à la gestion de documents longs et complexes, comme on en trouve dans les intranets, puisque l'utilisateur peut sélectionner le type d'information qu'il souhaite consulter. 100

101 8 Index 8 - Index A F Active Directory, 17, 18, 32, 52, 53, 54, 64, Framework, 27, 28, 51, 57, 59, 98 66, 83 J2EE, 27, 28, 38, 51, 52, 57, 58, 60, 61, Annuaire 64, 98 Active Directory, 17, 18, 32, 52, 53, 54, 64, 66, 83 LDAP, 17, 18, 24, 28, 32, 39, 42, 52, 53, J 54, 56, 61, 64, 66, 67, 83, 84, 88 Java, 11, 21, 25, 26, 27, 28, 37, 42, 51, 52, RADIUS, 17, 32, 66, 98 54, 55, 56, 57, 58, 60, 61, 62, 63, 64, 68, Anonyme, 43, 44, 46, 48, 66, 85, 88 69, 71, 74, 75, 83, 97, 98, 99, 104, 105 Apache Applet, 72, 97, 99 Tomcat, 27, 51, 56 EJB, 60, 61, 63, 97 API, 17, 25, 97, 99 JSP, 24, 26, 42, 58, 60, 61, 69, 70, 76, Applet, 72, 97, 99 83, 86, 98 ASP, 26, 97, 98 Authentification, 13, 14, 16, 17, 18, 24, 27, 31, 32, 33, 36, 39, 40, 41, 42, 43, 44, 46, 47, 48, 54, 64, 65, 66, 67, 75, 77, 78, 83, 85, 87, 88, 90, 94, 98, L Langage HTML, 16, 17, 28, 52, 60, 61, 69, 72, 73, 76, 77, 81, 82, 83, 84, 85, 86, 97, 98, 100 CDSSO, 18 Liberty Alliance, 13, 18, 33, 64 Passport, 13, 18, 33, 34 Python, 24, 27, 28, 58, 59 Shibboleth, 13, 18, 33, 99 LDAP, 17, 18, 24, 28, 32, 39, 42, 52, 53, SSO, 27, 31, 32, 33, 51, 52, 56, 64, 67, 54, 56, 61, 64, 66, 67, 83, 84, 88 75, 78, 82, 93, 99 Liberty Alliance, 13, 18, 33, 64 Linux, 26, 27, 56, 58, 60, 61, 64 B Bavardoir, chat, 72 M Microsoft, 11, 14, 15, 26, 27, 28, 31, 33, 34, E 51, 52, 53, 54, 56, 60, 75, 91, 98, 103, 104 Éditeur commercial Active Directory, 17, 18, 32, 52, 53, 54, Apache, 21, 25, 26, 27, 40, 41, 42, 51, 64, 66, 83 52, 53, 56, 58, 61 ActiveX, 97 BEA, 11, 25, 26, 27, 28, 51, 52, 55, 61, ASP, 26, 97, 98 98, 104 BizTalk, 54 IBM, 11, 25, 27, 28, 30, 31, 33, 51, 52, C#, 28, 53 56, 57, 61, 64, 98, 100, 104 Common Language Runtime, 28 Microsoft, 11, 14, 15, 26, 27, 28, 31, 33, IIS, 26, 53, 54 34, 51, 52, 53, 54, 56, 60, 75, 91, 98, Intermediate Language, 26, , 104 Passport, 13, 18, 33, 34 Windows, 23, 26, 27, 53, 54, 56, 60, 61, 64, 66, 97 Oracle, 25, 26, 27, 28, 51, 52, 53, 56, 61, 64, 104 SUN, 11, 25, 39, 42, 54, 60, 67, 105 Sybase, 25, 26, 27, 28, 52, 104 WebSphere, 26, 27, 52, 56, 57, 104 P Éditeur Open Source Plone, 58, 59, 60, 104 Exo, 104 Policy Agent, 67, 83 Plone, 58, 59, 60, 104 Portlet, 18, 25, 51, 52, 98 Red Hat, 26, 27, 58, 61, 64, 104 Protocole Spip, 22, 56, 57, 60 FTP, 26 uportal, 58, 104 HTTP, 24, 26, 29, 34, 66, 83, 98, 99, 100 ENT, 11, 20, 23, 94 Exo, 104 R RADIUS, 17, 32, 66, 98 Red Hat, 26, 27, 58, 61, 64, 104

102 Infrastructure logicielle de portail : mise en œuvre d une solution complète. S GED, 19 KM, 19, 20, 22, 98 Service Web, 30, 31, 100 Portail collaboratif, 20 SOAP, 13, 17, 27, 28, 29, 30, 31, 37, 61, Portail communautaire, 20 99, 100 Portail de gestion de la connaissance, Solution 20, 22 Zope, 22, 26, 27, 58, 59, 60, 104 Portail décisionnel, 20, 22 Spip, 22, 56, 57, 60 Portail documentaire, 20 SUN, 11, 25, 39, 42, 54, 60, 67, 105 Portail transactionnel, 20, 22 Calendar Server, 42, 46, 61 Directory Server, 42, 46, 52, 61, 64, 65, 67, 78, 91 U FatWire Spark, 25, 54 Identity Server, 42, 43, 44, 46, 47, 48, UDDI, 13, 30, 31, 34, 64, 99, 100 uportal, 58, , 64, 65, 66, 67, 68, 69, 70, 79, 83 JES, 25, 37, 42, 54, 55, 57, 60, 61, 62, 63, 64, 65, 68, 71, 72, 74, 75, 77, 83, 91, 105 Portail Canal, 38, 43, 47, 48, 50, 63, 67, 68, 70, 71, 72, 73, 75, 76, 77, 79, 80, 81, 82, 84, 85, 86, 87, 88, 89, 99 Display Profile, 70, 72, 73, 80, 81, 82, 87, 89, 108, 114, 121, 132 Portal desktop, 69, 85, 88 Portal Server, 42, 44, 46, 47, 61, 68, 69, 83, 84, 91, 104 V VRML, 16, 24, 99 W WAP, 30, 64, 100 WebDav, 52, 100 WebSphere, 26, 27, 52, 56, 57, 104 WML, 16, 24, 61, 100 Workflow, 28 WSDL, 13, 24, 27, 28, 30, 31, 34, 37, 72, 100 T WSRP, 16, 30, 52, 61, 100 Triode Process, 39, 42, 43, 85, 87 Types de portails X B2A, 19 B2B, 18, 19, 31 B2C, 18, 19 B2E, 18, 19 Content Management System, 11, 21, 22, 39, 42, 46, 47, 54, 57, 59, 74, 76, 97 Z EAI, 31, 97 ENT, 11, 20, 23, 94 XML, 13, 16, 21, 24, 28, 29, 30, 34, 52, 55, 56, 57, 58, 61, 64, 65, 70, 72, 77, 80, 99, 100 XML-RPC, 29 Zope, 22, 26, 27, 58, 59, 60,

103 9 - Annexes 9 Annexes Annexe 1 : Fréquentations des portails français Les 2 tableaux suivants permettent de mettre en évidence la prépondérance des FAI 1 et des moteurs de recherche. Le taux de couverture active représente leur fréquentation en sachant qu un internaute peut accéder à plusieurs sites pendant sa session et plusieurs fois au même. 10 portails français les plus visités : Site Nombre de visiteurs Couverture active Commentaires Google ,8 % Moteur de recherche Wanadoo ,2 % Portail par défaut à l ouverture du navigateur MSN ,0 % Portail par défaut à l ouverture du navigateur. Free ,8 % Portail par défaut à l ouverture du navigateur Microsoft ,1 % Téléchargements Yahoo! ,8 % Portail + moteur de recherche + messagerie. Voila ,7 % Moteur de recherche Pages Jaunes ,2 % Annuaire Tiscali ,8 % Portail par défaut à l ouverture du navigateur Lycos Europe ,9 % Portail par défaut à l ouverture du navigateur Source : Panel Nielsen//NetRatings France - Domicile et/ou lieu de travail - Applications Internet exclues - Juillet 2004 Médiamétrie//NetRatings. Les 10 portails français les plus visités en visiteur unique (selon adr. IP) : Portails Utilisateurs uniques (en milliers) Taux de couverture Google ,0 % Wanadoo ,3 % Msn ,3 % Free ,0 % Microsoft ,7 % Voila ,2 % Yahoo! ,3 % Lycos Europe ,8 % Tiscali ,8 % Pages jaunes ,7 % Source : Panel Nielsen//NetRatings France - Domicile et/ou lieu de travail - Applications Internet exclues - Juillet 2004 Médiamétrie//NetRatings. 1 FAI : Fournisseur d accès Internet. 103

104 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Annexe 2 : Listes (non exhaustive) de solutions Solutions de portail : ATG Portal Autonomy Portal-in-a-Box BEA WebLogic Portal BolinOS Bowstreet Factory Brio Technology Performance Suite Business Objects Infrastructure CA s CleverPath Portal Cognos Digger Solutions Intranet Open Source DotNetNuke Enterprise Framework Services Exo FullXML FusionNews GlueCode Hummingbird Enterprise Hyperion Performance Suite IBM WebSphere Portal Jahia Jalios Jetspeed jporta Liferay Lutece Mambo MaxWebPortal Mediapps NetPortal Metadot Microsoft Sharepoint Portal Server Noheto NPDS Nuxeo CPS (Collaborative Portal Server, en complément de Zope). OmniPortal Oracle Portal Server Ovidentia PeopleSoft Enterprise Portal PHPNuke Plone Plumtree Corporate Portal Portix PostNuke Rainbow Portal Red Hat Portal Server SAP mysap Enterprise Portal Slash Sun Java System Portal Server Sybase Portal Tibco uportal Verity K2 Entreprise Vignette Application Portal Xoops Zope Solutions de gestionnaires de contenus : Xaraya Attila Tengri BroadVision One-To-One Portal Bricolage Byline Cofax Dacode Drupal e107 ez Publish 3 KnowledgeTree Document Management System Lenya Lychee 104 Madrid Midgard Aegir CMS Nucleus OpenCMS PHPWebSite PLUME CMS Red Hat Content Management System (CCM) Simplicis SPIP Tridion Portal Server Integration Typo3

105 9 - Annexes Annexe 3 : SUN Java Enterprise System Le tableau ci-dessous donne la liste des services installés initialement avec Sun Java Enterprise System. Ils sont partagés en plusieurs éléments correspondants aux outils installés. La première section et la section SSO sont fournies par Sun JES Identity Server, la seconde avec Instant Messaging, Portal Server et SRA sont installés par Sun JES Portal Server. Identity Server Configuration Administration Authentication Anonymous Certificate Core HTTP Basic LDAP Membership NT RADIUS SafeWord SecurID Unix Authentication Configuration Client Detection Globalization Settings Logging Naming Password Reset Platform Policy Configuration SAML Session User Instant Messaging Configuration Instant Messaging Service Presence Service Portal Server Configuration NetMail Portal Desktop Rewriter Search Squirel Subscriptions Single Sign-on Adapter Configuration SSO Adapter SRA Configuration Access List Gateway NetFile Netlet 105

106 Infrastructure logicielle de portail : mise en œuvre d une solution complète. DTD du service Portal Desktop : Le tableau ci-dessous reprend la définition de type de document (DTD) pour le service Portal Desktop. Les documents Display Profile doivent impérativement correspondre à cette définition. <!ELEMENT DisplayProfile (Properties, Channels, Providers)> <!ATTLIST DisplayProfile xmlns:displayprofile CDATA #FIXED ' name CDATA #FIXED "_root" version CDATA #REQUIRED merge (replace fuse) "fuse" lock (true false) "false" advanced (true false) "false" priority CDATA #REQUIRED> <!ELEMENT Channels ((Container Channel)*)> <!ATTLIST Channels> <!ELEMENT Providers ((Provider)*)> <!ATTLIST Providers> <!ELEMENT Provider (Properties)> <!ATTLIST Provider name CDATA #REQUIRED class CDATA #REQUIRED version CDATA "1" merge (replace remove fuse) "fuse" lock (true false) "false" advanced (true false) "false"> <!ELEMENT Channel (Properties)> <!ATTLIST Channel name CDATA #REQUIRED provider CDATA #IMPLIED merge (replace remove fuse) "fuse" lock (true false) "false" advanced (true false) "false"> <!ELEMENT Container (Properties, Available, Selected, Channels)> <!ATTLIST Container name CDATA #REQUIRED provider CDATA #IMPLIED merge (replace remove fuse) "fuse" lock (true false) "false" advanced (true false) "false"> <!ELEMENT Available, (Reference*)> <!ATTLIST Available merge (replace fuse) "fuse" lock (true false) "false" advanced (true false) "false"> <!ELEMENT Selected, (Reference*)> <!ATTLIST Selected merge (replace fuse) "fuse" lock (true false) "false" advanced (true false) "false"> <!ELEMENT Properties (Collection Integer String Boolean Locale ConditionalProperties)*> <!ATTLIST Properties name CDATA #FIXED "_properties" merge (replace fuse) "fuse" lock (true false) "false" propagate (true false) "true" advanced (true false) "false"> <!ELEMENT ConditionalProperties (Collection Integer String Boolean ConditionalProperties)*> <!ATTLIST ConditionalProperties condition CDATA #REQUIRED value CDATA #REQUIRED merge (replace remove fuse) "fuse" 106

107 9 - Annexes lock (true false) "false" propagate (true false) "true" advanced (true false) "false"> <!ELEMENT Locale (Collection Integer String Boolean)*> <!ATTLIST Locale language CDATA #REQUIRED country CDATA #IMPLIED variant CDATA #IMPLIED merge (replace remove fuse) "fuse" lock (true false) "false" propagate (true false) "true" advanced (true false) "false"> <!ELEMENT Collection (Collection Integer String Boolean)*> <!ATTLIST Collection name CDATA #REQUIRED merge (replace remove fuse) "fuse" lock (true false) "false" propagate (true false) "true" advanced (true false) "false"> <!ELEMENT Integer EMPTY> <!ATTLIST Integer name CDATA #IMPLIED value CDATA #REQUIRED merge (replace remove) "replace" lock (true false) "false" propagate (true false) "true" advanced (true false) "false"> <!ELEMENT String (#PCDATA)> <!ATTLIST String name CDATA #IMPLIED value CDATA #IMPLIED merge (replace remove) "replace" lock (true false) "false" propagate (true false) "true" advanced (true false) "false"> <!ELEMENT Reference EMPTY> <!ATTLIST Reference value CDATA #REQUIRED merge (replace remove) "replace" lock (true false) "false" propagate (true false) "true" advanced (true false) "false"> <!ELEMENT Boolean EMPTY> <!ATTLIST Boolean name CDATA #IMPLIED value (true false) #REQUIRED merge (replace remove) "replace" lock (true false) "false" propagate (true false) "true" advanced (true false) "false"> <!ELEMENT ParEntry (Description?, Provider?, Channel?)> <!ATTLIST ParEntry xmlns:parentry CDATA #FIXED ' name CDATA #REQUIRED version CDATA #REQUIRED date CDATA #REQUIRED author CDATA #REQUIRED requiredclass CDATA #REQUIRED> <!ELEMENT Description (#PCDATA) > 107

108 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Document Display Profile du nouveau portail : Ci-dessous, le document Display Profile qui configure le portail proposé aux utilisateurs de l organisation concernée (memoire). <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd"> <DisplayProfile version="1.0" priority="10"> <Properties/> <Channels> <Container name="mapageonglets" provider="jsptabcontainerprovider" merge="replace"> <String name="title" value="onglets"/> <String name="description" value="site portail créé pour le mémoire"/> <String name="productname" value="mémoire CNAM"/> <Available> <Reference value="ongletgeneral"/> <Reference value="ongletcollaboratif"/> </Available> <Selected> <Reference value="ongletgeneral"/> <Reference value="ongletcollaboratif"/> </Selected> <Channels/> </Container> <Container name="ongletgeneral" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="général"/> <String name="description" value="onglet général"/> <String name="productname" value="mémoire CNAM - Général"/> <Available> <Reference value="infoutilisateur"/> <Reference value="flashactualite"/> <Reference value="favoris"/> <Reference value="messagerie"/> </Available> <Selected> <Reference value="infoutilisateur"/> <Reference value="flashactualite"/> <Reference value="favoris"/> <Reference value="messagerie"/> </Selected> <Channels/> </Container> <Container name="ongletcollaboratif" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="outils Collaboratifs"/> <String name="description" value="onglet comprenant des outils collaboratifs"/> <String name="productname" value="mémoire CNAM - Outils collaboratifs"/> <Integer name="layout" value="1"/> <Available> <Reference value="clientmail"/> <Reference value="agenda"/> <Reference value="discussions"/> <Reference value="notes"/> </Available> <Selected> 108

109 9 - Annexes <Reference value="clientmail"/> <Reference value="agenda"/> <Reference value="discussions"/> <Reference value="notes"/> </Selected> <Channels/> </Container> <Container name="ongletcicg" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="cicg"/> <String name="description" value="onglet comportant des outils réseau et métrologie"/> <String name="productname" value="mémoire CNAM - CICG"/> <Available/> <Selected/> <Channels/> </Container> <Channel name="infoutilisateur" provider="userinfoprovider" merge="replace"> <String name="title" value="authentifié"/> <String name="description" value="informations d&apos;authentification"/> <String name="productname" value="mémoire CNAM - Authentification"/> <String name="greeting" value="bienvenu..."/> </Channel> <Channel name="flashactualite" provider="xmlprovider" merge="replace"> <String name="title" value="flash actualité"/> <String name="description" value="flash d&apos;actualité"/> <String name="productname" value="mémoire CNAM - Flash d&apos;actualité"/> <String name="url" value="file:///home/portail/cicg/actualites.xml"/> <String name="xslfilename" value="/home/portail/cicg/actualites.xsl"/> </Channel> <Channel name="favoris" provider="bookmarkprovider" merge="replace"> <String name="title" value="favoris"/> <String name="description" value="liste de liens favoris et personnalisable"/> <String name="productname" value="mémoire CNAM - Favoris"/> <ConditionalProperties condition="client" value="html"> <Collection name="targets"> <String value="google <String value="météo Grenoble <String value="calculer un itinéraire <String value="cinéma & spectacles </Collection> </ConditionalProperties> </Channel> <Channel name="messagerie" provider="mailcheckprovider" merge="replace"> <Properties/> </Channel> <Channel name="clientmail" provider="mailprovider" merge="replace"> <String name="title" value="messagerie"/> <String name="description" value="messagerie complète, messages reçus..."/> <String name="width" value="thin"/> </Channel> 109

110 Infrastructure logicielle de portail : mise en œuvre d une solution complète. <Channel name="agenda" provider="calendarprovider" merge="replace"> <String name="title" value="agenda personnel"/> <String name="description" value="agenda personnel fournit par Sun JES Calendar Server"/> </Channel> <Providers/> </DisplayProfile> Architecture des fichiers intervenants dans la construction du portail : Le premier fichier appelé par le serveur de portail est le tab.jsp. Il appel par fusion (include) les fichiers suivants qui eux-mêmes effectuent des appels. Certains fichiers peuvent être inclus plusieurs fois comme le leafwrapper.jsp. tab.jsp [JSPTabContainerProvider : MaPageOnglets] header.jsp avalaibletabs.jsp selectedtab.jsp table.jsp [JSPTableContainerProvider : OngletGeneral] tabletopbottom.jsp leafwrapper.jsp tablecolumn.jsp leafwrapper.jsp content.template [UserInfoProvider : InfoUtilisateur] netmailsettings.template passwordhandler-membership.template leafwrapper.jsp display.template [BookmarkProvider : Favoris] leafwrapper.jsp display.template [MailCheckProvider : Messagerie] tablecolumn.jsp leafwrapper.jsp Actualites.xml [XMLProvider : FlashActualites] Actualites.xsl tabletopbottom.jsp leafwrapper.jsp tabs.jsp menubar.jsp footer.html Et la page qui correspond : 110

111 Annexe 4 : Portail de métrologie 9 - Annexes Configuration des thèmes CICG, CICG2 et UPMF : Les trois tableaux suivants reprennent les thèmes créés pour répondre aux chartes graphiques du CICG ou de l UPMF. Les attributs d un thème concernent la taille ou la couleur des caractères mais aussi les images du bandeau, la forme et la couleur des onglets, du fond, des portlets <Collection name="cicgtheme"> <String name="description" value="thème Cicg"/> <String name="bgcolor" value="#ffffdd"/> <String name="titlebarcolor" value="#000066"/> <String name="fontcolor" value="#000066"/> <String name="bordercolor" value="#000066"/> <String name="borderwidth" value="0"/> <String name="fontface" value="verdana"/> <String name="fontsize" value="1"/> <String name="activebulletimage" value="cicg/cicg_bullet_off.gif"/> <String name="inactivebulletimage" value="cicg/cicg_bullet_on.gif"/> <String name="brandimage" value="cicg/bandeaumontagne.gif"/> <String name="brandimage2" value="cicg/logocicg_48x48.gif"/> <String name="brandimagebgcolor" value="#ffffff"/> <String name="brandimage2bgcolor" value="#ffffff"/> <String name="brandbgcolor" value="#ffffff"/> <String name="brandimagewidth" value="791"/> <String name="headerbgcolor" value="#ffffff"/> <String name="headerfontcolor" value="#000066"/> <String name="headertext" value="verdana10font"/> <String name="tabnotchimage" value="cicg/cicgtabblanc.gif"/> <String name="tabcolor" value="#dddddd"/> <String name="tabfontcolor" value="#000066"/> <String name="contentlayoutlinkcolor" value="#ffffff"/> <String name="contentlayouttext" value="verdana8font"/> <String name="linkseparatorcolor" value="#ffffff"/> <String name="tablebgcolor" value="#ffffff"/> <String name="titlefontcolor" value="#ffffff"/> <String name="titletext" value="verdana9font"/> <String name="channelhighlightcolor" value="#00ff00"/> <String name="channellinkcolor" value="#000066"/> <String name="previewimage" value="cicg/cicg_preview.gif"/> <String name="helpimage" value="cicg/b_help.gif"/> <String name="removeimage" value="cicg/b_remove.gif"/> <String name="minimizeimage" value="cicg/b_minimize.gif"/> <String name="maximizeimage" value="cicg/b_maximize.gif"/> <String name="normalizeimage" value="cicg/b_normal.gif"/> <String name="attachimage" value="cicg/b_attach.gif"/> <String name="detachimage" value="cicg/b_new_window.gif"/> <String name="editimage" value="cicg/b_edit.gif"/> <String name="stylefontfamily" value="verdana, Arial, Helvetica, sans-serif"/> <String name="stylefontsize" value="xx-small"/> <String name="stylecolor" value="#000066"/> <String name="styletitlefamily" value="verdana, Arial, Helvetica, sans-serif"/> <String name="styletitlesize" value="small"/> <String name="styletitlecolor" value="white"/> </Collection> 111

112 Infrastructure logicielle de portail : mise en œuvre d une solution complète. <Collection name="cicg2theme"> <String name="description" value="second thème du Cicg"/> <String name="bgcolor" value="#ffffff"/> <String name="titlebarcolor" value="#4466aa"/> <String name="fontcolor" value="#4466aa"/> <String name="bordercolor" value="#4466aa"/> <String name="borderwidth" value="0"/> <String name="fontface" value="verdana"/> <String name="fontsize" value="1"/> <String name="activebulletimage" value="cicg/cicg_bullet_off.gif"/> <String name="inactivebulletimage" value="cicg/cicg_bullet_on.gif"/> <String name="brandimage" value="cicg/bandeaumontagne.gif"/> <String name="brandimage2" value="cicg/logocicg_48x48.gif"/> <String name="brandimagebgcolor" value="#ffffff"/> <String name="brandimage2bgcolor" value="#ffffff"/> <String name="brandbgcolor" value="#ffffff"/> <String name="brandimagewidth" value="791"/> <String name="headerbgcolor" value="#ffffff"/> <String name="headerfontcolor" value="#4466aa"/> <String name="headertext" value="verdana9font"/> <String name="tabnotchimage" value="cicg/cicgtabblanc.gif"/> <String name="tabcolor" value="#dddddd"/> <String name="tabfontcolor" value="#999999"/> <String name="contentlayoutlinkcolor" value="#ffffff"/> <String name="contentlayouttext" value="verdana8font"/> <String name="linkseparatorcolor" value="#ffffff"/> <String name="tablebgcolor" value="#ffffff"/> <String name="titlefontcolor" value="#ffffff"/> <String name="titletext" value="verdana10font"/> <String name="channelhighlightcolor" value="#00ff00"/> <String name="channellinkcolor" value="#000066"/> <String name="previewimage" value="cicg/cicg2_preview.gif"/> <String name="helpimage" value="cicg/b_help.gif"/> <String name="removeimage" value="cicg/b_remove.gif"/> <String name="minimizeimage" value="cicg/b_minimize.gif"/> <String name="maximizeimage" value="cicg/b_maximize.gif"/> <String name="normalizeimage" value="cicg/b_normal.gif"/> <String name="attachimage" value="cicg/b_attach.gif"/> <String name="detachimage" value="cicg/b_new_window.gif"/> <String name="editimage" value="cicg/b_edit.gif"/> <String name="stylefontfamily" value="verdana, Arial, Helvetica, sans-serif"/> <String name="stylefontsize" value="xx-small"/> <String name="stylecolor" value="#4466aa"/> <String name="styletitlefamily" value="verdana, Arial, Helvetica, sans-serif"/> <String name="styletitlesize" value="small"/> <String name="styletitlecolor" value="white"/> </Collection> 112

113 9 - Annexes <Collection name="upmftheme"> <String name="description" value="thème UPMF"/> <String name="bgcolor" value="white"/> <String name="titlebarcolor" value="#005273"/> <String name="fontcolor" value="black"/> <String name="bordercolor" value="#336699"/> <String name="borderwidth" value="1"/> <String name="fontface" value="verdana, Arial, Helvetica, sans-serif"/> <String name="fontsize" value="3"/> <String name="activebulletimage" value="breezy_bullet_on.gif"/> <String name="inactivebulletimage" value="breezy_bullet_off.gif"/> <String name="brandimage" value="bandeaumontagne.gif"/> <String name="brandimage2" value="logoupmf.gif"/> <String name="brandimagebgcolor" value="#ffffff"/> <String name="brandimage2bgcolor" value="#ffffff"/> <String name="brandbgcolor" value="#ffffff"/> <String name="headerbgcolor" value="#ffffff"/> <String name="brandimagewidth" value="791"/> <String name="headerfontcolor" value="#000000"/> <String name="headertext" value="sansserif11font"/> <String name="tabnotchimage" value="tabnotch.gif"/> <String name="tabcolor" value="#cccc66"/> <String name="tabfontcolor" value="#000000"/> <String name="contentlayoutlinkcolor" value="#ffffff"/> <String name="contentlayouttext" value="sansserif10font"/> <String name="linkseparatorcolor" value="#ed471e"/> <String name="tablebgcolor" value="#ccccff"/> <String name="titlefontcolor" value="#ffffff"/> <String name="titletext" value="sansserif10font"/> <String name="channelhighlightcolor" value="#ffffff"/> <String name="channellinkcolor" value="#3a2eb5"/> <String name="previewimage" value="upmf_preview.gif"/> <String name="helpimage" value="b_help.gif"/> <String name="removeimage" value="b_remove.gif"/> <String name="minimizeimage" value="b_minimize.gif"/> <String name="maximizeimage" value="b_maximize.gif"/> <String name="normalizeimage" value="b_normal.gif"/> <String name="attachimage" value="b_attach.gif"/> <String name="detachimage" value="b_new_window.gif"/> <String name="editimage" value="b_edit.gif"/> <String name="stylefontfamily" value="verdana, Arial, Helvetica, sans-serif"/> <String name="stylefontsize" value="xx-small"/> <String name="stylecolor" value="black"/> <String name="styletitlefamily" value="verdana, Arial, Helvetica, sans-serif"/> <String name="styletitlesize" value="small"/> <String name="styletitlecolor" value="#ffffff"/> </Collection> 113

114 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Extraits du fichier Display Profile du portail anonyme : Ci-dessous, le fichier Display Profile du portail de métrologie, accessible aux utilisateurs anonymes (non authentifiés). Nous n avons pas inclus la collection des thèmes pour des raisons de lisibilité. <DisplayProfile version="1.0" priority="12"> <Collection name="globalthemes"> <Collection name="suntheme"> [thèmes ] </Collection> </Collection> <String name="usertheme" value="cicg2theme" propagate="false"/> <Collection name="locales"> <String name="en_us" value="english (United States)"/> </Collection> <String name="docroot" value="/docs/"/> <ConditionalProperties condition="client" value="html"> <ConditionalProperties condition="locale" value="en"> <String name="helpurl" value="en/desktop/usedesk.htm" advanced="true"/> </ConditionalProperties> <String name="helpurl" value="en/desktop/usedesk.htm" advanced="true"/> </ConditionalProperties> <Collection name="userdefinedchannels" propagate="false"> </Collection> <Channels> <Container name="toptablecontainer" provider="jsptablecontainerprovider" merge="replace"> <String name="contentpage" value="toptable.jsp"/> <Integer name="layout" value="3"/> <String name="title" value="portail de métrologie - CICG"/> <String name="description" value="portail de métrologie - CICG"/> <String name="fontface1" value="arial"/> <String name="desktop-fontface1" value="arial"/> <String name="productname" value="portail de métrologie - CICG"/> <Boolean name="defaultchannelisminimizable" value="false"/> <Boolean name="defaultchannelismaximizable" value="false"/> <Boolean name="defaultchannelisdetachable" value="false"/> <Boolean name="defaultchannelisremovable" value="false"/> <Boolean name="defaultchannelismovable" value="false"/> <Boolean name="iseditable" value="false" advanced="true"/> <Collection name="channelscolumn" advanced="true"> <String name="authentification" value="1"/> <String name="recherche" value="1"/> <String name="lienspublics" value="1"/> <String name="veniraucicg" value="1"/> <String name="accueilcicg" value="2"/> <String name="jsptableuniversites" value="3"/> <String name="jsptablecontainermeteo" value="3"/> </Collection> <Collection name="channelsrow" advanced="true"> </Collection> <Available> <Reference value="authentification"/> <Reference value="recherche"/> <Reference value="lienspublics"/> <Reference value="veniraucicg"/> <Reference value="accueilcicg"/> <Reference value="jsptableuniversites"/> <Reference value="jsptablecontainermeteo"/> </Available> 114

115 9 - Annexes <Selected> <Reference value="authentification"/> <Reference value="recherche"/> <Reference value="lienspublics"/> <Reference value="veniraucicg"/> <Reference value="accueilcicg"/> <Reference value="jsptableuniversites"/> <Reference value="jsptablecontainermeteo"/> </Selected> <Channels> </Channels> </Container> <Channel name="authentification" provider="loginprovider" merge="replace"> <String name="title" value="authentification"/> <String name="description" value="module d&apos;authentification"/> <String name="fontface1" value="arial"/> <String name="productname" value="portail de métrologie - CICG"/> <Boolean name="persistentcookie" value="true"/> <Boolean name="iseditable" value="false" advanced="true"/> </Channel> <Channel name="lienspublics" provider="bookmarkprovider" merge="replace"> <String name="title" value="liens"/> <String name="description" value="liens disponibles pour tous"/> <String name="fontface1" value="arial"/> <String name="productname" value="portail de métrologie - CICG"/> <Boolean name="iseditable" value="false" advanced="true"/> <ConditionalProperties condition="client" value="html"> <String name="helpurl" value="" advanced="true"/> <Collection name="targets"> <String value="google <String value="cinémas & spectacles <String value="météo-france Grenoble <String value="calculer un itinéraire <String value="les contamines </Collection> </ConditionalProperties> </Channel> <Container name="jsptablecontainermeteo" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="météo"/> <String name="description" value="conteneur des canaux de Météo"/> <String name="fontface1" value="arial"/> <String name="desktop-fontface1" value="arial"/> <String name="productname" value="portail de Métrologie - CICG"/> <Boolean name="defaultchannelisminimizable" value="false"/> <Boolean name="defaultchannelismaximizable" value="false"/> <Boolean name="defaultchannelisdetachable" value="false"/> <Boolean name="defaultchannelisremovable" value="false"/> <Boolean name="defaultchannelismovable" value="false"/> <String name="width" value="thin" advanced="true"/> <Boolean name="iseditable" value="false" advanced="true"/> <Boolean name="defaultchannelhasframe" value="false" advanced="true"/> <String name="defaultchannelcolumn" value="3" advanced="true"/> <Available> <Reference value="jsptablecontainermeteo/jspmeteo"/> </Available> 115

116 Infrastructure logicielle de portail : mise en œuvre d une solution complète. <Selected> <Reference value="jsptablecontainermeteo/jspmeteo"/> </Selected> <Channels> <Channel name="jspmeteo" provider="jspprovider" merge="replace"> <String name="title" value="météo"/> <String name="description" value="canaux météo en JSP"/> <String name="fontface1" value="arial"/> <String name="width" value="full_top"/> <String name="productname" value="portail de Métrologie - CICG"/> <String name="contentpage" value="meteo.jsp"/> <Collection name="listevilles"> <Collection name="grenoble"> <String name="libelle" value="grenoble"/> <String name="code" value="38185"/> <String name="adr" value=" </Collection> <Collection name="echirolles"> <String name="libelle" value="ã chirolles"/> <String name="code" value="38151"/> <String name="adr" value=" </Collection> <Collection name="fontaine"> <String name="libelle" value="fontaine"/> <String name="code" value="38169"/> <String name="adr" value=" </Collection> <Collection name="gieres"> <String name="libelle" value="gières"/> <String name="code" value="38179"/> <String name="adr" value=" </Collection> <Collection name="meylan"> <String name="libelle" value="meylan"/> <String name="code" value="38229"/> <String name="adr" value=" </Collection> <Collection name="smh"> <String name="libelle" value="st Martin d Hères"/> <String name="code" value="38421"/> <String name="adr" value=" </Collection> <Collection name="stegreve"> <String name="libelle" value="st Égrève"/> <String name="code" value="38382"/> <String name="adr" value=" </Collection> <Collection name="vassieux"> <String name="libelle" value="vassieux en Vercors"/> <String name="code" value="26364"/> <String name="adr" value=" rs/"/> </Collection> <Collection name="vaulnaveys"> 116

117 9 - Annexes <String name="libelle" value="vaulnaveys le Haut"/> <String name="code" value="38529"/> <String name="adr" value=" t/"/> </Collection> <Collection name="vizille"> <String name="libelle" value="vizille"/> <String name="code" value="38562"/> <String name="adr" value=" </Collection> <Collection name="voiron"> <String name="libelle" value="voiron"/> <String name="code" value="38563"/> <String name="adr" value=" </Collection> <Collection name="paris"> <String name="libelle" value="paris"/> <String name="code" value="75056"/> <String name="adr" value=" </Collection> <Collection name="lyon"> <String name="libelle" value="lyon"/> <String name="code" value="69123"/> <String name="adr" value=" </Collection> <Collection name="lille"> <String name="libelle" value="lille"/> <String name="code" value="59350"/> <String name="adr" value=" </Collection> <Collection name="bordeaux"> <String name="libelle" value="bordeaux"/> <String name="code" value="33063"/> <String name="adr" value=" </Collection> <Collection name="marseille"> <String name="libelle" value="marseille"/> <String name="code" value="13055"/> <String name="adr" value=" du_rhone/marseille/"/> </Collection> <Collection name="rennes"> <String name="libelle" value="rennes"/> <String name="code" value="35238"/> <String name="adr" value=" </Collection> </Collection> <ConditionalProperties condition="client" value="html"> <ConditionalProperties condition="locale" value="en"> <String name="helpurl" value="" advanced="true"/> </ConditionalProperties> </ConditionalProperties> </Channel> </Channels> 117

118 Infrastructure logicielle de portail : mise en œuvre d une solution complète. </Container> <Channel name="accueilcicg" provider="iframeprovider" merge="replace"> <String name="title" value="bienvenue au CICG"/> <String name="srcurl" value=" <String name="fwidth" value="100%"/> <String name="fheight" value="360"/> <Boolean name="lienouvrir" value="true" advanced="true"/> <String name="scrolling" value="no"/> <String name="description" value="page d&apos;accueil du CICG"/> </Channel> <Channel name="recherche" provider="searchprovider" merge="replace"> <String name="title" value="recherche"/> <String name="description" value="moteur de recherche"/> <String name="fontface1" value="arial"/> <String name="productname" value="portail de métrologie - CICG"/> <String name="width" value="thin"/> <String name="searchserver" value=" <Boolean name="iseditable" value="false" advanced="true"/> </Channel> <Channel name="veniraucicg" provider="iframeprovider" merge="replace"> <String name="title" value="venir au CICG"/> <Boolean name="lienouvrir" value="false" advanced="true"/> <String name="width" value="thin"/> <String name="fheight" value="80"/> <String name="description" value="comment venir au CICG"/> <String name="srcurl" value=" <String name="scrolling" value="no"/> <Boolean name="bordureiframe" value="false" advanced="true"/> <Boolean name="iseditable" value="false"/> </Channel> <Container name="jsptableuniversites" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="liens vers les Universités"/> <String name="description" value="liens vers les Universités"/> <String name="fontface1" value="arial"/> <String name="desktop-fontface1" value="arial"/> <String name="productname" value="portail de métrologie - CICG"/> <Boolean name="defaultchannelisminimizable" value="false"/> <Boolean name="defaultchannelismaximizable" value="false"/> <Boolean name="defaultchannelisdetachable" value="false"/> <Boolean name="defaultchannelisremovable" value="false"/> <Boolean name="defaultchannelismovable" value="false"/> <Boolean name="iseditable" value="false" advanced="true"/> <Boolean name="defaultchannelhasframe" value="false" advanced="true"/> <Available> <Reference value="jsptableuniversites/ujf"/> <Reference value="jsptableuniversites/upmf"/> <Reference value="jsptableuniversites/us"/> <Reference value="jsptableuniversites/inpg"/> <Reference value="jsptableuniversites/savoie"/> </Available> <Selected> <Reference value="jsptableuniversites/ujf"/> <Reference value="jsptableuniversites/upmf"/> <Reference value="jsptableuniversites/us"/> 118

119 9 - Annexes <Reference value="jsptableuniversites/inpg"/> <Reference value="jsptableuniversites/savoie"/> </Selected> <Channels> <Channel name="ujf" provider="iframeprovider" merge="replace"> <String name="title" value="ujf"/> <String name="description" value="ujf"/> <String name="srcurl" value=" <String name="width" value="full_top"/> <String name="fheight" value="65"/> <String name="scrolling" value="no"/> <Boolean name="lienouvrir" value="false" advanced="true"/> <Boolean name="bordureiframe" value="true" advanced="true"/> </Channel> <Channel name="us" provider="iframeprovider" merge="replace"> <String name="title" value="u Stendhal"/> <String name="description" value="u Stendhal"/> <String name="srcurl" value=" <String name="width" value="full_top"/> <String name="fheight" value="65"/> <String name="scrolling" value="no"/> <Boolean name="lienouvrir" value="false" advanced="true"/> <Boolean name="bordureiframe" value="true" advanced="true"/> <String name="fborder" value="0"/> </Channel> <Channel name="upmf" provider="iframeprovider" merge="replace"> <String name="title" value="upmf"/> <String name="description" value="upmf"/> <String name="srcurl" value=" <String name="width" value="full_top"/> <String name="fheight" value="65"/> <String name="scrolling" value="no"/> <Boolean name="lienouvrir" value="false" advanced="true"/> <Boolean name="bordureiframe" value="true" advanced="true"/> <String name="fborder" value="0"/> </Channel> <Channel name="inpg" provider="iframeprovider" merge="replace"> <String name="title" value="inpg"/> <String name="description" value="inpg"/> <String name="srcurl" value=" <String name="width" value="full_top"/> <String name="fheight" value="65"/> <String name="scrolling" value="no"/> <Boolean name="lienouvrir" value="false" advanced="true"/> <Boolean name="bordureiframe" value="true" advanced="true"/> <String name="fborder" value="0"/> </Channel> <Channel name="savoie" provider="iframeprovider" merge="replace"> <String name="title" value="savoie"/> <String name="description" value="savoie"/> <String name="srcurl" value=" <String name="width" value="full_top"/> <String name="fheight" value="65"/> 119

120 Infrastructure logicielle de portail : mise en œuvre d une solution complète. <String name="scrolling" value="no"/> <Boolean name="lienouvrir" value="false" advanced="true"/> <Boolean name="bordureiframe" value="true" advanced="true"/> <String name="fborder" value="0"/> </Channel> </Channels> </Container> [channels à retirer de l organisation parente ] </Channels> <Providers> </Providers> </DisplayProfile> 120

121 9 - Annexes Extraits du fichier Display Profile de l organisation SRES : Ci-dessous, le fichier Display Profile du portail de métrologie accessible aux utilisateurs authentifiés. Nous n avons inclus que la partie configuration des conteneurs et canaux pour des raisons de lisibilité. <DisplayProfile version="1.0" priority="10"> [ ] <Channels> <Channel name="userinfo"> <String name="refreshtime" value="60" advanced="true"/> <String name="title" value="authentification"/> <String name="description" value="informations sur l&apos;utilisateur authentifié"/> <String name="greeting" value=""/> </Channel> <Channel name="notes"> <String name="refreshtime" value="600" advanced="true"/> <String name="title" value="notes"/> <String name="description" value="notes Channel Description"/> <String name="lines" value="4"/> <String name="maxlines" value="4"/> <String name="width" value="full_top"/> </Channel> <Channel name="mailcheck"> <String name="refreshtime" value="120" advanced="true"/> <String name="title" value="my Unread Mail Count"/> <String name="imapservername" value=""/> <String name="imapuserid" value=""/> <String name="imappassword" value="" advanced="true"/> <Collection name="userapps"> <String value="squirrel"/> </Collection> </Channel> <Channel name="actualitexml" provider="xmlprovider" merge="replace"> <String name="title" value="actualités"/> <String name="description" value="actualites produites par XML Provider"/> <String name="productname" value="portail de métrologie - CICG"/> <String name="url" value="file:///home/portail/cicg/actualites.xml"/> <String name="xslfilename" value="/home/portail/cicg/actualites.xsl"/> <String name="fontface1" value="verdana"/> <Boolean name="iseditable" value="true" advanced="true"/> <ConditionalProperties condition="client" value="html"> <String name="helpurl" value="" advanced="true"/> </ConditionalProperties> <String name="width" value="full_top"/> </Channel> <Container name="ongletcicg" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="cicg"/> <String name="description" value="informations internes au CICG"/> <String name="fontface1" value="verdana"/> <String name="desktop-fontface1" value="verdana"/> <String name="productname" value="portail de métrologie - CICG"/> <Boolean name="defaultchannelisdetachable" value="false"/> <String name="width" value="thick" advanced="true"/> 121

122 Infrastructure logicielle de portail : mise en œuvre d une solution complète. <Boolean name="iseditable" value="false" advanced="true"/> <Integer name="layout" value="1"/> <Available> <Reference value="ongletcicg/notes"/> <Reference value="actualitexml"/> <Reference value="ongletcicg/sallereunion"/> <Reference value="ongletcicg/editxml"/> </Available> <Selected> <Reference value="ongletcicg/notes"/> <Reference value="actualitexml"/> <Reference value="ongletcicg/sallereunion"/> </Selected> <Channels> <Channel name="sallereunion" provider="iframeprovider" merge="replace"> <String name="title" value="salle de réunion"/> <String name="srcurl" value=" <String name="width" value="full_bottom"/> <String name="description" value="activation des prises réseau des salles de réunion"/> </Channel> <Channel name="notes" provider="notesprovider" merge="replace"> <String name="title" value="infos communes"/> <String name="width" value="full_top"/> <String name="description" value="informations communes"/> <String name="fontface1" value="arial"/> <String name="location" value="/home/portail/docs/fichiers/infos.txt"/> <String name="lines" value="4"/> <String name="maxlines" value="4"/> <Boolean name="iseditable" value="true" advanced="true"/> </Channel> <Channel name="editxml" provider="jspprovider" merge="replace"> <String name="title" value="édition XML Actualités"/> <String name="description" value="édition XML Actualités"/> <String name="width" value="full_top"/> <String name="editpage" value="sampleedit.jsp"/> <String name="processpage" value="majxml.jsp"/> <String name="contentpage" value="xmledit.jsp"/> <Boolean name="iseditable" value="false" advanced="true"/> <String name="documentxml" value="/home/portail/cicg/actu.xml"/> <String name="documentxsl" value="/home/portail/cicg/actualites.xsl"/> <String name="fontface1" value="verdana"/> <String name="pagetemporairejsp" value="/home/portail/cicg/actu.jsp"/> </Channel> </Channels> </Container> <Container name="ongletbb" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="big Brother"/> <String name="description" value="onglet Big Brother"/> <String name="productname" value="portail de métrologie - CICG"/> <Available> <Reference value="ongletbb/bburl"/> </Available> 122

123 9 - Annexes <Selected> <Reference value="ongletbb/bburl"/> </Selected> <Channels> <Channel name="bb" provider="iframeprovider" merge="replace"> <String name="srcurl" value=" <String name="width" value="full_top"/> <String name="fheight" value="500"/> </Channel> <Channel name="bburl" provider="urlscraperprovider" merge="replace"> <String name="title" value="urlscraper BB"/> <String name="width" value="full_bottom"/> <ConditionalProperties condition="client" value="html"> <String name="url" value="file:///home/portail/cicg/iframe_bb.html"/> </ConditionalProperties> </Channel> </Channels> </Container> <Channel name="lienspublics" provider="bookmarkprovider" merge="replace"> <String name="title" value="liens"/> <String name="description" value="liens disponibles pour tous"/> <String name="fontface1" value="arial"/> <String name="productname" value="portail de métrologie - CICG"/> <Boolean name="iseditable" value="true" advanced="true"/> <ConditionalProperties condition="client" value="html"> <String name="helpurl" value="" advanced="true"/> <Collection name="targets"> <String value="google <String value="cinémas & spectacles <String value="météo-france Grenoble <String value="calculer un itinéraire </Collection> </ConditionalProperties> </Channel> <Container name="jsptablecontainermeteo" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="météo"/> <String name="description" value="conteneur des canaux de Météo"/> <String name="fontface1" value="arial"/> <String name="desktop-fontface1" value="arial"/> <String name="productname" value="portail de Métrologie - CICG"/> <Boolean name="defaultchannelisminimizable" value="false"/> <Boolean name="defaultchannelismaximizable" value="false"/> <Boolean name="defaultchannelisdetachable" value="false"/> <Boolean name="defaultchannelisremovable" value="false"/> <Boolean name="defaultchannelismovable" value="false"/> <String name="width" value="thin" advanced="true"/> <Boolean name="iseditable" value="false" advanced="true"/> <Boolean name="defaultchannelhasframe" value="false" advanced="true"/> <String name="defaultchannelcolumn" value="3" advanced="true"/> <Available> <Reference value="jsptablecontainermeteo/jspmeteo"/> </Available> <Selected> 123

124 Infrastructure logicielle de portail : mise en œuvre d une solution complète. <Reference value="jsptablecontainermeteo/jspmeteo"/> </Selected> <Channels> <Channel name="jspmeteo" provider="jspprovider" merge="replace"> <String name="title" value="météo"/> <String name="description" value="canaux météo en JSP"/> <String name="fontface1" value="arial"/> <String name="width" value="full_top"/> <String name="productname" value="portail de Métrologie - CICG"/> <String name="contentpage" value="meteo.jsp"/> <Collection name="listevilles"> <Collection name="grenoble"> <String name="libelle" value="grenoble"/> <String name="code" value="38185"/> <String name="adr" value=" </Collection> <Collection name="echirolles"> <String name="libelle" value="échirolles"/> <String name="code" value="38151"/> <String name="adr" value=" </Collection> <Collection name="fontaine"> <String name="libelle" value="fontaine"/> <String name="code" value="38169"/> <String name="adr" value=" </Collection> <Collection name="gieres"> <String name="libelle" value="gières"/> <String name="code" value="38179"/> <String name="adr" value=" </Collection> <Collection name="meylan"> <String name="libelle" value="meylan"/> <String name="code" value="38229"/> <String name="adr" value=" </Collection> <Collection name="smh"> <String name="libelle" value="st Martin d&apos;hères"/> <String name="code" value="38421"/> <String name="adr" value=" </Collection> <Collection name="stegreve"> <String name="libelle" value="st Égrève"/> <String name="code" value="38382"/> <String name="adr" value=" </Collection> <Collection name="vassieux"> <String name="libelle" value="vassieux en Vercors"/> <String name="code" value="26364"/> <String name="adr" value=" rs/"/> </Collection> <Collection name="vaulnaveys"> <String name="libelle" value="vaulnaveys le Haut"/> 124

125 9 - Annexes <String name="code" value="38529"/> <String name="adr" value=" t/"/> </Collection> <Collection name="vizille"> <String name="libelle" value="vizille"/> <String name="code" value="38562"/> <String name="adr" value=" </Collection> <Collection name="voiron"> <String name="libelle" value="voiron"/> <String name="code" value="38563"/> <String name="adr" value=" </Collection> <Collection name="paris"> <String name="libelle" value="paris"/> <String name="code" value="75056"/> <String name="adr" value=" </Collection> <Collection name="lyon"> <String name="libelle" value="lyon"/> <String name="code" value="69123"/> <String name="adr" value=" </Collection> <Collection name="lille"> <String name="libelle" value="lille"/> <String name="code" value="59350"/> <String name="adr" value=" </Collection> <Collection name="bordeaux"> <String name="libelle" value="bordeaux"/> <String name="code" value="33063"/> <String name="adr" value=" </Collection> <Collection name="marseille"> <String name="libelle" value="marseille"/> <String name="code" value="13055"/> <String name="adr" value=" du_rhone/marseille/"/> </Collection> <Collection name="rennes"> <String name="libelle" value="rennes"/> <String name="code" value="35238"/> <String name="adr" value=" </Collection> </Collection> <ConditionalProperties condition="client" value="html"> <ConditionalProperties condition="locale" value="en"> <String name="helpurl" value="" advanced="true"/> </ConditionalProperties> </ConditionalProperties> </Channel> </Channels> </Container> 125

126 Infrastructure logicielle de portail : mise en œuvre d une solution complète. <Channel name="recherche" provider="searchprovider" merge="replace"> <String name="title" value="recherche"/> <String name="description" value="moteur de recherche"/> <String name="fontface1" value="arial"/> <String name="productname" value="portail de métrologie - CICG"/> <String name="width" value="thin"/> <String name="searchserver" value=" <Boolean name="iseditable" value="false" advanced="true"/> </Channel> <Container name="toptablecontainer" provider="jsptablecontainerprovider" merge="replace"> <String name="contentpage" value="toptable.jsp"/> <Collection name="channelsrow" advanced="true"> <String name="astreinte" value="1"/> </Collection> <String name="title" value="portail de métrologie - CICG"/> <String name="description" value="portail de métrologie - CICG"/> <Available> <Reference value="userinfo"/> <Reference value="lienspublics"/> <Reference value="recherche"/> <Reference value="mailcheck"/> <Reference value="jsptabonglets"/> </Available> <Selected> <Reference value="userinfo"/> <Reference value="lienspublics"/> <Reference value="recherche"/> <Reference value="mailcheck"/> <Reference value="jsptabonglets"/> </Selected> <Channels> </Channels> </Container> <Container name="jsptabonglets" provider="jsptabcontainerprovider" merge="replace"> <String name="title" value="onglets"/> <String name="description" value="onglets"/> <String name="fontface1" value="arial"/> <String name="productname" value="portail de métrologie - CICG"/> <String name="width" value="thick" advanced="true"/> <String name="starttab" value="ongletcicg"/> <Available> <Reference value="ongletcicg"/> <Reference value="ongletcollaboratif"/> </Available> <Selected> <Reference value="ongletcicg"/> <Reference value="ongletcollaboratif"/> </Selected> <Channels> </Channels> </Container> <Container name="ongletcollaboratif" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="outils"/> <String name="description" value="outils collaboratifs"/> 126

127 9 - Annexes <String name="fontface1" value="arial"/> <String name="desktop-fontface1" value="arial"/> <String name="productname" value="portail de métrologie - CICG"/> <Available> <Reference value="calendar"/> <Reference value="discussionlite"/> <Reference value="discussions"/> <Reference value="mail"/> <Reference value="notes"/> </Available> <Selected> <Reference value="calendar"/> <Reference value="discussionlite"/> <Reference value="discussions"/> <Reference value="mail"/> <Reference value="notes"/> </Selected> <Channels> </Channels> </Container> <Container name="ongletnetmet" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="netmet"/> <String name="description" value="canaux vers NetMet"/> <Available> <Reference value="ongletnetmet/netmettigre"/> <Reference value="ongletnetmet/netmetcampus"/> <Reference value="ongletnetmet/netmetviallet"/> <Reference value="ongletnetmet/netmetvalence"/> </Available> <Selected> <Reference value="ongletnetmet/netmettigre"/> <Reference value="ongletnetmet/netmetcampus"/> <Reference value="ongletnetmet/netmetviallet"/> <Reference value="ongletnetmet/netmetvalence"/> </Selected> <Channels> <Channel name="netmettigre" provider="urlscraperprovider" merge="replace"> <String name="title" value="netmet Tigre"/> <String name="description" value="netmet Tigre"/> <String name="width" value="full_top"/> <ConditionalProperties condition="client" value="html"> <String name="url" value="file:///home/portail/cicg/iframe_netmet_tigre.html"/> </ConditionalProperties> </Channel> <Channel name="netmetcampus" provider="urlscraperprovider" merge="replace"> <String name="title" value="netmet Campus"/> <String name="description" value="netmet Campus"/> <String name="width" value="full_top"/> <ConditionalProperties condition="client" value="html"> <String name="url" value="file:///home/portail/cicg/iframe_netmet_campus.html"/> </ConditionalProperties> </Channel> <Channel name="netmetviallet" provider="urlscraperprovider" merge="replace"> 127

128 Infrastructure logicielle de portail : mise en œuvre d une solution complète. <String name="title" value="netmet Viallet"/> <String name="description" value="netmet Viallet"/> <String name="width" value="full_top"/> <ConditionalProperties condition="client" value="html"> <String name="url" value="file:///home/portail/cicg/iframe_netmet_viallet.html"/> </ConditionalProperties> </Channel> <Channel name="netmetvalence" provider="urlscraperprovider" merge="replace"> <String name="title" value="netmet Valence"/> <String name="description" value="netmet Valence"/> <String name="width" value="full_top"/> <ConditionalProperties condition="client" value="html"> <String name="url" value="file:///home/portail/cicg/iframe_netmet_valence.html"/> </ConditionalProperties> </Channel> </Channels> </Container> <Container name="ongletnetsec" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="netsec"/> <String name="description" value="netsec"/> <Available> </Available> <Selected> </Selected> <Channels> </Channels> </Container> <Container name="ongletsnort" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="snort"/> <String name="description" value="snort"/> <Available> <Reference value="ongletsnort/snort"/> </Available> <Selected> <Reference value="ongletsnort/snort"/> </Selected> <Channels> <Channel name="snort" provider="urlscraperprovider" merge="replace"> <String name="title" value="snort"/> <String name="description" value="snort"/> <String name="width" value="full_top"/> <ConditionalProperties condition="client" value="html"> <String name="url" value="file:///home/portail/cicg/iframe_snort.html"/> </ConditionalProperties> </Channel> </Channels> </Container> <Container name="ongletotrs" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="otrs"/> 128

129 9 - Annexes <String name="description" value="otrs"/> <Available> <Reference value="ongletotrs/otrs"/> </Available> <Selected> <Reference value="ongletotrs/otrs"/> </Selected> <Channels> <Channel name="otrs" provider="iframeprovider" merge="replace"> <String name="title" value="otrs"/> <String name="description" value="otrs"/> <String name="srcurl" value=" <String name="width" value="full_top"/> </Channel> </Channels> </Container> <Container name="ongletportillon" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="portillon"/> <String name="description" value="portillon"/> <Available> <Reference value="ongletportillon/portillon"/> <Reference value="ongletportillon/pctest"/> </Available> <Selected> <Reference value="ongletportillon/portillon"/> <Reference value="ongletportillon/pctest"/> </Selected> <Channels> <Channel name="portillon" provider="netletprovider" merge="replace"> <String name="title" value="portillon"/> <String name="width" value="full_top"/> <String name="description" value="portillon"/> </Channel> <Channel name="pctest" provider="pctestprovider" merge="replace"> <String name="title" value="pctest"/> </Channel> </Channels> </Container> <Channel name="astreinte" provider="urlscraperprovider" merge="replace"> <String name="title" value="astreinte"/> <String name="description" value="consultation de l&apos;astreinte"/> <String name="width" value="full_top"/> <ConditionalProperties condition="client" value="html"> <String name="url" value=" </ConditionalProperties> </Channel> <Container name="ongletastreinte" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="astreinte"/> <String name="description" value="astreinte"/> 129

130 Infrastructure logicielle de portail : mise en œuvre d une solution complète. <Available> <Reference value="astreinte"/> </Available> <Selected> <Reference value="astreinte"/> </Selected> <Channels> </Channels> </Container> <Container name="ongletsres" provider="jsptablecontainerprovider" merge="replace"> <String name="title" value="sres"/> <String name="description" value="outils du Département réseau"/> <Available> <Reference value="ongletsres/calendrierpartage"/> </Available> <Selected> <Reference value="ongletsres/calendrierpartage"/> </Selected> <Channels> <Channel name="calendrierpartage" provider="calendarprovider" merge="replace"> <String name="title" value="calendrier SRES"/> <String name="description" value="calendrier partagé au département réseau"/> <String name="width" value="full_top"/> </Channel> </Channels> </Container> <Channel name="calendar"> <String name="title" value="calendrier personnel"/> <String name="description" value="calendrier personnel"/> <String name="width" value="full_top"/> </Channel> <Channel name="portillon" provider="appprovider" merge="replace"> <String name="title" value="application vers Portillon"/> <String name="description" value="portillon???"/> </Channel> </Channels> <Providers> </Providers> </DisplayProfile> 130

131 9 - Annexes Fichier Display Profile du rôle InfoAstreinte : Ci-dessous, le fichier Display Profile du portail de métrologie accessible aux membres du rôle InfoAstreinte. <?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE DisplayProfile SYSTEM "jar://resources/psdp.dtd"> <DisplayProfile version="1.0" priority="user"> <Channels> <Container name="jsptabonglets"> <Available> <Reference value="ongletastreinte"/> </Available> <Selected> <Reference value="ongletastreinte"/> </Selected> <Channels> </Channels> </Container> </Channels> <Providers> </Providers> </DisplayProfile> 131

132 Infrastructure logicielle de portail : mise en œuvre d une solution complète. Fichier Display Profile du rôle MetrologieSRES Ci-dessous, le fichier Display Profile du portail de métrologie accessible aux membres du rôle MetrologieSRES. <DisplayProfile version="1.0" priority="user"> <Channels> <Container name="jsptabonglets"> <Available> <Reference value="ongletcicg"/> <Reference value="ongletcollaboratif"/> <Reference value="ongletsres"/> <Reference value="ongletbb"/> <Reference value="ongletnetmet"/> <Reference value="ongletotrs"/> <Reference value="ongletsnort"/> </Available> <Selected> <Reference value="ongletcicg"/> <Reference value="ongletcollaboratif"/> <Reference value="ongletsres"/> <Reference value="ongletbb"/> <Reference value="ongletnetmet"/> <Reference value="ongletotrs"/> <Reference value="ongletsnort"/> </Selected> <Channels> </Channels> </Container> </Channels> <Providers> </Providers> </DisplayProfile> 132

133 Annexes

134 Infrastructure logicielle de portail : mise en œuvre d une solution complète. MÉMOIRE D'INGÉNIEUR C.N.A.M. en INFORMATIQUE Infrastructure logicielle de portail : mise en œuvre d un solution complète. Philippe BEUTIN, Grenoble, le 31 mars Résumé et mots clés Résumé : L évolution des usages liés à l Internet a permis la mise en place de technologies «WEB» donnant accès à des sources variées d informations. Pour cela, nous sommes passés d une technologie statique ou dynamique à une technologie émergeante de type portail. Les effets de mode et les abus de langage font qu aujourd hui, le mot «portail» couvre différents concepts et qu il est difficile de s'y retrouver. Ce mémoire commence par une clarification de ce point en s'attachant à faire le tour des différents types de «portail». Il propose ensuite une analyse des principales techniques et protocoles utilisés pour présenter cette information et interagir avec les Systèmes d'information des entreprises. Le problème posé par ce dernier point touche la diffusion sélective d'information et l'identification de l'usager. Ce mémoire présente les besoins exprimés pour la mise en place d'un portail de métrologie au sein du CICG. Ce portail s'adresse non seulement aux personnes en charge des réseaux et des systèmes informatiques mais aussi à un ensemble de partenaires n'ayant pas tous accès aux mêmes espaces de présentation. L'étude montre les services à visualiser au travers de ce portail et, après un panorama des principales solutions, détaille largement sa mise en oeuvre sur une technologie particulière : Sun Java Enterprise Server. À travers cette réalisation complète, les bases sont établies pour travailler sur un projet ambitieux qui touche la mise en place des Espaces Numériques de Travail pour les universités grenobloises et donne les pistes de travail sur les points d'architecture à traiter avec attention dans ce domaine. Mots-clés : Portail, CMS, Espace Numérique de Travail, Environnement Numérique de Travail, ENT, Authentification Unique, SSO, Sun Java Enterprise System, JES, Portlets, JSR-168. Keywords : Portal, CMS, Content Management System, Single Sign-On, SSO, Sun Java Enterprise System, JES, Portlets, JSR

Urbanisme du Système d Information et EAI

Urbanisme du Système d Information et EAI Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat

Plus en détail

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. 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

Plus en détail

Les nouvelles architectures des SI : Etat de l Art

Les nouvelles architectures des SI : Etat de l Art Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre

Plus en détail

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES DÉCOUVREZ DES POSSIBILITÉS ILLIMITÉES GRÂCE A L INTÉGRATION À DES SYSTÈMES D ENTREPRISE EXISTANTS FONCTIONNALITÉS Connectivité des systèmes

Plus en détail

WEBSPHERE & RATIONAL. Jacques Rage

WEBSPHERE & RATIONAL. Jacques Rage WEBSPHERE & RATIONAL Jacques Rage Agenda Websphere WAS MQ Commerce et Portail Smash Travailler avec Webphere : Rational Les nouveaux venus Vendre Websphere Les liens Websphere qu'est ce que c'est? C'est

Plus en détail

Mise en œuvre des serveurs d application

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

Plus en détail

Quel ENT pour Paris 5?

Quel ENT pour Paris 5? Quel ENT pour Paris 5? Objectifs et Enjeux Contexte et ob jectifs du projet Objectifs Mettre à disposition des usagers de l établissement (étudiants, personnels, partenaires, contacts, internautes) : un

Plus en détail

Les Architectures Orientées Services (SOA)

Les Architectures Orientées Services (SOA) Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie

Plus en détail

Evidian IAM Suite 8.0 Identity Management

Evidian IAM Suite 8.0 Identity Management Evidian IAM Suite 8.0 Identity Management Un livre blanc Evidian Summary Evidian ID synchronization. Evidian User Provisioning. 2013 Evidian Les informations contenues dans ce document reflètent l'opinion

Plus en détail

Module BD et sites WEB

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

Plus en détail

Notre Catalogue des Formations IT / 2015

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

Plus en détail

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

Votre infrastructure est-elle? La collaboration informatique. améliore la performance globale Votre infrastructure est-elle? La collaboration informatique améliore la performance globale Des processus automatisés Travail isolé ou processus de groupe : où en êtes-vous? Le travail en équipe a toujours

Plus en détail

Architectures web/bases de données

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

Plus en détail

Hébergement de sites Web

Hébergement de sites Web Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise

Plus en détail

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

Comparatif CMS. Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA Comparatif CMS Laurent BAUREN S Bérenger VIDAL Julie NOVI Tautu IENFA Sommaire Introduction : Dans le cadre de notre projet de master première année, il nous a été demandé de développer un moteur de recherche

Plus en détail

Contexte : «l e-business» TECHNIQUES DE MARKETING EN LIGNE. Contexte : «l e-business» Création de valeur 02/02/12

Contexte : «l e-business» TECHNIQUES DE MARKETING EN LIGNE. Contexte : «l e-business» Création de valeur 02/02/12 Contexte : «l e-business» TECHNIQUES DE MARKETING EN LIGNE La notion «d E-Business» recouvre les différentes applications possibles de l'informatique faisant appel aux technologies de l'information et

Plus en détail

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep 2006. Marie-France Landréa - Observatoire de Paris

SYSTÈMES DE PUBLICATION POUR L INTERNET. Beatep 2006. Marie-France Landréa - Observatoire de Paris SYSTÈMES DE PUBLICATION POUR L INTERNET Beatep 2006 SPIP UN système de publication sur Internet Marie-France Landréa - Observatoire de Paris Caractéristiques des CMS Des auteurs (de contenu) Créent, d

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Table des matières Avant-propos................................................ 1 Quel est l objectif de cet ouvrage?............................. 4 La structure

Plus en détail

Administration de systèmes

Administration de systèmes Administration de systèmes Windows NT.2000.XP.2003 Copyright IDEC 2002-2004. Reproduction interdite. Sommaire... 2 Eléments logiques et physiques du réseau... 5 Annuaire et domaine... 6 Les utilisateurs

Plus en détail

CAHIER DES CHARGES D IMPLANTATION

CAHIER DES CHARGES D IMPLANTATION CAHIER DES CHARGES D IMPLANTATION Tableau de diffusion du document Document : Cahier des Charges d Implantation EVRP Version 6 Etabli par DCSI Vérifié par Validé par Destinataires Pour information Création

Plus en détail

Portail collaboratif Intranet documentaire Dématérialisation de processus

Portail collaboratif Intranet documentaire Dématérialisation de processus Portail collaboratif Intranet documentaire Dématérialisation de processus 2 Le groupe Divalto, Solutions de gestion Catalyseur de performance Créé en 1982, le groupe Divalto propose des solutions de gestion

Plus en détail

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

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage Technologies du Web Créer et héberger un site Web Page 1 / 26 Plan Planification Choisir une solution d hébergement Administration Développement du site Page 2 / 26 Cahier des charges Objectifs du site

Plus en détail

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

2.1 Liferay en un clin d'oeil... 4 2.2 Forces, faiblesses, opportunités et menaces... 4 2.3 Résumé de notre évaluation... 5 Livre Blanc LE PORTAIL D'INTÉGRATION LIFERAY Version 1.0 - Novembre 2006 SOMMAIRE 1 PRÉSENTATION... 3 2 SYNTHÈSE... 4 2.1 Liferay en un clin d'oeil... 4 2.2 Forces, faiblesses, opportunités et menaces...

Plus en détail

Mise en place d un intranet de travail collaboratif. Guide utilisateur

Mise en place d un intranet de travail collaboratif. Guide utilisateur Mise en place d un intranet de travail collaboratif Guide utilisateur 03/05/2010 Sommaire 1. Introduction... 4 2. Premier contact avec Le portail... 4 2.1 Se connecter au portail.... 4 2.1.1 Inscription

Plus en détail

Architecture et infrastructure Web

Architecture et infrastructure Web Architecture et infrastructure Web par Patrice Caron http://www.patricecaron.com [email protected] Ordre du jour Entreprises / Gouvernements Introduction: Architecture orientée services? Quelques

Plus en détail

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

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

Plus en détail

Nouvelles Plateformes Technologiques

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.

Plus en détail

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

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

Plus en détail

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0

Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Groupe Eyrolles, 2004 ISBN : 2-212-11504-0 Avant-propos L économie en réseau, ou la netéconomie, est au cœur des débats et des stratégies de toutes les entreprises. Les organisations, qu il s agisse de

Plus en détail

! " # $ % & OPN Day Paris 14 mars 2006

!  # $ % & OPN Day Paris 14 mars 2006 '! " # $ % & L information en entreprise X2/an 40% 70% X5 Quelques chiffres! "# $ % &' )# $ * +*!% &' ' (! La voie de la Collaboration Solutions différentiées Plateforme intégrée Email & Calendrier Portails

Plus en détail

http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation, Tutoriels, Astuces

http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation, Tutoriels, Astuces Maryem Rhanoui 2013 Alfresco Liens utiles Le site Alfresco : http://www.alfresco.com/fr/ Le Portail Content Community http://www.alfresco.com/fr/community/register/?source=docs Extensions, Documentation,

Plus en détail

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information. PACBASE «Interrogez le passé, il répondra présent.». Le Module e-business Les entreprises doivent aujourd hui relever un triple défi. D une part, elles ne peuvent faire table rase de la richesse contenue

Plus en détail

«Les documents référencés ci-dessus étant protégés par les droits d auteur et soumis à la déclaration au Centre Français d exploitation du droit de

«Les documents référencés ci-dessus étant protégés par les droits d auteur et soumis à la déclaration au Centre Français d exploitation du droit de 1 2 «Les documents référencés ci-dessus étant protégés par les droits d auteur et soumis à la déclaration au Centre Français d exploitation du droit de Copie, seules les références bibliographiques peuvent

Plus en détail

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

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hé[email protected]

Plus en détail

1 JBoss Entreprise Middleware

1 JBoss Entreprise Middleware 1 JBoss Entreprise Middleware Les produits de la gamme JBoss Entreprise Middleware forment une suite de logiciels open source permettant de construire, déployer, intégrer, gérer et présenter des applications

Plus en détail

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 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

Plus en détail

En date du 11 décembre 2008

En date du 11 décembre 2008 R E F O N T E S I T E W E B G F I E CAHIER DES CHARGES ET DEVIS En date du 11 décembre 2008 ADITEL - WEB AGENCY 4 RUE CAROLINE 75017 PARIS Tel 01 44 70 02 77 SARL AU CAPITAL DE 20 000 EUROS R.C.S BOBIGNY

Plus en détail

MIEUX APPREHENDER LE VOCABULAIRE DU WEB ET DE L E-TOURISME

MIEUX APPREHENDER LE VOCABULAIRE DU WEB ET DE L E-TOURISME MIEUX APPREHENDER LE VOCABULAIRE DU WEB ET DE L E-TOURISME back office e-tourisme hébergeur internet base de données navigateur médias sociaux blog mentions légales e-commerce cahier des charges newsletter

Plus en détail

Travail collaboratif et à distance. DFGSM 2 Pr. F. Kohler 2012/2013

Travail collaboratif et à distance. DFGSM 2 Pr. F. Kohler 2012/2013 Travail collaboratif et à distance. DFGSM 2 Pr. F. Kohler 2012/2013 Définition et domaines Travail mettant en jeux plusieurs acteurs à distance Organisation du travail : Agenda, Annuaire, liste de diffusion,

Plus en détail

«Clustering» et «Load balancing» avec Zope et ZEO

«Clustering» et «Load balancing» avec Zope et ZEO «Clustering» et «Load balancing» avec Zope et ZEO IN53 Printemps 2003 1 Python : généralités 1989 : Guido Van Rossum, le «Python Benevolent Dictator for Life» Orienté objet, interprété, écrit en C Mêle

Plus en détail

Logiciels libres et Open source

Logiciels libres et Open source Logiciels libres et Open source ANDSI 13/04/2004 NGO Can Chieu Plan Les concepts Linux Système d'exploitation Linux pour serveurs Linux pour stations Serveurs d applications Développement Applications

Plus en détail

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

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.

Plus en détail

Gestion des identités

Gestion des identités HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Gestion des identités 17 décembre 2004 Hervé Schauer CISSP, ProCSSI

Plus en détail

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures Software propose une offre d intégration unique, qui apporte l équilibre parfait entre investissements et performances pour les entreprises qui doivent sans cesse améliorer leurs processus. Des caractéristiques

Plus en détail

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

CAHIER DES CLAUSES TECHNIQUES PARTICULIÈRES (CCTP) MISE EN PLACE ET MAINTENANCE D UN MOTEUR DE RECHERCHE PREMIER MINISTRE SECRÉTARIAT GÉNÉRAL DU GOUVERNEMENT CAHIER DES CLAUSES TECHNIQUES PARTICULIÈRES (CCTP) MISE EN PLACE ET MAINTENANCE D UN MOTEUR DE RECHERCHE SUR LES SITES INTERNET GÉRÉS PAR LA DOCUMENTATION

Plus en détail

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware 1 Introduction Ce chapitre décrit Oracle Fusion Middleware. Il comprend : o Qu'est-ce que Middleware o Les fonction de Middleware o L'architecture de conception Middleware o L'architecture orientée services

Plus en détail

Manuel d utilisation du site web de l ONRN

Manuel d utilisation du site web de l ONRN Manuel d utilisation du site web de l ONRN Introduction Le but premier de ce document est d expliquer comment contribuer sur le site ONRN. Le site ONRN est un site dont le contenu est géré par un outil

Plus en détail

1 LE L S S ERV R EURS Si 5

1 LE L S S ERV R EURS Si 5 1 LES SERVEURS Si 5 Introduction 2 Un serveur réseau est un ordinateur spécifique partageant ses ressources avec d'autres ordinateurs appelés clients. Il fournit un service en réponse à une demande d un

Plus en détail

Chapitre 9 : Informatique décisionnelle

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

Plus en détail

Jean-Philippe VIOLET Solutions Architect

Jean-Philippe VIOLET Solutions Architect Jean-Philippe VIOLET Solutions Architect IBM Cognos: L' Expertise de la Gestion de la Performance Acquis par IBM en Janvier 08 Rattaché au Brand Information Management Couverture Globale 23,000 clients

Plus en détail

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source

Windows (2000/NT), Solaris, AIX, HP-UX, Linux Haute disponibilité : SunCluster 3, Veritas Cluster Server 4. J2EE (JSP, Servlet, EJB, JTA), Open Source David MAFFRAND Architecte SI E-mail : [email protected] Web : http://dmaf.free.fr Certifié Weblogic Server 6 Certifié webmethods Integration 4.6 Certifié webmethods Enterprise 5.0 Certifié webmethods

Plus en détail

Introduction MOSS 2007

Introduction MOSS 2007 Introduction MOSS 2007 Z 2 Chapitre 01 Introduction à MOSS 2007 v. 1.0 Sommaire 1 SharePoint : Découverte... 3 1.1 Introduction... 3 1.2 Ce que vous gagnez à utiliser SharePoint... 3 1.3 Dans quel cas

Plus en détail

GOOGLE, OUTILS EN LIGNE

GOOGLE, OUTILS EN LIGNE Powered by TCPDF (www.tcpdf.org) GOOGLE, OUTILS EN LIGNE Powered by TCPDF (www.tcpdf.org) Sommaire Formation Google Apps, utilisateur - 3 Google Apps, administrateur - 5 Office 365, prise en main - 8 Google

Plus en détail

Petite définition : Présentation :

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

Plus en détail

Glossaire. www.themanualpage.org ( themanualpage.org) soumises à la licence GNU FDL.

Glossaire. www.themanualpage.org ( themanualpage.org) soumises à la licence GNU FDL. Glossaire Ce glossaire contient les termes techniques et de spécialité les plus employés dans cette thèse. Il emprunte, pour certaines d entre elles, les définitions proposées par www.themanualpage.org

Plus en détail

Environnements Numériques de Travail

Environnements Numériques de Travail Sources : Mission TICE Orléans-Tours Environnements Numériques de Travail Qu est-ce que l ENT? Un Environnement Numérique de Travail (ENT) a pour objectif de fournir à chaque utilisateur (enseignant, élève,

Plus en détail

Tour d horizon des différents SSO disponibles

Tour d horizon des différents SSO disponibles Tour d horizon des différents SSO disponibles L. Facq, P. Depouilly, B. Métrot, R. Ferrere ANF Les systèmes d authentification dans la communauté ESR : étude, mise en oeuvre et interfaçage dans un laboratoire

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna [email protected] Développement des systèmes d Information Syllabus

Plus en détail

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) 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

Plus en détail

Politique et charte de l entreprise INTRANET/EXTRANET

Politique et charte de l entreprise INTRANET/EXTRANET Politique et charte de l entreprise INTRANET/EXTRANET INTRANET/EXTRANET LES RESEAUX / 2 DEFINITION DE L INTRANET C est l internet interne à un réseau local (LAN) c'est-à-dire accessibles uniquement à partir

Plus en détail

LES SOLUTIONS OPEN SOURCE RED HAT

LES SOLUTIONS OPEN SOURCE RED HAT LES SOLUTIONS OPEN SOURCE RED HAT Red Hat, le fournisseur leader Linux et de l open source mondial a son siège à Raleigh, en Caroline du Nord, avec des bureaux dans le monde entier. Red Hat propose les

Plus en détail

25 % EXPERTS PAR AN. + de 20. + de 35. près de 50 DE CROISSANCE DE L OPEN SOURCE ANNÉES D EXPERIENCE AU SERVICE DE L OPEN SOURCE

25 % EXPERTS PAR AN. + de 20. + de 35. près de 50 DE CROISSANCE DE L OPEN SOURCE ANNÉES D EXPERIENCE AU SERVICE DE L OPEN SOURCE PRESENTATION DE 700 25 % DE L OPEN SOURCE PAR AN DE CROISSANCE EXPERTS + de 20 ANNÉES D EXPERIENCE AU SERVICE DE L OPEN SOURCE + de 35 PARTENAIRES OPEN SOURCE près de 50 Smile Open Source Solutions - Toute

Plus en détail

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

Gestion des Identités : 5 règles d'or. Patrice Kiotsekian Directeur Evidian France Gestion des Identités : 5 règles d'or Patrice Kiotsekian Directeur Evidian France Page 1 - Mai 2005 Défi N 1 : la gestion de la cohérence Alors que les référentiels et bases d identité et de sécurité sont

Plus en détail

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

Constat ERP 20% ECM 80% ERP (Enterprise Resource Planning) = PGI (Progiciel de Gestion Intégré) Constat Les études actuelles montrent que la proportion d'informations non structurées représente aujourd'hui plus de 80% des informations qui circulent dans une organisation. Devis, Contrats, Factures,

Plus en détail

Catalogue des Formations Techniques

Catalogue des Formations Techniques Catalogue des Formations Techniques Items Média Concept 4, allées Pierre-Gilles de Gennes - 33700 Mérignac Téléphone : 05.57.35.73.73 Télécopie : 05.57.35.73.70 Courriel : [email protected] 2 Préambule

Plus en détail

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation Base de données S. Lèbre [email protected] Université de Strasbourg, département d informatique. Présentation du module Contenu général Notion de bases de données Fondements / Conception Utilisation :

Plus en détail

Java pour le Web. Cours Java - F. Michel

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

Plus en détail

Web & Libre. Outils pour être présent sur le net librement

Web & Libre. Outils pour être présent sur le net librement Web & Libre Outils pour être présent sur le net librement Logiciel libre Un logiciel libre est un logiciel dont l'utilisation, l'étude, la modification et la duplication en vue de sa diffusion sont permises,

Plus en détail

Soutenance de projet

Soutenance de projet Brevet de Technicien Supérieur Informatique de Gestion. Benoît HAMET Session 2002 Soutenance de projet......... Soutenance de projet Sommaire Sommaire...2 Présentation de la société...3 Mise en œuvre d

Plus en détail

WebSSO, synchronisation et contrôle des accès via LDAP

WebSSO, synchronisation et contrôle des accès via LDAP 31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot Thomas Chemineau Sommaire général Synchronisation d'identités WebSSO et contrôle des accès Démonstration

Plus en détail

IBM Tivoli Monitoring, version 6.1

IBM Tivoli Monitoring, version 6.1 Superviser et administrer à partir d une unique console l ensemble de vos ressources, plates-formes et applications. IBM Tivoli Monitoring, version 6.1 Points forts! Surveillez de façon proactive les éléments

Plus en détail

La haute disponibilité de la CHAINE DE

La haute disponibilité de la CHAINE DE Pare-feu, proxy, antivirus, authentification LDAP & Radius, contrôle d'accès des portails applicatifs La haute disponibilité de la CHAINE DE SECURITE APPLICATIVE 1.1 La chaîne de sécurité applicative est

Plus en détail

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

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

Plus en détail

Messagerie & Groupeware. augmentez l expertise de votre capital humain

Messagerie & Groupeware. augmentez l expertise de votre capital humain Messagerie & Groupeware augmentez l expertise de votre capital humain OUTLOOK 2010* Etude des fonctionnalités d un logiciel de messagerie Tout public 1 journée MG01 Maîtrise de l environnement Windows

Plus en détail

Gestion collaborative de documents

Gestion collaborative de documents Gestion collaborative de documents ANT box, le logiciel qui simplifie votre GED Les organisations (entreprises, collectivités, associations...) génèrent chaque jour des millions de documents, e-mails,

Plus en détail

NEXTDB Implémentation d un SGBD Open Source

NEXTDB Implémentation d un SGBD Open Source DIT - INFRA Demande d information (RFI) NEXTDB Implémentation d un SGBD Open Source Réf. : INFRA_NEXTDB_RFI.docx Page 1/8 Demande d information Projet NEXTDB Implémentation d un SGBD Open Source SOMMAIRE

Plus en détail

Annuaires LDAP et méta-annuaires

Annuaires LDAP et méta-annuaires Annuaires LDAP et méta-annuaires Laurent Mynard Yphise 6 rue Beaubourg - 75004 PARIS [email protected] - http://yphise.fr T 01 44 59 93 00 F 01 44 59 93 09 LDAP020314-1 Agenda A propos d Yphise Les annuaires

Plus en détail

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Urbanisation des SI Des composants technologiques disponibles Urbanisation des Systèmes d'information Henry Boccon Gibod 1 Plan de l'exposé Technologies à la mode disponibles. Bus de données, ETL et EAI

Plus en détail

Industrialisation du déploiement d'applications et de socles techniques

Industrialisation du déploiement d'applications et de socles techniques Industrialisation du déploiement d'applications et de socles techniques 3 février 2011 Thierry Delacroix Cédric Andry José Poscente Sommaire! Notre approche de l'industrialisation! Retours d expériences

Plus en détail

Définition. Caractéristiques. - Du partage des ressources : espace de stockage, imprimantes, lignes de communication.

Définition. Caractéristiques. - Du partage des ressources : espace de stockage, imprimantes, lignes de communication. CONNECTER LES SYSTEMES ENTRE EUX L informatique, au cœur des tâches courantes, a permis de nombreuses avancées technologiques. Aujourd hui, la problématique est de parvenir à connecter les systèmes d information

Plus en détail

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.

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. PERSPECTIVES Le Single Sign-On mobile vers Microsoft Exchange avec OWA et ActiveSync Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des

Plus en détail

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

E.N.T. Espace Numérique de Travail E.N.T. Espace Numérique de Travail Portail de l UM2 Outil de communication, de partage, de stockage, Présentation et Modalités d utilisation Page 1 sur 20 Sommaire I. Présentation du portail 3 A. Le concept

Plus en détail

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

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

Plus en détail

«clustering» et «load balancing» avec Zope et ZEO

«clustering» et «load balancing» avec Zope et ZEO IN53 Printemps 2003 «clustering» et «load balancing» avec Zope et ZEO Professeur : M. Mignot Etudiants : Boureliou Sylvain et Meyer Pierre Sommaire Introduction...3 1. Présentation générale de ZEO...4

Plus en détail

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 AISL - Architecture et Intégration des Systèmes Logiciels - 2011-2012 webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09 Administrer un serveur et

Plus en détail

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3

Jahia. Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3 Jahia Guillaume Monnette École Ingénieurs 2000 Marne-La-Vallée IR3 Qu'est ce que c'est? Jahia est une solution de portail internet et de gestion de contenu destiné aux entreprises. (CMS and Enterprise

Plus en détail

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de

Webinar. Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL. avec la participation de En partenariat avec Webinar Découvrez Rubedo, la première solution CMS open-source tirant profit des atouts de Zend Framework et du NoSQL avec la participation de 19 mars 2013 Qui sommes-nous? INTRODUCTION

Plus en détail

CA 2011 M. +40% de croissance 7. agences en France. Paris Lyon Nantes Bordeaux Montpellier Aix en Provence

CA 2011 M. +40% de croissance 7. agences en France. Paris Lyon Nantes Bordeaux Montpellier Aix en Provence 1 Introduction 1 2 Groupe Smile : fiche d identité une vision simple, utile & performant 20 ans d expérience 1 er intégrateur et développeur de solutions en code ouvert en Europe Plusieurs gammes de solutions

Plus en détail

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA I. Introduction Suite à une demande des étudiants, il m'est apparu intéressant de montrer, à travers un exemple concret, comment

Plus en détail

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D

NOVA BPM. «Première solution BPM intégr. Pierre Vignéras Bull R&D NOVA BPM «Première solution BPM intégr grée» Pierre Vignéras Bull R&D Définitions Business Process Pratiques existantes qui permettent aux personnes et systèmes de travailler ensemble Business Process

Plus en détail

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Dans nos locaux au 98 Route de Sauve 30900 NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur FORMATION FORFAIT WEB DEVELOPPEUR Qualification ISQ OPQF Formacode 46 125 Certification de titre professionnel Web Designer + modules optionnels : Développement PHP/MySQL avancé, Web App, CMS e-boutique

Plus en détail

L'intégration de Moodle à l'université Rennes 2 Haute Bretagne

L'intégration de Moodle à l'université Rennes 2 Haute Bretagne L'intégration de Moodle à l'université Rennes 2 Haute Bretagne Intervenant : Arnaud Saint-Georges Centre de Ressources Informatiques de l'université Rennes 2 Haute Bretagne Arnaud.Saint-Georges @uhb.fr.

Plus en détail

DESCRIPTION DU COMPOSANT

DESCRIPTION DU COMPOSANT Gestion des utilisateurs et des accès Composant pour un Egov intégré Qu'est-ce qu'un composant? C est un élément indispensable à l intégration des systèmes e-gov des différents niveaux politiques. Cet

Plus en détail

Imaginez un Intranet

Imaginez un Intranet Imaginez un Intranet clé en main et économique, adapté à vos besoins! Connectikup : Votre solution intranet/extranet/portail collaboratif Vous avez besoin de partager, organiser, synchroniser et sécuriser

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Chapitre 1 Windows Server 2008 11

Chapitre 1 Windows Server 2008 11 Chapitre 1 Windows Server 2008 11 1.1. Les fondations du système... 15 1.2. La virtualisation... 16 1.3. La sécurité... 18 1.4. Le Web... 20 1.5. Fonctionnalité disponible dans Windows Server 2008... 21

Plus en détail

Déjeuner EIM 360 - Enterprise Information Management. Mardi 16 novembre 2010 Restaurant l Amourette Montreuil Thomas Dechilly CTO Sollan

Déjeuner EIM 360 - Enterprise Information Management. Mardi 16 novembre 2010 Restaurant l Amourette Montreuil Thomas Dechilly CTO Sollan Déjeuner EIM 360 - Enterprise Information Management Mardi 16 novembre 2010 Restaurant l Amourette Montreuil Thomas Dechilly CTO Sollan (Extract du livre blanc) Introduction... 2 Continuité des pratiques

Plus en détail