Vous êtes sur la page 1sur 42
Mise en place du portail internet et développement de téléprocédures Réalisé par: Chekib AYED Promotion:
Mise en place du portail internet et développement de téléprocédures Réalisé par: Chekib AYED Promotion:

Mise en place du portail internet et développement de téléprocédures

du portail internet et développement de téléprocédures Réalisé par: Chekib AYED Promotion: 2010/2011

Réalisé par: Chekib AYED Promotion: 2010/2011 Parcours: Master Mathématiques et Informatiques de systèmes complexes et distribuées Enseignant Responsable: Mr Claude DUVALLET Période de stage: 01/03/2010 jusqu’à 30/06/2010

Rapport de stage 2009/2010

Rapport de stage

2009/2010

RemerciementsRemerciementsRemerciementsRemerciements

Je tiens à présenter mes reconnaissances et mes remerciements à mon professeur encadrant Mr. Claude DUVALLET, pour le temps consacré à la lecture et aux réunions qui ont rythmées les différentes étapes de mon mémoire. Les discussions que nous avons partagées ont permis d’orienter mon travail d’une manière pertinente. Je le remercie aussi pour sa disponibilité à encadrer ce travail à travers ses critiques et ses propositions d’amélioration.

Un remerciement particulier à Mr Olivier RAVEL, pour le soutien qu’il m’a apporté tout au long du stage réalisé au sein de l’entreprise GFI.

Je remercie également Mr. Nicolas Grué et Mr. Legouda Kasso, pour leur patiences, leur amabilités, leur coopérations et pour tous les conseils et les informations qu’ils m’ont dispensé afin que ce stage se passe dans les meilleures conditions. Je remercie également toute l’équipe de l’entreprise E- qui a essayé de créer une ambiance favorable au bon déroulement de ce stage.

Je remercie évidement tous les membres du jury qui ont assuré un suivi régulier à ce

travail.

Enfin je remercie toutes les personnes qui ont contribué de prés ou de loin à la réalisation de ce mémoire, ainsi qu’au bon déroulement du stage, et dont les noms ne figurent pas dans ce document.

Rapport de stage 2009/2010

Rapport de stage

2009/2010

DédicaceDédicaceDédicaceDédicace

AAAAu Dieu tout puissant mon créateur.

AAAA la mémoire de mes grands-parents.

AAAA mon père, en signe d’amour, de reconnaissance et

de gratitude pour tous les soutiens et les sacrifices dont il a fait preuve à mon égard.

AAAA ma mère, ma raison d’être, ma raison de vivre, la

lanterne qui éclaire mon chemin et m’illumine de douceur et d’amour.

AAAA mes frères.

AAAA mes amis, et à tous mes proches.

Rapport de stage 2009/2010

Rapport de stage

2009/2010

LeLeLeLe SujetSujetSujetSujet

Dans le but de valider mon master en Mathématiques et Informatiques de système complexes et distribués. J’ai effectué ce stage dans la société GFI. Plus précisément, c’est dans le Centre de Compétences eBusiness du Groupe GFI Informatique. Les principaux objectifs de mon stage est de participé avec l’équipe de E-business pour la mise en place d’une plate- forme portail Internet et développement des procédures de télévente Transports. Ces objectifs sont :

-Participation à la mise en œuvre des outils de travail collaboratif de liferay -Participation à la mise en œuvre un processus métier avec JBPM pour la réalisation de téléprocédure. - Participation à l’intégration de l’ensemble de ces composants au sein d’un portail unique.

Rapport de stage 2009/2010

Rapport de stage

2009/2010

TableTableTableTable desdesdesdes matièresmatièresmatièresmatières

Remerciement

2

Dédicace

3

Sujet

4

Tables des figures

6

1

Présentation de l’entreprise

8

1.1 Une ambition dynamisée par l’approche sectorielle

8

1.2 GFI Informatique en France

9

1.2.1 GFI Informatique en Europe

9

1.2.2 GFI Informatique dans le reste du monde

10

1.3 E-Business

10

1.4 Partenaires

11

1.5 Métiers :

11

1.5.1

Banque et Assurance

11

1.5.2

Industrie, Distribution, Services

12

1.5.3

Secteur Public

12

1.5.4

Telecom et Media

12

2

Liferay Portal

13

2.1 Présentation liferay

13

2.2 Plateforme entreprise de portail : Portlet JSR-168 et JSR 286

13

2.2.1 Portlet

13

2.2.2 JSR-168

14

2.2.3 JSR-268

15

2.2.4 Portlet Life cycle

15

2.2.5 Interactions

17

2.3 Architecture Technique de la portlet

17

2.4 Administration de portail liferay

18

2.4.1 Content management system et web content management

19

2.4.2 Gestion d’utilisateurs

19

2.4.3 Gestion de pages

19

2.4.4 Publication à distance

20

2.4.5 Configuration des droits et gestion de la sécurité

20

2.4.6 Les outils collaboratifs

20

2.4.7 Gestionnaire de documents

21

2.5 Conclusion

21

3 Démarche de projet

3.1 Phase de spécifications fonctionnelles et techniques

21

22

3.1.1 Spécifications fonctionnelles

22

3.1.2 Spécifications techniques

22

3.2 Phase de conception préliminaire et détaillé

23

3.2.1 Conception préliminaire

23

3.2.2 Conception détaillée

23

3.3 Phase Codage et tests unitaires

23

3.4 Phase de validation

24

Rapport de stage 2009/2010

Rapport de stage

2009/2010

3.5

Conclusion :

4 Développement des Téléprocédures (Workflow)

24

25

4.1 Qu’est ce qu’un workflow

25

4.2 Fonctionnement de workflows

25

4.3 Présentation des moteurs de workflow

25

4.4 Workflow JBPM

26

4.4.1 Présentation

26

4.4.2 Les différents éléments d'un workflow JBPM

27

4.5 Gestion des Téléprocédures Transports

28

4.5.1

Administration de téléprocédure

29

4.5.2

Gestion de téléprocédure par le système

30

4.5.3

Modélisation de Téléprocédure

33

5

Conclusion

39

6

Glossaire

40

7

Source & Bibliographie

41

Rapport de stage 2009/2010

Rapport de stage

2009/2010

TableTableTableTable desdesdesdes FigureFigureFigureFigure

Figure 1: GFI Informatique en France

9

Figure 2: GFI Informatique en Europe

9

Figure 3: GFI Informatique en Europe

10

Figure 4: Le cycle de vie d’un portlet

16

Figure 5: Interaction

17

Figure 6: Architecture technique des portlets

18

Figure 7: Démarche de projet

22

Figure 8: JBPM

26

Figure 9: Portlet Workflow

29

Figure 10: Portlet Workflow-Mode utilisateur

30

Figure 11: Gestion de téléprocédure par le système

30

Figure 12: Diagramme d’activité de téléprocédure Usager

31

Figure 13: Diagramme d’activité de téléprocédure Administrateur

32

Figure 14: Diagramme d’activité de téléprocédure Valideur

33

Figure 15: Modèle de définition

34

Figure 16: Portlet Workflow Personnalisée

34

Figure 17: Définition d’une téléprocédure

35

Figure 18: Ajouter Définition d’une téléprocédure

36

Figure 19: Liste de définitions

36

Figure 20: Portlet Workflow-Liste des instances de téléprocédure

37

Figure 21: Portlet Workflow-Formulaire

37

Rapport de stage 2009/2010

Rapport de stage

2009/2010

11 PPRREESSEENNTTAATTIIOONN DDEE LLEENNTTRREEPPRRIISSEE

Acteur incontournable des services à valeur ajoutée et des logiciels en Europe du Sud, GFI s’est développé de manière significative ces dernières années en s’appuyant sur son expertise et ses compétences dans cinq branches : Consulting, Applications Services, Enterprise Solutions, Infrastructures Services et Software. En 2009 GFI a réalisé un chiffre d’affaires 663,9 millions d’euros pour un effectif de plus de 9000 collaborateurs. GFI est implanté dans toute la France autour de trois grandes régions et avec plus de 40 agences. A l’international le Groupe compte des filiales en Belgique, au Luxembourg, en Suisse, en Espagne, au Portugal, au Maroc et au Canada.

UUNNEE AAMMBBIITTIIOONN DDYYNNAAMMIISSEEEE PPAARR LLAAPPPPRROOCCHHEE SSEECCTTOORRIIEELLLLEE

11 11

