Plate-Forme pour la Gestion de Projets Collaboratifs
Transcript of 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
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
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
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.
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.
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.
vii
ملخص
طشمح ان خهكواالذصال انجذذج نإلػالوذمذو انركىنىجاخ و ف انسىاخ االخشج إلرشدن انرطىس انسشغ ديأ
ؼرثش انؼم انجاػ ."أدواخ انؼم انجاػ" ذسو انىسائم يجىػح يرىػح ي األدواخ رجح ظهىس جذذج نهؼم
ف يخرهف انجاالخ, ورنك ي اجم انرؼاو ف يخرهف يشاسغ انثذث و دانا ي أهى ادراجاخ انطالب و انثادث
هزا ف .وانكفاءج وانزادج ف انرىج انؼه نهثادث ف يجاالخ يرؼذدج اإلتذاعانرطىش انؼه نرذمك ألص لذس ي
نجغ أدواخ انرؼاو"" ل ذىفشي خال فشق انثذث نجغ و ذمشة انساق ؼرثش انؼم انجاػ انرؼاو وسهح جذج
هز االدواخ انخرهفح نها فىائذ و يزاا هايح ذسخ تضا ذؼاو فؼال ت انثادث .األػضاء انثادث ف يخرهف انفشق
.يا اد ان اراجح جذج ف يخرهف يجاالخ انثذث
انشظ(، وطشق نهرؼهىأدواخ ) OMAAانثذث يششوع انمرشح ف إطاس هاح انذساسح، يششوع انهذف ي
وذطىش هى ذصى، (LMCS) ذصى االظحانثادث ف يخرثش طشق وأسانة انؼه و ي لثم فشك يانراتغ
، يهاو انششوع يخرهف نرمذو وسصذ دايكحإداسج ت ذسخ جة أ هز انصح .يصح ذؼاوح وتشيجرها ػه االرشد
انهح.أدواخ انرؼاو يجىػح ي فشق انثذثيخرهف ذضغ ف يراول أػضاءو
يصح ىة،ان ػهانرؼاوادواخ انؼم ، إداسج انشاسغ ووسائم ، أدواخانؼم انرؼاو ،انرؼاو : كلمات البحث
.ذؼاوح
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
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
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
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
xii
Annexes ..................................................................................................................................... 141
Annexe A : Thématique « Administration des espaces » ... 142
Annexe B : Thématique « Gestion des Projets » ........................ 151
Annexe C : Liferay ....................................................................................................... 159
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
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
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
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
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
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.
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 ».
Partie I: Synthèse
Bibliographique
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
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
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]
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),
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]
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.
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.)
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).
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
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.
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
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
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,
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 :
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).
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
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.
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]
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]
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 :
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]
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.
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
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]
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.
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.
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]
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.
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 :
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.
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
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
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.
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
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.
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
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]
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é :
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.
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 :
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.
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
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.
Partie II : Etude de Cas
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
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]
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 ;
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
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
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.
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.
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
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]
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 :
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]
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.
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.
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).
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.
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 :
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 »
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»
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)
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
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.
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 » :
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»
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 » :
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»
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
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.
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.
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.
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..*
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
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.
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.
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]
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
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.
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
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 :
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()
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()
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 :
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]
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]
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]
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
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
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
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()
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()
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()
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.
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.
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
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
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()
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
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 *
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 :
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..*
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..*
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.
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)
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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 :
Partie II : Etude de Cas Chapitre 6: Implémentation et Déploiement
121
Figure 60: Architecture technique de notre solution.
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.
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.
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 ».
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.
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.
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.
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.
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
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 :
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…).
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.
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 :
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.
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
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.
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.
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
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
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
Annexes
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»
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 :
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.
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.
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..*
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]
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
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.
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..*
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.
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.
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
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
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
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
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
158
Consulter_Role() Consulter un rôle
Tableau 17 : Conception et description des méthodes.
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]
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.
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.