Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Thème
Conception et réalisation d’une application web pour
la gestion du prêt entre bibliothèques
Rapport final
Promotion : 2009/2010
1
Résumé
Dans ce contexte, notre travail consiste à concevoir une application web qui permet aux
adhérents des bibliothèques membres du réseau de rechercher une ressource à travers le
catalogue collectif des bibliothèques, consulter sa fiche descriptive, réserver un exemplaire, et
d‟annuler une réservation… etc.
Cette application permet aussi la gestion du prêt entre bibliothèques : les prêts et
restitutions, les transitions de ressources entre bibliothèques… etc.
Mots clés
2
Remerciements
Nous n‟oublions pas non plus Nos Enseignants, depuis l‟école primaire aux
études supérieures pour toutes les connaissances qu‟ils nous ont transmises.
Nous adressons une pensée affective à Nos Amis de l‟ESI qui ont rendu
agréables nos années d‟études.
Nous remercions tout particulièrement Les Membres du Jury, pour avoir accepté
de participer en tant qu'Examinateurs à notre soutenance.
Nous tenons enfin à remercier tous ceux qui ont collaborés de près ou de loin à
l‟élaboration de ce travail. Qu‟ils acceptent nos humbles remerciements.
3
Dédicaces
A mes très chers et adorables parents Hassina et Zoubir qui n’ont jamais cessé
de m’encourager et de me soutenir. Je ne saurais exprimer ma gratitude et ma
reconnaissance. Je vous souhaite une longue et heureuse vie, que dieu vous
garde pour moi,
A mon fiancé Adnane qui m’a beaucoup aidée et soutenue et qui a toujours cru
en moi,
A toutes mes amies Cherifa, Islam, Manel.H, Manel.K, Sara et aux moments
inoubliables qu’on avait passés ensemble,
Fairouz
4
Dédicaces
Merci à Allah le genreux, qui a éclairé les nuits difficiles passées loin de ma
demeure,
A ma mère, douce Dounia Zed, qui a veillée à ce que je devienne ce que je suis,
A ma perle bleue,
A toute ma famille,
A Islam, Fairouz, Nadia, Saadia, Fadhila, Zora, Zahra, Meriem, Fatiha et aux
souvenirs de nos aventures,
Aux professeurs qui m’ont enseigné et encadré depuis mes premiers pas à
l’école jusqu’à l’université,
A mes collègues et amis qui m’on accompagné ces cinq ans passées à l’INI,
Cherifa
5
Sommaire
Introduction générale 13
1. Contexte 14
2. Problématique 14
3. Objectifs 14
4. Organisation du mémoire 15
6
2.1. Définition 38
2.2. Buts et objectifs de la répartition 39
2.3. Approches de conception d‟une BDD repartie 40
3. Intégration de données : Approche de médiation 42
3.1. Architecture de médiation de base 44
3.2. Types de médiation 46
3.3. Intégration de schéma 47
3.4. Processus de médiation 49
4. Conclusion 49
7
7. Modélisation du contexte 82
8
Chapitre 9 : Réalisation du prototype 150
1. Introduction 151
2. Présentation des outils utilisés 151
2.1. Apache http Server 2.2.11 151
2.2. Langage PHP 5.3.0 152
2.3. La base de données MySQL 5.1.36 153
3. Sécurité du système 153
3.1. Facteurs de risque et mesures de sécurité 154
3.2. Qualités sécuritaires du nouveau système 156
4. Présentation du prototype réalisé 158
Bibliographie 173
Webographie 175
Annexes 176
1. Diagrammes de séquences 176
2. Description des noyaux 178
3. Diagramme des classes des bases de données des bibliothèques 181
4. Exemples d‟adaptateurs 183
5. Le dublin Core 184
9
Liste des figures :
10
Figure 38 : Diagramme des classes participantes du paquet « Diffusions » 112
Figure 39 : La répartition des différentes couches de l‟architecture 3-tiers 115
Figure 40 : Schéma des composants matériels du nouveau système 117
Figure 41 : Configuration matérielle du système 119
Figure 42 : Représentation graphique d‟une catégorie 122
Figure 43 : Schéma représentatif des catégories de classe candidate 123
Figure 44 : Diagramme des classes de la catégorie « Utilisateur » 123
Figure 45 : Diagramme des classes de la catégorie « Prêt » 124
Figure 46 : Diagramme des classes de la catégorie « Bibliothèque » 125
Figure 47 : Diagramme des classes de la catégorie « Service » 125
Figure 48 : Diagramme de packages d‟analyse. 126
Figure 49 : Diagramme de classes 127
Figure 50 : Diagramme de séquence du CU « Rechercher une ressource » 129
Figure 51 : Diagramme de séquence du CU « Réserver une ressource » 130
Figure 52 : Diagramme de séquence du CU « Enregistrer un prêt » 131
Figure 53 : Diagramme de séquence du CU « Restituer un prêt » 132
Figure 54 : Diagramme de séquence du CU « Gérer les adaptateurs » 133
Figure 55 : Diagramme d‟état-transition de la classe « Réservation_prêt » 134
Figure 56 : Organisation du modèle logique de notre système 138
Figure 57 : Modèle de déploiement du système 139
Figure 58 : Identification des composants métier du système 140
Figure 59 : Page d‟accueil du site web 159
Figure 60 : Recherche simple 160
Figure 61 : Résultats d‟une recherche de ressource 161
Figure 62 : Espace visiteur « Fiche descriptive d‟une notice bibliographique » 162
Figure 63 : Espace adhérent « Fiche descriptive d‟une notice bibliographique » 162
Figure 64: Demande de prêt PEB 163
Figure 65 : Page d‟accueil après authentification de l‟administrateur 163
Figure 66 : Espace Administrateur 164
Figure 67 : Espace Administrateur « Gestion des bibliothèques » 164
Figure 68 : Espace Administrateur « Gestion des bibliothécaires » 165
Figure 69 : Espace Administrateur « Gestion des adhérents du PEB » 165
Figure 70 : Page d‟accueil après authentification du bibliothécaire 166
Figure 71 : Espace Bibliothécaire 166
Figure 72 : Espace Bibliothécaire « Liste des réservations d‟un adhérent » 167
Figure 73 : Espace Bibliothécaire « Enregistrer un prêt » 167
Figure 74 : Espace Bibliothécaire « Liste des prêts en cours d‟un adhérent » 168
Figure 75 : Espace Bibliothécaire « enregistrer une entrée de ressource » 168
Figure 76 : Espace Bibliothécaire « enregistrer une sortie de ressource » 169
11
Figure 77 : Diagramme de séquence du CU « S‟authentifier » 176
Figure 78 : Diagramme de séquence du CU « Gérer les bibliothèques» 177
Figure 79 : Diagramme de séquence du CU « Enregistrer une transition de ressource » 178
Figure 80 : Diagramme de classes du noyau « Présentation » 179
Figure 81 : Diagramme de classes du noyau « Applicatif » 179
Figure 82 : Diagramme de classes du noyau « Sécurité » 180
Figure 83 : Diagramme de classes du noyau « Accès aux données » 180
Figure 84 : Diagramme de classes du noyau « Authentification » 180
Figure 85 : Diagramme des classes « base de données BIB_1 » 181
Figure 86 : Diagramme des classes « base de données BIB_2 » 182
12
Introduction
Générale
13
Introduction générale
Introduction générale :
1. Contexte :
Le prêt entre bibliothèques est lié à l‟impossibilité pour une bibliothèque de posséder
l‟intégralité des ressources documentaires correspondant à ses missions. De là découle
l‟absolue nécessité d‟intégrer dans son plan de fonctionnement et de développement un
important volet de coopération pour devenir « une bibliothèque universelle », qui ne conserve
et ne communique plus seulement les collections qu‟elle acquiert, mais qui donne la
possibilité à ses lecteurs de profiter du fond documentaire des autres bibliothèques. Ceci lui
permet d‟augmenter considérablement la gamme des ressources disponibles aux utilisateurs.
2. Problématique :
3. Objectifs :
Dans le cadre de ce mémoire, nous nous sommes fixés comme objectifs l'élaboration
d'une solution informatique permettant à un groupe de bibliothèques de faire bénéficier leurs
adhérents du service de « prêt entre bibliothèques ».
14
Introduction générale
Il s‟agit d‟une application web offrant une interface de recherche unique, homogénéisée
et adaptable en ligne à travers le fond documentaire collectif des bibliothèques où les
adhérents du PEB peuvent rechercher en ligne une ressource et découvrir sa fiche descriptive,
vérifier sa disponibilité, procéder à une réservation… . Elle permet aussi la gestion du prêt par
les bibliothécaires : Les prêts et restitutions, les transitions de ressources entre bibliothèque…
Cette application devra s‟adapter pour permettre aux bibliothèques d‟inter-opérer. Elle
sera basée sur une approche d‟intégration virtuelle des sources de données hétérogènes,
autonomes et réparties qui est la « Médiation ».
Nous visons aussi une automatisation maximale, c'est-à-dire que la plupart des
procédures de gestion du prêt seront automatisées (traitement automatique des réservations de
ressources).
4. Organisation du mémoire :
Afin d‟atteindre les objectifs sollicités auparavant, nous avons organisé ce mémoire en deux
parties :
Chapitre 1 : Il est consacré à des généralités sur le service de prêt entre bibliothèque. On
verra des aspects théoriques concernant le PEB, les catalogues collectifs et les répertoires de
bibliothèques, on abordera aussi quelques systèmes existants pour s‟acquitter du service de
prêt entre bibliothèques.
Chapitre 2 : Vu que notre système va interagir avec des bibliothèques distantes et autonomes
dotées de systèmes de gestion différents, il s‟avère indispensable de connaître quelques
notions sur les bases de données réparties. On présentera aussi l‟approche de médiation, en
commençant par ces caractéristiques et types jusqu'à son architecture et son processus.
15
Introduction générale
Chapitre 4 : Ce chapitre constitue une étude préliminaire du système à réaliser. Nous allons
déterminer les besoins fonctionnels et opérationnels, identifier les acteurs qui interagiront
avec le système, puis nous allons développer un premier modèle UML de niveau contexte.
Chapitre 5 : Ce chapitre traite du rôle que tient UML pour compléter la capture des besoins
fonctionnels ébauchée durant l‟étude préliminaire par la technique des cas d‟utilisation. Nous
allons ensuite préparer l‟analyse orientée objet en identifiant les classes candidates du modèle
statique d‟analyse.
Chapitre 6 : Dans ce chapitre nous arrivons à la capture des spécifications techniques liées à
la configuration matérielle : le modèle logique de l‟architecture applicative, les composants de
l‟application web. Puis nous aborderons la capture des spécifications logicielles dans laquelle
nous identifierons les cas d‟utilisation techniques.
Chapitre 7 : Dans ce chapitre nous analysons le système, nous procèderons à un découpage
en catégories des classes participantes, au développement du modèle statique et celui du
modèle dynamique.
Chapitre 8 : Nous arrivons dans ce chapitre à la conception du système qui inclut : La
conception générique qui développe le squelette technique du projet, la conception
préliminaire qui effectue la fusion des études fonctionnelles et techniques, et la conception
détaillée vient construire et documenter précisément les classes et les méthodes qui
constituent le codage de la solution.
Chapitre 9 : C‟est la réalisation de notre application web. On fait appel à un ensemble d‟outils
et langages de développement. Ensuite nous décrirons les mécanismes utilisés pour sécuriser
le système contre d‟éventuelles menaces. Et enfin, nous utiliserons des prises d‟écrans pour
illustrer les principales fonctionnalités offertes par le système.
Et enfin nous terminerons par une conclusion générale, qui résume l‟apport essentiel de
notre travail, qui tente de s‟ouvrir sur de nouveaux éléments de réflexions et propose quelques
perspectives de recherche. Deux annexes sont ajoutées à la fin pour éclaircir les notions non
approfondies dans les chapitres.
16
Partie 1 :
Etat de l‟art
17
Chapitre 1:
18
Chapitre 1 : Le prêt entre bibliothèques
1. Introduction :
Le prêt entre bibliothèques (PEB) est lié à l'impossibilité pour un établissement donné
de posséder l'intégralité des ressources documentaires correspondant à ses missions. Ce
constat, vrai de tout temps, est devenu d'une particulière acuité depuis que l'explosion des
publications de tous types a répondu une stagnation des budgets documentaires.
- les catalogues collectifs qui signalent, pour chaque bibliothèque concernée, leurs
collections de documents et leurs conditions d'accès (prêt du document, consultation
sur place, photocopie...);
Dans ce présent chapitre, on verra des aspects théoriques concernant le PEB, les
catalogues collectifs et les répertoires de bibliothèques, on abordera aussi quelques systèmes
existants pour s‟acquitter du service de prêt entre bibliothèques.
2. Définition :
Le Prêt Entre Bibliothèques désigne un système d‟échange des documents qui permet à
chaque bibliothèque de donner accès à ses lecteurs à des documents qu‟elle ne possède pas en
propre. [FEN, 08]
Jambert Sandrine [JAM, 98] le définit comme suit : « Le Prêt entre bibliothèques ou
PEB est un processus par lequel un organisme documentaire obtient d'un autre un document
demandé par ses usagers et non disponible dans son fonds. Le PEB témoigne de la nécessité
pour les organismes documentaires de coopérer pour faciliter l'accès à tous à la
documentation. Quels que soient les crédits d'acquisition, aucune bibliothèque ne peut
19
Chapitre 1 : Le prêt entre bibliothèques
A. Le demandeur :
L'inscription directe des utilisateurs finaux est une solution rarement pratiquée dans le
cadre du prêt entre bibliothèques. Ce dernier fonctionne généralement sur deux niveaux :
chaque demandeur est inscrit dans une bibliothèque, qui elle-même fait partie d'un réseau, et
assure l'intermédiaire entre les deux : vérification de la demande avant son envoi, vérification
du document demandé à son arrivée comme à son renvoi, relances, facturation…
Dans le cas où c‟est l‟usager final qui émet ses propres demandes de prêt, le paiement
par avance est d‟usage, sous forme de « bons » correspondant à des tranches de photocopies,
etc. Dans le cas où ce sont des institutions, sont souvent mis en place, pour éviter la gestion
fastidieuse de facturations interinstitutionnelles, des systèmes de compensation entre les
établissements qui, la plupart du temps, sont à la fois demandeurs et fournisseurs de
documents.
Il est à noter que l‟envoi d‟un document sous forme originale par le biais du prêt entre
bibliothèques n‟oblige pas forcément l‟établissement demandeur de prêter à l‟extérieur de
20
Chapitre 1 : Le prêt entre bibliothèques
l‟établissement : soit parce que la bibliothèque prêteuse s‟y oppose, soit parce que la
bibliothèque demandeuse ne le souhaite pas.
B. Le document :
Le principe du prêt entre bibliothèques veut qu'une demande de document se fasse vers
une bibliothèque où le document recherché a été précisément localisé.
Cependant, dans la mesure où les catalogues en ligne ne sont pas encore totalement
exhaustifs des fonds conservés dans les bibliothèques, on peut adresser une demande
concernant un document non parce qu'il a été localisé dans la bibliothèque sollicitée, mais
parce que les probabilités qu'il s'y trouve (sujet du document, type de document…) sont fortes
en prenant en compte la nature des fonds de la bibliothèque concernée, ses domaines
d‟excellence, etc. On notera que, s'agissant de documents récents, la probabilité devient plus
faible, puisqu'un document récemment acquis doit de facto faire l'objet d'une notice
informatisée dans le catalogue consulté.
C. Le fournisseur :
Devant l'afflux de demandes, certaines bibliothèques très sollicitées ont mis en place des
systèmes de quotas : dans ces établissements, on ne traite qu'une certaine quantité de
demandes par jour ; cet élément peut être un critère de sélection de la bibliothèque.
21
Chapitre 1 : Le prêt entre bibliothèques
La demande de prêt doit prendre une forme écrite. Si la transmission par voie postale ou
par fax reste possible, elle est de plus en plus délaissée au profit du courrier électronique, ou
d‟outils gérant l‟émission et la transmission des demandes à l‟aide de protocoles propriétaires.
Pour autant, ce qui définit un réseau de prêt entre bibliothèques d'un point de vue
technique, c'est avant tout l'utilisation d'un logiciel spécifique pour le traitement et la
transmission des demandes.
Dans la majorité des cas, ce logiciel s'appuie sur la mise en place d‟outils de gestion des
utilisateurs (pour n‟autoriser l‟accès qu‟aux seuls utilisateurs habilités ou inscrits), de
formulaires de saisie de la demande, d'outils de sélection des bibliothèques prêteuses
(permettant de les classer selon un ordre préférentiel spécifique à la bibliothèque
demandeuse), de gestion de la demande (comme la relance automatique de la demande, la
retransmission de la demande en cas de réponse négative), de gestion des statistiques et de la
facturation, etc. Il s'agit donc d'une gestion type base de données (identification des éléments
de la demande, fichiers de fournisseurs et de clients…), et d'une gestion d'échanges de
données.
Pour cette dernière fonction, une normalisation a été mise au point dans le cadre de
l'Organisation Internationale de Normalisation, l'ISO : les normes ILL (Interlibrary Lending).
Il est à souhaiter qu'on se soucie de l'intégration entre ce corpus de normes et la norme ISO-
239.50 (mieux connue sous le nom de Z39.50), qui devrait permettre la normalisation des
échanges de données d'exemplaire entre systèmes informatiques distincts, éléments de base du
prêt entre bibliothèques.
Dans le souci d'intégration poussée des différentes fonctions, les outils de prêt entre
bibliothèques sont de plus en plus le prolongement automatisé et l'aboutissement d'une
recherche documentaire : l'usager qui, par exemple par le biais d'un catalogue collectif, aura
réussi à identifier dans un autre établissement un document qui l'intéresse peut, à partir des
éléments collectés et sans besoin de ressaisie, établir une demande de prêt entre bibliothèques
qui, ensuite peut être soit automatiquement transmise à la bibliothèque identifiée, soit traitée
et validée par la bibliothèque auprès de laquelle l'usager est inscrit avant envoi.
22
Chapitre 1 : Le prêt entre bibliothèques
Il est très important aussi de pouvoir suivre la demande de prêt dans toutes ces étapes :
accord de la bibliothèque demandeuse, état de traitement de la demande, envoi du document,
etc. Selon les cas, c‟est la bibliothèque emprunteuse qui sera avertie sinon ce sera directement
l‟usager.
Selon les cas, le document sera transmis sur son support d'origine (électronique ou
matériel) ou reproduit. La reproduction concerne les documents dont la bibliothèque prêteuse
ne veut pas ou ne peut pas se défaire sous leur forme originale (documents rares, précieux ou
fragiles ; volumes de périodiques, etc.).
Là encore, il est évident que, à terme et au moins pour les documents les moins
volumineux, la transmission par voie électronique de documents sera bientôt la règle : soit que
le document d'origine soit d'emblée sous forme électronique, soit qu'on le numérise en
utilisant des équipements que leur généralisation rend de moins en moins coûteux et de plus
en plus performants.
Le mode de transmission des documents varie bien sûr suivant la nature du support
utilisé : généralement, la voie postale est privilégiée pour les documents sous forme imprimée
ou autre, tandis que l'utilisation du réseau internet s'impose pour les documents sous forme
électronique, même si l‟envoi par fax reste possible.
23
Chapitre 1 : Le prêt entre bibliothèques
Dans la majorité des systèmes de prêt où le fournisseur est unique face au demandeur, le
paiement à l'avance, soit sous forme de dépôt préalable, soit par l'achat de "coupons" ouvrant
droit à la fourniture d'un certain nombre de documents, est la règle.
L'utilisation du prêt entre bibliothèques permet la mise en œuvre d'une solution plus
souple et plus originale, le clearing house : dans ce système, semblable au système de
compensation entre établissements bancaires, chaque bibliothèque participante est, à l'égard
de chacune des autres bibliothèques membres du réseau de prêt, à la fois créditrice et
débitrice. A intervalles fixes, on fait le compte des lignes de crédit et des lignes de débit :
selon qu'elle est excédentaire (le coût des documents fournis est supérieur à celui des
documents reçus) ou déficitaire, la bibliothèque se fera soit créditée, soit devra payer le
montant du déficit à l'administration coordinatrice du réseau.
On peut noter que ce système ne suppose pas forcément l'existence d'un organisme
régulateur c'est-à-dire que des accords de gré à gré entre établissements (sous réserve de leur
faisabilité comptable) peuvent aussi bien être envisagés.
Impala (Instant Mailing Procedure for Automated Lending Activities) est le principal
système de prêt entre bibliothèques belges. Créé en 1991, il prend en charge la gestion
automatisée des demandes et des réponses de PEB entre bibliothèques. Impala est un système
ouvert : il n'est pas nécessaire d'être membre d'IMPALA pour bénéficier de ses services, de
même que les bibliothèques-membres peuvent adresser leurs demandes à des bibliothèques
extérieures au réseau. Impala peut être utilisé à partir de quatre catalogues collectifs.
6.2. Subito :
24
Chapitre 1 : Le prêt entre bibliothèques
de revues, 20 millions de livres sont accessibles, sans oublier une base d'articles de
périodiques qui permet la recherche dans plus de 20.000 périodiques postérieurs à 1992.
L'une des particularités de Subito est qu'il accepte aussi bien l'inscription de particuliers
que d'institutions, à des conditions bien évidemment différentes. De même, différents modes
d'accès sont possibles selon les besoins en matière de PEB : fourniture de copies d'articles
uniquement, documents originaux, etc. De même, les formats de fourniture des documents
sont extrêmement variés, avec une prééminence de plus en plus importante de la fourniture
directement par voie électronique.
Subito est un système fédérateur et souple, qui s'appuie largement sur les systèmes
existants de fourniture des documents, en apportant des "plus", comme la possibilité pour
l'utilisateur de centraliser par le biais de Subito le paiement de demandes faites auprès de
prestataires différents. En quelque sorte, Subito combine les avantages d'un système centralisé
de fourniture, tel que l'INIST (l'Institut national de l'information scientifique et technique) ou
le BLDSC (British Library Document Supply Centre), et ceux d'un système décentralisé,
comme le réseau des bibliothèques du SUDOC (Le Système universitaire de documentation).
Le Catalogue collectif suisse est la plaque tournante du prêt entre bibliothèques. Les
bibliothèques suisses peuvent adresser leurs demandes de prêt entre bibliothèques au CCS, qui
localise les publications recherchées dans les bibliothèques suisses et fournit une vérification
25
Chapitre 1 : Le prêt entre bibliothèques
Depuis avril 2003, le Réseau des bibliothèques de Suisse occidentale (RERO) propose à
ses usagers un système de prêt entre bibliothèques. Moins d‟un an après son ouverture, ce
système aura traité 70.000 demandes émanant tant des bibliothèques membres du réseau (une
centaine pour le PEB) que de 190 institutions étrangères. Les usagers inscrits dans l‟une des
bibliothèques membres du réseau peuvent l‟utiliser directement
6.4. LinkUK :
Les bibliothèques ont toujours coopéré pour dresser leur propre inventaire. L'arrivée
d'Internet puis du Web a bouleversé les modes de production et de diffusion de ces
recensements. Bon nombre d'entre eux sont désormais et exclusivement disponibles en ligne,
ce qui permet tout à la fois d'utiliser ces outils, souvent complexes d'utilisation, pour des
recherches très ponctuelles, et d'être assuré de mises à jour régulières.
S'il est relativement facile d'identifier une bibliothèque par le biais des nombreux
répertoires disponibles, il est beaucoup plus difficile de savoir ce qu'elles possèdent, et encore
plus aléatoire d'espérer sélectionner une bibliothèque non par ses spécialités ou par sa
localisation géographique, mais par l'intérêt de ses collections par rapport à ses objectifs de
recherche.
26
Chapitre 1 : Le prêt entre bibliothèques
Libweb (Library www servers) recense plus de 7000 sites de bibliothèques dans 125
pays. il ne recense que les bibliothèques présentes sur la Toile. C'est aussi le cas d'un
répertoire comparable, Libdex : the Library index, qui recense tout de même près de
18.000 bibliothèques.
The WWW virtual library n'est pas à proprement parler un répertoire de bibliothèques
sur le Web mais, dans son souci de proposer aux internautes, par le biais du bénévolat,
des ressources de tous types et sur tous sujets, il comporte aussi d'intéressantes listes
d'établissements, comme par exemple l'important Libraries and library resources for
chinese studies, qui s'intéresse tout à la fois aux bibliothèques occidentales
s'intéressant à l'Orient et aux bibliothèques d'Asie du Sud-Est en général, mais ne
semble plus mis à jours depuis décembre 2001.
Cependant, il existe tout aussi bien des répertoire spécialisés par type d‟établissement
comme par exemple le site de l'IFLA (International Federation of Library Associations) qui
en offre un certain nombre, comme celui consacré aux bibliothèques nationales (National
libraries of the world : Address list) qui ne propose malheureusement que des informations
extrêmement succinctes sur chaque bibliothèque répertoriée.
27
Chapitre 1 : Le prêt entre bibliothèques
28
Chapitre 1 : Le prêt entre bibliothèques
A. Avantages :
B. Inconvénients :
¹ La conversion rétrospective est l'opération qui permet de convertir sous forme exploitable par
ordinateur, dans un format standard, un ensemble de notices bibliographiques de documents déjà
catalogués manuellement ou informatiquement dans un autre format [WEB_01].
29
Chapitre 1 : Le prêt entre bibliothèques
- Domaine : les thèmes traités dans les documents recensés, que ceux-ci soient géographiques (tous
les documents sur un pays ou dans une langue donnée), historiques (tous les documents ou certains
documents d'une époque donnée) ou proprement thématiques (sujets abordés).
Cela dit, la combinaison des ces critères entraine l‟apparition d‟une diversité de types distincts
de catalogues collectifs.
OCLC (Online Computer Library Center) est fondé en 1967 pour le partage de la
gestion de certaines ressources bibliothéconomiques et de réduire les coûts de
fonctionnement, c‟est sans doute la plus grande organisation collective en matière de gestion
de bibliothèques au monde. L'étendue de ses activités excède très largement le strict cadre des
catalogues collectifs, même si on ne peut qu'évoquer ces autres activités.
30
Chapitre 1 : Le prêt entre bibliothèques
Worldcat
Le cœur du système reste néanmoins constitué par WorldCat, énorme base de données
bibliographiques dont le simple énoncé chiffré donne le vertige : 57 millions de notices
bibliographiques, près de 965 millions de localisations, pour plus de 53.000 bibliothèques
connectées dans près de 90 pays différents. Couvrant 4000 ans d'histoire écrite, la base inclut
des notices de documents dans 400 langues différentes.
Une nouvelle notice est créée dans Worldcat toutes les dix secondes. Par delà la
diversité des pratiques et des langues, Worldcat obéit à un ensemble relativement rigoureux
de règles : l'application des normes américaines de catalogage (AACR2000), l'utilisation d'un
format proche du format MARC21 américain, la présence de vedettes-matières et auteurs
issues des listes de la Bibliothèque du Congrès.
Autres services
OCLC, dans le souci de diversifier ses activités (et ses revenus), a multiplié les services
aux bibliothèques, dans le souci notamment de valoriser Worldcat.
31
Chapitre 1 : Le prêt entre bibliothèques
Le service FirstSearch, créé en 1991 et utilisé par 20.000 bibliothèques, propose quant à
lui l'accès à plus de 70 bases de données différentes, soit de dépouillement, soit de textes
intégraux, représentant plus de dix millions de références Dans le même domaine, Netlibrary
propose l'accès à près de 40.000 livres électroniques.
Bien évidemment, rien de ce qui concerne les métadonnées (OCLC est à l‟origine
du « Dublin Core Initiative ») et la documentation électronique n‟est étranger à OCLC, qui a
développé un nombre important de programmes dans ces domaines. Soucieux d'agrandir son
influence, OCLC a racheté le consortium PICA².
B. RLG :
Fondé en 1974, le Research Libraries Group (RLG) a été conçu dès l'abord comme un
outil de mise en commun de ressources de bibliothèques universitaires, nationales,
historiques, possédant des collections utiles à la recherche. Organisation sans but lucratif,
RLG regroupe aujourd'hui environ 150 établissements. Par l'intermédiaire de différentes
interfaces, RLG donne accès à des millions de notices bibliographiques et autres. On peut y
trouver entre autres l'accès à des bases de données de dépouillement, à des archives, voire à
des documents primaires sous forme numérisée.
L'essentiel cependant est constitué par le RLG Union Catalog, qui inclut plus de 130 millions
de notices bibliographiques et près de 10 millions de notices d'autorités. En fait, ce catalogue
est lui-même un agrégat de catalogues : CURL Union catalogue, English Short Title
Catalogue, Hand Press Book database… .
¹ La classification décimale de Dewey (CDD) est un système visant à classer l'ensemble du savoir
humain à l'intérieur d'une bibliothèque, développé par Melvil Dewey en 1876.
² le consortium PICA, fondé en 1969, est le principal organisme de coopération entre les
bibliothèques néerlandaises. Il est devenu OCLC PICA en 2002.
32
Chapitre 1 : Le prêt entre bibliothèques
Le RLG Union Catalog proprement dit est cependant le cœur du système, avec 45
millions de notices recensées. Constitué de 8 fichiers distincts par type de documents, mais
pouvant être interrogés d'une manière unique; archives, monographies, cartes, enregistrements
sonores, publications en série,...
Le RLG a développé l‟outil ILL Manager, logiciel client spécialisé dans les transactions
de prêt entre bibliothèques. L‟outil ARIEL dont il est question dans la partie spécifique
consacrée au prêt entre bibliothèques est la version commercialisée de ce produit, il permet de
gérer entièrement, par l'intermédiaire d'un poste client, une demande de prêt entre
bibliothèques et l'envoi du document sous forme scannée ou numérisée. Bien sûr, les
bibliothèques demandeuse et prêteuse doivent être équipées du même logiciel pour que
l'ensemble puisse fonctionner.
Autres services
Le RLG propose l‟accès à une vingtaine de bases de données dans les disciplines les
plus diverses, mais relevant essentiellement des sciences humaines : droit, sciences sociales,
histoire, art et architecture, anthropologie, archéologie…
Le RLG a depuis ses débuts été perçu comme une sorte de "rival" d'OCLC, dont il
partage largement les ambitions. Mais, là où OCLC s'est développé dans une optique
mondiale, tant en termes de pays que de types d'établissements, le RLG a constamment
préservé ces missions de départ, privilégiant un nombre restreint de prestigieux et riches (en
33
Chapitre 1 : Le prêt entre bibliothèques
C. ISSN:
Créé en 1976, le réseau ISSN, coordonné par le Centre international de l'ISSN (hébergé
par la France) avait pour but de coordonner la description de ces ressources complexes, en
attribuant à chacune d'entre elles (c'est-à-dire à l'ensemble des fascicules partageant des
caractéristiques communes définissant une publication en série) un numéro unique et un titre-
clé, éléments univoques d'identification de chaque publication en série, qui puisse être utilisé
tout à la fois dans un cadre bibliographique et dans un cadre commercial.
Vingt-cinq ans plus tard, cette ambition de départ a été parfaitement remplie. L'ISSN,
utilisé dans la fabrication des codes-barres qui régissent désormais la distribution des
publications dans les grands réseaux de distribution, est aussi le numéro d'identification de
publications en série le plus répandu et le plus fiable dans les grands outils bibliographiques.
La base de données de l'ISSN, connue sous le nom de Registre de l'ISSN, contient plus
de 1,125.000 notices de publication en série. Elle est disponible en ligne, sur abonnement, et
via un CD-ROM édité une fois par an. Environ 50.000 notices nouvelles sont ajoutées tous les
34
Chapitre 1 : Le prêt entre bibliothèques
ans, et près de 60.000 corrections et modifications sont effectuées sur les notices déjà
présentes dans le Registre.
La base de l'ISSN est bien le fruit d'un travail collaboratif, et en tant que tel a bien sa
place dans notre recensement : la collecte des notices s'appuie sur un réseau de 75 centres
nationaux à compétence géographique, généralement hébergés (quand elles existent) par les
bibliothèques nationales des pays concernés.
Ces centres ont la charge de recenser l'ensemble des publications en série de leur zone
de compétence et de leur attribuer un numéro d'ISSN. Le centre international se chargeant
quant à lui d'assurer la cohérence de la base, par le chargement des mises à jour régulières des
centres nationaux, et du recensement des publications internationales.
9. Conclusion :
Bien que le prêt entre bibliothèques est une pratique plus que centenaire, son avenir
sous une forme coopérative, surtout quand celle-ci suppose l'existence d'un puissant (donc
coûteux) organisme fédérateur semble être incertain. En effet le renforcement du secteur
privé, le développement de solutions "one to one", ne laissent pas forcément augurer un grand
avenir au prêt entre bibliothèques sous une forme collective.
35
Chapitre 1 : Le prêt entre bibliothèques
accessibles à distance sont limitées à quelques années de publication, il ne faut pas oublier
que ce sont justement les articles les plus récemment parus qui représentent la majorité des
transactions.
Enfin, la numérisation en masse d‟ouvrages fait craindre, là encore, une baisse de plus
en plus marquée de l‟activité de PEB : seul l‟avenir dira si une activité qui, dans ses
modalités, a encore recours à des circuits de transmission traditionnels, pourra se pérenniser –
sans qu‟il soit raisonnable de tabler sur son expansion.
Les catalogues collectifs, quant à eux, réduisaient les coûts liés au traitement des
documents, en permettant une meilleure maîtrise des politiques d'acquisition et de
conservation.
Aujourd'hui, où le problème des coûts est plus que jamais à l'ordre du jour face à
l'inflation documentaire, les outils collectifs sont malgré tout remis en cause dans la plupart
des pays. Cette évolution semble pour le moins paradoxale : la mise en place d'Internet et
l'adoption de ses standards favorise plus que jamais l'échange aisé de données ; les réseaux
physiques sur lesquels il s'appuie permettent la mise en œuvre rapide et sans grandes
contraintes de réseaux documentaires étendus, et qui ne sont plus ni temporellement ni
géographiquement limités.
36
Chapitre 2:
et médiation
37
Chapitre 2 : Bases de données réparties et médiation
1. Introduction :
Dans la suite de ce chapitre nous nous étalerons sur les caractéristiques des bases de
données réparties ainsi que sur la gestion des données distribuées. On abordera aussi
l‟approche de médiation, en commençant par ces caractéristiques et types jusqu'à son
architecture et son processus.
Une BDD repartie (BDDR) est une base de données logique dont les données sont
stockées sur de différents sites, généralement géographiquement distants, et vues comme un
tout. Ces parités de données réunies forment la BDDR gérée par un SGBD reparti (SGBDR).
Il est à noter que ces sites sont considérés comme égaux (pas de site central) et
bénéficient d‟une autonomie locale.
38
Chapitre 2 : Bases de données réparties et médiation
Site 1
Site 4
BDD 4
Réseau
Site 5
d’interconnexion
Site 3
BDD 5
Site 2
BDD 3
BDD 2
Les bases de données réparties ont une architecture plus adaptée à l‟organisation des
entreprises décentralisées [MOU, 07].
- Plus de fiabilité : les BDDR sont souvent répliquées. La panne d‟un site n‟est pas très
importante pour l‟utilisateur, qui s‟adressera à autre site.
- Meilleures performances : réduire le trafic sur le réseau est une possibilité
d‟accroître les performances. Le but de la répartition des données est de les rapprocher
de l‟endroit où elles sont accédées. Répartir une base de données sur plusieurs sites
permet de répartir la charge sur les processeurs et sur les entrées/ sorties.
39
Chapitre 2 : Bases de données réparties et médiation
1. Autonomie de chaque site : chaque site est responsable de l‟intégrité de ses données, sa
propre sécurité et sa gestion interne. Chaque site doit rester fonctionnel même s‟il ne peut
pas communiquer avec les autres sites (en cas de panne réseau par exemple).
2. Absence de site privilégié : l‟objectif est la décentralisation de l‟information afin d‟éviter
les goulots d‟étranglement.
3. Continuité de service : le système réparti doit être tolérant aux pannes, c'est-à-dire que la
défaillance d‟un site particulier, n‟affecte pas le bon fonctionnement de tout le système.
4. Transparence vis à vis de la localisation des données : les utilisateurs ne connaissent pas le
schéma d‟allocation des données.
5. Transparence vis à vis de la fragmentation : les utilisateurs ne connaissent pas le schéma
de fragmentation des données.
6. Transparence vis à vis de la réplication : les utilisateurs ne connaissent pas si les données
sont répliquées ou pas.
7. Traitement des requêtes distribuées : le support de requêtes distribuées est essentiel, ainsi
que des méthodes d‟optimisation des exécutions de requêtes en milieu réparti.
8. Traitement des transactions distribuées : des méthodes d‟exécutions de transactions en
milieu réparti doivent être garanties.
9. Indépendance vis à vis du matériel : s‟exécute sur différentes architectures matérielles.
10. Indépendance vis à vis du système d‟exploitation : la base de données répartie doit être
indépendante du système d‟exploitation utilisé dans les différents sites.
11. Indépendance vis à vis du réseau : utiliser un protocole réseau permettant de s‟affranchir
des différents types de réseaux.
12. Indépendance vis à vis du logiciel : un système interopérable du point de vue logiciel
possède des interfaces de communication avec d‟autres logiciels.
1.3. Approche de conception d’une BDD repartie : [GAR, 91], [MOU, 07],
[WEB_02]
40
Chapitre 2 : Bases de données réparties et médiation
L‟approche top down est assez peu fréquente et est intéressante quand on part du néant.
Elle n‟est pas forcément utilisée à cause de la répartition géographique mais aussi dans le cas
où on recherche de la performance, c'est-à-dire, lorsqu‟on veut minimiser le temps de
transfert, le nombre de transferts entre les sites, le temps moyen de traitements des requêtes et
le volume de données transférées….
Dans cette approche, on commence par définir le schéma conceptuel global de la base
de données repartie puis on distribue sur les différents sites en des schémas conceptuels
locaux. La répartition se fait donc en deux étapes, en première étape la fragmentation et en
deuxième étape l‟allocation de ces fragments aux sites.
Cette méthode voit son intérêt dans la création de nouvelles bases de données.
Aux niveaux conceptuel et externe la BDD repartie est perçue comme une BDD
centralisée donc le concept de répartition réside dans le niveau interne.
L‟approche se base sur le fait que la répartition est déjà faite, mais il faut réussir à
intégrer les différentes BDD existantes ayant des SGBD différents en une seule BDD globale.
En d‟autres termes, les schémas conceptuels locaux existent et il faut réussir à les unifier dans
un schéma conceptuel global.
Au niveau conceptuel la BDD repartie est définie comme un ensemble de BDD entre
lesquelles peuvent être définies des associations et divers contraintes d‟intégrités, à ce niveau
la localisation des BDD reste inconnue.
Au niveau externe, les vues peuvent faire apparaître ou non la multiplicité des BDD,
selon le souhait de l‟utilisateur. Le niveau interne n‟autorise pas une allocation des données
aussi fine que dans l‟architecture précédente. En effet, les BDD locales étant existantes, seule
est permise la duplication de la totalité d‟une BDD.
41
Chapitre 2 : Bases de données réparties et médiation
Médiateur : Un médiateur est défini par [WIE, 92] comme suit : Un médiateur est un
logiciel qui constitue une interface utilisateur permettant l‟accès à différentes ressources de
manière transparente, et ce malgré leurs hétérogénéité et répartition. Pour ce faire, le
médiateur utilise des métadonnées (connaissances) utile pour les divers services.
3. Résoudre les conflits structurels et/ou sémantiques entre les données des différentes
sources.
Globalement un médiateur offre un accès direct aux sources et se caractérise par : [VOD, 03]
Pour accéder aux bases de données locales, le médiateur fait appel à des Wrappers.
43
Chapitre 2 : Bases de données réparties et médiation
Wrapper : Un Wrapper de données est un logiciel qui convertit les requêtes exprimées dans
le modèle de médiation provenant d‟un ou de plusieurs médiateurs vers le modèle des bases
de données locales. Il convertit les données, résultats d‟une requête, du modèle des bases de
données locales vers le modèle de médiation. Un Wrapper de données offre une interface
homogène locale d‟accès aux données sources (présentation des données dans le format
Le concept de médiateur dans le domaine des systèmes d'information est apparu pour intégrer
1
des sources d'informations hétérogènes. "Gio Wiederhold" a proposé une architecture
logicielle à trois niveaux et a défini un médiateur de la façon suivante: "un médiateur est un
module logiciel qui exploite la connaissance de certains ensembles ou sous-ensembles de
données pour créer de l'information pour des applications à un niveau supérieur " [GIO, 92].
Cette architecture, qui s'est largement imposée dans les systèmes d'information, repose sur les
trois couches suivantes: sources, médiateurs et clients.
1
Gio Wiederhold : Professeur émérite d'informatique de l'Université Stanford. Sa recherche concerne
principalement la conception de larges systèmes d'information, leur évolution et la protection de leur
contenu.
44
Chapitre 2 : Bases de données réparties et médiation
Niveau
médiation
Il est à noter qu‟un facilitateur est un outil chargé à la fois de localiser les données pertinentes
et de les mettre en forme pour les applications.
1
DARPA I3 : Une architecture générique des solutions de médiation conçue par l‟ARPA (Advanced
Research Projects Agency) du département de la défense américaine1. Cette architecture baptisée I3
(Intelligent Integration of Information) est proposée par Gio Wiederhold.
45
Chapitre 2 : Bases de données réparties et médiation
On trouve aussi à ce niveau des facilitateurs permettant d'identifier les sources qui peuvent
être des sources de données ou des médiateurs, et de composer les réponses pour les
utilisateurs.
Un langage de requête commun ainsi qu'un modèle de données commun entre les
facilitateurs, le médiateur et les adaptateurs doivent être définis pour toute l'architecture. Le
rôle d'un adaptateur consiste essentiellement à permettre la traduction du langage de requête
commun vers le langage natif de la source qu'il gère, et la traduction du modèle de donnée de
la source en modèle de données commun.
Les sources de données accessibles peuvent être très différentes: certaines sont des
SGBD relationnelles, d'autres des SGBD objets, certains encore sont des systèmes de fichiers
ou des pages Web et d'autres des moteurs de recherche ou encore même des médiateurs.
46
Chapitre 2 : Bases de données réparties et médiation
A. Médiation de schéma :
B. Médiation de contexte :
Cette approche repose sur une intégration dynamique des informations. Chaque
application et chaque source de données locale doivent exprimer leur domaine sous forme de
contexte d‟utilisation des informations et ce pour permettre au médiateur, lors du traitement
d‟une requête, de comparer le contexte de l‟application aux contextes des systèmes participant
à la coopération. Le médiateur est guidé alors par des informations à caractère sémantique
pour résoudre dynamiquement une requête sans connaissance préalable des systèmes
d‟informations participants.
On peut classifier les systèmes d'intégration de données suivant la relation entre les schémas
des sources locales par rapport au schéma unifié global sur le médiateur. On distingue deux
types de système: un schéma global comme vue sur des schémas locaux GAV ou des vues
locales comme vues du schéma global LAV.
A. L’approche GAV
Elle est assez intuitive et consiste à définir le schéma global comme une vue sur les schémas
locaux. C‟est-à-dire que le schéma global est considéré comme étant une vue sur les schémas
des sources, pour cela les prédicats de ce schéma global, aussi appelés relations globales,
47
Chapitre 2 : Bases de données réparties et médiation
sont définis comme des vues sur les prédicats des schémas des sources à intégrer. Si la
conception du schéma dans l‟approche globale est assez simple ainsi que la construction des
résultats qui consiste à remplacer les prédicats du schéma global de la requête par leur
définition, l‟ajout d‟une nouvelle source peut obliger à reconcevoir le schéma global et donc à
reconsidérer l‟ensemble des sources. Ce problème représente une sérieuse limite de cette
approche lorsque le nombre de sources considérées est important.
Schéma global
GAV
B. L’approche LAV
Cette méthode consiste à procéder à l‟inverse de l‟approche AV, c‟est-à-dire à définir les
schémas locaux comme des vues sur le schéma global qui est défini indépendamment des
sources de données et supposé existant.
L‟avantage de l‟approche locale est que l‟ajout d‟une nouvelle source est très simple, puisque
cela n‟a aucun effet sur le schéma global, il s‟agit juste de définir une vue sur ce dernier. En
revanche, le traitement des requêtes et la construction des réponses sont complexes car des
algorithmes pour la réécriture de la requête et la recomposition des réponses s‟avèrent
incontournables.
Schéma global
Comme le suggère [REY, 00], les principales étapes du processus de médiation sont les
suivantes :
Lors de la construction d‟un système médiateur, deux problèmes majeurs se posent et doivent
être résolus [ROU, 02] :
Le choix du langage utilisé pour modéliser le schéma global, ainsi que le choix des
langages de représentation des vues sur les sources à intégrer et les requêtes des
utilisateurs.
En fonction de ces choix de modélisation, la conception et la mise en œuvre
d‟algorithmes de réécriture de requêtes en termes de vues.
4. Conclusion :
Nous avons étudié dans ce présent chapitre les bases de donnés réparties ainsi que
l‟approche d‟intégration de données par la médiation. Les BDDR sont venues suite à
l‟évolution des bases de données décentralisées. Elles comptent plusieurs avantages, dont le
principal est sans doute le partage de données hétérogènes et distribuées géographiquement
sur différents sites. Cela dit, il existe certains reproches; on cite la complexité de conception et
un coût de mise en œuvre très important. Mais le problème le plus délicat reste celui de la
sécurité, de nature plus compliquée que celle d‟une base centralisée.
La médiation quant à elle, vise à offrir à l‟utilisateur une vue virtuelle homogène des
sources intégrées tout en gardant leurs autonomies locales. Les données n‟étant pas répliquées
dans une base de données globale, il en découle une absence d‟incidence de mise à jour des
données sur le système intégré. Cela permet d‟éviter le problème de maintenance des données.
Par contre, quelques inconvénients demeurent à citer. L‟accroissement des sources de
données, en nombre et en volume, pose principalement deux problèmes pour cette approche
à savoir la complexité de conception du schéma global et la difficulté d‟optimisation de la
réécriture des requêtes.
49
Partie 2 :
Conception
Et mise en œuvre
50
Méthode d‟analyse et de conception
La conception d'un logiciel passe par l'emploi d'une méthode qui s'appuie sur un
langage de modélisation. La méthode de développement est une succession d'étapes qui
permettent de maîtriser le déroulement du projet et qui donnent aux utilisateurs une meilleure
visibilité de certains résultats produits et garantissent ainsi l‟inadéquation du résultat final.
Chaque étape de la méthode employée est ponctuée par la création d'un modèle du système
étudié. Un modèle est une représentation abstraite selon un certain formalisme de la réalité qui
exclut certains détails du monde réel.
Pour concevoir notre système, nous avons opté pour l‟approche objet et cela en raison de
plusieurs avantages :
Pour justifier notre choix, nous présenterons ci-dessous une comparaison de l‟approche objet
et de l‟approche fonctionnelle.
Dans le tableau ci-dessus, on voit bien une différence majeure entre les deux approches
qui est la prise en considération de l‟évolution des besoins des utilisateurs dans le temps. Pour
51
Méthode d‟analyse et de conception
la première approche (approche objet), l‟évolution des besoins aura le plus souvent tendance à
se présenter comme un changement de l‟interaction des objets. S‟il faut apporter une
modification aux données, seul l‟objet incriminé sera modifié. Toutes les fonctions à modifier
sont bien identifiées : elles se trouvent dans ce même objet : ce sont ses méthodes.
Comme la maîtrise de l‟évolution des besoins des utilisateurs est une préoccupation
majeure de n‟importe quel concepteur de logiciels, nous avons le souci de maintenir notre
système à long terme, ce qui justifie et explique le choix de l‟approche objet.
Pour ce faire nous avons choisi UML comme langage de modélisation et le processus
2TUP comme méthode de développement.
C'est à partir de 1997 que l'OMG2 (Object Management Group) qui standardise les
technologies de l'objet, s'est attachée à la définition d'un langage commun unique, utilisable
par toutes les méthodes objets dans toutes les phases du cycle de vie et compatible avec les
techniques de réalisation du moment. D'où la naissance d‟UML. UML offre des éléments
pour décrire les différents aspects d'un système: les diagrammes.
52
Méthode d‟analyse et de conception
Pour établir les diagrammes, nous allons utiliser Visual Paradigm For UML (version7.0), qui
est un outil du professionnel UML qui soutient le cycle de vie complet de logiciel - analyse
orientée objectivement, conception orientée objectivement, construction, essai et déploiement.
Il permet de dessiner tous les types de diagrammes de classe, renverser le code, produire du
code des diagrammes et produire de la documentation [WEB_03]
UML n‟est, toutefois, qu‟un langage de modélisation et il doit être accompagné d‟un
processus qui devra guider la modélisation, étape par étape, jusqu‟à la réalisation.
Le Processus Unifié :
itérative et incrémentale : la méthode est itérative dans le sens où elle propose de faire des
itérations lors de ses différentes phases, ceci garantit que le modèle construit à chaque
53
Méthode d‟analyse et de conception
phase ou étape soit affiné et amélioré. Chaque itération peut servir aussi à ajouter de
nouveaux incréments.
conduite par les cas d‟utilisation : elle est orientée utilisateur pour répondre aux besoins de
celui-ci.
centrée sur l‟architecture : les modèles définis tout au long du processus de développement
vont contribuer à établir une architecture cohérente et solide.
pilotée par les risques : en définissant des priorités pour chaque fonctionnalité, on peut
minimiser les risques d‟échec du projet.
Le processus 2TUP :
On dit de la méthode UP qu‟elle est générique c.à.d. qu‟elle définit un certain nombre
de critères de développement, que chaque société peut par la suite personnaliser afin de créer
son propre processus plus adapté à ses besoins.
C‟est dans ce cadre que la société Valtech a crée la méthode 2TUP. 2TUP signifie « 2
Track Unified Process» .C‟est un processus qui répond aux caractéristiques du Processus
Unifié. Le processus 2TUP apporte une réponse aux contraintes de changement continuel
imposées aux systèmes d‟information de l‟entreprise. En ce sens, il renforce le contrôle sur les
capacités d‟évolution et de correction de tels systèmes. « 2 Track» signifient 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
d‟information.
La capture des besoins fonctionnels, qui produit un modèle des besoins focalisé sur le
métier des utilisateurs.
L‟analyse.
La conception préliminaire.
La conception détaillée.
Le codage.
L‟intégration.
55
Chapitre 3 :
Proposition de la solution
56
Chapitre 3 : Proposition de la solution
Il s‟agit d‟offrir un service de prêt inter bibliothèques. C'est-à-dire qu‟un lecteur d‟une
bibliothèque peut consulter et emprunter un ouvrage d‟une autre bibliothèque. Les
bibliothèques sont distantes et dotées de systèmes de gestion distincts.
Le travail à faire consiste à mettre sur pied ce service de prêt. Le système à réaliser
permettra la gestion du prêt interbibliothèques.
2. Proposition de la solution :
Dans les chapitres précédents nous avons présenté un état de l‟art sur le prêt
interbibliothèques et les systèmes existants, ainsi que sur les approches d‟intégration de
sources de données hétérogènes et distribuées. A priori, concevoir un système dans cette
même logique est l‟objectif de notre travail.
Notre travail consiste à réaliser un logiciel qui interagit avec plusieurs bibliothèques de
ressources documentaires pour gérer le prêt entre ces bibliothèques. Nous arrivons dans le
présent chapitre à la proposition de notre solution.
Nous proposons de réaliser une application web qui va regrouper les bibliothèques
participantes. C‟est un logiciel applicatif se manipule à l‟aide d'un navigateur web via un
réseau informatique internet.
Cette application permettra aussi la gestion du prêt inter bibliothèques par les gérants,
c'est-à-dire que toute la gestion du PEB se fait aussi à partir du site.
57
Chapitre 3 : Proposition de la solution
Notre application va exploiter les bases de données des systèmes de gestion des
bibliothèques (Voir annexe page 181) pour pouvoir faire fonctionner le service de prêt
interbibliothèques. Nous devons accéder avec transparence à ces bases sans causer des
incohérences ou anomalies dans les systèmes de gestion des bibliothèques. Pour cela nous
allons minimiser les mises à jour des données dans les bases locales des bibliothèques et nous
allons plutôt utiliser la base de données centrale celle de notre application web. Tout ce qui
concerne le prêt interbibliothèques sera sauvegarder dans la base du site, nous nous servons
principalement des bases locales des bibliothèques seulement pour lancer des recherches sur
les ressources documentaires et récupérer les résultats ou bien pour vérifier la disponibilité
des ressources.
3.1. En consultation :
1. La première chose à faire sur le site est de lancer une recherche de ressource selon des
critères choisis (titre, auteur, édition…). La recherche consiste à interroger simultanément
en temps réel et d‟une manière équitable les bases de données des bibliothèques.
2. Ensuite, nous devrons consulter aisément la fiche descriptive d‟une ressource
documentaire, choisie parmi les résultats, à partir de la base de données de sa bibliothèque
de possession.
3. Vérifier la disponibilité de la ressource localement chez la bibliothèque de possession,
c'est-à-dire l‟existence d‟exemplaire libre qui est ni réservé localement ni en prêt local.
Nous proposons de signaler l‟ouvrage comme étant « hors service » dans la base locale
de la bibliothèque de possession. Nous utilisons par exemple le champ de la base locale qui
58
Chapitre 3 : Proposition de la solution
décrit un exemplaire (en service, hors service, en réparation) et mettre l‟exemplaire en « hors
service » lorsqu‟il est en prêt PEB ou lorsqu‟il est réservé.
Nous allons procéder à cela de la même manière que le fait le système de gestion de la
base de données de la bibliothèque ainsi ce dernier ne sera pas en face d‟une incohérence ou
d‟une anomalie.
4. Propriétés du système :
Notre travail consiste à réaliser une application web qui permet la gestion du prêt
interbibliothèques (les réservations de ressources, les prêts et restitutions, les transitions de
ressources entre bibliothèques) et qui fédère plusieurs bibliothèques distantes indépendantes
dotées de systèmes de gestion différents.
La distribution :
Parmi les données que manipule notre application les ressources bibliographiques qui
proviennent de plusieurs bibliothèques distantes et indépendantes. Chaque bibliothèque met
une partie de ses ressources à disposition de notre application.
Donc les bibliothèques doivent permettre à notre application un accès libre et à distance
à leurs bases de données pour pouvoir récupérer les informations et faire les mises à jour
nécessaires pour le déroulement du PEB.
L’autonomie :
L‟autonomie locale vise à garder une administration locale séparée et indépendante pour
chaque bibliothèque participant à la fédération de bibliothèques. Une bibliothèque participant
à notre système interopérable doit fonctionner comme avant sa participation.
59
Chapitre 3 : Proposition de la solution
L’hétérogénéité :
Les bibliothèques peuvent garder leurs outils préexistants. Notre application web va
s‟adapter à cette hétérogénéité et inter opérer avec les bibliothèques telles quelles sont sans
leur exiger de migrer vers un système de gestion précis ou utiliser des outils particuliers.
Une même fonctionnalité requise aux bibliothèques, par notre système, est exprimée
différemment pour chaque bibliothèque en s‟adaptant à son système de gestion.
5. Architecture de médiation :
Afin d‟exploiter au mieux les ressources des bibliothèques et permettre ainsi une
recherche efficace dans leur fond documentaire, notre système envisage un mécanisme qui
s‟occupera de l‟intégration de plusieurs entrepôts (bases de données des bibliothèques) ayant
une structure définie au préalable.
Nous avons opté, dans la solution proposée, pour l‟approche « Médiation », qui a été étudié
dans le chapitre 2 de l‟état de l‟art, pour les motifs suivants :
La médiation est une approche souple et elle fournit le plus d‟autonomie aux
bibliothèques distantes.
l‟absence d‟incidence de mise à jour des données sur le système intégré. Cela permet
d‟éviter le problème de maintenance des données. En effet la médiation permet de
construire un système d‟interrogation de sources de données sans toucher aux données
qui restent stockées dans leurs sources d‟origine.
Transparence à la localisation des données pour les applications.
Disponibilité accrue des données en cas de pannes des serveurs.
Support de l‟hétérogénéité des sources.
L‟approche médiation est conçue pour intégrer des sources de données hétérogènes en
vue de lecture seulement. Nous allons proposer une solution qui est inspirée de l‟approche
« Médiation de schéma » et nous allons l‟étendre pour couvrir l‟écriture aussi.
60
Chapitre 3 : Proposition de la solution
Notre système personnalisé de médiation est fondé sur les composants suivants :
La présence d‟un schéma global est nécessaire puisqu‟il fournit un vocabulaire unique
servant à exprimer les requêtes des utilisateurs. Ce schéma unifie les schémas hétérogènes des
bibliothèques à intégrer en se basant sur une description homogène, uniforme et abstraite du
contenu des sources par des vues.
Notre schéma global est constitué des vues qui vont contenir les résultats d‟une
recherche sur le site. C'est-à-dire les notices bibliographiques résultant d‟une recherche.
Nous allons construire le schéma global par l‟approche GAV (Global as View), c'est-à-
dire que le schéma global est considéré comme étant une vue sur les schémas des sources.
Nous proposons un format commun qui va décrire ces notices. Ce format est basé sur le
standard « Dublin Core » (Voir annexe page 184), nous allons utiliser un sous ensemble
d‟attributs de ce standard (titre, auteur, mots-clés, description, éditeur, date, type, format,
langage, identificateur).
Ressource Auteur
0..n Ecrite_par 1..1
Code_bibliothèque Nom_auteur
Code_ressource
Prénom_auteur
Titre
Edition
Date
Type
Langage
Format
Mots_cles
Description
61
Chapitre 3 : Proposition de la solution
C‟est le langage commun dans lequel le médiateur interrogera les adaptateurs. Les
requêtes des utilisateurs sont exprimées dans un langage commun qui est basé sur l‟appel de
méthodes d‟exécution de requêtes.
Nous définissons des méthodes génériques qui répondent aux besoins de notre application
auprès d‟une bibliothèque donnée :
- Connexion à une base de données d‟une bibliothèque : une méthode qui établit la
connexion entre notre application et la base de données de la bibliothèque.
- Recherche par titre : une méthode qui recherche une ressource selon un titre donné.
- Recherche par auteur : une méthode qui recherche des ressources écrites par un auteur
donné
- Recherche par édition : une méthode qui recherche les ressources éditées par une maison
d‟édition donnée
- Recherche par année : une méthode qui recherche les ressources éditées en une année
donnée
- Recherche des auteurs d‟une ressource : une méthode qui permet de récupérer les noms et
prénoms des auteurs qui ont écrit une ressource donnée.
- Vérification de disponibilité : une méthode qui vérifie la disponibilité d‟une ressource en
local.
- Exemplaire libre : une méthode qui permet de récupérer le code d‟un exemplaire libre
d‟une ressource donnée
- Signaler « hors service » : une méthode qui permet de rendre un exemplaire en état « hors
service ».
- Signaler « en service » : une méthode qui permet de remettre un exemplaire en « en
service ».
5.3. Médiateur :
Le médiateur est un composant logiciel qui s‟occupe de la distribution des sources de
données (bibliothèques). Pour bien répondre aux besoins du système, le médiateur doit :
- Envoyer les plans d‟exécution à faire exécuter par les adaptateurs des différentes
bibliothèques.
- Recomposer les résultats des adaptateurs.
5.4. Adaptateur :
L‟adaptateur est une méthode qui se charge d‟adapter une méthode générale selon le
langage et le schéma utilisés dans le système de gestion d‟une bibliothèque
Les méthodes adaptatrices portent le même nom que la méthode générale qu‟ils
interprètent. Ainsi pour appeler une méthode adaptatrice propre à une bibliothèque, nous
utilisons le même nom général seulement nous devons précéder ceci par l‟inclusion du fichier
de configuration qui contient la déclaration des méthodes adaptatrices spécifiques à cette
bibliothèque. Voir annexe page 183.
63
Chapitre 3 : Proposition de la solution
Médiateur
Applications
Base de données
PEB
64
Chapitre 3 : Proposition de la solution
6. Fonctionnement de la médiation :
rche simple suivante: « Quelles sont les ressources documentaires dont le nom de l‟auteur est
"Carnegie" ? »
Notre système de médiation dans le cas de cette requête fonctionnera selon l‟algorithme
suivant :
65
Chapitre 3 : Proposition de la solution
Algorithme :
Elle récupère les noms et prénoms des auteurs de cette ressource dans un tableau
à 2 dimensions :
Fin pour
66
Chapitre 3 : Proposition de la solution
{A la fin nous obtiendrons le total des résultats de toutes les requêtes vers toutes les
bibliothèques dans les vues « Ressource » et « Auteur ».}
B. Afficher les résultats contenus dans les vues. (On permet à l‟utilisateur de personnaliser
l‟affichage selon ses préférences en triant les résultats selon des critères qu‟il choisit).
67
Chapitre 4 :
Etude Préliminaire
68
Chapitre 4 : Etude préliminaire
Objectifs du chapitre :
Ce chapitre va nous servir à poser les bases de la capture des besoins du système à
réaliser. Nous allons déterminer les besoins fonctionnels en considérant le système comme
une boîte noire, afin d‟étudier sa place dans le système métier plus global de l‟entreprise.
Après avoir identifié les acteurs qui interagiront avec le système, nous développerons un
premier modèle UML de niveau contexte, pour pouvoir établir précisément les frontières
fonctionnelles du système.
A travers l‟application web on devra gérer (ajouter, modifier, supprimer) les bibliothèques
participantes, les bibliothécaires représentant des bibliothèques et les adhérents du PEB.
La gestion des adaptateurs devra pouvoir être effectué à partir de l‟application : l‟ajout d‟un
adaptateur, la modification et la suppression. Lorsqu‟une nouvelle bibliothèque veut participer
au réseau elle devra compléter un formulaire pour récupérer toutes les informations
nécessaires pour la création des adaptateurs correspondants et les intégrer dans notre
application.
Recherche de ressource :
La première étape pour l‟internaute consiste à rechercher une ressource. Il peut rechercher
directement dans un catalogue d‟une bibliothèque choisie, comme il peut lancer une recherche
fédérée ciblées et rapide à travers le catalogue collectif de l‟ensemble des bibliothèques.
Les références de l‟ouvrage recherché pouvant être plus ou moins précises, il faut lui fournir
plusieurs méthodes de recherche. L‟internaute pourra ainsi saisir un critère (titre, auteur,
édition, etc.) (Recherche simple) ou même plusieurs critères à la fois (Recherche avancée).
69
Chapitre 4 : Etude préliminaire
Les résultats de la recherche seront disponibles sur une page particulière, et devront pouvoir
être facilement parcourus et reclassés.
Toutefois, s‟il n‟a pas d‟idée bien précise, il faut également lui fournir le moyen de flâner
comme il le ferait dans les rayons d‟une vraie bibliothèque : pour cela, il pourra accéder
directement à une classification thématique, aux nouveautés, aux ressources les plus
empruntées et aux acquisitions récentes etc.
L‟adhérent peut consulter l‟historique de ses recherches effectuées précédemment, cela lui
donnera un point de reppert pour ses anciennes recherches et aidera les bibliothèques à
connaitre les centres d‟intérêt de leurs lecteurs et orientera leurs choix d‟acquisition.
Une fois la liste des ouvrages correspondants à la recherche est dressée, l‟usager devra
identifier aisément chaque ouvrage et ceci grâce à sa fiche technique qui est présentée en
détail sur sa propre page. On y trouvera en particulier :
- Le nom complet de l‟ouvrage, noms des auteurs de l‟ouvrage, maison d‟édition, année
d‟édition, un résumé clair de l‟ouvrage,
- La bibliothèque de possession de l‟ouvrage,
- La disponibilité d‟un exemplaire de l‟ouvrage et en cas de non disponibilité (date de
changement d‟état en « disponible » pour une réservation) ; Etc.
Sélection :
Après avoir visualisé la fiche descriptive d‟un ouvrage, si celle là indique qu‟il est disponible
ou bien non disponible et il y a une possibilité de le réserver alors l‟adhérent peut effectuer
une réservation, le système lui réserve un exemplaire. Cependant, la bibliothèque a le droit
d'exclure certains ouvrages du prêt, comme elle peut les restreindre à des conditions
déterminées (statut du demandeur, décharge).
70
Chapitre 4 : Etude préliminaire
Le nombre total de prêts et de réservations possibles par un adhérent à un moment donné est
fixé à trois (3).
L‟adhérent dispose d‟une interface lui permettant de visualiser toutes ses réservations. Il peut
cependant annuler une réservation s‟il a changé d‟avis concernant cet emprunt. L‟annulation
peut se faire durant un délai déterminé qui correspond au délai de récupération de l‟ouvrage,
donc s‟il ne se présente pas pour le récupérer et s‟il n‟annule pas sa réservation, elle sera
annulée automatiquement par le système après la fin du délai.
Le prêt PEB :
Lorsqu‟un adhérent se présente chez la bibliothèque pour emprunter une ressource, au nom du
système PEB, il doit ramener sa carte d‟adhérence au PEB. Le bibliothécaire lui demande s‟il
a effectué une réservation, si oui, le bibliothécaire saisie le code de l‟adhérent, lance une
recherche des réservations de ce dernier et vérifie l‟existence d‟une réservation pouvant la
traiter. La réservation est décrite par un numéro, le code de l‟adhérent, son nom et prénom, la
ressource réservée (bibliothèque de possession et code de l‟exemplaire dans celle-ci, date
prévue de récupération, bibliothèque de récupération, localisation de l‟exemplaire). Après
vérification, Le bibliothécaire livre la ressource à l‟adhérent et enregistre le prêt.
Dans le cas où l‟adhérent n‟a pas de réservation, il s‟agit du cas du PEB directe.
Le PEB directe :
Si un adhérent du PEB se présente à une bibliothèque du réseau pour demander un prêt PEB
(sans réservation préalable) le bibliothécaire effectue une recherche sur site et vérifie la
disponibilité de l‟ouvrage. Si l‟ouvrage est disponible et se trouve dans cette bibliothèque
alors le bibliothécaire enregistre directement le prêt PEB et lui livre le document,
Si L‟ouvrage est disponible mais n‟est pas dans cette bibliothèque ou bien n‟est pas
disponible alors le bibliothécaire lui crée une réservation (l‟adhérent choisit la bibliothèque de
récupération).
Prolongation de prêt :
L‟adhérent peut consulter tous ses emprunts en cours, et prolonger un emprunt (si la ressource
qu‟il détient n‟est pas réservée). Il pourra le faire tout en sachant qu‟une seule prolongation
est possible sur un même prêt.
La restitution :
Lorsqu‟un adhérent se présente chez une bibliothèque pour remettre une ressource il doit
ramener sa carte d‟adhérence au PEB. Le bibliothécaire recherche le prêt concernée soit à
l‟aide de l‟identifiant de la ressource (bibliothèque de possession et code exemplaire), soit à
l‟aide du code de l‟adhérent, soit le numéro du prêt si l‟adhérent le connait (c‟est le même
numéro que celui de la réservation). S‟il vérifie qu‟il y a un prêt qui concerne bien cette
ressource, alors il retient la ressource et enregistre la restitution.
L‟adhérent peut rendre la ressource empruntée dans n‟importe quelle bibliothèque du réseau.
Entrés/sorties de ressource :
72
Chapitre 4 : Etude préliminaire
Tout le suivi d‟une opération de PEB pourra s‟effectuer en ligne (il faudra néanmoins
indiquer la réservation, le prêt et le retour du document). Pour chaque opération de PEB, il
faut pouvoir savoir à tout moment où se trouve le document (réservé, en attente de transition,
en attente de prêt, dans telle ou telle bibliothèque…). L‟administrateur peut intervenir pour
annuler une réservation dans le cas de détection d‟erreur.
De la même manière que pour l‟administrateur, les bibliothécaires peuvent suivre les
opérations du PEB qui concernent les ouvrages propres à leurs bibliothèques. Le système doit
aussi avertir les bibliothécaires de toutes les entrées/sorties qui sont programmées et qui sont
dues aux prêts et restitutions et aux transitions de ressources entre bibliothèques.
Relance et avertissements :
Notre système doit être en mesure d‟aviser l‟adhérent pour qu‟il vienne récupérer l‟ouvrage
réservé en lui envoyant un mail de relance. De même un mail d‟avertissement lui est envoyé
dans le cas où il dépasse les délais.
Le système doit aussi s‟assurer que les délais sont tenus de la part des bibliothèques. Par
exemple, si une bibliothèque se tarde à récupérer un ouvrage ou à le remettre, le système lui
enverra un mail de relance, et dans le cas où elle dépasse carrément le délai le système
enverra un mail d‟avertissement.
La liste noire :
C‟est la liste des adhérents PEB signalés comme étant mauvais emprunteurs (retard de remise
ou de retrait), c‟est le système qui accomplira cette tache mais l‟administrateur peut ajouter un
adhérent à la liste, ou bien en retirer un, cela est fait pour une question de privilège et de
fiabilité du système (au cas d‟une défaillance système, l‟intervention manuelle reste une
option).
L‟adhérent peut toute fois si un livre l‟intéresse et qu‟il ne le retrouve pas dans le fond
documentaire de l‟ensemble des bibliothèques du réseau, de proposer de l‟acquérir.
On devra mettre à la disposition des adhérents un annuaire qui va contenir les fiches
signalétiques des bibliothèques, ainsi il pourra consulter l‟adresse ou le numéro de téléphone
pour contacter une bibliothèque.
Le livre d’or :
Paiement :
Dans notre travail nous n‟allons pas traiter le paiement du service de prêt entre bibliothèques,
nous nous concentrons principalement dans la gestion de ce dernier.
Le support de transmission d‟un document est matériel, c'est-à-dire qu‟il sera transmis sur son
support d‟origine « matériel ». La nature du support de transmission implique que le mode de
transmission soit à voie routière. Nous n‟allons pas parler du moyen ni des règles de transport.
Réglementation du PEB :
Une bibliothèque voulant intégrer notre système doit se plier aux règlements généraux du
système PEB :
Une bibliothèque doit réaliser son adaptateur pour ingérer notre système.
Un adhérent s‟inscrivant au PEB doit payer un prix déterminé, ainsi il aura une carte
approprié plus un login et un mot de passe.
Le prêt d‟une ressource dans le cadre du PEB, ne doit pas dépassé dix jours.
A un moment donné, il ne peut y avoir que deux réservations sur le même exemplaire
de ressource.
Après trois jours d‟arrivée de la ressource, si l‟adhèrent ne vient pas récupérer la
ressource demandée, le système annule automatiquement sa réservation et lui envoie
un message de pénalité.
Pour chaque jour de retard, l‟adhèrent sera privé de prêt durant trois jours.
L‟adhèrent possède une boite de réception dans laquelle il va recevoir toute les
informations concernant l‟état de sa demande.
74
Chapitre 4 : Etude préliminaire
Si l‟adhérent ne rend pas une ressource après six mois, il sera pénalisé : il devra
rembourser la ressource et aura pour chaque jour de retard trois jours d‟interdiction de
prêt.
Quand une réservation est passée en ligne, l‟adhérent devra choisir la bibliothèque de
récupération alors une sortie sera programmée dans la bibliothèque ou se trouve la
réservation et une entrée sera programmée dans la bibliothèque de récupération de
l‟adhérent.
Le bibliothécaire enregistre les entrées et sorties des ressource.
Pour attirer un client sur un site et ensuite le fidéliser, il est important de répondre aux
exigences de qualité suivantes :
Réserver un livre sur le Web ne doit pas prendre beaucoup de temps ou demander une
maîtrise de mathématiques. La mise en page du site facilitera au maximum la démarche à
l‟aide d‟une présentation claire et intuitive. Les sites trop riches et trop complexes
n‟incitent pas à les fréquenter, car ils demandent un effort intellectuel important et non
souhaité.
Très souvent, l‟internaute cale au moment de demander un prêt, car l‟effort le plus
important à fournir est le renseignement du prêt. La conception et la présentation de la
75
Chapitre 4 : Etude préliminaire
À tout moment, l‟internaute peut consulter des pages d‟aide contextuelle, ainsi que lancer
une recherche dans l‟ensemble des pages d‟aide. Une visite guidée sera également
proposée aux nouveaux visiteurs. Une aide est aussi proposée à l‟administrateur et au
bibliothécaire pour pouvoir se familiariser avec l‟application et pouvoir par la suite la
maitriser.
N‟oublions pas non plus les exigences quantitatives suivantes, très importantes également
pour les utilisateurs :
Le système de prêt inter bibliothèques doit pouvoir gérer les comptes de tous les
lecteurs des bibliothèques.
Le site web doit supporter un nombre important de connexions simultanées.
La recherche de ressource ne doit prendre beaucoup de temps.
Il est souhaitable que le système soit disponible 24 heures sur 24. Cependant il faut prévoir
une heure d‟indisponibilité en moyenne par semaine pour cause de maintenance et de mise à
jour logicielle.
IL faudra noter que l'application devra être hautement sécurisée car les informations ne
devront pas être accessibles à tout le monde.
L‟administrateur doit être reconnu par un identifiant et un mot de passe, ainsi que le
bibliothécaire.
L‟adhérent pour accéder à son compte doit être reconnu par un identifiant et un mot de
passe.
76
Chapitre 4 : Etude préliminaire
3. Fonctionnalités du système :
Les spécifications fonctionnelles sont toujours une projection de ce qui est censé être
construit, ces spécifications décrivent ce que la solution DOIT (MUST) être, PEUT (MAY)
être, POURRAIT (SHOULD) fournir [FRE, 05].
Selon cette classification nous allons structurer les fonctionnalités de notre application
déduites à partir du recueil des besoins.
77
Chapitre 4 : Etude préliminaire
La partie obligatoire :
La partie optionnelle :
La partie indicative :
Aide en ligne.
Annuaire des bibliothèques.
Nouvelles acquisitions.
Evènements récents.
78
Chapitre 4 : Etude préliminaire
Le schéma ci-dessous représente les différents paquets qui regroupent les fonctionnalités de
notre système.
Recherche d‟ouvrage.
Réservation d‟ouvrage et annulation de réservation.
Prêt et restitution
Prolongation de prêt.
Transitions de ressources entre bibliothèques.
79
Chapitre 4 : Etude préliminaire
Panier en cours.
Proposition d‟ouvrage.
Historique des recherches.
Boites de réception.
Signature du livre d‟or.
Paquet 5 : Diffusions
Aide en ligne.
Annuaire des bibliothèques.
Nouvelles acquisitions.
Evènements récents.
Un acteur représente l'abstraction d'un rôle joué par une entité externe (utilisateur
humain, dispositif matériel ou autre système) qui interagit directement avec le système étudié.
Un acteur peut consulter et/ou modifier directement l‟état du système, en émettant et/ou en
recevant des messages susceptibles d‟être porteurs de données. [ROQ, 07]
Le bibliothécaire : Rôle des employés des bibliothèques membres du réseau qui sont
responsables de représenter ces dernières (suivre les opérations de prêt qui concernent les
ouvrages de leurs bibliothèques) et de compléter le fonctionnement des prêts-inter (ex.
signaler le prêt et la restitution d‟ouvrage lors d‟une opération de PEB).
80
Chapitre 4 : Etude préliminaire
L’internaute visiteur : Toute personne qui tombe par hasard sur notre site ou qui utilise
notre application comme source d‟information. Elle peut effectuer des recherches sur les
ouvrages des bibliothèques du réseau.
81
Chapitre 4 : Etude préliminaire
7. Modélisation du contexte :
Nous allons maintenant modéliser le contexte de notre application. Ceci va nous permettre
dans un premier temps, de définir le rôle de chaque acteur dans le système :
83
Chapitre 5 :
84
Chapitre 5 : Capture des besoins fonctionnels
Objectifs du chapitre :
Ce chapitre traite du rôle que tient UML pour compléter la capture des besoins
fonctionnels ébauchée durant l‟étude préliminaire. La technique des cas d‟utilisation est la
pierre angulaire de cette étape. Elle va nous permettre de préciser l‟étude du contexte
fonctionnel du système, en décrivant les différentes façons qu‟auront les acteurs d‟utiliser le
futur système. Nous allons ensuite préparer l‟analyse orientée objet en identifiant les classes
candidates du modèle statique d‟analyse.
Un cas d‟utilisation (use case) représente un ensemble de séquences d‟actions qui sont
réalisées par le système et qui produisent un résultat observable intéressant pour un acteur
particulier. Un cas d‟utilisation modélise un service rendu par le système. Il exprime les
interactions acteurs/système et apporte une valeur ajoutée « notable » à l‟acteur concerné.
[ROQ, 07]
Il nous faut plusieurs itérations pour arriver à constituer des cas d‟utilisation complets.
Pour constituer les cas d‟utilisation, il faut considérer l'intention fonctionnelle de l'acteur par
rapport au système dans le cadre de l'émission ou de la réception de chaque message. En
regroupant les intentions fonctionnelles en unités cohérentes, on obtient les cas d'utilisations.
85
Chapitre 5 : Capture des besoins fonctionnels
A partir de maintenant les cas d‟utilisation seront présentés en paquets. Nous avons
isolé ce cas précédent car son but ne correspond à aucun paquet, cependant la plupart des cas
d‟utilisation des paquets nécessitent le déroulement avec succès de ce cas pour qu‟ils puissent
se déclencher (cela sera détaillé dans la description détaillée des cas d‟utilisation).
Gérer les adhérents PEB Administrateur Ce cas permet la gestion des adhérents du
Bibliothécaire PEB (ajout, modification, suppression)
86
Chapitre 5 : Capture des besoins fonctionnels
PEB en ligne
Paquet
2 nitoring et suivi
Réserver une ressource Adhérent Ce cas permet de réserver une ressource qui
existe dans le fond documentaire du réseau
des bibliothèques afin de l‟emprunter
87
Chapitre 5 : Capture des besoins fonctionnels
88
Chapitre 5 : Capture des besoins fonctionnels
Monitoring et suivi
Paquet
3 nitoring et suivi
Suivre les opérations Administrateur Permet de suivre les opérations de PEB (les
de PEB Bibliothécaire réservations, les prêts et remises d‟ouvrages)
89
Chapitre 5 : Capture des besoins fonctionnels
Espaces personnels
Paquet
4
90
Chapitre 5 : Capture des besoins fonctionnels
91
Chapitre 5 : Capture des besoins fonctionnels
Diffusions
Paquet
5
Cas d’utilisation Acteurs But
92
Chapitre 5 : Capture des besoins fonctionnels
Nous proposons dans ce qui suit une description textuelle des principaux cas d‟utilisation
complétée par les diagrammes d‟activités.
Description sommaire :
Scénario nominal :
L‟utilisateur introduit son login et son mot de passe (PW)
Exceptions :
Le login ou le mot de passe (voir les deux) est erroné donc l‟accès au système sera
refusé ; le système demande alors à l‟utilisateur d‟introduire à nouveau son login et son
mot de passe.
93
Chapitre 5 : Capture des besoins fonctionnels
Description sommaire :
Acteurs : Administrateur.
Scénario nominal :
Saisie des informations relatives à la nouvelle bibliothèque, en cas de création,
Dans le cas de modification, l‟administrateur choisit la bibliothèque à modifier, puis
effectue les modifications souhaitées sur la fiche de cette bibliothèque,
Dans le cas de suppression, l‟administrateur choisit la bibliothèque à supprimer, alors le
système affiche une fenêtre pour confirmer la suppression.
94
Chapitre 5 : Capture des besoins fonctionnels
Description sommaire :
Acteurs : Administrateur.
Scénario nominal :
Saisie des informations relatives au nouvel bibliothécaire, en cas de création,
Dans le cas de modification, l‟administrateur choisit le bibliothécaire à modifier, puis
effectue les modifications souhaitées sur la fiche de ce bibliothécaire,
Dans le cas de suppression, l‟administrateur choisit le bibliothécaire à supprimer, alors le
système affiche une fenêtre pour confirmer la suppression.
95
Chapitre 5 : Capture des besoins fonctionnels
Description sommaire :
Scénario nominal :
Saisie des informations relatives au nouvel adhérent PEB, en cas de création,
Dans le cas de modification, l‟utilisateur choisit l‟adhérent à modifier, puis effectue les
modifications souhaitées sur la fiche de cet adhérent,
Dans le cas de suppression, l‟utilisateur choisit l‟adhérent à supprimer, alors le système
affiche une fenêtre pour confirmer la suppression.
96
Chapitre 5 : Capture des besoins fonctionnels
Description sommaire :
Post conditions : L‟Internaute a trouvé l‟ouvrage précis qu‟il cherchait, ou un ouvrage qui
l‟intéresse, voire plusieurs.
Scénario nominal :
L‟Internaute lance une recherche simple à partir d‟un mot-clé : titre, nom de l‟auteur,
année…, ou une recherche avancée à partir d‟une combinaison de ces critères.
97
Chapitre 5 : Capture des besoins fonctionnels
Description sommaire :
Pré conditions :
L‟adhérent doit s‟authentifier.
L‟adhérent doit faire une recherche au préalable et visualiser la fiche technique de la
ressource qu‟il désir réserver.
98
Chapitre 5 : Capture des besoins fonctionnels
Scénario nominal :
L‟adhérent complète le formulaire de réservation avec la bibliothèque de récupération et
lance la demande.
Le système vérifie que l‟adhérent a le droit au prêt (nombre max de prêt non atteint, aucun
prêt en cours ou réservation concernant la même ressource) et affiche sa réponse :
- Demande acceptée, Réservation crée (n° de la réservation, date et bibliothèque de
récupération, délai de récupération)
- Demande refusé, avec la raison du refus.
Description sommaire :
Pré conditions :
L‟adhérent s‟est authentifié
99
Chapitre 5 : Capture des besoins fonctionnels
Scénario nominal :
L‟adhérent demande d‟annuler une réservation.
Le système affiche à l‟adhérent toutes ses réservations actives.
L‟adhérent sélectionne une réservation et l‟annule.
Description sommaire :
Pré conditions :
L‟adhérent s‟est authentifié.
L‟adhérent a au moins un emprunt en cours
Scénario nominal :
100
Chapitre 5 : Capture des besoins fonctionnels
Description sommaire :
Acteurs : Bibliothécaire.
Objectif : Ce cas permet d‟enregistrer un prêt lorsqu‟un adhérent emprunte une ressource.
Pré conditions :
Le bibliothécaire s‟est authentifié.
L‟adhérent s‟est présenté avec la carte d‟adhérence de PEB et souhaite récupérer une
ressource.
101
Chapitre 5 : Capture des besoins fonctionnels
Scénario nominal :
Le bibliothécaire saisie le code de l‟adhérent à partir de la carte.
Le système lui affiche toutes les réservations actives de cet adhérent.
Le bibliothécaire sélectionne une réservation possible d‟être traitée (ressource concernée,
sa localisation, date et bibliothèque prévues de récupération),
Le bibliothécaire enregistre le prêt pour cette réservation (saisie le n° de l‟exemplaire).
Le bibliothécaire livre la ressource à l‟adhérent.
Description sommaire :
Acteurs : Bibliothécaire.
Objectif : Restituer un prêt lorsqu‟un adhérent remet une ressource après emprunt
Pré conditions :
Le bibliothécaire s‟est authentifié.
L‟adhérent s‟est présenté avec la carte d‟adhérence de PEB et une ressource à remettre.
102
Chapitre 5 : Capture des besoins fonctionnels
Scénario nominal :
Le bibliothécaire saisie le code de l‟adhérent à partir de la carte.
Le système lui affiche tous les prêts en cours de cet adhérent.
Le bibliothécaire vérifie l‟existence d‟un prêt concernant la ressource à remettre.
Le bibliothécaire restitue le prêt
Description sommaire :
Acteurs : Bibliothécaire.
Objectif : Enregistrer une transition de ressource entre bibliothèques (envoi de ressource vers
une bibliothèque, réception d‟une ressource provenant d‟une bibliothèque)
Pré conditions :
Scénario nominal :
103
Chapitre 5 : Capture des besoins fonctionnels
Dans le cas d‟un envoi de ressource vers une bibliothèque, le bibliothécaire saisie
l‟identifiant de la ressource (sa bibliothèque de possession et son code dans celle-ci), la
bibliothèque de destination et enregistre la sortie
Dans le cas d‟une réception, le bibliothécaire saisie l‟identifiant de la ressource (sa
bibliothèque de possession et son code dans celle-ci), la bibliothèque d‟envoi et enregistre
l‟entrée.
Description sommaire :
Acteurs : Administrateur.
Scénario nominal :
104
Chapitre 5 : Capture des besoins fonctionnels
Description sommaire :
Acteurs : Administrateur.
Scénario nominal :
105
Chapitre 5 : Capture des besoins fonctionnels
Description sommaire :
Acteurs : Adhérent.
106
Chapitre 5 : Capture des besoins fonctionnels
Scénario nominal :
L‟adhérent demande de gérer son panier
Le système affiche la liste des ouvrages contenus dans le panier
L‟adhérent sélectionne une notice pour la visualiser
L‟adhérent sélectionne une notice et la supprime du panier
L‟adhérent enregistre les ouvrages qui l‟intéressent dans un panier virtuel (voir le CU
« Rechercher une ressource »
Description sommaire :
Acteurs : Adhérent.
107
Chapitre 5 : Capture des besoins fonctionnels
Scénario nominal :
L‟adhérent ouvre sa boite de réception
Le système affiche les messages reçus.
L‟utilisateur sélectionne un message pour pouvoir le visualiser.
L‟utilisateur peut sélectionner un message ou plusieurs et puis les supprimer de la boite.
Cette phase va préparer la modélisation orientée objet en aidant à trouver les classes
principales du futur modèle statique d‟analyse.
On formalise les concepts métier sous forme de classes et d‟associations rassemblées dans un
diagramme statique, appelé « diagramme de classes participantes ».
108
Chapitre 5 : Capture des besoins fonctionnels
109
Chapitre 5 : Capture des besoins fonctionnels
110
Chapitre 5 : Capture des besoins fonctionnels
111
Chapitre 5 : Capture des besoins fonctionnels
Paquet 5 : Diffusions
112
Chapitre 6 :
113
Chapitre 6 : Capture des besoins techniques
Objectifs du chapitre :
La capture des besoins techniques couvre, par complémentarité avec celle des besoins
fonctionnels, toutes les contraintes qui ne traitent ni de la description du métier des
utilisateurs, ni de la description applicative et elle se présente comme suit :
L'architecture 3-tiers est un modèle logique d'architecture applicative qui vise à séparer très
nettement trois couches logicielles au sein d'une même application :
Elle correspond à la partie de l'application visible et interactive avec les utilisateurs. On parle
d'Interface Homme Machine. Elle est exploitée par un navigateur web. La couche présentation
relaie les requêtes de l'utilisateur à destination de la couche métier, et en retour lui présente les
informations renvoyées par les traitements de cette couche.
et de contrôle du système sont mises en œuvre dans cette couche. La couche métier offre des
services applicatifs et métier à la couche présentation. Pour fournir ces services, elle s'appuie,
le cas échéant, sur les données du système, accessibles au travers des services de la couche
inférieure.
Elle consiste en la partie gérant l'accès aux gisements de données du système. Ces données
peuvent être propres au système ou gérées par un autre système.
Le schéma suivant illustre la répartition des couches dans une architecture trois tiers.
Présentation
Métier
115
Chapitre 6 : Capture des besoins techniques
Le navigateur client,
Le serveur web,
Le serveur d‟applications,
Le serveur de données.
À un haut niveau, on peut identifier dans les applications web d‟aujourd‟hui plusieurs patterns
architecturaux. Nous avons opté pour le pattern du client web léger.
Les composants majeurs de ce pattern se trouvent sur le serveur. Cette architecture est
effectivement celle d‟une application web minimale.
Le navigateur client est un navigateur HTML standard compatible avec les formulaires et
DHTML. Il agit comme un dispositif universel d‟interface utilisateur. Son unique fonction
est d‟accepter et de renvoyer des cookies. L‟utilisateur de l‟application requiert des pages
HTML auprès du serveur à travers le navigateur.
Le serveur web est le point d‟accès principal pour tous les navigateurs clients. C‟est un
logiciel chargé de transmettre au client en ayant fait la demande via l‟URL, les fichiers
statiques demandés, présents sur la machine serveur. Néanmoins le rôle d‟un serveur web
est limité sur le plan applicatif ; dès que l‟URL porte sur une page dynamique, nécessitant
un traitement, le serveur web aiguille cette demande vers le brique « serveur
d‟application ». une fois le traitement effectué, le serveur d‟application renvoie la page
html au serveur web qui se charge de la diriger vers le bon destinataire.
116
Chapitre 6 : Capture des besoins techniques
Le serveur de données permet de gérer la persistance des objets métier. Par exemple dans
une base de données relationnelle, pour la connecter au système, le moyen le plus simple
est d‟autoriser les scripts des pages serveur à accéder directement au composant de
persistance. Cet accès direct passera néanmoins par l‟utilisation de bibliothèques standards
d‟accès aux données, telles que RDO, ADO, ODBC, JDBC, etc. Pour des systèmes plus
complexes et plus robustes, on préfère mettre en œuvre une couche objet métier complète.
C‟est l‟optique que nous avons choisie pour notre étude de cas.
Serveur
Serveur web
Client léger d’application
Serveurs de données
distants
(bibliothèques)
Serveur de données
central
117
Chapitre 6 : Capture des besoins techniques
1.3. Déploiement :
Les trois couches seront déployées sur une seule machine (un seul serveur physique
contenant les trois serveurs logiques : serveur web, serveur d‟application et serveur de
base de donnée central).
Les serveurs de bases de données des bibliothèques sont pré existants et sont déployés
sur d‟autres machines distantes mais nous ignorons leur configuration matérielle (déployés
sur combien de machines).
Les postes clients (PC1, PC2, PC3,…, PCn) accèdent au système via un navigateur web.
Avantages de la solution :
Inconvénients de la solution :
Dans ce qui suit nous allons présenter La configuration matérielle schématisée par un
diagramme de déploiement UML.
118
Chapitre 6 : Capture des besoins techniques
Une fois que les spécifications techniques architecturales sont exprimées, on s‟intéresse
aux fonctionnalités propres du système technique, en procédant à une spécification logicielle.
Dans ce cadre on utilise les cas d‟utilisation d‟une manière différente que pour la spécification
fonctionnelle, car le cas d‟utilisation technique produit une valeur ajoutée opérationnelle ou
purement technique.
119
Chapitre 6 : Capture des besoins techniques
Utilisation de l‟aide. Chaque utilisateur doit disposer d‟une aide contextuelle pour
pouvoir exploiter le système d‟une manière efficace.
Manipulation des objets. L‟utilisateur manipule des entités sous forme d‟objets, ce qui
implique la mise en œuvre des mécanismes de persistance et de gestion de cycle de vie
des objets.
Gestion des erreurs. Il faut que le système soit en mesure de générer des traces et des
alertes pour faciliter sa maintenance.
120
Chapitre 7 : Analyse
121
Chapitre 7 : Analyse
1. Découpage en catégories :
Cette phase marque le démarrage de l‟analyse objet du système à réaliser. Elle utilise la
notion de package pour définir des catégories de classes d‟analyse et découper le modèle
UML en blocs logiques les plus indépendants possibles.
Pour passer à l‟analyse, il faut se baser sur les principes de l’Approche Orientée Objet,
notamment celle de l‟encapsulation. À cet effet, il faut passer d‟une structuration
fonctionnelle via les cas d‟utilisations et les packages des cas d‟utilisation, à une structuration
objet via les classes et les catégories.
Nom de la catégorie
Classes de la catégorie
122
Chapitre 7 : Analyse
Catégorie « Utilisateur »
123
Chapitre 7 : Analyse
Catégorie « Prêt »
Catégorie
« Bibliothèque »
Catégorie
« Utilisateur »
124
Chapitre 7 : Analyse
Catégorie « Bibliothèque »
Catégorie « Service »
Catégorie
« Utilisateur »
125
Chapitre 7 : Analyse
Le schéma suivant représente l‟état préliminaire des dépendances souhaitées entre les
catégories au début de la phase d‟analyse.
Utilisateur Bibliothèque
Service Prêt
Dans cette étape nous allons détailler, compléter et optimiser les classes préliminaires
obtenues lors du découpage, et nous allons identifier leurs attributs, leurs méthodes ainsi que
leurs identifiants.
126
Chapitre 7 : Analyse
Nous allons commencer par décrire la dynamique de chaque cas d‟utilisation à l‟aide
des diagrammes de séquence, ensuite nous allons détailler le cycle de vie d‟objets de classes
particulières au fil de ses interactions et de son évolution propre en utilisant le diagramme
d‟état-transition.
Les échanges de messages entre objet peuvent être présentés en UML dans deux sortes
de diagrammes :
Dans ce qui suit nous allons présenter les diagrammes de séquence afin de formaliser les
scénarios des cas d‟utilisation vus précédemment. Nous allons voir le système comme un
ensemble d‟objets en interaction. Ces objets appartiennent à 3 types de classes, à savoir les
dialogues « D », les contrôles « C », et les entités « E ».
Nous respecterons également les règles d‟interaction entre ces trois types d‟objets.
Ainsi :
128
Chapitre 7 : Analyse
129
Chapitre 7 : Analyse
130
Chapitre 7 : Analyse
131
Chapitre 7 : Analyse
132
Chapitre 7 : Analyse
133
Chapitre 7 : Analyse
[AUD, 08]
Dans la partie qui suit nous allons présenter les diagrammes d‟états-transitions de la classe
« Reservation_pret »
134
Chapitre 7 : Analyse
Commentaires :
Un objet de la classe « reservation_pret » passe par une succession d‟états durant son
existence. Voici la séquence d‟états représentant son comportement :
Réservation annulée
L‟adhérent a demandé d‟annuler sa réservation ou bien le système l‟a annulée
automatiquement à cause du dépassement du délai de récupération.
Prêt en cours
Un adhérent s‟est présenté pour consommer une réservation, le bibliothécaire lui a
livré la ressource et a enregistré le prêt.
135
Chapitre 8 : Conception
136
Chapitre 8 : Conception
1. Conception générique :
Cette conception est qualifiée de générique car elle est entièrement indépendante des
aspects fonctionnels spécifiés en branche gauche. Elle de formaliser, sous la forme de classes
techniques réutilisables, les règles de conception pour l‟ensemble d‟un système à développer.
Dans la partie analyse nous avons regroupé les classes en catégories afin de concevoir le
modèle statique, dans cette partie les classes technique seront regroupées dans des Framework
techniques afin de concevoir le modèle logique de conception technique.
Pour la conception de notre système, nous avons pris en compte les parties présentées
dans la figure ci-après :
137
Chapitre 8 : Conception
« Framework technique »
Noyau Présentation
« Framework technique »
Noyau Applicatif
« Framework technique »
Noyau Authentification
2. Conception préliminaire :
138
Chapitre 8 : Conception
La conception préliminaire est avant tout une affaire d‟organisation ; elle s‟appuie sur
les points de vue de spécification fonctionnelle et structurelle de l‟analyse, mais également sur
les Framework de la conception technique. Elle se termine lorsque la conception est organisée
suivant son déploiement cible, son modèle d‟exploitation et son modèle logique.
Le déploiement d‟une solution client léger se construit sur la définition des postes de travail.
Poste de travail
Le poste de travail représente un ou plusieurs acteurs pouvant être localisés sur une machine
d‟un type particulier et remplissant une fonction identifiée dans l‟entreprise. Le poste de
travail ne représente pas forcément une machine physique, mais peut consister en plusieurs
machines, à condition qu‟elles donnent lieu au même type de déploiement. [ROQ, 07]
Pour des raisons de sécurité, nous allons déployer l‟application sur le même serveur.
139
Chapitre 8 : Conception
Le modèle d‟exploitation va définir les applications installées sur les postes de travail, les
composants métiers déployés sur les serveurs et les instances de base de données
implémentées sur les serveurs également. [ROQ, 07]
Nous allons concevoir une seule application « Site_peb » qui réalise tous les cas d‟utilisation.
C‟est une application web qui s‟exécute à l‟aide d‟un navigateur web.
Dans notre système, la seule application citée ci-dessus donne lieu à un seul composant
métier.
« Category »
Site_peb
3. Conception détaillée :
140
Chapitre 8 : Conception
Dans ce chapitre nous allons concevoir les classes, les associations, les attributs, et les
opérations,
141
Chapitre 8 : Conception
142
Chapitre 8 : Conception
143
Chapitre 8 : Conception
144
Chapitre 8 : Conception
145
Chapitre 8 : Conception
précise du contenu des méthodes de notre projet, le tableau ci-dessous regroupe la description
des différentes méthodes.
146
Chapitre 8 : Conception
147
Chapitre 8 : Conception
Nous présenterons dans ce qui suit la conception du schéma relationnel de la base de données
à partir du diagramme de classes. Pour ce faire, nous adoptons les règles de passage proposés
1
par J.RUMBAUGH .
Conversion des classes d’objets en tables : Chaque classe est représentée par une table.
- Chaque association « plusieurs à plusieurs » est représentée par une table distincte,
dont la clé primaire est la concaténation des deux clés primaires des classes
concernées par l‟association.
- Pour les associations « un à plusieurs » on dispose de l‟option supplémentaire qui
consiste à ranger la clé primaire de la table père dans la table fils ; cette clé est appelée
clé étrangère.
En appliquant les règles de passage du diagramme de classes aux tables relationnelles, nous
obtenons le schéma relationnel suivant :
1
James Rumbaugh est le créateur du langage de modélisation objet OMT. Il est également l'un des
trois pères du langage UML, avec Grady Booch (fondateur du langage Booch) et Ivar Jacobson
(fondateur du langage OOSE).
148
Chapitre 8 : Conception
149
Chapitre 9 : Réalisation du
prototype
150
Chapitre 9 : Réalisation du prototype
1. Introduction :
Dans la réalisation de notre application web nous avons fait appel à un ensemble d‟outils et
langages de développement. Dans ce qui suit nous tenons à présenter et argumenter nos choix.
Ensuite nous décrirons les mécanismes utilisés pour sécuriser le système contre d‟éventuelles
menaces. Et enfin, nous présenterons les différentes fonctionnalités offertes par le système
impliquant différents utilisateurs (internaute visiteur, internaute adhérent, administrateur,
bibliothécaire). Cela sera illustré par la présentation des différentes interfaces utilisateurs.
Notre choix s‟est porté sur le couple PHP/MySQL sous un serveur Apache. L‟outil développé
est présenté aux utilisateurs sous une interface web. De ce fait, tout l‟environnement de notre
application est orienté web.
Apache http Server, souvent appelé Apache, est un logiciel de serveur HTTP produit par
l‟Apache Software Foundation. C‟est le serveur HTTP le plus populaire du web. C‟est un
logiciel libre avec un type spécifique de licence, nommée licence Apache. [Web_04]
Apache fonctionne principalement sur les systèmes d‟exploitation Windows et UNIX (Linux,
Mac OS X, Solaris, BSD et UNIX).
151
Chapitre 9 : Réalisation du prototype
Apache est connu pour sa robustesse, pour sa rapidité à délivrer les pages web, mais la
fonctionnalité phare d‟Apache est sa facilité de configuration, il repose, en effet sur une
hiérarchie de fichiers de configuration, qui peuvent être gérés indépendamment. C‟est
notamment utile aux hébergeurs Web qui peuvent ainsi servir les sites de plusieurs clients à
l‟aide d‟un serveur http.
PHP (Hypertext Preprocessor) c‟est un langage de script HTML, exécuté côté serveur. Sa
syntaxe est empruntée aux langages C, JAVA et Perl. [WEB_05], et comme tout langage
interprété, PHP requiert un interpréteur (intégré dans le serveur d‟application) nommé Zend
Engine, qui fournit toute l‟infrastructure nécessaire au fonctionnement du langage. Avant
d‟être renvoyée vers le client, la page PHP doit passer par l‟interpréteur. C‟est le serveur qui
transmet tous les fichiers avec extension « .php » vers celui-ci [WEB_06].
- PHP est disponible pour l‟ensemble des systèmes d‟exploitation courants : Windows
toutes versions, Linux et Unix toutes versions, IBM ISeries (AS/400), SGI IRIX 6.5.x,
RISC OS, Novell Netware, Mac OS X, Amiga OS, etc.) ; [WEB_07]
- En plus d‟être un langage complet, PHP présente un très bon support pour un
ensemble de bases de données (Oracle, Sybase, Microsoft, MySQL, Postgres, ODBC,
etc.) ;
- Support d‟un grand nombre de fonctions Web (cookies, authentification, sessions,
redirection….) ;
- Support d‟un grand nombre de librairies (LDAP, PDF, XML, GIF…) ;
- PHP est disponible sous une licence GNU/GPL, et en Open Source ;
- PHP est utilisé sur plus d‟un site Web sur trois dans le monde ce qui représente plus de
20 millions de domaines et 1 300 000 adresses IP (Source Netcraft- Novembre 2006).
Près de la moitié des serveurs Apache (40 % au 1 er Janvier 2007) fonctionnent avec
PHP [WEB_07].
152
Chapitre 9 : Réalisation du prototype
Dreameaver CS4 édité par la société Adobe Systems, est l'outil leader pour le
développement web et permet de concevoir, de développer et de maintenir des applications et
des sites web du plus simple au plus sophistiqué, intégrant les technologies les plus récentes.
[WEB_08]
Dreamweaver CS4, allié au couple PHP/MySQL, est la réponse à toutes les attentes. En
effet, l‟éditeur est compatible avec les technologies serveur les plus utilisées, dont le célèbre
PHP qui est actuellement le langage de script serveur le plus employé par le Web. [WEB_09]
Nous avons utilisé Dreamweaver CS4 (septembre 2008) qui est la dernière version existante
lors du début de développement de notre solution.
MySQL fait partie des logiciels de gestion de base de données les plus utilisés au monde,
autant par le grand public (application Web principalement) que par les professionnels, en
concurrence avec Oracle ou Microsoft SQL Server. Multi-thread et multiutilisateurs, c‟est un
logiciel libre développé sous double licence. Selon le type d‟utilisation, il fonctionne sur de
nombreux systèmes d‟exploitation différents, incluant Linux, Mac OS X, Solaris, Windows
9x, NT, XP et Vista [WEB_10]
3. Sécurité du système :
La télécommunication est un domaine qui utilise des moyens technologiques avancés
assurant une disponibilité quasi-permanente, ce qui intensifie la vulnérabilité de n‟importe
quel système d‟information en relation avec, et là, ce dernier se voie face à différents risques
qui peuvent lui porter atteintes et diverses menaces qui peuvent nuire à son bon
fonctionnement et aux intérêts de ses utilisateurs, surtout dans le cas où ce système traite des
informations de la plus grande importance et la plus majeure sensibilité.
153
Chapitre 9 : Réalisation du prototype
A l‟instar de tout système baignant dans ces conditions, notre système est dans
l‟obligation de prendre des précautions et des mesures qui le permettront de faire face à toutes
ses menaces.
On peut classer les différents facteurs de risque qui représente un danger pour notre système
en trois principales catégories.
Ce sont les risques qui ne peuvent être totalement prédis et qui résultent des facteurs
d‟environnement du système et se présentant hors son utilisation causant des dommages
physiques et/ou logiques :
Installer la machine serveur dans des bâtisses construites selon les normes mondiales
anti-séisme.
Des bâtisses dotées de systèmes anti-incendie (alarmes, détecteurs de flammes et
dispositifs d‟extinction automatiques et manuels à la fois).
Disposer de groupes électromoteurs.
Définir une politique de sauvegarde d‟urgence (environnement logiciel interne du
système et des bases de données) se déclenchant automatiquement en cas de
catastrophe.
154
Chapitre 9 : Réalisation du prototype
Définir une conduite à tenir pour le personnel pour éviter les accidents, ainsi que les
étapes d‟intervention pour la protection des installations en cas de catastrophe.
Louer les services de spécialistes en la sécurité des installations (entreprises
spécialisées, experts, conseillers, …etc.)qui peuvent préconiser et/ou effectuer la mise
en place de ses dispositifs.
Ce sont des risques qui peuvent survenir lors de l‟utilisation du système. Généralement
émanant des utilisateurs mêmes, elles causent essentiellement des dommages touchant
l‟intégrité des données et leur exactitude :
Erreurs de saisie commises par les utilisateurs et faites par manque d‟attention ou
causées par des problèmes d‟ergonomie, de fatigue des bibliothécaires, d‟incommodité
des conditions de travail, …etc.
Erreurs de manipulation et d‟exploitation par les utilisateurs comme dans
l‟accomplissement de tâches (Gestion des transitions de ressources). Celles là pouvant
être causées par l„incompréhension des notions et règles en vigueur ou manque de
maîtrise du système.
Afin d‟éviter ce genre d‟erreurs et fautes, et après prise en compte de leurs causes, on peut
adopter les recommandations suivantes :
Entamer une période d‟essai ou une sorte de mise à l‟épreuve avant la mise en service
qui permettra d‟évaluer le système et sa stabilité et aussi de voir et détecter
d‟éventuelles défaillances ou anomalies.
Améliorer l‟ergonomie et assurer la continuité de son évolution pour toujours. Fournir
aux utilisateurs un système qui peut être considérer comme facile à exploiter.
Suivie permanent des connexions et de la bonne marche des transmissions nécessaires
pour le fonctionnement du système.
Pourvoir les utilisateurs de manuels d‟aide et de support disponibles constamment
pour les accompagner durant leur exploitation du système.
Suivie des opérations exécutées par les bibliothécaires pour diminuer le nombre
d‟erreurs commises par inadvertance ou même par manque de maîtrise.
155
Chapitre 9 : Réalisation du prototype
Ce sont les menaces les plus dangereuses et les plus destructrices (relativement), parce
qu‟elles émanent des intentions hostiles de malveillants qui veulent volontairement nuire à la
bonne marche du système, on cite les malveillances suivantes :
Et pour prévenir de tels actes, les stopper et diminuer les dégâts qu‟ils peuvent causer, il faut
s‟orienter vers une politique de protection efficace pour le système entier :
Restreindre l‟accès aux lieux d‟installation des serveurs et les doter de protections
contre la destruction (des codes d‟accès, portes blindées, Vidéosurveillance, …etc.).
Restreindre l‟accès aux différentes fonctionnalités du système et tracer toutes les
opérations accomplies lors de son utilisation (profils d‟accès et système de privilèges,
système de traçabilité, historiques, …etc.).
Munir les serveurs de Firewall et Antivirus professionnels performants.
Suivre l‟évolution en termes de sécurité et menaces (études, veille technologique,
…etc.)
156
Chapitre 9 : Réalisation du prototype
3.2.1. Confidentialité :
Etant un aspect capital du système, la confidentialité rassemble toutes les procédures qui
limitent le nombre des personnes pouvant accéder au système :
Restriction des accès : Les accès au système et ses différentes parties sont limités selon la
fonction de l‟utilisateur, ce qui est réalisé au moyen d‟un système de gestion de profils. Ces
derniers sont assignés à chaque compte utilisateur pour en déterminer les opérations lui étant
permises et les sections lui étant accessibles dans l‟application. Seul un administrateur peut
créer, modifier, suspendre un compte utilisateur. Ainsi, quand l‟utilisateur se connecte au
système, il a affaire à un nombre réduit de liens et de pages correspondant à son profil
d‟accès.
Sécurité des données : Nous citons quelques diapositifs pour la protection des données :
la
base de données de façon quotidienne.
Cryptage des données transmises sur internet entre l‟application et la base de données
(algorithme asymétrique SHA-256).
3.2.2. Intégrité :
157
Chapitre 9 : Réalisation du prototype
Redondance justifiée et réfléchie : Les redondances et les répétitions des données ont été
faites en se basant sur les besoins qui se sont présentés afin d‟optimiser l‟exploitation de ces
données et du système entier à la fois.
Contrôles de champs : Les champs sont contrôlés pour diminuer les fautes commises lors de
la saisie par les utilisateurs.
3.2.3. Disponibilité :
Grâce aux recommandations pour la protection des serveurs et installations en cas d‟incidents
de tout genre, données auparavant, en plus des précautions prises pour assurer la connexion à
internet (seul moyen d‟exploitation du système), on peut maintenir une disponibilité continue
et sans interruption du système.
La réalisation vient couronner les phases précédentes, donnant un aspect tangible aux objectifs
visés et une forme concrète à la conception.
Afin de présenter le prototype réalisé, on utilise des prises d‟écrans (Imp. Ecr.) pour figurer le
travail fait et illustrer les grandes et principales fonctionnalités du système.
158
Chapitre 9 : Réalisation du prototype
Page d’accueil :
L‟utilisateur lance l‟application via un navigateur web,en tapant son URL. Une fenêtre
s‟affiche contenant la page d‟accueil du site. Elle est commune à tous les utilisateurs quelque
soit leur profil (Internaute visiteur, internaute adhérent, administrateur, bibliothécaire).
Dans cette page, il y un petit formulaire où l‟utilisateur peut s‟identifier pour pouvoir accéder
à ses privilèges. Pour chaque type d‟utilisateur, nous allons montrer quelques maquettes qui
présentent les fonctionnalités offertes par l‟application.
1. Internaute visiteur :
L‟internaute visiteur n‟a pas à s‟identifier auprès de l‟application. Les fonctionnalités qui lui
sont offertes se restreignent dans la recherche de ressources (recherche simple et avancée) et
la découverte des notices bibliographiques. Il ne peut pas profiter du service de prêt.
160
Chapitre 9 : Réalisation du prototype
161
Chapitre 9 : Réalisation du prototype
2. Internaute adhérent :
3. Administrateur
Lorsque l‟administrateur s‟identifie dans le formulaire qui se trouve dans la page d‟accueil, le
module d‟administration apparaît à droite toujours dans la même page. En cliquant sur
« Administrateur » le système lui affiche le module de gestion.
163
Chapitre 9 : Réalisation du prototype
164
Chapitre 9 : Réalisation du prototype
4. Bibliothécaire :
De même que pour l‟administrateur, le bibliothécaire s‟identifie alors le système lui affiche un
lien qui lui envoie vers son espace de gestion. Le bibliothécaire a comme fonctions
principales : enregistrer les prêts et restitutions et signaler les transitions de ressources entre
bibliothèques.
165
Chapitre 9 : Réalisation du prototype
166
Chapitre 9 : Réalisation du prototype
167
Chapitre 9 : Réalisation du prototype
168
Chapitre 9 : Réalisation du prototype
169
Conclusion générale
Conclusion générale :
1. Conclusion :
Notre travail avait pour principal objectif l‟automatisation du service PEB dans un
réseau de bibliothèques, via l‟automatisation du traitement des réservations. La bibliothèque
initiale de l‟adhérent PEB n‟aura pas à jouer le rôle de l‟intermédiaire entre ce dernier et la
bibliothèque prêteuse en traitant la demande ou en l‟envoyant, sous forme écrite ou autre, à la
bibliothèque concernée pour que cette dernière, à son tour, étudie la possibilité de l‟emprunt.
Tout cela sera traité par notre système qui s‟occupera de vérifier l‟état de la ressource
demandée (disponibilité ou non disponibilité) ainsi que l‟acceptation de l‟adhèrent (adhèrent
n‟appartenant pas à la liste noire ou n‟ayant pas dépassé le nombre permis de réservation…).
Pour réaliser un tel travail, nous avons développé un site web muni d‟un catalogue
collectif en temps réel, où n‟importe quel internaute peut effectuer une recherche (simple ou
avancée) d‟un document donné et visualiser la notice bibliographique correspondante. Seuls
les adhérents inscrits au préalable, au service PEB peuvent profiter du fond documentaire du
catalogue PEB, en faisant une réservation en ligne de n‟importe quelle ressource PEB
disponible. Ceci étant complété par d‟autres services permettant d‟améliorer l‟utilisation du
site (Proposer une ressource pour acquisition, signer le livre d‟or, l‟aide en ligne, l‟annuaire
des bibliothèques…). Et pour un plus grand partage et bénéfice du fond documentaire des
bibliothèques du réseau, nous avons proposé les rubriques « Les acquisitions récentes » et
« Les événements » pour encourager les lecteurs à participer aux propositions de ressources et
à assister aux activités des bibliothèques ouvertes au grand public.
Notre site web n‟est pas adressé uniquement aux adhérent PEB mais aussi aux
bibliothécaires. En effet, en ouvrant leurs sessions (login/ mot de passe), ils accèdent à un
menu principal pour la gestion du service PEB : Inscrire des adhérent PEB, signaler les
entrées/ sorties des ressources, effectuer une réservation PEB, sur place, à la demande de
l‟adhérent…). Ils bénéficient aussi d‟une aide en ligne pour une meilleure utilisation du site.
170
Conclusion générale
L‟administrateur, à son tour, après s‟être connecté en tant que tel, peut gérer son site web:
- Ajouter ou éliminer une bibliothèque du réseau PEB et, par conséquent, ajouter ou
supprimer l‟adaptateur correspondant.
- Suivre n‟importe quelle opération PEB et garder traces des mains réceptrices et
émettrices des colis de ressources errants à travers le réseau.
- Consulter les erreurs et imprévus détectés et les traiter.
- Gérer les diffusions du site.
- Prévenir les bibliothèques des résultats des statistiques PEB et des propositions de
leurs adhérents et donc, orienter leurs choix par rapport aux exigences des lecteurs…
Nous avons opté pour une architecture de médiation. Cette méthode est utilisée, uniquement,
pour une lecture dans les bases de données intégrées. Nous avons donc proposé une solution
personnalisée qui, bénéficiant des avantages de médiation, offre en plus la possibilité de mise
à jour en temps réel, autrement dit, permettre aussi l‟écriture.
2. Perspectives :
Certes, nous avons automatisé les réservations PEB mais le passage des ressources par les
mains de fonctionnaire (bibliothécaire, facteur, agent de transport…) est obligatoire avant
d‟atterrir enfin entre les mains du demandeur. Ainsi, le temps écoulé entre une réservation
et la réception effective du document par l‟adhérent peut varier par rapport au trajet que
fait la ressource en voyageant à travers quelques rues ou quelques villes pour arriver à
destination avec, toutefois, des risques de retard inacceptables par un lecteur voulant avoir
une information donnée dans un temps limité. On peut éviter cela en proposant la
documentation électronique comme une option de choix pour le demandeur lors de sa
réservation si, toutefois, ceci reste possible. De la sorte, l‟opération sera à cent pour cent
automatisée et fera gagner un temps précieux pour un adhérent ne préférant pas une
version matérielle du document.
Nous n‟avons parlé que brièvement de la norme Z39.50 qui est une norme dédiée à la
recherche en lecture. En effet, elle permet de faire une recherche simultanée dans
171
Conclusion générale
différentes bases de données pour, enfin, afficher les résultats. Dans notre travail, on a
réalisé la recherche en lecture plus l‟écriture (mise à jour) sur les bases de données des
bibliothèques du réseau. Il serait intéressant d‟intégrer une telle norme dans notre
application, ceci pouvant même être un projet de fin d‟études pour ingénieurs.
Dans notre solution nous avons aussi supposé qu‟une bibliothèque, voulant adhérer à notre
service PEB, devra réaliser son propre adaptateur que nous intégrerons, par la suite, dans
notre application.
On peut imaginer aussi un logiciel qui s‟occupera de cette tâche : il aura, en entrée, le
schéma de la base de données de la bibliothèque à intégrer plus le schéma global de
médiation (que nous avons proposé) et, en sortie, il élaborera un adaptateur prêt à être
utiliser.
Dans un service PEB, ou accèdentà divers BDDR d‟innombrables adhérents, dont la
plupart consultent la disponibilité des ressources et procède à des réservations en accédant,
une gestion des concurrences et des transactions s‟avère nécessaire. La gestion de la
répartition des données est une importante perspèctive
172
Bibliographie
Bibliographie :
[ASS, 07]: Asselgou Mouloud, Semaoune Nabil « Interrogation des entrepôts de ressources
pédagogiques hétérogènes » ,2007 :2008
[CLU, 98]: Sophie Cluet , Claude Delobel, Jérôme Siméon et Katarzyna Smaga, «Your
Mediators need Data Conversion! », In International Conference on
Management of Data ACM SIGMOD, Seattle, 1998.
[DAT, 87]: C. J. Date, « Twelve Rules for a distributed Database », Computer World 2 (23)
p.77-81 1987.
[DES, 05] : Y. Desrichard, « Cours sur les outils collectifs des bibliothèques françaises et
étrangères», Médiadix, Mai 2005
[FER, 04] : Ferrara, « Introduction aux bases de données réparties », Résumé du cours «
Bases de données distribuées » donné dans le cadre du module « Base de
données II », University of applied sciences of western switzerland, school of
business administration Neuchâtel, 2004.
[GAR, 91] : Georges Gardarin et P.Valduriez « SGBD avancés « base de données objet,
déductives, réparties », EYROLLES, 1991 (2ème édition).
173
Bibliographie
[GIO, 92]: Wiederhold Gio. « Mediators in the Architecture of Future Information Systems »
IEEE Computer, 25(3):38-49, March 1992.
[MOU, 07] : Moussa Rim, « Systèmes de Gestion de Bases de Données Réparties &
Mécanismes de Répartition avec Oracle », Ecole Supérieure de Technologie et
d‟Informatique à Carthage, Année Universitaire, 2006-2007.
[ROQ, 07] : Pascal Roques et Franck Vallée « UML 2 en action, De l‟analyse des besoins à
la conception » EYROLLES 4e édition, 2007
174
Webographie
Webographie :
[WEB_01] : http://bbf.enssib.fr/consulter/bbf-1991-01-0025-004.pdf
[WEB_03]: http://www.gtdownload.com/fr/libre-telechargez/Developpement-
categorie/Outils-D-Aide-souscategorie/Visual-Paradigm-for-UML-Professional-
Edition-for-Windows-details-de-vue.html
[Web_04] : http://fr.wikipedia.org/wiki/Apache_HTTP_Server
[WEB_05] : http://www.php.net/manual/fr/preface.php
[WEB_06] : http://fr.wikipedia.org/wiki/Php
[WEB_07] : www.afup.org
[WEB_08] : http://www.str.fr/UNIVERS-ADOBE-MACROMEDIA-
DREAMWEAVER.aspx
[WEB_09] : http://www.numilog.com/package/extraits_pdf/e270474.pdf
[WEB_10] : http://fr.wikipedia.org/wiki/Mysql
[WEB_11] : http://fr.wikipedia.org/wiki/Dublin_Core
175
Annexes
Annexes :
1. Diagrammes de séquences :
176
Annexes
177
Annexes
Noyau Présentation : Il définit les classes, les interfaces et les mécanismes de base pour
réaliser l‟affichage des objets manipulés par les utilisateurs.
178
Annexes
La sécurité côté SGBD apporte une meilleure gestion du système ; chaque utilisateur
reçoit un ensemble de privilèges se rapportant à l‟exploitation du système.
179
Annexes
180
Annexes
Nous proposons dans ce qui suit le schéma logique de deux bibliothèques différentes sur
lesquelles notre application va inter opérer.
181
Annexes
182
Annexes
4. Eemples d’adaptateurs :
Les scripts ci-dessous représentent la fonction qui vérifie la disponibilité de
la ressource, dans les deux schémas précédents :
Adaptateur de la bibliothèque 1:
<?php
function dispo1($id_doc) {
$query_exp= sprintf("SELECT COUNT(code_ouvrage) FROM exemplaire
WHERE exemplaire.code_ouvrage='".$id_doc."' and etat_exemp='en
service' ");
$exp= mysql_query($query_exp) or die(mysql_error());
$row_exp= mysql_fetch_assoc($exp);
$nb_exp=$row_exp['COUNT(code_ouvrage)'];
$query_reserv= sprintf("SELECT count(code_ouvrage) FROM reserve
WHERE code_ouvrage='".$id_doc."' and etat_reserv='1' " );
$reserv= mysql_query($query_reserv) or die(mysql_error());
$row_reserv= mysql_fetch_assoc($reserv);
$nb_reserv=$row_reserv['count(code_ouvrage)'];
$query_pret= sprintf("SELECT COUNT(exemplaire.code_ouvrage) FROM
emprunte,exemplaire WHERE exemplaire.code_ouvrage='".$id_doc."' AND
emprunte.etat_pret='encours' and
exemplaire.code_exemp=emprunte.code_exemp" );
$pret= mysql_query($query_pret) or die(mysql_error());
$row_pret= mysql_fetch_assoc($pret);
$nb_pret=$row_pret['COUNT(exemplaire.code_ouvrage)'];
$nb_utilise=$nb_reserv+$nb_pret;
183
Annexes
Le Dublin Core est un schéma de métadonnées générique qui permet de décrire des
ressources numériques ou physiques et d‟établir des relations avec d'autres ressources. Il
comprend officiellement 15 éléments de description formels (titre, créateur, éditeur),
intellectuels (sujet, description, langue, …) et relatifs à la propriété intellectuelle.
Le Dublin Core fait l'objet de la norme internationale ISO 15836, disponible en anglais
et en français depuis 2003. Il est employé par l'Organisation mondiale de la santé, ainsi que
d'autres organisations intergouvernementales.
184
Annexes
Le Dublin Core tire son nom d'un groupe de travail qui s'est réuni en 1995, dans la ville
de Dublin, dans l'État américain de l'Ohio, pour définir un tronc commun d'éléments utilisable
par le gouvernement américain pour la description des ressources numériques dans les
registres de métadonnées officiels (défense, justice…)
Le groupe de travail de mars 1995 a été commandité par l'Online Computer Library
Center (OCLC) et le National Center for Supercomputing Applications (NCSA). Il a
rassemblé 52 chercheurs et professionnels des bibliothèques, de l'informatique, de l'encodage
de textes, pour faire avancer l'état de l'art dans le développement des enregistrements de
description de ressources (ou métadonnées) pour les objets informatiques en réseau.
Les éléments sémantiques du Dublin Core ont été et sont encore discutés et maintenus
par un groupe de travail international, pluri disciplinaire, et réunissant des bibliothécaires, des
informaticiens, des spécialistes de l‟édition ou des musées, chercheurs ou praticiens issus
d‟organisations publiques ou privées.
185
Annexes
Elément Description
1. Titre Titre principal du document
2. Créateur Nom de la personne, de l'organisation ou du service à l'origine de la
rédaction du document