GFI a choisi de développer une stratégie fondée sur une approche sectorielle systématique. Cette dynamique a pour but de répondre aux nouvelles exigences du marché, de plus en plus axées sur la connaissance métier, au-delà de l’expertise technologique. L’approche sectorielle va permettre à GFI de progresser dans la chaîne de valeur en proposant de nouvelles offres structurées pour chaque secteur, et de capitaliser sur ses positions fortes en France pour se développer en Europe, et plus particulièrement en Europe du Sud. Elle s’appuie sur une organisation matricielle autour de cinq secteurs majeurs :

Bank-Insurance avec pour grands clients BNP Paribas, Caisses d’Epargne, Crédit Agricole, Société Générale, Fortis, Caja de Madrid …organisation matricielle autour de cinq secteurs majeurs : Public Sector avec parmi ses clients les plus

Public Sector avec parmi ses clients les plus grands Ministères, une centaine d’établissements publics, 9 régions, 70 départements 170 communes, les Gouvernements Basque, de Catalogne, d’Andalousie…Agricole, Société Générale, Fortis, Caja de Madrid … Telecom-Media avec des clients majeurs comme Orange,

Telecom-Media avec des clients majeurs comme Orange, Telefonica, Vodafone, SFR, Bouygues Télécom, Radio-France Transport-Services-Industry-Retail avec des grands clients comme la SNCF, la RATP, Air France, La Poste, Eurocontrol, …les Gouvernements Basque, de Catalogne, d’Andalousie… Utilities-Energy-Chemicals avec des clients comme EDF,

Utilities-Energy-Chemicals avec des clients comme EDF, GDF-Suez, Total, Areva…la SNCF, la RATP, Air France, La Poste, Eurocontrol, … Mise en Place de portail intranet

Rapport de stage 2009/2010

Rapport de stage

2009/2010

11 22

GGFFII IINNFFOORRMMAATTIIQQUUEE EENN FFRRAANNCCEE

M A A T T I I Q Q U U E E E E N

Figure 1: GFI Informatique en France

1.2.1 GFI Informatique en Europe

GFI Informatique en France 1.2.1 GFI Informatique en Europe Figure 2: GFI Informatique en Europe Mise

Figure 2: GFI Informatique en Europe

Rapport de stage 2009/2010

Rapport de stage

2009/2010

1.2.2 GFI Informatique dans le reste du monde

2009/2010 1.2.2 GFI Informatique dans le reste du monde Figure 3: GFI Informatique en Europe 1

Figure 3: GFI Informatique en Europe

11

33

EE--BBUUSSIINNEESSSS

GFI Informatique, acteur majeur dans le monde de l’eBusiness s’est fixé pour mission d’être un partenaire de référence pour améliorer durablement la performance opérationnelle des organisations, des équipes et des collaborateurs.

L’eBusiness, dans un monde de plus en plus dématérialisé et connecté devient un élément clé de la stratégie de développement de nos clients.

L'enjeu est de taille : permettre d'améliorer la productivité et la performance de l'entreprise. A ce titre, l’eBusiness s’insère au cœur du SI de nos clients, pour parfois en devenir l’épine dorsale. Nous intervenons donc à ce titre sur l'ensemble du cycle de vie des Systèmes d'Information, de l'étude d'opportunité à la mise en place, ainsi que sur les évolutions des organisations.

GFI a développé, depuis 1999, une expertise en intégration de solutions Editeurs ou Open Source en environnement Nouvelles Technologies et créé une structure dédiée afin de capitaliser sur ces savoir- faire. Nos projets sont menés selon une méthodologie adaptée à chaque composante technologique et chaque type de problématique, avec un dénominateur commun : souplesse et rapidité. Dans ce contexte, nos consultants mettent en œuvre des solutions fiables en parfaite intelligence avec l’organisation de nos clients, dans les domaines suivants :

de nos clients, dans les domaines suivants : Gestion de l’information d’entreprise, regroupant les

Gestion de l’information d’entreprise, regroupant les activités de Gestion de Contenu, Portails, Gestion électronique de document, Bases de connaissances

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Architecture du système d’information et gestion des processus d’entreprise : SOA, Workflow, BPMRapport de stage 2009/2010 Solutions de e-Commerce, paiement électronique plates-formes B2B, B2E, B2C 1 1 4

Solutions de e-Commerce, paiement électronique plates-formes B2B, B2E, B2Cet gestion des processus d’entreprise : SOA, Workflow, BPM 1 1 4 4 P P A

11 44

PPAARRTTEENNAAIIRREESS

GFI Informatique a compris très tôt l'importance de s'associer avec des partenaires stratégiques pour mieux satisfaire les besoins de ses clients.

Intégrateur de composants et de produits en provenance de très nombreux fournisseurs (constructeurs,

GFI Informatique a noué un nombre restreint de partenariats stratégiques avec les leaders

du marché sur le long terme. Ceux-ci participent aux avantages concurrentiels du Groupe afin de parfaire son offre de services.

éditeurs

),

Les partenaires de GFI Informatique sont de trois catégories :

Constructeurs et intégrateurs : principalement associés sur des projets spécifiques, afin de satisfaire au mieux les clients. Ces : principalement associés sur des projets spécifiques, afin de satisfaire au mieux les clients. Ces accords sont flexibles et n'engagent pas GFI Informatique de manière exclusive dans le temps.

Editeurs : partenaires sur le long terme, ils permettent à GFI Informatique de déployer ses compétences : partenaires sur le long terme, ils permettent à GFI Informatique de déployer ses compétences d'intégrateur autour de progiciels leaders dans leur domaine. Le Groupe intervient aussi en qualité de distributeur à valeur ajoutée pour le compte de certains partenaires (ex : SAP).

Partenaires "métier" : GFI Informatique s'associe les compétences des meilleurs spécialistes des métiers et secteurs économiques sur : GFI Informatique s'associe les compétences des meilleurs spécialistes des métiers et secteurs économiques sur lesquels il intervient. Ces collaborations ont pour objectif de développer des compétences spécialisées au cœur des métiers de nos clients.

11

55

MMEETTIIEERRSS ::

1.5.1 Banque et Assurance

Le secteur de la banque est un partenaire important des sociétés de services informatiques telles que GFI. En effet, les gains de productivités sont essentiels et les services fournis aux millions de clients finaux sont de plus en plus sophistiqués. Les systèmes d’information bancaires ont la particularité d’associer les grands systèmes et les nouvelles technologies. L’association de ces différentes technologies de l’information doivent permettre de répondre aux grandes ambitions des banques :

Rapport de stage 2009/2010

Rapport de stage

2009/2010

améliorer la productivité, réduire les frais de fonctionnement, satisfaire les clients et augmenter le produit net.

Le monde bancaire concentre ses orientations technologiques autour de trois objectifs : industrialiser ses activités cœur de métier (traiter le plus rapidement possible les opérations courantes), améliorer la relation clients (fidélisation) et renforcer la gestion des risques

1.5.2 Industrie, Distribution, Services

GFI apporte à ses clients des solutions et offres spécifiques, adaptées aux enjeux des activités sectorielles suivantes :

Industrie : automobile et équipementiers, énergie-chimie-pétrole, agro-alimentaireadaptées aux enjeux des activités sectorielles suivantes : biens de consommation, aéronautique et espace,

biens de consommation, aéronautique et espace, électronique

Distribution : grande distribution, VPC, distribution de détailde consommation, aéronautique et espace, électronique Transport : transport de voyageurs, transport et logistique

Transport : transport de voyageurs, transport et logistique: grande distribution, VPC, distribution de détail Services : hôtellerie, tourisme, loisirs, services aux

Services : hôtellerie, tourisme, loisirs, services aux entreprises et aux collectivitésTransport : transport de voyageurs, transport et logistique 1.5.3 Secteur Public GFI dispose d’un réel capital

1.5.3 Secteur Public

GFI dispose d’un réel capital de compétences pour le secteur public. Placé au 6ème rang des

acteur IT du secteur public, GFI réalise 20% de son chiffre d’affaires dans ce secteur.

La simplification administrative et l’amélioration de l’efficacité publique sont actuellement

des enjeux pour la modernisation de l’état. La mise en réseau du secteur public apparaît

comme un point de passage obligé. Ainsi, la e-administration, la performance publique, la

réduction des coûts et l’ouverture des systèmes d’information sont les enjeux métier majeurs

du service public. De 2007 à 2009, 250 projets prioritaires liées aux technologies de

l’information et de communication seront mis en œuvre afin de faire face au processus de

modernisation de l’état.

1.5.4 Telecom et Media

