1. Trang chủ
  2. » Ngoại Ngữ

Répartition dun portail web collaboratif par utilisation de web services

36 282 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 1,38 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Dans le cadre du stage de master de recherche effectué dans le département Informatique à l'INT à Evry France, nous avons étudié les façons d'intégrer les applications existantes dans un

Trang 2

J’adresse toute ma gratitude à mon responsable de stage, M. Christian  BAC (INT), pour sa disponibilité, son soutien constant et son aide précieuse   durant ce stage.

Je voudrais également remercier M. Olivier BERGER (INT), DANG Quang  

Vu (IFI ­ Promotion 10) et M. Benoît HAMET (phpgroupware) pour leurs   collaborations serrées, leurs aides tout au long de mon stage.

Un grand merci à toutes les personnes du département Informatique à   l'INT pour leurs  aides et leur gentillesse pendant mon séjour en France.

Enfin, je voudrais exprimer mon entière reconnaissance envers ma famille,  mes amis et mes professeurs à l’IFI pour leurs soutiens, leurs aides et leurs  encouragements.

Trang 3

Dans   le  cadre  du  stage  de  master  de  recherche  effectué   dans   le  département Informatique à l'INT à Evry (France), nous avons étudié les façons d'intégrer les applications existantes dans un portail de travail collaboratif en utilisant les services Web. Le portail que nous avons utilisé pour intégrer les applications est la plateforme Picoforge. C’est le nom pour un ensemble d'applications de LibreSoftware qui sont intégrées dans une plateforme de Web, Picoforge permet le travail de collaboration, pour le développement de logiciels. 

L’application qui a été proposée et intégrée dans Picoforge est le système Mantis. C’est un système libre de suivi de bogues sur le Web­basé. Il supporte une interface de services Web (SOAP) pour l’interaction entre Mantis et les autres applications

Nous avons intégré non seulement Mantis dans la plateforme Picoforge mais aussi étudié l’architecture générale et normalisé les services pour intégrer rapidement les autres applications dans Picoforge. Pendant la première partie du stage, nous avons modifié Picoforge pour y intégrer les notions de sous projet en utilisant une notion de catégorie de projet. 

L’intégration de Mantis dans la plateforme Picoforge et l’architecture générale de noyau   de   Picoforge   sera   utilisée   dans   la   version   1.2   selon   la   roadmap   de développement du projet Picoforge dans la fédération d'identité de GET (Groupe des Écoles des Télécommunications)/INT

Trang 4

It is the name for a set of applications of LibreSoftware1 which are integrated into a Web platform, Picoforge allows the work of collaboration, for the development of software

The application which was proposed and integrated in the Picoforge is the Mantis system. It is a free system of bug tracking on Web­based. It supports an interface of the   Web     service   (SOAP)   for   the   interaction   between   Mantis   and   the   other applications

We   integrated   not   only   Mantis   in   the   Picoforge   but   also   studied   the   general architecture and standardized the services to quickly integrate the other applications in Picoforge. During the first part of the training course, we modified Picoforge to integrate the concepts of sub­project and of category of project into it

The integration of Mantis in the Picoforge platform and the general architecture of core of Picoforge will be used in version 1.2 according to the roadmap of development 

of the Picoforge project in the federation of identity of GET (Groupe des Écoles des Télécommunications) /INT

1 LibreSoftware also defined as  FreeSoftware  or  OpenSource  is defined classically by the  Free Software 

Trang 5

Remerciements 2

Résumé 3

Abstract 4

Chapitre 1.  Introduction 8

1.1.Contexte du stage 8

1.2.Portail de travail collaboratif 8

1.3.Picoforge une plateforme de travail collaboratif 9

1.4.Objectifs du stage 9

1.5.Organisation du rapport 10

Chapitre 2. État de l'art 11

2.1.Picoforge 11

2.2.Application de suivi de bogues 13

2.2.1.Mantis 13

2.2.2.Bugzilla 13

2.2.3.Autre applications 14

2.3.Web Services 14

2.3.1.Architecture générale 15

2.3.2.WSDL 16

2.3.3.XML­RPC 16

2.3.4.SOAP 17

Chapitre 3. Propositions 19

Chapitre 4. Choix de réalisation 21

4.1. Ajouter la notion de sous­projet et de catégorie dans Picoforge 21

4.2. Normalisation des services pour intégrer les logiciels dans Picoforge 21

4.2.1. Au niveau projet 22

4.2.2. Au niveau utilisateur 23

4.3. Création des hooks 23

4.4. Intégration de Mantis dans Picoforge via SOAP 24

4.4.1 Analyse  24

4.4.2 Solution 25

4.4.3 Synchronisation des projets, des utilisateurs et des categories 27

