plate-forme pour la gestion de projets collaboratifs

178
Mémoire de fin d’études Pour l’obtention du diplôme d’Ingénieur d’Etat en Informatique Option : Systèmes d’information Thème Conception et développement d’une plate-forme pour la gestion de projets collaboratifs Document de base Réalisé par Encadré par - ATOUB HEMZA - GHENAM WASSIM - Mme D.AIT ALI YAHIA - Mr B. MOSTEFAI Promotion : 2011/2012

Upload: netrust

Post on 18-May-2015

4.008 views

Category:

Education


2 download

TRANSCRIPT

Page 1: Plate-Forme pour la Gestion de Projets Collaboratifs

Mémoire de fin d’études

Pour l’obtention du diplôme d’Ingénieur d’Etat en Informatique

Option : Systèmes d’information

Thème

Conception et développement d’une plate-forme

pour la gestion de projets collaboratifs

Document de base

Réalisé par Encadré par

- ATOUB HEMZA

- GHENAM WASSIM

- Mme D.AIT ALI YAHIA

- Mr B. MOSTEFAI

Promotion : 2011/2012

Page 2: Plate-Forme pour la Gestion de Projets Collaboratifs

ii

Dédicaces A mes très chers parents qui m’ont guidé durant les moments les plus pénibles

de ce long chemin, ma mère qui a été à mes côtés et m’a soutenu durant toute

ma vie, et mon père qui a sacrifié toute sa vie afin de me voir devenir ce que je

suis, merci mes parents.

A la mémoire de mon grand-père et ma grand-mère.

A mes chères frères : Amine, Charef, Riadh et Fouzi.

A toute ma famille.

A tous mes amis sans exception.

A mon binôme Hamza qui m’a accompagné tout au long de cette année pour la

réalisation de ce travail.

A toute la promotion ESI-2012,

Je dédie ce modeste travail

Wassim

Page 3: Plate-Forme pour la Gestion de Projets Collaboratifs

iii

Dédicaces Louange à Allah, seigneur de l’univers, le tout puissant et

Miséricordieux, qui m’a inspiré et comblé de bienfaits, je lui rends grâce.

A ceux qui ont toujours dévoué et sacrifié pour moi ; ceux qui m’ont aidé du

mieux qu’ils pouvaient pour réussir ; ceux qui m’ont accompagné

tout au long de ce parcours; ceux qui ont toujours été

là dans mes moments de détresse,

mes très chers parents,

A mes frères et sœurs,

A toute ma famille,

A tous mes amis,

A mon binôme Wassim,

A tous ceux qui me sont chers,

Je dédie ce modeste travail

Hemza

Page 4: Plate-Forme pour la Gestion de Projets Collaboratifs

iv

Remerciements

Avant tout nous remercions Dieu le tout puissant de nous avoir donné le courage

et de nous avoir guidé pour pouvoir mener à bien ce modeste travail.

Nous tenons à présenter notre gratitude et nos vifs remerciements à nos

encadreurs Mme D.AIT ALI YAHIA et Mr B.MOSTEFAI pour leurs

orientations et précieux conseils tout au long de cette année.

Nous adressons également nos remerciements à Mr M.A.MOSTEFAI qui nous a

aidés et orientés avec ses corrections et à Mr F.AZZOUAOU et Mr

A.R.GHOMARI qui ont accepté de répondre à nos questions.

Nous remercions particulièrement Mr T.BOUTEFARA pour les conseils et

l’aide qu’il nous a fourni dans la réalisation de ce travail.

Nous tenons aussi à exprimer nous remerciements à Mr S.DJEMAI pour ses

corrections et sa contribution dans l’amélioration de ce mémoire.

Nous présentons aussi nos remerciements aux membres du jury d’avoir

accepté d’évaluer notre modeste travail ainsi qu’à tous les enseignants de l’ESI

qui ont assuré notre formation d’ingénieur.

Enfin, nous remercions toutes les personnes qui ont contribué de près ou

de loin à la réalisation de ce travail, qu’ils trouvent tous ici l’expression de

notre gratitude et notre parfaite considération.

Page 5: Plate-Forme pour la Gestion de Projets Collaboratifs

v

Résumé

L’évolution extrêmement rapide de l’internet et le développement des nouvelles

technologies de l’information et de la communication (TICs) ont engendré un nouveau mode

de travail grâce à l’apparition d’une variété d’outils de travail collaboratif. Aujourd’hui, dans

le monde scientifique, de nombreux chercheurs et étudiants ont besoins de travailler et

collaborer ensemble dans des projets de recherche et de développement communs afin de

maximiser la créativité, l’efficience et la production scientifique des groupes et communautés

de recherche. C’est dans ce contexte que le travail collaboratif est un levier pour rapprocher

les équipes de recherche en dotant tous les membres des « outils de collaboration ». Ces

derniers présentent des enjeux importants pour assurer une collaboration efficace et

productive.

Le but de notre projet de fin d’études, proposé dans le cadre de projet OMAA (outil et

méthode pour un Apprentissage Actif), et suivi par une équipe d’enseignants chercheurs du

Laboratoire de Méthodes et de Conception des Systèmes (LMCS), consiste à concevoir et

développer une plate-forme collaborative en ligne. Cette dernière doit permettre le suivi et la

gestion dynamique de l’avancement des tâches de projets, et mettre à disposition des membres

de l’équipe de recherche, un ensemble adéquat d’outils de collaboration.

Mots clés : Travail collaboratif, Gestion de projets, outils web de collaboration, plate-forme

collaborative.

Page 6: Plate-Forme pour la Gestion de Projets Collaboratifs

vi

Abstract

The extremely rapid development of internet and the new information and

communication technologies (ICTs) has created a new way of working with the emergence of

a variety of tools called groupware. Today, in the scientific world, many researchers and

students need to work together and collaborate in research and development projects, to

maximize creativity, efficiency and the scientific production of research groups and

communities. It’s in this context that the collaborative work is a lever to bring together

research teams by providing all their members with the "collaboration tools". These last ones

present many important issues for an effective and productive collaboration.

The aim of our final study project, proposed under the project OMAA (Tool and

Method for Active Learning), followed by a team of teachers and researchers in the

Laboratory of Methods and Design of Systems (LMCS), is to design and develop a

collaborative platform online. It must allow monitoring and dynamic management of the

progress of project tasks, and make available to all members of a research team a set of

necessary collaboration tools.

Keywords: Collaboration, Collaborative work, Project Management, Web collaboration

tools, groupware, collaborative plat-form.

Page 7: Plate-Forme pour la Gestion de Projets Collaboratifs

vii

ملخص

طشمح ان خهكواالذصال انجذذج نإلػالوذمذو انركىنىجاخ و ف انسىاخ االخشج إلرشدن انرطىس انسشغ ديأ

ؼرثش انؼم انجاػ ."أدواخ انؼم انجاػ" ذسو انىسائم يجىػح يرىػح ي األدواخ رجح ظهىس جذذج نهؼم

ف يخرهف انجاالخ, ورنك ي اجم انرؼاو ف يخرهف يشاسغ انثذث و دانا ي أهى ادراجاخ انطالب و انثادث

هزا ف .وانكفاءج وانزادج ف انرىج انؼه نهثادث ف يجاالخ يرؼذدج اإلتذاعانرطىش انؼه نرذمك ألص لذس ي

نجغ أدواخ انرؼاو"" ل ذىفشي خال فشق انثذث نجغ و ذمشة انساق ؼرثش انؼم انجاػ انرؼاو وسهح جذج

هز االدواخ انخرهفح نها فىائذ و يزاا هايح ذسخ تضا ذؼاو فؼال ت انثادث .األػضاء انثادث ف يخرهف انفشق

.يا اد ان اراجح جذج ف يخرهف يجاالخ انثذث

انشظ(، وطشق نهرؼهىأدواخ ) OMAAانثذث يششوع انمرشح ف إطاس هاح انذساسح، يششوع انهذف ي

وذطىش هى ذصى، (LMCS) ذصى االظحانثادث ف يخرثش طشق وأسانة انؼه و ي لثم فشك يانراتغ

، يهاو انششوع يخرهف نرمذو وسصذ دايكحإداسج ت ذسخ جة أ هز انصح .يصح ذؼاوح وتشيجرها ػه االرشد

انهح.أدواخ انرؼاو يجىػح ي فشق انثذثيخرهف ذضغ ف يراول أػضاءو

يصح ىة،ان ػهانرؼاوادواخ انؼم ، إداسج انشاسغ ووسائم ، أدواخانؼم انرؼاو ،انرؼاو : كلمات البحث

.ذؼاوح

Page 8: Plate-Forme pour la Gestion de Projets Collaboratifs

viii

Table des matières

Résumé ........................................................................................................................................... v

Abstract ........................................................................................................................................ vi

vii ................................................................................................................................................ ملخص

Table des matières .......................................................................................................... viii

Liste des figures ................................................................................................................. xiii

Liste des tableaux ............................................................................................................. xv

Liste des abréviations ................................................................................................. xvi

Introduction générale .................................................................................................... 1

Contexte de travail .............................................................................................................................. 1

Problématique ...................................................................................................................................... 1

Objectifs .............................................................................................................................................. 1

Organisation du mémoire .................................................................................................................... 2

Partie I: Synthèse Bibliographique ................................................................ 3

Chapitre 1: Le Travail Collaboratif .............................................................. 4

1.1 Introduction ................................................................................................................................... 5

1.2. Définitions .................................................................................................................................... 5

1.2.1. Le travail................................................................................................................................ 5

1.2.2. La collaboration ..................................................................................................................... 5

1.2.3. Le Travail Collaboratif .......................................................................................................... 7

1.2.4. L’intelligence collective ........................................................................................................ 9

1.2.5. La gestion des connaissances (Knowledge Management) .................................................... 9

1.2.6. Les Communautés ............................................................................................................... 13

1.3. Les conditions de succès pour un collectif de travail ................................................................. 14

1.4. Enjeux et bénéfices de la mise en place du travail collaboratif .................................................. 15

1.5. Catégorisation des outils de travail collaboratif ......................................................................... 17

1.5.1. Outils de communication ..................................................................................................... 18

1.5.2. Outils de partage d’applications et de ressources ................................................................ 19

Page 9: Plate-Forme pour la Gestion de Projets Collaboratifs

ix

1.5.3. Outils d’information et de gestion des connaissances ......................................................... 19

1.5.4. Outils de coordination ......................................................................................................... 21

1.6. Typologies des outils de travail collaboratif .............................................................................. 22

1.6.1. La matrice « Moment/Lieu » ............................................................................................... 22

1.6.2. Le modèle du trèfle fonctionnel .......................................................................................... 23

1.7. Conclusion .................................................................................................................................. 25

Chapitre 2: La Gestion des Projets Collaboratifs ........................ 26

2.1. Introduction ................................................................................................................................ 27

2.2. Définitions d’un Projet ............................................................................................................... 27

2.2.1. L’approche générale ............................................................................................................ 27

2.2.2. Les définitions normalisées ................................................................................................. 28

2.3. Définitions de la gestion de projet .............................................................................................. 29

2.3.1. L’approche générale ............................................................................................................ 29

2.3.2. Les définitions normalisées ................................................................................................. 30

2.4. Les catégories de projets ............................................................................................................ 30

2.5. Les caractéristiques d’un projet .................................................................................................. 31

2.6. Le découpage d’un projet ........................................................................................................... 32

2.6.1. Les principes de découpage ................................................................................................. 32

2.6.2. Les découpages normalisés ................................................................................................. 34

2.7. Outils et techniques de planification d’un projet ........................................................................ 34

2.7.1. Le réseau PERT ................................................................................................................... 34

2.7.2. Le diagramme de GANTT................................................................................................... 35

2.8. Conclusion .................................................................................................................................. 36

Chapitre 3: Les Plates-formes Collaboratives ................................. 37

3.1. Introduction ................................................................................................................................ 38

3.2. Historique et évolution ............................................................................................................... 38

3.3. Définitions .................................................................................................................................. 38

3.3.1. Logiciels libres .................................................................................................................... 39

3.3.2. Logiciels propriétaires ......................................................................................................... 39

3.3.3. Plates-formes collaboratives ................................................................................................ 39

3.3.4. Portails ................................................................................................................................. 40

3.4. Catégorisation des plates-formes collaboratives ........................................................................ 41

3.5. Aperçu de quelques solutions collaboratives ............................................................................. 42

3.5.1. GateIn .................................................................................................................................. 43

3.5.2. Lifreray ................................................................................................................................ 44

Page 10: Plate-Forme pour la Gestion de Projets Collaboratifs

x

3.5.3. Jahia ..................................................................................................................................... 45

3.5.4. Jetspeed ............................................................................................................................... 45

3.6. Conclusion .................................................................................................................................. 46

Partie II : Etude de Cas ............................................................................................. 47

Chapitre 4: Etude des Besoins ........................................................................... 48

4.1. Introduction ................................................................................................................................ 49

4.2. Présentation générale de l’organisme d’accueil ......................................................................... 49

4.2.1. Laboratoire LMCS .............................................................................................................. 49

4.2.2. Structuration et organigramme du LMCS ........................................................................... 49

4.2.3. Présentation des équipes ...................................................................................................... 50

4.2.4. Missions et activités ............................................................................................................ 51

4.3. Etude de l’existant ...................................................................................................................... 52

4.3.1. Description de l’existant ...................................................................................................... 52

4.3.2. Critique de l’existant ........................................................................................................... 53

4.3.3. Suggestions .......................................................................................................................... 53

4.3.4. Solution proposée ................................................................................................................ 54

4.4. Conclusion .................................................................................................................................. 54

Chapitre 5: Analyse et Conception ............................................................... 55

5.1. Introduction ................................................................................................................................ 56

5.2. La méthodologie adoptée ........................................................................................................... 56

5.2.1. Le langage UML ................................................................................................................. 56

5.2.2. Le processus 2TUP .............................................................................................................. 57

5.3. Etude préliminaire ...................................................................................................................... 58

5.3.1. Identification des acteurs ..................................................................................................... 58

5.3.2. Identification des messages ................................................................................................. 59

5.3.3. Modélisation du contexte .................................................................................................... 62

5.4. Capture des besoins fonctionnels ............................................................................................... 63

5.4.1. Identification des cas d’utilisation ....................................................................................... 63

5.4.2. Identification des classes participantes (candidates) ........................................................... 77

5.5. Capture des besoins techniques .................................................................................................. 78

5.5.1. Capture des spécifications matérielles ................................................................................. 78

5.5.2. Modèle d’architecture Système (logiciel) ........................................................................... 80

5.5.3. Identification des acteurs et cas d’utilisations techniques ................................................... 81

5.6. Analyse ....................................................................................................................................... 84

Page 11: Plate-Forme pour la Gestion de Projets Collaboratifs

xi

5.6.1. Découpage en catégorie ....................................................................................................... 84

5.6.2. Modèle statique ................................................................................................................... 86

5.6.3. Modèle dynamique .............................................................................................................. 88

5.7. Conception générique ................................................................................................................. 97

5.8. Conception ................................................................................................................................. 98

5.8.1. Conception préliminaire ...................................................................................................... 98

5.8.2. Conception détaillée .......................................................................................................... 100

5.9. Conclusion ................................................................................................................................ 110

Chapitre 6: Implémentation et Déploiement ................................... 111

6.1. Introduction .............................................................................................................................. 112

6.2. Outils utilisés ............................................................................................................................ 112

6.2.1. Plate-forme de base: « Liferay Portal 6.1» ........................................................................ 112

6.2.2. Gestionnaire de documents : « Alfresco 4.0» .................................................................... 114

6.2.3. Outils de développement ................................................................................................... 115

6.3. Technologies utilisées .............................................................................................................. 116

6.3.1. Technologies de la couche présentation ............................................................................ 117

6.3.2. Technologies de la couche métier ..................................................................................... 118

6.3.3. Technologies de la couche d’accès aux données ............................................................... 118

6.4. Implémentation ......................................................................................................................... 118

6.4.1. Création et personnalisation des espaces personnels et de l’espace collaboratif ............... 118

6.4.2. Développement du portlet « Gestion de projets » ............................................................. 119

6.4.3. Intégration de l’ECM « Alfresco » avec l’ECM « Liferay » ............................................. 120

6.5. Tests et Résultats : Application au cas « OMAA » .................................................................. 122

6.6. Déploiement du système .......................................................................................................... 128

6.7. Sécurité du système .................................................................................................................. 129

6.7.1. Authentification et identification des utilisateurs .............................................................. 129

6.7.2. Gestion des rôles et des permissions ................................................................................ 130

6.7.3. Sécurité du réseau par l’usage d’un Pare-feu .................................................................... 130

6.7.4. La disponibilité du système ............................................................................................... 131

6.8. Conclusion ................................................................................................................................ 132

Conclusion générale et Perspectives .......................................................... 133

Références .............................................................................................................................. 135

Bibliographie ................................................................................................................................... 135

Webographie ................................................................................................................................... 138

Page 12: Plate-Forme pour la Gestion de Projets Collaboratifs

xii

Annexes ..................................................................................................................................... 141

Annexe A : Thématique « Administration des espaces » ... 142

Annexe B : Thématique « Gestion des Projets » ........................ 151

Annexe C : Liferay ....................................................................................................... 159

Page 13: Plate-Forme pour la Gestion de Projets Collaboratifs

xiii

Liste des figures

Figure 1: Le modèle en 3C de la collaboration. [WEB04] ....................................................... 6

Figure 2 : La démarche du travail coopératif. [WEB08] .......................................................... 8

Figure 3 : La démarche du travail collaboratif. [WEB08] ........................................................ 8

Figure 4 : Equation de transformation de la donnée en connaissance (G. BALMISSE).

[LAV08] ................................................................................................................................... 11

Figure 5 : Modèle hiérarchique de la connaissance de G. BALMISSE. [WEB17] ................ 11

Figure 6: Catégorisation des outils de travail collaboratif. [PIQ09] ....................................... 18

Figure 7: Modélisation de R. JOHANSEN des dimensions spatio-temporelles des outils du

travail collaboratif. [PIQ09] ..................................................................................................... 23

Figure 8: Le trèfle fonctionnel de Gilles BALMISSE. [PIQ09] ............................................. 24

Figure 9: Le triangle du projet. [MOR08] ............................................................................... 27

Figure 10: Le triangle du management de projet. [MOR08] .................................................. 30

Figure 11: Le découpage temporel d’un projet. [MOR08] ..................................................... 33

Figure 12: Le découpage structurel d’un projet. [MOR08] .................................................... 33

Figure 13: Un réseau PERT. ................................................................................................... 35

Figure 14: Un diagramme de GANTT. ................................................................................... 35

Figure 15: Vu d'un portail. ...................................................................................................... 41

Figure 16: Répartition des solutions collaboratives basée sur le trèfle fonctionnel. [COL04]

.................................................................................................................................................. 42

Figure 17: Interface du portail GetIn. .................................................................................... 43

Figure 18: Interface du portail Liferay. ................................................................................... 44

Figure 19: Interface du portail Jahia. ...................................................................................... 45

Figure 20: Interface du portail Jetspeed. ................................................................................. 46

Figure 21: Organigramme du LMCS. ..................................................................................... 50

Figure 22: Les diagrammes UML utilisés dans notre démarche. ............................................ 57

Figure 23: Phases du processus 2TUP (processus en Y) ........................................................ 58

Figure 24: Diagramme de contexte dynamique du système. .................................................. 62

Figure 25: Diagramme de cas d'utilisation « Gestion des utilisateurs » ................................. 65

Figure 26: Diagramme de cas d'utilisation « Administration des espaces » ........................... 70

Figure 27: Diagramme de cas d'utilisation « Gestion des projets » ........................................ 72

Figure 28: Diagramme de classes participantes de la thématique « Gestion des utilisateurs »

.................................................................................................................................................. 77

Figure 29: Diagramme de classes participantes du module « Gestion des projets » .............. 78

Figure 30: Architecture matérielle du système ....................................................................... 79

Figure 31: Architecture 3-tiers. ............................................................................................... 80

Figure 32: Cas d’utilisation techniques. .................................................................................. 84

Figure 33: Diagramme de package illustrant le découpage des classes candidates en

catégories. ................................................................................................................................. 85

Figure 34: Diagramme d’états-transitions de la classe « Utilisateur ». ................................... 89

Figure 35: Diagramme d’états-transitions de la classe « Projet ». .......................................... 89

Figure 36: Diagramme d’états-transitions de la classe « Tâche ». .......................................... 90

Figure 37: Diagramme d'activité « Navigation dans le système ». ........................................ 91

Page 14: Plate-Forme pour la Gestion de Projets Collaboratifs

xiv

Figure 38: Diagramme d'activité du module « Gestion des utilisateurs » .............................. 92

Figure 39: Diagramme d'activité du module « Gestion des projets » ..................................... 92

Figure 40: Diagramme d'activité « Consulter un projet ». ...................................................... 93

Figure 41: Diagramme d'activité « Créer un projet ». ............................................................. 93

Figure 42: Diagramme d'activité « Modifier un projet ». ....................................................... 94

Figure 43: Diagramme de séquence « Consulter un projet » .................................................. 95

Figure 44: Diagramme de séquence « Créer un projet » ......................................................... 95

Figure 45: Diagramme de séquence « Ajouter une phase » .................................................... 96

Figure 46: Diagramme de séquence « Assigner une tâche » .................................................. 97

Figure 47 : Modèle logique de conception .............................................................................. 98

Figure 48 : Diagramme de déploiement du système ............................................................... 99

Figure 49: Diagramme de classes détaillé de la catégorie « Gestion des utilisateurs ». ....... 106

Figure 50 : Diagramme de classes détaillé associé à la catégorie « Gestion de projets » ..... 107

Figure 51: LOGO Liferay Portal. .......................................................................................... 112

Figure 52: Vue des portlets d'une page de portail. [SAR12]................................................. 113

Figure 53: Architecture technique d'un portlet. [SAR12] ..................................................... 114

Figure 54: LOGO Alfresco. .................................................................................................. 114

Figure 55: LOGO Eclipse. .................................................................................................... 115

Figure 56: LOGO Java. ......................................................................................................... 115

Figure 57: LOGO Apache Tomcat. ....................................................................................... 116

Figure 58: LOGO MySQL. ................................................................................................... 116

Figure 59: Modèle MVC. ...................................................................................................... 117

Figure 60: Architecture technique de notre solution. ............................................................ 121

Figure 61: L'espace collaboratif d'une équipe de recherche. ................................................ 122

Figure 62: L'espace personnel d'un chercheur. ..................................................................... 123

Figure 63: Page d'accueil du portlet « Gestion de projets ». ................................................. 124

Figure 64: Les détails du projet « OMAA ». ........................................................................ 124

Figure 65: Détails d'une phase du projet « OMAA ». ........................................................... 125

Figure 66: Les détails d’une tâche du projet « OMAA ». ..................................................... 126

Figure 67: Diagramme de Gantt du projet « OMAA » ......................................................... 127

Figure 68: Formulaire de création d'un nouveau projet. ....................................................... 128

Figure 69: Modèle de déploiement de notre système. ........................................................... 129

Figure 70 : Architecture physique du réseau. ........................................................................ 131

Figure 71: Diagramme de cas d'utilisation « Administration des espaces » ......................... 142

Figure 72: Diagramme de classes participantes de la thématique « Administration des

espaces » ................................................................................................................................. 146

Figure 73: Diagramme d’états-transitions de la classe « Espace ». ...................................... 147

Figure 74: Diagramme d'activité du module « Administration des espaces » ...................... 148

Figure 75 : Diagramme de classe de la catégorie « Administration des espaces ». .............. 150

Page 15: Plate-Forme pour la Gestion de Projets Collaboratifs

xv

Liste des tableaux

Tableau 1: Description des acteurs du système. ..................................................................... 59

Tableau 2: Les massages émis par les acteurs au système. ..................................................... 61

Tableau 3: Les messages émis par le système aux acteurs. .................................................... 61

Tableau 4: Description des thématiques. ................................................................................ 64

Tableau 5: Description des modules de la thématique « Gestion de l’espace collaboratif » .. 64

Tableau 6 : Cas d’utilisations de la thématique « Gestion des utilisateurs » .......................... 66

Tableau 7: Cas d'utilisation de la thématique « Administration des espaces » ....................... 70

Tableau 8: Cas d'utilisation du module « Gestion des projets » ............................................. 73

Tableau 9: Cas d’utilisation techniques. ................................................................................. 83

Tableau 10: Les catégories de classes. .................................................................................... 86

Tableau 11: Liste des classes principales et attributs affinés. ................................................ 88

Tableau 12: Liste des classes d'association ............................................................................ 88

Tableau 13: Cas d'utilisation de la thématique « Administration des espaces » ................... 142

Tableau 14: Liste des classes principales et attributs affinés. .............................................. 147

Tableau 15: Liste des classes d'association .......................................................................... 147

Tableau 16 : Conception et description des méthodes. ......................................................... 149

Tableau 17 : Conception et description des méthodes. ......................................................... 158

Page 16: Plate-Forme pour la Gestion de Projets Collaboratifs

xvi

Liste des abréviations

2TUP 2 Track Unified Process

AFITEP Association Francophone de management de projet

AFNOR l’Association Française de Normalisation

API Application Programming Interface

ARDI Agence Régionale du Développement et de l'Innovation

BDD Base De Données

CMS Content Management Systems

CoP Community of Practice

DAO Data Access Object

ECM Entreprise Content Management

EIAH Environnement Informatique pour l’Apprentissage Humain

EJBs Enterprise JavaBeans

ERP Enterprise Resource Planning

F2F Face-to-Face

FAQ Foire Aux Questions

FSF Free Software Foundation

GC Gestion des Connaissances

GED Gestion Electronique des Documents

GPL General Public Licence

HQL Hibernate Quary Language

HTML HyperText Markup Language

HTTP HyperText Transfer Protocol

HTTPS HyperText Transfer Protocol Secure

IDE Integrated Development Environment

IHM Interface Homme-Machine

IMAP Internet Message Access Protocol

INI Institut Nationale de formation en Informatique

J2EE Java 2 Entreprise Edition

JEE Java Enterprise Edition

JSF Java Server Faces

JSP Java Server Pages

JSR Java Portlet Specification

KM Knowledge Management

LDAP Lightweight Directory Access Protocol

LMCS Laboratoire des Méthodologies de Conception des Systèmes

MAJ Mise A Jour

MDM Master Data Management

MIT Massachusetts Institute of Technology

MSI Management des Systèmes d’Information

MVC Model-View-Controller, Modèle-Vue-Contrôleur

NLB Network Load Balancing

OBS Organisation Breakdown Structure

OID Object Identifier

OMAA Outil et Méthode pour un Apprentissage Actif

OS Operating System

PBS Product Breakdown Structure

PERT Program Evaluation and Review Technique

PMBOK Project Management Body of Knowledge

Page 17: Plate-Forme pour la Gestion de Projets Collaboratifs

xvii

PMI Project Management Institute

POA Programmation Orientée Aspects

POP Post Office Protocol

PV Procès-Verbal

RSS Rich Site Summary

S2S Screen-to-Screen

SAN Storage Area Network

SGBD Système de Gestion de Bases de Données

SGBDR Système de Gestion de Bases de Données Relationnelles

SMS Short Message Service

SMTP Simple Mail Transfer Protocol

SQL Structured Query Language

SSO Single Sign On

TCP/IP Transmission Control Protocol/Internet Protocol

TICs Technologies de l’Information et de la Communication

UML Unified Modeling Language

WBS Work Breakdown Structure

WSRP Web Services for Remote Portlets

XML Extensible Markup Language

Page 18: Plate-Forme pour la Gestion de Projets Collaboratifs

Introduction générale

1

Introduction générale

Contexte de travail

Pour faciliter la gestion de projets, impliquant des acteurs multiples, divers outils de

gestion de travail collaboratif ont été proposés dans plusieurs plates-formes existantes. En

effet, les plates-formes de collaboration permettent de centraliser l’accès à l’information pour

les utilisateurs, d’une part et offrent un point unique de contrôle et d’administration des

projets aux personnels, d’autre part. De même, le fait de disposer de ces différents moyens

qui facilitent la collaboration, permet de favoriser le travail en équipe, d’accélérer et

d’encourager l’esprit de recherche et d’invention au sein des groupes et équipes de

recherches.

Notre projet de fin d’étude est inscrit dans le cadre du projet de recherche OMAA

(Outil et Méthode pour un Apprentissage Actif) suivi par une équipe, du laboratoire LMCS,

qui travaille dans le domaine EIAH (Environnement Informatique pour l’Apprentissage

Humain).

Problématique

Dans le monde scientifique, de nombreux chercheurs et étudiants utilisent des outils

personnalisés pour la gestion de travail collaboratif. Au sein de notre école l’ESI (Ecole

nationale Supérieure d’Informatique), les enseignants chercheurs se trouvent confrontés aux

difficultés suivantes :

Manque d’espaces de collaboration scientifique, afin que les chercheurs puissent

échanger les informations et travailler ensemble auxquels il faut ajouter l’absence des

moyens modernes (de nouvelles générations), qui leur permettraient de mieux

capitaliser et valoriser leurs informations, au sein des organismes de recherche.

Absence d’outils nécessaires pour mieux gérer et suivre les projets de recherche

scientifique et évaluer la rentabilité des projets.

Objectifs

Le but de notre étude est de réaliser une plate-forme de gestion de projets collaboratifs

et de mettre le point sur l’aspect gestion et collaboration. La plate-forme sera utilisée par les

membres de l'équipe travaillant sur le projet OMAA. Les objectifs principaux que nous

devons atteindre grâce au nouveau système sont donnés ci-après:

1. Permettre le suivi de la progression des tâches à réaliser et des ressources nécessaires à

l’aide des plannings d’affectation (des ressources) et fournir une vision commune aux

utilisateurs.

2. Assurer la gestion et l’accès à la documentation ainsi que le partage des informations

et des documents entre les chercheurs.

Page 19: Plate-Forme pour la Gestion de Projets Collaboratifs

Introduction générale

2

3. Mettre en place des moyens qui favorisent la collaboration et la communication entre

les membres de l’équipe et encourager l’échange des connaissances.

4. Permettre aux chercheurs de mieux gérer leurs temps grâce à différents outils comme

les calendriers, les plannings, les agendas personnels et collectifs qui servent aussi à

synchroniser les activités entre les membres de chaque équipe.

5. Assurer la gestion des différents évènements, pouvant survenir au cours des projets

comme les réunions, les conférences et les séminaires, etc.

6. Permettre la collaboration et le travail avec des partenaires distants.

Le premier objectif assure la visualisation, le contrôle et le suivi des projets, alors que

les autres assurent et stimulent la collaboration et l’échange entre les chercheurs, ce qui

permet d’augmenter la capacité de raisonnement et l’intelligence de l’équipe.

Organisation du mémoire

Le présent document est structuré en deux grandes parties :

Une première partie, que nous avons intitulée « Synthèse bibliographique », elle

englobe les notions nécessaires liées à notre cadre d’étude et qui inclut trois chapitres :

- Le Travail Collaboratif : Contient quelques définitions et concepts relatifs au

domaine de la collaboration et du travail collaboratif avec une présentation d’un

panorama des différents outils y afférents.

- Gestion des Projets Collaboratifs : Réservé aux définitions des concepts liés au

domaine de gestion de projets et les techniques de leurs suivis.

- Les Plates-formes Collaboratives : Consacré à la présentation de l’historique et

l’évolution des plates-formes collaboratives ainsi qu’à l’aperçu de quelques solutions

sur le marché.

La deuxième partie, intitulée « Analyse et Conception », correspond à l’étude et à la

réalisation de notre système incluant à son tour trois chapitres :

- Etude des besoins : Concerne l’environnement du système existant afin de recenser

les besoins et détecter les manques et les anomalies.

- Analyse et Conception : Intéresse la phase d’analyse et de capture des besoins pour

nouveau système ainsi que celle de sa conception.

- Implémentation et déploiement : Relatif aux outils et aux étapes que nous avons

suivis pour réaliser et déployer notre système.

Trois annexes complètent notre rapport :

- Les deux annexes « A » et « B » : concernent le chapitre « Analyse et Conception ».

- L’annexe « C » : concerne le chapitre « Implémentation et Déploiement ».

Page 20: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I: Synthèse

Bibliographique

Page 21: Plate-Forme pour la Gestion de Projets Collaboratifs

Chapitre 1: Le Travail Collaboratif

Contenu

1.1 Introduction ...................................................................................................................... 5

1.2. Définitions ....................................................................................................................... 5

1.2.1. Le travail ................................................................................................................... 5

1.2.2. La collaboration ........................................................................................................ 5

1.2.3. Le Travail Collaboratif ............................................................................................. 7

1.2.4. L’intelligence collective ............................................................................................ 9

1.2.5. La gestion des connaissances (Knowledge Management) ........................................ 9

1.2.6. Les Communautés ................................................................................................... 13

1.3. Les conditions de succès pour un collectif de travail .................................................... 14

1.4. Enjeux et bénéfices de la mise en place du travail collaboratif ..................................... 15

1.5. Catégorisation des outils de travail collaboratif ............................................................ 17

1.5.1. Outils de communication ........................................................................................ 18

1.5.2. Outils de partage d’applications et de ressources ................................................... 19

1.5.3. Outils d’information et de gestion des connaissances ............................................ 19

1.5.4. Outils de coordination ............................................................................................. 21

1.6. Typologies des outils de travail collaboratif.................................................................. 22

1.6.1. La matrice « Moment/Lieu » .................................................................................. 22

1.6.2. Le modèle du trèfle fonctionnel .............................................................................. 23

1.7. Conclusion ..................................................................................................................... 25

Page 22: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

5

1.1 Introduction

Le travail collaboratif, appelé parfois, le travail de groupe assisté par ordinateur,

recouvre l’ensemble des moyens organisationnels et techniques permettant d’offrir à des

groupes de personnes réunies autour d’une action ou d’un projet commun, la possibilité

