Vous êtes sur la page 1sur 104

i

EPIGRAPHE

« La lecture, c'est une vertu irremplaçable qui enrichie le savoir et fortifie la


mémoire »

Salim Boudiaf
ii

LISTE DES ABREVIATIONS


➢ 2TUP : Two Track Unified Process
➢ ASP : Application Service Provider
➢ BDR : Base de Données Repartie
➢ CDROM : Compact Disk Read Only Memory
➢ CPU : Central Processing Unit
➢ CSS : Cascading Sheet Style
➢ DBA : Database Administrator
➢ Dta : Date au plus tard
➢ Dto : Date au plutôt
➢ GestBiblio : Gestion de Bibliothèque
➢ HTML : HyperText Markup Language
➢ LAN : Local Area Network
➢ LCD : Langage de Contrôle de Données
➢ LDD : Langage de Description de Données
➢ LMD : Langage de Manipulation de Données
➢ MAJ : Mise à Jour
➢ MAN : Metropolitan Area Network
➢ ML : Marge Libre
➢ MPM : Méthode des Potentiels Métra
➢ MT : Marge Totale
➢ Obj 1 : Objet 2
➢ Obj 2 : Objet 1
➢ P2P : Peer to Peer
➢ PAN : Personal Area Network
➢ PERT : Program Evaluation Research Task
➢ PHP : Hypertext PreProcessor
➢ RAM : Random Access Memory
➢ SGBD : Systèmes de gestion de base de données
➢ SGBDR : Systèmes de gestion de base de données Relationnel
➢ SI : Système Informatique
➢ SMA : Statistique mensuel des abonnés
➢ SO : Système Opérant
➢ SP : Système de pilotage
➢ SQL : Structured Query Language
➢ UML : Unified Modeling Language
➢ UP : Unified Process
➢ URSS : Union des Républiques Socialistes Soviétiques
➢ WAN : Wide Area Network
➢ WWW : World Wide Web
iii

LISTE DES FIGURES


Figure 1 Présentation du graphe Pert
Figure 2 Mise en ordre du graphe relatif au projet
Figure 3 Le chemin critique de notre graphe
Figure 4 calendrier du planning de réalisation du projet.
Figure 5 Classification des réseaux selon la taille.
Figure 6 Maquette réseau Peer to Peer
Figure 7 maquette réseau client/serveur
Figure 8 Diagramme de contexte de paiement d’abonnement
Figure 9 Diagramme de contexte Consultation des ouvrages
Figure 10 Diagramme de cas d’utilisation : Paiement d’abonnement
Figure 11 Diagramme de cas d’utilisation : Consultation des ouvrages
Figure 12 Représentation d'un message Asynchrone.
Figure 13 Représentation d'un message synchrone.
Figure 14 Présentation du diagramme de séquence du processus : paiement
d’abonnement.
Figure 15 Présentation du diagramme de séquence du processus : Consultation des
Ouvrages.
Figure 16 processus « 2TUP » (Two Track Unified Process)
Figure 17 Diagramme de classe
Figure 18 Diagramme de class avec multiplicités et associations
Figure 19 Diagramme de classe avec Operations
Figure 20 Diagramme d’activité : Paiement d’abonnement
Figure 21 Diagramme des composants
Figure 22 Diagramme de déploiement
Figure 23 Maquette réseaux client/serveur
iv

TABLE DES ILLUSTRATIONS


Tableau 1 Recensement et déroulement des tâches
Tableau 2 Dates au plus tôt au plus tard, la marge totale et la marge libre
Tableau 3. Identification des messages pour le processus de paiement d’abonnement
Tableau 4. Identification des messages pour le processus de Consultation des Ouvrages
Tableau 5. Identification des attributs des classes
Tableau 6 Estimation du coût du matériels
Tableau 7 Estimation du coût logiciels
Tableau 8 Estimation du coût de la formation du personnel
Tableau 9 synthèse des coûts des composants
v

DEDICACE

A notre cher papa MBULU MADAK’HAM Désiré,


A notre chère maman NANA MUSINANI,
A BILE LOKOLI PITCHOU,

Pour les efforts et les sacrifices consentis envers nous, pour l’amour et
les conseils prodigués, à eux, nous dédions ce mémoire.

KIMPIATU MBULU Grâce


vi

AVANT-PROPOS
Au terme de ce travail, nous tenons à remercier le Dieu Tout puissant, Maître
de toute vie sur terre, Lui qui sait concourir les événements pour réaliser son plan dans
nos vies et qui appelle à l’existence ce qui n’existe pas, pour avoir assuré notre survie
sur terre et pour avoir appelé à l’existence ce travail depuis notre venue sur terre.
Nous remercions le professeur Dr. Ir. Agrégé MBIKAYI MPANYA Jean
Marcel, pour avoir accepté de diriger ce travail.
A Notre encadreur Monsieur Patrick Isaac TSHISHIKU LUAMBUA pour ses
qualités humaines et professionnelles, pour son encadrement, ses directives, ses
remarques constructives, et sa disponibilité.
Nos parents MBULU MADAK’HAM Désiré et MUSINANI MBULU Nana, pour
tous les sacrifices accordés en notre faveur.
A nos frères et sœurs : Emmanuel MBULU MADAK’HAM et à ma petite sœur
Daisy MBULU LUMANA pour le soutien et amour.
A notre Révérend MOÏSE GBEMA et à toute la paroisse satellite de yolo
<<P.S.Y>> en sigle.
A la Famille MBULU, Patience, Cedi.
A Tous mes amies, GLORIA YUMBU, MERVEILLE MAMBU
A la Famille MUKALIBAMBA, Mon oncle Jeef PAFU, Ma Grande Sœur
Merveille MBAYA, à mon grand Joris MALULY, Espoir TOMBO.
A la Famille Nzeke précisément à Muriel et Prince Nzeke.
A tous les membres du groupe HOPE ALWAYS ORGANISATION
particulièrement à JONATHAN MAFUKA, JOELLE NGALULA, LOVE ANEM, DEBORAH
MBUYI supervisé par ARNOLD KANDA,
Que toutes ces différentes personnes qu’YHWH a mises dans notre vie pour
leurs encouragements continus et leurs aides précieuses trouvent dans ces paroles
l’expressions de notre reconnaissances.

KIMPIATU MBULU Grâce


1

INTRODUCTION
Depuis longtemps, les hommes ont cherché à fabriquer des outils et des
machines pour améliorer leurs conditions de vie et être plus efficaces dans leur
travail. Dans son aspect le plus positif, ce désir avait à l'origine les buts majeurs de
permettre de réaliser des choses qu'ils ne pouvaient pas faire en utilisant seulement
leurs mains, Epargner la peine et la fatigue afin de gagner du temps.
A l'heure de l'accroissement des Nouvelles Technologies de l'Information
et de la Communication, l'enjeu est de restituer le patrimoine numérique de manière
intelligente, c'est-à-dire, accessible et intelligible car au-delà de la nécessité de la
numérisation pour la sauvegarde du patrimoine, pour la constitution d'une vaste
bibliothèque numérique, reflet des savoirs du monde, se pose la question des
modalités de la transmission du savoir.
Une bibliothèque est un moyen d'accès à l'information, aux idées et aux
œuvres de l'imagination liées à certaines recherches qui ont été effectuées. Une
expérience en bibliothèque peut contribuer à la compréhension du monde, faire
découvrir le plaisir d'une histoire d'enfant, fournir un conseil, écouter le témoignage
d'une personne âgée pleine de sagesse.1
Les bibliothèques sont adaptées à toutes les étapes de la vie d'un individu
en tant que :
· Lieux de découvertes
· Sources d'informations générales, politiques et sociales
· Centres socioculturels
· Centre de ressources et études locales
· Lieux de partage et d'épanouissement
La bibliothèque TOTANGA, une bibliothèque qui présente plusieurs
domaines d’étude, alors étant physique, l’abonné doit se déplacer pour faire la
lecture. De ce fait, la mise en ligne de tout ses livres lui donnera une accessibilité a
tous celui qui a besoin à travers l’internet.
Une bibliothèque numérique (ou en ligne ou encore électronique) est une
collection de documents (textes, images, sons) numérisés accessibles à distance (en
particulier via Internet). Ces derniers peuvent être très élaborés, comme les livres
électroniques, ou beaucoup plus bruts.

1
Françoise Félicité, Le rôle fondamental des bibliothèques dans la Société de l'information, Edition 2015
2
1. CHOIX ET INTERET DU SUJET
Le sujet qui sera développé dans les lignes qui suivent porte sur la
numérisation de la bibliothèque physique et s’intitule « l’usage des nouvelles
technologies de l’information dans la dématérialisation de la bibliothèque physique
cas de la bibliothèque TOTANGA » en vue de doter la bibliothèque d’un outil très
efficace et capable de traiter automatiquement les informations et de permettre un
bon suivi des activités des lecteurs dans cette bibliothèque.
L’intérêt de ce sujet est motivé par trois raisons principales :
La première raison tient de la contrainte académique qu’a tout étudiant,
finaliste du second cycle, à présenter à la fin de l’année un mémoire portant sur un
domaine de gestion donné.
La deuxième raison vient à la disponibilité des responsables de la
bibliothèque de nous fournir les données nécessaires pour que cette étude soit
menée à bon fin afin de leur fournir une application pour mieux gérer leur
bibliothèque.
La troisième tient à l’intérêt qu’a suscité en nous le concept des
applications web lors des enseignements reçus au cours de notre cursus
universitaire, au deuxième cycle.
2. PROBLEMATIQUE
La problématique est l'ensemble de question que le chercheur se pose
autour du sujet de sa recherche2
Dans la bibliothèque physique, nous avons remarqué certaines difficultés,
notamment :
✓ L'accès aux documents
✓ Le lecteur se déplace pour aller consulter les ouvrages ;
✓ La lenteur dans le traitement des données lors de statistiques mensuelles des
différentes activités ;
✓ Au cas où un nombre important des lecteurs se présente à la bibliothèque, celle-ci
arrive à être saturée parce qu'il n'y a pas assez des places pour les contenir, d'où
les autres sont obligés de se tenir débout et cela entraine la perte ou le vol des
livres.
Au regard des difficultés soulevées, nous nous sommes posés la question
suivante : « l’usage de la nouvelle technologie de l’information dans la
dématérialisation pourra-t-elle optimiser la gestion dans la bibliothèque ?»

2 MOMINDO, cours d’initiation à la recherche scientifique G2 info, ISS/KIN 2014-2015


3
3. HYPOTHESE
L’hypothèse est une série de réponses qui permettent de prédire la vérité
scientifique, vraisemblable, au regard des questions soulevées par la problématique
et dont la recherche vérifie le bien-fondé ou le mal fondé3.
Etant donné que l'informatique est de nos jours l'outil par l'excellence qui
procure la rapidité et l'automatisation, source de la précision et de l'exactitude, nous
ne pensons qu'à la résolution des problèmes liées à l'accès rapide à la bibliothèque,
par la mise en place d'un système numérique qui offrirait :
La possibilité d'accéder aux fichiers à distance par le Web à partir d'un
poste de travail, La rapidité et un temps illimité de consultation, L’indépendance des
barrières physiques.
4. CHOIX DES METHODES ET TECHNIQUES
a) Choix des méthodes
La méthode se définit comme étant un ensemble de démarches
raisonnées, suivies pour parvenir à un but4.
Il en existe plusieurs, nous pouvons citer : les méthodes structuro-
fonctionnelles, les méthodes analytiques, la méthode UML, la méthode PERT, la
méthode MPM et la méthode de GANTT.
Parmi toutes ces méthodes, en ce qui concerne notre travail, nous allons
utiliser les méthodes Structuro-fonctionnelle, Analytique, UML et PERT lesquelles
feront l’objet de plus amples détails dans la première partie de notre étude.
b) Choix des techniques
Une technique est un ensemble de procédés exploités par le chercheur
dans la phase de collecte des données qui intéressent son étude5.
Pour mener à bien notre étude, nous avons utilisé tour à tour, la technique
d’interview, la technique documentaire et la technique d’observation qui consistent,
respectivement, à un jeu de questions-réponses avec les différents acteurs concernés
par notre étude, la consultation des documents utilisés par le service et des ouvrages
et l’observation du déroulement des activités liées à notre sujet de recherche ; afin de
collecter les informations à la réalisation de notre travail.

3
MOMINDO, Op.Cit
4
Idem
5
Ibidem
4
5. DELIMITATION DU SUJET
A) Dans le temps
La période allant 2015 à nos jours a été retenue comme période des
données considérées dans nos recherches.
B) Dans l’espace
Dans l’espace, ce travail se limite à la réalisation d’un système interactif en
ligne pour la bibliothèque Totanga, en prenant en charge le paiement d’abonnement
et la consultation des ouvrages.
6. ETAT DE LA QUESTION
Présenter l'état de la question d'une recherche scientifique revient à
présenter d'une façon critique les études qui ont précédés celle que vous voulez
entreprendre. C'est-à-dire énumérer les travaux antérieurs au votre en disant chaque
fois en quoi ils ont consisté.
Nous n'estimons pas être le premier à pouvoir traiter de ce sujet car
plusieurs de nos prédécesseurs l'ont déjà abordé mais chacun selon son angle.
C'est le cas notamment de :
➢ LUKABYA PRESLEY dans son travail intitulé « conception d'une bibliothèque
virtuelle », il vise à sauvegarder, sécuriser et partager les informations via le
réseau et dématérialiser la bibliothèque ;
➢ ULIMUBENSHIBAHINGA dans son travail de fin d'étude intitulé « conception
d'un moteur de recherche de mémoire » qui parle de la mise en place d'un
moteur de recherche de mémoire qui est un outil informatique permettant
aux informaticiens et aux non informaticien de faire une recherche efficace
dans un temps record. La gestion dont l'auteur parlait ici renferme en son sein
plusieurs activité telles que :
- La mise à jour des informations
- Le contrôle des informations
- La recherche des informations. Ainsi pour mieux les assembler, il avait
besoin de mettre en place un système informatique.
➢ RASHIDI BIN RASHIDI (2010) ; dans son travail de fin d'étude intitulé «
conception d'une bibliothèque virtuelle, vise à faciliter la recherche et la
consultation des ouvrages disponible dans la bibliothèque ;
➢ Pascal Roques, UML2 par la pratique : « Etude d'un système d'information
d'une bibliothèque » dans son ouvrage, il a été question d'élaborer un
modèle d'un système informatique permettant de gérer une bibliothèque en
se focalisant sur le prêt des livres ;
Quant à nous, nous allons parler de ce sujet tout en mettant beaucoup plus
l'accent sur l'abonnement et la consultation en ligne. Ce qui va nous conduire à
réaliser une application pouvant faciliter l'abonnement et la consultation des livres à
distance.
5
7. DIFFICULTES RENCONTRES
Aucune œuvre humaine n’est réalisée sans la moindre difficulté. Voici
quelques difficultés rencontrées, Durant les recherches, nous avons rencontré les
difficultés telles que la récolte des données un peu difficiles, l'entreprise devait être
très sûre que nous ne sommes pas des espions malgré la lettre de recherche, Les
rendez-vous non respectés par les personnels de la bibliothèque, Retard causé par la
perte de certains documents nécessaires à notre recherche.et autres difficultés qui
ont ajouté les jours pour la réalisation de ce travail.

SUBDIVISION DU TRAVAIL
Excepté l’introduction et conclusion, ce présent travail comprend 4 grands
chapitres répartis en section :
Chapitre 1 : Cadrage du projet
Dans ce chapitre, nous parlerons du temps que mettra notre projet, des
diffèrent taches à exécuter, et présenter notre calendrier de travail.
Chapitre 2 : Système informatique de la bibliothèque numérique
Ici, nous allons comprendre l’existant, le fonctionnement de l’entreprise,
déceler les défaillances et proposer des solutions.
Chapitre 3 : Analyse et conception du système
L'activité de ce Chapitre est une description logique de la façon dont le
système va fonctionner. Elle consiste à façonner le Système et lui donner une forme
et une architecture. Elle constitue une entrée majeure pour les deux dernières à
savoir l'implémentation et le test.
Chapitre 4 : Implémentation
Ce chapitre nous permet de montrer les résultats de notre application
dans sa phase de test et d'essai, ce qui nous permettra d'envisager les améliorations
possibles.
6
CHAPITRE 1 : CADRAGE DU PROJET
Un projet est un ensemble d'activités coordonnées et maîtrisées
comportant des dates de début et de fin, entrepris dans le but d'atteindre un objectif
conforme à des exigences spécifiques6.
1.1. PLANNING PROVISIONNEL
1.1.1. Méthode d’ordonnancement
Les réalisations importantes dans un projet exigent une surveillance constante
et une coordination de diverses tâches pour éviter des pertes de temps qui coûtent
chères. Ces problèmes de coordination s’appellent problème d’ordonnancent.
Un projet étant un objectif à atteindre et dont la réalisation suppose l’éduction
préalable de plusieurs tâches soumises à de multiples contraintes, il faut déterminer
l’ordre et le calendrier d’exécution de ces nombreuses tâches. Ces contraintes sont
essentiellement de trois sortes :
Type potentiel : la tâche B ne commence qu’après la fin de la tâche A ou bien
après la moitié de temps de réalisation de A ou encore un certain temps après la fin
de A ;
Type disjonctif : les tâches A et B ne peuvent pas se réaliser au même moment
;
Type commutatif : ces contraintes sont liées à la limitation des moyens utiles à
l’exécution d’un certain nombre de tâches.
Dans le problème d’ordonnancement, nous prenons en compte uniquement
les contraintes de succession dans le temps car l’exécution d’une tâche ne pourrait
commencer que si toutes les tâches qui lui sont antérieures sont finies.
Il existe trois méthodes d’ordonnancement, à savoir :
➢ Le diagramme de Gantt
➢ La méthode MPM (Méthode des potentiels Métra),
➢ La méthode PERT (program evaluation and research task).
Toutes ces trois méthodes poursuivent le même objectif qui est celui de
planifier le déroulement d’un projet.
Notre choix est porté sur la méthode PERT. Nous allons appuyer notre
démarche par quelques illustrations faites à partir du Ms-Project de la suite office
2016, qui est un logiciel efficace pour la planification des projets.