4.4.4 Configure Mantis login au LDAP 27

Chapitre 5. Picoforge dans l'avenir prochain 29

5.1.Picoforge­core 30

5.2.Avantage 30

5.2.1. Installation indépendante des applications 30

5.2.2.Intégration facile des applications 31

Trang 6

Conclusions et Perspectives 32

Références 33

Annexe A: phpGroupWare 34

APIs de phpgroupware 34

Web services dans phpgroupware 35

Annexe B: Utilisation de SOAP pour intégrer Sympa avec Picoforge 36

Trang 7

Figure 2: Architecture générale du Web service 15

Figure 3: Transmission de données en utilisant XML­RPC 16

Figure 4: Modèle d'intégration de Mantis dans Picoforge 26

Figure 5: Architecture générale de la version 1.2 de Picoforge 29

Figure 6: Répartition d'installation de la plateforme Picoforge 30

Figure 7: Architecture générale de phpGroupWare 34

Figure 8: Modèle d'intégration de Sympa dans Picoforge 36

Trang 8

Une flates­forme de travail collaboratif pour la recherche est développé à GET depuis plusieurs années, c'est PicoLibre. Actuellement, le département informatique de l'INT  développe une plate­forme de travail collaboratif pour le logiciel (PicoForge) en 

se basant PicoLibre

Actuellement, la tendance de développement de logiciel en matière d’intégration des applications existantes, spécialement des applications libres, augmente rapidement parce qu'elle améliore les temps développement et qu'ell diminue les cỏts de ces derniers   En   plus,   les   applications   existantes   peuvent   marcher   sur   des   systèmes d'exploitation différents comme Window, ou Linux mais aussi sur des plateformes différentes. Nous pouvons, en effet, ne pas installer toutes ces applications sur un même serveur

1.2.Portail de travail collaboratif

Un portail Web est un site Web qui offre une porte d'entrée unique sur un large panel de ressources et de services (email, forums, moteur de recherche etc.) centrés sur 

un domaine ou une communauté particulière. Avec un portail Web, les utilisateurs ont 

la possibilité d'enregistrer un compte pour s'y connecter ultérieurement et utiliser l'ensemble des services proposés. Normalement, chaque utilisateur a une espace de travail individuel qui est associé avec son compte

Le   travail   collaboratif   est   un   nouveau   modèle   de   travail   qui   résulte   des   deux modalités suivantes: 

 Organiser le travail en séquences de tâches parallèles

Trang 9

 Fournir aux acteurs de chacune des tâches une information utile et facilement exploitable   sur   les   autres   tâches   parallèles   et   sur   l'environnement   de   la réalisation.

Un portail de travail collaboratif est un environnement de travail collaboratif sur le Web. Il a une interface de Web, des ressources Web et des services Web etc

Dans un portail de travail collaboratif, il faut avoir les outils pour travailler. Les méthodes dépendent de chaque but concret et les outils pour organiser le travail pour chaque membre pour éviter les tâches qui se répètent. Il faut aussi faciliter l'accès et le partage des informations communes des contributeurs, des projets et des applications. Évidemment, ce portail permet aux contributeurs de travailler ensemble, de partager des connaissances, des ressources et d'utiliser ensemble des ressources. 

1.3.Picoforge une plateforme de travail collaboratif

PicoForge est le nom d'un ensemble d'applications logicielles libres intégrées pour former une plate­forme Web destinée au développement collaboratif. La plate­forme 

Tout d'abord, Picoforge a une interface de Web qui agit en tant que bureau Web pour la description de projet et l'accès aux outils offrant différentes possibilités pour chaque projet. À partir de cette interface, l'administrateur installe (ou supprime) aussi les applications et gère les utilisateurs, les utilisateurs travaillent sur ses projets en utilisant les outils de Picoforge

1.4.Objectifs du stage

Dans   le   contexte   de   développement   de   la   plateforme   Picoforge,   le   nombre d'applications intégrées dans Picoforge augmente de plus en plus. La répartition de ces applications sur des serveurs différents est nécessaire parce que cela diminuera le 

Trang 10

Selon le contexte ci­dessus, le but de ce stage est de fournir  les techniques et améliorer   l'architecture   pour   contruire   le   Picoforge   de   façon   que   les   applications d'intégration puissent être installées et développées indépendamment les unes des autres. Dans le cas, ó nous remplaçons une application par  une autre application qui 

a la même fonction, l'intégration est alors plus simple. 

Dans la partie pratique de ce stage, nous intégrerons une application de suivi de bogues dans cette plateforme. Nous normaliserons aussi l'interface de communication entre l'application de suivi de bogues et Picoforge