de communiquer, de coopérer, et de se coordonner. L’usage de tous les outils de

collaboration conformes est devenu indispensables dans les entreprises et les institutions de

recherche, afin d’assurer un meilleur taux de production pour leurs projets.

A cet effet, nous examinons un ensemble de concepts jugés nécessaires pour mieux

comprendre le sujet, tel que la collaboration, le travail collaboratif, le travail coopératif, et la

différence entre ces deux derniers, le concept de l’intelligence collective et les conditions

nécessaires pour avoir une bonne collaboration au sein d’une équipe de projet. Nous clôturons

par la présentation d’un panorama des différents outils de collaboration les plus répandues,

avec une catégorisation, selon le rôle de chaque outil.

1.2. Définitions

1.2.1. Le travail

Le travail désigne l'effort physique ou intellectuel, accompli pour réaliser un fait ou

pour obtenir un résultat recherché. [WEB01]

Selon le Dictionnaire de l’Académie Française « le Travail signifie Labeur, fatigue,

peine qu'on prend pour faire quelque chose. On appelle en général, Homme de travail, Un

homme qui gagne sa vie par un métier pénible… ».

En résumé, le travail est un effort individuel ou collectif, physique ou intellectuel,

conscient, délibéré, créatif, professionnel ou non, dont le but tend à la concrétisation d’un

projet, d’une idée ou d’un ensemble de projets et d’idées- ne donnant pas nécessairement lieu

à un résultat abouti, mais ayant leur finalité, et dont la rétribution, s’il en est une, peut être

morale ou matérielle. [WEB02]

Un travail prend deux formes individuel ou collective, dans le contexte de notre projet

de fin d'étude nous nous intéressons surtout à l'aspect collectif.

1.2.2. La collaboration

L’encyclopédie en ligne Wikipédia définit la notion de collaboration ainsi :

«Collaboration désigne d'une façon générale l'acte de collaborer. Processus où deux ou

plusieurs personnes s’associent pour réaliser un travail avec des objectifs communs ».

Le département Performance de l'ARDI Rhône-Alpes (Agence Régionale du

Développement et de l'Innovation - Rhône-Alpes) évoque la collaboration "quand un groupe

organisé d’acteurs oriente et négocie ses interactions collectives vers une finalité qui ne

Page 23: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

6

pourrait être atteinte par un seul acteur. Ces interactions sont orientées et négociées pour

permettre le partage de ressources (coopération) et la mise en œuvre de routines de

coordination. La collaboration s’appuie donc sur la co-réflexion, la co-décision, la co-

conception, la co-production, la co-action, le co-pilotage, le co-apprentissage.». [WEB03]

Selon JACOBS, la collaboration consiste en « Plusieurs personnes réalisant des activités

dans le but d’atteindre des buts partagés de haut niveau. La collaboration nécessite des buts

partagés, un langage et des expériences en commun, ainsi qu’un environnement et des médias

partagés. [FRA03]

Le Cabinet MAIN CONSULTANTS créé par Serge K.LEVAN considère la

collaboration comme « l'intrication de trois processus complexes, distincts dans leurs finalités

respectives mais interdépendants : [WEB04]

Le premier processus de base, celui sans lequel les deux autres ne peuvent s'effectuer,

est la communication. Pour simplifier, ce processus permet les interactions entre individus

(acteurs/ sujets) dans un groupe.

Le deuxième processus, rendu possible par la communication, est la coopération. Ce

processus permet le partage et la mutualisation de ressources utiles.

Le troisième processus, optimisé et rendu possible par la communication et la

coopération, est la coordination. Ce processus permet la synchronisation d'acteurs et

d'actions en interdépendance dans le cadre d'un processus de travail. Contrairement à la

coopération, la coordination repose nécessairement sur un objectif unique et partagé.

L'exemple type est la communication/ coopération/ coordination que l'on retrouve dans une

équipe projet ».

Figure 1: Le modèle en 3C de la collaboration. [WEB04]

Page 24: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

7

Après avoir vu et compris les deux concepts : travail et collaboration, nous passons à

mettre l’accent sur la notion de travail collaboratif, qui est en réalité, une agrégation de ces

deux concepts. Nous détaillons les axes principaux autour desquelles tourne ce fameux

concept.

1.2.3. Le Travail Collaboratif

Le travail collaboratif fait l’objet d’un grand nombre de définitions dont nous donnerons

quelques exemples. La première définition que nous avons retenue, met l’accent sur les

rapports de travail qui sont développés dans le cadre d’un travail collaboratif.

Dans ce cas, le travail collaboratif est défini comme le « travail réalisé en commun par

plusieurs personnes aboutissant à une œuvre commune (travail en groupe ou en équipe). Il

suppose que les personnes interagissent pour accomplir l’objectif fixé, chacun selon ses

compétences et le rôle qu’il joue dans la dynamique de groupe». [WEB06]

La deuxième définition, complémentaire, associe au mot « collaboratif », l’idée

d’environnement de travail. Selon l’Office Québécois de la langue française1, le travail

collaboratif se définit comme « l’utilisation de ressources informatiques, dans le contexte d'un

projet réalisé par les membres d'un groupe de travail reliés en réseau ».

Dans cette définition, l’accent est mis sur les moyens techniques disponibles pour la

collaboration entre les différents acteurs.

Il ne faut pas confondre « Travail collaboratif » et « travail coopératif » qui sont

différents puisque le travail coopératif est une coopération entre plusieurs personnes qui

interagissent dans un but commun mais se partagent les tâches, alors que le travail collaboratif

se fait en collaboration du début à la fin sans diviser les tâches ».

Dans la suite nous détaillons la différence entre le travail coopératif et le travail

collaboratif :

1.2.3.1. Le Travail Coopératif

Le travail coopératif peut être défini comme « une organisation collective du travail

dans laquelle la tâche à satisfaire est fragmentée en sous-tâches. Chacune de ces sous-tâches

est ensuite affectée à un acteur, soit selon une distribution parfaitement horizontale dans

laquelle tâches et acteurs sont équivalents, soit selon une logique d’attribution en fonction des

compétences particulières de chacun. ». [PIQ09]

La figure suivante illustre la démarche du travail coopératif introduite par Henri et Lundgren-

CAYROL :

1 OQLF (Office Québécois de la Langue Française),

Page 25: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

8

Figure 2 : La démarche du travail coopératif. [WEB08]

Nous remarquons qu’il s’agit d’une division rationalisée (négociée) d’une tâche en

actions qui seront réparties (attribuées) entre acteurs agissant de façon autonome.

1.2.3.2. Le Travail Collaboratif

Le travail collaboratif se fait en collaboration du début à la fin sans diviser les tâches.

La distinction entre le travail coopératif et le travail collaboratif peut s’effectuer en

différenciant les relations existantes entre les membres du groupe (obligation ou liberté), la

responsabilité engagée ou non de chacun par rapport aux actions (responsabilité déléguée au

coordinateur ou constamment partagée), la capacité de chacun à influer sur la définition et la

succession des actions permettant d’atteindre l’objectif assigné au groupe. [WEB09]

La figure suivante illustre la démarche ou le concept du travail collaboratif comme le souligne

Henri et Lundgren-CAYROL :

Figure 3 : La démarche du travail collaboratif. [WEB08]

Page 26: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

9

D’après les figures (2 et 3), les groupes coopératifs et collaboratifs travaillent

généralement en vue d’atteindre un but commun ou partagé. La façon d’atteindre le but par

la coopération repose sur la distribution des tâches et des responsabilités au sein du groupe,

tandis que la collaboration exige une responsabilité individuelle pour atteindre le but.

[WEB08]

Durant ces dernières années, les récentes avancées technologiques dans le domaine des

TIC et l’évolution connue dans les technologies web, ont permis l’apparition de nouveaux

outils de travail collaboratif et par la même occasion ont fait émerger des concepts tels que

l’intelligence collective.

1.2.4. L’intelligence collective

La notion d’intelligence collective est définie par Olfa ZAIBET-GRESELLE

comme « l’ensemble des capacités de compréhension, de réflexion, de décision et d’action

d’un collectif de travail restreint issu de l’interaction entre ses membres et mis en œuvre pour

faire face à une situation donnée présente ou à venir ». [WEB10]

Au sens de Pierre Levy, l’intelligence collective est « une intelligence partout

distribuée, sans cesse valorisée, coordonnée en temps réel, qui aboutit à une « pleine »

mobilisation des compétences. […] . Il ne s’agit donc pas de la somme des intelligences

individuelles. L’intelligence collective, c’est l’intelligence des groupes de travail. ». [PIQ09]

D’une façon générale, l’intelligence collective définit les capacités cognitives d’une équipe

résultant des interactions multiples entre ses différents membres.

L’objectif principal du travail en équipe dans un projet est de s’aider, penser et réagir

ensemble comme étant un seul corps à la fois, ainsi que pour le partage et l’échange des

informations entre les membres de l’équipe. Avec le développement des TICs, la masse des

informations disponibles augmentent de plus en plus. Face à cette grande quantité

d’informations, les utilisateurs perdent beaucoup de temps à la recherche des informations et

des connaissances dont ils ont besoin. Ce qui a fait émerger un nouveau domaine qui s’occupe

de la capitalisation et la valorisation des connaissances cachées au sein de cette masse

d’informations. C’est ce qu’on appelle le « Knowledge management », (KM) ou la « Gestion

des connaissances », que nous présentons dans la suite.

1.2.5. La gestion des connaissances (Knowledge

Management)

La gestion des connaissances est devenue l’une des préoccupations stratégiques et

primordiale pour tous les environnements collaboratifs surtout dans les laboratoires de

recherche et les grandes et petites entreprises. L’objectif principal de la gestion des

connaissances est de capitaliser le plus efficacement et rapidement possible le savoir et les

connaissances à base de différentes informations ou supports informationnels échangés au

sein de l’organisation.

Page 27: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

10

1.2.5.1. Définitions

Afin de définir précisément ce que recouvre la gestion des connaissances, nous

devons nous poser la question de ce qu’est une « connaissance » au regard des termes

adjacents (donnée, information). Nous pouvons distinguer une gradation entre ces différentes

notions, de la donnée à la connaissance.

Donnée :

Comme le souligne F. Régnier responsable en « MDM »1 (Master Data Management)

dans l’entreprise « Logica Management Consulting », une donnée est une « Description

élémentaire de nature numérique ou alphanumérique, représentée sous forme codée en vue

d’être enregistrée, traitée, conservée et communiquée. Considérée individuellement, elle ne

présente que peu d’intérêt humain et n’est donc utile que pour la machine. ». [REG08]

En général une donnée est une valeur dans un champ ou description élémentaire. Elle

peut être sous une forme cognitive, informatique ou dans des documents sous forme de

texte papier, numérique, alphabétique, images, sons, etc. Une donnée peut exprimer une

mesure, un coût, une désignation, un état, etc.

Information :

Selon le dictionnaire Larousse en ligne, une information est un « Élément de

connaissance susceptible d'être représenté à l'aide de conventions pour être conservé, traité ou

communiqué ». [WEB17]

Elle contient un effet de surprise, elle apporte une connaissance et de la valeur que le

destinataire ne possédait pas ou qu’il ne pouvait pas prédire.

Pratiquement, l’information est déduite d’un ensemble de données. Les données sont donc des

éléments porteurs d’informations.

Connaissance :

« La connaissance est de l’information contenue à l’intérieur du cerveau humain; sans

une personne lucide pour détenir ces connaissances, point de connaissances. Elle est une

information valorisable, provenant de l’esprit humain, qui inclut de la réflexion, de la

synthèse et un contexte particulier». [GHO10]

Le processus de transformation de l’information en connaissance se déroule selon l’équation

suivante :

1 MDM : Master Data Management (en français : Maitrise de la Gestion des Données.)

Page 28: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

11

Figure 4 : Equation de transformation de la donnée en connaissance (G. BALMISSE). [LAV08]

En effet, Gilles BALMISSE, directeur du cabinet « Knowledge Consult »1, dans son

livre blanc « Outils du KM – Panorama, choix et mise en œuvre », aborde la connaissance

selon la triade : Données/ Information/ connaissances, la figure suivante etablissant bien la

relation hiérarchique entre ces trois concepts:

Figure 5 : Modèle hiérarchique de la connaissance de G. BALMISSE. [WEB17]

Une donnée est donc, un élément brut en dehors de tout contexte, une information est une

donnée mise en contexte alors qu’une connaissance est une information assimilée pour

réaliser une action.

1.2.5.2. Types des connaissances

La gestion des connaissances distingue deux grands types de connaissances,

conformément aux apports de la psychologie cognitive2. Selon Ikujiro NONAKA, l’un des

références incontournable dans le domaine de la gestion des connaissances, ils existent des

connaissances tacites et des connaissances explicites : [IKU95]

1 http://www.knowledgeconsult.com

2 Psychologie cognitive : Science qui étudie les grandes fonctions psychologiques de l'être humain ( la mémoire,

le langage, l'intelligence, le raisonnement, la résolution de problèmes, la perception ou l'attention).

Page 29: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

12

La connaissance tacite : elle est personnelle et regroupe des compétences innées

ou acquises, le savoir-faire et l’expérience de l’individu. Elle est généralement

difficile à formaliser et à communiquer ;

La connaissance explicite : elle peut être clairement articulée sur un support et donc

plus facile à transférer (à l’écrit comme à l’oral) et à partager par une communauté.

Dès lors et, après avoir compris ces différents concepts (Données, Informations et

connaissances), et distingué les deux types de connaissances, nous élucidons le concept de la

gestion des connaissances qui s’occupe de la gestion et la capitalisation de ces derniers.

1.2.5.3. La gestion des connaissances

Bien qu’il existe de très nombreuses définitions relatives à la gestion des

connaissances, nous proposons les définitions ci-dessous qui reflètent, partiellement, toute la

richesse de ce domaine :

Selon le KM Center: « La gestion des connaissances peut être définie comme étant

l’utilisation systématique et organisée des savoirs contenus dans l’entreprise dans le but de

l’aider à atteindre ses objectifs. La gestion des connaissances a donc pour mission d’améliorer

la performance de l’entreprise. En outre, la GC1 permet d’obtenir une vision d’ensemble des

compétences et des savoirs de l’entreprise. ». [WEB11]

D’après l’encyclopédie en ligne Wikipédia La gestion des connaissances « est

l'ensemble des initiatives, des méthodes et des techniques permettant de percevoir,

d'identifier, d'analyser, d'organiser, de mémoriser, et de partager des connaissances entre les

membres des organisations, en particulier les savoirs créés par l'entreprise elle-même (ex :

marketing, recherche et développement) … en vue d'atteindre l'objectif fixé.

Les acteurs d'une organisation ne doivent pas se limiter à la consommation

d'informations brutes. Après avoir vérifié les informations (sources, origines), ils doivent

veiller aux usages de celles-ci, ce qui signifie interprétation, structuration, capitalisation, et

partage des connaissances. » . [WEB12]

La GC est toujours relié à la prise de bonnes décisions d’après les renseignements disponibles

auprès décideurs. «Les connaissances représentent la combinaison entre les données et les

renseignements, auxquels s’ajoutent l’opinion, les compétences et l’expérience d’experts, ce

qui crée un atout précieux qui peut servir à prendre des bonnes décisions ». [DUB08]

Il y’a souvent une forte relation entre la collaboration et la GC, comme le souligne Serge

LEVAN, une « bonne GC » est un sous-produit d’un « bon travail collaboratif » entre les

différents membres du collecticiel. À l’intérieur des organisations, la GC se manifeste

généralement et exerce son influence à trois niveaux : l’individu, l’organisation, et la

communauté de pratique. [DUB08]

1 GC : Gestion des connaissances

Page 30: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

13

En réalité on trouve plusieurs types de communautés selon le référentiel et le critère

qu’on adopte. Par la suite nous présentons les types de communautés selon les activités de la

population.

1.2.6. Les Communautés

« Le terme de communauté désigne un groupe de personnes rassemblées autour de

buts, d’expériences, de tâches ou d’intérêts communs, et « mutuellement engagées dans des

actions dont elles négocient ensemble le sens », selon les termes d’Étienne WENGER ».

[DUG08]

Il y a de nombreuses typologies de communautés, suivant ses activités, on peut distinguer

quatre types génériques de communautés, par ordre croissant d’engagement des membres les

uns vis-à-vis des autres : [DUG08]

1.2.6.1. Communauté d’intérêt

Groupe de personnes partageant des intérêts communs et disposées à s’entraider.

Exemple : les contributeurs de Slashdot, à l’origine d’un forum de discussion

d’informaticiens et qui est maintenant devenu l’un des grands médias interactifs du Web1;

1.2.6.2. Communauté d’objectif

Groupe de personnes engagées dans une collaboration en vue d’accomplir quelque

chose ensemble. Exemple : le groupe des 300 000 contributeurs de l’encyclopédie en ligne

Wikipedia2, ou plus simplement un groupe de bénévoles réhabilitant un gîte en montagne ;

1.2.6.3. Communauté de pratique

Appelée aussi CoP pour Community of Practice, ou « communauté de métier » : groupe

de personnes engagées dans des activités professionnelles semblables et qui se réunissent

pour apprendre les unes des autres et faire progresser les pratiques du métier. Exemple : le

groupe CoP-13, communauté de knowledge managers de grandes entreprises francophones,

ou plus simplement une école de peinture;

1.2.6.4. Communauté d’innovation

Groupe de personnes engagées dans des activités collaboratives de création. Exemple :

le groupe de développeurs de produits logiciels libres comme Linux, Apache, etc.

Parmi les différentes communautés décrites plus haut, s’il en est une qui revêt une

importance toute particulière pour les entreprises et les laboratoires de recherche, c’est bien la

communauté de pratique.

1 www.slashdot.org. 2 www.wikipedia.org 3 www.cop-1.net.

Page 31: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

14

Tous ces aspects collaboratifs, de partage et d’échanges, se trouvent au niveau des

laboratoires de recherche, ou un ensemble de chercheurs qui partagent un sujet ou un domaine

de recherche entre eux, ou en collaboration avec d’autre chercheurs, ils sélectionnent des

sources d’information pertinentes pour leur domaine et axe de recherche; ils ajoutent de la

valeur à cette information au travers des différentes activités qu’ils mènent, ils extraient de la

connaissance grâce à ces expériences, savoir et tests réalisés et publient des informations

retraitées, pour les mettre à la disposition d’autres communautés des chercheurs.

Le bon fonctionnement et circulation de l’information au sein de la communauté,

atteindre les objectifs voulus dans chaque projet de recherche dans les meilleurs délais, d’une

façon structuré et avoir les meilleurs résultats, nécessite une collaboration dans les meilleures

conditions. Nous présentons ci-après, les cinq facteurs de succès de Serge LEVAN qui

permettent à l’équipe projet d’aboutir aux objectifs finaux d’où une bonne pratique de la

collaboration entre ces membres.

1.3. Les conditions de succès pour un collectif de travail

Lorsqu’un collectif de travail se lance dans une expérience de travail collaboratif au sein

d’un projet, certaines règles et conditions sont nécessaires pour permettre à l’équipe

d’atteindre ses objectifs sous les meilleurs auspices dans les délais définis. Selon Serge

LEVAN, les conditions qui mènent le groupe de travail au chemin de succès dans un

environnement collaboratif sont les suivantes : [WEB14]

Le dispositif (de travail collaboratif)

Le dispositif ou la plate-forme de travail collaboratif regroupe différents outils

nécessaires pour la collaboration des membres de l’équipe projet. Lorsque cette plate-forme

de travail s’adapte mieux aux pratiques collaboratives des différentes situations de travail et

de communication à ce moment il y aurait, une grande chance de succès et de réussite de

l’équipe dans ses projets.

L'espace de travail collaboratif avec les différents moyens de communication et de

coordination doit réduire ou faciliter les tâches a réalisées soit collectives ou individuelles,

encourager le partage et les échanges numérique.

Le groupe (collectif de travail)

Parmi les grandes conditions d’une collaboration efficace, on en déduit la préexistence

du collectif, autrement dit, lorsque les membres de l’équipe projet ont déjà produit et réussi

des projets en travaillant en mode F2F (face-to-face) dans des conditions traditionnelles, il est

plus facile d'adopter de nouvelles modalités de travail en ligne en S2S (screen-to-screen). Le

fait de travailler ensemble en F2F, permet d’alimenter la capacité collective du groupe et

d’établir pas à pas les relations de confiance ou ce qu’on appelle « Confiance

Page 32: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

15

professionnelle » au sein du groupe. Comme le dit Martin DUGAGE : « La confiance est le

fruit de la collaboration, et la collaboration engendre la confiance. ». [DUG08]

L'objectif (finalité et résultats escomptés)

La chance de réussite du collectif de travail augmente lorsque la majorité des membres

partage un objectif commun et clair. Un but ou une finalité connue et partagés dans l’esprit

entre tous ou la majorité des membres, sert à justifier et légitimer l’existence du groupe qui va

déterminer son processus collaboratif. « La représentation mentale du processus doit exister

dans chaque tête, et chacun des membres doit savoir ce qu'on attend de lui et ce qu'il peut

attendre des autres». [WEB14]

Les individus (membres du collectif de travail)

La qualité seule des individus ne permet pas de garantir le succès. Mais la médiocrité de

leurs compétences collaboratives est suffisante pour conduire à l'échec. Conformément au 1er