6
http://www.gestion-projet-informatique.vivre-aujourdhui.fr/projet-definition-generale.html. Consulte le
21/03/2018 à 13h13
7
1.1.2. Recensement et déroulement des tâches.
Hormis le début et la fin du projet, Les tâches identifiées pour la réalisation de
ce projet ainsi que les contraintes de réalisation de chaque tâche sont reprises dans
le tableau suivant :
Code tâche Désignation Précédente Durée Suivante
A Elaboration du calendrier du travail - 3 B
B Prise de contact A 4 C
C Recueil de l’existant B 10 D, E
D Diagnostic de l’existant C 3 F
E Suggestion des solutions C 2 F
F Conception du nouveau système D, E 40 G
G Elaboration du cahier de charge F 7 H
H Lancement d’offres G 1 I
I Dépouillement H 3 J
J Passation de la commande I 12 K, L
K Acquisition des matériels J 6 M
L Installation des matériels J 11 M
M Création des bases de données K, L 5 N
N Test de création des bases de données M 1 O
O Programmation des interfaces N 21 P
P Test des interfaces O 5 Q
Q Hébergement P 6 R
R Test d’hébergement Q 5 S
S Installation du système R 6 T
T Test d’installation S 13 U
U Notice du système T 6 V
V Formation U 15 W
W Livraison V 1 -

Tableau 1 Recensement et déroulement des tâches


8
1.1.3. Présentation de la méthode PERT
La méthode PERT (Program Evaluation and Review Technic ou Program
Evaluation Research Task) et en français « Technique d’élaboration et de mise à jour
de programme » a été créé en 1958 à la demande de la marine américaine, qui veut
planifier la durée de son programme de missiles balistiques nucléaires miniaturisés
Polaris. L'enjeu principal est de rattraper le retard en matière de balistique par
rapport à l'URSS, après le choc de la « crise de Spoutnik »,
Son principe est de découper un projet en un ensemble d’actions appelées
tâches et de les représenter sous forme graphique selon un graphe de dépendances.
Grâce à la chronologie et l’interdépendance de chacune des tâches, on
structure ainsi l’ensemble du projet et on peut alors planifier la réalisation de
chacune des tâches les unes par rapport aux autres, afin de minimiser les délais,
ainsi que réduire l’impact des retards lors de l’exécution des différentes tâches.
Le diagramme PERT représente le planning des travaux par un graphe de
dépendances. Son formalisme en réseau se focalise sur l’interconnexion des tâches à
effectuer et sur le calcul des chemins critiques. Une différence importante avec le
diagramme de Gantt est l'échelle de temps conventionnelle du diagramme PERT qui
représente un enchaînement de tâches et non des durées ou un calendrier.
9

1.1.4. Présentation du graphe Pert

5 12 N O
D F K
A C 14 15 21
B 3 40 6 1
1 2 3 4 G H I J K‘=0 M
3 4 10 7 8 9 10 11
E E‘=0 7 1 3 12 L
5
2 11
13
6

P Q R S T U V W
16 17 18 19 20 21 22 23 24
5 6 5 6 13 6 15 1

Figure 1 Présentation du graphe Pert


10

1.1.5. Estimation des durées et calcul des niveaux


Les durées en jours des taches distinctes que nous venons d’énumérer
sont estimées de la manière suivante :
A=3, B=4, C=10, D=3, E=2, F=40, G=7, H=1, I=3, J=12, K=6, L=11, M=5,
N=1, O=21, P=5, Q=6, R=5, S=6, T=13, U=6, V=15, W=1
Les niveaux des taches sont déterminés par les conditions d’antériorité et
de postériorité, nous chercherons donc à savoir ;
✓ Quelle tache doit être terminée immédiatement avant qu’une autre ne
commence ?
✓ Quelle tache doit suivre une tache déterminée ?
Ainsi, nous aurons les différents niveaux suivants ;
N1={A} N10={K,L} N19={U}
N2={B} N11={M} N20={V}
N3={C} N12={N} N21={W}
N4={D,E} N13={O}
N5={F} N14={P}
N6={G} N15={Q}
N7={H} N16={R}
N8={I} N17={S}
N9={J} N18={T}
11

1.1.6. La date au plus tôt


On appelle date au plus tôt de la tâche X, la première date à laquelle il est
possible de démarrer la tâche X étant donnée les contraintes et la durée des tâches,
elle est trouvée par la formule suivante :
Date au plus tôt de la tache x= Date au plus tôt de la tâche précédente y +
Durée de la tâche x.
✓ Date au plus tôt du début=0 ✓ Date au plus tôt de L=83+11=94
✓ Date au plus tôt de A=0+3=3 ✓ Date au plus tôt de M=94+5=99
✓ Date au plus tôt de B=3+4=7 ✓ Date au plus tôt de N=99+1=100
✓ Date au plus tôt de C=7+10=17 ✓ Date au plus tôt de O=100+21=121
✓ Date au plus tôt de D=17+3=20 ✓ Date au plus tôt de P=121+5=126
✓ Date au plus tôt de E=17+2=19 ✓ Date au plus tôt de Q=126+6=132
✓ Date au plus tôt de F=20+40=60 ✓ Date au plus tôt de R=132+5=137
✓ Date au plus tôt de G=60+7=67 ✓ Date au plus tôt de S=137+6=143
✓ Date au plus tôt de H=67+1=68 ✓ Date au plus tôt de T=143+13=156
✓ Date au plus tôt de I=68+3=71 ✓ Date au plus tôt de U=156+6=162
✓ Date au plus tôt de J=71+12=83 ✓ Date au plus tôt de V=162+15=177
✓ Date au plus tôt de K=83+6=89 ✓ Date au plus tôt de W=177+1=178

1.1.7. La date au plus tard


La date la plus tard d’une tache est la date au plus tard du démarrage de
ladite tache sans déranger la durée maximale ou de la tache f est initialisée à la date
au plus tôt de cette même tache.
Les dates au plus tard de la tache restante sont calculées de la manière
suivante :
Date au plus tard de la tache x (tache suivante) = date au plus tard de la
tache y (tache précédente) –durée x (tache suivante)
✓ Date au plus tôt de W=178 ✓ Date au plus tôt de I=83 - 12=71
✓ Date au plus tôt de V=178 – 1 =177 ✓ Date au plus tôt de H=71 - 3=68
✓ Date au plus tôt de U=177 - 15=162 ✓ Date au plus tôt de G=68 - 1=67
✓ Date au plus tôt de T=162 - 6=156 ✓ Date au plus tôt de F=67 - 7=60
✓ Date au plus tôt de S=156 - 13=143 ✓ Date au plus tôt de E=60 - 40=20
✓ Date au plus tôt de R=143 - 6=137 ✓ Date au plus tôt de D=60 - 40=20
✓ Date au plus tôt de Q=137 - 5=132 ✓ Date au plus tôt de C=20 - 3=17
✓ Date au plus tôt de P=132 - 6=126 ✓ Date au plus tôt de B= 17 - 10=7
✓ Date au plus tôt de O=126 - 5=121 ✓ Date au plus tôt de A=7 - 4=3
✓ Date au plus tôt de N=121 - 21=100 ✓ Date au plus tôt du début = 3-3=0
✓ Date au plus tôt de M=100 - 1=99
✓ Date au plus tôt de L=99 – 5 =94
✓ Date au plus tôt de K=99 - 5=94
✓ Date au plus tôt de J=94 - 11=83
12

1.1.8. Mise en ordre du graphe relatif au projet


20 20
D F
D 40
0 0 3 3 7 7 17 17 3
A B C 60 60 67 67
G H 68 68 71 71 J
4 B 10 C I
Debut 3 A E F 7 G 1 H 3 12
2 I
19 20
E

89 94

K
K
83 83
6
99 99 100 100 O 121 121 126 126 132 132 137 137
J N P Q R S
L
M M 1 N 21 O 5 P 6 Q 5 R 6
11 94 94
5
L

143 143 156 156 U 162 162 177 177 178 178
T V W
S 13 T 6 U 15 V 1 W

Figure 2 Mise en ordre du graphe relatif au projet


13

1.1.9. Calcul des marges libres et marges totales


A. Marge libre (ML) :
C’est le retard maximum que l’on peut supporter à la mise en route d’une
tâche sans remettre en cause la date au plus tôt d’une tâche. Elle est pour une tâche x
a : ML=Ty-Tx-dx
Ainsi, nous aurons les marges libres suivantes après application de la formule :
Début=0, A=0, B=0, C=0, D=0, E=1, F=0, G=0, H=0, I=0, J=0, K=5, L=0, M=0, N=0, O=0,
P=0, Q=0, R=0, S=0, T=0, U=0, V=0, W=0.
Commentaire des résultats :
A l’exception des tâches E et K qui peuvent accepter respectivement un retard
de 1 jours et 5 jours sans pour autant remettre en cause leurs dates au plus tôt,
toutes les autres tâches doivent débuter aux dates prévues parce qu’elles n’ont
aucune marge libre.
B. Marge totale (MT)
C’est le retard maximum que l’on peut prendre dans la mise en route d’une
tâche sans remettre en cause les dates au plus tard des tâches suivantes donc sans
retarder la fin des travaux.
Pour une tâche x, cette marge s’obtient en appliquant la formule suivante :
MT=Tx’-Tx
Après avoir appliqué la formule plus haut, nous obtenons ceci :
Début=0, A=0, B=0, C=0, D=0, E=1, F=0, G=0, H=0, I=0, J=0, K=5, L=0, M=0, N=0, O=0,
P=0, Q=0, R=0, S=0, T=0, U=0, V=0, W=0.
Commentaire des résultats :
Nous constatons que la majorité de tâches n’admet pas de retard avant leur
exécution à l’exception des tâches E et K qui peuvent tolérer un retard respectif de 1
jour et 5 jours avant leur mise en route sans remettre en cause les dates au plus tard
des tâches suivantes F et M.
14

1.1.10. La recherche du chemin critique


Cette étape consiste à trouver sur le graphe, le chemin qui nous donne le temps le plus long vers
l’achèvement du projet.
Il est appelé critique parce que tout retard sur l’une des tâches de ce chemin entraîne du retard qui se
répercute sur le temps dans l’achèvement du projet, c'est-à-dire l’ensemble des tâches dont les marges totales sont
nulles.

F G H I J L M
T B C D
1

N O P Q R S T U V W

Figure 3 Le chemin critique de notre graphe


15

1.1.11. Tableau de synthèse


Code Désignation Durée Précédente Suivante Dto Dta Mto Mli
tâche t b
Début Début 0 - T1 0 0 0 0
A Elaboration du calendrier du travail 3 - B 3 3 0 0
B Prise de contact 4 A C 7 7 0 0
C Recueil de l’existant 10 B D, E 17 17 0 0
D Diagnostic de l’existant 3 C F 20 20 0 0
E Suggestion des solutions 2 C F 19 20 1 1
F Conception du nouveau système 40 D, E G 60 60 0 0
G Elaboration du cahier de charge 7 F H 67 67 0 0
H Lancement d’offres 1 G I 68 68 0 0
I Dépouillement 3 H J 71 71 0 0
J Passation de la commande 12 I K, L 83 83 0 0
K Acquisition des matériels 6 J M 89 94 5 5
L Installation des matériels 11 J M 94 94 0 0
M Création des bases de données 5 K, L N 99 99 0 0
N Test de création des bases de données 1 M O 100 100 0 0
O Programmation des interfaces 21 N P 121 121 0 0
P Test des Programmation des interfaces 5 O Q 126 126 0 0
Q Hébergement 6 P R 132 132 0 0
R Test d’hébergement 5 Q S 137 137 0 0
S Installation du système 6 R T 143 143 0 0
T Test d’installation 13 S U 156 156 0 0
U Notice du système 6 T V 162 162 0 0
V Formation 15 U W 177 177 0 0
W Livraison 1 V - 178 178 0 0

Tableau 2 Dates au plus tôt au plus tard, la marge totale et la marge libre
16

1.1.12. Elaboration du calendrier du planning de réalisation du projet.


Pour notre projet, nous avons choisis comme date de démarrage de
l’exécution des tâches, le Lundi 09/04/2018 et il arrivera à terme le 06/11/2018.
Tenant compte des jours fériés et des jours de repos (dimanche), le calendrier de
réalisation du projet se présente de la manière suivante :

Figure 4 calendrier du planning de réalisation du projet.


17

CHAPITRE 2 : SYSTEME INFORMATIQUE DE LA BIBLIOTEHQUE


NUMERIQUE TOTANGA
SECTION 1 : ETUDE PRELIMINAIRE
1.1. Aperçu historique
La bibliothèque publique dénommée « Totanga » (qui veut dire : lisons), est
une œuvre sociale qui est une initiative de la congrégation des sœurs des pauvres de
Bergame. Monsieur Franco CATTANEO en est l’initiateur. Il est d’origine italienne.
Celui-ci en conformité avec le charisme des sœurs de pauvres de Bergame, aidait
certains jeunes de Kingasani pour les études : le paiement des frais scolaires, achats
des livres pour les travaux des fin de cycle,… de là est née l’idée la plus belle, celle de
la bibliothèque.
Parce qu’il s’est demandé envoyer un livre de jurisprudence à x,
d’informatique à Y, de chimie à z, pourquoi se limité à satisfaire le besoin d’un petit
groupe de personnes, pourquoi alors ne pas penser à une bibliothèque pour tous ?
Le premier lot des livres est arrivé le 13 novembre 2005 avec 300 livres.
Son ouverture remonte à partir du 24 avril 2006, par une messe d’action de
grâce présidé (dite) par l’abbé Vincent TSHOMBA de la paroisse saint marc en
présence de plusieurs personnalités.
A travers cette réalisation, les religieux ont pensé à la jeunesse du district de la
Tshangu en particulier et à ceux de la RDC en général en leur montrant l’importance
de la lecture dans la formation humaine, la structure de fonctionnement (interne) de
la bibliothèque le guide su évoquer, les bibliothécaires et informaticiens
1.2. Objectifs
La bibliothèque a pour objectifs :
➢ D’acquérir les ressources documentaires requises pour soutenir
l’enseignement, instaurer la culture de la lecture, la recherche et les
activités de soutien de l’école, quels que soient les supports de cette
documentation.
➢ D’amener la jeunesse congolaise à se cultiver au gout de la lecture.
➢ Montrer l’importance de la lecture pour la capacité intellectuelle, leur
action favorise le développement économique et social, contribue au
maintien de la liberté intellectuelle, à la préservation des valeurs
démocratiques et des droits civils.
➢ De mettre à la disposition de ses usagers un lieu propice à l’étude, à la
réflexion et à la consultation.
18

1.3. Organisation et fonctionnement de l’organe en charge de la


bibliothèque
1. SUPERVISEUR
Initiateur de la bibliothèque, Il supervise toute action administrative et veille
au bon fonctionnement de la bibliothèque en ayant un regard sur les lecteurs
et le personnel.
2. ADMINISTRATEUR
Il est le responsable numéro 1, c’est lui le gestionnaire principal de la
bibliothèque comme chef de service. Il est le collaborateur du superviseur, il
établit les rapports mensuel et annuel de la gestion et du fonctionnement de la
bibliothèque et rédige les statistiques des abonnés selon qu’il est étudiant,
chercheur, élève, homme ou femme, la commune de résidence.
3. BIBLIOTHECAIRE
Il fait office comme réceptionniste, Il contrôle tous les mouvements des
ouvrages et des lecteurs au sein de la bibliothèque. En outre, le bibliothécaire
est un gardien du savoir
4. SERVICE D’ACCEUIL
Accueille les abonnés selon leurs catégories soit les anciens abonnés ou les
nouveaux abonnés, leurs orientent et les aident dans la salle des répertoires et
dans la salle de lecture.

1.4. Organigramme de la structure


CONGREGATION SOEURS DES PAUVRES DE BERGAME

DIRECTION SOEUR SUPERIEURE

SUPERVISEUR

ADMINISTRATEUR

BIBLIOTHECAIRE

SERVICE D’ACCEUIL SERVICE D’ACQUISITION NETTOYAGE

SERVICE DE PRETS
LIVRES SERVICE CATALOGAGE

MAGASIN
Source : Administrateur de la bibliothèque
19

1.5. Etude des ressources