1.5.Organisation du rapport

L'état de l'art est réalisé dans le chapitre 2, il donne une vue générale sur la flate­forme PicoForge, les applications courantes de suivi des bogues et les technologies que nous avons utilisé dans ce stage. Le troisième chapitre, nous proposons quelques idées pour améliorer la flate­forme PicoForge. Le quatrième chapitre, nous presentons notre   travail   de   réalisation   dans   ce   stage   Le   dernière   chapitre,   nous   parlons   de l'architecture de PicoForge dans l'avenir prochain (version 1.2) et quelques avantages

Trang 11

Chapitre 2 État de l'art

2.1.Picoforge

La plateforme PicoForge est une plateforme de travail collaboratif se basant sur les APIs et les applications de base de phpGroupWare. Elle héberge des projets, offre un bureau virtuel permettant aux utilisateurs de travailler de façon sécurisée dans leurs projets. C'est un espace de travail associé à un ensemble d’outils. Ces outils gèrent les différents registres d’activité de la vie d’un projet, communication au sein de l’équipe 

et   communication   externe   (mailing­lists   Sympa),   planification   des   tâches, documentation du projet (Twiki) , suivi de bogues, mise à disposition des sources (CVS). La figure ci­dessous montre l'architecture générale de PicoForge

Figure 1: Architecture générale de la version 1.1 de Picoforge

Trang 12

PicoForge est une plate­forme regroupant un ensemble de logiciels libres comme environnent de travail collaboratif. Tous les logiciels utilisent des fonctions APIs de phpgroupware pour le développement. Nous utilisons les modules picolibre_choice et picolibre_current pour la creation de projet, la mise à jours de projet et l'affichage des infomations   de   projet   Ces   deux   applications   sont   le   noyau   de   cette   plateforme. L'utilisation des autres modules dépend du type de projet (projet de recherche, projet 

de logiciel etc.) et des outils pour le projet. Nous n'avons pas besoin d'installer toutes les autres applications de Picoforge. Les applications concrètes seront installées par l'administrateur de plateforme. Voici la liste de fonctions de chaque application:

 phpgw_admin: installer et supprimer l'application, gérer des utilisateurs et la permission de ces utilisateurs

 Bug report: suivi des bogues

 To Do List: gestion de projet. 

 picolibre_sympa: une interface pour travailler avec Sympa (gestion de mailing­lists) en utilisant Web service (SOAP)

 picolibre_twiki: créer, supprimer des pages de wiki en utilisant la méthode POST du protocole HTTP

 picolibre_CVS: afficher des informations et des commandes nécessaires pour travailler avec CVS

 picolibre_SVN: afficher des informations et des commandes nécessaires pour travailler avec SubVersion

Trang 13

2.2.Application de suivi de bogues

Le suivi des bogues est la gestion des erreurs qui est soutenue par une base de données. Normalement, les bogues sont traitées selon un Workflow. C'est­à­dire, l’état 

de la bogue est changé selon les valeurs aux instants différents comme: nouveau, ouvrir, résoudre, fermer … Un outil de suivi de bogues offre l‘affichage des bogues et 

le traitement coordonnateuré de ces bogues. Dans cette partie, nous vous présentons quelques outils de suivi de bogues qui sont utilisés par beaucoup d’entreprises

2.2.1.Mantis

Mantis est un outil libre de suivi de bogues associé à une interface Web. Il est écrit 

en PHP et fonctionne avec MySQL, MS SQL, ou PostgreSQL et un server de Web. Mantis peut marcher sur Windows, Linux, Mac OS

 Supporte une interface de Web service (SOAP). Ceci est un caractère très important pour intégrer Mantis dans autres systèmes. Nous pouvons créer un bogue, prendre les informations des bogues, des projets. 

2.2.2.Bugzilla

Bugzilla   est   un   système   de   suivi   des   bogues   qui   nous   aide   à   contrôler   le développement de logiciel. Il est développé par Mozilla. Le système de suivi des 

Trang 14

bogues permet à l'utilisateur ou aux groupes de réalisateurs de maintenir les bogues exceptionnels   dans   leur   produit   efficacement   Il   est   écrit   en   langage   PERL   et fonctionne avec MySQL et PostgreSQL  et un server de Web.

Voici la liste principale des caractèristiques de Bugzilla

 Logiciel libre

 Méthodes multiples d'authentification

 Webservices interface (XML­RPC). Ne supporte pas de création d'un projet via Webservices

 Possibilités avancées de recherche

 Rapports programmés (quotidien, hebdomadaire, horaire, etc.) par Email

 Bugzilla soutient ajouter les champs dans la base de données de bogue pour adapter aux besoins du client

 Bugzilla  a  des  systèmes  de rapport  très  avancés: rapport  en table,  rapport graphique