principe (préexistence du groupe avant l'expérience de travail collaboratif en ligne), les

membres du collectif de travail doivent être capables d'une certaine "Collaborative Attitude"

dans l'action et la réflexion collective.

Les chances de réussite augmentent lorsque les membres du collectif de travail

maîtrisent les outils de travail collaboratif qui sont à leur disposition.

L'animateur/trice (facilitateur)

C'est un acteur clé de la réussite. Le rôle d’animateur comme celui de facilitateur dans

un processus de travail collaboratif en ligne exige des compétences mixtes : aptitudes en

interactions traditionnelles F2F (communications verbales, gestuelles) d'une part, aptitudes en

interactions numériques S2S (communications écrites, codes du travail en réseau numérique)

et "Collaborative Attitude" d'autre part. Dans tous les cas, on augmente les chances de réussite

lorsque l'animateur/trice est une personne reconnue par les autres membres du collectif de

travail.

Dans ce projet, nous basons notre travail sur le premier facteur de succès : « Le

dispositif de travail collaboratif», nous nous intéressons à la collaboration et davantage à la

gestion des projets de recherche collaboratif.

1.4. Enjeux et bénéfices de la mise en place du travail

collaboratif

L’enjeu majeur du travail collaboratif est la production de compétences collectives en

vue d’amener chaque acteur à communiquer, échanger, planifier, créer et coordonner ses

Page 33: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

16

compétences de manière collective dans le but d’améliorer le fonctionnement de son groupe

de travail. [PIQ09]

Les avantages et bénéfices de la mise en place des outils de travail collaboratif au sein

d’une équipe projet sont les suivants : [PIQ09]

Une bonne collaboration entre les acteurs (communication, partage, coopération, etc.)

permet au groupe de se comporter et réagir ensemble face à toute situation, ainsi que de

trouver des solutions aux problèmes rencontrés. c’est là ou l’intelligence collective apparait

permettant à l’équipe de penser comme un cerveau unique améliorant le fonctionnement du

groupe de travail grâce à la mobilisation des méthodes et d’outils de travail collaboratif.

Réduire les contraintes liées à la synchronisation des emplois du temps et à la

dispersion géographique des membres d’une équipe dans le sens de diminution des coûts et de

temps de prise de décision en recourant à des réunions en ligne ou à des visio-conférences.

Les possibilités d’agir sur le projet, d’interagir avec les autres membres à distance et à

tous moments sont désormais rendues envisageables par les solutions de travail collaboratif

existantes.

L’un des enjeux les plus importants dans les mise en œuvre des outils de collaboration

réside dans les possibilités qu’il offrent en matière de co-action, de co-analyse, co-conception

et de co-réalisation d’objets, des tâches et des projets.

Les méthodes et outils de travail collaboratif permettent ainsi une meilleure réactivité

et efficacité au sein du groupe en termes de production et ce, grâce à la facilité de partages et

des échanges des idées, informations et expériences sur différents supports, qu’offrent ces

outils.

L’accessibilité et la disponibilité des documents de travail stocké à distance sur

internet, ainsi que la possibilité aux membres de l’équipe projet de travailler ensemble et

apporter des modifications, mises à jour sur un même document, réduisent les pertes du temps

occasionné par les changements et les envois multiples des mails et des documents.

Parmi les enjeux clés du travail collaboratif, ce sont également les possibilités offertes

en termes de coordination qui font partie des points forts des outils de travail collaboratif. Les

avantages de ces outils apparaissent bien lorsqu’il s’agit de la gestion et du suivi d’un projet.

Ils permettent la coordination entre les travaux de chacun des membres, des tâches à

accomplir et finaliser, des délais et constituent la source principale des informations pour

connaitre l’avancement du projet.

La mise en place d’une véritable gestion des connaissances (ou Knowledge

Management) grâce à différents outils, représente un des piliers d’une collaboration efficace,

Page 34: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

17

ce processus permet de faciliter l’acquisition, le stockage, le transfert et l’application des

connaissances au sein des membres des équipes projets et des organisations.

Malgré tous ces avantages, le travail collectif n’est pas forcément synonyme

d’efficacité et de rapidité dans l’action. En générale les défis posés par le travail collaboratif

sont plus informationnels et culturels que technologiques. Donc le facteur humain est

essentiel. Le travail collaboratif n’étant pas inné, les compétences collaboratives de partage et

d’échange seront donc des compétences à développer dans l’action et en situation de

travail collectif.

Enfin, ce choix d’organisation du travail collectif nécessite de se pencher sur le

fonctionnement global du groupe et sur la capacité des personnes à travailler et à utiliser les

différents outils de collaboration.

L'étude des différents outils de collaboration existants avec le rôle et le processus

dans lequel agit chaque outil, est donné ci-après.

1.5. Catégorisation des outils de travail collaboratif

Selon Alexandre PIQUET, les outils du travail collaboratif se distinguent selon leurs

domaines d’utilisation en quatre grandes catégories : les outils de communication, les outils

de partage d’applications et de ressources, les outils d’information et de gestion des

connaissances et les outils de coordination. [PIQ09]

La figure suivante illustre la répartition des principaux outils de travail collaboratif

selon leurs domaines d’utilisation :

Page 35: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

18

Figure 6: Catégorisation des outils de travail collaboratif. [PIQ09]

1.5.1. Outils de communication

Ils sont considérés comme des outils "de première nécessité" car sans eux il est

impossible de collaborer. Leur rôle est avant tout de faire circuler l’information entre

collaborateurs. [PIQ09]

Les principaux outils de cette catégorie sont : [PIQ09]

La messagerie électronique

La messagerie électronique est une application asynchrone du travail collaboratif, et est

la base de l’outil collaboratif. C'est l’un des services les plus couramment utilisés sur internet.

Il s’agit d’un système de communication basé sur des protocoles de réseaux informatiques

(SMTP, POP et IMAP) permettant l’envoi et la réception de messages rapides via Internet ou

le réseau Intranet.

La liste de discussion

Elle permet à un groupe de personnes de communiquer sur un thème donné par

l'intermédiaire du courrier électronique. Il est nécessaire de s'abonner à la liste de discussion

pour pouvoir participer aux échanges. Les abonnés écrivent à l'adresse électronique de la liste,

courrier qui sera automatiquement distribué à tous les abonnés de la liste (voir également

Liste de diffusion).

Page 36: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

19

La messagerie Instantanée

La messagerie instantanée est un mode de communication synchrone. Elle permet

l'échange instantané de messages textuels entre plusieurs ordinateurs connectés au même

réseau informatique, notamment, celui de l'Internet. Elle offre également des fonctions

d'échanges de fichiers et de communication par la voix. Les utilisateurs ajoutent leurs

correspondants dans une liste et sont informés lorsque l'un d'eux se connecte à la messagerie

ce qui leur permet d'entamer une conversation.

La visio-conférence

La visio-conférence est une technique qui permet d'organiser des rencontres de haute

qualité techniques entre des groupes de personnes sur des sites distants. Elle combine deux

techniques qui sont à fois la visio-phonie, permettant de voir et dialoguer avec son

interlocuteur, et la conférence multipoints (ou « conférence à plusieurs »), permettant

d'effectuer une réunion avec plus de deux terminaux.

1.5.2. Outils de partage d’applications et de ressources

Ils permettent à plusieurs membres d’une équipe de travailler ensemble sur un même

document, sur une même application dans le cadre d’un projet commun. Ce sont ici les outils

de collaboration par excellence offrant la possibilité à des utilisateurs de travailler à distance

en ligne. Les principaux outils de cette catégorie sont : [PIQ09]

Les forums

Ces services permettent à des acteurs d’échanger et de discuter sur un thème donné:

Chaque utilisateur peut lire à tout moment les interventions de tous les autres et apporte sa

propre contribution sous forme d'articles. Pour aller sur un forum, on utilise son navigateur en

se connectant à une adresse URL. Les questions du forum peuvent éventuellement alimenter

les FAQ (Foire Aux Questions).

Les outils d’écriture collaborative (édition conjointe/partagée)

C'est l'élaboration d’un document, menée par plusieurs participants. Cette forme de co-

production a précédé l’invention des outils de communication électronique. L’écriture

collaborative désigne les activités de conception, de rédaction, de révision ou d’édition du

document réalisées dans un espace de travail virtuel. Un logiciel permet à différentes

personnes de collaborer à l'élaboration d'un document partagé. Chaque contribution enrichit le

document.

1.5.3. Outils d’information et de gestion des connaissances

Ces outils de partage de contenus et d'accès au savoir sont également connus sous

l’appellation de Knowledge Management (KM). Ils ont pour finalité de rendre plus aisé

l’accès aux informations. Dans le cadre d’un projet, ils offrent la possibilité à un groupe de

gérer le cycle de publication du contenu, à savoir les documents produits et partagés par le

Page 37: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

20

groupe. Cela facilite la création, la validation, l’organisation et la distribution de ce contenu.

On peut diviser cette catégorie en trois sous-divisions : [PIQ09]

a. Les outils actifs de diffusion de l’information (diffuser une information

pertinente)

b. Les outils passifs de recherche de l’information (accès aux documents quelques

soient leur nature et leur lieu de stockage) ;

c. Les outils passifs de recherche des compétences (accès à une information précise

et détaillée détenue par un expert).

Les principaux outils de l’information et de partage de connaissances sont : [PIQ09]

L’annuaire électronique

Il s'agit d'un annuaire organisé en base de données et interrogeable à partir d'Internet ou

d’un Intranet. Les annuaires électroniques peuvent être des listes de personnes ou de services.

Les Blogs

Un blog (ou blogue) est un site Web constitué par la réunion de « billets » publiés au fil

du temps et classés par ordre antéchronologique. Chaque billet (appelé aussi note ou article)

est, à l'image d'un journal de bord ou d'un journal intime. Le blogueur (tenant du blog) y

rédige un texte, souvent enrichi d'hyperliens et d'éléments multimédias et sur lequel chaque

lecteur peut généralement apporter des commentaires.

Le e-learning

Le e-learning désigne l'ensemble des méthodes et des outils permettant un apprentissage

à distance grâce aux technologies Internet. L'apprentissage en ligne est une modalité

pédagogique et technologique qui concerne la formation continue, l’enseignement supérieur

mais aussi la formation en entreprise, c’est-à-dire pour un apprenant adulte ayant une certaine

autonomie dans l’organisation de son processus d’apprentissage.

Les flux de syndication RSS

Un flux RSS ou fil RSS (Rich Site Summary, en français sommaire développé de site)

est un format de syndication de contenu Web, codé sous forme XML. Ce système permet de

diffuser en temps réel les nouvelles des sites d'informations ou des blogs, ce qui permet de

consulter rapidement ces dernières sans visiter le site.

La Gestion Electronique des Documents (GED)

La Gestion Electronique des documents assure l’intégration du document dans un

circuit d’informations en gérant son archivage, sa sécurité, son administration, mais aussi son

indexation, son accessibilité par un moteur de recherche et requête vers la base de données.

Autrement dit, la GED est un ensemble d’outils et de techniques qui permettent de

dématérialiser, classer, gérer et stocker des documents à partir des applications informatiques

dans le cadre normal des activités de l’entreprise.

Page 38: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

21

Le moteur de recherche

Un moteur de recherche est un logiciel permettant de retrouver des ressources (pages

web, forums, images, vidéo, fichiers, etc.) associées à des mots. Certains sites web offrent un

moteur de recherche comme principale fonctionnalité, on appelle alors moteur de recherche le

site lui-même (Dailymotion, YouTube, Google Video, etc. sont des moteurs de recherche

vidéo). Enfin, On trouve également des méta-moteurs, c'est-à-dire des sites web où une même

recherche est lancée simultanément sur plusieurs moteurs de recherche (les résultats étant

ensuite fusionnés pour être présentés à l'internaute).

Le portail

Il donne au personnel d'une entreprise et aux partenaires de celle-ci l’accès, d'une part, à

l'ensemble des données et des informations qui appartiennent à l'entreprise en question, et

d'autre part, à une série de sites Web ou de portails verticaux qui se rapportent à la sphère

d'activités de l'entreprise. Le portail constitue la porte d’entrée aux connaissances de

l’entreprise mais, également, à ce qui se trouve sur Internet. Son rôle principal est de répondre

très vite aux besoins de l’utilisateur en termes d’information.

Le système expert

D'une manière générale, un système expert est un outil capable de reproduire les

mécanismes cognitifs d'un expert, dans un domaine particulier. Il s'agit de l'une des voies

tentant d'aboutir à l'intelligence artificielle. Plus précisément, un système expert est un

logiciel capable de répondre à des questions, en effectuant un raisonnement à partir de faits et

de règles connus. Il peut servir notamment comme outil d'aide à la décision.

Le système de Gestion de Contenu (Content Management Systems - CMS)

Un système de gestion de contenu est une famille de logiciels destinés à la conception et

à la mise à jour dynamique de site web ou d'application multimédia. Ils permettent de créer,

de modifier et de publier le contenu sur un site internet, intranet ou extranet grâce à une

interface simple d'utilisation. La gestion du contenu regroupe les différents processus qui

conduisent à la création de contenu. Depuis la recherche jusqu'à la publication en passant par

la rédaction et la révision, l'établissement d'un système de gestion de contenu formalisé est le

moyen le plus efficace pour créer et de valider des informations.

1.5.4. Outils de coordination

Ce sont des outils de suivi et de gestion de projet qui permettent de synchroniser, de

contrôler et d’accélérer les interactions entre les contributeurs, les relecteurs et les personnes

chargées de la validation d’un projet. Ils peuvent ainsi assister un groupe projet à finaliser les

objectifs fixés tout en répondant aux contraintes de délais, de coûts et de qualité.

Les principaux outils coordination sont : [PIQ09]

Page 39: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

22

L’agenda partagé

Le logiciel d’agenda partagé permet de fixer facilement la date, l’heure et le lieu d’une

réunion sans consulter les participants. Il trouve le premier créneau horaire disponible dans

l’agenda des collaborateurs, vérifie la disponibilité d’une salle de réunion, invite les

participants et leur rappelle la réunion par courriel ou par SMS. Des espaces sont prévus pour

noter des compléments : raisons précises de la rencontre, fonction des participants, ressources

nécessaires, etc. L’agenda partagé est accessible à tous les membres d’une équipe.

Les logiciels de Workflow

C’est un système d’ordonnancement des flux de travaux dans une organisation. Le

workflow formalise et définit tous les éléments clés d’un processus : les actions, leur

ordonnancement, les intervenants et leur rôle, les données nécessaires et/ou produites et les

délais. Cette technologie logicielle a pour objectif d'organiser les processus de fonctionnement

d'une entreprise et leur mise en œuvre. Cette gestion électronique de processus implique la

modélisation des procédures de travail et la prise en compte de tous les aspects reliés au

fonctionnement de l'entreprise (incluant les acteurs, les tâches et les documents). La plupart

des solutions de WorkFlow prennent en charge la régulation des flux de travaux en prenant en

compte des notions de synchro, de temps d’exécution et des alertes. 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 leurs tâches. Pour un processus de publication en ligne par

exemple, il s'agit de la modélisation des tâches de l'ensemble de la chaîne éditoriale. Il permet

généralement un suivi et identifie les acteurs en précisant leur rôle et la manière de le remplir

au mieux.

Les outils de synchronisation

Ce sont des outils qui permettent de synchroniser automatiquement des données

(fichiers, répertoires, etc.) entre deux ou plusieurs systèmes (ou emplacement de stockage).

Ce processus permet ainsi de faire correspondre les contenus entre différents postes.

Lorsqu'un utilisateur ajoute, modifie, ou supprime un fichier à l'endroit A, le processus de

synchronisation entre A et B ajoutera, modifiera, ou supprimera le même fichier à l'endroit B.

1.6. Typologies des outils de travail collaboratif

1.6.1. La matrice « Moment/Lieu »

La matrice « Moment/Lieu » de R.JOHANSEN, établie en 1989, illustre les dimensions

spatiales et temporelles des outils de travail collaboratif, permettant de finaliser une première

typologie. Chaque outil de travail collaboratif correspond à un usage spécifique, à un temps

donné (synchrone ou asynchrone), en un lieu donné (même endroit ou endroits différents).

[CHA08]

Page 40: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

23

Figure 7: Modélisation de R. JOHANSEN des dimensions spatio-temporelles des outils du travail collaboratif.

[PIQ09]

Cette représentation semble toutefois insuffisante car elle ne permet de décrire que

quatre situations de communication et d’échange. Elle ne prend pas en compte les autres

principes du travail collaboratif qui sont la coopération et la coordination. [CHA08]

1.6.2. Le modèle du trèfle fonctionnel

Le modèle du trèfle fonctionnel permet de caractériser les 3 principales fonctions

auxquelles doivent répondre les outils de travail collaboratif dans leur ensemble, à savoir :

Communication, Coordination et Production. [PIQ09]

Le terme « production » peut être rattaché à la notion de coopération dans le modèle des

« 3C » de « Serge LEVAN » qui repose sur les notions : Communication, Coopération et

Coordination. [CHA08]

La communication relève des interactions entre acteurs, coopération du partage de

ressources utiles entre acteurs, coordination de la synchronisation des actions et des acteurs.

Gilles BALMISSE représente ces trois notions dans un schéma qu’il nomme « le trèfle

fonctionnel du travail collaboratif » [BAL04]. Ce détour par la modélisation fonctionnelle des

outils de travail collaboratif nous permet de mieux catégoriser ces derniers et de présenter le

schéma suivant :

Page 41: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

24

Figure 8: Le trèfle fonctionnel de Gilles BALMISSE. [PIQ09]

Comme le représente le schéma précédent, les trois principales fonctions des outils de

travail collaboratif s’entrecroisent et se confondent. En effet, selon les fonctionnalités visées

d’un outil, celui-ci s’inscrira soit dans une seule et même fonction soit à l’intersection de deux

ou de trois de ces fonctions. [PIQ09]

En identifiant clairement les trois dimensions production, coordination, communication,

ce modèle nous permet d’englober toutes les plates-formes de travail collaboratif : à la fois les

plates-formes existantes et usuellement reconnues, mais aussi les systèmes atypiques comme

les outils de communication, ainsi que d’éventuelles nouvelles catégories d’outils de travail

collaboratif à venir. [COL04]

Un point important à noter est que, selon les besoins en matière de travail collaboratif,

les trois espaces fonctionnels n’ont pas la même importance. Ainsi, le travail collaboratif

orienté sur la gestion de contenu met l’accent sur la production, la gestion d’expertise sur la

coordination et la production, la collaboration sur la communication et la gestion de projet sur

les trois dimensions. [COL04]

Page 42: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 1: Le Travail Collaboratif

25

1.7. Conclusion

Ce chapitre, traite trois objectifs principaux : le premier concerne des définitions et

l’introduction des concepts qui ont donnée naissance au néologisme « Travail collaboratif ».

Chacune des définitions suppose l’existence d’un groupe de personnes, source de savoir de

compétence et de pratiques qu’il convient de faire travailler ensemble dans le but explicité

précédemment. Le deuxième objectif consiste à citer les différents enjeux et bénéfices d’une

mise en place du travail collaboratif au sein d’une équipe de projet. Le troisième est un état de

lieu de l’existant en matière d’outils de travail collaboratif classé selon les fonctions de ces

derniers (Communication, partage, coordination, KM, etc.).

Le chapitre suivant sera consacré au volet de la gestion de projets, où nous présenterons

les différentes méthodes de découpage de projets, ainsi que les outils de gestion utilisés.

Page 43: Plate-Forme pour la Gestion de Projets Collaboratifs

Chapitre 2: La Gestion des Projets Collaboratifs

Contenu

2.1. Introduction ................................................................................................................... 27

2.2. Définitions d’un Projet .................................................................................................. 27

2.2.1. L’approche générale ................................................................................................ 27

2.2.2. Les définitions normalisées ..................................................................................... 28

2.3. Définitions de la gestion de projet ................................................................................. 29

2.3.1. L’approche générale ................................................................................................ 29

2.3.2. Les définitions normalisées ..................................................................................... 30

2.4. Les catégories de projets................................................................................................ 30

2.5. Les caractéristiques d’un projet ..................................................................................... 31

2.6. Le découpage d’un projet .............................................................................................. 32

2.6.1. Les principes de découpage .................................................................................... 32

2.6.2. Les découpages normalisés ..................................................................................... 34

2.7. Outils et techniques de planification d’un projet ........................................................... 34

2.7.1. Le réseau PERT ...................................................................................................... 34

2.7.2. Le diagramme de GANTT ...................................................................................... 35

2.8. Conclusion ..................................................................................................................... 36

Page 44: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 2: La Gestion des Projets Collaboratifs

27

2.1. Introduction

La gestion des projets s’est développée à partir de différents champs d’application et

domaines industriels comprenant la construction ou travaux publics, la technologie et la

défense. L’objectif était toujours de maitriser les travaux et la coordination des différents

corps de métiers grâce au développement des méthodes et de nouvelles technique qui

permettent d’aboutir aux buts désignés en respectant les contraintes liées au coût et au délai.

L’ancêtre de la gestion des projets aux Etats-Unis est Henry GANTT, appelé le père

des techniques de planification et de contrôle, qui est célèbre et connu par son usage du

diagramme de Gantt comme outil de gestion des projets. Ce développement était parallèle au

courant de la recherche opérationnelle, qui avait pour but la prise des décisions les plus

optimales en se basant sur une formalisation mathématique des problèmes de gestion.

Dans ce chapitre, nous détaillons les concepts « Projet » et «le Management de projet »

selon les différends standards et normes, puis nous listerons les catégories, les

caractéristiques, les principes de découpage des projets ainsi que quelques techniques et

moyens pour arriver du début d’un projet jusqu’à réaliser les objectifs jalonné (définit) dans

des conditions optimales (cout, délai, etc.).

2.2. Définitions d’un Projet

2.2.1. L’approche générale

On appelle projet un objectif à réaliser, par des acteurs, dans un contexte précis, dans un

délai donné, avec des moyens définis, nécessitant l’utilisation d’outils appropriés.

Un projet est défini « comme un ensemble d’activités à effectuer pour atteindre un but

défini de façon spécifique. D’une façon plus précise, on parle de « travail en mode projet »

lorsque l’on doit atteindre un objectif avec des moyens ad hoc et dans un délai donné ».

[MOR08]

Le mode projet requiert une organisation et un management adaptés. On le représente

parfois sous forme d’un triangle :

Figure 9: Le triangle du projet. [MOR08]

Page 45: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 2: La Gestion des Projets Collaboratifs

28

Ce triangle exprime une contrainte très solide entre ces trois sommets, c’est à dire si

l’un des sommets subit un changement et qu’on veut garder le même triangle on doit agir sur

les deux autres sommets.

Il existe plusieurs points communs entre « projet » et « opération », mais le mode projet

se distingue de celui d’une activité répétitive qui porte le même caractère d’une opération.

Le référentiel du PMI (Project Management Institute), appelé Guide du PMBOK

(Project Management Body of Knowledge) explique très clairement les différences entre

projet et opération : « les opérations et les projets différent en premier lieu parce que les

opérations sont permanentes et répétitives, alors que les projets sont temporaires et uniques ».

[MUL05]

Le projet est, comme chaque opération, unique. Mais, contrairement aux opérations, le

processus de déroulement du projet est spécifique au projet. D’où, avant le commencement de

la réalisation du projet il est nécessaire de définir son processus de déroulement.

Parfois on se retrouve devant des opérations complexes possédant les mêmes

caractéristiques d’un projet (complexité, unicité, événement de début et de fin), dans ce cas

cette dernière peut être considérée comme un projet.

2.2.2. Les définitions normalisées

Les principales définitions normalisées qu’on a retenues sont celle de l’AFITEP

(l’Association Francophone de management de projet), celle de l’AFNOR (l’association

française de normalisation) et du PMI (Project Management Institute).

D’après le dictionnaire du management de projet de l’AFITEP un projet est un

« …ensemble d’actions à réaliser pour atteindre un objectif défini dans le cadre d’une mission

précise et pour la réalisation desquelles on a identifié non seulement un début mais aussi une

fin. ». [MUL05]

L’AFNOR définit un projet comme « Une démarche spécifique, qui permet de

structurer méthodiquement une réalité à venir. Un projet est défini et mis en œuvre pour

élaborer la réponse au besoin d’un utilisateur, d’un client ou d’une clientèle et il implique un

objectif et des actions à entreprendre avec des ressources données ». [MUL05]

Selon le PMBOK du PMI : « Un projet est un effort temporaire exercé dans le but de

créer un produit, un service ou un résultat unique». [PMI08]

L’unicité du produit entraînera celle des activités à mettre en œuvre.

Malgré la variation de ces définitions, on peut constater qu’elles considèrent tout le

projet comme étant le chemin à emprunter pour aller de l’idée vers l’objet à réaliser.

Page 46: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 2: La Gestion des Projets Collaboratifs

29

Le terme du projet est atteint lorsque ses objectifs sont satisfaits, ou lorsque le projet est

arrêté par ce que ses objectifs ne seront pas atteints ou ne peuvent pas l’être, ou lorsque le

projet est jugé comme « plus utile ».

Un projet s’analyse également comme un processus constitué de deux grandes phases :

[MUL05]

Une phase de désordre, au cours de laquelle, les besoins du projet doivent être

identifiés et bien défini, en sus des solutions possibles qui peuvent nous amener à

l’objectif du projet tout en respectant les différentes contraintes qui pouvant être

rencontrées (en particulier budget, délais et performances attendues).

Une phase d’ordre, où toutes les actions sont importantes pour arriver aux objectifs

définis, ordonnancés et réalisés avec un contrôle permanent et la possibilité d’atteindre

le résultat défini et attendu.

2.3. Définitions de la gestion de projet

2.3.1. L’approche générale

La Gestion (ou management) de projet est l’application des connaissances, des

compétences, des outils et des méthodes, aux activités d’un projet, en vue d’atteindre ou de

dépasser les besoins et les attentes des parties prenantes du projet. Atteindre ou dépasser les

besoins et les attentes des parties prenantes signifie que l’on trouve un équilibre entre les

contraintes concurrentes, telles que :

Contenu, coût, délai et qualité.

Besoins et attentes différentes entre les parties prenantes.

Exigences identifiées (besoins) et non identifiées (attentes).

Le champ du management de projet est axé sur les caractéristiques génériques d’un

projet. Il doit assurer le contrôle des trois aspects qui forment le triangle projet, d’où chaque

aspect nécessite un contrôle ou management spécifique prenant en compte tous les

changements des deux autres. La combinaison entre les nouveaux aspects de contrôle générés

par les sommets du triangle projet forme le nouveau triangle du management de projet. Ainsi :

[MOR08]

Le délai donne lieu à un management du temps dont le rôle est de définir le parcours,

les dates et les durés des tâches nécessaires, d’établir des calendriers et de maitriser la

gestion du temps.

Les moyens affectés constituent le budget du projet, transformée en travail, locaux,

matériel, temps machine, déplacement, etc. Cette transformation nécessite un

management des ressources portant sur les ressources humaines et les moyens

matériels ou immatériels.

L’objectif du projet doit être concrétisé par une ou plusieurs fournitures. Ce sommet

donne naissance au management de la production, qui a pour but de suivre et diriger

l’avancement vers l’objectif tout au long du projet.

Page 47: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 2: La Gestion des Projets Collaboratifs

30

Ces trois aspects sont représentés par le triangle du management de projet :

Figure 10: Le triangle du management de projet. [MOR08]

2.3.2. Les définitions normalisées

Trois principales définitions normalisées ont été retenues : AFITEP, PMI et AFNOR.

Le PMBOK du PMI, donne à la gestion de projet la définition suivante : « Le

management de projet est l’application de connaissances, de compétences, d’outils et de

Techniques aux activités d’un projet afin d’en satisfaire les exigences. ». [PMI08]

L’AFITEP et l’AFNOR définissent le management de projet comme : « l’ensemble des

tâches permettant de conduire une opération quelconque à bonne fin ». [MOR08]

Le management de projet doit être distingué de la Direction de projet. La Direction de

projet intègre en effet l’ensemble des aspects stratégiques, politiques, de définition,

d’objectifs et finalités et enfin de décisions non comprise dans le management.

Le management de projet a pour objectif essentiel d’apporter à la Direction de projet,

des éléments pour prendre en temps voulu toutes les décisions lui permettant de respecter les

termes du contrat passé avec le client, en contenu, en qualité, en délai et en coûts. C’est donc

une tâche principalement prévisionnelle (avec une vision à long terme) intégrant une

compréhension technique, contractuelle et commerciale du projet.

2.4. Les catégories de projets

Un projet peut être entrepris par une personne, une unité organisationnelle ou par

plusieurs. Tous ces membres travaillent et collaborent ensemble dans le but d’atteindre les

objectifs et satisfaire les résultats attendus qui sont appelés à la fin du projet fournitures ou

« Livrables ». Le résultat du projet peut être sous forme d’un produit qui peut être, soit le

composant d’un autre élément, soit l’élément final lui-même, une capacité de fournir un

service (par exemple, les fonctions d’une entreprise prenant en charge la production ou la

distribution), ou des documents, publications et des prototypes qui se développe dans des

projets de recherche scientifique, technologique, etc.

Plusieurs types de projets peuvent exister, on y distingue globalement : [MUL05]

Page 48: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 2: La Gestion des Projets Collaboratifs

31

Les projets d’ingénierie industrielle.

Les projets de développement de produits.

Les projets informatiques (le développement ou l’acquisition d’un nouveau système

d’information ou modification d’un système existant).

Les projets internationaux.

Les projets d’ingénierie de service.

Quel que soit la nature de ces projets, il existe deux autres façons pertinentes pour les

classer : La première consiste à classer les projets selon leurs finalités en deux catégories :

[MUL05]

Le « projet-ouvrage » ou projet d’ingénierie dont la finalité est d’obtenir un résultat

unique qui est considéré pour lui-même (par exemple : ouvrage d’art, bâtiment, usine,

déménagement, une application, le déploiement d’une solution informatique, etc.).

Le « projet-produit » dont l’objectif est la réalisation ou la mise au point d’un produit,

ou d’une gamme de produits ou services, qui seront destinés à une production répétitive pour

un marché (diffusé à plus ou moins grande échelle, par exemple : automobile, électroménager,

produits pharmaceutique, un Nouveau logiciel, un ERP, etc.).

La deuxième façon de classer les projets consiste à séparer les projets internes des

projets externes. Lors d’un projet interne, l’entreprise définit, finance et réalise son ouvrage

elle-même. Par contre lors d’un projet externe l’entreprise définit et finance son ouvrage, mais

le fait est réalisé par une entreprise extérieure.

2.5. Les caractéristiques d’un projet

Chaque projet a deux caractéristiques principales : la complexité et l’unicité. [MUL05]

La Complexité :

Un projet est complexe (ce qui ne veut pas forcément dire compliqué). Il va faire appel

à des ressources, à des moyens, à des compétences qui ne sont pas placées, généralement,

sous une seule et une même autorité. Ces ressources, ces moyens et ces compétences doivent

être coordonnés, afin qu’ils puissent travailler ensemble à atteindre les objectifs du projet.

La complexité du projet ne réside pas dans les complications techniques, mais dans la

nécessité d’organiser et de motiver, afin de faire travailler ensemble diverses ressources et

compétences dont les intérêts sont parfois très divergents.

L’Unicité :

Il n’y a pas deux projets identiques. Même s’il existe des similitudes entre deux projets,

chacun d’eux comporte des novations. D’où la nécessité de définir toujours un processus

complet, de sa réalisation, de son lancement à son aboutissement.

Page 49: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 2: La Gestion des Projets Collaboratifs

32

Un projet peut aussi avoir d’autres caractéristiques :

Nécessité d’une structure non permanente et spécifique, qui va croiser et faire appel

aux ressources de la structure permanente de l’entreprise.

Nécessité d’un langage commun compris de tous les acteurs.

Identification du destinataire de l’ouvrage (le maitre d’ouvrage) et du réalisateur de

l’œuvre (le maitre d’œuvre).

2.6. Le découpage d’un projet

2.6.1. Les principes de découpage

Pour pouvoir répartir la production et les ressources d’un tel projet dans le temps, on

procède à son découpage. Ce dernier doit s’appuyer à la fois sur l’approche cartésienne

(réduction de la difficulté) et sur l’approche systémique (prise en compte des liens entre les

éléments). Le but d’un tel découpage est de :

Maîtriser les risques.

Maîtriser au mieux les délais et les coûts.

Obtenir une qualité conforme aux exigences.

Découper un projet consiste ainsi à identifier des sous-ensembles quasi autonomes,

selon les caractéristiques suivantes : [MOR08]

Les résultats de chaque sous-ensemble du projet doivent être bien identifiées ;

La charge de chaque sous- ensemble doit être évaluable ;

La prise en compte des liens et des contraintes d’enchainement qui existent entre les

différents éléments ou sous-ensembles (parallèles ou successives) ;

Le découpage est fait à des mailles différentes, un sous-ensemble étant souvent à son

tour décomposé.

Le découpage d’un projet se fait en respectant deux critères essentiels : le critère

temporel et critère structurel.

2.6.1.1. Le critère temporel

Ce critère permet de décomposer le projet en plusieurs phases successives ou parallèles

et de faire repartir le temps nécessaires pour la réalisation de chacune d’elles. D’où

l’élaboration d’un calendrier qui comporte les différentes tâches de chaque activité. Une date

de début et de fin sont attribuées à chaque tâche (activité et phase).

La représentation suivante avec le formalisme UML illustre la décomposition donnée

précédemment :

Page 50: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 2: La Gestion des Projets Collaboratifs

33

Figure 11: Le découpage temporel d’un projet. [MOR08]

2.6.1.2. Le critère structurel

Ce critère nécessite une visibilité suffisante sur le résultat à produire, car il permet

d’organiser le travail en se basant sur la structure du produit final. La décomposition selon ce

critère fait apparaitre les différents modules. La figure suivante illustre cette décomposition.

Figure 12: Le découpage structurel d’un projet. [MOR08]

Ces deux critères ne sont pas exclusifs, on peut toujours faire un découpage temporel et

prendre en compte l’aspect structurel surtout dans les projets de taille importante, ce qui

présente plusieurs avantages : [MOR08]

Maîtrise du projet

Le découpage conduit à des sous-ensembles cohérents d’une taille plus réduite et plus

facile à maîtriser.

Répartition des responsabilités

L’autonomie des modules autorise leur répartition dans des sous-projets séparés, dont la

réalisation est confiée à différents responsables ou éventuellement sous-traitée.

Page 51: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 2: La Gestion des Projets Collaboratifs

34

Réduction des délais planifiés

Faire avancer la date théorique d’achèvement du projet, grâce à certains modules

indépendants qui sont développés en parallèles d’où la réalisation de plusieurs tâches en

même temps.

Avoir un développement incrémental

Pour différentes raisons (taille, budget, délais), on choisit parfois de développer un

système d’informations par versions successives (en général trois ou quatre), chaque version

comportant un nombre croissant de modules par rapport à la précédente. Le découpage

structurel est alors essentiel pour définir le contour de chacune d’elles.

2.6.2. Les découpages normalisés

En plus des découpages vus précédemment, on trouve des méthodes de découpage plus

évolués définit par des organismes de standardisation. Les normes internationales proposent

trois découpages : PBS, WBS et OBS. [MOR08]

Le découpage PBS, Product Breakdown Structure (structure de décomposition du produit),

correspond au découpage structurel : ce sont les différents composants du produit final. Selon

l’AFITEP le PBS c’est la « représentation des liens de composition entre les divers

constituants d’un produit complexe ».

Le découpage WBS, Work Breakdown Structure (structure de décomposition du

travail), représente, sous forme d’une arborescence, les différents composants de travail

nécessaires pour parvenir au résultat tel qu’il est décrit dans le PBS. Il s’appuie, en général,

sur le critère structurel et sur le critère temporel. Il apporte une réponse aux deux questions :

«Que doit-on faire ?comment doit-on s’y prendre ? ».

Une fois identifiés, les activités et les lots de travail issu du WBS doivent être organisés selon

une suite logique qui prend en compte leurs durées et leurs interdépendances.

L’OBS, Organisation Breakdown Structure (structure de décomposition de

l’organisation), reprend le WBS et fait apparaître les noms des personnes responsables de la

production des différents éléments.

2.7. Outils et techniques de planification d’un projet

Deux techniques complémentaires sont généralement utilisées pour réaliser le

séquencement des activités et la planification d’un projet : le réseau PERT et le diagramme de

GANTT.

2.7.1. Le réseau PERT

« Le diagramme d’ordonnancement des activités ou PERT (Program Evaluation and

Review Technique) est un graphe ordonné décrivant les différentes contraintes. Cette

Page 52: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 2: La Gestion des Projets Collaboratifs

35

technique a été développée en 1957 pour la marine américaine par William Frasard, dans le

cadre du projet de développement des fusées Polaris » [BOU06]. Elle permet de mettre en

ordre, sous forme de réseau, plusieurs tâches, à identifier leurs enchainements, leurs

dépendances, leurs durées, les dates auxquelles elles peuvent être terminées au plus tôt et au

plus tard et les marges ou battements.

Figure 13: Un réseau PERT.

Ce diagramme permet également de visualiser ce qu’on appelle le chemin critique,

c'est-à-dire le chemin conduisant du début à la fin du projet dont la durée minimale est

maximale sont déterminées. C’est ce chemin qui conditionne la fin au plus tôt du projet.

Toute variation de durée d’une des activités critiques se répercute donc sur le projet global, ce

qui leur vaut un suivi tout particulier du chef de projet.

2.7.2. Le diagramme de GANTT

Le diagramme de Gantt, qui porte le nom de son concepteur, est un outil inventé en

1917 par Henry Laurence Gantt. Il permet de modéliser la planification des tâches d'un projet.

C’est probablement la technique de gestion de projet la plus utilisée. [BOU06]

Dans un diagramme de GANTT, les tâches sont représentées par des lignes étalées sur

l’axe horizontal alors que et les colonnes ou l’axe vertical représente soit les jours, soit les

semaines ou soit les mois du calendrier.

Figure 14: Un diagramme de GANTT.

Le diagramme de GANTT permet également d’identifier des jalons. Un jalon peut être

la production d'un document, la tenue d'une réunion, une approbation formelle ou un livrable

Page 53: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 2: La Gestion des Projets Collaboratifs

36

du projet. Les jalons sont des tâches de durée nulle. Ils sont représentés sur le diagramme par

un symbole particulier, la plupart du temps un triangle à l'envers ou un losange.

2.8. Conclusion

La gestion ou le management de projets est une notion vaste et complexe. Elle est en

relation directe avec la nature du projet et elle varie selon la complexité de ce dernier. Une

bonne gestion d’un tel projet revient à maitriser son découpage et sa planification en plus de

l’attribution des tâches à faire pour les acteurs du projet.

Dans ce chapitre nous avons essayé de mettre l’accent sur la gestion des projets en

générale, car le principe de gestion est généralement le même et les projets de recherche

scientifiques ne diffèrent pas vraiment des autres projets, d’ailleurs il existe des projets de

recherche qui sont destiner à l’industrie, qui consiste à développer ou à produire des solutions

pour certaines situations, dans des entreprises ou des établissements de recherche.

Dans un projet, quel que soit son type, les membres des équipes projets ont besoins de

communiquer, travailler, partager des informations ou d’une façon plus générale collaborer

entre eux. Pour cette fin des moyens sont mis à la disposition des différents acteurs qui ont

devenu indispensable dans chaque projet. Dans le chapitre suivant, nous exposerons un

ensemble des plates-formes collaboratives les plus répondues dans le monde de collaboration

au niveau des entreprises et établissements de recherche.

Page 54: Plate-Forme pour la Gestion de Projets Collaboratifs

Chapitre 3: Les Plates-formes Collaboratives

Contenu

3.1. Introduction ................................................................................................................... 38

3.2. Historique et évolution .................................................................................................. 38

3.3. Définitions ..................................................................................................................... 38

3.3.1. Logiciels libres ........................................................................................................ 39

3.3.2. Logiciels propriétaires ............................................................................................ 39

3.3.3. Plates-formes collaboratives ................................................................................... 39

3.3.4. Portails .................................................................................................................... 40

3.4. Catégorisation des plates-formes collaboratives ........................................................... 41

3.5. Aperçu de quelques solutions collaboratives ................................................................. 42

3.5.1. GateIn ...................................................................................................................... 43

3.5.2. Lifreray ................................................................................................................... 44

3.5.3. Jahia ........................................................................................................................ 45

3.5.4. Jetspeed ................................................................................................................... 45

3.6. Conclusion ..................................................................................................................... 46

Page 55: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 3: Les Plates-formes Collaboratives

38

3.1. Introduction

Dans les deux premiers chapitres nous avons présenté des notions du travail collaboratif

et la gestion de projets. Ce chapitre complémentaire s’intéresse aux solutions de plates-formes

collaboratives qui regroupent à la fois les différents outils du travail collaboratif (messagerie,

Forum, wiki,…) et les outils de gestion de projets (digramme de Gantt, réseau PERT). Nous

commençons d’abord par la présentation d’un historique sur l’évolution des solutions sur le

marché, et nous verrons par la suite un aperçu de quelques plates-formes collaboratives les

plus récentes.

3.2. Historique et évolution

Apparus au début des années 90, le marché des solutions de travail collaboratif

(appelés parfois solutions Groupware) n’a pas cessé d’évoluer pour s’adapter aux besoins de

la collaboration. Le développement des nouvelles technologies de l’information et de la

communication est à l'origine de cette évolution.

Les premiers outils de travail collaboratif nés avec les logiciels client-serveur

reposaient essentiellement sur des plates-formes de messageries électroniques pour

faciliter l’envoi et la réception de messages et de documents associés. Face à la demande

des utilisateurs, ces outils se sont peu à peu enrichis de modules facilitant le travail de groupe

avancé: calendriers partagés, gestionnaires de tâches, partage de fichiers, etc.

Avec l’arrivée d’Internet dans les entreprises au milieu des années 90, de nouveaux

outils de travail en groupe accessibles via le web sont apparus offrant la possibilité de créer

et de gérer des espaces de collaboration à travers un navigateur web. Ce mouvement s’est

amplifié fin 90 avec la généralisation de l’Intranet et l’arrivée des portails d’entreprise.

[COL04]

Les années 2000 voient apparaître de nouveaux types d’outils de travail collaboratif

comme les logiciels libres et le collaboratif web. Le web 2.0, avec les outils de collaboration

temps réel (messagerie instantanée, visio-conférence, etc.), et les outils de gestion de

communautés et outils de publication collaborative (wiki, weblogs, etc.) ainsi que les réseaux

sociaux, facilite l’utilisation du web et offre des interfaces plus ergonomiques conçus

spécialement pour les utilisateurs.

3.3. Définitions

Avant d’entamer la partie des offres et des solutions existantes sur le marché, il est

nécessaire de préciser quelques définitions essentielles des termes utilisé pour la description

des différentes solutions.

Page 56: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 3: Les Plates-formes Collaboratives

39

3.3.1. Logiciels libres

Il convient tout d’abord de distinguer les logiciels « libres », « open source » et «

gratuits » (ou « freewares »). Ces trois types de logiciels, souvent confondus, comportent

quelques différences essentielles :

Un logiciel libre répond aux principes de liberté d’utilisation, de modification et de

distribution. On retiendra principalement les quatre libertés, édictées par Richard

STALLMAN, Le fondateur de la FSF (Free Software Foundation), qui sont offertes

aux utilisateurs : [WEB20]

Liberté 0 : La liberté d'exécuter le programme, pour tous les usages.

Liberté 1 : La liberté d'étudier le fonctionnement du programme, et de l'adapter à ses

besoins. Pour ceci, l'accès au code source est une condition requise.

Liberté 2 : La liberté de redistribuer des copies, donc d'aider son voisin.

Liberté 3 : La liberté d'améliorer le programme et de publier ses améliorations, pour

en faire profiter toute la communauté. Pour ceci l'accès au code source est une

condition requise.

Plusieurs licences protègent ces 4 libertés dont la plus connue est la licence GNU GPL

(General Public Licence).

Un logiciel open source est un logiciel qui donne la liberté pour accéder à son code

source, ce qui le rend modifiable par tout utilisateur.

Un logiciel « freeware » est un logiciel gratuit mais qui ne partage pas son code

source.

Un logiciel libre n’est donc pas forcément un logiciel gratuit, cependant il reste à

moindre coût dans la plupart des cas. Il n'est aussi pas le fruit d'une unique entreprise (ou

personne), il est créé par toute une communauté composée d'entreprises, d'associations, et de

particuliers. Chacun peut apporter sa contribution en rapportant des bugs, en suggérant des

idées, ou en programmant pour ceux qui savent coder.

3.3.2. Logiciels propriétaires

Contrairement aux logiciels libres, un logiciel « propriétaire » (ou « privateur ») est un

logiciel qui ne partage pas son code source. Il est souvent protégé par une licence copyright,

ce qui limite sa duplication, sa modification et son usage. Il est conçu par des programmeurs

spécifiques habituellement embauchés par une firme informatique dans le but de sa

commercialisation. Néanmoins, Il existe des logiciels propriétaires gratuits, ce sont les

«freeware».

3.3.3. Plates-formes collaboratives

Une plate-forme collaborative est un espace de travail virtuel. C'est un site qui centralise

tous les outils liés à la conduite d'un projet et les met à disposition des acteurs. En d’autres

Page 57: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 3: Les Plates-formes Collaboratives

40

termes, c’est un espace de travail privé permettent une collaboration en ligne entre des

équipes virtuelles et qui offre une grande variété d'outils du travail collaboratif.

Elle est mise en commun par un réseau de l’organisation et est constitué de :

Matériels et de logiciels informatiques.

Réseaux de communication.

Méthodologies.

Compétences humaines.

Elle fournit des outils permettant : [WEB22]

La gestion des utilisateurs (le contrôle droit d’accès, la création des membres et

des groupes, la gestion des profils, etc.) et l’identification précis de tous les

intervenants.

La gestion et le partage des documents.

Des plannings bien suivis.

Des données à jour.

L’historique de toutes les étapes du projet.

Des messages et des notifications signalant que de nouvelles informations sont

disponibles.

Une communication fiable entre partenaires.

Une standardisation des méthodes de travail.

La plate-forme permet de raccourcir les délais entre le début et la fin d’un projet. La fiabilité

de l’information mise à disposition permet de réduire le nombre de modifications à gérer

pendant le développement du projet.

3.3.4. Portails

« Un portail est une application web dont le rôle est d’agréger sur une ou plusieurs page

des ressources et des services différents (centré sur un domaine particulier) tout en fournissant

un système de sécurité permettant de gérer les permissions de ses différent utilisateurs et

groupes d’utilisateurs ». [CLE06]

Page 58: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 3: Les Plates-formes Collaboratives

41

Figure 15: Vu d'un portail.

En pratique, les solutions de plates-formes collaboratives peuvent avoir plusieurs

formes, la plus répondu est celle qui prend la forme d’un portail, offrant une flexibilité et la

possibilité de l’ajout ultérieur de plusieurs modules et extensions.

3.4. Catégorisation des plates-formes collaboratives

Gilles BALMISSE, dans le livre blanc consacré aux nouveaux outils du travail

collaboratif, présente une typologie intéressante des solutions du marché basé sur le trèfle

fonctionnel, en les répartissant en 7 catégories selon les fonctionnalités proposé :

Page 59: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 3: Les Plates-formes Collaboratives

42

Figure 16: Répartition des solutions collaboratives basée sur le trèfle fonctionnel. [COL04]

Chaque solution peut donc être affectée à l’une des trois catégories élémentaires (La

communication, la coordination et la production) ou à leurs intersections. Les solutions de

plates-formes collaboratives les plus riches en termes de fonctionnalités se situent à

l’intersection des trois catégories à la fois (SharePoint, E-Room, etc.).

3.5. Aperçu de quelques solutions collaboratives

Il existe un certain nombre de plates-formes de travail collaboratif pouvant être

utilisées gratuitement sur Internet. Celles-ci sont généralement des versions bridées de

versions commerciales beaucoup plus riches. Néanmoins, ces plates-formes peuvent

parfaitement répondre à des besoins simples de collaboration à un ensemble restreint

d’individus.

Le nombre important de tels plates-formes présents sur le marché ne nous permet pas de

les introduire tous dans ce dossier. Nous avons donc effectué une sélection selon plusieurs

critères:

La popularité et crédibilité apparente (l’importance de la communauté pour les plates-

formes libres par exemple).

La plate-forme doit être open source et il est préférable qu’elle soit sous la forme d’un

portail.

La plate-forme doit posséder au moins une version française.

La variété des fonctionnalités proposées par la plate-forme.

Page 60: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 3: Les Plates-formes Collaboratives

43

La plate-forme doit être extensible et adaptable à nos besoins de collaboration dans le

cadre des projets de recherche.

Respectant ces critères, nous avons pu sélectionner 4 solutions intéressantes : GateIn,

Liferay, Jahia et Jetspeed. Chaque solution propose une variété d’outils collaboratifs

(messagerie instantanée, forum, wiki, agenda partagé, gestion documentaires, etc.) et ils sont

considérés comme les leaders du marché en terme de portails d’entreprise.

Nous donnons dans ce qui suit un bref descriptif et quelques avantages essentiels pour

chaque solution : [EXO11]

3.5.1. GateIn

GateIn est un portail d’entreprise open source issu de la fusion des deux projets :

eXoPortal et JBoss Portal. Ce projet communautaire vient réunir les meilleures qualités des

deux portails pour les incorporer dans une unique solution et facile à utiliser. Il délivre une

plate-forme complète pour créer des applicatifs modernes centrés sur l'utilisateur, pouvant

être déployés en interne (sur le réseau de l’entreprise) ou dans le cloud (sur Internet) tout

en intégrant des fonctionnalités de gestion de contenu, de travail collaboratif et de réseaux

sociaux d’entreprise.

Figure 17: Interface du portail GetIn.

GateIn contient une multitude de fonctionnalités élémentaires qui le différencie par

rapport à d’autres solutions. Nous listons ci-dessous les plus pertinentes :

Page 61: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 3: Les Plates-formes Collaboratives

44

Une Interface utilisateur avancée.

Une politique de gestion d’accès basée sur les rôles.

Support multiple de langues majeures.

Un Assistant pour faciliter le processus de création des pages et du

contenu web.

3.5.2. Lifreray

Liferay est un portail JEE open source et possédant une version gratuit qui

bénéficie d’un apport communautaire important. Une de ses particularités est de pouvoir

s'exécuter sur la quasi-totalité des serveurs d'applications Java actuels (Geronimo, GlassFish,

OracleAS, etc.) et se connecter à un très grand nombre de serveurs de base de données

(Oracle, MySql, SQLServer, PostegreSQL, etc). Cette capacité d'intégration est véritablement

un point fort de Liferay.

Figure 18: Interface du portail Liferay.

Respectant le standard JSR-168 et JSR-286 (Java Portlet Specification), il est possible

d'y intégrer et d'y déployer un grand nombre d'extensions appelé « portlets ». Liferay a

également des partenariats technologiques intéressants à savoir Alfrescro, Pentaho, etc.

Parmi les fonctionnalités que Liferay propose, Nous citons :

Une interface utilisateur facile à modeler.

Page 62: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 3: Les Plates-formes Collaboratives

45

Une administration de contenu basée sur les rôles.

Un accès unifié et centralisé.

Un moteur de Workflow.

Un moteur de recherche et de marquage.

3.5.3. Jahia

Jahia est une solution de portail Java/JEE propriétaire, distribuée sous une

licence communautaire. Cette plate-forme regroupe d’autres outils comme des outils de

gestion de contenu, des outils de gestion documentaire, etc. Elle contient un ensemble

de fonctionnalités et technologies élémentaires.

Figure 19: Interface du portail Jahia.

Parmi les points forts de Jahia, on peut citer :

Une ergonomie performante.

L'authentification, la gestion des utilisateurs et des droits, de la sécurité.

Possibilité de gérer plusieurs sites différents.

Un moteur de Workflow.

Un mécanisme de recherche avancée.

3.5.4. Jetspeed

Jetspeed est une implémentation open source du portail d’entreprise, issue du projet

Apache et fut le premier portail Open Source développé en Java et XML basé sur l’API

Page 63: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie I : Synthèse Bibliographique Chapitre 3: Les Plates-formes Collaboratives

46

portlet1.0. Il a été considéré pendant longtemps le portail JEE de référence. Jetspeed présente

un support complet pour les standards JSR 168 (Portlet1.0) et JSR 286 (Portlet2.0).

Figure 20: Interface du portail Jetspeed.

Jetspeed a été concurrencé depuis son apparition par plusieurs portails qui ont

commencé à implémenter la JSR 168 comme uPortal et eXo Portal.

Les avantages majeurs de Jetspeed sont :

Architecture solide (multithread).

Conforme au standard JSR 168 (Portlet1.0).

Look & feel personnalisable à souhait.

Nombreuses possibilités d'extension.

Nous remarquons que les solutions qu’on vient de présenter sont des portails destiné en

principe à la gestion de contenu d’entreprises (des CMS) et que chacune propose des

avantages par rapport aux autres. Cependant, elles respectent des standards de développement

(JSR-168 et JSR-286), offrant la possibilité de l’ajout d’extensions et de modules.

3.6. Conclusion

Toute au long de ce chapitre, nous avons constaté à travers l’historique des solutions

collaboratives que leurs marché est en évolution continu est ceci est en rapport direct avec

l’évolution du web et des TICs. Nous avons vu après comment on peut classer chaque

solution grâce aux fonctionnalités qu’elle propose en se basant sur la typologie du trèfle

fonctionnel. Ensuite, Nous avons donné un aperçu de quelques portails, qui proposent une

variété d’outils de gestion du travail collaboratif et qui sont considéré comme les leaders du

marché en termes de portails d’entreprise.

Page 64: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas

Page 65: Plate-Forme pour la Gestion de Projets Collaboratifs

Chapitre 4: Etude des Besoins

Contenu

4.1. Introduction ................................................................................................................... 49

4.2. Présentation générale de l’organisme d’accueil ............................................................ 49

4.2.1. Laboratoire LMCS .................................................................................................. 49

4.2.2. Structuration et organigramme du LMCS ............................................................... 49

4.2.3. Présentation des équipes ......................................................................................... 50

4.2.4. Missions et activités ................................................................................................ 51

4.3. Etude de l’existant ......................................................................................................... 52

4.3.1. Description de l’existant ......................................................................................... 52

4.3.2. Critique de l’existant ............................................................................................... 53

4.3.3. Suggestions ............................................................................................................. 53

4.3.4. Solution proposée .................................................................................................... 54

4.4. Conclusion ..................................................................................................................... 54

Page 66: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 4: Etude des Besoins

49

4.1. Introduction

L’étude des besoins est une étape indispensable dans tout projet informatique, une

bonne conception doit reposer sur une connaissance du système actuel. Le but de ce chapitre

est de présenter des données acquises, suite à une recherche effectuée en collaboration avec

les utilisateurs qui constituent la source d’informations nécessaires pour la conception du

nouveau système, en procédant tout d’abord par se documenter sur l’environnement du

travail, les activités des différents acteurs interne et externe au système ce qui permettra de

bien analyser et comprendre le système et de donner les solutions adéquates.

Notre projet consiste à améliorer la collaboration et la gestion des projets de recherche

en générales et surtout entre les membres et équipes de recherches au sein des laboratoires, et

pour cela nous avons pris le cas du laboratoire LMCS comme l’environnement de recherche

dans lequel nous avons recensés les besoins nécessaires pour notre travail.

4.2. Présentation générale de l’organisme d’accueil

4.2.1. Laboratoire LMCS

Le laboratoire LMCS (Laboratoire des Méthodologies de Conception des Systèmes) a

été créé en 1999 par l’application du décret exécutif n° 99-244. [WEB18]

Le laboratoire de recherche est créé dans le cadre de la mise en œuvre du programme de

recherche de l’établissement de rattachement « l’école National Supérieure d’Informatique »

(ex : INI) en appliquant une réglementation fixée qui garantit le bon fonctionnement et assure

le bon déroulement des projets de recherche au sein du laboratoire.

4.2.2. Structuration et organigramme du LMCS

Le laboratoire est structuré autour de six équipes de recherche, un secrétariat, un conseil

scientifique et le directeur du laboratoire. L’organigramme suivant montre la structure

générale du laboratoire : [WEB18]

Page 67: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 4: Etude des Besoins

50

Figure 21: Organigramme du LMCS.

4.2.3. Présentation des équipes

Après avoir présenté l’organigramme qui permet de connaitre la structure globale du

laboratoire, nous détaillerons les thématiques de recherche de chaque équipe ainsi que les

objectifs visés par chacune : [WEB18]

Equipe MEDIA (Développement d’interfaces Homme/Machine)

Objectifs principaux:

Traitement du langage naturel spécialement la langue arabe.

Spécification et modélisation formelles de la communication.

Réseaux mobiles.

Equipe OPTIMISATION

Objectifs principaux:

Résolution des problèmes SAT/Max-SAT.

Fouille de données (Data-mining) dans le domaine médical.

Résolution de problèmes NP-Difficiles : en théorie des graphes et dans l’industrie.

Equipe CODESIGN

Objectifs principaux:

Co-design d’applications embraquées ;

Page 68: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 4: Etude des Besoins

51

Problème de l'hétérogénéité des applications mixtes ;

Approches de partitionnement et d’ordonnancement automatiques pour les systèmes

embarqués ;

Approches de routage avec conservation d’énergie pour les réseaux de capteurs.

Equipe M.S.I (Management des Systèmes d’Information)

Objectifs principaux:

Ingénierie des Systèmes d’information d’aide à la décision ;

Aide à la décision coopérative ;

Management des risques en milieu industriel ;

Ingénierie de connaissances et mémoires d’entreprises.

Equipe E-learning/EIAH (Environnement Informatique pour l’Apprentissage

Humain)

Objectifs principaux:

Apprentissage Auto Régulé en ligne ;

Mémoire personnelle et collective de formation ;

Scénario pour EIAH de l’analyse mathématique ;

Equipe IMAGE

Objectifs principaux:

Traitement de bas niveau et de haut niveau ;

Reconstruction 3D

Recalage d’images

Détection, segmentation d’images

4.2.4. Missions et activités

Le laboratoire LMCS mène ses recherches selon trois formes : [HAD07]

Recherches théoriques : Consiste à mener des recherches et des réflexions sur les

concepts et les méthodes employées dans des projets de modélisation et de conception

des systèmes ;

Développement de prototypes logiciels : Il s'agit de développer les outils

informatiques qui permettent d’exploiter et concrétiser les travaux théoriques soit dans

Page 69: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 4: Etude des Besoins

52

un but expérimental, s'il faut comparer des méthodes sur des benchmarks, soit dans un

but d'application à des cas pratiques ;

Recherches appliquées : Consiste à mettre en œuvre les nouvelles idées de

conception et d'utiliser, sur des cas concrets, les logiciels qu’ils ont développés. Ce

volet permet d’assurer un contact permanent avec les milieux professionnels :

médecine, banques, assurances, industrie, institutions gouvernementales, etc.

Désormais, les activités du laboratoire s’étalent sur ces trois axes permettant :

Le travail en équipe de ces enseignants chercheurs sur des objets spécifiques à

l'éducation ;

Les publications individuelles ou collectives des travaux de recherche ;

La promotion des échanges scientifiques dans le cadre de la coopération nationale et

internationale ;

La promotion des échanges scientifiques dans le cadre de la coopération national et

international ;

La programmation et le suivi des formations à l'étranger des enseignants chercheurs,

leurs participations aux rencontres, colloques et séminaires nationaux et

internationaux.

Notre travail s’inscrit dans le cadre d’un projet de recherche de l’équipe travaillant dans

le domaine E-learning. Les recherches de cette équipe comme sont faite autour de

l’Environnement Informatique pour l’Apprentissage Humain. Ces environnements

informatiques s’intéressent à assister deux acteurs fondamentaux de l’activité de

l’apprentissage : l’enseignant et l’apprenant et cela en les accompagnants dans leurs

différentes activités liées aux connaissances.

Cette équipe se trouve face à des difficultés de suivi et de coordination entre les

différents membres de l’équipe projet. Pour ce faire, nous avons essayé de tirer les différentes

anomalies qui existent dans le système actuel, pour pouvoir apporter les diagnostics et les

solutions nécessaires et les mettre en place dans le nouveau système.

4.3. Etude de l’existant

Le but de cette étude consiste à présenter le système qui existe actuellement au

laboratoire et l’évaluer. Aussi, à travers cette étude, nous visons à déterminer les besoins en

métiers au sein du système d’information ainsi que les différents solutions et outils qu’on peut

mettre en place afin d’assurer la bonne gestion et fonctionnement du laboratoire via le bon

suivi des projets et la stimulation du processus de collaboration formé par les équipes de

recherche.

4.3.1. Description de l’existant

Après avoir consulté les documents descriptifs, discuté avec plusieurs membres du

laboratoire LMCS, et vu les différents travaux qui ont eu lieu ces deux dernières années, nous

constatons que la structure du laboratoire n’a pas beaucoup changé. Les membres du

Page 70: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 4: Etude des Besoins

53

laboratoire LMCS ne disposent pas d’une plate-forme spécifique destinée à la gestion de leurs

projets de recherche et à la collaboration scientifique. Les membres de l’équipe estiment qu’il

serait souhaitable disposer d’un outil web destiné spécialement à la gestion de leurs projets de

recherche. Chaque membre dispose de la documentation nécessaire pour son travail de

recherche, et avec le fonds documentaire deviendra de plus en plus volumineux et important

ce qui nécessite une gestion, réorganisation, et indexation de toute la documentation, afin de

faciliter l’accès à ces ressources documentaires ainsi que le partage et l’échange entre les

membres.

4.3.2. Critique de l’existant

La situation actuelle du laboratoire présente plusieurs limites :

Absence d’un espace réservé aux chercheurs : La solution actuelle ne permet pas à

un chercheur d’avoir son propre espace pour enrichir son profil scientifique (voir l’état

d’avancement du projet, l’avancé des taches, les ressources disponibles, choix des

catégories, portefeuille des projets, compétences, etc.) et suivre les projets qui lui sont

associés.

Absence des moyens de collaboration : Manque des moyens qui permettent de

faciliter le travail en équipe. (Coordination, coopération et communication)

Absence d’outils de suivi des projets : Gestion des délais, budget, risques,

planification, affectation des tâches, état d’avancement des tâches et des projets,

livrables.

Absence d’outils de gestion de matériel scientifique : Réservation matérielle,

demande matérielle, Suivi de matérielle, Maintenance, Pannes, etc.

Absence de gestionnaire des ressources documentaires : Gestion électronique des

documents (GED), partage et échange des documents, archivage, indexation, etc.

4.3.3. Suggestions

En vue d’atteindre les objectifs définis, et assurer le bon fonctionnement de notre

système, nous proposons les suggestions suivantes :

Assurer la gestion et la répartition des tâches entres les différents membres, ainsi que

le calcul de la progression et le taux d’avancement des tâches et des projets.

Synchroniser et coordonner entre les membres en utilisant les moyens appropriés

comme les agendas partagés/ personnels, planning collectif et les workflow.

Mise en place des outils nécessaires pour la communication au sein de l’équipe projet

comme la messagerie instantanée, les courriers électroniques, liste de discussion, etc.

Faciliter et encourager le partage et l’échange des documents d’une part et la gestion

de ces dernier d’autre part afin de simplifiée l’accès à la documentation par la mise en

place des outils de recherches, la catégorisation, l’indexation, le tagging.

Mettre en place des moyens de gestion de connaissance (KM) au sein du portail :

Blogs professionnel, forums, wiki.

Page 71: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 4: Etude des Besoins

54

4.3.4. Solution proposée

Après avoir tiré les points de dysfonctionnement du système au niveau du laboratoire,

compris et identifié les différentes contraintes au sein des équipes de recherche et entre les

membres, nous proposons une solution qui palliera aux insuffisances du system actuel.

Notre solution consiste à mettre en place une plate-forme collaborative pour le

laboratoire LMCS pour mieux gérer les projets de recherches, elle regroupe les différents

outils et fonctionnalités suggérés précédemment. Cette solution permet aux diverses équipes

du laboratoire, d’avoir leurs propres espaces personnalisables offrant une gestion simple des

projets et de matériel scientifique avec des moyens de collaboration faciles à utiliser.

Nous proposons la mise en place d’un portail web pour le laboratoire de recherche car il

permet d’offrir aux utilisateurs un espace riche de plusieurs fonctionnalités qui répondent au

mieux à tous leurs besoins. Cette solution regroupe une variété d’outils de collaboration

accessibles via un point unique d’entrée.

Ainsi, un portail est un système évolutif qui a subi l’évolution et le changement des

systèmes d’information compte tenu de l’émergence de nouvelles technologies.

4.4. Conclusion

Tout au long de cette étude, qui constitue la première étape de notre travail,

nous avons essayé de décrire, la situation actuelle du système étudié, afin de comprendre

son fonctionnement général et de cerner les dysfonctionnements qui seraient à l’origine des

difficultés de collaboration. Cette étape nous a permis d’avoir une vue générale sur les

processus métiers nécessaires pour le fonctionnement du laboratoire. Dans le chapitre suivant,

nous entamerons l’étude conceptuelle permettant de concevoir un système d’information à

travers lequel nous préciserons la solution informatique qui s’adapte et réponde au mieux

aux objectifs définis précédemment.

Page 72: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

55

Chapitre 5: Analyse et Conception

Contenu

5.1. Introduction ................................................................................................................... 56

5.2. La méthodologie adoptée............................................................................................... 56

5.2.1. Le langage UML ..................................................................................................... 56

5.2.2. Le processus 2TUP ................................................................................................. 57

5.3. Etude préliminaire ......................................................................................................... 58

5.3.1. Identification des acteurs ........................................................................................ 58

5.3.2. Identification des messages ..................................................................................... 59

5.3.3. Modélisation du contexte ........................................................................................ 62

5.4. Capture des besoins fonctionnels .................................................................................. 63

5.4.1. Identification des cas d’utilisation .......................................................................... 63

5.4.2. Identification des classes participantes (candidates) ............................................... 77

5.5. Capture des besoins techniques ..................................................................................... 78

5.5.1. Capture des spécifications matérielles .................................................................... 78

5.5.2. Modèle d’architecture Système (logiciel) ............................................................... 80

5.5.3. Identification des acteurs et cas d’utilisations techniques ...................................... 81

5.6. Analyse .......................................................................................................................... 84

5.6.1. Découpage en catégorie .......................................................................................... 84

5.6.2. Modèle statique ....................................................................................................... 86

5.6.3. Modèle dynamique .................................................................................................. 88

5.7. Conception générique .................................................................................................... 97

5.8. Conception ..................................................................................................................... 98

5.8.1. Conception préliminaire .......................................................................................... 98

5.8.2. Conception détaillée .............................................................................................. 100

5.9. Conclusion ................................................................................................................... 110

Page 73: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

56

5.1. Introduction

Dans le présent chapitre nous entamons la phase d’analyse et de spécification des

besoins nécessaires qui nous permet de comprendre le système et d’apporter le diagnostic

adéquat.

Afin d’assurer une solution de qualité pour notre système, répondant aux standards et

aux normes de développement, nous devons suivre une méthodologie de développement pour

mieux cerner nos besoins et assurer une progression selon les délais.

A ce titre, nous présentons les différents outils que nous avons utilisés tout au long de

notre étude y compris le langage de modélisation et la démarche qui sert à guider la

conception étape par étape jusqu’à la réalisation.

5.2. La méthodologie adoptée

Les systèmes de nos jours sont de plus en plus complexes. Les concepteurs tentent à

remédier à cette complexité en offrant des démarches à suivre avec des étapes bien précises.

Pour ce faire, nous avons opté pour le processus 2TUP « 2 Track Unified Process »

comme méthode à suivre pour le développement de notre système, tout en nous appuyant sur

l’approche objet et les outils du langage UML.

5.2.1. Le langage UML

La modélisation objet consiste à modéliser informatiquement un ensemble d'éléments

d'une partie du monde réel en un ensemble d'entités informatiques. Afin de faciliter la

représentation et la compréhension de notre système nous avons utilisé le langage UML

(Unified Modeling Language) vu sa richesse, puissance et la dynamique qu’il offre via ses

différents diagrammes.

Selon Pascal ROQUES «l’UML est un langage de modélisation graphique et textuel

destiné à faire comprendre et décrire des besoins, spécifier et documenter des systèmes,

esquisser des architectures logicielles, concevoir des solutions et communiquer des points de

vue ». [ROQ07]

Il s’articule autour de treize types de diagrammes, chacun d’eux étant dédié à la

représentation des concepts particuliers d’un système logiciel. Ces types de diagrammes sont

répartis en deux grands groupes : six diagrammes structurels et sept diagrammes

comportementaux.

La figure suivante regroupe l’ensemble des treize types de diagrammes UML. [ROQ08]

Page 74: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

57

Figure 22: Les diagrammes UML utilisés dans notre démarche.

Les diagrammes que nous utiliserons prioritairement dans notre démarche sont colorés

en vert.

5.2.2. Le processus 2TUP

La dénomination 2TUP « 2 Track Unified Process »signifie littéralement que le

processus suit deux chemins. Il s’agit des chemins « fonctionnels » et « d’architecture

technique », qui correspondent aux deux axes de changement imposés au système

informatique. [ROQ07]

En sus, de son avantage qui consiste à prendre en charge toute évolution imposée au

système d’information et la traiter parallèlement suivant les deux axes fonctionnel et

technique, le 2TUP est un processus de développement itératif et incrémental, centré sur

l’architecture, conduit par les cas d’utilisation et piloté par les risques. « Il apporte une

réponse aux contraintes de changement continuel imposées aux systèmes d’information de

l’entreprise». [ROQ07]

Les différentes étapes de ce processus sont illustrées sur la figure suivante :

Page 75: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

58

Figure 23: Phases du processus 2TUP (processus en Y)

Ce processus commence par une étude préliminaire qui permet d’identifier les acteurs

du système à mettre en œuvre qui est considéré comme une boite noire tout en présentant les

différents messages entre les utilisateurs et ce système. Ensuite, il sépare le projet en deux

branches principales, à savoir la branche fonctionnelle (gauche) et la branche technique

(droite). La première concerne les besoins métiers du système et la deuxième consiste à

construire l’architecture technique et la composition logicielle du nouveau système. À la fin,

ces deux branches se fusionneront au milieu pour déclencher la phase de conception qui

tracera la cartographie des composants du système à développer jusqu’au codage.

5.3. Etude préliminaire

L’étude préliminaire est la toute première étape dans le processus de développement

2TUP. Cette étape consiste à faire l’identification et la description des acteurs du système, des

messages échangés entres eux, et de réaliser un diagramme de contexte.

5.3.1. Identification des acteurs

Un acteur représente une abstraction d’un ensemble des rôles joués par des entités

externes et qui interagit directement avec le système (Utilisateur, autre système, dispositif,

etc.). Il peut consulter et/ou modifier directement l’état du système, en émettant et/ou en

recevant des messages éventuellement porteurs de données. [ROQ08]

Page 76: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

59

Description des acteurs

Nous avons identifié cinq types d’acteurs qui interagissent avec notre système. Le

tableau ci-dessous contient la liste des acteurs avec la description des rôles de chacun:

Tableau 1: Description des acteurs du système.

5.3.2. Identification des messages

Un message représente la spécification d’une communication unidirectionnelle entre

objets qui véhiculent de l’information avec l’intention de déclencher une activité chez le

récepteur. [ROQ07]

Il est généralement associé à deux occurrences d’événements : un événement d’envoi et

un événement de réception. Pour chaque acteur, nous devons tirer les messages qui

déclenchent un comportement du système attendu par l’acteur dans le cadre de son activité, et

Acteur Description

Administrateur

Cet acteur est l’administrateur du système. Son

rôle est de gérer les utilisateurs, les règles et droits

d’accès aux espaces, fonctionnalités (privilèges,

espaces personnel, etc.) et les mots de passe.

Chercheur

Le chercheur scientifique est l’un des acteurs

principaux du système, il publie les résultats de

ces activités de recherche, édite des documents

communique des publications, prototype et tout ce

qui a trait à de la production scientifique utilisant

les différents outils du système.

Chef de projet

En plus des rôles joués par tout chercheur, le chef

de projet s’occupe de la gestion des projets,

répartition des tâches, son rôle sera détaillé par la

suite.

Secrétaire

Personne dont l’emploi consiste à s’occuper de la

gestion d’une variété de documents administratifs

ou autres qui circulent au sein ou même hors du

laboratoire, de la correspondance,

communications différentes, des Procès-verbaux,

de réunions, etc.

Visiteur

Toute personne ayant accès à la Plate-forme de

collaboration dans le but de découvrir le

laboratoire, ou s’informer des activités, projets, et

domaines de recherche des équipes du laboratoire.

Page 77: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

60

pour le système, nous devons identifier les messages émis à l’intention d’un acteur particulier,

et qui portent une information utilisée par ce destinataire.

5.3.2.1. Les messages émis par les acteurs au système

N° Flux Acteur émetteur Description

1 Administrateur

- Demande de création d’un nouvel utilisateur.

- Demande de modification, suppression des utilisateurs.

- Attribution et réinitialisation des codes d’accès.

- Blocage et activation des comptes.

- Attribution des privilèges et des droits d’accès.

- Gestion des espaces de collaboration et de stockage des

documents.

- Effectuer des recherches sur les utilisateurs, et sur les

documents.

- Demande d’archivage des documents.

2 Chercheur

Chef de projet

- Demande de création, modification d’un document

(article, publication, compte rendu, etc.).

- Effectuer des recherches selon plusieurs critères.

- Demande de consultation des projets et des tâches.

- Personnalisation et Mise à jour des profils et des blogs.

- Ajout des interventions.

- Ajout et téléchargement des documents.

- Envoi des courriers.

3 Chef de projet

- Demande de création, modification d’un projet.

- Demande d’ajout, modification et assignation des

tâches.

- Demande d’ajout et de planification des événements

(agenda collectif).

4 Secrétaire - Ajout des documents administratifs comme les Procès-

verbaux (PV) et les comptes rendu des réunions.

Page 78: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

61

Tableau 2: Les massages émis par les acteurs au système.

5.3.2.2. Les messages émis par le système aux acteurs

Tableau 3: Les messages émis par le système aux acteurs.

5 Visiteur - Demande de consultation du site, laisser des

commentaires, et envoyer des messages.

N° Flux Acteur récepteur Description

1 Administrateur

- Panneau de gestion des utilisateurs.

- Panneau de gestion de la documentation.

- Résultats de la recherche (liste des documents, liste des

utilisateurs).

2 Chercheur

Chef de projet

- Accès à l’espace personnel.

-Accès à l’espace projet.

- Liste des tâches assignées.

- Accès à la messagerie.

- Accès à la documentation.

- Affichage des documents publiés.

- Résultats de recherche.

- Liste, profils, blogs des chercheurs.

- Listes des projets et activités de l’équipe.

3 Chef de projet

- Accès au panneau de gestion des projets.

- Accès au panneau de gestion de collaboration.

4 Secrétaire

- Accès à l’espace personnel.

- Accès à la messagerie.

- Liste des documents ajoutés.

5 Visiteur

- Affichage des résultats de recherche (restreintes).

- Accès aux informations générales sur le laboratoire

(espace visiteur).

Page 79: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

62

5.3.3. Modélisation du contexte

Dans cette phase, le système est considéré comme une boite noire qui reçoit et émet des

messages en interaction avec le monde extérieur englobant les acteurs qui l’utilisent,

cependant, les messages échangés entre ces acteurs ne constituent pas le centre d’intérêt de

cette étape du fait que notre objectif est d’aboutir à l’identification des fonctions métiers.

5.3.3.1. Diagramme de contexte du système

Le diagramme de contexte du système étudié est présenté dans le schéma suivant :

Figure 24: Diagramme de contexte dynamique du système.

Pour ne pas surcharger le diagramme nous avons affecté les numéros des flux et les

messages les plus importants dans les tableaux présentés précédemment car les flux

informationnels étant trop chargés.

Page 80: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

63

Après avoir terminé cette étude préliminaire nous pouvons commencer la capture des

besoins fonctionnels qui correspondent à la branche gauche du processus 2TUP.

5.4. Capture des besoins fonctionnels

La capture des besoins fonctionnels est la première étape de la branche gauche du cycle

en Y. Elle formalise et détaille ce qui a été ébauché au cours de l’étude préliminaire.

[ROQ07]

Dans cette étape la technique des cas d’utilisation nous a permes de préciser l’étude du

contexte fonctionnel et métier du système, en décrivant les différentes façons qu’auront les

acteurs d’utiliser le futur système. « Elle est complétée au niveau de la branche droite du Y

par la capture des besoins techniques et prépare l’étape suivante de la branche gauche :

l’analyse ». [ROQ07]

La démarche à suivre pour accomplir cette étape est de :

Identifier les cas d’utilisation du système par ses acteurs.

Donner une description textuelle de chaque cas.

Organiser les cas d’utilisation.

Identifier les classes candidates (principale) du futur modèle statique d’analyse.

Tous les concepts mentionnés ci-dessus seront expliqués par la suite.

5.4.1. Identification des cas d’utilisation

Les cas d’utilisation font partie des diagrammes comportementaux. « Ils permettent de

décrire l’interaction entre les acteurs (utilisateurs du cas) et le système. La description de

l’interaction est réalisée suivant le point de vue de l’utilisateur ». [GAB08]

La représentation d’un cas d’utilisation met en jeu trois concepts : l’acteur, le cas

d’utilisation et l’interaction entre l’acteur et le cas d’utilisation.

Afin de faciliter la capture des besoins fonctionnels et l’identification des cas

d’utilisation, nous avons procédé à la décomposition de notre système en un ensemble de

« thématiques ». Chaque thématique peut regrouper un ensemble de fonctionnalités ou de cas

d’utilisation. Une fonctionnalité représente un des outils de travail collaboratif (messagerie,

blog, forum, wiki, etc.). Le tableau suivant donne une description sommaire des thématiques

que nous avons désignées :

Page 81: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

64

Thématique Description

Gestion des utilisateurs

Cette thématique regroupe les cas d’utilisation liés à la

gestion des utilisateurs du système (gestion des inscriptions,

gestion des comptes, affectation des rôles et des privilèges,

etc.).

Administration des espaces

Cette thématique regroupes l’ensemble des cas d’utilisation

destinés à l’administration des espaces personnels et

collaboratifs sur la plate-forme (création et gestion des

espaces personnels pour chaque utilisateur, création des

espaces de collaborations pour chaque équipe, affectation

des utilisateurs aux espaces de collaborations, gestion de

contenu de chaque espace, etc.).

Gestion de l’espace personnel

Cette thématique regroupe les fonctionnalités liées à la

gestion et l’exploitation de l’espace privé pour chaque

utilisateur (Consultation et personnalisation de l’espace

personnel, gestion du blog et du profil, consultation de la

messagerie, etc.).

Gestion de l’espace

collaboratif

Cette thématique regroupe l’ensemble des fonctionnalités

destinées à la gestion et l’exploitation de l’espace collectif et

partagé entre plusieurs membres d’une équipe de recherche

(gestion de la communication et de partage de

connaissances, gestion de projets et de la coordination,

gestion des documents et de la production).

Tableau 4: Description des thématiques.

Vu la complexité de cette thématique, Nous avons décidé de la diviser en trois sous-

thématiques que nous avons appelées des « modules ». Un module peut à son tour regrouper

un ensemble de fonctionnalités ou de cas d’utilisation. Nous donnons dans le tableau ci-

dessus une description sommaire de chaque module :

Module Description

Gestion des projets

Ce module regroupe les cas d’utilisation concernant la

gestion des projets et la coordination entre les membres

d’une équipe de recherche (gestion et affectation des

tâches, gestion des réunions et des événements, suivis des

projets, etc.).

Gestion de la communication

Ce module regroupe les cas d’utilisation liés à la gestion

de la communication et de partage des connaissances

entre les chercheurs (chat, forums, base de connaissances,

etc.).

Gestion de la production Ce module regroupe les cas d’utilisation liés à la gestion

et le partage des documents.

Tableau 5: Description des modules de la thématique « Gestion de l’espace collaboratif »

Page 82: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

65

Afin de ne pas surchargé notre rapport, nous traitons dans la suite les thématiques : «

Gestion des utilisateurs », « Gestion de l’espace personnel » et « Gestion de l’espace

collaboratif ». La thématique « Administration des espaces » sera traitée en détails dans

l’Annexe A.

Dans ce qui suit, nous donnons pour chaque thématique l’ensemble des fonctionnalités

et des cas d’utilisation avec leurs descriptions détaillées :

5.4.1.1. Cas d’utilisation de la thématique « Gestion des

utilisateurs »

La figure suivante représente le diagramme des cas d'utilisation présents dans la

thématique « Gestion des utilisateurs » :

Figure 25: Diagramme de cas d'utilisation « Gestion des utilisateurs »

uc Gestion des utilisateurs

Gestion des comptes util isateurs

S'inscrire à la

plateforme

S'authentifier

Traiter les

inscriptions

Créer un compte

utilisateur

Modifier un

compte utilisateur

Supprimer un

compte utilisateur

Visiteur

Administrateur

Consulter les

comptes

utilisateurs

Chef de projet

Inv iter une

personne

«include»

«include»

«extend»

«extend»

«include»

«include»

«include»

«include»

Page 83: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

66

Cas d’utilisation Acteurs

S’authentifier Utilisateur

S’inscrire à la plate-forme Visiteur

Traiter les demandes d’inscription

Gestion

des

utilisateurs

Administrateur

Consulter les comptes utilisateurs Gestion des

comptes

utilisateurs

Créer un compte utilisateur

Modifier un compte utilisateur

Supprimer un compte utilisateur

Inviter une personne Chef de projet

Tableau 6 : Cas d’utilisations de la thématique « Gestion des utilisateurs »

Description textuelle des cas d’utilisation

Cas d’utilisation « S’authentifier »

Description sommaire

Titre S’authentifier

But Permettre aux utilisateurs d’accéder au système en utilisant leurs

identifiants et mots de passe.

Acteurs Utilisateur (principal)

Description des enchainements

Pré-conditions L’utilisateur est connecté au site.

Scénario nominal

1- L’utilisateur choisit d’accéder à la plate-forme.

2- le système présente un formulaire d’authentification (nom

d’utilisateur et mot de passe).

3- l’utilisateur saisit ses informations d’accès et il valide.

4- le système vérifie les informations.

5- le système ouvre une session à l’utilisateur.

Post-conditions l’utilisateur accède à son espace personnel et l’outil de perception est

mis à jour.

Exceptions et

Scénarios

alternatifs

A l’étape 4 :

Le système n’a pas pu authentifier l’utilisateur :

1- le système affiche un message d’erreur à l’utilisateur.

2- le scenario reprend à l’étape 2.

Besoin d’IHM Un formulaire web pour saisir les informations d’accès.

Cas d’utilisation « S’inscrire à la plate-forme »

Description sommaire

Titre S’inscrire à la plate-forme

But

Permettre à toute personne de demander l’inscription à la plate-forme

afin de disposer d’un compte et de rejoindre la communauté des

chercheurs.

Acteurs Visiteur (principal)

Page 84: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

67

Description des enchainements

Pré-conditions Le visiteur est connecté au site.

Scénario nominal

1- Le visiteur choisit de s’inscrire.

2- Le système lui présente un formulaire d’inscription.

3- Le visiteur fournit les renseignements nécessaires et il confirme.

4- Le système vérifie et enregistre les renseignements saisis.

5- Un message est affiché au visiteur pour l’informer que son

inscription est prise en compte et qu’il doit attendre sa validation par

l’administrateur.

Post-conditions La demande d’inscription doit être envoyée à l’administrateur.

Exceptions et

Scénarios

alternatifs

A l’étape 4 :

Des renseignements obligatoires ne sont pas fournis ou

contiennent des erreurs :

1- le système réaffiche le formulaire et indique les champs à remplir

ou à corriger.

2- le scenario reprend à l’étape 3.

Besoin d’IHM Un formulaire web pour saisir les renseignements d’inscription.

Cas d’utilisation « Traiter les demandes d’inscription »

Description sommaire

Titre Traiter les demandes d’inscription

But Traiter les nouvelles demandes d’inscription à la plate-forme et

décider de les accepter ou les rejeter.

Acteurs Administrateur (principal)

Description des enchainements

Pré-conditions L’administrateur s’est authentifié.

Scénario nominal

1- L’administrateur accède à la gestion des utilisateurs et choisit de

traiter les nouvelles demandes d’inscription.

2- Le système lui affiche l’ensemble des inscriptions en attente de

traitement.

3- L’administrateur consulte l’une des demandes d’inscription

affichée et examine ses informations et décide de la valider ou de la

rejeter.

4- Le système crée un nouveau compte pour l’utilisateur et il lui

répond par un mail de confirmation contenant ses informations

d’accès (le nom d’utilisateur et le mot de passe).

Post-conditions

l’utilisateur doit recevoir un mail contenant les informations

nécessaires lui permettant d’accéder à la plate-forme dans le cas de

validation, sinon, un mail de refus.

Exceptions et

Scénarios

alternatifs

A l’étape 3 :

L’administrateur rejette l’inscription :

1- un mail est envoyé à l’utilisateur pour l’informer que son

Page 85: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

68

inscription a été rejetée.

2- le cas d’utilisation se termine.

Besoin d’IHM Une page web pour afficher les informations des demandes

d’inscription.

Cas d’utilisation « Gestion des comptes utilisateurs »

Description sommaire

Titre Gestion des comptes utilisateurs

But

Permettre à l’administrateur de gérer les utilisateurs du système

(consultation, création, modification, suppression des comptes,

attribution des rôles et des privilèges).

Acteurs Administrateur (principal)

Description des enchainements

Pré-conditions L’administrateur s’est authentifié.

Scénario nominal

1- L’administrateur accède à la gestion des utilisateurs.

2- L’administrateur choisit de consulter, créer, modifier, supprimer,

bloquer un compte, modifier les privilèges d’un utilisateur.

3- Le système lui affiche le formulaire désiré.

4- L’administrateur apporte ses modifications et il confirme.

5- le système vérifie et enregistre les modifications.

Post-conditions L’opération souhaitée est effectuée (création, modification ou

suppression du compte, etc.).

Exceptions et

Scénarios

alternatifs

A l’étape 5 :

Des renseignements obligatoires ne sont pas fournis ou

contiennent des erreurs :

1- le système réaffiche le formulaire et indique les champs à remplir

ou à corriger.

2- le scenario reprend à l’étape 4.

Besoin d’IHM Un formulaire web (ou une page) pour chaque cas.

Cas d’utilisation « Inviter une personne »

Description sommaire

Titre Inviter une personne

But Envoyer une demande à une personne tierce du système pour

rejoindre un espace de collaboration.

Acteurs Chef de projet (principal)

Description des enchainements

Pré-conditions Le chef de projet s’est authentifié.

Scénario nominal

1- Le chef de projet choisit d’inviter une personne.

2- Le système lui affiche un formulaire pour envoyer la demande.

3- Le chef de projet remplit le formulaire.

4- le système vérifie les informations saisis.

Page 86: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

69

5- Le système crée un nouveau compte bloquée et envoie un mail à la

personne invitée contenant ses informations d’accès à la (le nom

d’utilisateur et le mot de passe).

6- La personne invitée reçoit le mail et choisit d’accepter l’invitation

pour activer son compte.

Post-conditions La personne invitée peut désormais accéder à la plate-forme.

Exceptions et

Scénarios

alternatifs

A l’étape 4 :

La personne à inviter existe déjà dans le système :

1- un mail est envoyé à l’utilisateur pour rejoindre l’espace voulu.

2- le cas d’utilisation se termine.

A l’étape 6 :

La personne à inviter refuse l’invitation :

1- le système supprime son compte.

2- un mail d’information est envoyé au chef de projet.

Besoin d’IHM Un formulaire web pour envoyer une invitation.

5.4.1.2. Cas d’utilisation de la thématique « Administration des

espaces »

La figure suivante représente le diagramme des cas d'utilisation présents dans la

thématique « Administration des espaces » :

Page 87: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

70

Figure 26: Diagramme de cas d'utilisation « Administration des espaces »

Cas d’utilisation Acteurs

Consulter un espace

Administration des espaces Administrateur

Créer un espace

Affecter des utilisateurs

Modifier un espace

Supprimer un espace

Archiver un espace

Tableau 7: Cas d'utilisation de la thématique « Administration des espaces »

Remarque :

Comme nous l’avons mentionnée avant, le traitement de cette thématique sera présenté

dans l’Annexe A.

5.4.1.3. Cas d’utilisation de la thématique « Gestion de l’espace

personnel »

Dans cette thématique, nous intégrons les fonctionalité suivantes :

uc Administration des espaces

Créer un

espace

Modifier un

espace

Supprimer un

espace

Archiv er le

contenu d'un

espace

Administrateur

Consulter un

espace

S'authentifier

Affecter des

utilisateurs

«include»

«include»

«extend»

«include»

«include»

«include»

«include»

Page 88: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

71

Un profil utilisateur.

Un blog.

Une messagerie Asynchrone.

Un agenda personnel.

5.4.1.4. Cas d’utilisation de la thématique « Gestion de l’espace

collaboratif »

Les cas d’utilisation de cette thématique par module ainsi que leurs descriptions sont :

Cas d’utilisation du module « Gestion des projets »

Ce module a comme objectif d’assembler l’utilisation de plusieurs

fonctionnalités complémentaires :

La gestion des projets :

La gestion des tâches ;

La gestion des délais ;

La gestion des événements ;

La gestion des livrables ;

La gestion des ressources ;

Un agenda partagé.

Dans ce qui suit, nous listons les cas d’utilisation lié à la fonctionnalité « gestion des

projet » :

Page 89: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

72

Figure 27: Diagramme de cas d'utilisation « Gestion des projets »

uc Gestion des projets

Gérer les évènements

Gérer les taches

Gérer un projet

Modifier un

projet

Affecter des

membres

Créer un

év ènement

Créer un projet

Ajouter un

jalon

Ajouter un

liv rable

Ajouter une

phase

Affecter des

resources

S'authentifier

Ajouter une

tache

Assigner une

tache

Modifier une

tache

Chef de projet

Commenter une

tache

Chercheur

Consulter les

taches

Consulter les

év ènements

Consulter un

projet

Supprimer un

év ènement

«extend»

«extend»

«extend»

«extend»

«extend»

«extend»

«include»

«include»

«include»

«include»

«include»

«include»

«include»

«include»

«include»

«include»

«include»

«include»

«include»

«include»

«include»

«include»

Page 90: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

73

Cas d’utilisation Acteurs

Consulter un projet

Gérer un

projet

Gestion

des projets

Chercheur

Créer un projet

Chef de projet

Modifier un projet

Affecter des membres

Affecter de ressources

Ajouter une phase

Ajouter un jalon

Ajouter un livrable Chercheur

Consulter les évènements

Gérer les

évènements Chercheur

Créer un évènement

Modifier un évènement

Supprimer un évènement

Consulter les tâches

Gérer les

tâches

Chercheur

Ajouter une tâche Chef de projet

Modifier une tâche Chercheur

Assigner une tâche Chef de projet

Commenter une tâche Chercheur

Tableau 8: Cas d'utilisation du module « Gestion des projets »

Description textuelle des cas d’utilisation

Les descriptions textuelles des cas d’utilisation importants de ce module sont présentés

dans la suite, les autres seront présentés dans l’annexe B.

Cas d’utilisation « Créer un projet »

Description sommaire

Titre Créer un projet

But Création d’un nouveau projet sur l’espace collaboratif.

Acteurs Chef de projet (principal)

Description des enchainements

Pré-conditions - Le chef de projet s’est authentifié et accède à l’espace

collaboratif.

Scénario nominal

1- Le chef de projet accède à la gestion des projets et choisit de créer

un nouveau projet.

2- Le système lui affiche un formulaire pour saisir les informations

nécessaires du projet.

3- Le chef de projet remplit le formulaire et il confirme.

4- le système vérifie les données saisis.

5- Le système crée un nouveau projet sur l’espace.

Post-conditions Un nouveau projet est créé sur l’espace.

Exceptions et

Scénarios

A l’étape 4 :

Des renseignements obligatoires ne sont pas fournis ou contiennent

Page 91: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

74

alternatifs des erreurs :

1- le système réaffiche le formulaire et indique les champs à remplir

ou à corriger.

2- le scenario reprend à l’étape 3.

Besoin d’IHM Un formulaire web pour la création d’un nouveau projet.

Cas d’utilisation « Consulter un projet »

Description sommaire

Titre Consulter un projet

But Permettre à un chercheur de consulter les détails d’un projet.

Acteurs Chercheur (principal).

Description des enchainements

Pré-conditions - Le chercheur s’est authentifié et accède à l’espace collaboratif.

- Le chercheur accède à la gestion de projets.

Scénario nominal

1- Le chercheur choisit de consulter un projet.

2- Le système lui affiche la liste des projets dont il est membre.

3- Le chercheur sélectionne un projet.

4- le système lui envoie les détails du projet.

Post-conditions Le chercheur visualise les détails du projet désiré.

Exceptions et

Scénarios

alternatifs

Néant.

Besoin d’IHM Une page web pour visualiser les détails.

Cas d’utilisation « Affecter des membres »

Description sommaire

Titre Affecter des membres.

But Permettre au chef de projet d’affecter des chercheurs sur la plate-

forme à un projet en déterminant leurs rôles.

Acteurs Chef de projet (principal)

Description des enchainements

Pré-conditions - Le chef de projet s’est authentifié et accède à l’espace

collaboratif.

Scénario nominal

1- Le chef de projet accède à la gestion des projets et choisit

d’affecter des membres à un projet.

2- Le système lui affiche une liste contenant tous les projets sur

l’espace.

3- Le chef de projet sélectionne le projet désiré.

4- le système lui affiche une liste contenant tous les utilisateurs sur

l’espace.

5- Le chef de projet sélectionne les utilisateurs à affecter au projet en

précisant leurs rôles et il confirme.

6- Le système enregistre les modifications.

Page 92: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

75

Post-conditions Les membres sélectionnés sont affectés au projet.

Exceptions et

Scénarios

alternatifs

Néant

Besoin d’IHM Une page web pour afficher les listes.

Cas d’utilisation « Ajouter une phase »

Description sommaire

Titre Ajouter une phase.

But Permettre au chef de projet d’ajouter une phase à un projet.

Acteurs Chef de projet (principal)

Description des enchainements

Pré-conditions

- Le chef de projet s’est authentifié et accède à l’espace

collaboratif.

- Le chef de projet accède à la gestion des projets et il sélectionne

un projet.

Scénario nominal

1- Le chef de projet choisit d’ajouter une phase à un projet.

2- Le système lui affiche un formulaire pour saisir les détails de la

phase.

3- Le chef de projet remplit les informations nécessaires et il

confirme.

4- le système vérifie les données saisies.

5- Le système ajoute une nouvelle phase au projet.

Post-conditions Une nouvelle phase est ajoutée au projet sélectionné.

Exceptions et

Scénarios

alternatifs

A l’étape 4 :

Des renseignements obligatoires ne sont pas fournis ou contiennent

des erreurs :

1- le système réaffiche le formulaire et indique les champs à remplir

ou à corriger.

2- le scenario reprend à l’étape 3.

Besoin d’IHM Un formulaire web pour la création d’une nouvelle phase.

Cas d’utilisation « Ajouter une tâche»

Description sommaire

Titre Ajouter une tâche

But Création d’une nouvelle tâche dans le cadre d’un projet.

Acteurs Chef de projet (principal)

Description des enchainements

Pré-conditions

- Le chef de projet s’est authentifié et accède à l’espace

collaboratif.

- Le chef de projet accède à la gestion des projets et sélectionne un

projet.

Page 93: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

76

Scénario nominal

1- Le chef de projet choisit d’ajouter une nouvelle tâche.

2- Le système lui affiche un formulaire pour saisir les informations

nécessaires de la tâche.

3- Le chef de projet remplit le formulaire et il confirme.

4- le système vérifie les données saisies.

5- Le système crée une nouvelle tâche dans le projet.

Post-conditions Une nouvelle tâche est créée sur dans le projet.

Exceptions et

Scénarios

alternatifs

A l’étape 4 :

Des renseignements obligatoires ne sont pas fournis ou contiennent

des erreurs :

1- le système réaffiche le formulaire et indique les champs à remplir

ou à corriger.

2- le scenario reprend à l’étape 3.

Besoin d’IHM Un formulaire web pour la création d’une nouvelle tâche.

Cas d’utilisation « Assigner une tâche »

Description sommaire

Titre Assigner une tâche.

But Permettre au chef de projet d’assigner une tâche à un ou plusieurs

membres du projet.

Acteurs Chef de projet (principal).

Description des enchainements

Pré-conditions

- Le chef de projet s’est authentifié et accède à l’espace

collaboratif.

- Le chef de projet accède à la gestion des projets et sélectionne un

projet.

- Il y a au moins une tâche dans le projet sélectionnée.

Scénario nominal

1- Le chef de projet choisit d’assigner une tâche à des membres du

projet.

2- Le système lui affiche une liste contenant toutes les tâches du

projet sélectionné.

3- Le chef de projet sélectionne une tâche.

4- le système lui affiche une liste des membres qui participent dans le

projet sélectionné.

5- Le chef de projet sélectionne les membres et il confirme.

6- Le système enregistre les modifications.

Post-conditions Les membres sélectionnés sont affecté à la tâche désirée.

Exceptions et

Scénarios

alternatifs

Néant

Besoin d’IHM Un page web pour afficher les listes.

Page 94: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

77

Cas d’utilisation du module : « Gestion de la communication »

Dans ce module, nous intégrons les fonctionnalités suivantes :

Une messagerie instantanée.

Un forum.

Une FAQ (Foire Aux Question).

Cas d’utilisation du module « Gestion de la production »

Dans ce module, nous allons intégrer les modules suivants :

Un espace de partage et de gestion des documents.

Un moteur de recherche.

Un wiki.

5.4.2. Identification des classes participantes (candidates)

Dans cette étape, le travail consiste à identifier les classes candidates du modèle statique

d’analyse. L’objectif principale à ce moment et de se préparer à la modélisation orienté objet

en construisons le diagramme des classes participantes a base ces classes candidates.

Les classes que nous avons identifiés par le biais des cas d’utilisation définit

précédemment sont représentées dans les diagrammes suivants par thématique :

5.4.2.1. Diagramme de classes participantes de la thématique

« Gestion des utilisateurs »

Figure 28: Diagramme de classes participantes de la thématique « Gestion des utilisateurs »

class Gestion des utilisateurs

Utilisateur

EquipePriv ilège

Role

1

1..*

1..*

1..*

1..* 0..*

Page 95: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

78

5.4.2.2. Diagramme de classes participantes du module « Gestion

des projets »

Figure 29: Diagramme de classes participantes du module « Gestion des projets »

5.5. Capture des besoins techniques

La capture des besoins techniques concerne les spécifications logicielles et la structure

matérielle. La spécification de ces besoins et le choix des outils nécessaires pour le

développement et le déploiement du système obéissent toujours à des contraintes techniques

qui sont relatives à la configuration du réseau matériel. « Elles sont de nature géographique,

organisationnelle, et technique. Elles concernent les performances d’accès aux données, la

sécurité du système, l’interopérabilité, l’intégration des applications, la volumétrie et le mode

d’utilisation du système ». [ROQ07]

Nous commençons d’abord par la spécification des besoins relatifs à la configuration

matérielle et l’architecture physique, puis nous passerons à la spécification de l’architecture et

les besoins logiciels.

5.5.1. Capture des spécifications matérielles

L’architecture de notre système correspond à une topologie de type trois tiers qui vise à

séparer le système en trois couches logicielles. Dans le cas d’une batterie1 de serveurs de

moyen taille, ou le système gère un nombre important de groupe d’utilisateurs, nous aurions

besoins au minimum de la configuration physique suivante pour assurer le fonctionnement du

système :

1Une batterie est un groupe d'éléments fonctionnant ensemble.

class Gestion des projets

Projet Utilisateur

Tache Commentaire

Jalon

Phase

Liv rable Ev enementRessource

RoleProjet

1

1..*

0..1

0..*

0..*

1

0..*

1

1 0..*

1

0..*

0..*

0..*

11..*0..* 0..*

0..*

0..1

Page 96: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

79

Un serveur web : pour permettre aux utilisateurs d’accéder au système, et prend en

charge de répondre aux requêtes http des clients.

Un serveur d’application : Il prend en compte la logique métier et gère les

traitements du système, ce qui peut conduire à considérer différents serveurs chacun

spécialisé sur un thème métier particulier. [PRI06]

Un serveur de base de données : stocke l’ensemble des informations et données mais

aussi une grosse partie des paramètres de configuration.

Un serveur de fichiers : pour gérer et stocker l’ensemble des documents et assure la

haute disponibilité des fichiers.

Un poste client : Munit d’un navigateur web ou application installé pour permettre au

client (utilisateur) de se connecter et d’interagir avec le système.

La figure suivante présente le schéma de l’architecture physique du système :

Figure 30: Architecture matérielle du système

Les différents serveurs et périphériques de cette infrastructure sont connectés selon une

topologie en étoile, cette topologie autorise l’ajout future de serveurs pour pallier un éventuel

problème de performance ou un besoin de mettre en place de la redondance. Il suffira

d’ajouter un serveur Web pour être capable d’absorber potentiellement un nombre de requêtes

plus important. L’ajout d’un serveur de bases de données et la mise en place d’un cluster

permettront la redondance.

Page 97: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

80

Dans cette partie nous avons présenté les différentes ressources matérielles nécessaires

pour le déploiement du système, ainsi qu’un aspect global sur quelques stratégies pour assurer

sa disponibilité.

5.5.2. Modèle d’architecture Système (logiciel)

L’architecture logique de notre application est en 3-tiers. Le but de ce modèle

d’architecture est de présenter le système comme un empilement de trois couches ou niveaux

comme l’indique la figure ci-dessous :

Figure 31: Architecture 3-tiers.

Les couches de ce modèle communiquent entre elles via un modèle d’échange bien

défini. En effet, chaque couche propose un ensemble de services rendus, les services d’une

couche sont mis à la disposition de la couche supérieure. Ainsi, chaque niveau communique

seulement avec ses voisins immédiats. Chaque couche de ce modèle a un rôle bien précis :

La couche présentation (tiers web) qui est l'interface web permettant à l'utilisateur

de piloter l'application et d'en recevoir des informations. [TAH06]

Cette couche est toujours associée au client, dénommé « léger » car il n’est

responsable d’aucun traitement.

La couche de traitement des données (tiers métier ou tiers business) : cette couche

est indépendante de toute forme d’interface avec l’utilisateur. Les traitements de

l’application sont gérer à ce niveau, c’est pour ça cette couche représente la partie

fonctionnelle ou dite « métier » du système. Elle contient toutes les règles de gestion

et de mise en œuvre.

Page 98: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

81

La couche d’accès aux données (tiers Entreprise Information Système) : Elle

s'occupe de l'accès aux données, le plus souvent des données persistantes au sein d'un

SGBD, mais aussi des données qui proviennent de capteurs, du réseau, etc. [TAH06]

L’architecture 3-tiers présente plusieurs avantages :

Allègement du poste de travail client : On parle de « client léger » puisque les

traitements ne se font pas chez le client, contrairement aux applications classiques

client/serveur.

Amélioration de la sécurité des données : en supprimant les liens d’interaction

directe entre le client utilisateur et les données.

La modularité : En effet, les modifications dans une application 3-tiers se font

couche par couche. On peut donc modifier dans une couche sans toucher aux autres,

en particulier la couche présentation (IHM ou interface homme machine) qui n’est

pas intriquée dans le traitement. [WEB01]

Une fois que les spécifications techniques et d’architecture sont définies, on peut

s’intéresser aux fonctionnalités propres du système ou purement techniques, qui ne

comportent pas l’aspect métier du système.

Cette étape consiste en l’identification des cas d’utilisation techniques et les acteurs qui

exploiteraient ces fonctionnalités.

5.5.3. Identification des acteurs et cas d’utilisations

techniques

Les cas d’utilisation techniques sont absolument distincts des cas d’utilisation de la

branche gauche : ils ne produisent aucune valeur fonctionnelle ajoutée. Ces cas d’utilisations

sont issus de la branche droite qui recouvre tous les services techniques dont un utilisateur

bénéficie, parfois même sans s’en rendre compte.

5.5.3.1. Identification des exploitants (acteurs techniques)

Les utilisateurs qui peuvent bénéficier des applications du système s’appellent les

exploitants.

« L’exploitant est un acteur au sens d’UML, il ne bénéficie que des fonctionnalités

techniques du système ». [ROQ07]

Page 99: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

82

Les exploitants de notre système sont :

- l’utilisateur : Utilise une des fonctions et applications du système. La majorité des

acteurs de la branche fonctionnelle sont donc des utilisateurs dans la dimension

technique.

- L’administrateur : Chargé de gérer l’ensemble des utilisateurs du système ainsi que

leurs droits d’accès.

- L’ ingénieur d’exploitation : C'est celui qui est chargée de déployer et de

maintenir le système.

5.5.3.2. Identification des Cas d’utilisation techniques

Un cas d’utilisation technique est destiné à l’exploitant. C’est une séquence d’actions

produisant une valeur ajoutée opérationnelle ou purement technique. [ROQ07]

Les cas d’utilisation techniques de notre système sont récapitulés dans le tableau suivant :

Catégorie Cas d’utilisation

Utiliser l’aide - Consulter l’Aide en ligne

Gestion de la Sécurité

- Besoins d'établissement de la connexion.

- Gérer les permissions et les niveaux d’accès.

-Gestion de mot de passe (Besoin de mot de

passe, longueur et cryptage)

-Gestion des sessions (Déconnexion après un

temps morts d'inactivité)

- Authentification.

-Sauvegarde et restauration de la base.

- Cryptage des données.

Gestion des objets

-Manipuler l’objet

-Synchroniser les objets mises à jour

Simultanément.

- Gestion d’accès concurrentiel

Gestion de l’intégrité -La capture des erreurs d'entrée/sortie

Page 100: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

83

-Validation des données saisies.

-Gérer l’intégrité.

Gérer la disponibilité

- Gérer les Fréquences des sauvegardes

(Sauvegardes planifiées) ;

- Gérer le partage de charger NLB1 (Network

Load Balancing),

-Gérer la réplication (Cluster),

Gérer la capacité

- Gérer la Capacité de stockage (des données).

- Gérer la taille des espaces.

Tableau 9: Cas d’utilisation techniques.

Le diagramme suivant correspond à la représentation des cas d’utilisation techniques :

1 Le partage de charge.

Page 101: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

84

Figure 32: Cas d’utilisation techniques.

5.6. Analyse

Cette phase marque le démarrage de l'analyse objet de notre système. Elle consiste à

étudier précisément les spécifications fonctionnelles de manière à obtenir une idée de ce que

le système en termes de métier réaliserait.

La démarche consiste à utiliser en premier temps la notion de package d’UML pour

définir les catégories de classe d’analyse. Ensuite, nous utiliserons quelques diagrammes

UML pour illustrer le développement du modèle statique et dynamique de notre système.

5.6.1. Découpage en catégorie

Le découpage en catégorie constitue la première activité de l’étape d’analyse, il se situe

sur la branche gauche du processus en Y et succède à la capture des besoins fonctionnels.

[ROQ07]

uc Cas d''utilisation Techniques

Utilisateur

Administrateur

Utiliser l'Aide

Manipuler les Objet

Gérer l'integrité

Gérer les Erreurs

Gérer la Sécurité

Gérer la DisponibilitéGérer la Capacité

Gérer la taille des

espaces Gérer les frenqunces de

sauv egarde

Ingénieur

d’exploitation

Page 102: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

85

Cette étape a comme objectif de passer d’une structuration fonctionnelle (structuration

en cas d’utilisation) à une structuration objet (classes et packages).

« Une catégorie consiste en un regroupement logique de classes à forte cohérence

interne et faible couplage externe. ». [ROQ07]

Il s’agit d’un découpage qui doit se fonder sur l’ensemble des classes candidates

identifiées précédemment, en respectant la cohérence et l’indépendance entre les classes. Pour

ce faire, nous correspondons chaque thématique désignée dans la structuration fonctionnelle

des cas d’utilisation (Gestion des utilisateurs, Gestion des espaces, Gestion des projets,

Gestion de la communication, gestion de la production) à une catégorie des classes et des

packages, comme le montre la figure suivante :

Figure 33: Diagramme de package illustrant le découpage des classes candidates en catégories.

Le tableau suivant liste les classes candidates représentées dans le schéma précédent :

Page 103: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

86

Catégorie Classes

Gestion des utilisateurs

Utilisateur

Equipe

Rôle

Privilège

Gestion des espaces Espace

Fonctionnalité

Gestion des projets

Projet

Evènement

Tâche

Ressource

Phase

Jalon

Livrable

Tableau 10: Les catégories de classes.

5.6.2. Modèle statique

Le développement du modèle statique constitue la deuxième étape de la phase

d’analyse. Le travail dans cette étape consiste à compléter, détailler et optimiser les

diagrammes de classes préliminaires (diagrammes des classes participantes) qui ont été

réorganisés lors du découpage en catégories. Ensuite, un affinement doit être apporté aux

classes et associations candidates, des modifications, suppressions ainsi que l’ajout des

attributs et des opérations sont nécessaires, car ils fournissent des informations importantes

sur chaque objet.

5.6.2.1. Les classes principales

Le tableau suivant contient la liste des classes principales d’analyse ainsi que les

méthodes et les opérations de chaque classe :

Classe Attributs Méthodes

Utilisateur

Code_Utilisateur

Nom_Utilisateur

Prenom_Utilisateur

Login

Email_Utilisateur

Password_Utilisateur

Photo_utilisateur

Telephone_Utilisateur

SiteWeb_Utilisateur

AjouterUtilisateur ()

ModifierUtilisateur ()

AffecterUtilisateur ()

Ouverire_session ()

Fermer_session ()

Projet

Code_Projet

Titre_Projet

Description_Projet

Structure_Ratt_Projet

Créer_Projet ()

Supprimer_Projet ()

Consulter_Fiche_Projet()

Page 104: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

87

Progression_Projet Liste_Projet()

Modifier_Projet()

Archiver_Projet ()

Tâche

Code_tache

Priorité_tache

Libellé_tache

Description_tache

Date_Debut_Prev_tache

Date_Fin_prev_Tache

Avancement_tache

Ajouter ()

Consulter ()

Liste_Tache()

Modifier ()

Affecter ()

Supprimer ()

Commentaire

Code_commentaire

Titre_commentaire

Enoncé_Commentaire

Date_Commentaire

Ajouter_Commentaire()

Modifier_Commentaire()

Afficher_Commentaire()

Supprimer_Commentaire()

Jalon

Nom_jalon

Libellé_Jalon

Description_Jalon

Date_Ajout_Jalon

Date_limite_Jalon

Priorité_Jalon

Ajouter_Jalon()

Modifier_Jalon()

Liste_Jalons()

Supprimer_Jalon()

Phase

Nom_Phase

Libellé_Phase

Description_Phase

Progression_Phase

Définir_Phase()

Modifier_Phase()

Liste_Phases()

Supprimer_Phase()

Livrable

Code_livrable

Description_livrable

Libellé_livrable

Date_liv_Prév

Nature_livrable

Emplacement_liv

Ajouter_livrable()

Modifier_livrable()

Attacher_livrable()

Liste_livrables()

Supprimer_livrable()

Domaine

Nom_Domaine

Libellé_Domaine

Description_Domaine

Ajouter_Domaine()

Modifier_Domaine()

Consulter_Domaine()

Liste_Domaines()

Supprimer_Domaine()

Evènement

Description_Evenement

DateEvenement

Lieu_Evenement

Ajouter_Evenement()

Modifier_Evenement()

Liste_evenements()

Annuler_Evenement()

Organisation

Code_Organisation

Nom_Organisation

Description_Organisation

Adresse_Organisation

Ajouter_organisation()

Modifier_Organisation()

Consulter_Organisation()

Liste_Organisation()

Ressource Code_ressource

Libelle_Ressource

Ajouter_Ressource()

Affecter_Ressource()

Page 105: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

88

Description_Ressource

Disponibilité_ressource

Date_ajout_ressource

Modifier_Ressource()

Supperimer_ressource()

Date Date_evt

Libellé_Date_evt

Ajouter_Date()

Modifier_Date()

Date_liv Date_ajout_livrable

Libellé_Date_Liv

Ajouter_Date_Liv()

Modifier_Date_Liv()

Privilège

Id_privilége

Libellé_Privilége

Définir_privilége()

Modifier_privilége()

Attribuer_privilége()

Tableau 11: Liste des classes principales et attributs affinés.

5.6.2.2. Les classes d’associations

Le tableau suivant détaille les classes d’associations de notre modèle :

Classe Attributs Méthodes

RoleProjet

Code_role

Nom_role

Libellé_Role

Ajouter_Role()

Modifier_Role()

Attribuer_Role()

Tableau 12: Liste des classes d'association

5.6.3. Modèle dynamique

Le développement du modèle dynamique constitue la troisième activité de l’étape

d’analyse. Elle se situe sur la branche gauche du cycle en Y. Il s’agit d’une activité itérative,

fortement couplée avec l’activité de modélisation statique. [ROQ07]

Elle permet d’illustrer l’utilisation des concepts dynamiques d’UML et des diagrammes

associés en phase d’analyse. Nous utiliserons dans la suite trois diagrammes: Le diagramme

d’états-transitions, le diagramme d’activité et le diagramme de séquence.

5.6.3.1. Diagrammes d’états-transitions

Un diagramme d’états-transitions décrit le comportement dynamique des objets d’une

classe dans le temps en modélisant leurs cycles de vie.

L’état d’un objet est défini, à un instant donné, par l’ensemble des valeurs de ses

propriétés. Un objet reste dans un état pendant une certaine durée. Le passage d’un état à un

autre état s’appelle transition. Un événement est un fait survenu qui déclenche une transition.

[GAB08]

Il s’agit donc de trouver les classes qui ont un comportement dynamique complexe

nécessitant une description plus approfondie. Nous présentons dans ce qui suit les

diagrammes d’états-transitions de quelques classes jugées pertinentes :

Page 106: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

89

Diagramme d’états-transitions de la classe « Utilisateur »

Figure 34: Diagramme d’états-transitions de la classe « Utilisateur ».

Diagramme d’états-transitions de la classe « Projet »

Figure 35: Diagramme d’états-transitions de la classe « Projet ».

act Utilisateur

Utilisateur Actif

Utilisateur Bloqué

Utilisateur suppriméUtilisateur Créé

[Activation compte]

[Suppression util isateur]

[Activation compte]

[Suppression util isateur]

[Blocage compte][Création util isateur]

act Projet

Projet non v alidé Projet v alidé

Projet suspendu

Projet accomplis

Projet abandonné

[Annulation projet]

[Annulation projet]

[Accomplissement projet]

[Activation projet]

[Suspension projet]

[Validation projet]

[Création pojet]

Page 107: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

90

Diagramme d’états-transitions de la classe « Tâche »

Figure 36: Diagramme d’états-transitions de la classe « Tâche ».

5.6.3.2. Diagrammes d’activités

Le diagramme d’activité représente la dynamique du système. Il donne une vision

des enchaînements des activités propres à une opération ou à un cas d’utilisation. Il ressemble

fondamentalement à un ordinogramme, montrant le flot de contrôle d’action en action.

Le diagramme d’activité va nous servir à ce niveau pour représenter une vue globale de

navigation dans notre système. Cette vue est illustrée dans la figure suivante :

act Tâche

Tâche créer Tâche en cours de

réalisation

Tâche accomplis

Tâche suspendu

[Acomplissement]

[Reprise][Suspension]

[Début réalisation]

[Création tâche]

Page 108: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

91

Figure 37: Diagramme d'activité « Navigation dans le système ».

Nous donnons ci-après les diagrammes d’activités plus détaillés de quelques modules

(apparaissent avec une couleur différente dans la figure précédente) :

act Nav igation dans le système

Authentification

Accès gestion des projets

Accès agenda

partagé

Tableau de bord

espace collaboratif

Tableau de bord

espace personnel

Accès agenda

personnel

Accès

messagerie

Accès profile

Accès blog

Accès ForumAccès Messagerie

Instantanée

Accès FAQ

Accès

Moteur de

recherche

Accès

espace

documentaire

Accès Wiki

Déconnexion

Accès page

d'acceuil du site

Gestion des

utilisateurs

Gestion des

espaces

Insecription

[Echec authentification]

Page 109: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

92

Figure 38: Diagramme d'activité du module « Gestion des utilisateurs »

Figure 39: Diagramme d'activité du module « Gestion des projets »

Nous donnons ci-après les diagrammes d’activité détaillés du module « Gestion des projets » :

act Gestion des utilisateurs

Ajouter un

utilisateurModifier un

utilisateur

Supprimer

un utilisateur

Traiter les

inscriptions

Inv iter des

prsonnes

Page d'acceuil gestion

des utilisateurs

Consulter la liste

des utilisateurs

act Gestion des projets Globale

Page d'acceuil gestion

des projets

Créer un projet Modifer un projetConsulter un projet

Page 110: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

93

Figure 40: Diagramme d'activité « Consulter un projet ».

Figure 41: Diagramme d'activité « Créer un projet ».

act Gestion des projets

Consulter un projet

Consulter les

informations du

projet

Consulter les

phases, les jalon et

les liv rables

Consulter les

tâches Consulter les

év ènemens

Consulter les

membres

act Gestion des projets

Créer un projet

Saisir les information

du projet

Ajouter les

ressources

Définir les phasesDéfinir les

liv rablesDéfinir les

jalons

Affecter les

membres

Définir les tâches

Assigner les

tâches

Page 111: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

94

Figure 42: Diagramme d'activité « Modifier un projet ».

5.6.3.3. Les diagrammes de séquence

« L’objectif du diagramme de séquence est de représenter les interactions entre objets

en indiquant la chronologie des échanges. Cette représentation peut se réaliser par cas

d’utilisation en considérant les différents scénarios associés. » [GAB08]

Nous présentons ci-après uniquement quelques diagrammes de séquence importants du

module « Gestion des Projets » :

Diagrammes de séquence du module « Gestion des projets »

Diagramme de séquence « Consulter un projet »

act Gestion des projets

Modifer un projet

Modifer les

informations du projet

Ajouter ou Modifier

des tâches

Ajouter ou Modifer

les jalons, les pahes

et les liv rables

Ajouter ou modifier

des év ènements

Ajouter ou retirer

des membres

Page 112: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

95

Figure 43: Diagramme de séquence « Consulter un projet »

Diagramme de séquence « Créer un projet »

Figure 44: Diagramme de séquence « Créer un projet »

sd Consulter un projet

Chercheur Controleur des

projets

ProjetAccueil Dialogue Liste

Projets

Dialogue Détails

Projet

Demande de consultation d'un

projet()

Consultation projet()

Liste des projets()

Envoi l iste des projets()

l ist des projets()

Dialogue l ist des projets()

Sélection d'un projet()

Demande Détails

projet(Projet)

Demande Détails

Projet(Projet)

Détails Projet(Projet)

Détails du

projet(Projet)

Envoi Dialogue détails du projet()

sd Créer un projet

Chef de projet Controleur des

projets

Projet

alt

[informations corrects]

[Informations erronées]

Dialogue Acceuil Dialogue Ajouter

ProjetDemande de Créationd'un

nouveau projet()

Dialogue Ajouter Projet()

Envoi Dialogue

Ajouter Projet()

Dialogue

ajouter Projet()

envoi des informations du

projet()

Informations du Projet()

Vérifiction des

données saisis()

Sauvgarder le

nouveau projet()

Ajouter

Projet()

Demande de resaisir les informations()

Page 113: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

96

Diagramme de séquence « Ajouter une phase »

Figure 45: Diagramme de séquence « Ajouter une phase »

sd Ajouter une phase

Chef de projet Controleur des

phases

Projet Phase

alt

[Informations correctes]

[Information erronées]

Dialogue Accueil Dialogue List

Projets

Dialogue Ajouter

Phase

Demande ajout d'une phase()

Ajouter Phase()

Liste des projet()

Lliste des projets()

Envoi l iste des projets()

Dialogue Liste Projets()

sélection du projet()

Projet séléctionné(Projet)

Dailogue Ajouter

Phase(Projet)

Dialogue ajouter une phase(Projet)

Envoi des informatios de la phase()

Vérification

des données

saisis()

Sauvgarde de la phase(Projet)

Ajouter

Phase(Projet)

Demande de resaisir les informations()

Page 114: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

97

Diagramme de séquence « Assigner une tâche»

Figure 46: Diagramme de séquence « Assigner une tâche »

5.7. Conception générique

La conception générique est une activité de la branche droite, elle est entièrement

indépendante des aspects fonctionnels spécifiés dans la branche gauche. Elle consiste à

développer la solution qui répond aux spécifications techniques. [ROQ07]

Grace au modèle logique de conception, elle permet de reprendre les couches

logicielles, et définit pour chaque couche un noyau (Framework technique) qui répond à leurs

spécifications techniques.

Le schéma suivant correspond au modèle logique adopté pour notre système :

sd Assigner une tache

Chef de projet Controleur des

taches

Tache MembresProjetDialogue Liste

Membres

Dialogue Accueil Dialogue List

taches

MembresTache

Demande d'assignation

d'une tache()

Assigner une tache()

Demande Liste des taches()

liste des taches()

Envoi l iste des taches()

Dialogue Liste taches()

Sélection de la tache()

Membres(Tache)

Demande Liste des membres()

Liste des membres du projet()

Envoi l iste des

membres du projet()

Dialogue Liste des membres()

Sélection des membres()

Membres sélectionné()

Sauvgarde des

membres()

Page 115: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

98

Figure 47 : Modèle logique de conception

5.8. Conception

5.8.1. Conception préliminaire

La conception préliminaire est une étape très importante, elle est certainement la plus

délicate dans le processus 2TUP, c’est dans laquelle que s’effectue la fusion des études

fonctionnelles et techniques.

Dans cette étape nous nous limitons par la présentation du modèle de déploiement qui

est définit par la suite.

5.8.1.1. Modèle de déploiement

Les diagrammes de déploiement montrent la disposition physique des matériels qui

composent le système et la répartition des composants sur ces matériels. [WEB19]

C’est une architecture qui comprend des nœuds1 correspondant aux supports physiques

(serveurs, routeurs, etc.) ainsi que la répartition des artefacts logiciels (bibliothèques,

exécutables, etc.) sur ces nœuds. C’est un véritable réseau constitué de nœuds et de

connexions entre ces nœuds qui modélisant cette architecture. [GAB08]

La figure suivante correspond au diagramme de déploiement de notre système, elle représente

les différents nœuds ainsi que les composants et les artefacts sur chacun de ces nœuds.

1 Un nœud correspond à une ressource matérielle de traitement sur laquelle des artefacts (fichier, exécutable,

table BDD, etc.) seront mis en œuvre pour l’exploitation du système.

Page 116: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

99

Figure 48 : Diagramme de déploiement du système

Dans ce modèle plusieurs composants sont déployés :

» Un poste client sur lequel l’utilisateur doit disposer d’un navigateur web pour pouvoir

accéder au système et interagir avec lui.

» Un serveur web qui permet de prendre en charge les requêtes (HTTP/ HTTPS) des

clients.

» Un serveur d’application métier sur lequel sont déployés les composants :

Les servlets, les fichiers d’accès aux données la couche de persistance « dao.jar » et

les différents libraires.

» Un serveur BDD (base de données) sur lequel sont stockées : la base de données, les

trigger, etc. (scripts.sql).

» Un serveur GED qui permet la gestion électronique des documents échangés.

Page 117: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

100

5.8.2. Conception détaillée

La conception détaillée consiste à construire et à documenter précisément les classes,

les interfaces, les tables et les méthodes qui constituent le codage de la solution. [ROQ07]

5.8.2.1. Conception des classes

L’ensemble des classes de notre système sont présentés dans les tableaux suivants.

Chaque tableau correspond à une classe, il contient les attributs de la classe correspondante

ainsi que le type et la taille de chaque attribut. Les rôles et les opérations des méthodes seront

détaillés par la suite dans la conception des méthodes.

Classe Utilisateurs

Attributs Type Taille Méthodes

Code_Utilisateur int 10 Ajouter_Utilisateur()

Modifier_Utilisateur()

Affecter_Utilisateur ()

Liste_Utilisateur()

Supprimer_Utilisateur()

Consulter_Utilisateur()

Ouverire_session_Utilisateur ()

Fermer_session_Utilisateur()

Nom_Utilisateur String 30

Prenom_Utilisateur String 30

Sex_utilisateur String 5

Login String 40

Email_Utilisateur String 60

Password_Utilisateur String 30

Adresse_Utilisateur String 150

Telephone_Utilisateur int 10

SiteWeb_Utilisateur String 50

Classe Projet

Attributs Type Taille Méthodes

Code_Projet int 20 Créer_Projet ()

Supprimer_Projet ()

Consulter_Fiche_Projet()

Liste_Projet()

Modifier_Projet()

Archiver_Projet ()

Titre_Projet String 80

Description_Projet String 200

Structure_Ratt_Projet String 80

Progression_Projet int 3

Page 118: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

101

Classe Tâche

Attributs Type Taille Méthodes

Code_tache int 20

Ajouter_tache()

Consulter_tache()

Modifier_tache()

Affecter_tache()

Supprimer_tache()

Avancement_tache()

Priorité_tache int 1

Libellé_tache String 60

Description_tache String 100

Date_Debut_Prev_tache date *

Date_Fin_prev_tache date *

Avancement_tache int 3

Etat_tache String 10

Classe Phase

Attributs Type Taille Méthodes

Code_Phase int 20 Définir_Phase()

Liste_Phases()

Modifier_Phase()

Consulter_Phase()

Supprimer_Phase()

Nom_Phase String 50

Libellé_Phase String 70

Description_Phase String 100

Progression_Phase int 3

Classe Jalon

Attributs Type Taille Méthodes

Code_Jalon int 20

Ajouter_Jalon()

Liste_Jalons()

Modifier_Jalon()

Consulter_Jalon()

Supprimer_Jalon()

Nom_Jalon String 40

Libellé_Jalon String 60

Description_Jalon String 100

Date_Ajout_Jalon dateTime *

Date_limite_Jalon dateTime *

Priorité_Jalon int 1

Page 119: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

102

Classe Livrable

Attributs Type Taille Méthodes

Code_livrable int 10 Ajouter_livrable()

Liste_livrables()

Modifier_livrable()

Attacher_livrable()

Consulter_livrable()

Supprimer_livrable()

Libellé_livrable String 60

Description_livrable String 100

Date_liv_Prév dateTime *

Nature_livrable String 30

Emplacement_liv String 30

Classe Ressource

Attributs Type Taille Méthodes

Code_ressource int 20

Ajouter_Ressource()

Liste_Ressource()

Affecter_Ressource()

Modifier_Ressource()

Consulter_Ressource()

Supperimer_ressource()

Nom_ressource String 40

Libelle_Ressource String 60

Description_Ressource String 100

Disponibilité_ressource booléen *

Date_ajout_ressource DateTime *

Classe Commentaire

Attributs Type Taille Méthodes

Code_commentaire int 20 Ajouter_Commentaire()

Modifier_Commentaire()

Afficher_Commentaire()

Supprimer_Commentaire()

Titre_commentaire String 30

Enoncé_Commentaire String 200

Date_Commentaire dateTime *

Classe Domaine

Attributs Type Taille Méthodes

Code_Domaine int 20 Ajouter_Domaine()

Page 120: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

103

Nom_Domaine String 40 Modifier_Domaine()

Consulter_Domaine()

Liste_Domaines()

Supprimer_Domaine()

Libellé_Domaine String 60

Description_Domaine String 100

Classe Organisation

Attributs Type Taille Méthodes

Code_Organisation int 20 Ajouter_organisation()

Modifier_Organisation()

Consulter_Organisation()

Liste_Organisation()

Nom_Organisation String 40

Description_Organisation String 100

Adresse_Organisation String 150

Classe Evènement

Attributs Type Taille Méthodes

Code_Evenement int 20

Ajouter_Evenement()

Modifier_Evenement()

Liste_evenements()

Annuler_Evenement()

Nom_Evenement String 40

Description_Evenement String 100

Type_Evenement String 40

DateEvenement dateTime *

Lieu_Evenement String 100

Classe Role

Attributs Type Taille Méthodes

Code_role int 10 Ajouter_Role()

Liste_Role()

Modifier_Role()

Attribuer_Role()

Consulter_Role()

Nom_Role String 30

Libellé_Role String 60

Page 121: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

104

Classe Privilége

Attributs Type Taille Méthodes

Id_privilége int 10

Définir_privilége()

Modifier_privilége()

Attribuer_privilége()

Nom_privilége String 30

Libellé_Privilége String 60

5.8.2.2. Conception des classes d’association

Classe Post_utilisat_com

Attributs Type Taille Méthodes

Code_utilisateur int 20 Ajouter_poste()

Modifier_poste()

Consulter_Poste()

Supprimer_poste ()

Code_commentaire int 20

Code_tache int 20

Date_poste Datetime *

Classe Emploie_Ress

Attributs Type Taille Méthodes

Code_tache int 20 Affecter_Ress_tache()

Modifier_Ress_tache()

Consulter_Ress_tache()

Supprimer_Ress_tache()

Code_Ressource int 30

Date_Emploie Datetime *

Classe Produire_Livrable

Attributs Type Taille Méthodes

Code_utilisateur int 20 Ajouter_liv_tache()

Modifier_liv_tache()

Consulter_liv_tache()

Supprimer_liv_tache()

Code_livrable int 20

Code_tache int 20

Date_ajout_livrable Datetime *

Page 122: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

105

Classe Realiser_Util_Tache

Attributs Type Taille Méthodes

Code_Utilisateur int 20 Ajouter_Utilisat_tache()

Modifier_Utilisat_tache()

Consulter_Utilisat_tache()

Supprimer_Utilisat_tache()

Code_Tache int 20

Date_realisat DateTime *

Classe Role_utilisat_projet

Attributs Type Taille Méthodes

Code_role int 20 Ajouter_Role()

Liste_Role()

Modifier_Role()

Attribuer_Role()

Consulter_Role()

Nom_role String 40

Libellé_Role String 60

5.8.2.1. Diagrammes de classes détaillés

Après avoir identifié et affiné les différentes classes principales et les classes

d’associations, nous présentons les diagrammes de classes détaillés par catégorie qui

formalisent mieux les relations et les interactions existantes entre eux :

Page 123: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

106

Diagramme de classes détaillé associé à la catégorie « Gestion des utilisateurs »

Figure 49: Diagramme de classes détaillé de la catégorie « Gestion des utilisateurs ».

Diagramme de classes détaillé associé à la catégorie « Gestion de projets »

class Gestion des utilisateurs

Gestion de projet::Utilisateur

- Code_Util isateur: int (oid)

- Nom_Util isateur: String(30)

- Prenom_Util isateur: String(30)

- Sex_Util isateur: String(5)

- Login: String(40)

- Email_Util isateur: String(60)

- Password_Util isateur: String(30)

- Photo_util isateur: Image

- Telephone_Util isateur: String(12)

- SiteWeb_Util isateur: String(50)

+ Ajouter_Util isateur() : void

+ Modifier_Util isateur() : void

+ Affecter_Util isateur() : void

+ Supprimer_Util isateur() : void

+ Ouverire_session_Util isateur() : void

+ Fermer_session_Util isateur() : void

Gestion de projet::Equipe

- Code_equipe: int

- Nom_equipe: String(60)

- Description_equipe: String(200)

+ Ajouter_Equipe() : void

+ Modifier_Equipe() : void

+ Consulter_Equipe() : void

Role

- Code_Role: String(20)

- Nom_Role: String(30)

- Libellé_Role: String(50)

+ Ajouter_Role() : void

+ Modifier_Role() : void

+ Affecter_Role() : void

Priv ilége

- Id_privilége: String(20)

- Libellé_Privilége: String(50)

- Nom_privilége(30): String(30)

+ Définir_privilége() : void

+ Modifier_privilége() : void

+ Attacher_privilége() : void

0..*

1..*

0..*

1

1

membre

1..*

Page 124: Plate-Forme pour la Gestion de Projets Collaboratifs

Figure 50 : Diagramme de classes détaillé associé à la catégorie « Gestion de projets »

class Gestion de Pro...

Projet

- Code_Projet: int

- Titre_Projet: String(80)

- Description_Projet: String(200)

- Structure_Ratt_Projet: String(80)

- Progression_Projet: int

+ Creer_Projet() : void

+ Supprimer_Projet() : void

+ Consulter_Fiche_Projet() : void

+ Modifier_Projet() : void

+ Archiver_Projet() : void

Utilisateur

- Code_Util isateur: int (oid)

- Nom_Util isateur: String(30)

- Prenom_Util isateur: String(30)

- Sex_Util isateur: String(5)

- Login: String(40)

- Email_Util isateur: String(60)

- Password_Util isateur: String(30)

- Photo_util isateur: Image

- Telephone_Util isateur: String(12)

- SiteWeb_Util isateur: String(50)

+ Ajouter_Util isateur() : void

+ Modifier_Util isateur() : void

+ Affecter_Util isateur() : void

+ Supprimer_Util isateur() : void

+ Ouverire_session_Util isateur() : void

+ Fermer_session_Util isateur() : void

Tache

- Code_tache: int

- Priorité_tache: int

- Libellé_tache: String(60)

- Description_tache: String(100)

- Date_Debut_Prev_tache: Datetime

- Date_Fin_prev_Tache: Datetime

- Avancement_tache: int

- Etat_tache: String(10)

+ Ajouter_tache() : void

+ Consulter_tache() : void

+ Modifier_tache() : void

+ Affecter_tache() : void

+ Supprimer_tache() : void

Commentaire

- Code_commentaire: int

- Titre_commentaire: String(30)

- Enoncé_Commentaire: String

- Date_Commentaire: Datetime

+ Ajouter_Commentaire() : void

+ Modifier_Commentaire() : void

+ Afficher_Commentaire() : void

+ Supprimer_Commentaire() : void

Jalon

- Code_Jalon: int

- Nom_Jalon: String(40)

- Libellé_Jalon: String(60)

- Description_Jalon: String(100)

- Date_Ajout_Jalon: Datetime

- Date_limite_Jalon: Datetime

- Priorité_Jalon: int

+ Ajouter_Jalon() : void

+ Modifier_Jalon() : void

+ Liste_Jalon() : void

+ Consulter_Jalon() : void

+ Supprimer_Jalon() : void

Phase

- Code_Phase: int

- Nom_Phase: String(50)

- Libellé_Phase: String(70)

- Description_Phase: String(100)

- Progression_Phase: int

- Date_debut_prev_phase: DateTime

- Date_fin_prev_phase: DateTime

+ Définir_Phase() : void

+ Modifier_Phase() : void

+ Liste_Phases() : void

+ Supprimer_Phase() : void

+ Progress_Phase() : void

Liv rable

- Code_livrable: int

- Libellé_livrable: String(60)

- Description_livrable: String(100)

- Date_liv_prév: DateTime

- Nature_livrable: String(30)

- Emplacement_livrable: String(30)

+ Ajouter_livrable() : void

+ Modifier_livrable() : void

+ Attacher_livrable() : void

+ Liste_livrable() : void

+ Afficher_livrable() : void

+ Supprimer_livrable() : void

Domaine

- Code_Domaine: int

- Nom_Domaine: String(40)

- Libellé_Domaine: String(60)

- Description: String(100)

+ Ajouter_Domaine() : void

+ Modifier_Domaine() : void

+ Consulter_Domaine() : void

+ Supprimer_Domaine() : void

Ev enement

- Code_Evenement: int

- Titre_Evenement: String(40)

- Type_Evennement: String(40)

- Description_Evenement: String(100)

- DateEvenement: DateTime

- Lieu_Evenement: String(150)

+ Ajouter_Evenement() : void

+ Modifier_Evenement() : void

+ Liste_Evenement() : void

+ Annuler_Evenement() : void

Organisation

- Code_Organisation: int

- Nom_Organisation: String(40)

- Description_Organisation: String(100)

- Adresse_Organisation: String(200)

+ Ajouter_Organisation() : void

+ Modifier_Organisation() : void

+ Consulter_Organisation() : void

+ Liste_Organisations() : void

Ressource

- Code_ressource: int

- Nom_Ressource: String(40)

- Libelle_Ressource: boolean

- Description_Ressource: String(100)

- Disponibil ité_ressource: boolean

- Date_ajout_ressource: DateTime

+ Ajouter_Ressource() : void

+ Affecter_Ressource() : void

+ Modifier_Ressource() : void

+ Liste_Ressources() : void

+ Consulter_Ressource() : void

+ Supperimer_Ressource() : void

Role_utilisat_projet

- Code_role: int

- Nom_role: String(40)

- Libellé_Role: String(60)

Date

- Date_evt: Datetime

- Libellé: String

+ Ajouter_date() : void

+ Modifier_Date() : void

Produire_Liv rable

- Date_ajout_livrable: DateTime

+ Ajouter_liv_tache() : void

+ Modifier_liv_tache() : void

+ partager_liv_tache() : void

+ Supprimer_liv_tache() : void

Equipe

- Code_equipe: int

- Nom_equipe: String(60)

- Description_equipe: String(200)

+ Ajouter_Equipe() : void

+ Modifier_Equipe() : void

+ Consulter_Equipe() : void

Produire_Livrable

Poste

Poste_Utilisat_Com

- Date_poste: Datetime

realiser_Util_tache

- Date_realisat: DateTime

Inv iter_Utilisat

- Date_invit: DateTime

Inv iter_Equipe

- Date_invit: DateTime

Emploie_Ress

- Date_emploie: DateTime

0..*

0..*

0..*

0..*

Aura l ieu 0..*

0..*

0..*

Appartient

0..1

0..*

Concerne

1

1

membre

1..*

1

Se Compose

1..*

0..*

1..*

0..*

0..*

0..*

0..*

Participe

0..*

0..1

Precede

1

1

Posséde

0..*

2Commence/ Finit

*

*2

0..*

0..*

0..*

*

2

0..1

Posséde

0..*

0..*

1

1

1..*

Page 125: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

108

Après cette étape qui consiste à détailler les différentes classes et définir les méthodes

correspondantes, nous passons à la conception de la base de données du système et le passage

au modèle relationnel.

5.8.2.2. Conception de la base de données

Le passage au modèle relationnel est la phase de conception du stockage des données

qui consiste à étudier sous quelle forme, les instances sont sauvegardées sur un support

physique. L’utilisation d’un SGBDR impose un changement de représentation entre la

structure des classes et la structure des données relationnelles. [ROQ07]

Ces deux structures ont des analogies, pour réaliser la transformation il existe certaines règles

à procéder.

Une classe définit une structure de données à laquelle souscrivent des instances ; elle

correspond donc à une table du modèle relationnel : chaque attribut donne lieu à une colonne,

chaque instance stocke ses données dans une ligne (T-uplet) et son OID1 sert de clé primaire.

[ROQ07]

Après avoir faire les transformations nécessaires en s’appuyant sur les règles de passage vers

le modèle relationnel, la base de données du système sera constitué des tables suivantes :

Utilisateur (Code_Utilisateur, Nom_Utilisateur, Prenom_Utilisateur, Login,

Sex_utilisateur, Email_Utilisateur, Password_Utilisateur,

Photo_utilisateur, Telephone_Utilisateur, SiteWeb_Utilisateur,

Foction_Utilisateur, #Code_equipe, #Code_Role)

Projet (Code_Projet, Titre_Projet, Description_Projet, Structure_Ratt_Projet,

Progression_Projet, #Code_Domaine)

Tâche (Code_tache, Priorité_tache, Libellé_tache, Description_tache,

Date_Debut_Prev_tache, Date_Fin_prev_Tache,

Avancement_tache, Etat_tache, #code_phase)

Phase (Code_phase, Nom_Phase, Libellé_Phase, Description_Phase,

Progression_Phase, Date_deb_prev_phase,

date_fin_prev_phase, #Code_projet)

Jalon (Code_jalon, Nom_jalon, Libellé_Jalon, Description_Jalon,

Date_Ajout_Jalon, Date_limite_Jalon, Priorité_Jalon,

#Code_phase)

Livrable (Code_livrable, Libellé_livrable, Description_livrable, Date_liv_Prév,

Nature_livrable, Emplacement_liv, #Code_tache)

1 OID : Object Identifier, Identificateur d’un objet.

Page 126: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

109

Ressource (Code_ressource , Nom_ressource, Libelle_Ressource,

Description_Ressource , Disponibilité_ressource,

Date_ajout_ressource)

Commentaire (Code_commentaire, Titre_commentaire, Enoncé_Commentaire,

Date_Commentaire)

Domaine (Code_Domaine, Nom_Domaine, Libellé_Domaine,

Description_Domaine)

Organisation (Code_Organisation, Nom_Organisation, Description_Organisation,

Adresse_Organisation)

Evenement (Code_Evenement, Nom_Evenement, Description_Evenement,

Date_Evenement, Lieu_Evenement, #Code_projet)

Espace (Code_Espace, Libellé_Espace, Descr_Espace, URL_Espace,

Emplacement_Espace, Taille_Espace)

Fonctionnalité (Code_Fonct, Nom_Fonct, Libellé_Fonct, Utilit_Fonct)

Role_utilisat_projet (Code_Role, Nom_Role, Libellé_Role, #Code_utilisateur,

#Code_projet)

Privilège (Id_privilége, Nom_privilege, Libellé_Role)

Equipe (Code_Equipe, Nom_Equipe, Description_Equipe)

Role_Privilege ( Code_Role, Code_Privilége)

Post_utilisat_com (Code_utilisateur, Code_commentaire, Code_tache, Date_post)

Produire_livrable (Code_utilisateur, Code_livrable, Code_tache, Date_ajout_livrable )

Realiser_Util_Tache (Code_utilisateur, Code_tache, Date_realisat)

Inviter_Utilisat (Code_utilisateur, Code_Evenement, Date_invit)

Inviter_Equipe (Code_Equipe, Code_Evenement, Date_invit)

Espace_Fonct (Code_Espace, Code_Fonct, DateAjout)

Emploie_Ress (Code_Tache, Code_Ressource, Date_Emploie)

Page 127: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 5: Analyse et Conception

110

5.9. Conclusion

Dans ce chapitre, nous avons identifié les besoins nécessaires pour notre projet. L’étude

fonctionnelle nous a permet d’identifier les différents intervenants et les fonctionnalités de

notre application et l’identification des classes candidates. L’étape de l’analyse nous a permet

d’optimiser l’ensemble des classes et les regroupés sous forme de package grâce au

découpage en catégorie.

Enfin, nous avons détaillés et épurés les différentes classes du système grâce à la

conception détaillée, pour passer à la conception de la base de données. Cette dernière étape

est primordiale pour l’élaboration du modèle relationnelle qui définit l’ensemble des tables de

la base de données de notre système.

Page 128: Plate-Forme pour la Gestion de Projets Collaboratifs

Chapitre 6: Implémentation et Déploiement

Contenu

6.1. Introduction ................................................................................................................. 112

6.2. Outils utilisés ............................................................................................................... 112

6.2.1. Plate-forme de base: « Liferay Portal 6.1» ........................................................... 112

6.2.2. Gestionnaire de documents : « Alfresco 4.0» ....................................................... 114

6.2.3. Outils de développement ....................................................................................... 115

6.3. Technologies utilisées .................................................................................................. 116

6.3.1. Technologies de la couche présentation ............................................................... 117

6.3.2. Technologies de la couche métier ......................................................................... 118

6.3.3. Technologies de la couche d’accès aux données .................................................. 118

6.4. Implémentation ............................................................................................................ 118

6.4.1. Création et personnalisation des espaces personnels et de l’espace collaboratif .. 118

6.4.2. Développement du portlet « Gestion de projets » ................................................. 119

6.4.3. Intégration de l’ECM « Alfresco » avec l’ECM « Liferay » ................................ 120

6.5. Tests et Résultats : Application au cas « OMAA » ..................................................... 122

6.6. Déploiement du système .............................................................................................. 128

6.7. Sécurité du système ..................................................................................................... 129

6.7.1. Authentification et identification des utilisateurs ................................................. 129

6.7.2. Gestion des rôles et des permissions .................................................................... 130

6.7.3. Sécurité du réseau par l’usage d’un Pare-feu ........................................................ 130

6.7.4. La disponibilité du système .................................................................................. 131

6.8. Conclusion ................................................................................................................... 132

Page 129: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

112

6.1. Introduction

Après avoir finir la conception de notre système, nous passons à l’étape de

réalisation. Dans ce chapitre, nous présentons les différents outils que nous avons utilisés pour

la réalisation de la plate-forme y est compris l’environnement et les technologies de

développement. Ensuite, nous décrivons les étapes à suivre pour l’implémentation du système

ainsi que les résultats obtenues, et pour finir, nous présentons un schéma illustrant les

ressources nécessaires pour le déploiement de la plate-forme et la sécurité du système.

6.2. Outils utilisés

6.2.1. Plate-forme de base: « Liferay Portal 6.1»

Afin d’assurer une solution de qualité, il nous fallait choisir une plate-forme de base

pour inclure les modules que nous allons développer. Pour ce faire, nous avons opté pour

l’ECM (Entreprise Content Management) Liferay.

6.2.1.1. Présentation de Liferay

Liferay Portal est un portail libre open source

distribué sous licence MIT destiné aux entreprises et

institutions qui fournissent un ensemble de solutions

nécessaires pour développer la communication et la

collaboration (portails clients, partenaires, espaces

collaboratifs, etc.). La société Liferay a été fondée l’an 2000 dans le but de développer un

portail abordable, proposant une alternative aux solutions commerciales souvent très chères.

Liferay Portal est une solution basée sur les standards de portails (JSR-168, JSR-268

WSRP) et les standards de développement J2EE (Java 2 Entreprise Edition) (Struts, Spring,

EJBs, JSF, Services web,…) permettant une intégration simplifiée dans l'infrastructure de

l'entreprise (indépendance des OS, bases de données et serveurs d'applications). Il est

également apprécié et reconnu pour sa richesse des fonctionnalités qu'il propose grâce à

une communauté très active. La solution Liferay est aujourd'hui considérée comme l’une des

meilleures solutions collaboratives open source dans marché.

6.2.1.2. Extensibilité de Liferay

Intégrant un nombre important de fonctionnalités élémentaires structurées selon des

thématiques, Liferay permet une extensibilité par l’ajout des modules respectant des normes

et des standards. Les extensions d’un portail sont appelées portlets.

Figure 51: LOGO Liferay Portal.

Page 130: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

113

Définitions de quelques composants et standards liés au développement de portails:

Portlet

Selon Wikipédia, « un 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 une page

Web et qui est souvent émis par des servlets. Un 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 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.) ». [WEB05]

Figure 52: Vue des portlets d'une page de portail. [SAR12]

Conteneur du portlet

Il représente l’environnement de vie d’un portlet. Il a comme rôle de gérer le cycle de

vie d’un ensemble de portlets qui se situent dans une même page dans le portail. Dans ce cas,

chaque portlet est représenté par une instance ayant un identifiant.

Page 131: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

114

Figure 53: Architecture technique d'un portlet. [SAR12]

Un portlet est donc un composant web unitaire s'intégrant au sein d'un conteneur.

Chaque portlet est indépendant des autres et peut être imaginé comme une application WEB

au sens J2EE. Les portlets se basent sur des APIs définies par les spécifications JSR-168 et

JSR-286. Ces spécifications étendent (ou dupliquent) l’API des servlets.

Pour plus d’informations sur le portail Liferay et les standards JSR-168 et JSR-286,

voire l’Annexe C.

6.2.2. Gestionnaire de documents : « Alfresco 4.0»

Afin de permettre une meilleure gestion du contenu pour notre système, nous avons

prévu la mise en place d’un système de gestion électronique des documents. Pour ce faire,

nous avons opté pour l’ECM Alfresco.

6.2.2.1. Présentation d’Alfresco

Alfresco est un ECM open source utilisant des

standards ouverts, et basé sur la technologie J2EE. Il permet

de gérer les documents électroniques (GED) au sein d’une

entreprise et fournit des services de recherche et de

catégorisation du contenu.

Alfresco est développé selon une architecture moderne qui utilise les derniers outils

open source pour optimiser les performances, et la Programmation Orientée Aspects

(POA) facilitant ainsi la modularité et l’adaptabilité de l’application.

Figure 54: LOGO Alfresco.

Page 132: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

115

Alfresco est disponible en deux versions : Une version « Community », gratuite, sous

licence GPL et une version « Entreprise », qui nécessite une souscription annuelle et donne

accès à la garantie de l’éditeur, ainsi qu’aux mises à jour intermédiaires. Il dispose d’une

forte dynamique de développement, ainsi que d’une communauté d’utilisateurs et de

développeurs importantes. Alfresco présente plusieurs avantages, à savoir : [CHO10]

Une orientation résolument collaborative à la fois au niveau des fonctions et des

interfaces.

Une architecture fonctionnelle et technique de bon niveau, lui permettant de se

positionner sur des GED de très grandes organisations.

les règles de gestion, directement accessibles aux utilisateurs, leur permettent de

déporter une part des aménagements fonctionnels au niveau des gestionnaires et non

plus des développeurs ou des administrateurs

Un module de Record Management (de gestion d’archives) basé sur la norme

américaine DoD 5015.02.

Une visibilité très importante sur la scène internationale, du fait de sa communication,

de son activité marketing et du grand nombre de clients.

L’intégration d'Alfresco avec l’ECM Liferay se fait à l’aide d’un portlet client

disponible dans Liferay permettant de se connecter au serveur Alfresco.

6.2.3. Outils de développement

6.2.3.1. Environnement de développement : « Eclipse IDE Indigo»

Eclipse IDE (Integrated Development Environment) est un

environnement de développement libre permettant de créer des

programmes dans de nombreux langages de programmation (Java,

C++, PHP…). La caractéristique essentielle d’Eclipse est

l’extensibilité de l’environnement. Plus que de se focaliser sur un

environnement de développement Java, les concepteurs d’Eclipse

se sont efforcés avant tout de créer un socle applicatif sur lequel

viennent se greffer des modules et/ou plugins. La version Eclipse IDE pour JAVA EE 6

support : un éditeur graphique JSP/ JSF/ HTML, les outils de gestion de base de données, et

support la plupart des serveurs d'application.

6.2.3.2. La plate-forme de développement « Java JEE 6.0»

La plate-forme Java Entreprise Edition (ou JEE, anciennement

J2EE) est une référence pour le développement d’applications. Elle

propose un développement simplifié, rapide et robuste reposant désormais

sur la configuration par annotations, directement dans les fichiers sources.

La version 6 sortie en 2009 proposait 28 spécifications (JSR) pour la

facilité d’utilisation de la plate-forme. Les Entreprises JavaBeans (EJBs)

Figure 55: LOGO Eclipse.

Figure 56: LOGO

Java.

Page 133: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

116

permettaient de gérer la couche métier d’accès aux données alors que les servlets et les JSP

permettaient de développer les applications serveur.

6.2.3.3. Serveur d’application « Apache Tomcat 7.0 »

Apache Tomcat est un serveur d’application Java JEE open

source issu du projet Jakarta. Il ne constitue qu'un conteneur web, et

non un serveur Web à part entière : il gère spécifiquement les servlets

et les JSP (un compilateur Jasper compilant les pages JSP pour en faire

des servlets). Il est souvent combiné avec un serveur Web Apache ou

d'autres serveurs Web (JBoss, IIS,WebSphere,…etc).

Tomcat a été écrit en langage Java. Il peut donc s'exécuter via la

machine virtuelle Java sur n'importe quel système d'exploitation la

supportant.

6.2.3.4. SGBD « MySQL 5.1 »

MySQL est l’un des systèmes de gestion de base de données

libres les plus utilisés au monde, autant par le grand public que par

des professionnels.

MySQL est un serveur de bases de données relationnelles SQL

développées dans un souci de performances élevées en lecture,

multi-thread et multi-utilisateurs, il fonctionne sur de nombreux systèmes d'exploitation

différents incluant Linux, Mac OS X, Solaris, Unix, et Windows. [WEB21]

6.3. Technologies utilisées

Nous avons consacré cette partie pour citer les différents outils technologiques que nous

avons utilisés dans le développement de notre application. Avant de commencer, nous

donnons quelques notions préliminaires.

Framework : Ce mot désigne un ensemble de classes destinées à réaliser une fonction

ou rendre un service, et ce, de manière réutilisable. La définition donnée dans

l’ouvrage Design Patterns : « Un framework est un ensemble de classes qui coopèrent

et permettent des conceptions réutilisables dans des catégories spécifiques de logiciels.

». [MOL05]

La notion de conteneur léger : Le conteneur léger fournit un support simple mais

puissant pour gérer une application via un ensemble de composants, c’est-à-dire des

objets présentant une interface, dont le fonctionnement interne n’a pas à être connu

des autres composants. Le conteneur léger gère le cycle de vie des composants

(création, destruction), mais aussi leurs interdépendances (tel composant s’appuie sur

un autre pour fonctionner). [COG09]

Figure 58: LOGO MySQL.

Figure 57: LOGO

Apache Tomcat.

Page 134: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

117

Le conteneur léger permet d’avoir des applications plus portables, c’est-à-dire

parfaitement indépendantes du serveur d’applications, car l’application vient avec son

propre conteneur, qui lui fournit l’infrastructure dont elle a besoin. [COG09]

Le Modèle MVC : Le modèle MVC (Modèle-Vue-Contrôleur) est une architecture de

programmation qui propose de séparer une application en trois parties :

Le modèle : Il contient la logique et l’état de l’application, il correspond à la

couche « métier » et « accès aux données » dans l’architecture 3-tièrs.

La vue : Elle représente l’interface utilisateur, elle correspond à la couche

« présentation » dans l’architecture 3-tièrs.

Le contrôleur : Il gère la synchronisation entre la vue et le modèle.

Figure 59: Modèle MVC.

Les technologies que nous avons utilisées pour le développement de notre système par

couche sont les suivantes :

6.3.1. Technologies de la couche présentation

Cette couche représente l'interface web qui permet à l'utilisateur d’utiliser l'application.

Dans notre application nous avons utilisé la technologie JSP 2.0 (Java Server Pages). Une

page JSP ressemble beaucoup à une page HTML à laquelle on a ajouté du code Java

encapsulé dans des balises spéciales.

Page 135: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

118

6.3.2. Technologies de la couche métier

Pour le développement de la couche métier, nous avons choisi le framework

SpringMVC 3.0. C’est un conteneur léger. Il prend donc en charge la création d'objets et la

mise en relation d'objets par l'intermédiaire d'un fichier de configuration qui décrit les objets à

fabriquer et les relations de dépendance entre ces objets.

Le gros avantage par rapport aux serveurs d'application est qu'avec Spring, les classes

n'ont pas besoin d'implémenter une quelconque interface pour être prises en charge par le

framework (au contraire des serveurs d'applications J2EE). C'est en ce sens que Spring est

qualifié de conteneur « léger ».

6.3.3. Technologies de la couche d’accès aux données

Cette couche s’occupe de l’accès et la persistance1 des données au niveau des SGBD.

La solution que nous avons choisie est le framework « Hibernate », c’est le plus puissant et

dominant sur le marché de la persistance java. « Il permet de faire le mapping objet-

relationnel qui désigne l’interaction transparente entre le cœur d’une application, modélisée

en conception orientée objet, et une base de données relationnelles ». [PAT05]

Après la présentation des différents outils et technologies, nous expliquons dans la

section suivante les étapes et la démarche adoptées pour réaliser notre solution.

6.4. Implémentation

Afin de réaliser notre système, le travail consiste, en premier temps, à créer dans le

portail Liferay un espace personnel pour chaque acteur du système et un espace de

collaboration pour l’équipe du Laboratoire de recherche. En deuxième temps à développer un

portlet dédié à la gestion de projets de recherche que nous avons nommée « Gestion de

Projets ». Ce portlet sera déployé et utilisé par la suite dans le portail Liferay. La dernière

étape consiste à intégrer l’ECM « Alfresco » avec l’ECM « Liferay » en déployant le portlet

d’Alfresco dans le serveur Liferay.

6.4.1. Création et personnalisation des espaces personnels et

de l’espace collaboratif

6.4.1.1. Création et personnalisation des espaces personnels

Pour créer des espaces personnels pour chaque acteur de notre système, nous avons

d’abord commencé par la création des comptes utilisateurs pour chaque acteur dans le portail

Liferay. Ensuite, nous avons créé un espace pour chaque compte utilisateur. Pour chaque

espace créé, nous avons défini deux types de pages : des pages publiques, accessible par tous

les utilisateurs du portail, et des pages privées : accessibles que par l’utilisateur de cet espace.

1 Écriture de données sur un support informatique.

Page 136: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

119

Après, nous avons procédé à la personnalisation de ces pages en modifiant leur disposition et

rajoutant les portlets de collaboration vu dans la thématique « Gestion de l’espace

personnel » dans le chapitre Analyse et Conception (Profil, Blog, Mail, Agenda personnel).

6.4.1.2. Création et personnalisation de l’espace collaboratif

Pour créer un espace collaboratif pour l’équipe de recherche, nous avons d’abord établi

une organisation, nommée « EIAH », dans le portail Liferay. Ensuite, nous avons mis en

place un espace pour cette organisation. Par suite nous avons défini deux types de pages pour

cet espace : des pages publiques, accessible à toutes les personnes y compris les utilisateurs et

les invités, et des pages privées, accessible aux membres de l’équipe. Nous avons ensuite

personnalisé ces pages en modifiant leurs dispositions et en rajoutant les portlets de

collaboration cités dans la thématique « Gestion de l’espace collaboratif » dans le chapitre

« Analyse et Conception du système » (Messagerie instantané, Forum, FAQ, Gestionnaire de

documents, Wiki, Moteur de recherche, Agenda partagé).

Une fois l’espace collaboratif est créé est personnalisé, nous avons établi un groupe nommé

« EIAH » et affecté par la suite les utilisateurs du système à ce groupe auquel est rattachée

l’organisation « EIAH ».

6.4.2. Développement du portlet « Gestion de projets »

Pour le développement du portlet « Gestion de projets » nous avons suivi les étapes

suivantes :

- Le développement de la couche « métier » : pour ce faire, nous avons créé les

différentes classes issues du modèle de digramme de classes détaillées vues dans la

phase de la conception détaillée de notre système en utilisant le langage « Java JEE».

- La création de la base de données de la plate-forme : on se basant sur le modèle

relationnel établi à la fin de la conception détaillée, nous avons créés les différentes

tables de la base de données en utilisant le langage SQL (Structured Query Language)

dans l’SGBD « MySQL ».

- La création des classes de la couche « accès aux données » : Pour chacune des classes

de la couche « métier » nous avons fait correspondre une classe de la couche « accès

aux données ». Pour le développement de cette couche, nous avons utilisés le

framework « Hibernat » et le language « HQL (Hibernate Quary Language) » afin de

pouvoir interroger la base de données. De même, nous avons créé les classes de la

couche « service » et nous avons fait correspondre chacune des classes de cette couche

à l’une des classes de la couche « métier ». Cette couche joue le rôle d’une passerelle

entre la couche « accès aux données » et les classes de contrôle.

Page 137: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

120

- Le développement des vues et des formulaires pour la couche « présentation » : Pour

ce faire, nous avons utilisé le langage JSP (Java Server Pages) qui utilise les scriptes

HTML, CSS et JavaScript ainsi que les tags.

- Le développement des classes de contrôle pour chaque vue de la couche

« présentation » en utilisant le framework « Spring ». Ces classes servent à récupérer

et contrôler les données depuis la couche et vers celle-ci « présentation ».

- Le déploiement du portlet dans le serveur Liferay que nous avons ajouté par la suite à

l’espace collaboratif pour la mise en disposition aux chercheurs.

6.4.3. Intégration de l’ECM « Alfresco » avec l’ECM

« Liferay »

Afin de mettre en place le gestionnaire de documents « Alfresco » pour notre système,

nous l’avons installé sur un autre serveur. Ensuite, nous avons configuré dans le portail

Liferay un portlet client pour qu’on puisse se connecter au serveur d’Alfresco et utiliser les

services de la GED.

La figure suivante présente l’architecture technique de de notre solution :

Page 138: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

121

Figure 60: Architecture technique de notre solution.

Page 139: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

122

6.5. Tests et Résultats : Application au cas « OMAA »

Nous présentons dans cette section les tests et résultats que nous avons effectués sur

notre application afin s’assurer de son fonctionnement. Nous avons utilisé les données du

projet « OMAA » pour simuler et afficher les résultats des tests.

L’espace collaboratif

Une fois le chercheur est authentifié, il sera redirigé vers l’espace collaboratif de son

équipe. Cet espace contient les modules : gestion de projets, agenda partagé, forum, FAQ,

Wiki et le gestionnaire de documents.

Figure 61: L'espace collaboratif d'une équipe de recherche.

L’espace personnel

Chaque chercheur possède sur la plate-forme un espace personnel qui contient son

profil, son blog, un agenda personnel pour ses évènements et un courrier pour consulter son

mail.

Page 140: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

123

Figure 62: L'espace personnel d'un chercheur.

Page d’accueil du portlet « Gestion de Projets »

Quand un chercheur accède à la page « Gestion de projets », le portail lui affiche la

page d’accueil du portlet « Gestion de projets ». Cette page contient un menu vertical,

l’ensemble des projets dont il fait partie, l’ensemble de tâches assignées ainsi que les

événements et les notifications.

Page 141: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

124

Figure 63: Page d'accueil du portlet « Gestion de projets ».

Consultation d’un projet

En sélectionnant un projet dans la page d’accueil, le portail affiche les détails de ce

projet. Un nouveau menu horizontal est apparu pour faciliter la navigation entre les entités qui

caractérisent le projet sélectionné (phases, tâches, évènement, etc.).

Figure 64: Les détails du projet « OMAA ».

Page 142: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

125

Consultation d’une phase

Après la sélection d’une phase dans les détails du projet « OMAA », le portail affiche

une page contenant les détails de cette phase, l’ensemble de ces tâches, ces jalons et ces

livrables ainsi que le diagramme de Gantt illustrant la répartition des tâches de cette phase

dans le temps.

Figure 65: Détails d'une phase du projet « OMAA ».

Consultation d’une tâche

Un membre du projet « OMAA » peut visualiser les détails, les livrables et les

ressources nécessaire pour accomplir les tâches dont il est responsable. Il peut également voir

les autres membres qui réalisent la même tâche et laissent un commentaire concernant cette

tâche.

Page 143: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

126

Figure 66: Les détails d’une tâche du projet « OMAA ».

Diagramme de Gantt du projet

Le chef de projet peut visualiser la réparation des différents phases et tâches dans le

temps en planifiant leurs délais à l’aide d’un diagramme de Gantt.

Page 144: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

127

Figure 67: Diagramme de Gantt du projet « OMAA »

Création d’un nouveau projet

En cliquant sur « Créer un projet » dans le menu verticale, le portail lui affiche une page

contenant un formulaire pour la création d’un nouveau projet.

Page 145: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

128

Figure 68: Formulaire de création d'un nouveau projet.

6.6. Déploiement du système

Après l’implémentation du système et la vérification de son fonctionnement à travers

les tests, nous passons à l’étape de son déploiement. La figure suivante représente le modèle

de déploiement UML, qui permet d’exprimer tous les besoins et les entités matériels et

logiciels nécessaires pour le fonctionnement du système.

Page 146: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

129

Figure 69: Modèle de déploiement de notre système.

6.7. Sécurité du système

La sécurité du système d’information est un besoin fondamental pour toute organisation

et spécialement lorsque ses applications se présentent comme étant un point central

d’entrée (Portail). Les mécanismes de sécurité et cherchent à renforcer l’accessibilité au

système d’information via ses applications et aux ressources demandées. Nous présentons

dans ce qui suit quelques politiques et stratégies pour assurer une meilleur sécurité pour notre

portail.

6.7.1. Authentification et identification des utilisateurs

L’authentification se présente comme étant un point central et incontournable pour la

sécurité du portail, visant à définir les droits de l’utilisateur au sein de la plate-forme ainsi que

les permissions qui lui sont attribuées sur des ressources spécifiques.

Le portail Liferay supporte l’intégration des annuaires LDAP (Lightweight Directory

Access Protocol) et Active Directory pour le déploiement d’une authentification utilisateur

avancée. L’authentification est également assurée via un mécanisme de SSO (Single

Page 147: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

130

Sign On) ou appelé « Authentification unique » qui permet une authentification unique des

différentes applications déployées sur la même plate-forme. L’accès à l’application est

alors transparent et l'utilisateur n’aura pas l’obligation de s’identifier à nouveau lors de la

connexion à une application.

6.7.2. Gestion des rôles et des permissions

Liferay propose une politique de sécurité basée sur les rôles et les permissions. Une

permission est une action sur une ressource. Les permissions peuvent avoir plusieurs niveaux:

[YUA10]

Les permissions au niveau du portail : elles peuvent être assignée à aux

entités du portail (utilisateurs, groupes d’utilisateurs, communautés et

organisations).

Les permissions au niveau d’une page du portail : elles peuvent être

assignées à la personnalisation aux changements de disposition des pages.

Les permissions au niveau du groupe : elles peuvent être assignées aux

organisations et aux communautés. Les permissions du modèle peuvent être

assignées aux ressources du portail (blogs, contenu web, etc.).

Les permissions au niveau d’un portlet : elles peuvent être assignées aux

portlets (consultation des portlets, configuration des portlets, etc.).

Un rôle regroupe un ensemble de permissions. Il peut être assigné à un utilisateur, un

groupe d’utilisateurs, communauté, location ou une organisation. Si un rôle est assigné à un

groupe, communauté, organisation ou location, tous les utilisateurs qui font partie de l’entité

concernée reçoivent les permissions de ce rôle. [YUA10]

Liferay propose également un ensemble de rôles prédéfinis. Toutefois, il permet aux

administrateurs de définir des rôles spécifiques à leurs organisations.

6.7.3. Sécurité du réseau par l’usage d’un Pare-feu

Un pare-feu (en anglais : firewall) est un système permettant de protéger un réseau ou

un ordinateur contre des intrusions provenant d’un tiers (personne mal intentionnée, vers

etc.). L’utilisation des pare-feux pour sécuriser les infrastructures réseaux est devenu

incontournable dans toute organisation, vu la confidentialité des données qu’elle contient, et

la multitude des attaques et des programmes malveillants qui viennent de l’extérieurs.

Au niveau de notre école, c’est le firewall « Astaro » qui est utilisé c’est un outil

logiciel, ils existent aussi des firewalls sous forme matériel (par exemple Cisco PIX, ASA).

Le schéma suivant présente l’architecture de l’infrastructure réseau :

Page 148: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

131

Figure 70 : Architecture physique du réseau.

6.7.4. La disponibilité du système

Pour faire face aux contraintes liées à la disponibilité du système d’information, du

réseau, des applications et des données, chaque actif du système d’information doit être

individuellement protégé, nous citons ci-dessous quelques stratégies qui permettent de

garantir la haute disponibilité du système au sein de l’infrastructure réseau :

La disponibilité des données : stockage, sauvegarde et récupération, archivage

Plusieurs technologies de stockage de données permettent aujourd’hui de s’adapter aux

besoins de réseau répartis en architecture client-serveur, reliant des serveurs hétérogènes.

Le stockage en réseau ou architecture SAN (Storage Area Network) et le cluster avec

basculement qui a pour principe de contenir plusieurs serveurs ayant un rôle identique.

« Si l’un des serveurs (appelés nœud du cluster) devient indisponible, le système de cluster

bascule automatiquement vers un autre nœud disponible. Cela se fait sans aucune intervention

des administrateurs, ce qui limite alors la durée d’indisponibilité d’une application ».

[DEM09]

La disponibilité des systèmes: redondance et haute disponibilité

Les serveurs en cluster et la virtualisation des serveurs sont les solutions présentes sur le

marché des constructeurs de matériels informatique et éditeurs de logiciels.

La disponibilité des réseaux : redondance des équipements de réseau

Cette disponibilité est globalement assurée par la mise en œuvre d’équipements

redondants (cœurs de réseau, commutateurs, liaisons physiques doublées…).

Page 149: Plate-Forme pour la Gestion de Projets Collaboratifs

Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement

132

6.8. Conclusion

Nous avons présenté à travers ce chapitre les différents outils que nous avons utilisé

dans la réalisation de notre plate-forme. Ensuite, nous avons expliqué les étapes de

l’implémentation de notre solution et de son déploiement. Enfin, nous avons donné quelques

outils et conseils pour assurer la sécurité et la disponibilité du système.

Page 150: Plate-Forme pour la Gestion de Projets Collaboratifs

Conclusion générale et Perspectives

133

Conclusion générale et Perspectives

Notre projet consiste en la conception et le développement d’une plate-forme pour la

gestion de projets collaboratifs au sein des laboratoires de recherche. Pour ce faire, nous

avons structuré notre travail, en trois parties, de la manière suivante :

Dans la première partie, nous avons effectué une étude bibliographique sur le concept

de la collaboration et la gestion de projets, recensé les plates-formes de collaboration récentes

et les plus répandues dans les entreprises et les institutions. Nous avons pu constater que :

- Une large gamme d’outils collaboratifs existants n’est pas encore utilisée dans

les laboratoires de recherche.

- Il n’existe pas de plates-formes destinées aux chercheurs scientifiques qui

regroupent des outils de travail collaboratif nécessaires.

- Il y a aussi un manque dans les outils de gestion de projets qui peut être

interopérable avec ces outils de collaboration.

Pour pallier à ces besoins et insuffisances, nous avons opté pour la solution de portail

qui permet de doter les chercheurs d’un espace riche offrant un ensemble d’outils performants

pour une collaboration efficace et productive. Une fois assuré l’aspect collaboratif grâce aux

moyens disponibles, nous avons centralisé notre travail sur le volet gestion de projet, pour

aider les chefs d’équipes à mieux piloter leurs projets et permet aux différents membres de

voir l’état d’avancement du projet.

Dans la deuxième partie, nous avons entamé l’analyse et la conception du système,

identifié et étudié tous les flux d’information et les procédures de gestion de projet dans un

laboratoire de recherche (Cas : LMCS) dans la phase d’étude préliminaire. Puis, nous avons

spécifié les différentes exigences fonctionnelles et techniques. Après avoir recensé tous nos

besoins, nous avons réalisé la conception du système de gestion de projet, par la description

de tous les volets statique et dynamique de la gestion de projets de recherche en s’appuyant

sur une gamme d’outils du langage UML.

La dernière partie de notre travail a fait l’objet de la mise en œuvre du système et son

déploiement. Nous avons pu construire tous les modules principaux de la gestion de projets à

savoir : la gestion des phases, des jalons, des tâches ainsi que la planification des événements

et l’affectation des ressources. Nous avons doté le système d’un diagramme de Gantt qui

permet de visualiser l’état d’avancement du projet à chaque instant.

D’après les membres de l’équipe travaillant sur le projet « OMAA », notre plate-forme

répond bien à leurs besoins en termes de collaboration et gestion de ce projet. Notre solution

n’est pas définitive, mais elle répond en général aux besoins de tout projet de recherche

collaboratif, vu qu’elle contient les outils atouts de la collaboration et du KM ainsi que le

pilotage et la gestion des projets.

Afin d’améliorer et d’enrichir notre travail, plusieurs perspectives peuvent être

envisagées. Nous pouvons citer à titre d’exemple :

Page 151: Plate-Forme pour la Gestion de Projets Collaboratifs

Conclusion générale et Perspectives

134

Un tableau de bord d’aide à la décision et du pilotage des projets. Il permet au chef de

projets de reconnaitre : les tâches et les livrables qui dépassent leurs délais de

réalisation, le taux d’activité pour chaque membre, ainsi que son attitude tout au long

du projet.

Un workflow défini pour l’équipe concernée, permettant une gestion meilleure des

tâches et des activités dans le processus projet.

Notre école dispose d’une Plate-forme e-learning (moodle) pour les enseignants et les

étudiants, atout capital pour les déroulements de différentes études, pour cela, il serait

bien d’avoir un portlet qui permet un accès total à la plate-forme moodle via notre

portail.

Un portlet pour la gestion des stages et de projets de fin d’étude au sein du portail

s’avère intéressant pour faciliter le suivi et l’encadrement des étudiants à l’extérieur et

au sein de l’école, ainsi que d’alléger la charge d’encadrement pour les enseignants.

Enfin, nous tenons à préciser que grâce à ce projet de fin d’études, nous avons beaucoup

appris sur le domaine de la collaboration qui est devenu un enjeu très important pour les

organisations avec ses outils différents, et sur la gestion de projets, car la réalisation de ce

travail nous a permis d’exploiter et de mettre en place les connaissances acquises pour mieux

gérer notre projet et atteindre les objectifs visés. En plus, nous avons eu la chance de

découvrir et de travailler sur l’une des technologies les plus récentes, qui est « Les portlets».

Notre outil est parmi les premières contributions dans le développement des portlets de

gestion de projet pour le portail Liferay.

Page 152: Plate-Forme pour la Gestion de Projets Collaboratifs

Références

135

Références

Bibliographie

[AYE10] Chekib AYED, « Mise en place du portail internet et développement de

téléprocédures », Juin 2010.

[BAL04] Gilles BALMISSE, « Les nouveaux outils et technologies du travail

collaboratif : produire, communiquer, coordonner facilement » , 2004

[BEN04] Alain BENSOUSSAN, « Livre Blanc de la Gestion des Connaissances –

Par : Le Groupe de travail "Gestion des connaissances" » , GFII :

Groupement Français de l’Industrie de l’Information, 2004.

[BOU06] Gilles BOULET, « Eléments De Gestion De Projet », mai 2006.

[CAR10] David CARUANA, John NEWTON, Michael FARMAN, Michael G.

UZQUIANO, Kevin ROAST, « Professional Alfresco: Practical Solutions for

Enterprise Content Management », Wiley Publishing, 2010

[CHA08] Claire CHAUMETTE, Delphine DESBIENS, « Typologie des systèmes

d’information : Le travail collaboratif », Université de Lille 3, 2008.

[CHO10] Thomas CHOPPY, Patrick NERDEN, « Livre blanc: GED open source »,

SMILE open source solutions, 2010.

[CLE06] CLEVERAGE, « Livre Blanc : Le Portail d’Intégration Liferay », Novembre

2006, Version 1.0

[COG09] Arnaud COGLUEGNES, Thierry TEMPLIER, Julien DUBIOS, Jean-

Philippe RETAILLE, « SPRING par la pratique », Edition Eyrolles, 2009.

[COL04] Richard D. COLLIN, Serge LEVAN, Gilles BALMISSE, « Les enjeux et la

réalité française du travail collaboratif et des communautés de pratiques »,

Livre blanc publié à l'occasion de la conférence de presse du KM Forum,

2004.

[COR04] Jean-Michel CORNU, « La coopération, nouvelles approaches », version 1.2,

2004.

[DEM09] T.DEMAN, F.ELMALEH, M.CHATEAU, S.NEILD,

« Windows Server 2008, Administration avancée », ENI Editions, 2009.

[DJA08] Karim DJAAFAR, « Développement JEE5 avec Eclipse Europa », Edition

Eyrolles, 2008.

[DUB08] Nancy DUBOIS, Tricia WILKERSON, « Gestion des connaissances : un

Page 153: Plate-Forme pour la Gestion de Projets Collaboratifs

Références

136

document d’information pour le développement d’une stratégie de gestion

des connaissances pour la santé publique », préparé pour le Centre de

Collaboration Nationale des Méthodes et Outils, Octobre 2008.

[DUG08] Martin Roulleaux DUGAGE, « Organisation web 2.0 : Le knowledge

management nouvelle génération », Editions Eyrolles, 2008.

[EXO11] EXO MEA, « Livre Blanc : Portail D’Entreprise Open Source», Juillet 2011.

[FRA03] Jean-Marc FRAYRET, François D’AMOURS, Sophie D’AMOURS, Projet

du CEFRIO Intitulé : « Outils Collaboratifs pour la PME Manufacturière »,

2003.

Source:

www.forac.ulaval.ca/fileadmin/docs/Publications/Collaboration_Outils.pdf

[GAB08] Joseph GABAY, David GABAY, « UML2 : Analyse et conception », Edition

Dunod, 2008.

[GHO10] Abdessamed Réda GHOMARI, « Cours Mangement des Connaissances,

Option : SIC, Ecole Doctorale STIC, ESI», Chapitre1, 2010.

[GON11] Isabelle GONON, « Travail collaboratif à distance », janvier 2011.

[HAD07] Hocine HADJ-AMAR, Kamel NACERBEY, « Conception et réalisation

d’un si pour la gestion du fond documentaire du laboratoire de recherche

LMCS-INI », Mémoire pour l’obtention du diplôme d’ingénieure d’état en

informatique, INI, Alger ,2007.

[IKU95] Ikujiro NONAKA, Hirotaka TAKEUCHI, «The Knowledge-Creating

Company », Oxford University Press, mai 1995.

[LAV08] Gomez LAVOCAT, Jean CHRISTOPHE, «Outils de Knowledge

Management » ; Avril 2008, (résumé de lecture).

[LEV04] Serge K. LEVAN, « Travail collaboratif sur Internet. Concepts, méthodes et

pratiques des plateaux projet », Edition Vuibert, 2004.

[MOL05] Jérôme MOLIERE, « Les cahiers du programmeur J2EE », Edition Eyrolles,

2005.

[MOR08] Chantal MORLEY, « Management d’un projet système d’information :

Principes, techniques, mise en œuvre et outils », Edition DUNOD, 6éme

édition, 2008.

[MUL05] Jean-Louis G. MULLER, « Management de projet », AFNOR, 2005.

Page 154: Plate-Forme pour la Gestion de Projets Collaboratifs

Références

137

[PIQ09] Alexandre PIQUET, « Guide pratique du travail collaboratif : Théories,

Méthodes et outils au service de la collaboration », Août 2009.

[PMI08] « Le Guide du Corpus des connaissances en management de projet (Guide

PMBOK) »,Quantième Edition.

Publié par : Project Management Institute (PMI), 2008.

[PRI06] Jacques PRINTZ, « Architecture logicielle », Edition Dunod, 2006.

[REG08] Franck REGNIER-PECASTAING, Michel GABASSI, Jacques FINET

« MDM : Enjeux et méthodes de la gestion des données », Edition DUNOD/

Logica, 2008.

(Le Prix AFISI 2009 du meilleur livre informatique en français récompense

Logica Management Consulting et EDF/GDF SUEZ)

[ROQ07] Pascal ROQUES, Franck VALLEE, « UML 2 en action : De l’analyse des

besoins à la conception », Edition Eyrolles, 4ème

Edition, 2007.

[ROQ08] Pascal ROQUES, « UML2 : Modéliser une application web », Edition

Eyrolles, 4ème

Edition, 2008.

[SAR09] Poornachandra SARANG, « Practical Liferay : Java™-based Portal

Applications Development », Edition Apress, 2009.

[SAR12] Ashish SARIN, « Portlets in Action », Manning Publications, 2012.

[SEZ10] Richard SEZOV, « Liferay In Action », Manning Publications, 2010.

[TAH06] Serge TAHE, « Les bases du développement web MVC en Java, par

l’exemple », istia.univ-angers.fr, 2006. [P2]

[YUA10] Jonas X.YUAN , « Liferay Portal 6 : Entreprise Intranets », Packt Publishing,

April 2010.

Page 155: Plate-Forme pour la Gestion de Projets Collaboratifs

Références

138

Webographie

[WEB01] « Définition : Travail »,

http://www.toupie.org/Dictionnaire/Travail.htm

Consulté le : 21/08/2012

[WEB02] « Définition du travail »,

http://www.olats.org/schoffer/deftrav.htm

Consulté le : 21/08/2012

[WEB03] « Pas de travail collaboratif sans collaboration »,

http://www.travailcollaboratif.info/decouvrir-le-travail-collaboratif-et-le-

plm/qu-est-ce-que-le-travail-collaboratif.html

Consulté le : 21/08/2012

[WEB04] « Ce que travail collaboratif veut dire... »,

http://travailcollaboratif.typepad.com/

Consulté le : 21/08/2012

[WEB05] « Portlet - Wikipédia »,

http://fr.wikipedia.org/wiki/Portlet.

Consulté le : 02/09/2012

[WEB06]

« Travail collaboratif : définition et outils »,

http://polenumerique.ac-creteil.fr/Travail-collaboratif-definition-et

Consulté le : 22/08/2012

[WEB07] « Définir le travail collaboratif »,

http://www.travailcollaboratif.info/decouvrir-le-travail-collaboratif-et-le-

plm/qu-est-ce-que-le-travail-collaboratif.html

Consulté le : 22/08/2012

[WEB08] « Collaboration ou coopération? »,

http://www.teluq.uquebec.ca/tec6385/trousse/A3c.htm

Consulté le : 25/08/2012

Page 156: Plate-Forme pour la Gestion de Projets Collaboratifs

Références

139

[WEB09] « Le travail collaboratif »,

https://fr.wikiversity.org/wiki/R%C3%A9daction_collective_de_documents/L

es_caract%C3%A9ristiques

Consulté le : 22/08/2012

[WEB10] « Définir et repérer l’intelligence collective »,

http://isdm.univ-tln.fr/PDF/isdm28/isdm28-zaibet.pdf

Consulté le : 22/08/2012

[WEB11] « Management de la Connaissance »,

http://www.ecogesam.ac-aix-marseille.fr/revue/N2tmp/KM/#SO

Consulté le : 25/08/2012

[WEB12] « Management de la Connaissance »,

https://fr.wikipedia.org/wiki/Gestion_des_connaissances

Consulté le : 26/08/2012

[WEB13] « Gestion des connaissances »,

http://www.polia-consulting.com/Knowledge-Management.html

Consulté le : 26/08/2012

[WEB14] « Gestion des connaissances »,

http://travailcollaboratif.typepad.com/methode_main/2006/11/5_conditions_d

e.html

Consulté le : 28/08/2012

[WEB15] « Définition Plateau virtuel »,

http://www.agrojob.com/dictionnaire/definition-plateau-virtuel-3636.html

Consulté le : 28/08/2012

[WEB16] « Définition de l’information, Informatique »,

http://www.larousse.fr/dictionnaires/francais/information/42993

Consulté le : 31/08/2012

Page 157: Plate-Forme pour la Gestion de Projets Collaboratifs

Références

140

[WEB17] «Qu’est-ce qui différencie une connaissance ou un savoir d’une information?»

http://blog.knowledgeplaza.net/index.php/2012/04/laissez-de-la-place-au-

hasard-et-au-desordre-dans-votre-systeme-dorganisation/

Consulté le : 01/09/2012

[WEB18] « Présentation LMCS »,

http://lmcs.esi.dz/

Consulté le : 28/03/2012

[WEB19] «Diagramme de déploiement »,

http://uml.free.fr/cours/p17.html

Consulté le : 20/07/2012

[WEB20] « Free Software Foundation »,

http://fr.wikipedia.org/wiki/Free_Software_Foundation

Consulté le : 07/09/2012

[WEB21] « MySQL - Wikipédia »

http://fr.wikipedia.org/wiki/MySQL

Consulté le : 07/09/2012

[WEB22] « Plate-forme collaborative – wikipédia »,

http://fr.wikipedia.org/wiki/Plate-forme_collaborative

Consulté le : 07/09/2012

Page 158: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexes

Page 159: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe A : Thématique « Administration des espaces »

142

Annexe A : Thématique « Administration des

espaces »

A.1. Diagramme de cas d’utilisation

Figure 71: Diagramme de cas d'utilisation « Administration des espaces »

Cas d’utilisation Acteurs

Consulter un espace

Administration des espaces Administrateur

Créer un espace

Affecter des utilisateurs

Modifier un espace

Supprimer un espace

Archiver un espace

Tableau 13: Cas d'utilisation de la thématique « Administration des espaces »

uc Administration des espaces

Créer un

espace

Modifier un

espace

Supprimer un

espace

Archiv er le

contenu d'un

espace

Administrateur

Consulter un

espace

S'authentifier

Affecter des

utilisateurs

«include»

«include»

«extend»

«include»

«include»

«include»

«include»

Page 160: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe A : Thématique « Administration des espaces »

143

Description textuelle des cas d’utilisation

Cas d’utilisation « Consulter un espace »

Description sommaire

Titre Consulter un espace

But Permettre à l’administrateur de consulter les détails d’un espace sur la

plate-forme.

Acteurs Administrateur (principal)

Description des enchainements

Pré-conditions L’administrateur s’est authentifié.

Il y a au moins un espace sur la plate-forme.

Scénario nominal

1- L’administrateur accèdes à la gestion des espaces et choisit de

consulter tous les espaces.

2- Le système lui affiche la liste de tous les espaces sur la plate-

forme.

3- L’administrateur sélectionne un espace.

4- le système lui envoie ses détails.

Post-conditions L’administrateur visualise les détails de l’espace.

Exceptions et

Scénarios

alternatifs

Néant.

Besoin d’IHM Une page web pour visualiser les détails.

Cas d’utilisation « Créer un espace »

Description sommaire

Titre Créer un espace

But Création d’un nouvel espace de collaboration en lui affectant des

utilisateurs.

Acteurs Administrateur (principal)

Description des enchainements

Pré-conditions - L’administrateur s’est authentifié.

Scénario nominal

1- L’administrateur accède à la gestion des espaces et choisit de créer

un espace.

2- Le système lui affiche un formulaire pour saisir les informations

nécessaires de l’espace.

3- L’administrateur remplit le formulaire et il confirme.

4- le système vérifie les données saisies.

5- Le système crée un nouvel espace sur la plate-forme.

Post-conditions Un nouvel espace sur la plate-forme est créé.

Exceptions et

Scénarios

alternatifs

A l’étape 4 :

Des renseignements obligatoires ne sont pas fournis ou contiennent

des erreurs :

Page 161: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe A : Thématique « Administration des espaces »

144

1- le système réaffiche le formulaire et indique les champs à remplir

ou à corriger.

2- le scenario reprend à l’étape 3.

Besoin d’IHM Un formulaire web pour la création d’un nouvel espace.

Cas d’utilisation « Affecter des utilisateurs »

Description sommaire

Titre Affecter des utilisateurs.

But Permettre à l’administrateur d’affecter des utilisateurs à un espace de

collaboration sur la plate-forme.

Acteurs Administrateur (principal)

Description des enchainements

Pré-conditions - L’administrateur s’est authentifié.

Scénario nominal

1- L’administrateur accède à la gestion des espaces et choisit

d’affecter des utilisateurs à un espace.

2- Le système lui affiche une liste contenant tous les espaces sur la

plate-forme.

3- L’administrateur sélectionne l’espace désiré.

4- le système lui affiche une liste contenant tous les utilisateurs sur la

plate-forme.

5- L’administrateur sélectionne les utilisateurs à affecter à l’espace en

précisant leurs rôles et il confirme.

6- Le système enregistre les modifications.

Post-conditions Les utilisateurs sélectionnés sont affectés à l’espace.

Exceptions et

Scénarios

alternatifs

Néant

Besoin d’IHM Une page web pour afficher les listes.

Cas d’utilisation « Modifier un espace »

Description sommaire

Titre Modifier un espace

But Permettre à l’administrateur de modifier les détails d’un espace sur la

plate-forme et de lui affecter des utilisateurs.

Acteurs Administrateur (principal).

Description des enchainements

Pré-conditions - L’administrateur s’est authentifié.

- Il y a au moins un espace sur la plate-forme.

Scénario nominal

1- L’administrateur accède à la gestion des espaces et choisit de

modifier un espace.

2- Le système lui affiche la liste de tous les espaces sur la plate-

forme.

Page 162: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe A : Thématique « Administration des espaces »

145

3- L’administrateur sélectionne un espace.

4- le système lui envoie un formulaire contenant ses détails.

5- L’administrateur apporte ses modifications et il confirme.

6- Le système vérifie les modifications et il les enregistre.

Post-conditions Les détails de l’espace sont modifiés.

Exceptions et

Scénarios

alternatifs

A l’étape 6 :

Des renseignements obligatoires ne sont pas fournis ou

contiennent des erreurs :

1- le système réaffiche le formulaire et indique les champs à remplir

ou à corriger.

2- le scenario reprend à l’étape 5.

Besoin d’IHM Un formulaire web pour modifier les détails de l’espace.

Cas d’utilisation « Supprimer un espace »

Description sommaire

Titre Supprimer un espace

But Permettre à l’administrateur de supprimer un espace sur la plate-

forme.

Acteurs Administrateur (principal)

Description des enchainements

Pré-conditions - L’administrateur s’est authentifié.

- Il y a au moins un espace sur la plate-forme.

Scénario nominal

1- L’administrateur accède à la gestion des espaces et choisit de

supprimer un espace.

2- Le système lui affiche la liste de tous les espaces sur la plate-

forme.

3- L’administrateur sélectionne un espace et choisit de le supprimer.

4- le système lui envoie message de confirmation et il lui propose

d’archiver son contenu.

5- L’administrateur confirme la suppression.

6- Le supprimer l’espace de la plate-forme.

Post-conditions L’espace désiré est supprimé.

Exceptions et

Scénarios

alternatifs

A l’étape 4 :

L’administrateur choisi d’archiver le contenu de l’espace :

1- le système reprend les cas d’utilisation « Archiver le contenu d’un

espace ».

2- le cas d’utilisation continue son déroulement.

Besoin d’IHM Une page web pour afficher les listes.

Page 163: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe A : Thématique « Administration des espaces »

146

Cas d’utilisation « Archiver un espace »

Description sommaire

Titre Archiver un espace.

But Permettre à l’administrateur d’archiver le contenu d’un espace sur la

plate-forme.

Acteurs Administrateur (principal).

Description des enchainements

Pré-conditions - L’administrateur s’est authentifié.

- Il y a au moins un espace sur la plate-forme.

Scénario nominal

1- L’administrateur accède à la gestion des espaces et choisit

d’archiver le contenu d’un espace.

2- Le système lui affiche la liste de tous les espaces sur la plate-

forme.

3- L’administrateur sélectionne un espace et choisit d’archiver son

contenu.

4- le système lui envoie message de confirmation.

5- L’administrateur confirme.

6- Le système archive tout le contenu de l’espace.

Post-conditions Le contenu de l’espace désiré est archivé.

Exceptions et

Scénarios

alternatifs

Néant.

Besoin d’IHM Une page web pour afficher les listes.

A.2. Diagramme de classes participantes

Figure 72: Diagramme de classes participantes de la thématique « Administration des espaces »

class Administration des espaces

Utilisateur Espace

Role

Fonctionnalité

0..*

1..*

1..*1..*

Page 164: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe A : Thématique « Administration des espaces »

147

A.3. Les classes principales

Classe Attributs Méthodes

Espace

Code_Espace

Libellé_Espace

Descript_Espace

URL_Espace

Emplacement_Espace

Taille_Espace

Créer_Espace()

Modifier_Espace()

Affecter_Espace()

Archiver_Espace()

Fonctionnalité

Code_Fonct

Nom_Fonct

Libellé_Fonct

Utilit_Fonct

Ajouter_Fonct()

Modifier_Fonct()

Supprimer_Fonct()

Tableau 14: Liste des classes principales et attributs affinés.

A.4. Les classes d’associations

Classe Attributs Méthodes

RoleEspace

Code_Role_Es

Nom_Role_Es

Libellé_Role_Es

Ajouter_RoleEspace()

Modifier_RoleEspace()

Attribuer_RoleEspace()

Espace_Fonct

Code_Espace

Code_Fonct

DateAjout

Ajouter_ Espace_Fonct()

Modifier_ Espace_Fonct()

Supprimer_ Espace_Fonct()

Tableau 15: Liste des classes d'association

A.5. Diagramme d’états-transitions

Figure 73: Diagramme d’états-transitions de la classe « Espace ».

act Espace

Espace créé Espace Actif

Espace Bloqué

Espace supprimé

Espace archiv é

[Suppression espace]

[Archivage espace]

[Archivage espace]

[Activation espace]

[Blocage espace]

[Suppression espace][Activation espace]

[Création espace]

Page 165: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe A : Thématique « Administration des espaces »

148

A.6. Diagramme d’activités

Figure 74: Diagramme d'activité du module « Administration des espaces »

A.7. Conception des classes

Classe Espace

Attributs Type Taille Méthodes

Code_Espace int 10

Créer_Espace()

Liste_Espace()

Modifier_Espace()

Consulter_Espace()

Affecter_Espace()

Archiver_Espace()

Nom_Espace String 40

Libellé_Espace String 60

Descript_Espace String 100

URL_Espace String 100

Emplacement_Espace String 100

Taille_Espace int 3

act Gestion des espaces

Page d'acceuil

gestion des espaces

consulter les

espaces

Modifier un

espace

Supprimer

un espacesArchiv er un

espace

Créer un

espaceAffecter des

utilisateurs

Page 166: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe A : Thématique « Administration des espaces »

149

Classe Fonctionnalité

Attributs Type Taille Méthodes

Code_Fonct int 10 Ajouter_Fonct()

Modifier_Fonct()

Consulter_Fonct()

Supprimer_Fonct()

Liste_Fonct()

Nom_Fonct String 40

Libellé_Fonct String 60

Utilit_Fonct String 40

A.8. Conception des classes d’associations

Classe RoleEspace

Attributs Type Taille Méthodes

Code_Role_Es int 20 Ajouter_RoleEspace()

Modifier_RoleEspace()

Attribuer_RoleEspace()

Consulter_RoleEspace()

Supprimer_ROleEspace()

Nom_Role_Es String 40

Libellé_Role_Es String 60

A.9. Conception des méthodes

Classe Méthodes Description

Espace

Créer_Espace()

Créer un nouvel espace

Liste_Espace() Afficher la liste des espaces

Modifier_Espace() Modifier un espace

Consulter_Espace() Consulter un espace

Affecter_Espace() Affecter un espace a un membre

Archiver_Espace() Archiver un espace

Tableau 16 : Conception et description des méthodes.

Page 167: Plate-Forme pour la Gestion de Projets Collaboratifs

150

A.10. Diagramme de classes détaillé

Figure 75 : Diagramme de classe de la catégorie « Administration des espaces ».

A.11. Conception de la base de données

Espace (Code_Espace, Libellé_Espace, Descr_Espace, URL_Espace,

Emplacement_Espace, Taille_Espace)

Fonctionnalité (Code_Fonct, Nom_Fonct, Libellé_Fonct, Utilit_Fonct)

RoleEspace (Code_Role_Es,Nom_Role_Es,Code_Utilisateur, Libellé_Role_Es)

Espace_Fonct (Code_Espace, Code_Fonct, DateAjout)

class Gestion des Espaces

Gestion de projet::Utilisateur

- Code_Util isateur: int (oid)

- Nom_Utilisateur: String(30)

- Prenom_Utilisateur: String(30)

- Sex_Util isateur: String(5)

- Login: String(40)

- Email_Util isateur: String(60)

- Password_Util isateur: String(30)

- Photo_util isateur: Image

- Telephone_Util isateur: String(12)

- SiteWeb_Util isateur: String(50)

+ Ajouter_Util isateur() : void

+ Modifier_Util isateur() : void

+ Affecter_Util isateur() : void

+ Supprimer_Util isateur() : void

+ Ouverire_session_Util isateur() : void

+ Fermer_session_Util isateur() : void

Espace

- Code_Espace: int

- Nom_Espace: String(40)

- Libellé_Espace: String(60)

- Descript_Espace: String(100)

- URL_Espace: String(100)

- Emplacement_Espace: String(50)

- Taille_Espace: int

- Date_espace: DateTime

+ Créer_Espace() : void

+ Modifier_Espace() : void

+ Affecter_Espace() : void

+ Archiver_Espace() : void

RoleEspace

- Code_Role: int

- Nom_Role: String(40)

- Libellé_Role: String(60)

+ Creer_Role() : void

+ Modifier_Role() : void

+ Affecter_Role() : void

Fonctionnalité

- Code_Fonct: int

- Nom_Fonct: String(40)

- Libellé_Fonct: String(60)

- Util it_Fonct: String(60)

+ Ajouter_Fonct() : void

+ Modifier_Fonct() : void

+ Supprimer_Fonct() : void

Espace_fonct

- DateAjout: DateTime

1..*

1..*

0..*

0..*

Page 168: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe B : Thématique « Gestion des Projets »

151

Annexe B : Thématique « Gestion des Projets »

B.1. Cas d’utilisation (Suite)

Description des cas d’utilisation

Cas d’utilisation « Modifier un projet »

Description sommaire

Titre Modifier un projet

But Permettre au chef de projet de modifier les détails d’un projet sur

l’espace collaboratif.

Acteurs Chef de projet (principal).

Description des enchainements

Pré-conditions - Le chef de projet s’est authentifié.

- Il y a au moins un projet sur l’espace collaboratif.

Scénario nominal

1- Le chef de projet accède à la gestion des projets et choisit de

modifier un projet.

2- Le système lui affiche la liste de tous les projets sur l’espace

collaboratif.

3- Le chef de projet sélectionne un projet.

4- le système lui envoie un formulaire contenant ses détails.

5- Le chef de projet apporte ses modifications et il confirme.

6- Le système vérifie les modifications et il les enregistre.

Post-conditions Les détails du projet sont modifiés.

Exceptions et

Scénarios

alternatifs

A l’étape 6 :

Des renseignements obligatoires ne sont pas fournis ou

contiennent des erreurs :

1- le système réaffiche le formulaire et indique les champs à remplir

ou à corriger.

2- le scenario reprend à l’étape 4.

Besoin d’IHM Un formulaire web pour modifier les détails du projet.

Page 169: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe B : Thématique « Gestion des Projets »

152

Cas d’utilisation « Affecter des ressources »

Description sommaire

Titre Affecter des ressources.

But Permettre au chef de projet d’affecter les ressources à utiliser à un

projet.

Acteurs Chef de projet (principal)

Description des enchainements

Pré-conditions - Le chef de projet s’est authentifié et accède à l’espace

collaboratif.

Scénario nominal

1- Le chef de projet accède à la gestion des projets et choisit

d’affecter des membres à un projet.

2- Le système lui affiche une liste contenant tous les projets sur

l’espace.

3- Le chef de projet sélectionne le projet désiré.

4- le système lui affiche une liste contenant toutes les ressources

disponible sur l’espace.

5- Le chef de projet sélectionne les ressources à utiliser dans le projet

et il confirme.

6- Le système enregistre les modifications.

Post-conditions Les ressources sélectionnées sont affecté au projet.

Exceptions et

Scénarios

alternatifs

Néant

Besoin d’IHM Une page web pour afficher les listes.

Cas d’utilisation « Ajouter un jalon »

Description sommaire

Titre Ajouter un jalon.

But Permettre au chef de projet d’ajouter un jalon à un projet.

Acteurs Chef de projet (principal)

Description des enchainements

Pré-conditions

- Le chef de projet s’est authentifié et accède à l’espace

collaboratif.

- Le chef de projet accède à la gestion des projets et il sélectionne

un projet.

Scénario nominal

1- Le chef de projet choisi d’ajouter un jalon à un projet.

2- Le système lui affiche un formulaire pour saisir les détails du jalon.

3- Le chef de projet remplit les informations nécessaires et il

confirme.

4- le système vérifie les données saisies.

5- Le système ajoute un nouveau jalon au projet.

Page 170: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe B : Thématique « Gestion des Projets »

153

Post-conditions Un nouveau jalon est ajouté au projet sélectionné.

Exceptions et

Scénarios

alternatifs

A l’étape 4 :

Des renseignements obligatoires ne sont pas fournis ou contiennent

des erreurs :

1- le système réaffiche le formulaire et indique les champs à remplir

ou à corriger.

2- le scenario reprend à l’étape 3.

Besoin d’IHM Un formulaire web pour la création d’un nouveau jalon.

Cas d’utilisation « Ajouter un livrable »

Description sommaire

Titre Ajouter un livrable.

But Permettre à un chercheur d’ajouter un livrable relatif à un projet.

Acteurs Chercheur (principal)

Description des enchainements

Pré-conditions

- Le chercheur s’est authentifié et accède à l’espace collaboratif.

- Le chercheur accède à la gestion des projets et il sélectionne un

projet.

Scénario nominal

1- Le chercheur choisit d’ajouter un livrable à un projet.

2- Le système lui affiche un formulaire pour saisir les détails du

livrable.

3- Le chercheur remplit les informations nécessaires et sélectionne le

livrable à joindre et puis et il confirme.

4- le système vérifie les données saisies.

5- Le système ajoute un nouveau livrable au projet.

Post-conditions Un nouveau livrable est ajouté au projet sélectionné.

Exceptions et

Scénarios

alternatifs

A l’étape 4 :

Des renseignements obligatoires ne sont pas fournis ou contiennent

des erreurs :

1- le système réaffiche le formulaire et indique les champs à remplir

ou à corriger.

2- le scenario reprend à l’étape 3.

Besoin d’IHM Un formulaire web pour la création d’un nouveau livrable.

Cas d’utilisation « Gestion des évènements»

Description sommaire

Titre Gestion des évènements

But

Permettre à un chercheur de gérer les évènements (réunions, rendez-

vous, etc.) qui concernent un projet sur l’espace collaboratif

(consultation, création, modification, suppression des évènements).

Acteurs Chercheur (principal)

Description des enchainements

Page 171: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe B : Thématique « Gestion des Projets »

154

Pré-conditions

- Le chercheur s’est authentifié et accède à l’espace collaboratif.

- Le chercheur accède à la gestion des projets et il sélectionne un

projet.

Scénario nominal

1- Le chercheur choisi de consulter, créer, modifier ou de supprimer

un évènement.

2- Le système lui affiche le formulaire ou la vue désirée.

3- Le chercheur apporte ses modifications et il confirme.

4- le système enregistre les modifications.

Post-conditions L’agenda partagé est mis à jour.

Exceptions et

Scénarios

alternatifs

Néant

Besoin d’IHM Un formulaire web (ou une page) pour chaque cas.

Cas d’utilisation « Consulter les tâches »

Description sommaire

Titre Consulter les tâches

But Permettre à un chercheur de consulter les détails des tâches relatives à

un projet.

Acteurs Chercheur (principal).

Description des enchainements

Pré-conditions

- Le chercheur s’est authentifié et accède à l’espace collaboratif.

- Le chercheur accède à la gestion de projets et sélectionne un

projet.

- il y a au moins une tache dans le projet sélectionné.

Scénario nominal

1- Le chercheur choisit de consulter les tâches.

2- Le système lui affiche la liste des tâches relatives au projet

sélectionné.

3- Le chercheur sélectionne une tâche.

4- le système lui envoi les détails de la tâche désirée.

Post-conditions Le chercheur visualise les détails de la tâche désirée.

Exceptions et

Scénarios

alternatifs

Néant

Besoin d’IHM Une page web pour visualiser les détails.

Cas d’utilisation « Modifier une tâche»

Description sommaire

Titre Modifier une tâche

But Permettre à un chercheur de modifier les détails d’une tâche.

Acteurs Chercheur (principal).

Description des enchainements

Page 172: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe B : Thématique « Gestion des Projets »

155

Pré-conditions

- Le chercheur s’est authentifié et accède à l’espace collaboratif.

- Le chercheur accède à la gestion des projets et sélectionne un

projet.

- Il y a au moins une tâche dans le projet sélectionnée.

Scénario nominal

1- Le chercheur choisi de modifier une tâche.

2- Le système lui affiche la liste de toutes les tâches du projet

sélectionné.

3- Le chercheur sélectionne la tâche à modifier.

4- le système lui envoie un formulaire contenant ses détails.

5- Le chercheur apporte ses modifications et il confirme.

6- Le système vérifie les modifications et il les enregistre.

Post-conditions Les détails de la tâche sont modifiés est enregistrés.

Exceptions et

Scénarios

alternatifs

A l’étape 6 :

Des renseignements obligatoires ne sont pas fournis ou

contiennent des erreurs :

1- le système réaffiche le formulaire et indique les champs à remplir

ou à corriger.

2- le scenario reprend à l’étape 4.

Besoin d’IHM Un formulaire web pour modifier les détails d’une tâche.

Cas d’utilisation « Commenter une tâche»

Description sommaire

Titre Commenter une tâche

But Permettre à tout chercheur de poster des commentaires concernant le

suivi des tâches dont ils sont impliqués.

Acteurs Chercheur (principal)

Description des enchainements

Pré-conditions

- Le chercheur s’est authentifié et accède à l’espace collaboratif.

- Le chercheur accède à la gestion des projets et sélectionne un

projet.

- Il y a au moins une tâche dans le projet sélectionnée.

Scénario nominal

1- Le chercheur choisit d’ajouter un commentaire à une tâche.

Le système lui affiche une liste contenant toutes les tâches du projet

sélectionné.

3- Le chercheur sélectionne une tâche.

2- Le système lui affiche un formulaire pour saisir son commentaire.

3- Le chercheur remplis le formulaire et il confirme.

5- Le système crée un nouveau commentaire.

Post-conditions Un nouveau commentaire est ajouté à la tâche désirée.

Exceptions et

Scénarios

alternatifs

Néant

Page 173: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe B : Thématique « Gestion des Projets »

156

Besoin d’IHM Un formulaire web pour saisir les commentaires.

B.2. Conception des méthodes

Classe Méthodes Description

Utilisateurs

Ajouter_Utilisateur() Ajouter un nouvel utilisateur

Modifier_Utilisateur() Modifier profil utilisateur

Affecter_Utilisateur () Affecter un utilisateur a un groupe

Supprimer_Utilisateur() Supprimer un utilisateur

Consulter_Utilisateur() Consulter profil utilisateur

Ouverire_session_Utilisateur () Ouvrir la session pour l’utilisateur

Fermer_session_Utilisateur() Fermer la session de l’utilisateur

Projet

Créer_Projet () Créer un nouveau projet

Liste_Projet() Afficher la liste des projets

Modifier_Projet() Modifier un projet (information)

Archiver_Projet () Archiver un projet

Supprimer_Projet () Supprimer un projet

Consulter_Projet() Consulter un projet

Tâches

Ajouter_tache()

Ajouter une nouvelle tache

Consulter_tache() Consulter une tache

Modifier_tache() Modifier une tache

Affecter_tache() Affecter la tâche a un membre

Supprimer_tache() Supprimer la tache

Avancement_tache() Taux d’avancement de la tache

Phase

Définir_Phase()

Définir une phase dans le projet

Liste_Phases() Afficher la liste des phases

Modifier_Phase() Modifier une phase

Consulter_Phase() Consulter une phase

Supprimer_Phase() Supprimer une phase

Jalon

Ajouter_Jalon()

Ajouter un nouveau jalon

Liste_Jalons() Afficher la liste des jalons

Modifier_Jalon() Modifier un jalon

Page 174: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe B : Thématique « Gestion des Projets »

157

Consulter_Jalon() Consulter un jalon

Supprimer_Jalon() Supprimer un jalon

Livrable

Ajouter_livrable()

Ajouter un nouveau livrable

Liste_livrables() Afficher la liste des livrables

Modifier_livrable() Modifier un livrable

Attacher_livrable() Associer un livrable a une tache

Consulter_livrable() Consulter un livrable

Supprimer_livrable() Supprimer un livrable

Ressource

Ajouter_Ressource()

Ajouter une nouvelle ressource

Liste_Ressource() Afficher la liste des ressources

Affecter_Ressource() Affecter la ressource a une tache

Modifier_Ressource() Modifier une ressource

Consulter_Ressource() Consulter une ressource

Supperimer_ressource() Supprimer une ressource

Commentaire

Ajouter_Commentaire()

Ajouter un nouveau commentaire

Modifier_Commentaire() Modifier un commentaire

Afficher_Commentaire() Afficher le commentaire

Supprimer_Commentaire() Supprimer le commentaire

Domaine

Ajouter_Domaine()

Ajouter un domaine

Modifier_Domaine() Modifier un domaine

Consulter_Domaine() Consulter un domaine

Liste_Domaines() Afficher la liste des domaines

Supprimer_Domaine() Supprimer un domaine

Evènement

Ajouter_Evenement()

Ajouter un évènement

Modifier_Evenement() Modifier un évènement

Liste_Evenements() Afficher la liste des évènements

Consulter_Evenement Consulter un évènement

Annuler_Evenement() Annuler un évènement

Rôle

Ajouter_Role()

Définir un nouveau rôle

Liste_Role() Afficher la liste des rôles

Modifier_Role() Modifier un rôle

Attribuer_Role() Attribuer un rôle a un membre

Page 175: Plate-Forme pour la Gestion de Projets Collaboratifs

158

Consulter_Role() Consulter un rôle

Tableau 17 : Conception et description des méthodes.

Page 176: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe C : Liferay

159

Annexe C : Liferay

C.1. Installation et configuration

L’installation de Liferay est très facile. Il nous offre la possibilité de télécharger divers

bundles incluant des serveurs d'application (Geronimo, JBoss ou JOnAS) et conteneurs de

servlet (Jetty, Resin ou Tomcat). Pour un déploiement sur un autre serveur, il suffit de le

télécharger sous forme de fichier WAR ou EAR.

La documentation de l'installation et de la configuration est bien fournie. Il est

particulièrement facile de configurer la base de données que l'on souhaite utiliser grâce à des

scripts de création de bases téléchargeables pour un grand nombre de SGBD.

Par défaut, Liferay utilise une base HSQLDB ce qui permet d'avoir un portail

fonctionnel sans aucune installation de base de donnée. [CLE06]

C.2. Intégration de Liferay

Liferay supporte une variété de serveurs d'application, à savoir : Borland ES, Geronimo,

GlassFish, JBoss, JOnAS, JRun, OracleAS, Orion, Pramati, RexIP, Sun JSAS, WebLogic,

WebSphere. Tous ces serveurs peuvent être combinés avec les bases de données suivantes :

DB2, Firebird, Hypersonic, Interbase, JDataStore, MySQL, Oracle, PostgresSQL, SAP,

SQLServer et ce, grâce à l'utilisation en interne du framework Hibernate, pour la persistence

des données. Cette capacité d'intégration est véritablement un point fort de Liferay. Il offre

une très grande liberté de choix et peut permettre de mettre à profit des ressources déjà

existantes. [CLE06]

C.3. Extensibilité de Liferay Le standard : JSR-168

La JSR-168 est la spécification des portlets définissant le contrat entre les

conteneurs de portlets et les portlets. Elle a pour objectif de standardiser les portlets et

d'assurer une interopérabilité entre les différents portails du marché en définissant un

ensemble d'API pour les serveurs portails concernant les domaines de l'agrégation, la

personnalisation, la présentation et la sécurité. Autrement dit, 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.

Le standard : JSR-286

La spécification de portlets JSR-286 est un nouveau standard proposé. Son objectif est

de rendre l’API de Portlets plus mature que JSR-168 et d’incorporer des nouvelles

fonctionnalités, nous citons essentiellement : [AYE10]

Page 177: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe C : Liferay

160

Event Phase : Permettre à un portlet de communiquer avec un autre par l’envoi et

la réception des événements.

Shared render parameters : Permettre à une portlet de spécifier les render

paramètres à partager avec une autre portlet.

Resource serving: Permettre au portlet de servir de ressources durant son exécution

(Ajax, Json, etc.)

Les spécifications JSR-168 et JSR 286 ont pour buts de: [AYE10]

Définir un API Java Portlet standard basé sur l'API Servlet.

Assurer l'interopérabilité et la portabilité.

Supporter des types de clients multiples (multi terminal).

Supporter la localisation et l'internationalisation.

Supporter l'exécution de portlet distant.

C.4. Administration

Administration des utilisateurs

Liferay nous propose une administration des utilisateurs basée sur 3 niveaux

hiérarchiques : Enterprise, Organisation et Location. L’entreprise est le niveau le plus haut où

peut créer des organisations dans lesquelles on peut créer des locations. Ce principe permet de

définir des droits d'administration sur ces différents niveaux (on peut avoir des

administrateurs s'occupant uniquement d'une organisation ou d'une location) et permet de

s'adapter à des organisations complexes. [CLE06]

Parallèlement à cela, des groupes peuvent être créés permettant de regrouper des

utilisateurs provenant d'organisations ou de locations différentes. Ceci facilite la gestion des

rôles et des permissions attribuées aux utilisateurs et aux groupes, permet de maitriser les

droits d’accès aux différents emplacements dans le portail.

Création et personnalisation des pages et administration des portlets

Dans un portail Liferay, chaque communauté ou utilisateur peut bénéficier d’un espace

de travail accessible à tout moment. Chaque espace contient une ou plusieurs pages.

L’administration des pages du portail s'effectue en 2 étapes : la création des pages et la

personnalisation de celles-ci. Des thèmes peuvent ensuite être appliqués aux communautés ou

individuellement aux pages. [CLE06]

Les pages peuvent être de type : publics accessibles à tout visiteur ou privés accessibles

à un ensemble restreint d’utilisateurs.

Liferay offre également la possibilité de personnalisation des pages propres à une

communauté ou propre à un utilisateur.

Page 178: Plate-Forme pour la Gestion de Projets Collaboratifs

Annexe C : Liferay

161

Une fois les pages sont créées et personnalisées, l’administrateur peut ajouter une ou

plusieurs portlets dans une page qui se fait par un simple glisser-déposer permettant de choisir

son emplacement sur la page.

C.5. Outils collaboratifs

Liferay propose une série de portlets qui rependent aux besoins de collaboration au sein

d’une entreprise. Parmi ces portlets nous citons : [CLE06]

Calendrier : Le calendrier permet de publier des événements et de les partager

éventuellement entre les membres d'une communauté.

Forum : le forum permet de créer des fils de discussion organisables par catégorie. Il

est possible de poster également des pièces jointes aux messages.

Mail : le portlet Mail permet de se connecter à un serveur IMAP pour lire et envoyer

des messages. Toutefois, ce portlet n’autorise que la connexion à un seul serveur pour

tous les utilisateurs.

Messagerie instantanée : ce portlet permet aux membres d’une communauté de

discuter et d’échanger des messages en temps réel.

Blog : un blog est disponible et permet aux membres d'une communauté de poster des

billets.

Wiki : le portlet wiki permet à tous les utilisateurs de créer ou modifier des pages.

Sondages : Un portlet nommée « Poll » permet de créer des sondages. Ceux-ci pourront

être visibles pour quelques utilisateurs seulement, toute une communauté ou même par

les visiteurs du site.

Gestionnaire de documents : pour la gestion des documents, Liferay propose un

portlet nommé « Document Library ». Ce portlet permet un stockage sécurisé et la

gestion des versions des documents et offre la possibilité d’indexer et de visualiser les

documents de types Office, OpenOffice et PDF.