Page 1 sur 68
INTRODUCTION GENERALE
I. GENERALITES
Tenant compte de l'évolution de la technologie dans ce
siècle présent l'informatique reste un outil indispensable
aujourd'hui. Prétendre ne pas connaitre l'informatique serait
équivalent à l'analphabétisme pour pallier à
d'énormes difficultés surgissant dans le retour
socioéconomique causées par l'utilisation du système de
gestion manuelle devenue archaïque, il nous semble donc de prendre de
prendre de précaution pour arriver à l'apprivoiser et par
conséquent ne pas trouver en déphase avec son évolution
normale, car nous ne sommes plus dans le siècle manuel.
En outre au-delà de l'utilisation individuelle de
l'information, c'est surtout la mise en communication des ordinateurs, qui a
permis de révolutionner les méthodes de ce travail, ainsi on a
assisté à l'émergence des réseaux entre autre
l'internet, ainsi cette dernière offre à ces utilisateurs une
très grande variété de service entre autre le courrier, le
transfert de fichier et la communication à distance. De tous les
services de l'internet, la toile mondiale le Wold Wide Web (ou simplement web)
est le moyen de
communication le plus convivial. Ce service ajouté
à internet des documents riches appelé page web contenant des
textes formatés, des images et multimédia (du son, des images, de
la vidéo etc....) et qui assure ainsi un certain sucée a
internet. Ce dernier devient un moyen de communication incontournable qui fait
partie de la vie quotidienne.
Ces nouveau progrès et phénomène
d'interaction qui offre aux utilisateurs des possibilités
considérables et leur permet d'améliorer et même
indispensable pour le fonctionnement de bon nombre d'entreprise à
travers le monde. C'est ainsi qu'il va permettre à l'Institut National
de Préparation Professionnelle de bien fonctionner et de bien
gérer ses différentes opérations.
Au regard de tout cela, il est indispensable de constater que
la science informatique tient une partie prépondérante dans la
vie actuelle. Ce pourquoi chaque organisation qui se veut moderne, cherche
à informatiser ses opérations. C'est ainsi qu'il est
nécessaire de recourir à cette science pour permettre aux
gestionnaires de formation du service de département d'informatique de
l'Institut National de Préparation Professionnelle d'arriver à
mieux gère le processus y afférent. C'est dans ce cadre que nous
nous sommes attelé à mener cette étude intitulée
<<Conception d'un Système d'information de gestion de
formation >>
Page 2 sur 68
II. CHOIX ET INTERET DU SUJET
A. CHOIX DU SUJET
Le choix de ce sujet comme thème de notre n'est pas un
hasard, il se justifie par le fait que :
Tout est partie lors de notre stage au sein de cet institut et
d'une observation direct lors des inscriptions, enregistrements des candidats
et le paiement de frais exiger ainsi nous étions poussées par le
gout de vouloir améliorer le processus d'inscription et de paiement de
frais des nouveaux et anciens candidats à l'Institut National de
Préparation Professionnelle.
En effet le nombre de sollicitation des candidats et
société au sein de ladite institution étant
élève et les problèmes auxquels cette est dernière
est butée en matière de demande de formation (inscription)
étant divers, il s'en suite une gestion complexe. C'est dans cette
optique que nous nous sommes proposé de mener une étude sur ce
sujet dans le seul objectif de pouvoir informatiser et facilité
d'avantage le travail.
B. INTERET DU SUJET
Marcous BINDUNGWA. I définit
l'intérêt comme un avantage qu'on peut tirer de l'étude
réalisé il se manifeste plus clairement à la fin comme
résultats1, alors l'intérêt de notre sujet se situé
à trois niveaux notamment :
? Intérêt personnel
Ce travail a donnée l'occasion non seulement
d'emmètre nos idées pour que le monde scientifique et les autres
puis nous lire mais aussi d'éveiller notre conscience et mettre en
pratique toute nos connaissances apprise tout au long de notre parcours
académique qui seras une preuve de maturité et sanction notre
formation de deuxième licence.
? Intérêt scientifique
Notre travail se veut être une source d'information ou
de connaissance de la communauté scientifique sur la manière de
la gestion de la formation donc de la demande de la formation, il permettra aux
autres chercher d'en faire
1 Marcous BINDUNGWA.I <<comment élaborer un
travail de fin de cycle>> Ed.kin 2007
Page 3 sur 68
un répertoire de suggestion dont l'appréciation
par ces derniers pourra faire naitre en eux des idées nouvelles dans
les sens de le compléter et d'améliorer.
? Intérêt social
L'intérêt social de ce travail résultat en
ce que l'INPP /Lubumbashi utilise un logiciel approprier afin de surmonter les
difficultés qui se pose lors du début, et après la
formation et à la gestion manuelle, la perte de temps dans
l'exécution des travaux lourd et répétitive afin de bien
faire la gestion des agents et étudiants en formation.
III. ETAT DE LA QUESTION
Dans la pratique, il est courant que plusieurs chercheurs
abordent un même thème. Toutefois pour des raisons de
spécifié chacun d'eux s'intéresse à un aspect
particulier du dit thème de sorte que la répartition inutile soit
évitée. De cette façon, chaque chercheur apporte sa brique
pour participer à la construction de compensions du thème.
En effet, pour faire progresser les connaissances dans un
domaine, il est essentiel de bien connaitre ce domaine de manière
à lier étroitement ses propres résultats avec ceux
déjà acquis sur le sujet étudié ; Il est
évident qu'avait nous d'autres chercheurs ont d'une manier ou d'une
autre à réfléchir et à écrire sur certaine
point semblable à notre objet d'étude. Dans cette perceptive
qu'il nous est nécessaire de faire un bref parcours de quelque travaux
de prédécesseurs qui nous ont précède dans ce
domaine je site :
? HAMMIOUI AYMANE KHALDI MOHAMMED a
travaillé sur l'Application Web pour La Gestion Des Stagiaires dans un
centre de formation de création de sites et des applications web, cas de
la société marocaine Maroc Pro, après avoir analysé
le système existant, l'auteur a soulevé un certain nombre de
difficultés que rencontre les fonctionnaires de la société
dans la gestion de stagiaires, parmi lesquelles nous citons :
I La tâche de recherche du dossier d'un
stagiaire
est très lourde à faire lorsque le nombre des
stagiaires est important ;
I L'accès aux informations des stagiaires
est difficile
vu qu'il faut à chaque fois chercher leurs dossiers ;
I La secrétaire doit organiser
manuellement les
documents et les dossiers des stagiaires et des stages ;
Page 4 sur 68
1 Le classement des dossiers et très
compliqué (par
nom du stagiaire/par durée de stage ...).
Afin de pallier aux problèmes observés et
faciliter la tâche de la Gestion des
stagiaires, ce dernier a proposé une solution
informatisée avec plusieurs fonctionnalités. Cette solution
était de développer une application web dynamique qui doit
être exploitée d'une manière facile et efficace et
qui a comme principal objectif, la gestion des
stagiaires.2
> ED-DAHMOUNI Bouthayna a
travaillé sur Conception et réalisation
d'une application pour la gestion des stagiaires, cas du Centre
Hospitalier Universitaire Hassan II. Après avoir analysé le
système existant, l'auteur a soulevé un certain nombre de
difficultés que rencontrent les
fonctionnaires du centre dans la gestion de stagiaires, parmi
lesquelles nous citons :
+ La lenteur dans le traitement de demande de stage ;
+ La perte d'informations sur les demandes de stages ;
+ Le manque de traçabilité et de suivi du
déroulement de stage.
En effet, pour faire face à tous ces aléas,
l'auteur précité a proposé de concevoir une application
web de Gestion des Stagiaires au sein cette entreprise et l'application
conçue, a permis entre autre :
+ Aux étudiants de poster et suivre en ligne les
demandes de stages, voir l'état de matières via un carnet de
stage électronique ;
+ A l'entreprise, de mieux gérer ce plus à son
personnel ;
+ Aux institutions, de suivre de près la
continuité de la formation de leurs étudiants.3
1 NGOIE MUKUNA Franck a
travaillé sur la mise en place d'un système
décisionnel dédié à la gestion des stagiaires dans
une grande entreprise, « cas de la Gécamines » ; ce travail
traitait de la modélisation conceptuelle et de la manipulation des
données dans le système
2 HAMMIOUI AYMANE KHALDI MOHAMMED, « Application Web
pour La Gestion Des Stagiaires dans un centre de formation de création
de sites et des applications web », Projet de fin
d'études, L2 Génie Informatique, 2015-2016.
3 ED-DAHMOUNI Bouthayna «
Conception et réalisation d'une application pour la gestion des
stagiaires», Projet de Fin d'Etudes
Licence Sciences et Techniques Génie informatique,
2012-2013
Page 5 sur 68
d'aide à la décision. En effet, après avoir
observé le système
d'information en place
précisément du bureau de stage et mener un entretien avec
quelques-uns de ses agents, l'auteur a eu à constater les
difficultés ci-dessous en rapport avec la Gestion des stagiaires :
? Difficulté de gérer une grande demande
de stage qui
dépasse le nombre limité dans les services
;
? Difficulté de ranger les recommandations de
demande de stage selon les institutions supérieures ou universitaires ;
? Perte d'informations sur les demandes de stage ;
Par rapport à ces trois travaux de recherche, notre
réflexion va se démarquer dans le développement d'une
conception d'un système d'information de gestion de formation. Ainsi
nous proposons de mettre en place un système qui permet la gestion
d'inscription et de paiement de frais exige en ligne moyennant un compte
bancaire, ainsi que la publication des résultats de formation poursuivi
et mettre en place une base de donne qui permettra la conservation de document
essentielle de ladite institution.
IV. PROBLEMATIQUE ET HYPOTHESE
a. PROBLEMATIQUE
La problématique est l'art d'élaborer et de
penser ou de poser clairement les problèmes et aussi de les comprendre
en suivant leur transformation dans la réflexion scientifique ou
philosophique.4
Elle s'est définit encore comme un ensemble des
questions qu'une science ou philosophie peut valablement poser en fonction de
ses moyens, de son étude et de ses points de vue.5
Par contre, d'autre la définit comme une dissertation
scientifique qui est un jeu des questions liées entre-elles, et
tirées du sujet lui-même, aux quelles le développement va
progressivement répondre.6
En effet l'institut national de préparation
professionnelle n'étant pas épargné dans son
fonctionnement, la gestion de certaines tâches et opération est
encore manuelle et de fois avec de traitement informatique limite, ce qui donne
lieu à l'apparition de nombre problème à savoir :
4 Paul ANGEL, Grand Encyclopédie
Larousse, Ed. Librairie Paris, Tome II, p.192
5 Petit Larousse illustré, 1987, p.816
6 Vignoles PATRICK, Cité par MPALA MBABULA,
dans pour vous chercher, directive pour rédiger
un travail scientifique, Lubumbashi, Ed. Mpala, 2001, p. 36-37
Page 6 sur 68
? La perte de temps lors des enregistrements de demande de la
formation des nouveaux candidats et lors du paiement ainsi que lors des
partages des informations en poste du travail ;
? L'impossibilité de s'inscrire pour certains candidats
souvent dans de difficulté de se déplace jusqu'au bureau
administrative et d'avoir des informations importantes de l'institution ;
? La gestion manuelle des documents de candidats en formation
et la politique de leurs stockages avec risque de se perdre ou détruits
par le vol, les intempéries, ou incendies.
Au regard de tous les problèmes traitement de
l'information évoque ci haut nous sommes parvenu à nous poser
plusieurs question principale qui sera l'objet de notre étude. La
question est :
? Comment améliorer le processus de demande de
formation (d'inscription) et le stockage (conservation) des informations
importantes des anciens et nouveau candidats désirant poursuivre la
formation au sein de l'INPP /Lubumbashi afin de pallier aux différents
problèmes des gestions ?
b. HYPOTHESE
En d'autre terme, elle est une proposition relative à
l'explication des phénomènes naturels, admise provisoirement
avant d'être soumise au contrôle de l'expérience.7
Une hypothèse est une proposition relative à une
explication
admise
provisoirement avant d'être confirmée ou
infirmée.8
Etant donné que la problématique a
déjà été posée il est important d'y
assimiler quelque réponse provisoire lesquelles sera confirmé
à la fin. C'est ainsi en se référent à la
problématique qui précède notre travail est une
réponse sur certaines hypothèses susceptible d'être
vérifié au terme de notre recherche notamment :
L'institut national de préparation professionnelle
n'ayant pas une architecture, nous proposons de concevoir une architecture pour
leur permettre de publier toute les informations nécessaire (horaire,
résultats, de nouveau programme etc....) ;
Une application accessible en ligne et une base de
données offre des meilleures techniques de stockage et d'accès
non aise à ce dernier.
7 KANKU M. Cours de MRS, g3 -2011-2012
8 MERLIN P, Tourisme et aménagement touristique
documentation, Paris 2001, P 75
Page 7 sur 68
V. METHODES ET TECHNIQUES DE LA RECHERCHE
1. METHODES
La méthode désigne l'ensemble des canons guidant
ou devant guider le processus de production des connaissances scientifiques, de
raisonnements, ou des calculs théoriques.9 Le dictionnaire
universel définit la méthode comme étant un ensemble des
procédés et des moyens utilisés pour arriver à un
résultat10.
Dans le cadre de notre travail, étant donné que
nous faisons une étude sur le système d'information en rapport
avec la gestion de formation, nous avons fait le choix sur la
méthode systémique ou l'approche systémique
ou encore la systémique car cette dernière permet
de décrire et comprendre le fonctionnement des systèmes ou des
sous-systèmes, quels qu'ils soient. Une des premières
réflexions sur le concept de systèmes fut conduite par
BERTALANFFY le biologiste dès les années 1920, l'approche
systémique a essentiellement pour origine la rencontre, dans les
années 1940, entre la biologie et l'électronique qui s'est
traduite par la naissance de la cybernétique ou étude des
régularités chez les êtres vivants et les machines avec
idées de boucles, de rétroactions, de
régulations.11
En effet, la systémique est une approche globale qui
nous invite à prendre de la hauteur pour observer les relations entre
les éléments sans s'attarder sur les éléments
eux-mêmes. L'approche systémique permet de travailler sur le
réel, car le réel est complexe et fait système. Dans le
réel, comme dans tout système, tous les éléments
sont en interaction. L'action sur un élément a des
répercussions sur l'ensemble du système, et tout changement
global du système change à la fois tous les
éléments qui le constituent et les relations entre ces
éléments.12
D'après Le M'oigne (1977), la systémique se
déploie selon quatre volets dont les buts seraient de :
9
http://fr.wikipedia.org/wiki/méthode
scientifique, 01/03/2018 22h:30 10Dictionnaire
universel, 2eme éd. Paris Aupelf-Edicelf 1988
11 L. VON BERTALANFFY, «théorie
générale des systèmes» Dunod, Paris 1991(1ère
Edition Bordas, Paris 1973).
12 Joël de Rosnay, « Le Macroscope », Ed du Seuil
1977 et Jacques Lapointe, Université LAVAL 1998.
Page 8 sur 68
« Développer la théorie explicative de
l'univers considéré comme
système ;
Modéliser la complexité ;
Rechercher les concepts, lois et modèles de même
forme
pouvant s'appliquer à différents ensembles ;
Conceptualiser des artefacts ou outils
».
Pour Henry Roux de Bezieux, l'approche systémique
s'appuie sur son propre cycle : Model-Scénarise-Act, c'est-à-dire
modéliser, scénariser, agir. Sa particularité, c'est
l'étape de modélisation qui permet de construire des points de
repère pour naviguer la situation au mieux.13
L'opinion de Le M'oigne et celle de Henry Roux, se rejoignent
en un point commun qui est celui de la modélisation,
et c'est la modélisation qui va plus nous
intéresser par le fait qu'elle est la partie qui nous conduirait
à la conception du nouveau sous-système d'information à
instaurer pour la gestion du processus de la formation au sein de l'INPP de
Lubumbashi.
Ainsi donc, pour arriver à modéliser le
système ou le métier, nous nous servons de l'outil de
modélisation et ici l'outil utilisé est UP
(Unified Process) en français «
Processus Unifiés » qui est un processus
de développement logiciel construit sur UML ; il est itératif et
incrémental, centré sur l'architecture, conduit par les cas
d'utilisation et piloté par les risques. La gestion d'un tel processus
est, organisée d'après les 4 phases qui sont : pré
étude (insertion), élaboration, construction et
transition. Ses activités de développement sont définies
par 6 disciplines fondamentales qui décrivent la modélisation
métier, la capture des besoins, l'analyse et la conception,
l'implémentation, le test et le déploiement. Etant donné
qu'il existe plusieurs types d'UP, nous avons opté pour 2TUP
(2 Track Unified Process). Le processus 2TUP apporte une
réponse aux contraintes de changement continuel imposées aux
systèmes d'information de l'entreprise. En ce sens, il renforce le
contrôle sur les capacités d'évolution et de correction de
tels systèmes. « 2 Track » signifient littéralement que
le processus suit deux chemins. Il s'agit des chemins« fonctionnels »
et « d'architecture technique », qui correspondent aux deux axes de
changement imposés au système informatique.14
13 Henry Roux de Bezieux, « Présentation des
outils systémiques à partir du récit d'un projet en
Préfecture », Mais 2004.
14 P. Roques. - UML 2 en action. N°12014,
4e édition Eyrolles 2006, page 13.
Page 9 sur 68
Lorsqu'on utilise UP comme outil de modélisation, on a
le choix quant au langage ou support à utiliser pour schématiser
la modélisation du processus métier, d'où UML
(Unified Modeling Language) entre en jeu. UML se définit comme un
langage de modélisation graphique et textuel destiné à
comprendre et décrire des besoins, spécifier et documenter des
systèmes, esquisser des architectures logicielles, concevoir des
solutions et communiquer des points de vue. Aujourd'hui, le standard industriel
de modélisation objet est UML.15
La problématique que pose la mise en oeuvre d'UML est
simple : Comment passer de l'expression des besoins au
déploiement du système informatique ? Nous avons
travaillé avec la version UML 2.
Malgré le choix d'UML, il y a aussi un autre langage
mieux approprié pour le processus métier, c'est le
BPMN (Business Process Management) en français
Gestionnaire de Processus Métier.
2. TECHNIQUES DE LA RECHERCHE
La technique est un procédé opératoire
rigoureux et bien défini
utilisé pour collecter les données dans un domaine
bien précis16.
Selon Chevalier J., la technique est définie comme un
outil de la recherche impliquant les procédés de collecter les
données adaptées à la fois à l'objet. 17
Dans le cadre de notre travail, nous avons utilisé les
techniques
suivantes :
Technique de documentaire
Est une technique qui met les chercheurs à collecter
l'information nécessaires trouvant dans les différents documents
utiles à notre recherche.
Technique d'observation directe
Cette technique nous a permis d'entrer en contact avec le
système existant afin de mieux comprendre l'opération et les
transactions des informations.
Technique d'interview
15 P. Roques IDEM.
16Dictionnaire universel, 2eme éd. Paris
Aupelf-Edicelf 1988
17 Chevalier J., « organisation, administration des
entreprises », Dunod Paris, page 18
Page 10 sur 68
Cette technique nous a permis de faire un entretien verbal
avec les agents du bureau de section chargé de recherche afin de
d'obtenir les informations nécessaires à la réalisation de
notre étude.
VI. DELIMITATION DE SUJET
Il est évident que tout travail scientifique doit
être circonscrit au point de départ au d'arrêt de
manière à être claire et bien précis nous allons
restreindre notre sujet pour éviter dans un champ très vaste.
La délimitation d'une étude révèle
la délimitation de son champ d'investigation, notre étude a comme
champ d'investigation l'INPP/Lubumbashi et pour plus de précision au
service informatique.
VII. SUBDIVISION DU TRAVAIL
Hormis l'introduction générale ainsi que de la
conclusion générale, le présent travail est
constitué de quatre chapitres qui sont :
CHAPITRE PREMIER :
DEFINITION DES CONCEPTS ET CONSIDERATIONS THEORIQUES. Cette
partie a abordé la définition de tous concepts de base d'une part
et d'autres parts le cadre théorique en ce qui est de la science
informatique ;
CHAPITRE DEUXIEME : ETUDE DE L'EXISTANT.
Ici il est question de présenter l'organisation qui fait
l'objet de l'étude, son système d'information existant.
CHAPITRE TROISIEME : CONCEPTION DU SYSTEME
INFORMATIQUE, ce chapitre consiste à l'exploitation et
l'utilisation des méthodes et techniques préalablement
définies pour concevoir le nouveau système.
CHAPITRE QUATRIEME : REALISATION ET IMPLEMENTATION
DE LA SOLUTION RETENUE. Dans ce chapitre, nous y
présentons la solution obtenue sous forme d'une configuration
matérielle et logicielle en tenant compte de l'environnement.
CHAPITRE I : DEFINITION DES CONCEPTS ET
CONSIDERATIONS THEORIQUES
1. Introduction
Page 11 sur 68
Ce chapitre donne les définitions des concepts de bases
liées aux termes utilisés dans notre travail. Il s'agira des
concepts opérationnels en rapport avec thématique qui porte sur
la conception et réalisation d'un système de gestion de la
formation, nous définissons s aussi les concepts du domaine informatique
pour permettre un bon entendement par nos lecteurs.
2. Cadre conceptuel
Un concept est une représentation
générale abstraite d'un ensemble d'objets et il est
définit selon sa compréhension et selon son extension. Sur ce
point, nous allons définir les mots clés du sujet invoquant tout
de même les concepts liés au domaine d'étude et quelque
concept informatique qui serons utilisés tout au long de notre
travail.
2.1. Définitions de concept du domaine
d'étude
Dans cette partie nous allons définir les concepts du
domaine d'étude qui sont :
t. Conception : La conception permet
d'acquérir une compréhension approfondie des contraintes
liées au langage de programmation, à l'utilisation des composants
et au système d'exploitation. La conception est une façon de
concevoir, de comprendre, d'imaginer ou de prévoir quelque
chose.18
t. Demande : C'est le fait de
demander, d'exprimer ce que l'on désire savoir, posséder c'est
une requête, une action de sollicite quelque chose. Pour ce cas une
demande d'inscription est encours de traitement.
t. Formation : un processus
d'apprentissage qui permet à un individu d'acquérir le savoir et
le savoir-faire nécessaire à l'exercice d'un métier ou
d'une activité.
2.2. Définition de concepts de l'informatique
t. Application : est un programme
informatique utilisant de fonctionnalité
d'une certaine plate.
18 Petit Larousse illustre, les éditions françaises
1999, p.258
Page 12 sur 68
L'informatique de gestion : L'informatique de gestion est
l'ensemble des connaissances, des technologies, et des outils en rapport avec
la gestion de données, c'est-à-dire la collecte, la
vérification et l'organisation de grandes quantités
d'informations. L'informatique de gestion a de nombreuses applications
pratiques dans les entreprises : listes de clients, de fournisseurs, de
produits, comptabilité, etc.
En informatique de gestion, les informations sont souvent
placées dans des bases de données et traitées par
l'intermédiaire de logiciels spécialisés que sont les
Systèmes de gestion de base de données.19
? UML : UML se définit comme
un langage de modélisation graphique et textuel destiné à
comprendre et décrire des besoins, spécifier et documenter des
systèmes, esquisser des architectures logicielles, concevoir des
solutions et communiquer des points de vue.
? Système de gestion de base de
données : En informatique un système de gestion de
base de données (abr. SGBD) est un logiciel système
destiné à stocker et à partager des informations dans une
base de données, en garantissant la qualité, la constance et la
confidentialité des informations, tout en cachant la complexité
des opérations.
Un SGBD (en anglais DBMS pour data base
management system) permet d'inscrire, de retrouver, de modifier, de trier,
de transformer ou d'imprimer les informations de la base de données. Il
permet d'effectuer des comptes rendus des informations enregistrées et
comporte des mécanismes pour assurer la cohérence des
informations, éviter des pertes d'informations due à des pannes,
assurer la confidentialité et permettre son utilisation par d'autres
logiciels1. Selon le modèle, le SGBD peut comporter une simple interface
graphique jusqu'à des langages de programmation sophistiqués.
Les systèmes de gestion de base de données sont
des logiciels universels, indépendants de l'usage qui est fait des bases
de données. Ils sont utilisés pour de nombreuses applications
informatiques, notamment ; les guichets automatique bancaires. Il existe de
nombreux systèmes de gestion de base de données. En 2008, Oracle
détenait près de la moitié du marché des SGBD avec
MySQL et Oracle Data base. Vient ensuite IBM avec près de 20 %, laissant
peu de place pour les autres acteurs3.
Les SGBD sont souvent utilisés par d'autres logiciels
ainsi que les administrateurs ou les développeurs. Ils peuvent
être sous forme
19
http://fr.wikipedia.org/wiki/Informatique
de gestion
Page 13 sur 68
de composant logiciel, de serveur, de logiciel applicatif ou
d'environnement de programmation.
? CONCEPTION
Afin de résoudre un problème, mieux vaut
théoriquement commencer par mieux le comprendre puis trouver une
solution. On a longtemps considéré préférable de
créer un logiciel en commençant par une étape
appelé conception durant laquelle on décrit le problème et
le mode de résolution adopté. Dans la pratique c'est souvent la
dernière étape, après le codage, le débogage, et
les tests finals.
3. CONSIDERATION THEORIQUE
Dans cette partir nous parlerons de la méthode ou
démarche utilisée et du langage de modélisation ainsi que
l'applicabilité de cette méthode dans ce travail.
3.1. La méthode systémique ou l'approche
systémique
a. Présentation de la méthode
systémique
L'approche systémique intéresse toute personne
voulant entrer au centre des organisations. En effet, deux visons
prévalent dans l'approche des organisations, celle qui les analyse comme
des systèmes et celle qui les considère comme des entités
sociales. Dans les deux cas, l'approche systémique s'avère
nécessaire pour appréhender la complexité
organisationnelle. Comme le dit Dominique Génelot (1992), la
systémique marque le passage de la science absolue (S.A.) à la
science à rationalité limitée. C'est le passage d'une
science marquée par le cartésianisme, qui consiste à
tenter de réduire la complexité à ses
éléments constitutifs, à une science qui cherche à
appréhender de nouveaux concepts comme le système, l'interaction,
la rétroaction, la régulation, l'organisation, la
finalité, la vision globale, l'évolution, etc. La
systémique est donc une nouvelle façon de voir la
réalité du monde, en s'efforçant de prendre en compte ses
caractéristiques précédemment ignorées comme
l'instabilité, l'ouverture, la fluctuation, le chaos, le dé-
sourdre, le flou, la créativité, la contradiction,
l'ambiguïté, le paradoxe, qui sont l'apanage de la
complexité (Donnadieu et Karsky (2002)). L'objet de l'approche
systémique est d'élaborer un système de
représentation qui permet d'appréhender les situations complexes
de façon appropriée. Cela passe par la compréhension des
systèmes, champ d'application privilégié de la
complexité.
? Système : Nous ne pouvons
pas définir un système d'information et un système
informatique sans avoir décrire le mot « système ». Le
mot système est défini comme un ensemble d'éléments
en interaction dynamique organisés en
Page 14 sur 68
fonction d'un but. Un système est toujours doté
d'une structure, d'un ensemble d'information ou d'activités afin
d'atteindre un but et il évolue dans un environnement.20
? Système d'information : Un
système d'information peut être défini comme la partie du
réel constituée d'informations organisées et d'acteurs 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.21 Le système d'information (SI) est un
ensemble organisé de ressources qui permet de collecter, stocker,
traiter et distribuer de l'information, en
général grâce à un ordinateur. Il s'agit d'un
système sociotechnique composé de deux sous-systèmes, l'un
social et l'autre technique.
? Système d'informatique : Un
système informatique est un ensemble organisé d'objets techniques
- matériels, logiciels, applicatifs qui représentent
l'infrastructure d'un système
d'information.22 Partant de la définition
de système d'information et du système informatique et
information nous allons définir les concepts liés notre domaine
d'étude.
b. Processus de développement du logiciel
Un processus définit une séquence
d'étapes, partiellement ordonnées, qui concourent à
l'obtention d'un système logiciel ou à l'évolution d'un
système existant. L'objet d'un processus de développement est de
produire des logiciels de qualité qui répondirent aux besoins de
leurs utilisateurs dans des temps et des couts
prévisibles.23
Plus simplement, un processus doit permettre de
répondre à la question fondamentale : « Qui fait quoi et
quand ». Le processus unifié UP est un processus de
développement logiciel interactif, centré sur l'architecture,
piloté par des cas d'utilisations et orienté vers la diminution
des risques.
c. Démarche UP
Le processus unifié (UP, en anglais pour Unifie
Process) Un processus unifié est un processus de développement
logiciel construit sur UML; il est itératif et incrémental,
centré sur l'architecture, conduit par les cas
20 MULLER P.A, Modélisation objet avec
UML, Edition, Eyrolless p 85
21 Jacques MUNDA Cours de QS
de CONCEPTION DE SYSTEME D'INFORMATION, ISS L'shi, 2012, inédit.
p3
22 Petit Larousse illustre,
les éditions françaises 1999, p.250
23 Pascal.R et Franck V, UML en action : de l'analyse
des besoins a la conception en java éd, Eyrolles 2003,
p3
Page 15 sur 68
d'utilisation et piloté par les risques. La gestion
d'un tel processus est organisé d'après les 4 phases suivantes :
pré étude (inception), élaboration, construction
et transition. Ses activités de développement sont
définies par 6 disciplines fondamentales qui décrivent la
modélisation métier, la capture des besoins, l'analyse et la
conception, l'implémentation, le test et le déploiement. Le
processus unifié doit donc être compris comme une trame commune
des meilleures pratiques de développement, et non comme l'ultime
tentative d'élaborer un processus universel. La définition d'un
processus UP est donc constituée de plusieurs disciplines
d'activité de production et de contrôle de cette production. Tout
processus UP répond aux caractéristiques ci-après.
· Il est itératif et incrémental.
d. PROCESSUS 2TUP
2TUP signifie « 2 Track Unified Process ». C'est un
processus UP qui répond aux caractéristiques que nous venons de
citer. Le processus 2TUP apporte une réponse aux contraintes de
changement continuel imposées aux systèmes d'information de
l'entreprise. En ce sens, il renforce le contrôle sur les
capacités d'évolution et de correction de tels systèmes.
« 2 Track » signifient littéralement que le processus suit
deux chemins. Il s'agit des chemins « fonctionnels » et «
d'architecture technique », qui correspondent aux deux axes de changement
imposés au système informatique. L'axiome fondateur du 2TUP
consiste à constater que toute évolution imposée au
système d'information peut se décomposer et se traiter
parallèlement.
L'opinion de Le M'oigne et celle de Henry Roux, se rejoignent
en un point commun qui est celui de la modélisation,
et c'est la modélisation qui va plus nous
intéresser par le fait qu'elle est la partie qui nous conduirait
à la conception du nouveau sous-système d'information à
instaurer pour la gestion du processus de la formation au sein de l'INPP de
Lubumbashi.
Ainsi donc, pour arriver à modéliser le
système ou le métier, nous nous servons de l'outil de
modélisation et ici l'outil utilisé est UP
(Unified Process) en français «
Processus Unifiés » qui est un processus
de développement logiciel construit sur UML ; il est itératif et
incrémental, centré sur l'architecture, conduit par les cas
d'utilisation et piloté par les risques. La gestion d'un tel processus
est, organisée d'après les 4 phases qui sont : pré
étude (insertion), élaboration, construction et
transition. Ses activités de développement sont définies
par 6 disciplines fondamentales qui décrivent la modélisation
métier, la capture des besoins, l'analyse et la conception,
l'implémentation, le test et le déploiement. Etant donné
qu'il existe plusieurs types d'UP, nous avons opté pour 2TUP
(2 Track Unified Process). Le processus 2TUP apporte une
réponse aux contraintes de changement continuel imposées aux
systèmes d'information de l'entreprise. En ce sens, il renforce le
contrôle sur les capacités
Page 16 sur 68
d'évolution et de correction de tels systèmes.
« 2 Track » signifient littéralement que le processus suit
deux chemins. Il s'agit des chemins« fonctionnels » et «
d'architecture technique », qui correspondent aux deux axes de changement
imposés au système informatique.24
Lorsqu'on utilise UP comme outil de modélisation, on a
le choix quant au langage ou support à utiliser pour schématiser
la modélisation du processus métier, d'où UML
(Unified Modeling Language) entre en jeu. UML se définit comme un
langage de modélisation graphique et textuel destiné à
comprendre et décrire des besoins, spécifier et documenter des
systèmes, esquisser des architectures logicielles, concevoir des
solutions et communiquer des
points de vue. Aujourd'hui, le standard industriel de
modélisation objet est UML.25
La problématique que pose la mise en oeuvre d'UML est
simple : Comment passer de l'expression des besoins au
déploiement du système informatique ? Nous avons
travaillé avec la version UML 2. Malgré le choix d'UML, il y a
aussi un autre langage mieux approprié pour le processus métier,
c'est le BPMN (Business Process Management) en
français Gestionnaire de Processus Métier.
2TUP est itératif
Une itération est une séquence distincte
d'activités avec un plan de base et des critères
d'évaluation, qui produit un release (interne ou externe). Le contenu
d'une itération est porteur d'améliorations ou
d'évolutions du système et il peut être
évalué par les utilisateurs.
2TUP est centré sur l'architecture
Les modèles définit tout au long du processus de
développement vont contribuer à établir une architecture
cohérente et solide.
2TUP est piloté par les cas d'utilisateur
d'UML
Comme nous l'avons souligné précédemment,
un bon nombre de risques proviennent de la non-adéquation technique et
fonctionnelle du système aux besoins des utilisateurs. Les exigences des
utilisateurs sont donc
24 P. Roques. - UML 2 en action. N°12014,
4e édition Eyrolles 2006, page 13.
25 P. Roques IDEM.
Page 17 sur 68
prioritairement traitées dans les deux branches du
processus en Y en considérant deux types d'acteurs différents du
système informatique : l'utilisateur consommateur des fonctions du
système, qui correspond généralement à un poste, un
rôle ou un métier dans l'entreprise. Il convient dans ce cadre de
se focaliser sur la plus-value que lui apporte le système dans
l'exercice de sa profession ; l'utilisateur exploitant le système, qui
correspond plutôt à un rôle technique et opérationnel
commun à la plupart des systèmes informatiques. Dans le domaine
client/serveur, les utilisateurs, considérés au sens large,
attendent des performances, une tenue à la charge, une
sécurité d'accès, etc. L'axe technique permet
également d'introduire le point de vue des exploitants et des
administrateurs souvent oubliés dans la livraison finale d'un
produit.
pilotée par les risques : en
définissant des priorités pour chaque fonctionnalité, on
peut minimiser les risques d'échec du projet.
La gestion d'un tel processus est organisée d'après
les 4 phases suivantes :
1. Pré étude(Inception) :
c'est ici qu'on évalue la valeur ajoutée du
développement et la capacité technique à le
réaliser (étude de faisabilité).
2. Elaboration : sert à confirmer
l'adéquation du système aux besoins des utilisateurs et à
livrer l'architecture de base.
3. Construction : sert à livrer
progressivement toutes les fonctions du système.
4. Transition : déployer le
système sur des sites opérationnels. Chaque phase est
elle-même décomposée séquentiellement en
itérations limitées dans le temps (entre 2 et 4 semaines). Le
résultat de chacune d'elles est un système testé,
intégré et exécutable. L'approche itérative est
fondée sur la croissance et l'affinement successifs d'un système
par le biais d'itérations multiples. Le système croît avec
le temps de façon incrémentale, itération par
itération, et c'est pourquoi cette méthode porte également
le nom de développement itératif et incrémental. Il s'agit
là du principe le plus important du Processus Unifié. Ces
activités de développement sont définies par 6 disciplines
fondamentales qui décrivent la capture des besoins, la
modélisation métier, l'analyse et la conception,
l'implémentation, le test et le déploiement.
Notons que ces différentes étapes (ou disciplines) peuvent se
dérouler à travers plusieurs phases. Le processus unifié
doit donc être compris comme une trame commune des meilleures pratiques
de développement. On dit de la méthode
UP qu'elle est générique c.à.d. qu'elle
définit un certain nombre de critères de développement,
que chaque société peut par la suite personnaliser afin de
créer son propre processus plus adapté à ses besoins.
C'est dans ce cadre que la société Valtech a
crée la méthode 2TUP.2TUP signifie «2 Track
Unified Process» .C'est un processus qui répond aux
caractéristiques du Processus
Unifié. Le processus 2TUP apporte une réponse
aux contraintes de changement continuel imposées aux systèmes
d'information de l'entreprise. En ce sens, il renforce le contrôle sur
les capacités d'évolution et de correction de tels
systèmes. « 2 Track» signifient littéralement que le
processus suit deux chemins. Il s'agit des « chemins
Page 18 sur 68
fonctionnels » et « d'architecture technique »,
qui correspondent aux deux axes de changement imposés au système
d'information.
3.1. L'architecture bidirectionnelle
UP gère le processus de développement par deux
axes.
? L'axe vertical représente les
principaux enchaînements d'activités, qui regroupent les
activités selon leur nature. Cette dimension rend compte l'aspect
statique du processus qui s'exprime en termes de composants, de processus,
d'activités, d'enchaînements, d'artefacts et de travailleurs.
? L'axe horizontal représente le temps
et montre le déroulement du cycle de vie du processus; cette dimension
rend compte de l'aspect dynamique du processus qui s'exprime en terme de
cycles, des phases, d'itérations et de jalons.
UP répète un certain nombre de fois une
série de cycle qui s'articule autour
de 4 phases
> Analyse des besoins
> Élaboration
> Construction
> Transition
Pour mener efficacement un tel cycle, les développeurs ont
besoins de
toutes les représentations du produit logiciel :
? Un modèle de cas d'utilisation expose
les cas d'utilisation et leurs relations
avec les utilisateurs,
? Un modèle d'analyse détaille les
cas d'utilisation et procède à une première
répartition du comportement du système entre divers
objets,
? Un modèle de conception définit
la structure statique du système sous forme
de sous-systèmes, de classes et interfaces, définit
les cas d'utilisation réalisés
sous forme de collaborations entre les sous-systèmes, les
classes et les
interfaces,
+ Un modèle d'implémentation
intègre les composants,
+ Un modèle de déploiement
définit les noeuds physiques des ordinateurs et
l'affectation de ces composants sur ces noeuds,
+ Un modèle de test décrit les cas
de test vérifiant les cas d'utilisation,
Page 19 sur 68
? Une représentation de l'architecture
donne toute l'architecture logique et physique.
4. Langage de modélisation UML
Il nous paraît difficile d'envisager le processus 2TUP
sans recourir à UML comme support. Certes, les concepts
présentés jusqu'à présent ne sont pas
spécifiquement liés à une notation particulière.
Nous avons cependant omis de préciser le rôle central et
fondamental de la modélisation objet tout au long du
développement d'une solution logicielle. Le recours à la
modélisation est depuis longtemps une pratique indispensable au
développement, car un modèle est prévu pour anticiper les
résultats du développement. Un modèle est en effet une
abstraction du résultat, dont le but est de documenter, de
prévoir, d'étudier, de collecter ou d'estimer les
informations.26
4.1. Définition et Historique de UML
UML qui est un langage textuel et graphique a fait l'objet de
grands travaux de recherche. Il y avait de cela une quinzaine d'années,
MERISE était la méthode de conception et de développement
de système d'information, de loin là plus utilisée dans le
monde informatique. Mais de nos jours les tendances ont changé. UML se
définit comme un langage de modélisation graphique et textuel
destiné à comprendre et décrire des besoins,
spécifier et documenter des systèmes, esquisser des architectures
logicielles, concevoir des solutions et communiquer des points de vue.
La modélisation objet consiste à créer
une représentation informatique des éléments du monde
réel auxquels on s'intéresse, sans se préoccuper de
l'implémentation, ce qui signifie indépendamment d'un langage de
programmation. Il s'agit donc de déterminer les objets présents
et d'isoler leurs données et les fonctions qui les utilisent. Pour cela
des méthodes ont été mises au point. Entre 1970 et 1990,
de nombreux analystes ont mis au point des approches orientées objets,
si bien qu'en 1994 il existait plus de 50 méthodes objet. Toutefois
seules 3 méthodes ont véritablement émergé :
La méthode OMT de Rumbaugh
La méthode BOOCH'93 de Booch
La méthode OOSE de Jacobson (Object Oriented Software
Engineering) UML 1.0 est soumise à l'OMG (Object Management Group) en
janvier 1997, mais elle ne sera acceptée qu'en novembre 1997 dans sa
version 1.1, date à partir de laquelle UML devient un standard
international. UML a évolué très
26 P. roques et F.VALLEE, UML en action ; de l'analyse des
besoins à la conception en JAVA, 2ème éd EYROLLES,
2003, p22
Page 20 sur 68
rapidement ainsi respectivement en 2003 et 2004, UML 1.5 Et
UML 2.0 ont vu le jour. Plusieurs enquêtes réalisées sur
les sites dédiés au génie logiciel ont montré
qu'UML constitue le langage par excellence pour la modélisation.
En l'espace d'une poignée d'années seulement,
UML est devenu un standard incontournable. Les experts tant en analyse et
conception qu'en programmation informatique diffusent d'innombrables articles
au sujet de ce dernier et à en croire certains, utiliser les
technologies objet sans UML relève de l'hérésie. Les
concepts de base de l'approche objet sont stables, largement
éprouvés et ne datent pas d'aujourd'hui. Programmer « objet
» c'est donc bénéficier d'une panoplie d'outils et de
langages performants. L'approche objet est une solution technologique
incontournable. Ce n'est plus une mode, mais un réflexe quasi
automatique dès lors qu'on cherche à concevoir des logiciels
complexes qui doivent "résister" à des évolutions
incessantes.
Pourquoi avions-nous préféré UML comme
langage de modélisation par opposition au traditionnel cheminement
merisier au moment où l'informatique de gestion apparaît de plus
en plus comme un des éléments majeurs de la stratégie des
entreprises ?
Notre choix se fonde sur plusieurs critères. D'abord
l'émergence soudaine de UML ces dernières années. Cette
émergence se justifie par plusieurs atouts que nous ne manquerons pas de
relater dans ce mémoire. Ensuite ce choix est lié à la
complexité du système que nous devons modéliser. La
problématique que pose la mise en oeuvre d'UML est simple :
Comment passer de l'expression des besoins au déploiement du
système informatique ?
Comme nous le savons, UML n'est qu'un langage de
modélisation, ce n'est pas une méthode. En effet, UML ne propose
pas une démarche de modélisation explicitant et encadrant toutes
les étapes d'un projet, de la compréhension des besoins à
la production du code de l'application et au déploiement du
système informatique. Une méthode se doit de définir une
séquence d'étapes, partiellement ordonnées, dont
l'objectif est de produire un logiciel de qualité qui répond aux
besoins des utilisateurs dans des temps et des coûts
prévisibles.
Bien qu'UML ne soit pas une méthode, ses auteurs
précisent néanmoins qu'une méthode basée sur
l'utilisation UML doit être :
Pilotée par les cas d'utilisation :
La principale qualité d'un logiciel étant son
utilité, c'est-à-dire son adéquation avec les
besoins des utilisateurs, toutes les étapes, de la
spécification des besoins à la maintenance, doivent être
guidées par les cas d'utilisation qui modélisent justement les
besoins des utilisateurs.
Centrée sur l'architecture :
Page 21 sur 68
L'architecture est conçue pour satisfaire les
besoins exprimés dans les cas d'utilisation, mais aussi pour
prendre en compte les évolutions futures et les contraintes de
réalisation. La mise en place d'une architecture adaptée
conditionne le succès d'un développement. Il est important de la
stabiliser le plus tôt possible.
Itérative et incrémentale :
L'ensemble du problème est décomposé en
petites itérations, définies à partir des cas
d'utilisation et de l'étude des risques. Les risques majeurs et les cas
d'utilisation les plus importants sont traités en priorité. Le
développement procède par des itérations qui conduisent
à des livraisons incrémentales du système.
4.2. Présentation générale des
diagrammes UML2
UML s'articule maintenant autour de 13 diagrammes
différents, dont 4 nouveaux diagrammes introduits par UML 2.0. Chacun
d'eux est dédié à la représentation d'un
système logiciel suivant un point de vue particulier. Par ailleurs, UML
modélise le système suivant deux modes de représentation :
l'un concerne la structure du système pris « au repos »,
l'autre concerne sa dynamique de fonctionnement. Les deux
représentations sont nécessaires et complémentaires pour
schématiser la façon dont est composé le système et
comment ses composantes fonctionnent entre elles. UML 2 s'articule autour de
treize types de diagrammes, chacun d'eux étant dédié
à la représentation des concepts particuliers d'un système
logiciel. Ces types de diagrammes sont répartis en deux grands groupes
:
· Six diagrammes structurels et Sept diagrammes
comportementaux :
? Le diagramme de cas d'utilisation est utilisé
dans l'activité de spécification des besoins. Il montre
les interactions fonctionnelles entre les acteurs et le système à
l'étude.
? Le diagramme de classes est le point central dans un
développement orienté objet. En analyse, il a
pour objet de décrire la structure des entités manipulées
par les utilisateurs. En conception, le diagramme de classes
représente la structure d'un code orienté objet.
? Le diagramme de packages montre l'organisation
logique du modèle et les relations entre packages. Il permet de
structurer les classes d'analyse et de conception, mais aussi les cas
d'utilisation.
? Les diagrammes de séquence et les diagrammes
de communication sont tous deux des diagrammes d'interactions UML. Ils
représentent des échanges de messages entre
éléments, dans le cadre d'un fonctionnement particulier du
système. Les diagrammes de séquence servent d'abord à
développer en analyse les scénarios d'utilisation du
système. Plus tard, les
Page 22 sur 68
diagrammes de séquence et de communication permettent de
concevoir les méthodes des classes.
+ Le diagramme d'états représente le
cycle de vie commun aux objets d'une même classe. Ce diagramme
complète la connaissance des classes en analyse et en conception en
montrant les différents états et transitions possibles des objets
d'une classe à l'exécution.
+ Le diagramme d'activité représente les
règles d'enchaînement des actions et décisions au sein
d'une activité. Il peut également être
utilisé comme alternative au diagramme d'états pour
décrire la navigation dans un site web.
+ Le diagramme d'objets est un
instantané, une photo d'un sous-ensemble des objets d'un
système à un certain moment du temps. C'est probablement le
diagramme le moins utilisé d'UML et nous n'enverrons pas
d'illustration.
+ Le diagramme de composants montre les unités
logicielle sa partir desquelles on a construit le système informatique,
ainsi que leurs dépendances.
+ Le diagramme de déploiement montre le
déploiement physique des artefacts (éléments
concrets tels que fichiers, exécutables, etc.) sur les ressources
matérielles.
+ Le diagramme de vue d'ensemble des interactions
fusionne les diagrammes d'activité et de séquence pour
combiner des fragments d'interaction avec des décisions et des flots.
+ Le diagramme de temps fusionne les diagrammes
d'états et de séquence pour montrer l'évolution
de l'état d'un objet au cours du temps et les messages qui modifient cet
état.
+ Le diagramme de structure composite montre
l'organisation interne d'un élément statique complexe
sous forme d'un assemblage de parties, de connecteurs et de ports.
L'ensemble des treize types de diagrammes UML peut ainsi être
résumé sur la figure ci-après.
Page 23 sur 68
Page 24 sur 68
5. LANGAGE DE PROGRAMMATION
1. LANGAGE INFORMATIQUE
On appelle « langage informatique » un langage
destiné à décrire l'ensemble des actions
consécutives qu'un ordinateur doit exécuter. Un langage
informatique est ainsi une façon pratique pour nous (humains) de donner
des instructions à un ordinateur. A contrario, le terme « langage
naturel » représente les possibilités d'expression
partagé par un groupe d'individus (par exemple l'anglais ou le
français). Les langages servant aux ordinateurs à communiquer
entre eux n'ont rien à voir avec des langages informatiques, on parle
dans ce cas de protocoles de communication, ce sont deux notions totalement
différentes.
a. Un langage informatique a donc plusieurs avantages
:
? Il est plus facilement compréhensible que le langage
machine ; ? Il permet une plus grande portabilité, c'est-à-dire
une plus grande facilité
D'adaptation sur des machines de types différents ;
Les langages informatiques peuvent grossièrement se classer en deux
catégories : les langages interprétés les langages
compilés.
b. Langage interprété Un
langage informatique est par définition différent du langage
machine. Il faut donc le traduire pour le rendre intelligible du point de vue
du processeur. Un programme écrit dans un langage
interprété a besoin d'un programme auxiliaire
(l'interpréteur) pour traduire au fur et à mesure les
instructions du programme.
c. Langage compilé
Un programme écrit dans un langage dit «
compilé » va être traduit une fois pour toutes par un
programme annexe, appelé compilateur, afin de générer un
nouveau fichier qui sera autonome, c'est-à-dire qui n'aura plus besoin
d'un programme autre que lui pour s'exécuter ; on dit d'ailleurs que ce
fichier est exécutable. Un programme écrit dans un langage
compilé a comme avantage de ne plus avoir besoin, une fois
compilé, de programme annexe pour s'exécuter. De plus, la
traduction étant faite une fois pour toute, il est plus rapide à
l'exécution. Toutefois il est moins souple qu'un programme écrit
avec un langage interprété car à chaque modification du
fichier source (fichier intelligible par l'homme : celui qui va être
compilé) il faudra recompiler le programme pour que les modifications
prennent effet.
D'autre part, un programme compilé a pour avantage de
garantir la sécurité du code source. En effet, un langage
interprété, étant directement intelligible (lisible),
permet à n'importe qui de connaître les secrets de fabrication
d'un programme et donc de copier le
Page 25 sur 68
code voire de le modifier. Il y a donc risque de non-respect
des droits d'auteur.
2. LES CONCEPTS RESEAU
L'architecture client/serveur :
L'architecture client/serveur est la suite logique de la
programmation modulaire. La programmation modulaire suppose qu'un gros
programme est plus efficace s'il décomposé en modules ; il est
plus facile à développer et à maintenir. Donc, si on
décompose un logiciel en modules, on réalise qu'il n'est pas
nécessaire d'exécuter tous les modules dans le même
espace-mémoire. On peut créer un module client
qui demande un service et un autre module serveur qui
fournit le service. En plus, les modules n'ont pas à être sur la
même machine ni même sur la même plateforme. On peut utiliser
la plateforme appropriée pour chaque tâche.
a) Le client
Le client est un programme qui envoie un message à un
autre programme, le serveur, lui demandant d'exécuter
une tâche quelconque, le service C'est le client qui
gère l'interface avec l'utilisateur, valide les données,
gère la communication avec le serveur et exécute certaines
opérations logiques. Le client est aussi responsable de la gestion des
ressources locales : moniteur, clavier et périphériques.
Lorsqu'on parle du client on utilise aussi le terme front-end
car c'est la partie du système qui est à l'avant, c'est à
dire la plus visible à l'utilisateur. Le client fonctionne toujours en
mode graphique, GUI, et communique avec l'utilisateur au moyen
de fenêtres.
b) Le serveur
Le serveur reçoit les demandes des clients,
exécute les opérations d'extraction et de mise à jour de
la base de données, assure l'intégrité des données
et retourne les réponses aux clients. Le serveur peut aussi être
appelle à exécuter des opérations logiques qui peuvent
aller du simple au complexe, basées sur les règles d'affaires de
l'entreprise. Le serveur pourrait être une autre machine sur le
réseau, il pourrait servir aussi de serveur de fichiers sur le
réseau. Le serveur est le back-end qui gère les
ressources partagées et les tâches communes à
différentes applications.27
c) FRAMEWORK (CADRE D'APPLICATION EN
FRANÇAIS)
27
http://www.dgsys.com/~dcasug/sybintro/csarch.HTMl#Client/Server
Architecture
Page 26 sur 68
C'est une ossature, charpente d'un programme ; par extension,
et à présent le plus souvent, c'est le nom d'une famille
d'ensembles logiciels facilitant le développement de programme et
d'ordinaire leur déploiement et leur maintenance. Il s'agit d'un
ensemble de composants structurés qui sert à créer les
fondations et à organiser le code informatique pour faciliter le travail
des programmeurs, que ce soit en termes de productivité ou de
simplification de la maintenance. Il en existe beaucoup pour les applications
web qui ciblent de nombreux langages : Java, Python, Ruby, PHP...28
Exemple : Bootstrap, CodeIgniter, Foundation, etc. Dans le cadre de ce travail,
nous avons utilisé le cadre d'application css Bootstrap et
CodeIgniter en ce qui concerne le cadre d'application PHP.
1. Boots rap
Boots rap est une collection d'outils utile à la
création du design (graphisme, animation et interactions avec la page
dans le navigateur ... etc. ...) de sites et d'applications web. C'est un
ensemble qui contient des codes HTML et CSS, des formulaires, boutons, outils
de navigation et autres éléments interactifs, ainsi que des
extensions JavaScript en option. C'est l'un des projets les plus populaires sur
la plate-forme de gestion de développement GitHub.29
2. CodeIgniter
CodeIgniter est un Framework libre écrit en PHP. Il
suit le motif de conception MVC et s'inspire du fonctionnement de Ruby on
Rails. Les versions inférieures à la 2.0.0 sont compatibles avec
PHP 4 et 5, tandis que celles supérieures à la 2.0.0 ne sont
compatibles qu'avec PHP 5.1.6 ou plus. La version 3.0 requiert PHP 5.2.4 et la
version 3.1 requiert PHP 5.3.7.
28 Bestmomo, « Prenez en main Boots rap
», open class rooms, 2014, p.6
29 Philibert, Benoît, « Boots rap 3 : le
Framework 100 % web design
Page 27 sur 68
CHAPITRE II. ETUDE DE L'EXISTANT
II.1. INTRODUCTION
Dans ce chapitre nous allons devoir présenter
l'organisation faisant
l'objet d'étude de notre travail, puis nous allons
définir le périmètre d'étude dans lequel
évolue le système que nous voulons concevoir. Nous allons donc
étudier les besoins des utilisateurs du système, établir
le diagramme de cas d'utilisation et de séquence UML.
II.1.1. PRESENTATION DE L'INSTITUT NATIONAL DE PREPARATION
PROFESSIONNEL (INPP)
Dans cette partie, il sera question de ressortir quelques
points essentiels ayant trait à la présentation l'institut
national de préparation professionnelle. Ce présent chapitre
permettra à toute personne désire de connaitre cette
société de l'Etat congolais.
II.1.2. Historique et la création de l'INPP/haut
Katanga
L'institut national de préparation professionnelle
(I.N.P.P) est lié à l'évolution de la politique de
l'emploi au Congo. Etant donné la restructuration de l'économie
nationale et la restauration de l'équilibre macro-économique
rompu depuis plusieurs décennies ,et compte tenu de l'accroissement des
demandes d'emplois dans tous les secteurs de la vie nationale, pour
répondre à l'adaptation de la main d'oeuvre au profil de
l'emploi, le gouvernement avait pris la décision de créer une
Institution Nationale de Préparation Professionnelle; placé sous
le ministère du travail et de l'emploi et prévoyance sociale,
jouissant d'une autonomie administrative et financière.
Il est important de noter qu'à l'accession de notre
pays à l'indépendance, tous les domaines de la vie nationale
étaient tombés en faillites; il y avait rupture brutale
d'encadrement dans l'administration publique et dans les entreprises tant
publique que privées ; les infrastructures de l'Institut National de
Préparation Professionnelle furent détruites et
délaissé suite au départ massif des blancs, les cadres
nationaux évolués avaient tentés de relever le défi
de ce départ pour essayer de redonner la vie aux service nationaux. Les
tentatives ont abouti à des études depuis des organisations des
employeurs et la mise sur pied d'une structure qu'on a appelé par la
suite l'Institut National de Préparation Professionnelle
créé par l'ordonnance loi N°
Page 28 sur 68
206 du 26/06/1964. Comme chaque chose à une
genèse, nous allons essayer de constituer dans cette section
l'historique de l'I.N.P. P au travers le pays :
? 1964 : création de l'institut national de
préparation
professionnelle ;
? 1966 : démarrage de la direction provinciale de Kinshasa
;
? 1969 : démarrage de la direction provinciale de Boma
;
? 1971 : démarrage de la direction provinciale de
Lubumbashi ;
? 1973 : démarrage de la direction provinciale de
Kisangani ;
? 1981 : démarrage de la direction provinciale de Bukavu
;
? 1990 : intégration de l'école pigée
à l'institut national de
préparation professionnelle,
? A la même année, il y aura création des
antennes : Gradualité, Kikwit, Mbuji-Mayi et Kananga
Il est important de noter que la direction
générale de l'Institut National de Préparation
Professionnelle se trouve à Kinshasa à la 11èmerue
à limette.
a. Siege administrative de l'INPP
La direction générale de l.N.P.P estdans la
capitale
congolaise(Kinshasa), surla 6eme Rue, limeté
Industrielle. B.P.1150 KINSHASA-LIMETE, RDC.
II.1.3. SITUATION GEOGRAPHIQUE DE L'INPP/HAUT KATANGA
La direction provincial l'institut national de préparation
professionnelle, section haut Katanga et situer au numéro 18, avenue
luvungi, commune Kampemba, quartier industriel.
II.1.4. SIEGE ADMINISTRATIF DE L'INPP
La direction générale de l'INPP est dans la
capitale congolaise(Kinshasa), sur la 6eme Rue, limeté Industrielle. B.
P1150 KINSHASA-limeté, RDC ;
Page 29 sur 68
II.1.5. STATUT JURIDIQUE
L'Institut National de Préparation Professionnelle
direction provinciale Katanga est une entreprise à caractère
technique et sociale dote la personnalité juridique, créé
le 29/06/1964 sous l'ordonnance loi n° 06.
II.1.6. STRICTURE
L'I.N.P. P est pris en tutelle par deux ministère du
pouvoir publique
dont :
Le ministère de travail et prévoyance social
(tutelle technique) et le ministère de la porte feuille (tutelle
administrative et financière) le conseil d'administration est
composé des représentants de l'état, les employeurs et
travailleurs, il est l'organe suprême de l'Institut National de
Préparation Professionnelle.
II.1.7. OBJECTIF DE L'INPP
Comme cette institution ne peut pas commencer à
arbousier le budget de l'état inutilement ; il est pertinent de savoir
l'apport de celle-ci au niveau de la société.
L'institut national de préparation professionnelle a pour
objectifs :
L'amélioration de la qualité professionnelle de
la population active. Le perfectionnement professionnel des travailleurs dans
l'emploi des ouvriers ou des cadres d'entreprises publique ou privées.
La reconversion professionnelle des travailleurs devant changer des
métiers ou profession. La sélection et l'orientation
professionnelle, soit pour l'embauche soit pour la sélection et
l'orientation professionnelle ; L'aide aux entreprises pour mettre au point
leur classification d'emploi ;
La fourniture aux autorités publiques des supports
techniques nécessaires à l'élaboration et exécution
de la politique nationale en matière de formation professionnelle.
II.1.8. RESSOURCES
? HUMAINE
Cette ressource est composée du personnel
expérimenté et hautement qualifié
? FINANCIERE
Les ressources financières de l'I.N.P. P proviennent de
:
Page 30 sur 68
Subvention de l'État (50%) du budget ; Cotisation
mensuelle des employeurs ; Rétribution exceptionnelle ; Dons et legs.
II.1.9. FONCTIONNEMENT DU SERVICE C.A.I
Le service commerce administration et informatique,
C.A.I en sigle est l'un des huit services de la division technique de
l'INPP/DPK ; il s'occupe de deux domaines de formation à savoir :
1) Domaine commercial et administratif : pour la formation
dans les sciences commerciales, administratives et du secrétariat de
direction.
2) Domaine informatique : s'occupe de la formation en
bureautique, programmation et gestion puis en maintenance et réseau et
aussi des autres modules techniques.
A. PROCESSUS ET MODE D'INTERVENTION Formation se fait sur
demande c'est-à-dire
V' Soit en dehors des installations de l'Institut National de
Préparation
Professionnelle, elle est dite externe
V' Soit au sein de l'entreprise, elle est dite interne
B. PROGRAMME ET METHODE DE FORMATION
En soit il n'y a pas de programme fixe de type scolaire.
Les programmes se font sur mesure suivant les exigences du
poste et niveau du candidat.Les méthodes de formation sont axées
sur la pratique, elles sont fonctionnelles, audiovisuelle : méthode
d'entrainement, séminaire, travaux pratiques etc....
C. DOMAINE D'INVESTIGATION ET DUREE DE LA FORMATION
L'I.N.P. P /DPK peut assurer la formation dans les
métiers de base selon les besoins exprimés par chaque entreprise,
organisation ou individu. La formation n'a pas de durée fixe, elle se
détermine en fonction des objectifs du programme et niveau du candidat.
Ainsi, il dispose de façon permanente des ateliers et laboratoires pour
les domaines ci-après :
> Secrétariat, comptabilité, commerce,
administration et informatique
> Mécanique auto (diesel, essence,
électricité, auto)
> Mécanique générale (machine outils,
charpenterie, métalliques)
> Chaudronnerie, tôlerie, soudure, froid,
climatisation, électronique, formation des cadres et agents de
maitrise, pédago-information, gestion des
Page 31 sur 68
petites et moyennes entreprises (PME), technique de maniement
d'utilisation de tests psychologiques analyses, description et classification
des emplois, contrôle technique automobile, informatique de gestion,
bâtiment et génie civil.
INSPECTION TECHNIQUE
DIVISION TECHNIQUE
ADJOINT TECHNIQUE
CONSEIL TECHNIQUE
CHARGE D'ETUDES
FORMATION DES CADRES ET MAITRISE
SECTION ET PSYCOLOGIE DU TRAVAIL
PEDAGOGIE DE FORMATION
ELECTRICITE ; FROID ELECTONIQUE
CHAUDRONNERIE ET SOUDURE
MECANIQUE AUTO
COMMERCIALE ADMNISTRATIVE
ET INFORMATIQUE
Date : 20/02/2018 Source : service informatique
MECANIQUE GENERALE
SECRETARIAT
Page 32 sur 68
D. ORGANIGRAMME DE
L'INPP/DPK
DIRECTION PROVINCIALE
SOUS DIRECTION
DIVISION
ADM. ET FINANCIERE
ADJOINT ADM. FINANCIERE
SECRETAIRE
DISPENSAIRE
APPROVISIONNEMENT
RECOUVREMENT
BUDGET CONTROLE
COMPTABILITE
OUEVRE SOCIALE
CAISSE
CONTROLE TECHNIQUE
Page 33 sur 68
II.2. ANALYSE DU METIER
II.2.1. DESCRIPTION DU METIER
L'analyse est une discipline qui étudie et
présente de manière abstraite le travail à effectuer.
L'objectif de l'analyse est d'accéder à une compréhension
des besoins et des exigences des clients, il s'agit de livrer des
spécifications pour permettre de choisir la conception de la
solution.
II.2.2. DESCRIPTION TEXTUELLE DU PROCESSUS METIER
Dans le cadre de perfectionnement, la I NPP souhaite
modéliser le processus de gestion des formations en son sein afin que
quelques-unes de leurs tâches soient informatisées.
Formuler la description textuelle du processus métier
qui se présente comme suit :
Le nouveau Candidat venu est tenu de déposer une lettre
de demande de formation rédigée au manuscrit accompagné de
son titre
académique ou scolaire (diplôme d'état ou
diplôme universitaire) au
secrétariat. Il a signalé que celui peut suivre
cette formation, que le
candidat ayant un niveau d'étude supérieur ou D6
(diplôme d'état)
Le secrétariat transmet la dite lettre au SI (chef de
service informatique) et ce dernier donne l'accord d'acception de la
candidature au secrétaire pour qu'elle soit enregistrer sur une liste et
le candidat ira payer le frais de formation auprès du SI.
La secréterait établit une liste de candidats et
transmet au formateur ; auprès de qui les candidats iront suivre leur
cours.
A la fin du programme de cours, le formateur
évalué le candidat et transmet à son tour le
résultat obtenu au SI et ce dernier livrera l'attestation provisoire de
formation au candidat en attendant l'attestation de fin de formation soumise
à la signature de l'administrateur délégué
général de l'INPP/haut Katanga.
Page 34 sur 68
II.2.3. PERIMETRE ET IDENTIFICATION DES ACTEURS
Dans cette partie, nous allons qui énumérer les
acteurs qui interagissent avec le système métier. Avant tout,
commençons par définir un acteur.
Un acteur représente un rôle jouer par une
entité externe ou interne(utilisateur humain, dispositif matériel
ou autre système) , qui interagit directement avec le système
étudie.30
Donc un acteur est une abstraction des rôles jouent par
une entité (externe ou interne), qui interagit directement avec le
système. Elle peut consulter et/ou modifier directement l'état du
système, en émettant et/ou en recevant des messages susceptibles
d'être porteurs de données.
? Les différents acteurs qui
interagissent avec notre système sont :
? Le candidat: toute personne qui pour passer
la demande et qui
deviens pratiquement apprenant âpres qu'il soit admis
à l'institut. ? Le secrétaire qui gère
tous les demandes et les renseignements des
candidats en formation et d'autel.
? Le chef de service informatique(SI) : qui
valide les demandes des formations de candidat et qui perçois l'argent
d'inscription des candidats âpres validation de la lettre de demande.
? Le formateur : celui qui s'occupe de la
formation des candidats et des examines aussi.
30 P. Roque <<UML2 le cahier du programmeur,
modélise une application web>>5eme Ed Ecoles 61
Germainjuin 2008 P41
Page 35 sur 68
II.2.4. DIAGRAMME DE CONTEXTE METIER
II.3. ANALYSE FONCTIONNELLE DU METIER
L'analyse fonctionnelle nous permet d'avoir une bonne
compréhension de besoins des utilisateurs, ces besoins constituent les
spécifications qui permettent de bien choisir la conception de la
solution pour arriver au but, nous utiliserons le diagramme d'activité,
le diagramme de cas d'utilisations et le diagramme de classe.
a. Diagramme de cas d'utilisation métier
Un cas d'utilisation (« use case » en anglais)
représente un ensemble de séquences d'actions qui sont
réalisées par le système et qui produisent un
résultat observable intéressant pour acteur particulier.
Page 36 sur 68
II.4. DIAGRAMME D'ACTIVITE
Le diagramme d'activités n'est rien d'autre que la
transcription dans UML de la représentation du processus telle qu'elle a
été élaborée lors du travail qui a
préparé : la modélisation, il montre l'enchainement des
activités qui concourent aux processus. Pour notre travail, voici le
diagramme d'activité.
a. Diagramme d'activité : Processus demande de
formation
Le diagramme d'activité ci-dessous montre
l'enchainement des actions et décisions du processus de demande de
formation.
Page 37 sur 68
SECRETAIRE
CANDIDAT
CHEF DE S.I FORMATEUR
Dandeder formation
examiner
deemande
[Refaire demande]
[Refaire classer]
analyse dmande
[demande rejetée]
payer Frais
[Refaire demande]
percevoi frais
[argent imcomple]
[argent complet]
suivre coursd
Enregistrer candidat
[formation arefaire]
Evaluer candidat
[candidat ajourné]
[candidat satiseait]
Etablir Attestation
Page 38 sur 68
II.5. MODELE DE CLASSES DU DOMAINE
Le diagramme de classes est le point central dans un
développement orienté objet. En analyse, il a pour objectif de
décrire la structure des entités manipulées par les
utilisateurs. Le diagramme de classes montre la structure interne du
système et permet de fournir une représentation abstraite des
objets du système qui vont interagir ensemble pour réaliser les
cas d'utilisation.31
Voici le diagramme de classe du domaine que nous avons retenu
après analyse et capture de besoins fonctionnels :
31Pascal R. et Franc
Vallée, UML en action, de l'Analyse des besoins à la
conception en Java, 2em Ed, Paris Eyrolles, 2003
Page 39 sur 68
CHAPITRE III : CONCEPTION D'UN SYSTEME INFORMATIQUE
III.1. INTRODUCTION
Le présent chapitre est centré sur
l'étude du système informatique. Il s'agit ici de ressortir les
besoins du nouveau système à mettre en place en montrant comment
il sera informatisé afin d'aboutir au déploiement et à
l'implémentation qui mettront la dernière pierre l'édifice
de ce travail. Après avoir analysé notre système
d'information existant, dans le chapitre précédent, chapitre dans
lequel nous avons ressorti les concepts métiers du système, les
activités réalisées ainsi que le recueil des besoins du
système à développer ; nous allons à présent
nous atteler sur tout ce qui va concerner le développement du
système informatique en ouvrant le système vu comme une boite
noire afin de connaître tout ce qui se passe à
l'intérieur.
III.2. INGENIERIE DES EXIGENCES
L'ingénierie des exigences est l'application d'une
démarche systématique pour capturer, analyser, spécifier
et valider les exigences d'un logiciel à développer. Le processus
d'ingénierie des exigences définit l'ensemble des
activités, actions et tâches nécessaires et la
manière de les articuler afin de développer les exigences d'un
logiciel. Il comprend la capture, l'analyse, la spécification et la
validation.
III.2.1. CAPTURE DES EXIGENCES
La capture des exigences, désignée autrement
« Identification des exigences », est l'activité consistant
à identifier les principales sources des exigences et à
déterminer comment les ingénieurs peuvent les collecter. C'est la
première étape où on se fait une compréhension du
problème que le logiciel va résoudre. À ce niveau, tous
les acteurs du projet doivent être identifiés. Les exigences du
système informatique déterminent ce que le système doit
faire, fournissent aux développeurs une meilleure compréhension
des fonctionnalités du système qu'ils doivent développer,
définissent le contour du système, fournissent la base de la
planification et le contenu technique ainsi que la réalisation des cas
d'utilisation. En analyse tout comme en conception, les besoins du
système sont capturés et modélisés à l'aide
d'un diagramme de cas d'utilisation. Nous allons toujours nous servir de
besoins capturés au niveau de l'analyse métier pour
définir et capturer les besoins du système informatique.
Page 40 sur 68
III.2.2. CAPTURE DES BESOINS DU SYSTEME INFORMATIQUE
a. IDENTIFICATION DES ACTEURS DU
SYSTEME INFORMATIQUE
Pascal ROQUES dans la 4ème édition de son livre
intitulé UML2
Modéliser une application web, parue en 2008,
définit un acteur comme l'idéalisation d'un rôle
joué dans le système, donc est acteur toute entité
(utilisateur, dispositif matériel ou autre système) qui interagit
directement avec le système
(l'application).32 Au vu de cette définition
nous avons retenu les acteurs suivants susceptibles d'interagir avec le
système :
? Le candidat/Internaute : toute personne qui
pour passer la demande et qui deviens pratiquement apprenant âpres qu'il
soit admis à l'institut. ? Le chef de service informatique(SI)
: qui valide les demandes des
formations de candidat et qui perçois l'argent
d'inscription des candidats âpres validation de la lettre de
demande.
? Le formateur : celui qui s'occupe de la
formation des candidats et des examines aussi.
? Administrateur : personne responsable de la
gestion du système informatique et attribuant les privilèges
utilisateur (acteurs) ci-haut mentionnés.
III.3. ANALYSE DU SYSTEME INFORMATIQUE
III.3.1. Présentation du digramme de cas
d'utilisation de conception
Les cas d'utilisation constituent un moyen de recueillir et de
décrire les besoins des acteurs du système. Ils peuvent
être aussi utilisés ensuite comme moyen d'organisation du
développement du logiciel, notamment pour la structuration et le
déroulement des tests du logiciel.
N°
|
ACTEUR
|
CAS D'UTILISATIONS
|
ACTIONS
|
1.
|
Candidat
|
Demande de formation
|
? Passer demande de
formation
|
32 Pascal ROQUES, UML 2 Modéliser une application
web, éd. Eyrolles, Paris, 2008
Page 41 sur 68
|
|
|
· Peut s'inscrire
|
2.
|
Chef IS
|
Traiter demande de formation
|
· Invalider, valider demande
· Vérifier disponibilité place
|
3.
|
Formateur
|
Gérer matières
|
· Ajouter, Consulter, Modifier
et Supprimer une matière
· Programmer matière
|
4.
|
Administrateur
|
Gérer utilisateur
|
· Ajouter, Consulter, Modifier et valider un utilisateur,
supprimé
· Donnée des privilèges
|
5.
|
Internaute
|
Créer compte
|
· Créer compte utilisateur
|
|
Tout système peut être décrit par un
certain nombre de cas d'utilisation correspondant aux besoins exprimés
par l'ensemble des utilisateurs. À chaque utilisateur, vu comme acteur,
correspondra un certain nombre de cas d'utilisation du système.
L'ensemble de ces cas d'utilisation se représente sous forme d'un
diagramme33.
33 P. Roques & F. Vallée, UML 2 en action, de
l'analyse des besoins à la conception, éd. EYROLLES, 2007,
p34
Page 42 sur 68
III.3.2. DESCRIPTION TEXTUELLE DES CAS D'UTILISATIONS
1. Description textuelle du cas d'utilisation
système : Créer compte
v' Résumé : ce cas d'utilisation permet à un
internaute de se connecter au
site et de créer son compte s'il n'a pas un login et un
password.
+ Acteurs :
? Principal : Internaute
? Secondaire : Système
+ Précondition :
o Le système est sous tension
+ Scénario-nominal :
1) L'internaute se connecte
2) Le système affiche la page d'authentification
3) L'internaute clique sur le lien « vous n'avais pas de
compte ))
4) Le système affiche le formulaire création de
compte
5) L'internaute rempli le formulaire
6) L'internaute clique sur « Enregistrer ))
+ Le système affiche la page d'accueil et un message de
confirmation.
+ Post-condition : Compte enregistré
+ Description formelle par le diagramme de séquence
système :
Page 43 sur 68
2. Description textuelle du cas d'utilisation
système : S'authentifier
v Résumé : ce cas
d'utilisation permet aux utilisateurs du système
informatique de s'faire identifier.
+ Acteurs :
? Principal : Utilisateur
? Secondaire : Système
+ Pré condition :
o Le système est sous tension
o Le formulaire authentification existe dans le système
+ Scénario-nominal :
1) L'utilisateur se connecte
2) Le système affiche la page d'authentification
3) L'utilisateur saisi son login et son password
4) L'utilisateur clique sur « Connexion »
+ Scénario-alternatif :
? Login et password incorrect
5) Le système refuse l'accès ? Dans le cas
contraire
6) Le système autorise l'accès
+ Post-condition : Accès
autorisé ou refusé
+ Description formelle par le diagramme
de séquence système :
Page 44 sur 68
3. Description textuelle du cas d'utilisation
système : demande de formation
? Résumé : ce cas d'utilisation permet
à un candidat du système de passer
une demande de formation.
? Acteurs :
? Principal : candidat
? Secondaire : Système
? Pré-condition :
? Le système est sous tension
? Avoir déjà été authentifié
dans le système
? Avoir déjà gérer son profil utilisateur
? Scénario-nominal :
1. Le candidat clique sur le menu « Demande de
formation))
2. Le système affiche la page de demande de formation
3. Le candidat clique sur le bouton « Choisissez le lettre
de formation ))
4. Le système affiche un open file dialog
Page 45 sur 68
5. Le candidat choisi l'emplacement de la photo (fichier image
scanné) lettre de formation
6. Le candidat clique sur le bouton « OK »
7. Le système affiche le résultat
? Post-condition : Demande de formation
enregistrée
? Description former flle par le diagramme de séquence
système
Page 46 sur 68
4. Description textuelle du cas d'utilisation
système : Gérer Utilisateur
v' Résumé : ce cas d'utilisation
permet à l'administrateur système de gérer
les utilisateurs.
+ Acteurs :
? Principal : Administrateur
? Secondaire : Système
+ Contrat d'opération
1°) Ajouter Utilisateur
+ Responsabilité : l'Administrateur
enregistre un nouvel utilisateur du
système.
+ Référence : Cas d'utilisation
gérer utilisateur.
+ Scénario-nominal :
1. L'administrateur clique sur le menu « Administrateur
))
2. Le système affiche la page d'administration
3. L'administrateur clique sur « ajouter utilisateur ))
4. Le système déroule le formulaire « ajouter
utilisateur ))
5. L'administrateur rempli le formulaire et clique sur «
Enregistrer ))
6. Le système enregistre et affiche le résultat
+ Post-condition : Utilisateur ajouté
+ Description formelle par le diagramme de
séquence système
Page 47 sur 68
5. Description textuelle du cas d'utilisation
système : Traiter demande
y' Résumé : ce cas d'utilisation permet au chef du
service informatique de pouvoir validée la demande du candidat et ainsi
établir le permis de la formation.
+ Acteurs :
o Principal : Chef si
o Secondaire : Système
+ Contrat d'opérations :
1) Validée demande
+ Responsabilité : Le chef si valide la demande du
candidat existant
dans le système.
+ Référence : Cas d'utilisation traiter demande
+ Pré-condition :
o Le système est sous tension
o Le chef si s'est déjà authentifier +
Scénario-nominal :
1. Le chef si clique sur le menu « service informatique
»
2. Le système affiche la page des demandes de la
formation
Page 48 sur 68
3. Le chef service informatique sélectionne la
référence de la demande
4. Le chef du service informatique clique sur le bouton «
Validée ))
5. Le système affiche une fenêtre modale
6. Le chef du service informatique saisi les coordonnées
demandées et clique sur « Valider ))
? Post-condition :
o Demande validée
o Impression du permis de la formation
? Description formelle par le diagramme de séquence
système
III.3.3. Diagramme des classes participantes
Ces diagrammes préliminaires appelés : «
diagramme des classes participantes », n'ont pas pour objectif
d'être complet. Ils servent uniquement à démarrer la
découverte des classes du modèle d'analyse.
Page 49 sur 68
Classe participante du cas d'utilisation créer
compte
L'internaute pour créer son compte utilisateur doit
nécessairement passer par l'écran de création de compte
est le contrôleur portant le même nom.
Classe participante du cas d'utilisation
s'authentifier
Face à l'écran d'authentification, l'utilisateur
a la possibilité de s'authentifier dans le système via un
contrôleur utilisateur ; voici sa représentation :
Classe participante du cas d'utilisation gérer
profil
Avant de gérer son profil, l'utilisateur doit d'abord
s'authentifier,
le voici :
Après s'être authentifié en tant que
formateur de l'INPP, ce dernier a la possibilité d'en ajouter, d'en
modifier et même d'en supprimer :
Page 50 sur 68
Classe participante du cas d'utilisation : demande de
formation
Le candidat pour passer sa demande de formation doit d'abord
s'authentifier dans le système, puis accéder à
l'écran de demande de formation, voici sa représentation :
Classe participante du cas d'utilisation : Traiter demande
Après authentification par le système, le service
informatique traite la demande de formation pour la valider ou l'invalider :
Classe participante du cas d'utilisation : gérer
matière
Page 51 sur 68
Classe participante du cas d'utilisation : Gérer
utilisateurs
L'authentification dans le système de l'administrateur,
lui donne accès à l'écran principal de gestion des
utilisateurs, et ce dernier peut donc créer, réinitialiser le
password de l'utilisateur et enfin le supprimer carrément du
système.
III.4. CONCEPTION DETAILLEE
Nous arrivons maintenant à la phase ultime de
modélisation avec UML. Après la modélisation des besoins,
puis l'organisation de la structure de la solution, la conception
détaillée consiste à construire et à documenter
précisément les classes, les interfaces, les tables et les
méthodes qui constituent le codage de la solution.
III.4.1. DIAGRAMME DE SEQUENCE DETAILLEE
Ces diagrammes de séquence vont nous permettre de
décrire les scénarios des cas d'utilisation du diagramme des cas
d'utilisation.
a. diagramme de séquence détaillée
du cas d'utilisation : «créer compte»
Page 52 sur 68
Pour avoir une vue des interactions dans la réalisation du
cas d'utilisation « créer compte » ce diagramme nous permet de
voir l'ensemble d'objets concourant à la création du compte ainsi
que différentes
communications entre les couches (présentation : ici :
Ecran_Compte et : Ecran_Authentication, applicative : ici : Controleur_compteet
enfin la couche persistance représentée par Utilisateur)
b. diagramme de séquence détaillée
du cas d'utilisation : « s'authentifier »
A priori, toutes les actions que les utilisateurs posent, ils
sont obligés de s'authentifier. Ces interactions montrent d'une vue
présentative, applicative et persistance, les séquences des
communications entre les couches.
Page 53 sur 68
c. Diagramme de séquence détaillée
du cas d'utilisation : « gérer profil »
La représentation d'objets interagissant entre eux pour
qu'un utilisateur puisse gérer son profil les trois couches font leur
union pour que ce tour soit joué, en voici sa représentation :
Page 54 sur 68
Page 55 sur 68
d. Diagramme de séquence détaillée
du cas d'utilisation : « Passer demande »
Pour passer une demande de stage, ce diagramme montre les
interactions entre les différents objets de ces trois couches à
savoir : présentation, application et persistance :
Page 56 sur 68
e. Diagramme de séquence détaillée
du cas d'utilisation : « Traiter demande »
Ce diagramme nous montre dans la couche présentation
l'écran général qu'à partir du contrôleur
nous disposons d'une vue applicative qui communique avec la couche persistance
ayant des entités : Stagiaire et Demande afin que ce traitement puisse
être possible.
Page 57 sur 68
III.5. DIAGRAMME DE CLASSE DE CONCEPTION
Ce diagramme représente la description statique du
système en intégrant dans chaque classe la partie
dédiée aux données et celle consacrée aux
traitements. C'est le diagramme pivot de l'ensemble de la modélisation
d'un système.
Page 58 sur 68
III.6. MODELE LOGIQUE RELATIONNEL DE DONNEES
Le principal intérêt de modéliser les
données est de conceptualiser les processus métiers d'un logiciel
ou d'un SI. Le fonctionnement de ces processus est alors
schématisé et permet aux lecteurs de comprendre facilement et
sans connaissances poussées les interactions entre les acteurs et les
fonctionnalités du système. On procède alors à un
découpage en sous-système. Un problème complexe devient
alors une somme de petits problèmes plus facile à
résoudre.
Page 59 sur 68
CHAPITRE IV : REALISATION ET IMPLEMENTATION DE
LA SOLUTION RETENUE
IV.1. INTRODUCTION
Ce chapitre nous permettra d'implémenter la solution
obtenue sous une configuration matérielle en tenant compte de
contraintes physiques et opérationnelles. La réalisation d'une
application trois tiers se construit sur la définition des postes de
travail. Un poste de travail représente un ou plusieurs acteurs pouvant
être localisé sur une machine d'un type particulier et remplissant
une fonction identifiée dans l'entreprise. Le poste de travail ne
représente pas forcément une machine physique, mais peut
consister en plusieurs machines, à condition qu'elles donnent lieu au
même type de déploiement.
La notion de poste de travail peut cependant être
quelque peu bouleversée par la généralisation des
déploiements en client léger. En effet, au travers de la notion
de portail plusieurs applications sont potentiellement accessibles, voir
atteinte de manière transparente à l'utilisateur par des
techniques de syndication.
Cette évolution technologique nous amène
à associer la notion de poste de travail à l'ensemble des
applications web que l'on désire rendre accessibles pour un acteur
particulier du système. Les modèles de déploiement et de
configuration matérielle s'expriment tous deux à l'aide d'un
diagramme de déploiement. Cependant, ils n'expriment pas tout à
fait le même niveau de description.
IV.2 Environnement de développement de
l'application
Pour réaliser notre application, nous avons
utilisé le langage de programmation PHP dédié à la
création des applications web dynamique, celui-ci nous l'avons
manipulé dans un environnement de développement intitulé
phpStorm, qui est largement compatible avec PHP.
Par ailleurs, il faut noter que les pages écrites en
PHP sont à chaque fois testées grâce à une
plateforme de développement spécifique. La plateforme que nous
avons adoptée est WampServeur version 2.0 qui inclut tous les outils
nécessaires pour le test d'un site web dynamique à savoir le
serveur Apache version 2.4.33, MySQL version 5.7.21 et la version PhpMyadmin
4.7.9.
Page 60 sur 68
IV.2.1. WampServer
Anciennement WAMP5, wamp server est une plateforme de
développement Web de type WAMP, permettant de faire fonctionner
localement (sans se connecter à un serveur externe) des scripts PHP.
WampServer n'est pas en soi un logiciel, mais un environnement comprenant deux
serveurs (Apache et MySQL), un interpréteur de script (PHP), ainsi
qu'une administration pour les deux bases SQL PhpMyAdmin et SQLiteManager.
Il dispose d'une interface d'administration permettant de
gérer et d'administrer ses serveurs au travers d'un tray-icon
(icône près de l'horloge de Windows).
La grande nouveauté de WampServer 2 réside dans
la possibilité d'y installer et d'utiliser n'importe quelle version de
PHP, Apache ou MySQL en un clic. Ainsi, chaque développeur peut
reproduire fidèlement son serveur de production sur sa machine
locale.
IV.2.2. Le langage PHP
PHP est un langage de scripts libre principalement
utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais
pouvant également fonctionner comme n'importe quel langage
interprété de façon locale, en exécutant les
programmes en ligne de commande. PHP est un langage
Page 61 sur 68
impératif disposant depuis la version 5 de
fonctionnalités de modèle objet complètes. En raison de la
richesse de sa bibliothèque, on désigne parfois PHP comme une
plate-forme plus qu'un simple langage.
IV.2.3. Adobe Dreamweaver
Anciennement Macromedia Dreamweaver est un éditeur de
site web de type WYSIWYG. Dreamweaver fut l'un des premiers éditeurs
HTML de type tel affichage, tel résultat, mais également l'un des
premiers à intégrer un gestionnaire de site (CyberStudio
GoLive étant le premier). Ces innovations le
propulsèrent rapidement comme l'un des principaux éditeurs de
site web, aussi bien utilisable par le néophyte que par le
professionnel.
Dreamweaver offre deux modes de conception par son menu
affichage. L'utilisateur peut choisir entre un mode création permettant
d'effectuer la mise en page directement à l'aide d'outils simples,
comparables à un logiciel de traitement de texte (insertion de tableau,
d'image, etc.). Il est également possible d'afficher et de modifier
directement le code (HTML ou autre) qui compose la page. On peut passer
très facilement d'un mode d'affichage à l'autre, ou opter pour un
affichage mixte. Cette dernière option est particulièrement
intéressante pour les débutants qui, à terme, souhaitent
se familiariser avec le langage HTML.
Dreamweaver a évolué avec les technologies de
l'internet. Il offre aujourd'hui la possibilité de concevoir des
feuilles de style. Les liaisons avec des bases de données ont
également été améliorées ainsi que le
chargement des fichiers sur les serveurs d'hébergement. Il propose en
outre l'utilisation de modèles imbriqués de pages web, selon un
format propriétaire.
Depuis la version MX, il peut être utilisé avec
des langages web dynamiques (ASP, PHP) à l'aide d'outils relativement
simples d'utilisation. Il permet ainsi de développer des applications
dynamiques sans connaissance préalable des langages de programmation.
IV.2.4. MySQL
MySQL est un système de gestion de base de
données (SGBD). Selon le type d'application, sa licence est libre ou
propriétaire. Il fait partie des logiciels de gestion de base de
données les plus utilisés au monde, autant par le grand public
(applications web principalement) que par des professionnels, en concurrence
avec Oracle et Microsoft SQL Server.
MySQL est un serveur de bases de données relationnelles
SQL développé dans un souci de performances élevées
en lecture, ce qui signifie qu'il est davantage orienté vers le service
de données déjà en place que vers
Page 62 sur 68
celui de mises à jour fréquentes et fortement
sécurisées. Il est multi-thread et multi-utilisateur.
MySQL fait partie du quatuor LAMP: Linux, Apache, MySQL, PHP.
Il appartient également à ses variantes WAMP (Windows) et MAMP
(Mac).
Le couple PHP/MySQL est très utilisé par les
sites Web et proposé par la majorité des hébergeurs Web.
Plus de la moitié des sites Web fonctionnent sous Apache, qui est le
plus souvent utilisé conjointement avec PHP et MySQL.
IV.3. Diagrammes de déploiement
Un diagramme de déploiement est un diagramme UML qui
fournit une représentation graphique de la configuration physique des
éléments d'exécution de votre système.
Le diagramme de déploiement fournit une vue des noeuds
reliés par des liens de communication. Ce diagramme permet de
modéliser des noeud, des objets fichier associés aux noeuds qui
sont utilisés pour le déploiement, et les relations entre les
noeuds. Les noeuds contiennent des instances de composant qui peuvent
être déployées dans et exécuté sur des
serveurs de base de données, des serveurs d'applications ou des serveurs
Web.
Les diagrammes de déploiement sont utilisés pour
le déploiement effectif des composants sur des serveurs. Un
déploiement représente la possibilité d'utiliser des
instances sous pour établir le lien avec l'architecture physique. Il est
particulièrement approprié pour modéliser les topologies
en réseau.
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 noeuds, 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 considère plutôt chaque noeud comme un poste de
travail. Il exprime la répartition physique des fonctions métier
du système et permet de justifier la localisation des bases de
données et des environnements de travail. Le modèle de
déploiement aide à préciser la qualification des postes
client, des réseaux et de leur sécurité physique par
rapport à des critères fonctionnels.
Page 63 sur 68
Page 64 sur 68
CONCLUSION GENERALE
La gestion, la maitrise de l'information et son traitement
optimale sont des atouts considérables pour le progrès d'une
entreprise. Avec l'accroissement considérable des lettrés et la
multiplicité dans la diversité des candidats dans les murs de
l'INPP, le nombre d'informations à traiter, à manipuler dans la
gestion des formations devient de plus en plus complexes. Cela exige donc des
outils adéquats et adaptés afin de gérer au mieux cet
afflux. Ainsi, nous voici arrivé au terme de notre travail de fin
d'étude à l'institut supérieur de statistique de
Lubumbashi, dont l'objet était celui de concevoir une application web de
gestion des candidats.
En effet, pour remédier aux différentes
difficultés, nous avons procédés aux différentes
démarches de l'informatisation, en ayant connaissance de l'existant du
système en usage et des solutions ont étés
proposées après avoir décelé toutes les anomalies
constatées. Pour ce faire nous nous résumons pour dire que dans
le premier chapitre, nous avions expliqués les différents
concepts de base considérée dans l'élaboration de notre
travail et différents travaux antérieurs en rapport avec notre
sujet. Le deuxième nous a permis de parler premièrement de la
présentation du cadre d'étude, ensuite de l'étude du
système existant, de le critiquer et proposer des pistes de solution.
Via le troisième chapitre, la description de l'analyse et la conception
du système informatique, la conception détaillée, les
caractéristiques sécuritaires de la solution ainsi que la
réalisation de l'application en faisant la mise en oeuvre de
l'architecture, l'implémentation ainsi que le déploiement du
futur système nous a conduit tout droit vers le dernier chapitre qui
s'achève par la présentation de l'application conçue dans
un langage que le web comprend.
Eût égard à notre préoccupation
majeure soulevée plus haut dans la partie introductive de ce travail,
nous osons croire que cette application web confirme bel et bien notre
hypothèse.
En fin, nous restons ouverts à toutes les critiques
objectives que tout chercheur devra bien nous adresser après la lecture
de ce travail. Voilà d'une manière générale, la
quintessence de l'étude que nous avons menée.
Page 65 sur 68
BIBLIOGRAPHIQUE
I. OUVRAGES
1. Bestmomo, « Prenez en main Bootstrap »,
openclassrooms, 2014 ;
2. Chevalier J., « organisation, administration des
entreprises », Dunod Paris ;
3. P. Rocques & F. Vallée, « UML 2 en action,
de l'analyse des besoins à la conception », éd. EYROLLES,
2007.
4. MULUMBATI, N., « Manuel de sociologie
générale », Lubumbashi, Ed. Afrique ;
5. Philibert, Benoît, « Bootstrap 3: le framework
100 % web design », Ed. EYROLLES,2015.
6. Marcous BINDUNGWA.I <<comment élaborer un
travail de fin de cycle>> Ed.kin 2007
7. Vignoles PATRICK, Cité par MPALA MBABULA,
dans pour vous chercher, directive pour rédiger
un travail scientifique, Lubumbashi, Ed. Mpala, 2001, p. 36-37
8. MERLIN P, Tourisme et aménagement touristique
documentation, Paris 2001, P 75
9. L. VON BERTALANFFY, «théorie
générale des systèmes» Dunod, Paris 1991(1ère
Edition Bordas, Paris 1973).
10. Joël de Rosnay, « Le Macroscope », Ed du
Seuil 1977 et Jacques Lapointe, Université LAVAL 1998.
11. Henry Roux de Bezieux, « Présentation des outils
systémiques à partir du récit d'un projet en
Préfecture », Mais 2004.
II. NOTE DE COURS
1. Elie Louis KABWE K., « méthodes
de conduite des projets informatiques », support de cours, L2 Info, ISS,
2017-2018.
2. MUNDA JACQUES, cours de questions
spéciales de conception de système d'information, ISS/L2 CSI
2017-2018
III. TRAVAUX DE FIN D'ETUDES ET DE FIN D'ETUDE
1. HAMMIOUI AYMANE KHALDI MOHAMMED, « Application Web pour
La Gestion Des Stagiaires dans un centre de formation de création de
sites et des applications web », Projet de fin d'études, L2
Génie Informatique, 2015-2016.
2. ED-DAHMOUNI Bouthayna « Conception et
réalisation d'une application pour la gestion des stagiaires»,
Projet de Fin d'Etudes Licence Sciences et Techniques Génie
informatique, 2012-2013
Page 66 sur 68
TABLE DE MATIERES
INTRODUCTION GENERALE 1
I. GENERALITES 1
II. CHOIX ET INTERET DU SUJET 2
A. CHOIX DU SUJET 2
B. INTERET DU SUJET 2
III. ETAT DE LA QUESTION 3
IV. PROBLEMATIQUE ET HYPOTHESE 5
a. PROBLEMATIQUE 5
b. HYPOTHESE 6
V. METHODES ET TECHNIQUES DE LA RECHERCHE
7
1. METHODES 7
2. TECHNIQUES DE LA RECHERCHE 9
VI. DELIMITATION DE SUJET 10
VII. SUBDIVISION DU TRAVAIL 10
CHAPITRE I : DEFINITION DES CONCEPTS ET
CONSIDERATIONS THEORIQUES 10
1. Introduction 10
2. Cadre conceptuel 11
2.1. Définitions de concept du domaine
d'étude 11
2.2. Définition de concepts de l'informatique
11
3. CONSIDERATION THEORIQUE 13
3.1. La méthode systémique ou
l'approche systémique 13
3.1. L'architecture bidirectionnelle 18
4. Langage de modélisation UML 19
4.1. Définition et Historique de UML 19
4.2. Présentation générale des
diagrammes UML2 21
5. LANGAGE DE PROGRAMMATION 24
1. LANGAGE INFORMATIQUE 24
2. LES CONCEPTS RESEAU 25
CHAPITRE II. ETUDE DE L'EXISTANT 27
II.1. INTRODUCTION 27
Page 67 sur 68
II.1.1. PRESENTATION DE L'INSTITUT NATIONAL DE PREPARATION
PROFESSIONNEL (INPP) 27
II.1.2. Historique et la création de l'INPP/haut Katanga
27
II.1.3. SITUATION GEOGRAPHIQUE DE L'INPP/HAUT KATANGA 28
II.1.4. SIEGE ADMINISTRATIF DE L'INPP 28
II.1.5. STATUT JURIDIQUE 29
II.1.6. STRICTURE 29
II.1.7. OBJECTIF DE L'INPP 29
II.1.8. RESSOURCES 29
II.1.9. FONCTIONNEMENT DU SERVICE C.A.I 30
II.2. ANALYSE DU METIER 33
II.2.1. DESCRIPTION DU METIER 33
II.2.2. DESCRIPTION TEXTUELLE DU PROCESSUS METIER 33
II.2.3. PERIMETRE ET IDENTIFICATION DES ACTEURS 34
II.2.4. DIAGRAMME DE CONTEXTE METIER 35
II.3. ANALYSE FONCTIONNELLE DU METIER 35
a. Diagramme de cas d'utilisation métier 35
II.4. DIAGRAMME D'ACTIVITE 36
a. Diagramme d'activité : Processus demande de formation
36
II.5. MODELE DE CLASSES DU DOMAINE 38
CHAPITRE III : CONCEPTION D'UN SYSTEME INFORMATIQUE
39
III.1. INTRODUCTION 39
III.2. INGENIERIE DES EXIGENCES 39
III.2.1. CAPTURE DES EXIGENCES 39
III.2.2. CAPTURE DES BESOINS DU SYSTEME INFORMATIQUE
40
III.3. ANALYSE DU SYSTEME INFORMATIQUE 40
III.3.1. Présentation du digramme de cas d'utilisation de
conception 40
III.3.2. DESCRIPTION TEXTUELLE DES CAS D'UTILISATIONS
42
III.3.3. Diagramme des classes participantes 48
III.4. CONCEPTION DETAILLEE 51
III.4.1. DIAGRAMME DE SEQUENCE DETAILLEE 51
III.5. DIAGRAMME DE CLASSE DE CONCEPTION 57
III.6. MODELE LOGIQUE RELATIONNEL DE DONNEES 58
CHAPITRE IV : REALISATION ET IMPLEMENTATION DE LA SOLUTION
RETENUE 59
Page 68 sur 68
IV.1. INTRODUCTION 59
IV.2 Environnement de développement de l'application 59
IV.2.1. WampServer 60
IV.2.2. Le langage PHP 60
IV.2.3. Adobe Dreamweaver 61
IV.2.4. MySQL 61
IV.3. Diagrammes de déploiement 62
CONCLUSION GENERALE 64
BIBLIOGRAPHIQUE 65
TABLE DE MATIERES 66
|