Avec ses équipes pluridisciplinaires, GFI se positionne comme un partenaire privilégié des

opérateurs de télécommunication et des médias et offre l'ensemble des solutions nécessaires à

l'accompagnement de ses clients dans leurs évolutions incontournables vers les nouveaux

services de communication, de traitement et de diffusion de l'information multimédia.

Rapport de stage 2009/2010

Rapport de stage

2009/2010

22 LLIIFFEERRAAYY PPOORRTTAALL

22 11

PPRREESSEENNTTAATTIIOONN LLIIFFEERRAAYY

Liferay Portal est un portail open source qui fournit l'ensemble des solutions nécessaires pour développer la communication et la collaboration au niveau de l'entreprise (portails clients, partenaires, espaces collaboratifs, Liferay Portal est une solution basée sur la norme J2EE (Java 2 Entreprise Édition) permettant une intégration simplifiée dans l'infrastructure de l'entreprise (indépendance des OS, bases de données et serveurs d'applications). Liferay Portal fonctionne de manière autonome ou intégrée aux serveurs d'applications de l'entreprise (IBM Websphere, BEA Weblogic, JBoss, ) Liferay Portal est une solution basée sur les standards de portails (JSR168, JSR268 WSRP) et les standards de développement J2EE (Struts, Spring, EJBs, JSF, Services web).

Liferay est appréciée et reconnue pour la richesse des fonctionnalités qu'elle propose, sa solidité technique (pour preuve, de bons résultats à nos tests de montée en charge), la communauté qu'elle fédère, la solution Liferay peut à juste titre être aujourd'hui considérée comme une des meilleures solutions portail-Intranet-collaboratif-open-source du marché. Créer une communauté, lui ajouter un forum, un blog, une partie réservée à certains utilisateurs, sont des actions ne nécessitant que quelques clics ou glisser/déposer. Les blocs - portlets - de chaque écran s'organisent et se paramètrent très simplement, à la iGoogle ou Netvibes (ou presque) pour un résultat immédiat et efficace. La gestion des permissions est très fine, même si elle nécessite un temps d'appropriation.

22 22

EETT JJSSRR 228866

PPLLAATTEEFFOORRMMEE EENNTTRREEPPRRIISSEE DDEE PPOORRTTAAIILL :: PPOORRTTLLEETT JJSSRR--116688

2.2.1 Portlet

Une portlet est une application informatique que l'on peut placer dans un portail web, qui sert alors de conteneur. C'est un objet qui affiche un bloc sur un site web. Une portlet traite les requêtes d'une tâche ou d'un service donné et génère dynamiquement le contenu web affiché à l'utilisateur. Les portlets permettent de fournir toutes sortes de services généralistes ou

Rapport de stage 2009/2010

Rapport de stage

2009/2010

spécialisés (interface de consultation de dossiers, agenda personnel, annuaire, panneau d'information, intégration d'un moteur de recherche, météo, etc.).

Du point de vue de l'interface web, la portlet est alors vu par l'utilisateur comme un composant qu'il peut afficher où il veut dans la vue personnalisée de son portail. Il pourra ainsi visualiser les informations provenant de portlets différents dans une même page web du portail, avec un système à base de panneaux, d'onglets ou de colonnes. En pratique, un portlet est développé puis déployé sur un portail. L'administrateur qui gère le portail web peut alors le publier dans une catégorie particulière pour qu'il soit visible de tous les utilisateurs ou d'une population ciblée. En respectant la spécification de portlet (JSR 168, JSR 286, WSRP) il est possible d'utiliser un même portlet sur des portails différents. Avant JSR 168, on développait des portlet en version séparée qui était compilé avec chaque portail spécifique. Donc, le portlet n’est pas portable, il ne marche qu’avec un portail compatible et ne marche pas avec un autre portail. JSF 168 est une norme. Pour suivre cette norme, un portlet est compilé et marché avec plusieurs portails différents. Dans notre projet. Nous avons développé notre portlet avec la norme JSR 168 parce qu’il y a quelques limites à la technologie. JSR 286 est une spécification de portlet. Elle étend JSR 168 et est compatible avec WSRP. Il est ajouté quelques caractères comme l’intercommunication entre des portlets dans le portail, la génération dynamique de ressource directement au travers des portlets. L’introduction du portlet filtre et les auditeurs.

2.2.2 JSR-168

La JSR 168 est la spécification des portlets définissant le contrat entre les conteneurs de portlets et les portlets. Cette requête de spécification Java (JSR), qui porte le n°168, prend place dans le cadre du JCP, le Java Community Process. L'idée de cette spécification est de rechercher l'interopérabilité entre les portlets et les portails. Cette spécification a pour but de permettre à n'importe quel portlet développé en Java de s'exécuter dans n'importe quelle architecture distribuée avec un serveur d'application compatible J2EE. La spécification définit un ensemble d'API pour les serveurs portails concernant les domaines de l'agrégation, la personnalisation, la présentation et la sécurité. Les buts principaux sont :

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Définir un API Java Portlet standard basé sur l'API Servlet.Rapport de stage 2009/2010 Assurer l'interopérabilité et la portabilité. Supporter des types de clients multiples

Assurer l'interopérabilité et la portabilité.un API Java Portlet standard basé sur l'API Servlet. Supporter des types de clients multiples (multi

Supporter des types de clients multiples (multi terminal).Assurer l'interopérabilité et la portabilité. Supporter la localisation et l'internationalisation.

Supporter la localisation et l'internationalisation.Supporter des types de clients multiples (multi terminal). Supporter l'exécution de portlet distant. 2.2.3

Supporter l'exécution de portlet distant.Supporter la localisation et l'internationalisation. 2.2.3 JSR-268 L’objective de la portlet JSR-268 est de

2.2.3 JSR-268

L’objective de la portlet JSR-268 est de rendre l’API Portlet plus mature que JSR- 168 et d’incorporer des nouvelles fonctionnalités essentielles. Les fonctionnalités majeures du projet JSR-268 sont :

Events : Permettre à une portlet de communiquer avec une autre par l’envoi et la réception des événementsLes fonctionnalités majeures du projet JSR-268 sont : Shared render parameters : Permettre à une portlet

Shared render parameters : Permettre à une portlet de spécifier le render paramètres à partager avec une autre portlet.une autre par l’envoi et la réception des événements Resource serving: Permettre à la portlet de

Resource serving: Permettre à la portlet de servir de ressources (Ajax, Json,…)le render paramètres à partager avec une autre portlet. 2.2.4 Portlet Life cycle le cycle de

2.2.4 Portlet Life cycle

le cycle de vie du portlet géré par le conteneur du portlet. Chaque portlet contient quatre méthodes de cycle de vie. Le cycle de vie du portlet est le suivant :

naître, traitement des actions, afficher des informations dans le portail et la mort.

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Rapport de stage 2009/2010 Figure 4: Le cycle de vie d’un portlet La méthode Init est

Figure 4: Le cycle de vie d’un portlet

La méthode Init est rappelée immédiatement une fois après nouveau portlet est créé. Dans cette méthode, le conteneur du portlet fournit des informations d’environnement au portlet. La méthode processAction est rappelée du conteneur quand l’utilisateur exécute des actions dans l’interface. Portlet invoque des fonctions dans les composants ou JavaBean pour réaliser ce but. La méthode render est suivi la méthode processAction dans la chaîne de méthode de cycle de vie du portlet. Elles affichent des informations du résultat en l’interface. La méthode Destroy est rappelée quand le conteneur ferme le portlet. JSR 168 définit aussi les modes du portlet et les états de la fenêtre dans le portail comme la taille de la fenêtre. Les modes du portlet sont VIEW, EDIT et HELP :

VIEW pour afficher des informations dans l’état normal,la fenêtre. Les modes du portlet sont VIEW, EDIT et HELP : EDIT pour configurer des

EDIT pour configurer des paramètres concernant le portlet,: VIEW pour afficher des informations dans l’état normal, Mise en Place de portail intranet et

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Rapport de stage 2009/2010 HELP pour aider des utilisateurs. Les contenus des modes sont établis par

HELP pour aider des utilisateurs. Les contenus des modes sont établis par des programmeurs. En plus, JSR définit des API, la politique et l’interface concernant le contexte du portlet, le lien (URL), la session, la sécurité et la méthode pour parquer le portlet pour déployer dans le portail.

2.2.5 Interactions

portlet pour déployer dans le portail. 2.2.5 Interactions 2 2 3 3 Figure 5: Interaction A

22 33

Figure 5: Interaction

AARRCCHHIITTEECCTTUURREE TTEECCHHNNIIQQUUEE DDEE LLAA PPOORRTTLLEETT

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Rapport de stage 2009/2010 Figure 6: Architecture technique des portlets L’application web reveuille la requête du

Figure 6: Architecture technique des portlets

L’application web reveuille la requête du client puis fais appel au portlet container pour récupérer le contenu de chaque portlet. Pour cela, le portal server accède au portlet container en utilisant le Portlet Container Invoker API. Cette interface représente l’interface principale qui supporte des méthodes acceptant des requêtes pour appeler portlets du point de vu du portail. Le container provider SPI est une interface qui nécessite d’être implémentée par le portal server pour fournir aux portlets des informations sur le portail. Le portlet container appelle les portlets via la portlet API.

22 44

AADDMMIINNIISSTTRRAATTIIOONN DDEE PPOORRTTAAIILL LLIIFFEERRAAYY

L’administrateur d’un portail peut restreindre l'accès de certaines fonctions et/ou contenu à des groupes prédéterminés en leur associant un nom d'utilisateur et un mot de passe. Ainsi, le grand public peut avoir accès à une partie du portail, les employés de la société ont encore plus de sections et finalement l'administrateur du portail peut lui-même modifier sans-limite le contenu de son portail. Un Portail Web comporte deux parties principales

Partie publique (Web) : pour faire de la publicité, attirer des gens supplémentaires…portail. Un Portail Web comporte deux parties principales Partie privée (Group) : pour restreindre l’accès aux

Partie privée (Group) : pour restreindre l’accès aux membres de la communautéfaire de la publicité, attirer des gens supplémentaires… Mise en Place de portail intranet et Développement

Rapport de stage 2009/2010

Rapport de stage

2009/2010

L’administration de liferay est centralisée et assurée à partir d’une interface graphique qui

donne accès à toutes les fonctionnalités.

2.4.1 Content management system et web content management

Le système de gestion de contenu intégré (CMS) de Liferay. Il permet des la séparation entre le fond et la forme

une gestion des permissions et des workflows basé sur des rôlesIl permet des la séparation entre le fond et la forme la publication par workflow, la

la publication par workflow, la gestion des versions, la structuration du contenu, desdes permissions et des workflows basé sur des rôles modèles XSL et Velocity, et l'édition simplifiée

modèles XSL et Velocity, et l'édition simplifiée WYSIWYG des articles

la gestion de la mise en page séparée de la gestion des articles, permettant de publierVelocity, et l'édition simplifiée WYSIWYG des articles le même article sur plusieurs pages Une date de

le même article sur plusieurs pages

Une date de début et de fin, pour limiter dans le temps l’affichage d’un contenupermettant de publier le même article sur plusieurs pages 2.4.2 Gestion d’utilisateurs Liferay offre à

2.4.2 Gestion d’utilisateurs

Liferay offre à l’administrateur du portail une interface qui permet de gérer les utilisateurs a

travers le panneau de commande

L’administrateur peut :

Désactiver un utilisateura travers le panneau de commande L’administrateur peut : Gérer les pages Affecter des permissions sur

Gérer les pagesL’administrateur peut : Désactiver un utilisateur Affecter des permissions sur le portail (pages et

Affecter des permissions sur le portail (pages et application).peut : Désactiver un utilisateur Gérer les pages Si l’utilisateur est désactivé l’administrateur peut :

Si l’utilisateur est désactivé l’administrateur peut :

Réactiver l’utilisateurSi l’utilisateur est désactivé l’administrateur peut : Le supprimer de la BD 2.4.3 Gestion de pages

Le supprimer de la BDl’administrateur peut : Réactiver l’utilisateur 2.4.3 Gestion de pages L’utilisateur peut directement

2.4.3 Gestion de pages

L’utilisateur peut directement accéder aux pages des communautés dont il est membre

Dans Liferay, les pages peuvent être

Publiquesdont il est membre Dans Liferay, les pages peuvent être Privées : seuls les membres de

Privées : seuls les membres de la communauté peuvent y accéderest membre Dans Liferay, les pages peuvent être Publiques À la création d’une nouvelle page, on

À la création d’une nouvelle page, on peut spécifier son type. 5 types de pages dans Liferay :

Applicationon peut spécifier son type. 5 types de pages dans Liferay : Incorporé Contenu web Mise

Incorporéson type. 5 types de pages dans Liferay : Application Contenu web Mise en Place de

Contenu webtype. 5 types de pages dans Liferay : Application Incorporé Mise en Place de portail intranet

Rapport de stage 2009/2010

Rapport de stage

2009/2010

URLRapport de stage 2009/2010 Lien vers une page de l’espace de publication 2.4.4 Publication à distance

Lien vers une page de l’espace de publicationRapport de stage 2009/2010 URL 2.4.4 Publication à distance Pour mettre en ligne un contenu, Liferay

2.4.4 Publication à distance

Pour mettre en ligne un contenu, Liferay offre un processus de validation. Il contient les étapes suivantes :

processus de validation. Il contient les étapes suivantes : Ecriture du contenu Publication du contenu Les

Ecriture du contenu

Publication du contenu Les deux étapes du processus sont réalisées par des acteurs ayant les rôles suivants :Il contient les étapes suivantes : Ecriture du contenu Writer Publisher Ces deux rôles sont définit

Writer Publisher Ces deux rôles sont définit pour chaque site permettant d’isoler par exemple le contenu du site internet et de l’intranet. L’utilisateur ayant le rôle « publisher » peut retrouver les documents qu’il doit valider dans console d’administration :

Le processus de publication permet également de définir :

Une date de début de mise en ligne Une date de fin de mise en ligne Une date d’alerte. Cette date permet de prévenir l’auteur du document à une date donnée par exemple pour lui notifier que l’article doit être mise à jour.

pour lui notifier que l’article doit être mise à jour. 2.4.5 Configuration des droits et gestion
pour lui notifier que l’article doit être mise à jour. 2.4.5 Configuration des droits et gestion
pour lui notifier que l’article doit être mise à jour. 2.4.5 Configuration des droits et gestion
pour lui notifier que l’article doit être mise à jour. 2.4.5 Configuration des droits et gestion
pour lui notifier que l’article doit être mise à jour. 2.4.5 Configuration des droits et gestion

2.4.5 Configuration des droits et gestion de la sécurité

Avec Liferay, il est possible sur chaque objet de définir des rôles. En fonction des rôles, l’administrateur peut autoriser ou non les différentes actions possibles y compris l’attribution des permissions, ce qui permet de déléguer ce travail à un administrateur. Avec Liferay, il est possible sur chaque élément de l’arborescence de définir des permissions.

2.4.6 Les outils collaboratifs

Pour partager l’information au sein d’un Intranet, d’un site Internet, Liferay offre plusieurs outils collaboratifs:

Blogssite Internet, Liferay offre plusieurs outils collaboratifs: Mise en Place de portail intranet et Développement de

Rapport de stage 2009/2010

Rapport de stage

2009/2010

WikiRapport de stage 2009/2010 Forum 2.4.7 Gestionnaire de documents Pour la gestion des documents Liferay offre

ForumRapport de stage 2009/2010 Wiki 2.4.7 Gestionnaire de documents Pour la gestion des documents Liferay offre

2.4.7 Gestionnaire de documents

Pour la gestion des documents Liferay offre une portlet nommée « Document Library ». Les

principales fonctionnalités de cette dernière sont :

Le stockage sécurisé des documents sur le serveurLes principales fonctionnalités de cette dernière sont : L’indexation du contenu des documents de type Office,

L’indexation du contenu des documents de type Office, Open Office et PDFsont : Le stockage sécurisé des documents sur le serveur Une gestion des versions des documents

Une gestion des versions des documentsdu contenu des documents de type Office, Open Office et PDF Un accès directement dans Word

Un accès directement dans Word aux documents grâce au plugin SharePoint livréOpen Office et PDF Une gestion des versions des documents en standard avec Liferay. 2 2

en standard avec Liferay.

22 55

CCOONNCCLLUUSSIIOONN

Cette phase m’a permet de découvrir les aspects fonctionnelles et techniques liferay et développer des fonctionnalités tels que :

de portail

Installation des environnements de développement,et développer des fonctionnalités tels que : de portail Personnalisation des Portlets JSR168, Paramétrage de la

Personnalisation des Portlets JSR168,portail Installation des environnements de développement, Paramétrage de la plate-forme Liferay, Mise en œuvre des

Paramétrage de la plate-forme Liferay,de développement, Personnalisation des Portlets JSR168, Mise en œuvre des fonctions CMS et fonctions Collaboratives

Mise en œuvre des fonctions CMS et fonctions Collaboratives ,des Portlets JSR168, Paramétrage de la plate-forme Liferay, Paramétrages des sites « Communauté, Organisation,

Paramétrages des sites « Communauté, Organisation, gestion de contenu »en œuvre des fonctions CMS et fonctions Collaboratives , Charte graphique : Réalisation des thèmes. 3

Charte graphique : Réalisation des thèmes.sites « Communauté, Organisation, gestion de contenu » 3 3 D D E E M M

33 DDEEMMAARRCCHHEE DDEE PPRROOJJEETT

Pour de nombreux types de projet, GFI applique la démarche qui se base sur le cycle en V ou

en Y, qui ont le même principe afin de structurer le déroulement de projet et le répartie en

différents phase. El la démarche générale de développement retenue pour le projet CG83 est

basée sur le cycle de vie en V :

pour le projet CG83 est basée sur le cycle de vie en V : 21 Mise

21

Mise en Place de portail intranet et Développement de Téléprocédures

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Rapport de stage 2009/2010 Figure 7: Démarche de projet Phase d’expression de besoin : L’objectif de

Figure 7: Démarche de projet

Phase d’expression de besoin :

L’objectif de cette phase est de mettre en place la référentielle qualité du projet, affecter les ressources et les compétences de l’équipe, mettre en place l’infrastructure bureautique et de conception. Elle consiste en un ensemble de tâches coordonnées, qui sont :

La conduite de la phase de lancementconsiste en un ensemble de tâches coordonnées, qui sont : L’organisation de la phase de réalisation

L’organisation de la phase de réalisationqui sont : La conduite de la phase de lancement La planification en fonction des délais

La planification en fonction des délais et des moyensde lancement L’organisation de la phase de réalisation La prise de connaissance du sujet P P

La prise de connaissance du sujetLa planification en fonction des délais et des moyens P P H H A A S

PPHHAASSEE DDEE SSPPEECCIIFFIICCAATTIIOONNSS FFOONNCCTTIIOONNNNEELLLLEESS EETT TTEECCHHNNIIQQUUEESS

33 11

3.1.1 Spécifications fonctionnelles

Cette phase a pour but de cartographier et de préciser les cas d’utilisation, et d’analyser les acteurs du système (humains et matériels). Tâche :

Développer la maquette.les acteurs du système (humains et matériels). Tâche : Découper le système en cas d’utilisation. Décrire

Découper le système en cas d’utilisation.(humains et matériels). Tâche : Développer la maquette. Décrire les IHM et établir les règles de

Décrire les IHM et établir les règles de gestion.la maquette. Découper le système en cas d’utilisation. Identifier les acteurs humains et matériels. 3.1.2

Identifier les acteurs humains et matériels.Décrire les IHM et établir les règles de gestion. 3.1.2 Spécifications techniques L’objectif de cette

3.1.2 Spécifications techniques

L’objectif de cette phase est de Détailler l’implémentation des grands principes décrits dans le Dossier d’architecture (découpage vertical en sous-systèmes, découpage horizontal en couches, principes de gestion des erreurs, principes de gestion des traces…). Décrire de façon détaillée, la décomposition des sous-systèmes et la manière dont ils fonctionnent.

Tâche :

Analyser les exigences techniques (disponibilité, fiabilité, sécurité, performances…).et la manière dont ils fonctionnent. Tâche : Mise en Place de portail intranet et Développement

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Définir l’architecture conceptuelle.Rapport de stage 2009/2010 Définir l’architecture logique. Définir l’architecture physique. Définir les

Définir l’architecture logique.de stage 2009/2010 Définir l’architecture conceptuelle. Définir l’architecture physique. Définir les

Définir l’architecture physique.conceptuelle. Définir l’architecture logique. Définir les plates-formes de développement et

Définir les plates-formes de développement et d’intégration.logique. Définir l’architecture physique. 3 3 2 2 P P H H A A S S

33 22

PPHHAASSEE DDEE CCOONNCCEEPPTTIIOONN PPRREELLIIMMIINNAAIIRREE EETT DDEETTAAIILLLLEE

3.2.1 Conception préliminaire

Il s’agit donc de choisir et figer la solution informatique retenue et de la décomposer en une architecture fonctionnelle modulaire jusqu’au niveau où tous les besoins définis dans le Dossier des spécifications logicielles sont satisfaits. Il convient également dans cette phase de préparer les phases d’intégration et de validation.

3.2.2 Conception détaillée

La phase de conception détaillée a pour objet de fournir une solution algorithmique à chaque traitement à créer ou à modifier ainsi qu’à préparer les phases ultérieures de tests. Les activités principales de cette phase sont les suivantes :

Définir la structure organique du logiciel de manière descendante,activités principales de cette phase sont les suivantes : Rédiger ou mettre à jour le Dossier

Rédiger ou mettre à jour le Dossier de conception préliminaire,la structure organique du logiciel de manière descendante, Mettre à jour la stratégie de test (organisation,

Mettre à jour la stratégie de test (organisation, moyens et planning des tests d’intégration),ou mettre à jour le Dossier de conception préliminaire, Rédiger les scénarios et fiches de test

Rédiger les scénarios et fiches de test d’intégration de l’évolution,moyens et planning des tests d’intégration), Mettre à jour les scénarios et fiches de tests de

Mettre à jour les scénarios et fiches de tests de validation,et fiches de test d’intégration de l’évolution, Identifier l’ensemble des traitements (ou éléments

Identifier l’ensemble des traitements (ou éléments logiciels) à créer ou à modifier,à jour les scénarios et fiches de tests de validation, Organiser la phase de codage (ressources,

Organiser la phase de codage (ressources, environnements, outils(ou éléments logiciels) à créer ou à modifier, Rédiger ou mettre à jour le Dossier de

Rédiger ou mettre à jour le Dossier de conception détaillée.la phase de codage (ressources, environnements, outils ) 3 3 3 3 P P H H

)

33 33

PPHHAASSEE CCOODDAAGGEE EETT TTEESSTTSS UUNNIITTAAIIRREESS

L’objectif de cette phase est de coder / tester les composants unitairement et en pré- intégration (assemblage de composants pour réaliser une couche technique, assemblage d’un sous-système). Cette phase a également comme objectif de préparer la phase d’intégration système et de validation. Tâche :

Développer / tester unitairement / mettre en configuration les composants du SI.phase d’intégration système et de validation. Tâche : Définir / réaliser la procédure de génération des

Définir / réaliser la procédure de génération des versions.unitairement / mettre en configuration les composants du SI. Rédiger Plan de test d’intégration. Rédiger Plan

Rédiger Plan de test d’intégration./ réaliser la procédure de génération des versions. Rédiger Plan de test de validation et Dossier

Rédiger Plan de test de validation et Dossier de test de validation.des versions. Rédiger Plan de test d’intégration. Mise en Place de portail intranet et Développement de

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Mener les revues de codage.Rapport de stage 2009/2010 - Phase d’intégration système : L’objectif de cette phase est d’intégrer

- Phase d’intégration système :

L’objectif de cette phase est d’intégrer l’ensemble des composants selon la démarche d’intégration décrite dans le Plan de test d’intégration.

Tâche :

Générer / packager les versions.décrite dans le Plan de test d’intégration. Tâche : Dérouler les tests d’intégration. Exécuter les tests

Dérouler les tests d’intégration.Tâche : Générer / packager les versions. Exécuter les tests d’intégration en environnement

Exécuter les tests d’intégration en environnement bouchonné,packager les versions. Dérouler les tests d’intégration. Exécuter les tests d’intégration avec les interfaces

Exécuter les tests d’intégration avec les interfaces réelles,les tests d’intégration en environnement bouchonné, Dérouler les tests de validation, Corriger les FFT,

Dérouler les tests de validation,les tests d’intégration avec les interfaces réelles, Corriger les FFT, Préparer l’exploitation du système

Corriger les FFT,les interfaces réelles, Dérouler les tests de validation, Préparer l’exploitation du système (installation,

Préparer l’exploitation du système (installation, procédures d’exploitation).Dérouler les tests de validation, Corriger les FFT, Etablir le Dossier des résultats de tests d’Intégration.

Etablir le Dossier des résultats de tests d’Intégration.du système (installation, procédures d’exploitation). 3 3 4 4 P P H H A A S

33 44

PPHHAASSEE DDEE VVAALLIIDDAATTIIOONN

La phase de validation a pour objet de vérifier à l’aide des tests de validation la conformité du logiciel aux spécifications du logiciel. Tâche :

Générer / packager les versions.du logiciel aux spécifications du logiciel. Tâche : Dérouler les tests d’intégration. Dérouler les tests de

Dérouler les tests d’intégration.du logiciel. Tâche : Générer / packager les versions. Dérouler les tests de validation. Corriger les

Dérouler les tests de validation.packager les versions. Dérouler les tests d’intégration. Corriger les FFT. Préparer l’exploitation du système.

Corriger les FFT.tests d’intégration. Dérouler les tests de validation. Préparer l’exploitation du système. Etablir le Dossier

Préparer l’exploitation du système.Dérouler les tests de validation. Corriger les FFT. Etablir le Dossier des résultats de tests de

Etablir le Dossier des résultats de tests de validation.Corriger les FFT. Préparer l’exploitation du système. Mener la revue interne de validation 3 3 5

Mener la revue interne de validationEtablir le Dossier des résultats de tests de validation. 3 3 5 5 C C O

33 55

CCOONNCCLLUUSSIIOONN ::

Généralement, le choix de la démarche du projet dépend de plusieurs formalités, telles que la taille et les contraintes fonctionnelles et techniques, etc. Pourtant, quelque soit la démarche suivi dans un projet, notamment pour le cas des grands projets, il faut respecter les conditions et les règles de cette démarche, au niveau de l’organisation d’équipe et la planification du projet et de spécifier et d’ordonner les tâches à réaliser et les livrables à présenter afin d’atteindre les objectifs.

Rapport de stage 2009/2010

Rapport de stage

2009/2010

44 DDEEVVEELLOOPPPPEEMMEENNTT DDEESS TTEELLEEPPRROOCCEEDDUURREESS ((WWOORRKKFFLLOOWW))

44 11

QQUUEESSTT CCEE QQUUUUNN WWOORRKKFFLLOOWW

Selon Wikipédia on appelle « workflows » (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 (aussi appelé processus opérationnel ou bien procédure d'entreprise). Le terme de workflow pourrait donc être traduit en français par « gestion électronique des processus métier ». De façon plus pratique, le workflow décrit le circuit de validation c'est-à-dire 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. Les workflows sont donc utilisés dans de nombreux domaines.

44 22

FFOONNCCTTIIOONNNNEEMMEENNTT DDEE WWOORRKKFFLLOOWWSS

Définir un workflow pour un processus se fait de la manière suivante :

D'abord il faut créer une définition décrivant le déroulement du workflow; Ensuite il faut utiliser un dispositif logiciel permettant d'exécuter la définition.

Le dispositif logiciel précédemment mentionné porte le nom de moteur de workflow, cependant pendant plusieurs années ce terme fut confondu avec le terme de workflow et le terme de système de gestion de workflow. Afin de ne plus confondre ces termes, la WfMC (Workflow Management Coalition) rédige a plusieurs définitions. Pour simplifier, un système de gestion de workflow est un logiciel dont le but est de créer, de gérer et d'exécuter des instances de workflow; pour cela il utilise un

moteur de workflow.

44 33

PPRREESSEENNTTAATTIIOONN DDEESS MMOOTTEEUURRSS DDEE WWOORRKKFFLLOOWW

Un moteur de workflow est un logiciel permettant d'exécuter des instances de workflow, il offre un certain nombre de fonctionnalités qui peut varier d'un moteur à un autre. Voici la liste des services fondamentaux d'un moteur :

-il permet la modélisation d'un processus (le plus souvent il permet la création d'un cahier de définition du workflow) ;

Rapport de stage 2009/2010

Rapport de stage

2009/2010

-il permet d'instancier une instance de workflow - il permet de sauvegarder l'état d'une instance de workflow.

44 44

WWOORRKKFFLLOOWW JJBBPPMM

4.4.1

Présentation

JBPM est un logiciel libre développé par JBoss (framework open source), écrit en java. C'est un moteur de workflows, dans lequel chaque workflow (processus métier) est décrit dans un fichier XML : définition du processus. Ce fichier décrit également les classes java utilisées pour le traitement des données (API JBPM). JBPM permet aux entreprises de définir et d’automatiser des BPs ( business Process) qui coordonnent avec des humains, des applications et des services. Un workflow étant plus explicite graphiquement, il est bien évidemment possible de le créer graphiquement. L'éditeur graphique est le plugin Eclipse « JBoss Graphical Process Designer ». Il permet de passer d'une vue graphique du processus sous forme de graphe orienté à une vue sous format XML. La synchronisation des deux vues est gérée, ainsi il est possible de modifier le fichier XML et d'en voir la résultante sous format graphique.

XML et d'en voir la résultante sous format graphique. Figure 8: Moteur JBPM Mise en Place

Figure 8: Moteur JBPM

Rapport de stage 2009/2010

Rapport de stage

2009/2010

4.4.2 Les différents éléments d'un workflow JBPM

Démarrer un workflow signifie créer et exécuter une instance du processus. Et tout comme il est possible de créer plusieurs instances d'une même classe Java, plusieurs instances du même processus peuvent être exécutées en même temps. Au démarrage d'un workflow, un jeton est crée. Ce jeton suit le chemin d'exécution du processus et peut se décomposer en jeton fils. Cependant, les jetons ne se déplacent pas en même temps ; nous restons dans du parcours séquentiel. Il est possible de stocker des variables dans le contexte de l'exécution, ainsi que sur un jeton. Ces variables permettent de manipuler les objets métiers liées au processus. Au niveau structurel, un processus est composé de nœuds et de transitions sur lesquels des actions (classes Java) peuvent être exécutées. Le processus démarre par le nœud « start » de type start-state. Un graphe doit posséder exactement un nœud de ce type pour permettre au processus de démarrer. Le nœud « token » est créer au démarrage du processus et parcourt l'ensemble des nœuds et des transitions du graphe. Le premier élément qu'il parcourt, après le nœud « start », est la transition. -Une transition est un arc orienté qui permet de faire passer un jeton d'un noeud à un autre. Elle peut être nommée au cas où on veut différencier entre deux ou plusieurs transitions. -task-node : ce type de nœud représente une ou plusieurs tâches qui doivent être exécutées par un utilisateur. - join : lorsqu'un jeton arrive sur ce nœud, il y est bloqué tant que tous les jetons qui ont le même parent que lui ne sont pas arrivés. Une fois qu'ils sont tous arrivés, le nœud termine l'exécution de chaque jeton fils et c'est le parent qui continue l'exécution. Ce nœud permet ainsi de rassembler un ensemble de chemins d'exécution. -State(les états ):C’est un nœud dont le rôle est de mettre le processus en attente. -Les forks : Lorsqu’on veut avoir deux chemins en parallèle, on utilise un fork pour la séparation et un join pour la jointure. -Décision(les décisions) : Lorsque nous sommes appelés à prendre une décision sur un état ou une tâche du processus, on peut utiliser un nœud de décision. - Swimlanes: Les swimlanes sont utilisés dans la définition des différents groupes ou profiles (notion d’acteur dans UML). -end-state : c'est le dernier nœud d'un graphe. Il peut y en avoir plusieurs dans un même graphe, mais dès que l'on arrive sur l'un de ces nœuds, l'exécution s'arrête. -node : ce type de nœud est utile lorsque l'on veut exécuter du code Java -Fork : ce type de nœud permet de découper un chemin d'exécution.

Rapport de stage 2009/2010

Rapport de stage

2009/2010

-Une action est un « bout » de code Java qui est exécutée lors de l'exécution du processus. Les actions permettent d'ajouter des détails techniques en dehors de la représentation graphique : le code Java peut être associe au graphe sans changer la structure du graphe. Les actions sont généralement placées sur des événements :

- évènement sur un nœud (tous types) : node-enter (entrée sur le nœud), node-leave (sortie du noeud)

- évènement sur une transition : transition

- évènement sur un nœud de type task-node : task-start (démarrage d'une tâche), task-create (création d'une tâche), task-assign (assignation d'une tâche à un utilisateur) et task-end (fin d'une tâche). Un évènement de ce type sera déclenché pour chaque tâche du nœud.

- évènement sur le processus : process-start (démarrage du processus) et process-end (fin du processus).

44 55

GGEESSTTIIOONN DDEESS TTEELLEEPPRROOCCEEDDUURREESS TTRRAANNSSPPOORRTTSS

Une téléprocédure est constituée :

Un processus, où divers intervenants doivent apporter leurs validations

Des formulaires, que les intervenants doivent remplir pour pouvoir valider pourront être utilisées pour l’implémentation de toutes les nouvelles téléprocédures.

Après une étude détaillé de workflow et le moteur workflow JBPM , il m’a fallut faire de développement des télé-procédure de transport . De ce fait j’ai suivi un plan de conception de développement réalisé par le chef du projet. J’ai commencé par création de « Process définition » qui permet de définir les usagers, les taches, les étapes, les actions et les décisions pour chaque cas Affecter rôle à un usager

les décisions pour chaque cas Affecter rôle à un usager Vérifier un rôle à un usager

Vérifier un rôle à un usagerles décisions pour chaque cas Affecter rôle à un usager Supprimer un rôle à un usager

Supprimer un rôle à un usagerAffecter rôle à un usager Vérifier un rôle à un usager Contrôler le fichier reçu Envoyer

Contrôler le fichier reçuun rôle à un usager Supprimer un rôle à un usager Envoyer une notification Voila un

Envoyer une notificationSupprimer un rôle à un usager Contrôler le fichier reçu Voila un exemple de définition :

Voila un exemple de définition :

Après la création des définitions j’ai fait le

développement

des Handler (les actions et les

décisions) .En effet une définition contient au moins une action ou une décision.

Déploiement de la webApp JBPM,

Déploiement de la webApp JBPM,

Ajouter la définition dans la portlet workflow.

Ajouter la définition dans la portlet workflow.

Rapport de stage 2009/2010

Rapport de stage

2009/2010

4.5.1 Administration de téléprocédure

Une portlet de téléprocédure offrant les possibilités suivantes :

Ajouter une téléprocédurede téléprocédure offrant les possibilités suivantes : Autoriser l’accès à une téléprocédure,

Autoriser l’accès à une téléprocédure, c’est-à-dire associer à une téléprocédure des usagers spécifiques ayant seul l’autorisation de débuter le processusles possibilités suivantes : Ajouter une téléprocédure Visualiser l’ensemble des demandes d’accès à une

Visualiser l’ensemble des demandes d’accès à une téléprocédureayant seul l’autorisation de débuter le processus Visualiser l’ensemble des téléprocédures et les

Visualiser l’ensemble des téléprocédures et les informations liées :l’ensemble des demandes d’accès à une téléprocédure Les processus en cours par téléprocédures L’étape en

Les processus en cours par téléprocédures L’étape en cours de chaque téléprocédure Le statut d’une téléprocédure (En cours, fini) Mettre en ligne les téléprocédures Purger les instances terminées Les schémas ci-dessous décrivent la forme que pourrait prendre la portlet d’administration des Téléprocédures. Les agents de l’entreprise peuvent, en fonction de leur rôle dans le portail, se connecter, créer des téléprocédures à destination des usagers. L’usager se connecte au portail pour lancer une demande de téléprocédures, suite à cela un agent valideur de demandes peut visualiser l’ensemble des demandes de TL, les étudier et les valider / refuser. La portlet « workflow » de Liferay dispose de deux modes d’affichage :

workflow » de Liferay dispose de deux modes d’affichage : Utilisateur, Administrateur. Le mode Administrateur Figure
workflow » de Liferay dispose de deux modes d’affichage : Utilisateur, Administrateur. Le mode Administrateur Figure
workflow » de Liferay dispose de deux modes d’affichage : Utilisateur, Administrateur. Le mode Administrateur Figure
workflow » de Liferay dispose de deux modes d’affichage : Utilisateur, Administrateur. Le mode Administrateur Figure
workflow » de Liferay dispose de deux modes d’affichage : Utilisateur, Administrateur. Le mode Administrateur Figure

Utilisateur,workflow » de Liferay dispose de deux modes d’affichage : Administrateur. Le mode Administrateur Figure 9:

Administrateur.Liferay dispose de deux modes d’affichage : Utilisateur, Le mode Administrateur Figure 9: Portlet Workflow Le

Le mode Administrateur

: Utilisateur, Administrateur. Le mode Administrateur Figure 9: Portlet Workflow Le mode utilisateur : Mise en

Figure 9: Portlet Workflow

Le mode utilisateur :

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Démarrer un processusRapport de stage 2009/2010 Afficher la liste des tâches « en cours », concernant l’utilisateur Afficher

Afficher la liste des tâches « en cours », concernant l’utilisateurRapport de stage 2009/2010 Démarrer un processus Afficher l’historique des processus de l’utilisateur Figure 10:

Afficher l’historique des processus de l’utilisateurliste des tâches « en cours », concernant l’utilisateur Figure 10: Portlet Workflow-Mode utilisateur 4.5.2 Gestion

Afficher l’historique des processus de l’utilisateur Figure 10: Portlet Workflow-Mode utilisateur 4.5.2 Gestion

Figure 10: Portlet Workflow-Mode utilisateur

4.5.2 Gestion de téléprocédure par le système

4.5.2 Gestion de téléprocédure par le système Figure 11: Gestion de téléprocédure par le système.

Figure 11: Gestion de téléprocédure par le système.

Description des activités :

Notification d’acceptation, refus ou autre : Envoi d’e-mailpar le système. Description des activités : Validation de profil usager : Affectation de rôle(s) :

Validation de profil usager : Affectation de rôle(s) : Affectation de rôles (sur la base du nom des rôles).d’acceptation, refus ou autre : Envoi d’e-mail Validation de profil usager : Affectation de l’usager à

Validation de profil usager : Affectation de l’usager à une communauté : Affectation de communauté (sur la base du nom de la communauté).: Affectation de rôles (sur la base du nom des rôles). Vérification d’affectation à un rôle

Vérification d’affectation à un rôle : Vérification d’appartenance à un rôle.de communauté (sur la base du nom de la communauté). Mise en Place de portail intranet

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Rapport de stage 2009/2010 Vérification d’appartenance à une communauté : Vérification d’appartenance à une

Vérification d’appartenance à une communauté : Vérification d’appartenance à une communauté.

Timer : appel d’une transition d’état : Permet les procédures d’escalades à une étape qui requiert une intervention humaine Diagramme d’activités de la fonction Téléprocédure Usager: Diagramme d’activités de la fonction Téléprocédure Usager:

d’activités de la fonction Téléprocédure Usager: Figure 12: Diagramme d’activité de téléprocédure
d’activités de la fonction Téléprocédure Usager: Figure 12: Diagramme d’activité de téléprocédure

Figure 12: Diagramme d’activité de téléprocédure Usager

Descriptions des activités :

Visualiser une téléprocédure autorisée : L’usager pourra visualiser les téléprocédures qui lui sont autorisées et en faire une demande. Saisir une demande téléprocédure : L’usager pourra lancer une demande Suivre une demande en cours : L’usager pourra consulter ses demandes en cours

en cours : L’usager pourra consulter ses demandes en cours Diagramme d’activités de la fonction Téléprocédure
en cours : L’usager pourra consulter ses demandes en cours Diagramme d’activités de la fonction Téléprocédure

Diagramme d’activités de la fonction Téléprocédure Administrateur :en cours : L’usager pourra consulter ses demandes en cours Mise en Place de portail intranet

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Rapport de stage 2009/2010 Figure 13: Diagramme d’activité de téléprocédure Administrateur Description des

Figure 13: Diagramme d’activité de téléprocédure Administrateur

Description des activités :

Créer une téléprocédure : Entrer la définition de la téléprocédure dans le système.téléprocédure Administrateur Description des activités : Modifier une téléprocédure : L’administrateur pourra

Modifier une téléprocédure : L’administrateur pourra modifier les caractéristiques d’une téléprocédure.la définition de la téléprocédure dans le système. Publier une téléprocédure : L’administrateur pourra

Publier une téléprocédure : L’administrateur pourra mettre en ligne une téléprocédure.modifier les caractéristiques d’une téléprocédure. Dé publier une téléprocédure: L’administrateur pourra

Dé publier une téléprocédure: L’administrateur pourra une téléprocédure.pourra mettre en ligne une téléprocédure. Diagramme d’activités de la fonction Téléprocédure

Diagramme d’activités de la fonction Téléprocédure Valideur :L’administrateur pourra une téléprocédure. Mise en Place de portail intranet et Développement de

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Rapport de stage 2009/2010 Figure 14: Diagramme d’activité de téléprocédure Valideur Descriptions des activités :

Figure 14: Diagramme d’activité de téléprocédure Valideur

Descriptions des activités :

Consulter les demandes en attentes : L’agent « valideur de demandes » pourra consulter les demandes en attente de validation.de téléprocédure Valideur Descriptions des activités : Etudier une demande : L’agent « valideur de demandes

Etudier une demande : L’agent « valideur de demandes » pourra étudier les demandes en attente de validation puis valide ou refuse la demande.» pourra consulter les demandes en attente de validation. Pour la gestion des processus et des

Pour la gestion des processus et des formulaires, il s’agit d’un plugin Eclipse permettant:

De modéliser les processus grâce à un éditeur graphiqueformulaires, il s’agit d’un plugin Eclipse permettant: De modéliser les formulaires grâce à un éditeur

De modéliser les formulaires grâce à un éditeur graphiqueDe modéliser les processus grâce à un éditeur graphique De déployer les processus et formulaires dans

De déployer les processus et formulaires dans le portailmodéliser les formulaires grâce à un éditeur graphique 4.5.3 Modélisation de Téléprocédure Le Schéma

4.5.3 Modélisation de Téléprocédure

Le Schéma ci-dessous explique les étapes à suivre pour créer une décision par apport aux fonctionnalités demandées :

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Rapport de stage 2009/2010 Figure 15: Modèle de définition Modélisation de téléprocédure « Contrôler un fichier

Figure 15: Modèle de définition

Modélisation de téléprocédure « Contrôler un fichier » avec l’outil de JBPM. Personnalisation de la portlet Workflow

l’outil de JBPM. Personnalisation de la portlet Workflow Figure 16: Portlet Workflow Personnalisée Mise en Place

Figure 16: Portlet Workflow Personnalisée

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Au niveau de développement des téléprocédures, j’ai implémenté des fonctions dans la portlet workflow qui permet de purger les instances terminés « Les taches liées à l’instance sont clôturé ».

Défintion d’une Téléprocédure avec JBPM

clôturé ». Défintion d’une Téléprocédure avec JBPM Figure 17: Définition d’une téléprocédure Le schéma

Figure 17: Définition d’une téléprocédure

Le schéma ci-dessus montre la forme générale de la création de la définition qui présente une liste de nœuds reliés entre eux par de transition, en se basant sur le logicel JBPM qui utilise le langage JPDL pour la définition de workflow. Mise en place d’une nouvelle définition de téléprocédure :

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Rapport de stage 2009/2010 Figure 18: Ajouter Définition d’une téléprocédure Après la création de la définition

Figure 18: Ajouter Définition d’une téléprocédure

Après la création de la définition par le logicel JBPM, il suffit de copier le contenu et de l’ajouter dans l’interface proposé par liferay afin de construire une téléprocédure spécifique a cette définition. Définitions de téléprocédure:

a cette définition. Définitions de téléprocédure: Figure 19: Liste de définitions Mise en Place de portail

Figure 19: Liste de définitions

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Le schéma ci-dessous montre les différents instances d’une téléprocédure crée par l’administration liferay, ainsi les différentes fonctionnalités proposée par liferay telles que la recherche et l’ajout d’une nouvelle téléprocédure afin de manipuler les différents instances.

Instance de téléprocédure:

les différents instances. Instance de téléprocédure: Figure 20: Portlet Workflow-Liste des instances de

Figure 20: Portlet Workflow-Liste des instances de téléprocédure

L’onglet instances de la portlet workflow montre les états des instances des téléprocédures qui sont définit dans la définition associé à cette instances ainsi que les critères de recherches des instances de téléprocédure. La colonne « state » présente l’état de chaque instance de téléprocédure.

présente l’état de chaque instance de téléprocédure. Formulaire de taches : Figure 21: Portlet

Formulaire de taches :

chaque instance de téléprocédure. Formulaire de taches : Figure 21: Portlet Workflow-Formulaire Mise en Place de

Figure 21: Portlet Workflow-Formulaire

Rapport de stage 2009/2010

Rapport de stage

2009/2010

Lorsque l’utilisateur clique sur l’onglet task, un formulaire s’affiche, la figure … donne un exemple sur le formulaire ou l’utilisateur doit télécharger un fichier, après il y a un control sur le type et la taille de ce fichier qui permet de valider ou annuler le téléchargement. Personnalisation de la portlet mode de contact :

2.6 Conclusion Toujours dans le cadre de Développement d’une plate-forme internet/intranet eCitoyen, j’ai participé a la modélisation et le développement des workflows qui m’a permis de connaitre un nouveau domaine de développement et de monter en compétences au niveau de la maitrise fonctionnel et technique des workflows et plus généralement celui de la supervision de processus métier. Ainsi d’implémenter des fonctions et des procédures Administratives, mises à disposition des citoyens. Ci-dessus les étapes à suivre pour la modélisation et le développement des workflows :

Installation et configuration de JBPM,pour la modélisation et le développement des workflows : Création de process de définition « Modélisation

Création de process de définition « Modélisation »,des workflows : Installation et configuration de JBPM, Développement de Handler « téléprocédure »,

Développement de Handler « téléprocédure »,Création de process de définition « Modélisation », Personnalisation de la portlet workflow. Mise en Place

Personnalisation de la portlet workflow.», Développement de Handler « téléprocédure », Mise en Place de portail intranet et Développement de

Rapport de stage 2009/2010

Rapport de stage

2009/2010

55

CCOONNCCLLUUSSIIOONN

Ce stage de fin d’étude réalisé dans la société GFI en tant que Ingénieur d’étude , m’a permis d’intégrer une structure qui m’a apporté beaucoup. D’un point de vue technique, j’ai pu me familiariser avec le portail liferay. Cela est un véritable atout puisque la majorité des grandes entreprises dans le monde placent l'informatique au cœur de leur culture. Les collaborateurs peuvent alors avoir accès de manière centralisée aux informations et ressources de leur entreprise, utiles dans leur travail.

Ce projet m'a permis de connaître aussi un domaine qui était complètement inconnu pour moi :

celui des workflows et plus généralement celui de la supervision de processus métier (mieux connu sous le nom de Business Process Management ou BPM). Il m'a aussi permis d'apprendre à utiliser le logiciel JBPM, logiciel que je trouve à titre personnel très utile et aussi très puissant.

D’un point de vue personnel, ces quatre mois passés au sein de l’équipe du E-business m’ont été extrêmement enrichissantes. Cela a été l’occasion de mettre en pratique mes connaissances acquises tout au long de ma formation mais aussi m’a permis d’aborder de nombreuses et diverses notions comme le travail en équipe, l’organisation et la répartition des tâches, la documentation, le respect d'un cahier des charges et le respect des délais.

Je suis pleinement satisfait de ce stage qui m’a enrichi car j’ai eu à manipuler des concepts que je ne connaissais pas ou peu auparavant. J’ai pu acquérir au niveau technique des connaissances indéniables sur les outils et notions utilisés.

De plus, l’expérience des personnes chargées de m’encadrer ainsi que la réalisation de projets parallèles au sein de la société m’ont aussi beaucoup apporté au niveau de l’organisation mise en place pour mener une mission.

Rapport de stage 2009/2010

Rapport de stage

2009/2010

66

GGLLOOSSSSAAIIRREE

Contenu web : Article.

Type de contenu : Structure.

Gabarit de contenu : template.

Application : portlet.

Layout : page

Thème : Présentation (charte graphique)

Colonnage: modèle de disposition= Layout template.

Permission : Action possible sur un objet

Profil thématique: Rôle.

Groupe de travail= Communauté.

Organisationnel= Organisation.

Rapport de stage 2009/2010

Rapport de stage

2009/2010

77 SSOOUURRCCEE && BBIIBBLLIIOOGGRRAAPPHHIIEE

Jonas X. Yuan « Liferay Portal 5.2 Systems Development

Normes spécifiées par SUN Microsystem concernant les technologies liées à Java :

- JSR-168 : première spécification des portlets parue en 2003

(URL: http://jcp.org/en/jsr/detail?id=168)

- JSR-286 : deuxième spécification des portlets parue en 2008

(URL: http://jcp.org/en/jsr/detail?id=286)

- JSR-170 : spécification concernant le dépôt de contenu en JAVA parue en 2006

(URL: http://jcp.org/en/jsr/detail?id=170)

Le site Wikipedia URL: http://fr.wikipedia.org/wiki/Workflow.

Le guide utilisateur de JBPM url : http://docs.jboss.com/jbpm/v3.2/userguide/html/

Rapport de stage 2009/2010

Rapport de stage

2009/2010