a. Moyens humains
Poste Effectif Qualification Ancienneté
Direction sœur supérieure 5 Licencié en science 4 ans
commercial
Superviseur 1 Licencié en marketing 6 ans
Administrateur 1 Licencié en SPA de 5 a 20 ans
Bibliothécaire 3 D6, g3, l2 de 1 a 35 ans
b. Moyens matériels
Matériels Quantité Etat Année d’acquisition
Table de bureau 9 Bon 2009
Chaise de bureau 9 Bon 2009
Armoire 1 Bon 2007
Ordinateur 2 Bon 2012
Tables 2 Bon 2008
Chaises 40 Bon 2008
Armoires 4 Bon 2008
Imprimante 2 Bon 2012
Onduleur 2 Bon 2012
c. Moyens financiers
Les ressources financières de la bibliothèque proviennent premièrement de
l’initiateur qui est le superviseur, deuxièmement de la congrégation des sœurs des
pauvres de bergame, suivit de l’argent que perçoit la bibliothèque à travers les
services qu’il organise.
1.6. Etude des documents
a. Présentation de documents
Nous avons recensé tous les documents utilisés suivants :
✓ Fiche d’abonnement ;
✓ Reçu ;
✓ Carte d’abonné ;
✓ Cahier registre ;
✓ Statistique mensuel des abonnés ;
✓ Rapport global
20

b. Description de documents
Nom du Rôle du document Émetteur Récepteur Exemplaire
document
Fiche Permet au lecteur de Bibliothécaire Lecteur 1
d’abonnement renseigner son identité et
autre description liée à son
identité lors de l’abonnement
Carte d’abonné Une carte d’identification d’un Administrateur Bibliothécaire 1
abonné de la bibliothèque Lecteur
Statistique Permet de voir le flux des Bibliothécaire Administrateur 3
mensuel des abonnés et superviseur
abonnés
Reçu C’est une preuve de paiement Bibliothécaire Lecteur 2
pour prouver que l’abonné a
payé ses frais
Cahier registre Permet d’enregistrer tous les Bibliothécaire Bibliothécaire 1
diffèrent carte d’abonné
Rapport Permet de regrouper toutes Administrateur Direction des 2
Globale les activités de la bibliothèque sœur
effectué pendant le mois supérieure

1.7. Diagnostic de l’existant et orientations


a. Diagnostic de l’existant
Il convient de relever tous les points qui peuvent être positifs ou négatifs
que connait la bibliotheque Totanga, Le personnel de ce service est assidu et
compétent, mais insuffisant en vue de réaliser rapidement la mission qui lui est
confiée.
Il y’a des ordinateurs et d’autres équipements informatiques à la
bibliothèque mais utilisés à d’autres fins, d’où une sous-utilisation des ressources
informationelles.
En examinant minusieusement l’organisation de la bibliotheque, nous
avons constaté que les flux d’informations sont bien définis, mais après nos
enquêtes, nous avons constaté que leur politique de classement des documents dans
des armoires ne garantisse pas une conservation à long terme .
Les documents qu’utilisent la bibliothèque sont conformes aux rôles qu’ils
sont appelés à jouer. Et tous les documents sont bien classés. Et cela se justifie par la
facilité de trouver un document quelconque demandé par la hiérarchie.
21

b. Orientations
Bien que la solution informatique soit de plus en plus en vue, il est difficile
de nous passer de la solution manuelle qui a l’emprise réelle dans notre système.
Nous suggérons :

1. La solution manuelle réorganisée :

Elle consiste :

➢ A renforcer la productivité en plaçant la personne qu’il faut à la place qu’il faut ;


➢ A assainir l’environnement en éliminant la pléthore par des affectations dans
d’autres services ;
➢ A acquérir des matériels appropriés tels que : les armoires pour la sécurité des
documents ;
➢ A l’acquisition des photocopieurs pour la multiplication des documents établis et
reçus en prévision d’une perte éventuelle.
Cette solution dégage comme avantages :
➢ La garantie d’un minimum de protection des documents
➢ Elle est moins couteuse
Les inconvénients de cette solution sont :
➢ Persistance des erreurs ;
➢ Perte de temps lors de traitement des informations
➢ Insécurité dans la conservation des données ;
➢ Résultats moins fiables

2. La solution informatique
Elle consiste à l’utilisation de l’outil informatique qui demeure le seul gage de
fiabilité et de rapidité de traitements des informations et à la mise en œuvre d’une
application appropriée pouvant prendre en charge la dite gestion. La solution
informatique par l’approche base de données centralisée. Cette approche permet de
retrouver et d’analyser rapidement les données provenant de diverses sources. Elle
offre une vision transversale des données de l'entreprise.
Cette solution va répondre aux besoins parce que chaque établissement va se
connecter au réseau internet via les applications dédiée et effectuer différentes
tâches correspondantes. Cette solution a comme avantages ;
➢ L’occupation moindre de place en mémoire centrale ;
➢ La structuration des données ;
➢ L’indépendance des données par rapport aux programmes ;
➢ L’accès sélectif et concurrentiel aux données ;
➢ Intégration des clés ;
➢ Bonne sécurisation des données à l’aide des supports informatiques surs ;
22

➢ Utilisation accrue des normes informatiques ;


➢ Résultats très fiable et en temps opportun ;
➢ L’utilisation d’un nombre réduit des machines serveurs, un seul système de
gestion de base de données, un seul administrateur de la base de données ;
➢ Les requêtes sont calculées sur le serveur par le système de gestion de base de
données et les résultats sont acheminés vers les clients distants ;
➢ Le coût d’implantation d’une seule base de données est réduit ;
➢ La maintenance et la mise à jour non fastidieuse.

Les inconvénients suivants :


➢ Le coût lié à l’acquisition du matériel informatique ;
➢ Les frais de maintenance de ces équipements ;
➢ Les frais pour la formation des agents.

1.8. Choix de la meilleure solution


Au regard des questions soulevées à la problématique, la complexité et le
volume de l'information à traiter, et par rapport aux avantages offerts par les
différentes solutions examinées nous suggérons aux autorités du de la bibliothèque
Totanga de retenir la solution informatique qui les aidera à améliorer leurs
conditions de travail, cette solution est fiable, car elle tient compte de l'intérêt
général, présentant plus d'avantages par rapport aux inconvénients. Le type de
système informatique adopté à cette situation est un système informatique qui
s'effectue au niveau de chaque site ou établissement d’enseignement supérieur et
universitaire, avec une application les interconnectant via une connexion internet.
Ainsi, nous proposons aux autorités de cet organe d’opter pour la solution
automatique ou informatique et en temps réel pour des raisons suivantes :
➢ La sécurité des informations sur des supports magnétiques qui permettront de
faire un « Back up » des documents en prévision d’un éventuel sinistre ;
➢ Le travail performant en évitant au maximum des erreurs et des omissions ;
➢ Des résultats fiables suite à un traitement en temps réel ;
➢ L’indépendance entre les données et les applications ;
➢ La prise en charge par la machine (ordinateur) tous les traitements afin d'éviter
les erreurs et fournir les résultats fiables dans un bref délai.
23

SECTION 2 : DEFINITION DES CONCEPTS


2.1. Système
Un système est un ensemble d’élément en interaction dynamique permanant
organiser en fonction d’un but7.
2.1.1. Système d’information
Un SI comme un ensemble finalisé composé de moyens matériels, immatériels,
humains (qui agissent selon des processus) qui permet la collecte, le traitement et la
diffusion de l’information à l’intérieur de l’entreprise ainsi qu’à l’extérieur avec ses
partenaires 8.
2.2.1. Entreprise comme système
La systémique facilite la compréhension de l’entreprise, objet complexe, actif
et organisé. Tout corps social organisé, en particulier les entreprises ou les
administrations, pourra être modélisé comme un système. L’entreprise comme
système renferme en lui trois sous-systèmes.
➢ Le système de pilotage (organe de régulation)
➢ Le système opérant (organe actif)
➢ Le système d’information (organe de mémorisation)

7
BALUMANGANI, Cours inédit conception de système d’information l1 info, ISS/KIN, 2016-2017
8
Y. Barrau, Le système d’information dans ses différentes dimensions, 1995, page 1.
24

a. Système de pilotage (SP)


Il est le siège de l’activité décisionnelle de l’entreprise. Cette activité est très
large et est assurée par tous les acteurs de l’entreprise, à des niveaux divers, depuis
les acteurs agissant plutôt dans l’activité productrice de l’entreprise. Elle permet la
régulation, le pilotage mais aussi l’adaptation de l’entreprise à son environnement.
C’est cette activité qui conduira l’évolution décidera notamment de
l’organisation et de l’évolution des systèmes opérant et d’information. L’activité
décisionnelle du système de pilotage de façon classique concerne entre autres
l’allocation des ressources impliquées (prévision, planification, etc.) ainsi que leur
suivi (contrôle de gestion, contrôle budgétaire).
b. Système opérant (SO)
Il est le siège de l’activité productive de l’entreprise. cette activité consiste en
une transformation des ressources ou flux primaires, ces flux peuvent être des flux
de matière, des flux financier, des flux du personnel, des flux d’actifs, ou enfin des
flux d’information matière première non directement utilisable par le système
d’information ou par le système de pilotage.
c. Système d’information (SI)
Un système d’information peut se définir comme la partie du réel constituée
d’information organisées, d’événement ayant un effet sur ces informations, et
d’acteur qui agissent sur ces informations ou à partir de ces informations, selon des
processus visant une finalité de gestion et utilisant les technologies de l’information.
Il faut considérer le système de pilotage d’assurer ses fonctions, notamment en
assurant son couplage avec le système opérant. Ceci devient possible grâce au quatre
fonctions primaires qu’assure le système d’information dans l’entreprise : La
génération des informations, la mémorisation des informations, la communication et
la diffusion des informations et le traitement des informations9.
Le système d’information peut jouer un rôle capital dans le succès d’une
entreprise, il fournit l’information dont l’entreprise a besoin pour une exploitation
efficiente et une gestion efficace, et pour obtenir ou maintenir son avantage sur les
concurrents.
2.1.3. Le système informatique
Le système d’information ne fait aucune hypothèse sur les moyens le
supportant. Ce système existe indépendamment des techniques informatiques.
Toutefois, ces techniques vont permettre d’amplifier les fonctions de mémorisation,
de communication et de traitement des informations. Ainsi, le système informatique
est un ensemble organisé d'objets techniques (matériels, logiciels, applicatifs) dont
la mise en œuvre réalise l'infrastructure d'un système d'information.

9
BALUMANGANI , op.cit.
25

En outre, Le système informatique est défini comme un ensemble de matériels


et logiciels mis en commun pour traiter, conserver et diffuser l’information, c’est-à-
dire système « utilisateur-machine » intégré qui produit de l’information, assister les
êtres humains dans les fonctions d’exécution, de gestion et de prise de décision.
Bref, le système informatique permet de traiter des informations reçues en entrée et
de retourner d’autres informations en sorti. Il se compose de deux parties dont le
matériel (hardware) et le logiciel (software).
a. Le matériel (Hardware)
Le matériel constitue un ensemble de composants destinés à recevoir des
informations extérieurs (via le clavier, souris et autres dispositifs), à accomplir des
traitements internes à l’aide processeur), à stocker des informations dans des
mémoires de masses (disque dur, CDROM, flash disk,…) et à restituer le résultat des
traitements (écran, imprimante. )
b. Le logiciel (Software)
Le logiciel est le programme informatique, procédés ou règles relatives aux
fonctionnements d’un ensemble de traitement de données c’est-à-dire la partie
immatérielle de l’ordinateur.
Note : Un ordinateur est une machine permettant de manipuler des données. On
peut relier plusieurs ordinateurs, on obtient ainsi un réseau informatique.
2.2. Base de données
2.2.1. Définition
Une base de données est un ensemble structuré et organisé permettant le
stockage de grandes quantités d’informations afin d’en faciliter l’exploitation (ajout,
mise à jour, recherche de données). Ces informations sont en rapport avec une
activité donnée et peuvent être utilisées par des programmes ou des utilisateurs
communs, d’où la nécessité de leur mise en commun10.
Dans la très grande majorité des cas, le terme de base de données est utilisé
pour des bases de données fortement structurée(s).
Elle peut être locale, c’est-à-dire utilisateur sur une machine par un
utilisateur, ou bien répartie, c’est-à-dire que les informations sont stockées sur les
machines distantes et accessibles par le réseau. L’avantage majeur de l’utilisation de
bases de données est la possibilité de pouvoir être accédées par plusieurs
utilisateurs simultanément.11

10
https://www.petite-entreprise.net/P-2648-85-G1-definition-des-bases-de-donnees.html (Consulte le
25/04/2018)
11
http://web.maths.unsw.edu.au/~lafaye/CCM/bdd/bddintro.htm (Consulte le 28/04/2018)
26

2.2.2. Types de base de données


2.2.1.1. Base de données reparties
Une base de données répartie (BDR) est une base de données dont
différentes parties sont stockées sur des sites, généralement géographiquement
distants, reliés par un réseau. La réunion de ces parties forme la base de données
répartie.
Les bases reparties ont une architecture plus adaptée à l’organisation des
entreprises décentralisées.
➢ Plus de fiabilité : les bases de données réparties ont souvent des données
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 les trafics sur le réseau est une possibilité
d’accroitre les performances. Le but de la répartition des données est de les
rapprocher de l’endroit où elles sont accédées. Repartir une base de données
sur plusieurs sites permet de repartir la charge sur les processeurs et sur les
entrée/sortie
➢ Facilité l’accroissement : l’accroissement se fait par l’ajout de machines sur les
réseaux12.
2.2.1.2. Base de données fédérée
Ces bases des données sont de type de base de données reparties. Le
problème qui se pose est de faire collaborer toutes ces bases construites avec des
systèmes de modèles et de langages différents, selon que l’on fournit seulement un
langage d’accès commun, ou que l’on donne vision globale unifiée. Une base de
données fédérée à priori hétérogène (federated base) est un Ensemble de plusieurs
bases de données hétérogène capable d’inter opérer via une vue commune (modèle
commun). Lorsqu’il y a absence du modèle commun on parle de multi-base.
Elle a comme intérêts :
➢ Amélioration des performances (placer les traitements où se trouvent les
données) ; Donner aux utilisateurs une vue unique des données implémentées
sur plusieurs systèmes à priori hétérogènes (plates-formes et SGBD) et faire
cohabiter les différents systèmes tout en leur permettant d’inter opérer.13

12
Moussa Rim, système de gestion de bases de données réparties & mécanismes de répartition avec
oracle, M.A. à l’ISSATM-Université, Carthage, 2006, p 6-7
13
Espinasse Bernard, bases de données répartie, fédérées et réplication, Ecole politique Universitaire,
Avril 2013, page 20
27

2.2.1.3. Base de données centralisée


L’accès à une base de données présente de nombreux avantages, l’attention
est concentrée sur une seule base de données et chaque article dispose d’un seul
enregistrement primaire, ainsi que d’un seul jeu d’informations primaires.
Pour le traitement des requêtes en bases de données centralisées, nous
produisons l’arbre algébrique de la requête. Chaque nœud représente une opération
algébrique. Nous enrichissons l’arbre avec les informations sur la répartition de
données sur les différents sites, en particulier sur le site où chaque opération de la
requête doit être exécutée.
Dans une base de données centralisée seuls les facteurs E/Ss et CPU
déterminent la complexité d’une requête.14

2.3. Systèmes de gestion de base de données


2.3.1. Définition
Un Le SGBD est une collection de logiciels permettant de créer, gérer et
interroger de manière efficace une BD indépendamment du domaine d’application. 15
Un SGBD (en anglais DBMS pour Database Management System) permet de
lire, écrire, modifier, trier, transformer ou même imprimer les données qui sont
contenus dans la base de données.16
2.3.2. But visé
Un système de gestion de bases de données a pour objectifs :17
➢ Permettre à plusieurs usagers et plusieurs logiciels d’accéder simultanément
aux données. Le SGBD effectue les vérifications pour assurer qu'aucune
personne non autorisée n'ait accès à des données confidentielles contenues
dans la base de données, il arbitre les collisions lorsqu'il y a plusieurs
modifications simultanées de la même information et comporte des
mécanismes en vue d'éviter des pertes de données à la suite d'une panne ;

➢ Vérifier, voire refuser, la présence de redondances. Le SGBD effectue


également sur demande des vérifications pour assurer que les données
introduites soient correctes (valeurs dans les limites admises, format correct)
et que les données soient cohérentes par rapport à ce qui se trouve déjà dans
la base de données ;

14
MOUSSA Rim, Op.cit., page 18.
15
Faîçal Felhi, Cours SGBD, Faculté des Sciences de Gabès, 2011, page 4
16
http://sql.sh/sgbd ( Consulte le 12/01/2018 )
17
https://fr.wikipedia.org/wiki/Système_de_gestion_de_base_de_données#But_visé ( Consulte le
23/02/2018 )
28

➢ Les données sont typiquement manipulées par un logiciel applicatif qui fait
appel aux services du SGBD pour manipuler la base de données. Alors qu'un
logiciel applicatif qui manipule un fichier tient compte du format de données
de ce fichier, un logiciel qui manipule une base de données par l'intermédiaire
d'un SGBD n'a pas connaissance du format de la base de données, les données
sont présentées par le SGBD sous une forme qui cache les détails du format
des fichiers dans lesquels elles sont enregistrées.

2.3.3. Fonction
Un SGBD a plusieurs fonctions tels que : 18
➢ Décrire l’information
• Création des objets avec leurs contraintes
• Modification des structures et des contraintes
• Gestion de l’espace disque
➢ Partager l’information
• Droits et devoirs des utilisateurs
• Notion de rôles et de privilèges
➢ Assurer la Sécurité de l’information
• Reprise après incident
➢ Respecter l’Intégrité de l’information
• Transaction : annulation ou confirmation
➢ Autoriser la Confidentialité des informations
• Tout le monde ne peut pas voir et faire n’importe quoi
Les opérations de recherche et de manipulation des données, ainsi que la
définition de leurs caractéristiques, des règles de cohérence et des autorisations
d'accès peuvent être exprimées sous forme de requêtes (anglais query) dans un
langage informatique reconnu par le SGBD. SQL est le langage informatique le plus
populaire, c'est un langage normalisé de manipulation des bases de données. Il existe
de nombreux autres langages comme le Databasic de Charles Bachman19, Dataflex,
dBase ou xBaseScript (etc.).
Les bases de données peuvent être d'une taille de plusieurs téraoctets; une
taille supérieure à la place disponible dans la mémoire centrale de l'ordinateur. Les
bases de données sont enregistrées sur disque dur, ces derniers ont une capacité
supérieure, mais sont moins rapides, et le SGBD est équipé de mécanismes visant à
accélérer les opérations.

18
Michel Tuffery, BASES DE DONNEES et SGBD Conception Structure Organisation, Ed 2014, Page 6
19
DOUZI Salah Eddine, Interrogation des bases de données dans le cluster sans sgbd, Ed. 2012-2013,
page 13
29

Actuellement, la plupart des SGBD fonctionne selon un mode


client/serveur. Le serveur reçoit les requêtes des plusieurs clients et ceci de manière
concurrente. Le serveur analyse la requête, la traite et retourne le résultat au client.
Le modèle client/serveur est souvent implémenté au moyen de l’interface des
sockets.
Une variante de ce modèle ASP (application service provider). Dans ce
modèle, le client s’adresse à un mandataire (broker) qui le met en relation avec un
SGBD capable de résoudre la requête. La requête est ensuite envoyée au SGBD
sélectionné qui résout et retourne le résultat directement au client.

On doit savoir qu’un SGBD est muni :

➢ D’un langage de description de données (LDD) le quel permet de créer ou


supprimer des tables et d’être capable de modifier leur structure (ajout de
colonnes, modification de types, ajout de contraintes).
➢ D’un langage de manipulation de données (LMD) le quel permet d’effectuer
des insertions, des mises à jour, des suppressions dans des tables et d’extraire
des informations. Ce qui démontrera comment les opérations de l’algèbre
relationnelle (projection, restriction, jointure…) sont exprimées en SQL ;
➢ D’un langage de contrôle de données (LCD) qui facilite la gestion (ou
administration des données). Bien que dans notre mémoire de fin d’études le
but n’est pas l’administration de la base de données, nous supposerons toutes
fois qu’un administrateur a fourni un nom d’utilisateur, un mot de passe et a
créé la base de travail, en donnant les privilèges nécessaires pour lui
permettre de contrôler (créer, mettre à jour, supprimer des tables et
manipuler) les données ;
2.3.4. Objectifs d’un SGBD
Les objectifs et fonctions de SGBD relationnel sont les suivants :
➢ Centraliser l’information pour éviter les redondances, garantir l’unicité des
saisies et la centralisation des contrôles ;
➢ Faciliter l’utilisation des utilisateurs pas forcément informaticiens. La base de
données doit pouvoir être accessible par des interfaces intuitives et par des
langages déclaratifs, celui-ci permet de décrire ce que l’on souhaite obtenir
sans décrire les moyens de l’obtenir, tel SQL qu’on appelle « langage de
requête » et non pas procéduraux (un langage est dit procédural lorsqu’il
impose de décrire toutes les opérations nécessaires que l’on regroupe dans
des fonctions ou des procédures) ;
➢ Assurer l’indépendance de données/traitement de la manière à avoir le moins
possible à modifier le programmes la structure de base évolue.
➢ Partage de l’information entre différents utilisateurs ;
➢ Préservation de données dans le temps.
30

2.4. Généralités sur le réseau informatique


2.4.1. Introduction
La connexion entre les différents éléments constitutifs d’un réseau, peut
s’effectuer à l’aide de liens permanents comme des câbles, mais aussi au travers des
réseaux de télécommunications publics, comme le réseau téléphonique.
Les dimensions de ces réseaux sont très variées, depuis les réseaux locaux,
reliant quelques éléments dans un même bâtiment, jusqu’aux ensembles
d’ordinateurs installés sur une zone géographique importante.
Les réseaux informatiques permettent aux utilisateurs de communiquer
entre eux et de transférer des informations. Ces transmissions de données peuvent
concerner l’échange de messages entre utilisateurs, l’accès à distance à des bases de
données ou encore le partage de fichiers.
Ceci nous pousse à procéder à la présentation des réseaux informatiques,
et à l’étude des différents équipements réseaux.
2.4.2. Présentation des réseaux informatiques
Notre objectif n’est pas de donner une définition universelle d’un réseau
informatique, nous allons choisir l’une parmi les meilleurs pour soutenir notre
propos et nous faire une idée sur ce qu’est un réseau informatique.
Un réseau informatique est un ensemble d’ordinateurs et de terminaux
interconnectés entre eux pour échanger des informations numériques. 20
2.4.3. Classification de réseaux informatiques
Pour effectuer une classification, il faut préciser le critère de la
classification. Il existe plusieurs critères de classification pour les réseaux
informatiques, on cite principalement :21

20
Jean-François Pillou, Formation reseaux, marseille, 2003, p.1
21
https://www.supinfo.com/articles/single/5709-classification-reseaux-informatiques ( consulté le
28/04/2018)
31

➢ La couverture géographique ou distance : PAN / LAN / MAN / WAN

Figure 5 Classification des réseaux selon la taille.

➢ La topologie : Bus (ex. Ethernet) / anneau (ex. Token Ring) / étoile (ex.
Switched Ethernet) / maillé (ex.Internet-IP, ATM)
Un réseau informatique est constitué d'ordinateurs reliés entre eux grâce à
du matériel (câblage, cartes réseau, ainsi que d'autres équipements permettant
d'assurer la bonne circulation des données). L'arrangement physique (type de
câblage) de ces éléments est appelé topologie physique. Il en existe généralement la
topologie Bus, anneau, étoile, maillé.
➢ Le champ d’utilisation : Public/Privé

Selon le champ d’utilisation on distingue deux types de réseaux. À savoir :


• Les réseaux privés : ce sont des réseaux propres aux organisations et
dont l’exploitation ou l’accès n’est pas ouvert au grand public,
notamment (intranet, etc.)
• Les réseaux publics : ce sont des réseaux ouverts au grand public. C’est
le cas du réseau Internet, RTCP, etc.

➢ Le media de transmission : réseau filaire / sans fil


Selon les médias de transmission utilisés, on distingue :
• Les réseaux non filaires : sont des réseaux utilisant les supports non
physiques ou non filaires, notamment : infrarouge, l’air, rayon X, etc.
• Les réseaux filaires : sont ceux utilisant les supports physiques ou
filaires (fibre optique, paire torsadé, câble coaxial, etc).
32

➢ L’architecture : poste-à-poste/ client -serveur (Peer to Peer ):


Le pair-à-pair, peer-to-peer, poste à poste ou P2P (les quatre termes
désignent la même chose), définissent un modèle de réseau informatique particulier.
Dans ce type de réseau comparable au réseau client-serveur, chaque client constitue
lui-même un serveur22.
Chaque poste fait office d’un serveur (lorsqu’il fournit des ressources aux
autres), et d’un client (lorsqu’il utilise les ressources partagées par un autre poste)
comme le montre la figure ci-dessus :

Figure 6 Maquette réseau Peer to Peer


• Les réseaux client -serveur
C’est un réseau informatique où des machines clientes (des machines faisant
partie du réseau) contactent un serveur, une machine généralement très puissante
en termes de capacités d'entrée-sortie, qui leur fournit des services23.
Ces services sont des programmes fournissant des données telles que
l'heure, des fichiers, une connexion, ...
Dans un environnement purement Client/serveur, les ordinateurs du réseau
(les clients) ne peuvent voir que le serveur, c'est un des principaux atouts de ce
modèle :

Figure 7 maquette réseau client/serveur

22
https://www.journaldunet.fr/web-tech/dictionnaire-du-webmastering/1203399-p2p-peer-to-peer-
definition-traduction-et-acteurs/ (consulté le 30/04/2018)
23
http://www.coursnet.com/2014/11/reseaux-client-serveur-et-poste-a-poste.html (consulté le 01/05/2018)
33

2.5. Généralité les applications informatiques


2.5.1. Définition
Une application, un applicatif ou encore une appli, une app est, dans le
domaine informatique, un programme (ou un ensemble logiciel) directement utilisé
pour réaliser une tâche, ou un ensemble de tâches élémentaires d'un même domaine
ou formant un tout24.
2.5.2. Types
➢ Application native
Une application native est une application mobile qui est développée
spécifiquement pour un des systèmes d'exploitation utilisé par les smartphones et
tablettes (iOS, Android, etc.)25
➢ Application web
Une application web est un logiciel applicatif, d’où son nom, hébergé sur un
serveur et accessible via les navigateurs Internet (Explorer, Mozilla Firefox, Safari…)
ou sur un réseau intranet26.
Contrairement à un logiciel classique, les applications web n’ont pas besoin
d’être installées sur les ordinateurs de leurs utilisateurs : il leur suffit en effet de se
connecter à l’application à l’aide de leurs navigateurs favoris pour pouvoir y accéder.
Leur but ? Offrir une expérience à l’utilisateur et des fonctionnalités équivalentes aux
logiciels habituellement installés sur les ordinateurs, en utilisant de technologies de
développement identiques à celles employées habituellement dans la création des
sites internet.
➢ Application hybride
Une application hybride est une application qui combine des éléments sous
forme de web application et des éléments d’une application native permettant
d’utiliser des fonctionnalités natives de Windows et d’être distribuée en tant
qu’application sur les plateformes.
Le principe de l’application hybride permet de réduire les coûts et les délais
de développement nécessaires pour proposer plusieurs applications natives pour les
différents systèmes d’application.

24
https://fr.wikipedia.org/wiki/Application_(informatique) ( consulté le 21/04/2018)
25
https://www.definitions-marketing.com/definition/application-native/ ( consulté le 16/03/2018)
26
www.idnext.net/une-application-web-quest-ce-que-cest/ ( consulté le 02/05/2018)
34

SECTION 3 : EXPRESSION DES BESOINS FONCTIONNELS ET


TECHNIQUES
Cette section va nous servir à poser les bases de la capture des besoins du
système à réaliser.
Dans un premier temps, nous allons introduire l’étude de cas qui servira de
fil conducteur tout au long du présent travail, en donnant une version textuelle
préliminaire de son cahier des charges.
Dans un second temps, nous commencerons à 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.

3.1. Énoncé du problème


A ce niveau nous allons montrer comment les choses se déroulent au sein de la
bibliothèque.
A l'arrivée du lecteur pour sa première fois, il demande d'être abonné par le
bibliothécaire, ce dernier le reçoit, lui fournit les informations possibles pour un
abonnement, et si le lecteur est d’accord, il lui remet une fiche d’abonnement et le
lecteur la remplit.
Ensuite, le lecteur remet la fiche accompagnée de frais d'abonnement, Le
bibliothécaire reçoit la fiche et l’argent, vérifie et envoie la fiche de lecteur à
l’administration, et établie un reçu en deux exemplaires dont il garde une copie et remet
une copie au lecteur. Ensuite, l’administration polycopie la fiche de lecteur et remet une
copie chez le bibliothécaire accompagné de la carte d'abonné.
Le bibliothécaire reçoit les deux documents, garde la fiche de lecteur et
enregistre le nom de l’abonne dans un cahier registre puis remet la carte d'abonné au
lecteur celui-ci contresigne sur la carte.
Au cas où la date est dépassée ou expire, un abonné peut renouveler son
abonnement, le bibliothécaire actualise l'abonnement après encaissement des frais
payés par le lecteur. Une carte est établie et contre signée par ce dernier.
Pour consulter un ouvrage, un abonné doit demander l'accès à la bibliothèque,
le bibliothécaire l'identifie, il peut soit rejeter la demande, si les conditions ne sont pas
remplies, soit autoriser l'accès si les conditions sont réunies. Dans ce cas l'abonné
cherche l'ouvrage qui l'intéresse, après l'avoir présenté au bibliothécaire la consultation
se suit.
A la fin du mois, le bibliothécaire établit le Statistique mensuel des abonnés en
trois exemplaires dont il garde une copie et envoie les deux autres à l’administration
L’administration reçoit les deux copies, vérifie et approuve, ensuite il envoie une
copie chez le superviseur pour vérification et approbation.
Ensuite l’administration rassemble les données et fait un rapport global à la
direction sœur supérieure.
35

3.2. Diagramme de contexte


Il représente la collaboration entre le domaine étudié et les partenaires. Le
modèle contextuel est un modelé métier ou fonctionnel qui est utile en début de
projet pour clarifier le modèle d’étude car il permet de :
➢ Situer dans son environnement (ce qui le concerne ou non) ;
➢ Identifier le flux d’information avec son environnement ;
➢ Délimiter ce qu’il y a à faire ou non.
Le diagramme de contexte sert à délimiter le contour du système en cours
d’étude, c’est-à-dire définir clairement ses frontières et les acteurs avec lesquels il
communique. Ces derniers peuvent être soit des acteurs humains, soit d’autres
systèmes avec lesquels le futur système communique27 .
Un acteur représente l’abstraction d’un rôle joué par des entités externes (utilisateur,
dispositif matériel ou autre système) qui interagissent directement avec le système étudié28.
Un acteur peut consulter et/ou modifier directement l’état du système, en émettant et/ou
en recevant des messages éventuellement porteurs de données.
Un message représente la spécification d’une communication unidirectionnelle entre
objets qui transporte de l’information avec l’intention de déclencher une activité chez le
récepteur. Un message est normalement associé à deux occurrences d’événements : un
événement d’envoi et un événement de réception29.
3.2.1. Formalisme
Le formalisme utilisé pour ce modèle est le suivant :

Acteur 1

Acteur 3

SYSTEME

Acteur 4
Acteur 2

27
Pascal Roques et Franck Vallée, UML 2 en action De l’analyse des besoins à la conception 4e édition,
Editions EYROLLES, Paris, Page 45
28
Idem
29
Ibidem
36

3.2.2. Reformulation des besoins fonctionnels et techniques


Un besoin est un service rendu par le système (métier des services). Nous
identifierons ici les besoins pour lesquels il faut développer un système informatisé.
L’identification des besoins 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.
Les besoins ici identifiés sont repartis en deux grands groupes à savoir :
• Paiement d’abonnement
• Consultation des ouvrages
Après l’identification vient l’étape de détailler les besoins.

• Paiement d’abonnement
✓ A l'arrivée du lecteur pour sa première fois, il demande d'être abonné par le
bibliothécaire, ce dernier le reçoit, lui fournit les informations possibles pour un
abonnement, et si le lecteur est d’accord, il lui remet une fiche d’abonnement et
le lecteur la remplit.
✓ Ensuite, le lecteur remet la fiche accompagnée de frais d'abonnement, Le
bibliothécaire reçoit la fiche et l’argent, vérifie et envoie la fiche de lecteur à
l’administration, et établie un reçu en deux exemplaires dont il garde une copie
et remet une copie au lecteur. Ensuite, l’administration polycopie la fiche de
lecteur et remet une copie chez le bibliothécaire accompagné de la carte
d'abonné.
✓ Le bibliothécaire reçoit les deux documents, garde la fiche de lecteur et
enregistre le nom de l’abonne dans un cahier registre puis remet la carte
d'abonné au lecteur celui-ci contresigne sur la carte.
✓ Au cas où la date est dépassée ou expire, un abonné peut renouveler son
abonnement, le bibliothécaire actualise l'abonnement après encaissement des
frais payés par le lecteur. Une carte est établie et contre signée par ce dernier.
• Consultation des ouvrages
✓ Pour consulter un ouvrage, un abonné doit demander l'accès à la bibliothèque, le
bibliothécaire l'identifie, il peut soit rejeter la demande, si les conditions ne sont
pas remplies, soit autoriser l'accès si les conditions sont réunies. Dans ce cas
l'abonné cherche l'ouvrage qui l'intéresse, après l'avoir présenté au
bibliothécaire la consultation se suit.
✓ A la fin du mois, le bibliothécaire établit le Statistique mensuel des abonnés en
trois exemplaires dont il garde une copie et envoie les deux autres à
l’administration
✓ L’administration reçoit les deux copies, vérifie et approuve, ensuite il envoie une
copie chez le superviseur pour vérification et approbation.
✓ Ensuite l’administration rassemble les données et fait un rapport global à la
direction sœur supérieure.
37

3.2.3. Détail des besoins


3.2.3.1. Processus de paiement d’abonnement
A. Identification des acteurs
➢ Bibliothèque
➢ Administrateur
B. Identification des messages
ACTEURS Messages

Bibliothécaire → Saisie identité du lecteur


→ Saisie paiement d’abonnement
 Edition reçu
 Consultation d’abonnement

Administrateur  Consultation Identité du lecteur


 Consultation paiement d’abonnement
→ Validation
 Edition carte d’abonné

Tableau 3. Identification des messages pour le processus de paiement d’abonnement

C. Diagramme de contexte du domaine

- Saisie identité du lecteur


- Saisie paiement - Validation
d’abonnement

- Edition reçu - Consultation Identité du lecteur


- Consultation d’abonnement - Consultation paiement
Bibliothécaire d’abonnement
Administrateur
- Edition carte d’abonné

Figure 8 Diagramme de contexte de paiement d’abonnement


38

3.2.3.2. Processus Consultation des ouvrages


A. Identification des acteurs
➢ Bibliothèque
➢ Administrateur
➢ Abonné
➢ Direction
➢ Superviseur
B. Identification des messages
ACTEURS Messages

Abonné → Demande Ouvrage


 Consulte Ouvrage

Bibliothécaire  Vérification validité


→ Valider accès
 Edition Statistique mensuels des abonnés

Administrateur  Consultation Statistique mensuels des abonnés


→ Validation
 Edition Rapport Global

Superviseur  Consultation Statistique mensuels des abonnés


→ Validation

Direction  Consultation rapport Global


→ Validation

Tableau 4. Identification des messages pour le processus de Consultation des Ouvrages


39

C. Diagramme de contexte du domaine

Administrateur

- Edition rapport global


- Consulte SMA
- Validation
- Demande Ouvrages - Valider l’accès

- Consulte Ouvrages - Vérification validité


- Edition SMA Bibliothécaire
Abonné

- Consulte SMA
- Validation

- Consulte le Rapport Globale

- Validation
Superviseur
Direction

Figure 9 Diagramme de contexte Consultation des ouvrages


40

3.3. Diagramme de cas d’utilisation


L’aspect comportemental d’une application orientée objet est défini par la façon
dont interagissent les objets qui composent l’application. À l’exécution, l’objet est l’entité
de base d’une application. Les objets qui composent une application pendant son
exécution et leurs échanges de messages permettent à l’application de réaliser les
traitements pour lesquelles elle a été développée. UML propose plusieurs vues
permettant de définir les interactions entre objets.
Ce point traite du rôle que tient UML pour compléter la capture des besoins
fonctionnels ébauchés durant l’étude préliminaire. La technique des cas d’utilisation est
la pierre angulaire. 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.
Un cas d’utilisation spécifie une fonction offerte par l’application à son
environnement. Un cas d’utilisation est spécifié uniquement par un intitulé.
Bien souvent, la maîtrise d’ouvrage et les utilisateurs ne sont pas des
informaticiens. Il leur faut donc un moyen simple d’exprimer leurs besoins. C’est
précisément le rôle des diagrammes de cas d’utilisation qui permettent de recueillir,
d’analyser et d’organiser les besoins, et de recenser les grandes fonctionnalités d’un
système30.
Un diagramme de cas d’utilisation capture le comportement d’un système, d’un
sous-système, d’une classe ou d’un composant tel qu’un utilisateur extérieur le voit. Il
scinde la fonctionnalité du système en unités cohérentes, les cas d’utilisation, ayant un
sens pour les acteurs. Les cas d’utilisation permettent d’exprimer le besoin des
utilisateurs d’un système, ils sont donc une vision orientée utilisateur de ce besoin au
contraire d’une vision informatique31.
3.3.1. Formalisme
Le formalisme utilisé pour ce modèle est le suivant :

Acteur
Cas d’utilisations

Lien

30
Laurent AUDIBERT, cours d'UML 2.0, IUT. Copyright ® 2013, Page 23
31
Idem
41

3.3.2. Présentation du diagramme de cas d’utilisation


1er diagramme de cas d’utilisation : Paiement d’abonnement
A. Identification des cas d’utilisation

Cas d’utilisation Acteur principal Acteur Secondaire

Identifier Lecteur Bibliothécaire Administrateur

Payer Abonnement Bibliothécaire Administrateur

Consulter Abonnement Bibliothécaire Administrateur

Edition Etats

S’authentifier

B. Présentation du diagramme de cas d’utilisation

Figure 10 Diagramme de cas d’utilisation : Paiement d’abonnement


42

2e diagramme de cas d’utilisation : Consultation Ouvrages


A. Identification des cas d’utilisation

Cas d’utilisation Acteur principal Acteur Secondaire

Consulter Ouvrage Abonné Bibliothécaire

Evaluer Consultation Bibliothécaire ➢ Administrateur


➢ Superviseur
➢ Direction

Edition Etats

S’authentifier

B. Présentation du diagramme de cas d’utilisation

Figure 11 Diagramme de cas d’utilisation : Consultation des ouvrages


43

3.4. Diagramme de séquence


Une séquence étant un flot d’évènements réalisés pendant un temps, son
diagramme nous permet de donner un pouvoir d’expression beaucoup plus fort
aux différents messages échangés entre l’utilisateur et le système par rapport au
cas d’utilisation.
Dans une application orientée objet, les objets communiquent par
échanges de messages. Le message le plus important est le message de demande
de réalisation d’opération, par lequel un objet demande à un autre objet (ou à lui-
même) de réaliser une des opérations dont il est responsable. En théorie, avec ce
message seul, il est possible de décrire complètement le comportement d’une
application.
3.4.1. Les Messages
Un message définit une communication particulière entre des lignes de
vie32. Plusieurs types de messages existent,
Les plus communs sont :
➢ L’envoi d'un signal ;
➢ L’invocation d'une opération ;
➢ La création ou la destruction d'une instance.
L’aspect comportemental d’une application orientée objet est défini par la
façon dont interagissent les objets qui composent l’application. À l’exécution,
l’objet est l’entité de base d’une application. Les objets qui composent une
application pendant son exécution et leurs échanges de messages permettent à
l’application de réaliser les traitements pour lesquelles elle a été développée.
Il existe deux types de message à savoir :
A. Messages Asynchrone
Des messages asynchrones sont des messages qui n'attendent pas de réponse et
ne bloquent pas l'émetteur qui ne sait pas si le message arrivera à destination, le cas
échéant quand il arrivera et s'il sera traité par le destinataire. Un signal est, par
définition, un message asynchrone.
Graphiquement, un message asynchrone se représente par une flèche en traits
pleins et à l'extrémité ouverte partant de la ligne de vie d'un objet expéditeur et allant
vers celle de l'objet cible33.

7-3-2-b - Messages
Figure 12 Représentation d'un message Asynchrone.

32 Laurent AUDIBERT Op Cit, Page 112


33
Idem
44

B. Messages Synchrone
L'invocation d'une opération est le type de message le plus utilisé en
programmation objet, des messages synchrones sont des messages dont l'émetteur reste
alors bloqué le temps que dure l'invocation de l'opération34.
Graphiquement, un message synchrone se représente par une flèche en traits
pleins et à l'extrémité pleine partant de la ligne de vie d'un objet expéditeur et allant
vers celle de l'objet cible. Ce message peut être suivi d'une réponse qui se représente par
une flèche en pointillé

Figure 13 Représentation d'un message synchrone.

3.4.2. Formalisme

Acteur Acteur

Système

Message 2

Message 1

Message 3

34
Laurent AUDIBERT, Op Cit, Page 112
45

3.4.3. Présentation du diagramme de séquence


1er diagramme : Paiement d’abonnement

Figure 14 Présentation du diagramme de séquence du processus : paiement d’abonnement.


46

2er diagramme : Consultation Ouvrages

Figure 15 Présentation du diagramme de séquence du processus : Consultation des Ouvrages.


47

CHAPITRE 3 : ANALYSE ET CONCEPTION DU SYSTEME


Il est évident que les méthodes et les outils choisis pour concevoir et
développer une application doivent être en fonction de l'environnement et du
domaine d'application de celle-ci. Cela est bien expliqué par le génie logiciel.
L'informatisation est le phénomène le plus important de notre époque. Elle
s'immisce maintenant dans la plupart des objets de la vie courante et ce, que ce
soit dans l'objet proprement dit (Par exemple, aujourd'hui, 90% des nouvelles
fonctionnalités des automobiles sont apportées par l'électronique et
l'informatique embarquées. Il y a, ou aura à terme, du logiciel partout : ampoules,
four à micro-ondes, tissus des vêtements, stylos et livres, etc.), ou bien dans les
processus de conception ou de fabrication de cet objet35.
Depuis trente ans, la conception des bases de données est réalisée à l’aide
du modèle Entité-Association. Ce modèle a fait ses preuves et la plupart des outils
informatiques de conception dans notre pays l’utilisent encore aujourd’hui.
Depuis quelques années, la notation UML s’est imposée pour la
modélisation et le développement des applications écrites dans des langages
objets (C++ et JAVA principalement).
Notons qu’il n’y a qu’un pas à franchir entre le diagramme de classe UML2
et le modèle Entité-Association de MERISE36.
Pour le développement de notre système nous avons choisi la notation UML
et cela pour les raisons suivantes :
✓ Simplement par ce que la majorité des nouveaux projets industriels utilisent la
notation UML
✓ Le modèle MERISE présente certaines limites quant aux projets complexes
comme ceux des industries
✓ Surtout par ce que tous les cursus universitaires informatique, qu’ils soient
théoriques ou plus techniques, incluent l’étude d’UML
Cela ne signifie pas qu’UML soit la panacée, mais que cette notation est
devenue incontournable.
UML reprend les concepts du modèle Entité-Association et propose en plus
des artifices pour améliorer la sémantique d’un schéma conceptuel. De ce fait,
nous pensons que cette notation est très complète et puissante et peut s’adapter
parfaitement à la description statique d’une base de données.
En outre, il est facile de discuter d’un projet informatique autour d’une
table, il est en revanche difficile de décrire la démarche suivie et l’enchainement
et la logique des activités qui ont été menées.
Bien que le phénomène «méthode» ait plus de 30 ans, nous ne pouvons
constater aujourd’hui l’existence d’une règle qui soit à la fois très formelle et
commune aux différentes cultures. La plupart convergent en ce qui concerne la

35
Laurent AUDIBERT, op.cit. Page 9
36
Christian Soutou, UML2 pour les Bases de Données, 2002, Eyrolles,
48

sémantique de leur notation bien que chacune se définit par une notation et un
processus spécifique. Néanmoins le travail de définition d’un processus est
toujours resté vague et succinct.
Un processus définit une séquence d’étapes, en partie, ordonnées, qui
concourent à l’obtention d’un système logiciel ou à l’évolution d’un système
existant37.
L’objet d’un processus de développement est de produire des logiciels de
qualité qui répondent aux besoins de leurs utilisateurs dans des temps et des
coûts prévisibles. Le processus peut se décomposer suivant deux axes de contrôle
sur le développement à savoir :
✓ L’axe de développement technique, qui se concentre principalement sur la
qualité de la production
✓ L’axe de gestion du développement, qui permet la mesure et la prévision des
couts et des délais.
UML nous apporte dans un style agréable à lire, une description précise et
motivée d’une manière éprouvée de modéliser une application informatique.
Depuis l’analyse des besoins jusqu’à la réalisation finale avec un langage oriente
objet, en passant par la description de l’architecture et les différentes activités de
conception.
Nous avons eu à utiliser le processus « 2TUP » (Two Track Unified Process)
Littéralement processus a 2 chemins (étapes), il s’agit des chemins «fonctionnels»
et «d’architecture technique».
L’axiome fondateur du «2TUP» consiste à constater que toute évolution
imposée au système d’information peut se décomposer et traiter parallèlement
suivant un axe fonctionnel et un axe technique38.
A l’issue des évolutions du modèle fonctionnel et de l’architecture
technique, la réalisation du système consiste à fusionner les résultats des deux
branches. Cette fusion conduit a l’obtention d’un processus de développement en
forme de Y, comme illustre par la figure ci-dessous39.

37
I. Jacobson, G. Booch, J. Rumbaugh, Le Processus Unifié de Développement de Logiciel, 2000,
Eyrolles, Page 14
38
K. Scott, Unified Process Explained, 2002, Addison-Wesley, 2001, Page 25
39
Pascal Roques Op Cit
49

Figure 16 processus « 2TUP » (Two Track Unified Process)

Après avoir interviewé les experts métiers, examiné l’énoncé des besoins et
étudié les artefacts qui leur sont associés, nous allons construire un modèle de
domaine en s’appuyant sur les diagrammes des classes candidates produits à
partir de nos deux processus à savoir l’abonnement et la consultation des
ouvrages.
SECTION 1 : ANALYSE DU DOMAINE
L’analyse du domaine a pour objectif d’obtenir un modèle précis, concis,
compréhensible et correct du monde réel40.
1.1. Vue d’ensemble d’analyse
Dans cet important point, nous allons à identifier les concepts du domaine
et les modéliser en tant que classes.
En UML, une classe définit la structure commune d’un ensemble d’objets et
permet la construction d’objets instances de cette classe. Une classe est identifiée
par son nom41. Dans le cadre de notre projet nous avons recensé quelques objets,
à savoir :
Dans le cadre de notre projet nous avons recensé quelques objets, à savoir :
➢ Abonné
➢ Abonnement
➢ Type Abonnement
➢ Auteur
➢ Edition
➢ Editeur
➢ Ouvrage
➢ Rayon
➢ Catégorie Ouvrage
➢ Consultation
➢ Agent
➢ Nationalité
➢ Fonction
➢ Rédaction
➢ Sous-domaine

40
OKITO, Génie logiciel et construction des programmes, cours inédit, ISS/KIN, 2017-2018
41
Xavier Blanc, Isabelle Mounier UML 2 pour les développeurs, Ed. Eryolles, 2011, Page 14
50

1.2. Modèle des classes


Les diagrammes de classes ont pour rôle de modéliser les classes ou entités
composant notre application. Le diagramme de classes nous mène à la solution
finale et on retrouve le corps des différentes classes de notre application. Tandis
que les diagrammes d'objets servent à modéliser les instances.
En approche orientée objet on utilise le concept de classe, celle-ci permet
de regrouper des objets de même nature.
Une classe est un moule (prototype) qui permet de définir les attributs
(champs) et les méthodes (comportement) à tous les objets de cette classe.
Le modèle des classes d'UML saisit la structure statique d'un système en
montrant les objets dans le système, les relations entre les objets, les attributs et
les opérations qui caractérisent chaque classe d'objets. C'est le plus important des
modèles d'UML
1.2.1. Quelques notions d'objets et de classes
✓ Encapsulation
Une information (données) ainsi que les comportements (méthodes) sont
encapsulés lors qu'elles sont à l'intérieur d'une entité. L'encapsulation a pour rôle
de protéger le contenu des classes d'une manipulation maladroite ou mal
intentionnée.
Quand les attributs sont visibles (à la portée) de tous, on dit qu'ils sont
publics et symbolisé par un (+). Si une fois ils sont protégés, on dira que les
attributs n'est visible seulement qu'aux sous-classes de la classe doivent être
symbolisés par un (#). Enfin, les attributs privés sont visibles à la classe seule et
le symbole utilisé est (-).
✓ Héritage
L'héritage est un mécanisme de transmission des propriétés d'une classe
(ses attributs et méthodes) vers une sous-classe, on parle d'une généralisation.
Une classe peut être spécialisée en d'autres classes, afin d'y ajouter des
caractéristiques spécifiques ou d'en adapter certaines.
Plusieurs classes peuvent être généralisées en une classe qui les factorise,
afin de regrouper les caractéristiques communes d'un ensemble de classes.
La spécialisation et la généralisation permettent de construire des
hiérarchies de classes. L'héritage peut être simple ou multiple.
✓ Le polymorphisme
Le polymorphisme représente la faculté d'une méthode à pouvoir
s'appliquer à des objets de classes différentes.42

42
http://uml.free.fr/cours/p3.html, Consulté le 23/07/2018
51

✓ Associations entre classes


Le langage UML définit le concept d’association entre deux classes. Ce
concept très intéressant, qui ne fait pas partie des concepts élémentaires du
paradigme objet, permet de préciser les relations qui peuvent exister entre
plusieurs objets.
En UML, une association se fait entre deux classes. Elle a un nom et deux
extrémités, qui Permettent de la connecter à chacune des classes associées.
Lorsqu’une association est définie entre deux classes, cela signifie que les objets
instances de ces deux classes peuvent être reliés entre eux.
✓ Agrégation
Il s'agit d'une relation entre deux classes, spécifiant que les objets d'une
classe sont des composants de l'autre classe. Une relation d'agrégation permet
donc de définir des objets composés d'autres objets. Signalons que l'agrégation
permet d'assembler des objets de base, afin d'en construire des objets plus
complexes.
1.2.2. Formalisme d’une classe

Nom de la classe

Attributs : Type

Méthodes
52

1.2.3. Identification des attributs


Un attribut représente un type d’information contenu dans une classe43.
N° Nom de la classe Rôle Attribut Type Taille
01 Abonné Permet d’identifier chaque NumAb Varchar 5
Abonné NomAb Varchar 25
PostNomAb Varchar 25
PrenomAb Varchar 25
SexAb Varchar 1
AdressAb Varchar 100
TelAb Varchar 15
EmailAb Varchar 75
02 Abonnement Répertorie les différents NumAbnm Varchar 5
prix pour chaque DateAbnm Date 10
abonnement DateFinAbnm Date 10
MontantAbnm Double 8
Observation Varchar 100
03 Type Abonnement Renseigne sur les diffèrent CodTypAbonm Varchar 5
période d’abonnement LibtypAbonm Varchar 25
Duree N 4
Prix N 8
04 Auteur Nous renseigne sur les NumAut Varchar 5
différents Auteur pour un NomAut Varchar 25
ouvrage PrenomAut Varchar 25
SexAut Varchar 1
05 Edition Date Edition Date 10
Editeur NumEditeur Varchar 5
NomsEditeur Varchar 25
Contact Varchar 25
06 Ouvrage CodOuv Varchar 5
Titre Varchar 150
NombrePage Int 4
MotCles Varchar 200
07 Rayon CodRayon Varchar 5
LibRay Varchar 30
08 Catégorie Ouvrage CodCat Varchar 5
LibCat Varchar 30
09 Consultation dateConsul Date 10
HeureDebut Time 8
HeureFin Time 8
10 Agent Matr Varchar 5
NomAg Varchar 25
PrenomAg Varchar 25
SexAg Varchar 1
AdressAg Varchar 100
TelAg Varchar 15
EmailAg Varchar 75
11 Nationalité CodNat Varchar 5
LibNat Varchar 30
12 Fonction CodFonct Varchar 5
LibFonct Varchar 30
13 Domaine CodDom Varchar 5
LibDom Varchar 30

43
Pascal Roques, op.cit.
53

14 Redaction DatRedaction Date 10


15 Sous-domaine CodSouDom Varchar 5
LibSousDom Varchar 25
Tableau 5. Identification des attributs des classes
54

1.2.4. Diagramme des classes


Abonnement
Abonne
- NumAbnm : String
- NumAb : String Type Abonnement
- dateAbnm: Date
- NomAb: String - CodTypAbnm : String
- DateFinAbnm : Date
- PostNomAb: String - LibTypAbnm: String
- MontantAbnm : Double
- PrenomAb: String - Duree : Int
- Observation : String
- SexAb: String - Prix : Double
- AdressAb: String
- TelAb: String
- EmailAb: String

Editeur Agent Fonction


- NumEditeur : Varchar - Matr : String - CodFonct : String
- NomsEditeur : Varchar - NomAg : String - LibFonct: String
- Contact : Varchar - PrenomAg : String
- SexAg : String
Nationalite - AdressAg : String
- CodNat : String - TelAg : String Sous Domaine
- LibNat : String Edition - EmailAg : String
Consultation - CodSouDom: String
- DatEdition : Date - LibSousDom: String
- DateConsul: Date
- HeureDebu : Varchar
- HeureFin :Varchar
Domaine
Ouvrage - CodDom : String
- CodOuv : String - LibDomaine: String
- NombrePage: String
Auteur
- Titre : String
- NumAut : String
- NomAut: String - MotCles : String
Catégorie Ouvrage
- PrenomAut: String - CodCat : String
- SexAut: String Rayon - LibCat: String
Redaction - CodRay : String
- DatRedaction : Date - LibRay: String

Figure 17 Diagramme de classe


55

1.2.5. Identification des associations et multiplicités entre classes


Une relation représente une association sémantique durable entre deux
classes44. Les relations correspondent souvent à des verbes d’état ou à des
locutions verbales. Elles expriment une localisation physique, une action dirigée,
une communication, une appartenance ou la satisfaction d’une condition.
Les relations issues de l’énoncé de notre problème sous forme des
expressions verbales sont :
✓ Un abonné effectue plusieurs abonnements,
✓ Un abonnement est effectué par un abonné,
✓ Un abonnement correspond à un type d’abonnement,
✓ Un type d’abonnement fait correspondre plusieurs abonnements,
✓ Un agent perçoit plusieurs abonnements,
✓ Un abonnement est perçu par un seul agent,
✓ Un agent exerce une fonction,
✓ Une fonction est exercée par plusieurs agent,
✓ Un ouvrage appartient un une catégorie,
✓ Pour une catégorie peut appartenir plusieurs ouvrages,
✓ Un ouvrage se trouve dans un rayon,
✓ Dans un rayon se trouve plusieurs ouvrages,
✓ Un abonné consulte plusieurs ouvrages,
✓ Un ouvrage est consulté par plusieurs abonné,
✓ Un auteur se rattache à une nationalité
✓ Une nationalité est rattachée à plusieurs auteurs,
✓ Un auteur rédigé plusieurs ouvrages,
✓ Un ouvrage est rédigé par plusieurs auteurs.
✓ Un ouvrage se lie à un seul domaine,
✓ Pour un domaine peut être lier plusieurs ouvrages,
✓ Un éditeur édite plusieurs ouvrages
✓ Un ouvrage est édité per plusieurs éditeurs
La cardinalité ou Multiplicité exprime le nombre minimum et maximum
d’objets d’une classe qui peuvent être reliés à des objets d’une autre classe.
Chaque extrémité d’une association porte une indication de multiplicité.
Voici en quelques lignes les règles de passage
Transformation des classes : chaque classe du diagramme UML devient une
relation, il faut choisir un attribut de la classe pouvant jouer le rôle de clé.
Transformation des associations :
Nous distinguons trois familles d'associations
✓ Association 1.. : il faut ajouter un attribut de type clé étrangère dans la
relation fils de l'association. L'attribut porte le nom de la clé primaire de la
relation père de l'association.
✓ Association *..*: la classe-association devient une relation. La clé primaire de
cette relation est la concaténation des identifiants des classes connectées à
l'association.

44
Pascal Roques, op.cit.
56

✓ Association 1.. 1 : il faut ajouter un attribut de type clé étrangère dans la


relation dérivée de la classe ayant la multiplicité minimale égale à un. L'attribut
porte le nom de la clé primaire de la relation dérivée de la classe connectée à
l'association. Si les deux multiplicités minimales sont à un, il est préférable de
fusionner les deux classes en une seule.
57

1.2.6. Diagramme de classe avec multiplicités et associations Type Abonnement


Abonnement - CodTypAbnm : String
Abonne 1..* 1..*
- NumAbnm : String - LibTypAbnm: String
- NumAb : String
- dateAbnm: Date - Duree : Int
- NomAb: String
1 - DateFinAbnm : Date - Prix : Double
- PostNomAb: String 1
- MontantAbnm : Double
- PrenomAb: String 1..*
- Observation : String
- SexAb: String
- AdressAb: String
- TelAb: String Fonction
- EmailAb: String - CodFonct : String
1..* 1 1 - LibFonct: String
Agent
1..*
- Matr : String
- NomAg : String
Nationalite - PrenomAg : String Sous Domaine
- CodNat : String - SexAg : String - CodSouDom: String
- LibNat : String - AdressAg : String - LibSousDom: String
- TelAg : String 1..*
- EmailAg : String
1
Consultation
- DateConsul: Date 1
- HeureDebu : Varchar 1..* 1
- HeureFin :Varchar 1..* Domaine
- Ouvrage - CodDom : String
1..* - CodOuv : String - LibDomaine: String
- NombrePage: String 1..*
Auteur 1..* 1..*
- NumAut : String - Titre : String
- MotCles : String 1..*
- NomAut: String 1
- PrenomAut: String Catégorie Ouvrage
- SexAut: String 1..* - CodCat : String
1..* - LibCat: String
Redaction
- DatRedaction: Date
1..*
1..* Editeur 1
Rayon
- NumEditeur : Varchar - CodRay : String
Figure 18 Diagramme de class avec multiplicités et associations Edition - NomsEditeur : Varchar - LibRay: String
- DatEdition: Date - Contact : Varchar
58

1.2.7. Diagramme de classe avec opération


Abonnement
Abonne 1..* 1..*
- NumAbnm : String
- NumAb : String Type Abonnement
- dateAbnm: Date
- NomAb: String - CodTypAbnm : String
1 - DateFinAbnm : Date
- PostNomAb: String 1 - LibTypAbnm: String
- MontantAbnm : Double
- PrenomAb: String 1..* - Duree : Int
- Observation : String
- SexAb: String - Prix : Double
- AdressAb: String + Ajouter()
- TelAb: String + Lire() + MAJ()
- EmailAb: String
1..*
+ MAJ() Fonction
1 Agent
- CodFonct : String
- Matr : String
- LibFonct: String
- NomAg : String
1
- PrenomAg : String + MAJ()
- SexAg : String
Nationalite - AdressAg : String Sous Domaine
- CodNat : String 1..*
- TelAg : String - CodSouDom: Varchar
- LibNat : String - EmailAg : String - LibSousDom: String
+ MAJ() 1
+ MAJ() + MAJ()
Consultation
- DateConsul: Date
+ Ajouter() 1..* 1
1..* Domaine
+ Lire() Ouvrage - CodDom : String
1..* - CodOuv : String - LibDomaine: String
- NombrePage: String 1..* + MAJ()
Auteur 1..* 1..* - Titre : String
- NumAut : String 1..*
- MotCles : String
- NomAut: String 1
- PrenomAut: String + MAJ() Catégorie Ouvrage
- SexAut: String - CodCat : String
- LibCat: String
+ MAJ() Redaction 1..*
- DatRedaction : Date + MAJ()

+ Ajouter()
1..* 1
+ Lire() Rayon
Editeur - CodRay : String
Figure 19 Diagramme de classe avec Operations Edition - NumEditeur : Varchar - LibRay: String
- DatEdition : Date - NomsEditeur : Varchar + MAJ()
- Contact : Varchar
+ Ajouter() + MAJ()
+ Lire()
59

SECTION 2 : CONCEPTION DU SYSTEME


Elle met en place les grands blocs applicatifs, la conception reprend les
modèles de l'analyse statique et dynamique l’organisation des classes suivant le
langage cible. Il met en relief les composants de l’application et son déploiement
dans différents postes utilisateurs.
Une fois nous achevons la phase d’analyse en déterminant ce que
l’implémentation doit réaliser, l’étape de la conception du système va déterminer
comment cette implémentation sera réalisée. Dans ce cas il faudra adapter le
modèle par rapport au langage cible. Comme modèle débouche à une base des
données et que le concept orienté objet s’applique bien aux bases des données
qu’à la programmation, et aussi nous pouvons implémenter des modèles UML non
seulement avec les bases de données orienté objet mais aussi avec des bases de
données relationnelles.
Nous utilisons le Système de Gestion de Bases de données MySQL dans sa
version 5.5.15 et sous la platform WampServer afin de traduire le modèle de
classe en modèle relationnel correspondant aux tables dans la base des données.
Ainsi notre base de données résultante est performante, cohérentes et extensible.
2.1. Modèle de classe de conception
La phase d’analyse détermine ce que l’implémentation doit réaliser, et la
conception du système détermine le plan d’attaque.
La conception des classes nous permet de pouvoir documenter la
conception du système par rapport au langage oriente objet que nous allons
utiliser.
Quant à notre application, elle débouche sur une base de données et sur ce,
certaines de nos méthodes seront traduites en procédures stockées qui sont un
ensemble de fonctions qui nous sert d’interface pour exploiter les données des
tables. Les données des tables ne seront pas directement manipulées, on y accède
à travers ces procédures.
Lors de l’implémentation avec le langage des programmation PHP, nous
ferons des appels à ces procédures stockées ; l’idée est de ne pas trop surcharger
l’application et alléger aussi les postes clients par rapport aux traitements qui
devraient y être fait qui sont déjà faits au serveur de données au travers ces
procédures.
Le diagramme de classe ci-haut nous indique les attributs de chaque classe
et s’approche nettement de l’implémentation. Nous avons préféré le générer à
partir de la base de données créée en MySQL sous la platform Wampserver.
60

2.2. Diagramme d’activité


Les diagrammes d’activités sont utilisés pour illustrer les flux de travail
dans un système, du niveau métier jusqu’au niveau opérationnel, Ils sont créés
dans les activités, qui sont elles-mêmes créées dans les packages, les classes, les
interfaces, les acteurs, les cas d'utilisation, les composants et les collaborations.
2.2.1. Formalisme45

Activité 1

Activité composée

Activité 1

45 Fabio R, Leo L. Op. Cit


61

2.2.2. Présentation du diagramme d’activité

1. Paiement d’abonnement
BIBLIOTHEQUE ADMINISTRATEUR

Enregistrement
identité

Paiement Abonnement Validation

Incorrect Correcte
e
Re vérification Edition Carte d’identité

Figure 20 Diagramme d’activité : Paiement d’abonnement


62

2. Consultation Ouvrages
Abonné Bibliothécaire Administrateur Superviseur Direction

Demande d’ouvrage

Vérification Abonnement

Expiré En cours

Disponibilité Ouvrage

Non Dispo Dispo

Consultation Ouvrage

Edition SMA

Validation SMA

Incorrecte Correcte

Re vérification
Validation SMA

Incorrecte Correcte

Re vérification Edition RG

Validation RG

Incorrecte Correcte

Re vérification RG
Validé
63
2.3. Diagramme des composants
Un composant représente un composant logiciel (paquetages, fichiers sources,
bibliothèques, exécutables), des données (fichiers, bases de données) ou encore
d'éléments de configuration (paramètres, scripts, fichiers de commandes). Les
composants associés au diagramme de déploiement décrit la dépendance entre
composant du système.
Composant TOTANGA

« SGBD : MySQL 5.5.15 »


BDD GESTBIBLIO
Composant site
APPELS « PHP »
PROCEDURES STOCKEES

IHM IHM
Membres Abonnés

IHM Contact
Administrateur

Figure 21 Diagramme des composants


64
2.4. Diagramme de déploiement
En UML, un diagramme de déploiement est une vue statique qui sert à
représenter l'utilisation de l'infrastructure physique par le système et la manière
dont les composants du système sont répartis ainsi que leurs relations entre eux. Les
éléments utilisés par un diagramme de déploiement sont principalement les nœuds,
les composants, les associations et les artefacts. Les caractéristiques des ressources
matérielles physiques et des supports de communication peuvent être précisées par
stéréotype.
Le diagramme de déploiement nous permet de documenter notre application
en termes d’architecture où toutes les entités seront des postes de travail à
l’exception des entités qui logeront les serveurs de notre base de données et
l’application.
2.4.1. Formalisme

LAN

Poste de travail 2
Poste de travail 1

2.4.2. Présentation du diagramme de déploiement

Postes de la bibliothèque
Serveur BDD
IHM de la bibliothèque

LAN
WAN (INTERNET)
Serveur
Métier(Application)
LAN

WAN (INTERNET)

Postes des sites


Serveur Impression
IHM des sites

Figure 22 Diagramme de déploiement


65
2.5. Définition des besoins techniques
2.5.1. Définition des ressources techniques
L’étude de la solution technique consiste à identifier avec précision les
ressources informatiques qui nous permettront de mettre en œuvre notre système
informatique.
Nous abordons deux aspects à savoir :
➢ Les ressources matérielles
➢ Les ressources logicielles
A. Les ressources matérielles
Les matériels dans lesquels sera développée notre application sont :
✓ 1 ordinateur serveur dont voici les caractéristiques
➢ Processeur Intel Pentium M, vitesse 1 Téra ;
➢ Disque Dur (HDD) Seagate SATA de 3 Téra;
➢ Mémoire Ram DIMM 10 Go ;
➢ Ecran LCD 17 pouces;
➢ Clavier Azerty 118 touches ;
➢ Souris optique.
✓ Les ordinateurs clients dont voici les caractéristiques
➢ Processeur Intel Pentium M, vitesse 2 GHz ;
➢ Disque Dur (HDD) Seagate SATA de 500 Go ;
➢ Mémoire Ram DIMM 4 Go ;
➢ Ecran LCD 17 pouces ;
➢ Clavier Azerty 118 touches ;
➢ Souris optique.
➢ Une imprimante réseau laser jet HP 6310
➢ Trois onduleurs APC 420 avec autonomie de 30 minutes
➢ Trois stabilisateurs Gomtech 1500w
➢ Matériels réseau (Switch, Câble, Connecteur, etc.)
B. Les ressources logicielles
Voici les logiciels qui nous servirons pour la mise en œuvre de notre
application :
➢ Système d’exploitation Windows 10 Edition professionnel
➢ Antivirus serveur : Kaspersky Internet Security 2018
➢ Antivirus machine cliente : Kaspersky Internet Security 2018
➢ Suite Bureautique : Microsoft Office 2016
➢ Langage de programmation : PHP 5
➢ Langage de design et Affichage : CSS 3 te HTML 3
➢ Le SGBD : MySQL 5.5.15 sous la platform WampServer;
66
2.5.2. Prise en compte des besoins des utilisateurs
Les besoins des utilisateurs seront valablement exprimés à travers des
requêtes qui seront par la suite présentes à travers les états.
1. Requêtes
Dans une base de données relationnelle, les informations sont généralement
dispersées dans plusieurs tables liées par des relations, ce qui fait qu’il est difficile si
pas impossible d’avoir une vue globale du contenu de la base de données.
La requête est une question que l’on pose sur la base de données ; elle permet
de rassembler dans une même table (view) les informations désirées, et d’obtenir au
premier coup d’œil une idée de son contenu pour une éventuelle prise de décision.
Voici les requêtes les plus utilisées par notre système :
➢ Carte d’abonné
➢ Liste des abonnés
➢ Liste des abonnements en cours
➢ Liste des ouvrages consulté par jour
2. Etats
Dans une base de données, l’objet état est utilisé pour mettre en forme les
données destinées à être imprimées. Un état constitue une représentation optimale
des données ; il permet l’impression des enregistrements selon une représentation
définie préalablement
Nous présentons ici quelques états qui nous semblent les plus importants :
1. Carte de lecteur
SŒURS DES PAUVRES DE BERGAME
BIBLIOTHEQUE TOTANGA
3, rue Kimpioka, Kingasani 2. Kinshasa-Kimbanseke
Tel: 0999200613; 0998814424; 0821448618; 08536855667
E-mail: bibtotanga@gmail.com
CARTE DE LECTEUR
Numéro :
Nom : PHOTO
Post nom :
Prénom :
Sexe :
date de naissance :
Adresse :
Téléphone :
Date debut abonnement : 99/99/9999 Date fin abonnement : 99/99/9999

Signature
67

2. Liste des Abonnés

SŒURS DES PAUVRES DE BERGAME


BIBLIOTHEQUE TOTANGA
3, rue Kimpioka, Kingasani 2. Kinshasa-Kimbanseke
Tel: 0999200613; 0998814424; 0821448618; 08536855667
E-mail: bibtotanga@gmail.com
Liste des Abonnés
Numéro Nom Post nom Prénom Sexe date de naissance Adresse Téléphone
Xxxxx xxxxx xxxxxx xxxxxxx x 99/99/9999 xxxxx xxxxxx
Xxxxx xxxxx xxxxxx xxxxxxx x 99/99/9999 xxxxx xxxxxx
Xxxxx xxxxx xxxxxx xxxxxxx x 99/99/9999 xxxxx xxxxxx
Xxxxx xxxxx xxxxxx xxxxxxx x 99/99/9999 xxxxx xxxxxx
Xxxxx xxxxx xxxxxx xxxxxxx x 99/99/9999 xxxxx xxxxxx

Total General : 99999


68
CHAPITRE 4 : IMPLEMENTATION
SECTION 1 : Présentation des outils utilisés (cahier des charges)
Un cahier de charge permet de synthétiser et fixer par écrit l’objet d’une
prestation que celle-ci soit réalisée en interne ou sous-traitée :
➢ Il définit les besoins ;
➢ Il est un outil de dialogue entre la maitrise d’ouvrage, les informaticiens, les
services juridiques, les soumissionnaires46.
En ce qui concerne notre application, elle a été conçue avec l’option d’une
architecture client-serveur du fait que nous allons mettre en place un Wan (internet)
qui en plus va utiliser le service Web pour la gestion des informations provenant des
différents sites où ce dernier sera consulté. Nous avons opté pour le modèle
client/serveur avec comme l’architecture client-léger en vertu des avantages qu’elle
offre.
La gestion de cette base de données implique la présence d’un administrateur
de base de données et des utilisateurs dont la connexion doit prendre en compte un
mot de passe pour chacun et quelques restrictions d’accès. Ceci nous amène à la
nécessité de former un Administrateur de Base des données (DBA) et les différents
utilisateurs qui vont se recruter parmi le personnel du ministre et des différents
établissements supérieurs.
Quant à la livraison de notre produit l’objectif que nous nous sommes assignés
est que celui soit prêt au plus tard le 06/11/2018.

46
Philomène Mbala, Cours de Méthode de conduite de projet informatique, ISS/KIN, L2 INFO, 2017-
2018, inédit
69
1.1. Estimation du coût
Le projet n’étant pas budgétiser, nous proposons une révision budgétaire pour
établissement, pour lancement qui se présente de la manière suivante :
1.1.1. Matériel
N° Désignation Quantité PU en $ PT en $
1 ordinateur serveur 2 1200 2400
-Processeur Intel PM, Vitesse 1 Tera
-Disque dur(HDD) Seagate SATA de 3 Téra
-RAM DIMM 10 Go
-Ecran LCD 17’’
-Clavier Azerty standard 118 touches
-Souris Smart de 3 boutons, optique
2 ordinateur 4 300 1200
-Processeur Intel PM, Vitesse 2 Ghz
-Disque dur(HDD) Seagate SATA de 500 Go
-RAM DIMM 2 Go
-Ecran LCD 17’’
-Clavier Azerty standard 118 touches
-Souris Smart de 3 boutons, optique
3 Imprimante 2 190 360
4 Switch ( 24 ports) 1 80 80
5 Câble FTP catégorie 6(305 mètre/rouleau) 3 150 450
7 Onduleur pulsar on line VA-Smart-UPS 6 170 420
8 Routeur TP LINK 1 200 200
9 Antenne + modem 3 299 897
10 Pinces à sertir 5 20 100
11 Testeur des câbles 3 14 42
12 Connecteur Rj 45 400 0,20 80
13 Détecteur de fumée 8 70 560
14 Prise réseau 100 7 700
15 Abonnement 1 300 300
16 Stabilisateurs 6 50 300
193. Installation + Imprévus - - 750
Total 8839

Tableau 6 Estimation du coût du matériels

1.1.2. Logiciels
N° Désignation Quantité PU en $ PT en $
1 Windows Server pour le serveur 1 300 300
2 PHP 5 - - -
3 Windows 10 Edition professionnel pour les - - 200
ordinateurs clients
Total 500

Tableau 7 Estimation du coût logiciels


70
1.1.3. Formation du personnel
N° Désignation Quantité PU en $ PT en $
1 Administrateur de BDD & réseau 1 100 100
2 Utilisateurs 4 100 400
Total 500
Tableau 8 Estimation du coût de la formation du personnel

1.1.4. Tableau synthèse des coûts des composants


N° Désignation Coût en $
1 Matériels 8839
2 Logiciels 500
3 Formation 500
Total 9839
Tableau 9 synthèse des coûts des composants

1.2. Choix du réseau informatique adapté


Suivant les différentes alternatives d’architectures internes possibles et tenant
compte de la situation géographique de l’organisation étudiée, il s’avère que la
liaison entre poste de travail se fasse à travers un réseau WAN (internet) avec comme
architecture adaptée Client/serveur.
L’architecture Client/serveur est une architecture ou on retrouve un groupe de
machines reliées entre elles suivant deux classifications, les serveurs auront le rôle
d’offrir des services aux utilisateurs notamment les postes clients.
Pour chaque site, nous désignons la réalisation d’une tâche demandée par le
client et la gestion de la base de données. Les utilisateurs disposent des interfaces
qui leur permettent d’envoyer leurs demandes aux serveurs.
On peut distinguer deux types des clients : le client lourd et le client léger :
Le client lourd est obligé de se connecter explicitement au serveur dont il a
besoin pour la requête qu’il veut lancer c’est-à-dire la majorité de traitements se
réalise au niveau de l’application qui s’y trouve.
Le client léger par contre se connecte à la base de données via d’autres
procédures logées au niveau du serveur c’est-à-dire la majorité de traitements se fait
au niveau du serveur.
Nous avons opté pour l’architecture Client/serveur avec le type du client léger.
71

Figure 23 Maquette réseaux client/serveur


72

SECTION 2 : Choix de la solution d’implémentation


Tout au long de notre analyse nous nous sommes attelés à identifier des
classes métiers avec comme souci majeur de résoudre un problème posé, c’est-à-
dire; les besoins des utilisateurs ceci sans nous préoccuper des contraintes
techniques et/ou logiciels.
Cependant il convient de souligner que le passage des classes UML à la
programmation (code) impose une certaine adéquation en vue de garder la
traçabilité.
De ce qui précède, nous avons opté pour notre étude, d’implémenter notre
base de données avec MySQL dans sa version 5.5.15 sous la platform WampServer,
client/serveur qui offre plusieurs outils notamment la facilité de la mise en place
d’une base de données. En ce qui concerne nos interfaces nous avons utilisé le PHP 5
pour la programmation et le HTML&CSS 5 pour affichage et design.
Il convient de préciser que la base de données qui résulte de notre modèle
UML est une base de données relationnelle. Ainsi, dans cette démarche, chaque
classe correspond à une table qui respecte le formalisme d’une classe (attributs,
identifiant, méthodes ou opérations).
Bref, les logiciels qui nous servirons pour la mise en œuvre de notre
application sont les suivants:
➢ Système d’exploitation : Windows 10 Edition Professionnel;
➢ Langage de programmation : PHP 5;
➢ Le SGBD : MySQL 5.5.15 ;
Notre choix est justifié par le fait que :
➢ MySQL est un SGBDR (Système de Gestion de Base de données Relationnelle)
pouvant fonctionner sous Windows ou Linux, ce qui autorise de nombreuses
simplifications au niveau de l’administration, tout en offrant un maximum de
possibilités.
➢ MySQL est un Système de Gestion de Base de Données Relationnelle (SGBDR),
ce qui lui confère une très grande capacité à gérer les données tout en
conservant leur intégrité et leur cohérence.
MySQL est chargé de :
✓ Stocker les données,
✓ Vérifier les contraintes d’intégrité définies,
✓ Garantir la cohérence des données qu’il stocke, même en cas de panne
(arrêt brutal) du système,
✓ Assurer les relations entre les données définies par les utilisateurs.
Le passage de l’objet au relationnel est effectué lors de l’implémentation d’un
champ d’application. La règle est assez simple, chaque classe devient une table.
73
Chaque attribut de la classe devient un attribut de la relation. Pour les méthodes, il
n’existe de solution unique. L’avantage de la programmation objet est de rapprocher
les données de traitement.
Les principaux avantages de la base de données Client/serveur sont :
❖ Sécurité :
Le moteur de MySQL n’est pas sensible aux arrêts intempestifs des postes
clients. On diminue donc le risque d’avoir des index corrompus.
❖ Accès à distance
La couche de communication pour l’accès à distance est intégrée au moteur,
ce qui permet un accès direct à partir d’une simple adresse IP, même au travers
d’Internet.
❖ Gestion des droits
Une gestion complète des droits d’accès aux données est possible, avec
gestion d’utilisateurs, de mots de passe, de groupes…
74
SECTION 3 : Implémentation de la base de données
3.1. Implémentation des classes
A ce niveau, nous faisons correspondre chaque classe à une table et chaque
attribut à un champ. Nous ajoutons de champs pour chaque identifiant d’objet et
pour les associations.
3.2. Implémentation des associations
En ce qui concerne les associations, leurs règles d’implémentation dépendent
de la multiplicité.
❖ Associations de multiplicité « plusieurs-a-plusieurs »
Ce type d’association est implémenté par une table, la clé primaire de
l’association est une combinaison des clés primaires des classes qui participent à
l’association. Si l’association a des attributs, ils deviennent des colonnes
supplémentaires de la table.
❖ Associations de multiplicité « un-à-plusieurs »
Chaque association devient une clé étrangère encapsulée dans la table de la
classe située à l’extrémité « plusieurs ». Si l’extrémité « un » de l’association avait un
nom, nous l’utiliserions comme nom de la clé étrangère.
❖ Associations de multiplicité « un-à-un »
Ces associations se produisent rarement. Elles sont gérées en encapsulant une
clé étrangère dans l’une ou l’autre table.
❖ Associations « n-aires »
Elles sont également rares. Elles sont traitées comme des associations de
multiplicité « plusieurs-à-plusieurs » en implémentant une table pour l’association.
Généralement, la clé primaire d’une association n-aire combine les clés primaires des
tables associées.
3.3. Implémentation des opérations
Les opérations qui se rattachent à notre diagramme de classe notamment :
enregistrer, consulter ou modifier feront appels à des procédures stockées que nous
avons eu à implémenter sous MySQL.
75
3.4. Implémentation de la base de données
Nous présentons ci-dessous les interfaces de l’implémentation de la base de
données :
3.4.1. Création de la base de données
Notre base de données sera créée en MySQL 5.5.15 sous la plateforme
WampServer ; ainsi une base de données Access peut être définie comme étant un ensemble
de données enregistrées dans un support accessible par ordinateur.47
Nous avons utilisé le mode graphique, car c’est le mode que nous avons
maitrisé ;
Pour créer, il suffit :
➢ De lancer WampServer et ce dernier apparait dans la barre de notification, et
attendre jusqu’à ce que ce dernier prenne la couleur verte

➢ Ensuite cliquer sur l’icone, dans le menu contextuel qui apparait, cliquer sur
phpMydmin,

➢ Ensuit cliquer sur base de données

47
Willy MPWATE, Cours inédit d’access, G3 Informatique, ISS/KIN, 2015-2016.
76

➢ On saisit le nom de la base des données puis Créer.

➢ Et le nom de la base des données apparait dans la liste


77

3.4.2. Création des tables


Pour la création de nos tables il faut :
➢ Cliquer sur le nom de la base des données et cliquer sur nouvelle table,

➢ Puis saisir les champs concernés de cette table, le type de donnée et la taille puis
cliquer sur sauvegarder
78

➢ Et faire la même chose pour tous les autres tables

3.4.3. Script de la base de données

Voici les Scripts générés par le mode commandes de MySQL :

--
-- Base de données: `gestbiblio`
--
-- --------------------------------------------------------

--
-- Structure de la table `abonne`
--

CREATE TABLE IF NOT EXISTS `abonne` (


`NumAb` varchar(5) NOT NULL DEFAULT '',
`NomAb` varchar(25) DEFAULT NULL,
`PostNomAb` varchar(25) DEFAULT NULL,
`PrenomAb` varchar(25) DEFAULT NULL,
`SexAb` varchar(1) DEFAULT NULL,
`AdressAb` varchar(100) DEFAULT NULL,
`TelAb` varchar(15) DEFAULT NULL,
`EmailAb` varchar(75) DEFAULT NULL,
PRIMARY KEY (`NumAb`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
79

-- --------------------------------------------------------

--
-- Structure de la table `abonnement`
--
CREATE TABLE IF NOT EXISTS `abonnement` (
`NumAbnm` varchar(5) NOT NULL DEFAULT '',
`NumAb` varchar(5) DEFAULT NULL,
`CodTypAbnm` varchar(5) DEFAULT NULL,
`Matr` varchar(5) DEFAULT NULL,
`DateAbnm` date DEFAULT NULL,
`DateFinAbnm` date DEFAULT NULL,
`MontantAbnm` double DEFAULT NULL,
`Observation` varchar(100) DEFAULT NULL,
PRIMARY KEY (`NumAbnm`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Structure de la table `agent`
--

CREATE TABLE IF NOT EXISTS `agent` (


`Matr` varchar(5) NOT NULL DEFAULT '',
`CodFonct` varchar(5) DEFAULT NULL,
`CodServ` varchar(5) DEFAULT NULL,
`NomAg` varchar(25) DEFAULT NULL,
`PrenomAg` varchar(25) DEFAULT NULL,
`SexAg` varchar(1) DEFAULT NULL,
`AdressAg` varchar(100) DEFAULT NULL,
`TelAg` varchar(15) DEFAULT NULL,
`EmailAg` varchar(75) DEFAULT NULL,
PRIMARY KEY (`Matr`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Structure de la table `auteur`
--

CREATE TABLE IF NOT EXISTS `auteur` (


`NumAut` varchar(5) NOT NULL DEFAULT '',
`CodNat` varchar(5) DEFAULT NULL,
80
`NomAut` varchar(25) DEFAULT NULL,
`PrenomAut` varchar(25) DEFAULT NULL,
`SexAut` varchar(1) DEFAULT NULL,
PRIMARY KEY (`NumAut`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------
-
-- Structure de la table `categorie_ouvrage`
--

CREATE TABLE IF NOT EXISTS `categorie_ouvrage` (


`CodCat` varchar(5) NOT NULL DEFAULT '',
`LibCat` varchar(30) DEFAULT NULL,
PRIMARY KEY (`CodCat`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Structure de la table `consultation`
--

CREATE TABLE IF NOT EXISTS `consultation` (


`NumAb` varchar(5) DEFAULT NULL,
`CodOuv` varchar(5) DEFAULT NULL,
`DateConsul` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Structure de la table `domaine`
--

CREATE TABLE IF NOT EXISTS `domaine` (


`CodDom` varchar(5) NOT NULL DEFAULT '',
`LibDom` varchar(30) DEFAULT NULL,
PRIMARY KEY (`CodDom`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------
--
-- Structure de la table `edition`
--
CREATE TABLE IF NOT EXISTS `edition` (
81
`NumAut` varchar(5) DEFAULT NULL,
`CodOuv` varchar(5) DEFAULT NULL,
`datEdition` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------
--
-- Structure de la table `fonction`
--
CREATE TABLE IF NOT EXISTS `fonction` (
`CodFonct` varchar(5) NOT NULL DEFAULT '',
`LibFonct` varchar(30) DEFAULT NULL,
PRIMARY KEY (`CodFonct`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
-- --------------------------------------------------------

--
-- Structure de la table `nationalite`
--

CREATE TABLE IF NOT EXISTS `nationalite` (


`CodNat` varchar(5) NOT NULL DEFAULT '',
`LibNat` varchar(30) DEFAULT NULL,
PRIMARY KEY (`CodNat`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Structure de la table `ouvrage`
--

CREATE TABLE IF NOT EXISTS `ouvrage` (


`CodOuv` varchar(5) NOT NULL,
`CodDom` char(5) NOT NULL,
`CodCat` varchar(5) NOT NULL,
`CodRay` varchar(5) NOT NULL,
`NombrePage` int(11) NOT NULL,
`Titre` int(150) NOT NULL,
`MotsCles` varchar(200) NOT NULL,
PRIMARY KEY (`CodOuv`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------
82

--
-- Structure de la table `rayon`
--

CREATE TABLE IF NOT EXISTS `rayon` (


`CodRay` varchar(5) NOT NULL DEFAULT '',
`Libray` varchar(30) DEFAULT NULL,
PRIMARY KEY (`CodRay`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Structure de la table `service`
--

CREATE TABLE IF NOT EXISTS `service` (


`CodServ` varchar(5) NOT NULL DEFAULT '',
`LibServ` varchar(30) DEFAULT NULL,
PRIMARY KEY (`CodServ`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- --------------------------------------------------------

--
-- Structure de la table `type_abonnement`
--

CREATE TABLE IF NOT EXISTS `type_abonnement` (


`CodTypAbnm` varchar(5) NOT NULL DEFAULT '',
`LibTypAbnm` varchar(25) DEFAULT NULL,
`Duree` int(11) DEFAULT NULL,
`Prix` double DEFAULT NULL,
PRIMARY KEY (`CodTypAbnm`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
83

3.5. Implémentation des opérations


Les opérations qui se rattachent à notre diagramme de classe
notamment : Enregistrer, Supprimer, consulter ou modifier.
3.6. Implémentation de l’application
Nous présentons ci-dessous les interfaces de l’implémentation de
l’application :

➢ Au démarrage, la page d’accueil s’affiche et l’internaute peut faire son


choix selon qu’il soit utilisateurs ou abonnés, et les onglets sont au
départ verrouiller, après la sélection, les différents interfaces
apparaissent
84
1. Espace Abonné
Au cas où l’abonnement a expirer ou il n’est pas encore abonné, il aura le message
suivant :

Au cas contraire, l’abonné peut faire ses recherches dans notre bibliothèque numérique
85
86
87
2. Espace Utilisateur
88
89
90
3. Liste des abonnés

4. Carte d’abonnement
91
CONCLUSION
Nous voici à la fin de notre travail, il était question de concevoir et de réaliser
une application de consultation en ligne des ouvrages qui permettra aux abonnés de
consulter sans effectuer un déplacement vers la bibliothèque.
De ce fait, pour atteindre notre objectif, nous avons réparti notre travail en
quatre chapitres : dans le premier chapitre nous avons cadré notre projet en
présentant le temps et la durée que mettra ce projet ; le deuxième chapitre nous a
permis de présenter et de comprendre l'existant. Le troisième chapitre nous a permis
de faire l'analyse détaillée, enfin le quatrième chapitre nous a permis de faire
l'implémentation du nouveau système.
Pour la modélisation de travail, nous avons opté pour UML (Unified Modeling
Language) qui veut dire langage de modélisation unifié en français et le processus UP
(Unified Process) comme démarche pour mener à bien notre projet. Ce processus de
développement qui est construit sur UML, qui est destiné à comprendre et décrire des
besoins, concevoir des solutions et communiquer des points de vue.
Voici les différents digrammes que nous avons utilisés dans notre travail :
➢ Diagramme de classe : ce diagramme nous a aidé à représenter la description
statique du système en intégrant dans chaque classe la partie dédié aux données et
celle consacré aux traitements ;
➢ Diagramme de composant : ce diagramme nous a permis de représenter les
différents constituants du logiciel au niveau de l'implémentation ;
➢ Diagramme de déploiement : ce diagramme nous a permis de décrire
l'architecture technique du système ;
➢ Diagramme de cas d'utilisation : ce dernier nous a aidés à représenter les
besoins des utilisateurs par rapport au système ;
➢ Le diagramme d'activité : ce diagramme nous a permis de donner une vision
d'enchainement des activités propre à une opération ou un cas d'utilisation ;
➢ Diagramme de séquence : celui-ci nous a permis de décrire les scénarios de
chaque cas d'utilisation.
Notre choix d'outils d'implémentation à été porté sur :
➢ PHP pour la programmation : nous avons choisis PHP parce que ce langage
est interprété déjà et ne demande pas d'être compilé pour obtenir un objet ;
➢ MySQL : nous l'avons choisi pour le stockage des données et la gestion de la
base de données ;
➢ HTML/CSS pour le rendu de nos pages ou formulaires ;
Enfin, nous concluons en disant que ce travail nous a permis de mettre en place
une application qui permettra à toute la communauté si tous les moyens sont réunis
de consulter les ouvrages de la bibliothèque de TOTANGA à distance. Ainsi, nous
pouvons confirmer nos hypothèses pour en avoir atteint les objectifs.
92
BIBLIOGRAPHIE
A. Note de cours
➢ BALUMANGANI, Cours inédit conception de système d’information L1 info, ISS/KIN,
2016-2017
➢ MOMINDO, cours d’initiation à la recherche scientifique G2 info, ISS/KIN, 2014-2015
➢ OKITO, Génie logiciel et construction des programmes, cours inédit, ISS/KIN, 2017-
2018
➢ Philomène Mbala, Cours de Méthode de conduite de projet informatique, ISS/KIN, L2
INFO, 2017-2018, inédit
➢ Willy MPWATE, Cours inédit d’Access, G3 Informatique, ISS/KIN, 2015-2016.
B. Ouvrages
➢ Christian Soutou, UML2 pour les Bases de Données, 2002, Eyrolles
➢ DOUZI Salah Eddine, Interrogation des bases de données dans le cluster sans sgbd, Ed.
2012-2013
➢ Encyclopédie Microsoft encarta 2009
➢ Espinasse Bernard, bases de données répartie, fédérées et réplication, Ecole politique
Universitaire, Avril 2013
➢ Faîçal Felhi, Cours SGBD, Faculté des Sciences de Gabès, 2011
➢ Françoise Félicité, Le rôle fondamental des bibliothèques dans la Société de
l'information, Edition 2015
➢ I. Jacobson, G. Booch, J. Rumbaugh, Le Processus Unifié de Développement de Logiciel,
2000, Eyrolles
➢ Jean-François Pillou, Formation reseaux, marseille, 2003
➢ K. Scott, Unified Process Explained, 2002, Addison-Wesley, 2001
➢ Laurent AUDIBERT, cours d'UML 2.0, IUT. Copyright ® 2013
➢ Michel Tuffery, BASES DE DONNEES et SGBD Conception Structure Organisation, Ed
2014
➢ Moussa Rim, système de gestion de bases de données réparties & mécanismes de
répartition avec oracle, M.A. à l’ISSATM-Université, Carthage, 2006
➢ Pascal Roques et Franck Vallée, UML 2 en action De l’analyse des besoins à la
conception 4e édition, Editions EYROLLES, Paris,
➢ Xavier Blanc, Isabelle Mounier UML 2 pour les développeurs, Ed. Eryolles, 2011
➢ Y. Barrau, Le système d’information dans ses différentes dimensions, 1995

C. Webographie
➢ http://sql.sh/sgbd
➢ http://uml.free.fr/cours/p3.html
➢ http://www.coursnet.com/2014/11/reseaux-client-serveur-et-poste-a-poste.html
➢ http://www.gestion-projet-informatique.vivre-aujourdhui.fr/projet-definition-
generale.html.
➢ https://fr.wikipedia.org/wiki/Application_(informatique)
➢ https://fr.wikipedia.org/wiki/Système_de_gestion_de_base_de_données#But_visé
➢ https://www.definitions-marketing.com/definition/application-native/
https://www.journaldunet.fr/web-tech/dictionnaire-du-webmastering/1203399-p2p-
peer-to-peer-definition-traduction-et-acteurs/
93
➢ https://www.petite-entreprise.net/P-2648-85-G1-definition-des-bases-de-
donnees.html
➢ https://www.supinfo.com/articles/single/5709-classification-reseaux-informatiques
➢ www.idnext.net/une-application-web-quest-ce-que-cest/
94

TABLE DES MATIERES


EPIGRAPHE............................................................................................................................................................... i
LISTE DES ABREVIATIONS .............................................................................................................................. ii
LISTE DES FIGURES ........................................................................................................................................... iii
TABLE DES ILLUSTRATIONS .......................................................................................................................... iv
DEDICACE ................................................................................................................................................................. v
AVANT-PROPOS ................................................................................................................................................... vi
INTRODUCTION.................................................................................................................................................... 1
1. CHOIX ET INTERET DU SUJET ................................................................................................................. 2
2. PROBLEMATIQUE ........................................................................................................................................ 2
3. HYPOTHESE ................................................................................................................................................... 3
4. CHOIX DES METHODES ET TECHNIQUES ............................................................................................ 3
a) Choix des méthodes ...................................................................................................................................... 3
b) Choix des techniques .................................................................................................................................... 3
5. DELIMITATION DU SUJET ......................................................................................................................... 4
A) Dans le temps ............................................................................................................................................ 4
B) Dans l’espace............................................................................................................................................. 4
6. ETAT DE LA QUESTION ............................................................................................................................... 4
7. DIFFICULTES RENCONTRES ..................................................................................................................... 5
SUBDIVISION DU TRAVAIL ................................................................................................................................ 5
CHAPITRE 1 : CADRAGE DU PROJET .......................................................................................................... 6
1.1. PLANNING PROVISIONNEL ................................................................................................................... 6
1.1.1. Méthode d’ordonnancement ............................................................................................................. 6
1.1.2. Recensement et déroulement des tâches........................................................................................... 7
1.1.3. Présentation de la méthode PERT .................................................................................................... 8
1.1.4. Présentation du graphe Pert ............................................................................................................. 9
1.1.5. Estimation des durées et calcul des niveaux .................................................................................. 10
1.1.6. La date au plus tôt ........................................................................................................................... 11
1.1.7. La date au plus tard ......................................................................................................................... 11
1.1.8. Mise en ordre du graphe relatif au projet ...................................................................................... 12
1.1.9. Calcul des marges libres et marges totales..................................................................................... 13
A. Marge libre (ML) : ........................................................................................................................... 13
B. Marge totale (MT)............................................................................................................................ 13
1.1.10. La recherche du chemin critique .................................................................................................... 14
1.1.11. Tableau de synthèse ......................................................................................................................... 15
1.1.12. Elaboration du calendrier du planning de réalisation du projet. ................................................ 16
CHAPITRE 2 : SYSTEME INFORMATIQUE DE LA BIBLIOTEHQUE NUMERIQUE TOTANGA
.................................................................................................................................................................................... 17
SECTION 1 : ETUDE PRELIMINAIRE ............................................................................................................ 17
95
1.1. Aperçu historique ................................................................................................................................... 17
1.2. Objectifs .................................................................................................................................................. 17
1.3. Organisation et fonctionnement de l’organe en charge de la bibliothèque ....................................... 18
1.4. Organigramme de la structure .............................................................................................................. 18
1.5. Etude des ressources .............................................................................................................................. 19
a. Moyens humains ..................................................................................................................................... 19
b. Moyens matériels .................................................................................................................................... 19
c. Moyens financiers ................................................................................................................................... 19
1.6. Etude des documents .............................................................................................................................. 19
a. Présentation de documents .................................................................................................................... 19
b. Description de documents ...................................................................................................................... 20
1.7. Diagnostic de l’existant et orientations ................................................................................................. 20
a. Diagnostic de l’existant .......................................................................................................................... 20
b. Orientations ............................................................................................................................................ 21
1.8. Choix de la meilleure solution ............................................................................................................... 22
SECTION 2 : DEFINITION DES CONCEPTS .................................................................................................. 23
2.1. Système .................................................................................................................................................... 23
2.1.1. Système d’information..................................................................................................................... 23
2.2.1. Entreprise comme système .............................................................................................................. 23
2.1.3. Le système informatique ...................................................................................................................... 24
2.2. Base de données ...................................................................................................................................... 25
2.2.1. Définition .......................................................................................................................................... 25
2.2.2. Types de base de données ................................................................................................................ 26
2.2.1.1. Base de données reparties ....................................................................................................... 26
2.2.1.2. Base de données fédérée .......................................................................................................... 26
2.2.1.3. Base de données centralisée .................................................................................................... 27
2.3. Systèmes de gestion de base de données ............................................................................................... 27
2.3.1. Définition .......................................................................................................................................... 27
2.3.2. But visé .............................................................................................................................................. 27
2.3.3. Fonction ............................................................................................................................................ 28
2.3.4. Objectifs d’un SGBD ....................................................................................................................... 29
2.4. Généralités sur le réseau informatique ................................................................................................. 30
2.4.1. Introduction ...................................................................................................................................... 30
2.4.2. Présentation des réseaux informatiques......................................................................................... 30
2.4.3. Classification de réseaux informatiques......................................................................................... 30
2.5. Généralité les applications informatiques ............................................................................................ 33
2.5.1. Définition .......................................................................................................................................... 33
2.5.2. Types ................................................................................................................................................. 33
SECTION 3 : EXPRESSION DES BESOINS FONCTIONNELS ET TECHNIQUES ................................... 34
3.1. Énoncé du problème ............................................................................................................................... 34
3.2. Diagramme de contexte ......................................................................................................................... 35
96
3.2.1. Formalisme ....................................................................................................................................... 35
3.2.2. Reformulation des besoins fonctionnels et techniques .................................................................. 36
3.2.3. Détail des besoins ............................................................................................................................. 37
3.2.3.1. Processus de paiement d’abonnement ................................................................................... 37
A. Identification des acteurs ............................................................................................................ 37
B. Identification des messages ......................................................................................................... 37
C. Diagramme de contexte du domaine .......................................................................................... 37
3.2.3.2. Processus Consultation des ouvrages..................................................................................... 38
A. Identification des acteurs ............................................................................................................ 38
B. Identification des messages ......................................................................................................... 38
C. Diagramme de contexte du domaine .......................................................................................... 39
3.3. Diagramme de cas d’utilisation ............................................................................................................. 40
3.3.1. Formalisme ....................................................................................................................................... 40
3.3.2. Présentation du diagramme de cas d’utilisation ........................................................................... 41
1er diagramme de cas d’utilisation : Paiement d’abonnement .............................................................. 41
2e diagramme de cas d’utilisation : Consultation Ouvrages .................................................................. 42
3.4. Diagramme de séquence ........................................................................................................................ 43
3.4.1. Les Messages .................................................................................................................................... 43
A. Messages Asynchrone ...................................................................................................................... 43
B. Messages Synchrone ........................................................................................................................ 44
3.4.2. Formalisme ....................................................................................................................................... 44
3.4.3. Présentation du diagramme de séquence ....................................................................................... 45
1er diagramme : Paiement d’abonnement ............................................................................................... 45
2er diagramme : Consultation Ouvrages ................................................................................................. 46
CHAPITRE 3 : ANALYSE ET CONCEPTION DU SYSTEME ................................................................. 47
SECTION 1 : ANALYSE DU DOMAINE............................................................................................................ 49
1.1. Vue d’ensemble d’analyse ...................................................................................................................... 49
1.2. Modèle des classes .................................................................................................................................. 50
1.2.1. Quelques notions d'objets et de classes .......................................................................................... 50
1.2.2. Formalisme d’une classe .................................................................................................................. 51
1.2.3. Identification des attributs .............................................................................................................. 52
1.2.4. Diagramme des classes .................................................................................................................... 54
1.2.5. Identification des associations et multiplicités entre classes ......................................................... 55
1.2.6. Diagramme de classe avec multiplicités et associations ................................................................ 57
1.2.7. Diagramme de classe avec opération .............................................................................................. 58
SECTION 2 : CONCEPTION DU SYSTEME .................................................................................................... 59
2.1. Modèle de classe de conception ............................................................................................................. 59
2.2. Diagramme d’activité ............................................................................................................................. 60
2.2.1. Formalisme ....................................................................................................................................... 60
2.2.2. Présentation du diagramme d’activité ........................................................................................... 61
97
1. Paiement d’abonnement .................................................................................................................. 61
2. Consultation Ouvrages .................................................................................................................... 62
2.3. Diagramme des composants .................................................................................................................. 63
2.4. Diagramme de déploiement ................................................................................................................... 64
2.4.1. Formalisme ....................................................................................................................................... 64
2.4.2. Présentation du diagramme de déploiement ................................................................................. 64
2.5. Définition des besoins techniques .......................................................................................................... 65
2.5.1. Définition des ressources techniques .............................................................................................. 65
A. Les ressources matérielles ............................................................................................................... 65
B. Les ressources logicielles.................................................................................................................. 65
2.5.2. Prise en compte des besoins des utilisateurs .................................................................................. 66
1. Requêtes ............................................................................................................................................ 66
2. Etats .................................................................................................................................................. 66
CHAPITRE 4 : IMPLEMENTATION .............................................................................................................. 68
SECTION 1 : Présentation des outils utilisés (cahier des charges) .................................................................... 68
1.1. Estimation du coût ................................................................................................................................. 69
1.1.1. Matériel ............................................................................................................................................. 69
1.1.2. Logiciels ............................................................................................................................................ 69
1.1.3. Formation du personnel .................................................................................................................. 70
1.1.4. Tableau synthèse des coûts des composants ................................................................................... 70
1.2. Choix du réseau informatique adapté .................................................................................................. 70
SECTION 2 : Choix de la solution d’implémentation ........................................................................................ 72
SECTION 3 : Implémentation de la base de données ......................................................................................... 74
3.1. Implémentation des classes ......................................................................................................................... 74
3.2. Implémentation des associations ........................................................................................................... 74
3.3. Implémentation des opérations ............................................................................................................. 74
3.4. Implémentation de la base de données ................................................................................................. 75
3.4.1. Création de la base de données ....................................................................................................... 75
3.4.2. Création des tables ........................................................................................................................... 77
3.4.3. Script de la base de données ............................................................................................................ 78
3.5. Implémentation des opérations ............................................................................................................. 83
3.6. Implémentation de l’application ........................................................................................................... 83
CONCLUSION ........................................................................................................................................................ 91
BIBLIOGRAPHIE ................................................................................................................................................. 92
A. Note de cours .............................................................................................................................................. 92
B. Ouvrages ..................................................................................................................................................... 92
C. Webographie ............................................................................................................................................... 92
TABLE DES MATIERES ..................................................................................................................................... 94
98
JOURS FERRIERS ET DIMANCHE

Totale général des jours : 211


Nombre des jours Ferrier : 4
Dimanches : 30
Nombre des jours de travailles pour atteindre l’objectif : 177