Bugzero est un système de suivi des bogues  basé Web.  Il est écrit en langage Java, fonctionne avec la base de données sur le standard SQL92, et supporte login via LDAP. Il peut aussi intégrer avec SubVersion

2.3.Web Services

Un   Web   Service   est   un   composant   implémenté   dans   n'importe   quel   langage, déployé sur n'importe quelle plate­forme et enveloppé dans une couche de standards 

Trang 15

dérivés de XML. Il doit pouvoir être découvert et invoqué dynamiquement par d'autres services. L'objectif des Web Services est de faciliter l'accès aux applications entre entreprises et ainsi de simplifier les échanges de données. Normalement, les Web services utilisent le protocole HTTP sur le port 80 pour les échanges de données. Il est établi sur les standards existantes comme: SOAP (Simple Object Access Protocol), WSDL   (Web   Services   Description   Language),   UDDI   (Universal   Description, Discovery, and Integration).

2.3.1.Architecture générale

La figure 2 montre l'architecture générale du Web service. 

Le fournisseur de service  crée un Web service et définit ces services. Il publie ces service avec le service d'enregistrement basé sur la norme  universelles de  description, 

de  découverte, et d'intégration (UDDI)

Le client peut trouver les services qui sont supportés par fournisseur via l'interface UDDI   UDDI  va  fournir   des   descriptions   de   service   et  URL   (Uniform   Resource Locator)   au  client   Avec   ces   descriptions,   le  client  peut  envoyer  des   requêtes   au fournisseur et recevoir des réponse du fournisseur via le protocole HTTP

Figure 2: Architecture générale du Web service

Trang 16

WSDL (Web  Services  Description Language)   est  un  format pour décrire une interface de services de Web. Il est une manière de décrire des services et comment ils devraient être liés aux adresses de réseau spécifiques. WSDL a trois parties:

 Les définitions sont généralement exprimés en XML et incluent les deux descriptions : les types de données et les messages qui emploient ces types 

de données

 Les opérations décrivent des actions pour les messages soutenus par le Service Web. Il y a quatre types d'opérations :

✔ One­way : Messages envoyés sans réponse requise

✔ Demande/réponse: L'expéditeur envoie un message et reçoit   une réponse

✔ Solliciter   la   réponse   :   Une   demande   de   réponse   (Les   détail   de définition pour cette action sont en cours)

✔ Notification: Messages envoyés à plusieurs récepteurs. (la définition spécifique pour cette action est en suspens)

Des opérations sont groupées dans les port types. Les port types définissent 

un ensemble d'opérations soutenues par le service Web

 Services d'association ou de découverte (bindings) relient les port types à un port. Un port est défini en associant une adresse de réseau à un port type. Une collection de ports defini un service

2.3.3.XML-RPC

XML­RPC est un format  d'appel de procédures à distance en utilisant le protocole HTTP comme transport et XML comme codage. XML­RPC est conçu pour être aussi simple que possible, tout en permettant aux structures de données complexes d'être transmises, traitées et retournées. La figure 3  montre la transmission de données en utilisant XML­RPC

Trang 17

Figure 3: Transmission de données en utilisant XML­RPC

Trang 18

Le protocole SOAP est composé de deux parties:

 Une enveloppe, contenant des informations sur le message lui­même afin de permettre son acheminement et son traitement

 Un modèle de données, définissant le format du message, c'est­à­dire les informations à transmettre

Ngày đăng: 27/10/2016, 23:09

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[3] Site du projet Bugzilla   h ttp://www.bugzilla.org/features[4]  Site du projet Mantis  http://www.mantisbt.org/ Sách, tạp chí
Tiêu đề: Site du projet Bugzilla  "h "ttp://www.bugzilla.org/features"[4]
[10]  The Bugzilla Team, The Bugzilla Guide ­ 3.1 Development Release,  Published 2007­02­25 Sách, tạp chí
Tiêu đề:  "The Bugzilla Team", The Bugzilla Guide ­ 3.1 Development Release, 
[11]   MOUSSA   Ilf,   NAKANO   Asako,  ASR   2007   end   of   studies   project:  Web  Services Integration, INT Sách, tạp chí
Tiêu đề: ASR   2007   end   of   studies   project:"  "Web Services Integration
[1]  Site du projet Picoforge  http://www.picoforge.org Link
[2] Site du projet phpgroupware  http://www.phpgroupware.org Link
[7]  Site de Wikipedia  http://fr.wikipedia.org/ Link
[8]  Site XML­RPC.com  http://www.xmlrpc.com Link
[9] Site w3c.org http://www.w3.org/  Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN