MEMOIRE DE FIN DE CYCLE
Pour l'obtention du :
DIPLOME SUPERIEUR DE TECHNOLOGIE EN INFORMATIQUE
(DSTI)
Année universitaire : 2012 - 2013
REPUBLIQUE DU SENEGAL
***** * * ********
UNIVERSITE CHEIKH ANTA DIOP DE DAKAR
ECOLE SUPERIEURE POLYTECHNIQUE
DEPARTEMENT GENIE INFORMATIQUE
SUJET :
Mise en place d'un outil d'archivage de mémoires
de fin de cycle et de bulletins de notes pour le Département
Génie Informatique.
|
Lieu de stage : Département
Génie Informatique Période stage : 05/2013 - 07/2013
Présenté et soutenu par Enseignant
encadreur Maitre de stage
Moustapha MBOW Mr Gervais MENDY
Mr Boubacar FATY
REPUBLIQUE DU SENEGAL
***** * * ********
UNIVERSITE CHEIKH ANTA DIOP DE DAKAR
ECOLE SUPERIEURE POLYTECHNIQUE
DEPARTEMENT GENIE INFORMATIQUE
MEMOIRE DE FIN DE CYCLE
Pour l'obtention du :
DIPLOME SUPERIEUR DE TECHNOLOGIE EN INFORMATIQUE
(DSTI)
SUJET :
Mise en place d'un outil d'archivage de mémoires
de fin de cycle et de bulletins de notes pour le Département
Génie Informatique.
Lieu de stage :
Département Génie Informatique Période stage
: 05/2013 - 07/2013
Présenté et soutenu par Enseignant
encadreur Maitre de stage
Moustapha MBOW Mr Gervais MENDY
Mr Boubacar FATY
|
|
Année universitaire : 2012- 2013
|
DEDICACES
Je dédie ce mémoire :
A mon père Abdoulaye MBOW et
A ma maman Marame Sarré
A mes frères et soeurs et plus particulièrement
à Mbaye MBOW que je nomme
« Boy » alors Boy DIEUREUDIEUF
A tous les DST2 de ma promotion
A tous mes amis et à tous ceux qui de prés ou de
loin m'ont soutenu
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 4
REMERCIEMENTS
Remerciements :
Tout d'abord je remercie ALLAH le Très
Miséricorde qui m'a donné vie, santé et force de mener ce
combat qui arrive à terme et je dis Alhamdoulilah d'avoir
surmonté les épreuves auxquelles j'ai rencontrées car ce
fut une année dur. Je tiens à remercier aussi son Prophète
Mohamed (PSL) de m'avoir guidé vers le bon chemin.
Et c'est à partir de la force de certaines personnes
que ma force a tiré sa source ; et je ne saurais remercier tous ces gens
qui m'ont aidé, conseillé et soutenu. Je prie DIEU pour qu'il les
bénisse tous AMIN... Et je ne pourrais encore cesser de remercier mes
parents mes frères et soeurs (particulièrement à Mbaye
MBOW mon ami mon frère à qui je dis «
Dieureudieuf dieureudieuf YALLA nala Bour YALLA faay sa khol bou rafète
pour tout le soutien qu'il m'a apporté. Un grand merci que Dieu
t'accorde le salut et longue vie ») qui se font tout le temps du souci
pour moi ainsi que toute la famille je vous dis GRAND MERCI et j'espère
que ce modeste travail vous prouvera que vos efforts n'ont pas
été en vains et souhaite qu'il soit le signe de ma profonde
gratitude envers vous.
J'adresse aussi mes remerciements les plus chaleureux à
tout le corps professoral du département Génie Informatique et
particulièrement :
Mr Sidi Mouhamed FARSSI notre chef de
Département
Mme Keita notre Responsable de classe
Mr Boubacar FATY mon maitre de Stage
Mr Gervais MENDY mon Encadreur
Et je ne pourrais pas terminer sans pour autant remercier mes
camarades de classe. Ce fut une classe qui restera à jamais graver dans
ma mémoire et Merci encore d'avoir partager avec moi ces deux
années des moins faciles.
Je remercie toutes les personnes qui de prés ou de
loin, et qui ont contribués à la réalisation de ce
document.
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 5
AVANT-PROPOS
Avant - Propos :
L'Ecole Supérieure Polytechnique de l'Université
Cheikh Anta Diop de Dakar forme des Techniciens supérieurs et des
ingénieurs dans les Départements suivants :
· Génie Informatique
· Génie Mécanique
· Génie Civil
· Génie Electrique
· Génie Chimique
· Gestion
L'option Informatique est offerte par le Département
Génie Informatique et sanctionnée par un Diplôme
Supérieur de Technologie (DST) ou un Diplôme Universitaire de
Technologue (DUT) en Informatique qui dure deux (2) ans pour le premier Cycle.
Avec cette option, on peut en profiter d'autres diplômes comme Licence ou
Master. A la fin de la formation, les étudiants doivent faire un stage
d'une durée bien déterminée par rapport du cycle qu'ils
fassent afin de rédiger un mémoire de fin de cycle portant sur un
sujet permettant de résoudre un ou plusieurs problèmes d'ordre
technique en entreprise. En effet, le stage permettra aux étudiants :
- De renforcer leur savoir et surtout d'acquérir un
savoir-faire, tout en essayant d'adapter leurs connaissances aux cadres de la
vie professionnelle qui leur est pour la plupart inconnu.
- De concevoir une application et de mener à bien
l'élaboration de celle-ci depuis l'étude préalable
jusqu'à sa mise en exploitation. Enfin, l'étudiant doit
présenter ce mémoire devant un jury.
A cet effet, j'ai effectué mon stage de fin de cycle au
Département Génie Informatique (DGI)
de l'Ecole Supérieure Polytechnique de Dakar.
Ecole Supérieure Polytechnique (ESP) de
Dakar
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 6
Table des matières
Sommaire
Remerciements : 5
Avant - Propos : 6
Sigles et abréviations : 9
Table des figures : 10
Introduction : 11
Chapitre I: PRESENTATION GENERALE
I. Présentation du lieu de Stage 12
I.1. Présentation du lieu de Stage :
12
I.2. Mission du département : 12
II. Présentation du projet : 13
II.1. Qu'est ce que l'archivage [1] 13
II.2. Pourquoi archiver [2] 14
II.3. Comment archiver 14
II.4. Enjeux de l'archivage
14
Chapitre II : ETUDE PREALABLE
I. Etude de l'existant: 16
I.1. Contexte : 16
I.2. Critique : 17
II. Analyse des besoins : 17
II.1. Analyse fonctionnelle : 18
II.2. Démarche : 19
II.2.1. Le langage UML [3] 19
II.2.2. Description de quelques Diagrammes :
20
Chapitre III : ETUDE DETAILLEE
I. Diagramme de cas d'utilisation : 23
II. Diagramme de Séquences : 25
III. Diagramme de Classe : 31
III.1. Identification des classes 31
III.2. Diagramme de classe 32
Chapitre IV : PROPOSITION DE LA SOLUTION
I. Architecture de la Solution : 33
II. Les Outils et Technologie : 34
II.1. Langage de programmation 34
II.1.1. HTML [4] 34
II.1.2. CSS [5] 34
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 7
II.1.3. PHP [6] 34
II.1.4. JavaScript : 34
II.2. Les Outils 35
II.2.1. Serveur Web Apache [7] 37
II.2.2. Serveur MySQL 37
II.2.3. Serveur proftpd [8]
37
Chapitre V : PRESENTATION DE L'APPLICATION
Conclusion : 44
Bibliographie : 45
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 8
Sigles et Abréviations
Sigles et abréviations :
Nous présentons ici certains sigles et abréviations
que nous utiliserons dans le document.
AN
|
Definitions
|
DGI
|
Department Genie
Informatique
|
UML
|
Unified Modeling
Language
|
OMG
|
Object Management
Group
|
OOSE
|
Object Oriented
Software Engineering
|
MOT
|
Modèle Organisationnel
des Traitements
|
HTML
|
HyperText
Markup Language
|
MOF
|
Meta Object
Facility
|
CSS
|
Cascading Style
Sheets
|
XML
|
eXtensible Markup
Language
|
PHP
|
Personal Home
Page
|
SGBD
|
Système de Gestion de
Base de Données
|
WWW
|
World Wide
Web
|
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 9
Table des figures
Table des figures :
Figure 1 : Diagramme de cas d'utilisation pour le Service du
responsable 24
Figure 2 : Diagramme de cas d'utilisation pour le Service de
l'Etudiant 25
Figure 3 : Diagramme de Séquence pour « Ouvrir une
Session » 27
Figure 4 : Diagramme de Séquence du Responsable pour le
Cas « Ajouter_Document » 28
Figure 5 : Diagramme Séquence de l'Etudiant pour le Cas
« Consulter_Document » 29
Figure 6 : Diagramme de séquence cas «
rechercher_document » 30
Figure 7 : Diagramme de séquence Cas «
Télécharger » 31
Figure 8 : Diagramme de Classe 32
Figure 9 : Schéma de la solution 33
Figure 10 : Menu connexion 40
Figure 11 : Menu Principal des Responsables 40
Figure 12 : Menu Principal étudiant 41
Figure 13 : Formulaire pour ajouter un Mémoire 41
Figure 14 : Formulaire pour ajouter un Bulletin 42
Figure 15 : Formulaire de recherche de Mémoire 42
Figure 16 : Recherche de Bulletin 43
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 10
INTRODUCTION
Introduction :
Le Département Génie Informatique reçoit
des centaines d'étudiants chaque année dont chacun d'entre eux
doit avoir des bulletins de notes et mémoires de fin de cycle. Ainsi,
pour la maitrise de ces données qui ne cessent de s'accroître
toutes les années, l'outil informatique devient un élément
presque indispensable.
De ce fait, le Département Génie Informatique,
pour contenir la masse de ses données et pour optimiser aussi le temps
pour une meilleure gestion des tâches, opte pour la solution logicielle.
C'est dans ce cadre que nous avons effectuer un stage prévu pour dix
semaines au Département Génie Informatique (DGI) de l'Ecole
Supérieure Polytechnique (ESP) de Dakar pour la réalisation d'une
application de gestion d'archivage des mémoires de fin de cycle et des
bulletins de notes.
Ainsi, dans le premier chapitre, une présentation de la
structure d'accueil et du projet a été faite. Dans le second
chapitre, nous avons fait une étude préalable avant d'entamer
l'étude détaillée du chapitre trois. Au niveau du chapitre
quatre, nous avons vous proposé une solution. Et enfin dans le dernier
chapitre, c'est la présentation de l'application.
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 11
CHAPITRE 1
PRESENTATION GENERALE
I. Présentation du lieu de Stage
I.1. Présentation du lieu de Stage :
Le DGI est l'un des six départements de l'Ecole
Supérieure Polytechnique de Dakar (ESP-
Dakar) qui forme des ingénieurs, des techniciens
supérieurs et des masters dans les spécialités suivantes:
informatique, télé informatique et télécoms
réseaux. Le département Génie Informatique de l'Ecole
Supérieure Polytechnique vise à ce que les étudiants
sortant des ses cycles de formation soient capables de participer à la
conception, à la réalisation et à la mise en ouvre de
systèmes informatiques correspondant aux besoins des utilisateurs et
à l'environnement économique et industriel actuel.
Il possède deux cycles de formations que sont le
premier cycle et le second cycle composé chacun de deux formations
(formation initiales et formation continue) :
? Formation initiale :
Le département Génie Informatique excelle par la
qualité de ses étudiants formés. Chaque année, ce
sont des lauréats prêts à affronter les difficultés
et les défis de la vie professionnelle qui sortent des
différentes formations du département. Ils répondent aux
nouvelles prérogatives de l'enseignement au XXIème siècle,
tout en gardant un regard authentique sur l'avenir du Sénégal et
sa place dans l'Afrique
Avec ses Deux Formations en Informatique et en
Télécoms, le département Génie Informatique a pour
mission la formation d'ingénieurs de conception, de Master, licence
professionnelle et de Technicien supérieur aptes à
répondre aux besoins du marché national dans ce domaine et
à suivre l'évolution et le développement prodigieux que
connait ces disciplines.
La vocation de l'ingénieur et le technicien du
département est de pouvoir intervenir dans tous les domaines et
spécialisations de l'informatique ou de
télécommunications.
? Formation continue :
Le département est bien placé pour satisfaire
l'attente des entreprises et de répondre à leurs besoins.
Conscients de son rôle dans la contribution à la mise à
niveau des entreprises, le département a mobilisé ses
potentialités tant humaines que matérielles et propose au monde
de l'entreprise des modules de formation continue ayant pour objectif
l'amélioration de la productivité des entreprises.
La formation continue proposée par le
département répond au problème crucial de la mise
à
jour des connaissances du personnel des entreprises avec
acuité dans tous les domaines permettant la compétitivité
de l'entreprise.
I.2. Mission du département :
Le département génie informatique à pour
mission de :
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 12
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 13
? mener des activités de recherche dans les domaines
susmentionnés visant au perfectionnement permanent, à
l'adaptation et à la participation à l'évolution
scientifique et technologique ;
? procéder à des expertises dans le cadre de la
formation à l'intention des entreprises publiques et privées.
Les programmes des différentes formations sont
élaborés en fonction des besoins de formation exprimés par
les entreprises et le monde professionnel. Ils sont adaptés à
l'évolution de la technologie de manière à donner à
l'étudiant des compétences aussi bien théoriques que
pratiques. Ils sont restructurés conformément au système
LMD avec une organisation des formations en semestres et en unités
d'enseignement (UE) capitalisables.
II. Présentation du projet :
Le département génie informatique a besoin de
mettre en place un système d'archivage pour sauvegarder les
mémoires et bulletins de notes des étudiants. C'est dans ce cadre
qu'on nous a confié ce travail. Ainsi, le travail qu'on doit faire
consiste à déployer une application en faisant une analyse
conceptuelle puis en rajoutant les modules manquants. Cependant, le
département avait déjà mis en place quelques pages
concernant certaines formations dans lesquelles il a crée leurs
répertoires de mémoire de fin de cycle et de relevé de
notes. Les pages pour les formulaires de bulletin et de mémoire
étaient aussi disponibles pour les formations déjà
codées. Maintenant, nous allons compléter avec les formations qui
ne sont pas encore mises dans l'application, les répertoires (de
relevé de note et de bulletin de fin de cycle), les moteurs de recherche
(rechercher bulletin de note ou mémoire de fin de cycle) enfin de mettre
en place un serveur de fichier relié au serveur de base de
données. Cependant, on entend par gestion d'archivage, le domaine de la
gestion des documents (des mémoires de fin de cycle et des
relevés de notes) qui permet la mise en ligne de ces derniers, et la
mise à disposition des documents aux étudiants. L'application
doit permettre aux acteurs (chef de département, la secrétaire ou
les enseignants) de mettre en ligne et/ou rechercher des mémoires des
étudiants des différentes Classes Terminales (Dut2, Dsti2, Dstt2,
Dsttr2, Dic2, Dic3, Master TR, Master GLSI etc.) et les bulletins des
différentes classes (premier et second semestre) de chaque année.
Pour utiliser cette application, il faut avoir l'un des profils (responsable ou
étudiant). Cette application doit intégrer l'ensemble des
formations du département génie informatique et les
différentes classes qui les composent. Pour les étudiants,
l'outil doit leur permettre de mieux préparer les mémoires de fin
de cycle avec la disponibilité des anciens mémoires comme
support. Ils peuvent aussi consulter et télécharger facilement
des mémoires de fin de cycle. Cependant, les étudiants n'ont pas
accès aux relevés de notes.
II.1. Qu'est ce que l'archivage [1]
L'archivage c'est une démarche d'organisation qui a
pour objectif de sauvegarder et de conserver, d'identifier, de mettre en
sécurité et de maintenir disponibles l'ensemble des documents qui
engagent une entreprise ou un organisme vis-à-vis de tiers ou de son
activité future et dont le défaut représenterait un
risque. Ainsi, l'archivage est plus que la sauvegarde,
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 14
plus que la gestion des archives. Aujourd'hui, pour archiver
les documents, l'utilisation d'un support électronique est beaucoup plus
sécurisée. C'est pourquoi les grandes structures ont recours
à l'archivage électronique pour diminuer les problèmes de
la conservation des documents.
La sauvegarde est une opération liée à
l'environnement électronique qui permet la duplication des
données à l'identique. Du fait de la définition
très large du mot archives, l'expression « gestion des archives
» renvoie à la fois à une partie de la notion de «
recordkeeping » (c'est-à-dire de conservation des documents
archivés dans l'intérêt des services producteurs). Ainsi,
définir ce que sont les archives est un préalable indispensable
à toute réflexion en matière d'archivage. Cela doit
permettre de définir le périmètre du projet : quels
documents archiver, pourquoi, comment archiver et en fin les enjeux de
l`archivage.
II.2. Pourquoi archiver
L'archivage est souvent considéré par les
entreprises comme une contrainte à laquelle elles ne
peuvent pas échapper. Ainsi, on archive parce qu'on a :
? une croissance exponentielle des volumes de documents à
gérer
? la cohabitation de plusieurs systèmes d'information
? une recherche beaucoup plus rapide avec les différentes
techniques de recherche
La finalité de l'outil d'archivage est de garantir
l'existence et l'accessibilité des documents, leur authenticité,
leur intégrité et leur exploitation. Cependant, avec
l'application, la durée de vie des documents reste beaucoup plus
importante. Les documents stockés ne changent jamais au niveau de la
forme, du style, des indices de provenance.
II.3. Comment archiver
Devant la complexité actuelle, il est important
d'appliquer certaines règles fondamentales
pour assurer la mise en oeuvre d'un système d'archivage
performant. Une entreprise doit
archiver, c'est une nécessité et une obligation
légale. Mais comment bien archiver ? Ainsi
pour se faire, il y a de nombreuses interrogations.
L'efficacité d'une solution d'archivage
repose notamment sur la prise en compte des questions suivantes
:
- Archiver des documents, mais lesquels ?
- Sur quel support (papier ou électronique/application)
- Pendant combien de temps ?
- Pour quels utilisateurs ?
- Comment faciliter leur exploitation ?
- Quelles sont les spécificités ?
II.4. Enjeux de l'archivage
Bien plus qu'une simple contrainte légale, l'archivage
de documents répond à des enjeux essentiels et peut apporter une
réelle valeur ajoutée à une organisation.
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 15
Ainsi, archiver c'est respecter les obligations en conservant
les documents pendant toute la durée d'archivage légale maitriser
les risques et préserver la pérennité (caractère de
ce qui dure toujours) des activités. Cependant, comme le DGI est une
grande structure comportant une quantité importante de documents
(diplôme, attestation, mémoire de fin de cycle, bulletin de notes,
etc.) doit les stocker avec sécurité.
CHAPITRE 2
ETUDE PREALABLE
Pour mieux placer l'application dans son contexte, nous allons
étudier dans un premier temps ce qui existe aujourd'hui comme
méthode d'archivage au niveau du département avant d'apporter de
solutions.
I. Etude de l'existant:
I.1. Contexte :
Le Département Génie Informatique de l'ESP se
compose d'un personnel enseignant chercheur, d'administration et technique, et
des étudiants inscrits dans différentes filaires de formation.
En effet, jusqu'à nos jours, toutes les données
du DGI, c'est-à-dire les documents de l'administration et des
étudiants, sont enregistrées sur des machines locales ou sous des
formats papiers qui sont archivés dans des armoires. Il n'existe
pratiquement pas une technique centralisée et moderne d'archivage des
documents comme par exemple les bulletins des anciens étudiants.
Aujourd'hui, la méthode utilisée est l'archivage sur la machine
du secrétariat.
Cette machine peut être accessible à tout le
personnel enseignant et technique. Les bulletins sont des fichiers Word ou
Excel de sorte que si un étudiant demande une copie, la
secrétaire ou le responsable des archives effectue une recherche de tous
les fichiers de format Word ou Excel suivant des critères de recherche
ce qui prend beaucoup de temps. Souvent le responsable des archives sauvegarde
les documents sur des cdroms pour éventuellement éviter de tout
perdre après une panne de la machine du secrétariat.
Cette technique fait l'objet d'un certain nombre de
problèmes tels que la perte ou même la difficulté
d'accéder aux données. Parmi ces problèmes nous pouvons
citer :
V' Panne de l'unité centrale de la machine
locale
V' Crash du disque dur
V' Encombrement des lieux
V' Mauvaise qualité des supports de stockage (CD,
DVD, etc.).
Ainsi, ces types d'archivage (disques-durs (interne ou
externe), armoires, cdroms...) sont presque révolus et peuvent aboutir
un jour ou l'autre à une non- disponibilité de l'information
(c'est à dire ne pas pouvoir retrouver le document). Ainsi cette
méthode pousse aujourd'hui l'administration de mettre en place des
outils beaucoup plus performants permettant d'effectuer des sauvegardes plus
sécurisées. Les causes de la non-disponibilité sont
diverses. Les plus courantes sont :
- le document a été archivé mais s'est
perdu
- il a été archivé mais reste
introuvable
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 16
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 17
- il a été détruit par la poussière,
etc.
Les principales conséquences de la
non-disponibilité d'un document sont une sanction administrative, des
dépenses palliatives (mesures insuffisantes) à la suite de la
disparition de documents techniques, l'impact moral (dégradation de
l'image du Département Génie Informatique).
I.2. Critique :
Dans le courant de l'étude, on a constaté une
certaine faiblesse dans le système actuel (système manuel).
Le manque d'un système de gestion automatisée
des documents est à l'origine certains problèmes tels que :
? le stockage des données (bulletins et mémoires
de fin de cycle) des anciens étudiants : les moyens d'archivage
existants au niveau du département ne sont pas totalement
sécurisés. Les données sont stockées sur des
machines locales ou sur des formats papiers. Ce type d'archivage sur des
papiers posera un problème après une longue période faute
d'espaces. La consultation ou la recherche des documents deviendra beaucoup
plus difficile voire impossible, ceci entraînera parfois une perte de
certains documents à la longue.
? La recherche qui s'applique au traitement de masses de
données (mémoires ou bulletins de notes) peut prendre
énormément de temps (recherche séquentielle de
données)
? Gestion des espaces de stockage : il n'existe presque pas
d'espace pour stocker les documents administratifs de mauvaises conditions
environnementales de stockage, des conditionnements en mauvais état, et
dans certains cas, la présence d'éléments chimiques
résiduels liés à la phase de développement ou
l'utilisation de produits de développement usagés.
? La mauvaise qualité des supports cd ou dvd : Les CD
et les DVD sont des disques optiques numériques employés pour la
sauvegarde et le stockage de données. Mais aujourd'hui on a
rencontré de nombreux problèmes de conservation des
données sur ces types de supports. Les problèmes les plus
fréquents sur ces supports sont :
- les données restent introuvables à cause de la
poussière (CD ou DVD)
- les espaces des supports sont très réduits. C'est
la raison pour laquelle ils ne peuvent pas prendre certaines masses de
donnée
- on risque de perdre certaines données au cours de
plusieurs utilisations de supports (CD ou DVD)
- etc.
La perte de documents (mémoires de fin de cycle,
bulletins ou attestations de passage étudiants) des anciens est un
aspect fréquent dont sa résolution est de mettre en place un
outil d'archivage automatique.
Ainsi l'outil d'archivage que nous allons mettre en place va
permettre d'effectuer une gestion centralisée et automatisée de
ce système d'archivage. Cet outil garantit l'existence et
l'accessibilité des documents.
II. Analyse des besoins :
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 18
II.1. Analyse fonctionnelle :
Comme nous l'avons vu, dans ce projet, nous allons
déployer une application. Alors pour se faire, nous avons besoin de
savoir quelles sont les différentes fonctionnalités du
système à étudier, quels sont les futurs utilisateurs et
de définir les différentes interactions entre ces
utilisateurs.
L'application doit permettre au responsable des archives de
pouvoir stocker les documents tels que les mémoires de fin de cycle des
étudiants de Classes Terminales et les bulletins (premier et second
semestre) des différentes classes suivant les années.
L'outil permettra à l'administration de sauvegarder les
documents pédagogiques (mémoires et bulletins) mais aussi un
accès facile à ces documents. Pour une année
académique, les mémoires de fin de cycle sont sauvegardés
par classe terminale ; les bulletins quant à eux sont classés
suivants le semestre et par classe.
Les acteurs sont tous les individus qui vont être
amenés à intervenir dans le projet.
En principe, nous allons définir les rôles et
responsabilités de chacun des acteurs.
Dans notre système nous notons deux acteurs principaux
nommés « Responsable » et « Etudiant »
a. Le responsable :
L'outil doit avoir une interface d'authentification par
laquelle le Responsable et/ou l'Étudiant doit s'identifier en mettant
son Login et son mot de passe. Après se connecter, l'archiviste a les
différentes classes terminales et il doit pouvoir faire ses
différentes activités (Se connecter, Ajouter, Consulter ou
Rechercher). La description de ces différentes taches ont appelé
ci-dessus :
? Se connecter: elle permet aux utilisateurs de pouvoir se
connecter au système ; ils
doivent fournir un login et un mot de passe pour tous les
étudiants et pour le
responsable
? Ajouter un document : l'ajout permet au responsable de mettre
un document en ligne.
Alors pour ajouter un document, après avoir
sélectionner la classe et l'année, on
remplit les champs correspondant aux références
des documents. Ainsi un document
peut être un mémoire de cycle ou un bulletin de
notes.
? Rechercher un document : La recherche permet aux utilisateurs
de trouver un
document rapidement. Ainsi on peut rechercher un document de
différentes
manières que sont :
? Pour les mémoires, on peut faire des recherches par :
- Libelle (un mot clef de la recherche) ou bien
- Nom de l'étudiant
? Pour les bulletins, là aussi on peut faire des
recherches par :
- Année
- Classe
- Semestre
Ainsi pour rechercher une donnée, il suffit juste de se
connecter à l'application puis cliquer sur un lien « rechercher un
bulletin » ou « rechercher un mémoire de fin de cycle
».
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 19
b. Les étudiants :
Les étudiants peuvent aussi utiliser l'outil comme le
responsable. Mais à la différence, ils ne peuvent que consulter
ou télécharger des mémoires de fin de cycle. Ainsi, ils
doivent posséder avec un compte d'utilisateur (Login et mot de passe)
pour pouvoir accéder et consulter les mémoires des autres
étudiants. La consultation et le téléchargement se font
comme suit : ? Se connecter: elle permet aux utilisateurs (étudiant ou
responsable) de pouvoir se connecter au système ; ils doivent fournir un
login et un mot de passe pour chaque profil
? Consulter Document : il permet aux étudiants de
pouvoir lire un document tel qu'un mémoire. Ainsi pour consulter un
document il faut d'abord se connecter, sélectionner la classe terminale
et l'année pour être en contact avec la liste des
mémoires
? Télécharger Document : il permet aux
étudiants de pouvoir télécharger un mémoire ;
Ainsi, avant de faire un téléchargement on doit
consulter forcément le document.
II.2. Démarche :
Pour la conception l'outil d'archivage de documents
pédagogiques (mémoires ou bulletin de notes) du DGI, nous allons
utiliser le langage UML. Ainsi, l'utilisation de ce s'accentue beaucoup par le
fait que ce langage s'est appris dans un cadre pédagogique avec
suffisamment de temps pour la maitriser.
II.2.1. Le langage UML : [2]
Le langage UML (Unified Modeling Language) est un langage de
modélisation orienté objet officiellement approuvé en 1997
par l'OMG (Object Management Group).
UML unifie des méthodes de conception logicielle
orientées objet - telles que Booch, OMT et OOSE qui coexistaient jusque
là sans beaucoup de compatibilité entre elles. Il les rassemble
non pas en en proposant une synthèse, mais en créant un "langage
de modélisation", c'est-à-dire une notation unique pour faciliter
la conception de programmes.
UML modélise les objets et leurs liens, au moyen de
vues graphiques que l'on appelle des diagrammes.
Les objets et leurs liens étant déjà des
représentations, on peut d'ailleurs dire qu'UML est défini par un
méta-modèle.
Le méta-modèle d'UML décrit de
manière très précise tous les éléments de
modélisation (les concepts véhiculés et manipulés
par le langage) et la sémantique de ces éléments (leur
définition et le sens de leur utilisation).
Un méta-modèle permet de limiter les
ambiguïtés et encourage la construction d'outils. Il permet aussi
de classer les différents concepts du langage (selon leur niveau
d'abstraction ou leur domaine d'application) et expose ainsi clairement sa
structure. On peut noter que le méta-modèle d'UML est
lui-même décrit par un méta-méta-modèle de
manière standardisée, à l'aide de la norme MOF (Meta
Object Facility) : norme OMG de description des méta-modèles.
Par ailleurs le langage UML dispose de treize types de
diagrammes différents. On distingue :
·
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 20
les vues statiques qui représentent "physiquement" le
système au moyen de diagrammes d'objets, de classes, de composants et de
déploiement
· les vues dynamiques qui montrent comment fonctionne le
système au moyen de diagrammes de séquence, de collaboration,
d'états-transitions, de cas d'utilisation et d'activité.
· les vues relatives à l'organisation des
différents modules du programme, à savoir des diagrammes de
packages, de sous-systèmes et de modèles.
A noter que le "cas d'utilisation" que nous venons de citer
dans la deuxième catégorie est un composant central d'UML. Il
permet en effet d'exprimer les besoins fonctionnels d'une unique
catégorie d'utilisateurs et, de ce fait, de coller au plus près
des besoins "métiers" d'utilisateurs clairement identifiés.
UML est tout aussi un support de communication
performant, qui facilite la représentation et la
compréhension de solutions objet de par:
· Sa notation graphique qui permet d'exprimer
visuellement une solution objet, ce qui facilite la
comparaison et l'évaluation de solutions.
· L'aspect formel de sa notation qui limite les
ambiguïtés et les incompréhensions.
· Son indépendance par rapport
aux langages de programmation, aux domaines d'application et aux processus qui
en font un langage universel.
Un des tout premiers avantages d'UML est de faire se
rencontrer et communiquer utilisateurs et informaticiens, ce qui n'est pas le
moindre des bénéfices du langage. UML permet également
outre le fait de se concentrer sur l'utilisateur de documenter très
clairement les besoins exprimés par ces derniers, dans le cadre d'une
gestion de projet de développement qui va de la conception jusqu'au
déploiement de l'application dans le réseau.
II.2.2. Description de quelques Diagrammes :
a. Diagramme de cas d'utilisation :
Le diagramme de cas d'utilisation est un diagramme UML
utilisé pour donner une vision globale du comportement fonctionnel d'un
système logiciel. Il est utile pour des présentations
auprès de la direction ou des acteurs d'un projet, mais pour le
développement, les cas d'utilisation sont plus appropriés. Un cas
d'utilisation représente une unité discrète d'interaction
entre un utilisateur (humain ou machine) et un système. Il est une
unité significative de travail. Dans un diagramme de cas d'utilisation,
les utilisateurs sont appelés acteurs (actors), ils interagissent avec
les cas d'utilisation (use cases).
Les Cas d'utilisation : Ils permettent de
décrire l'interaction entre l'acteur et le système. L'idée
forte est de dire que l'utilisateur d'un système logiciel a un objectif
quand il utilise le système ! Le cas d'utilisation est une description
des interactions qui vont permettre à l'acteur d'atteindre son objectif
en utilisant le système. Les use case (cas d'utilisation) sont
représentés par une ellipse sous-titrée par le nom du cas
d'utilisation (éventuellement le nom est placé dans l'ellipse).
Un acteur et un cas d'utilisation sont mis en relation par une association
représentée par une ligne.
Relations : Trois types de relations sont
pris en charge par la norme UML et sont graphiquement
représentées par des types particuliers de ces relations. Les
relations indiquent
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 21
que le cas d'utilisation source présente les
mêmes conditions d'exécution que le cas issu. Une relation simple
entre un acteur et une utilisation est un trait simple
? Les inclusions : Dans ce type d'interaction
le premier cas englobe l'autre et son issue dépend souvent de la
résolution du second. Ce type de description est utile pour extraire un
ensemble de sous-comportements communs à plusieurs tâches, comme
une macro en programmation. Elle est représentée par une
flèche en pointillée et le terme
<<include>>.
? Les extensions : Les extensions
(Extend) représentent des prolongements logiques de certaines
tâches sous certaines conditions. Autrement dit un cas d'utilisation A
étend un cas d'utilisation B lorsque le cas d'utilisation A peut
être appelé au cours de l'exécution du cas d'utilisation B.
Elle est représentée par une flèche avec le terme
<<Extend>>. Ce type de relation peut être utile pour
traiter des cas particuliers ou préciser les objectifs, ou pour tenir
compte de nouvelles exigences au cours de la maintenance du système et
de son évolution.
? Les généralisations : La
troisième relation est la relation de généralisation ou
spécialisation. Le cas d'utilisation A est une
généralisation de B, si B est un cas particulier de A
c'est-à-dire lorsque A peut être substitué par B pour un
cas précis. Ces relations sont des traits peins terminés par des
flèches en triangle.
Utilisateurs (Acteurs) :
Ils sont des entités externes qui interagissent avec le
système, comme une personne humaine ou un robot. Une même personne
peut être plusieurs acteurs pour un système, c'est pourquoi les
acteurs doivent surtout être décrits par leur rôle, ce
rôle décrit les besoins et les capacités de l'acteur.
b. Diagramme de Séquences :
Le diagramme de séquences est la représentation
graphique des interactions entre les acteurs et le système selon un
ordre chronologique dans la formulation UML (Unified Modeling Language). Il
permet de cacher les interactions d'objets dans le cadre d'un scénario
d'un Diagramme des cas d'utilisation. Dans un souci de simplification, on
représente l'acteur principal à gauche du diagramme, et les
acteurs secondaires éventuels à droite du système. Le but
étant de décrire comment se déroulent les actions entre
les acteurs ou objets.
La dimension verticale du diagramme représente le
temps, permettant de visualiser l'enchaînement des actions dans le temps,
et de spécifier la naissance et la mort d'objets. Les périodes
d'activité des objets sont symbolisées par des rectangles, et ces
objets dialoguent par le biais de messages.
Plusieurs types de messages (actions) peuvent transiter entre les
acteurs et objets :
? message simple : le message n'a pas de
spécificité particulière d'envoi et de réception ?
message avec durée de vie : l'expéditeur attend une
réponse du récepteur pendant un
certain temps et reprend ses activités si aucune
réponse n'a lieu dans un délai prévu ? message synchrone :
l'expéditeur est bloqué jusqu'au signal de prise en compte par
le
destinataire. Les messages synchrones sont symbolisés
par des flèches barrées ? message asynchrone : le message est
envoyé, l'expéditeur continue son activité que le
message soit parvenu ou pris en compte ou non. Les messages
asynchrones sont
symbolisés par des demi-flèches
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 22
? message déroulant : le message est mis en attente
dans une liste d'attente de traitement chez le récepteur.
Le langage permet de décaler l'envoi et
réception des messages, pour montrer les délais de la
communication non négligeables. . La plupart des ateliers UML ne
prennent cependant pas en compte cette spécificité. Pour les cas
plus complexes, on peut intégrer des algorithmes dans les diagrammes de
séquences. Par le biais de cadres d'interaction, on peut préciser
les spécificités d'un ensemble de messages :
V' alt : fragments multiple alternatifs (si
alors sinon)
V' opt : fragment optionnel
V' par : fragment parallèle (traitements
concurrents)
V' loop : le fragment s'exécute plusieurs
fois
V' neg : une interaction non valable
c. Diagramme de classe :
Le diagramme de classe est un schéma utilisé en
génie logiciel pour présenter les classes et les interfaces des
systèmes ainsi que les différentes relations entre celles-ci. Ce
diagramme fait partie de la partie statique d'UML car il fait abstraction des
aspects temporels et dynamiques. Une classe décrit les
responsabilités, le comportement et le type d'un ensemble d'objets. Les
éléments de cet ensemble sont les instances de la classe.
Une classe est un ensemble de fonctions et de données
(attributs) qui sont liées ensemble par un champ sémantique. Les
classes sont utilisées dans la programmation orientée objet.
Elles permettent de modéliser un programme et ainsi de découper
une tâche complexe en plusieurs petits travaux simples.
Les classes peuvent être liées entre elles
grâce au mécanisme d'héritage qui permet de mettre en
évidence des relations de parenté. D'autres relations sont
possibles entre des classes, chacune de ces relations est
représentée par un arc spécifique dans le diagramme de
classes. Elles sont finalement instanciées pour créer des objets
(une classe est un moule à objet : elle décrit les
caractéristiques des objets, les objets contiennent leurs valeurs
propres pour chacune de ces caractéristiques lorsqu'ils sont
instanciés).
Une classe est représentée par un rectangle
séparée en trois parties :
> la première partie contient le nom de la classe
> la seconde contient les attributs de la classe
> la dernière contient les méthodes de la
classe.
CHAPITRE 3
ETUDE DETAILLEE
I. Diagramme de cas d'utilisation :
Dans cette partie, nous décrivons dans un diagramme de cas
d'utilisation les différents
besoins exprimés et les acteurs concernés.
La description va consister à élaborer l'ensemble
des besoins exprimés par les différents acteurs dans le
système à étudier. Ainsi nous décomposons notre
système en deux sous systèmes :
« Service_Responsable » et « Service_Etudiant
» .
a. Service Responsable :
Il concerne toutes les interactions entre notre système
et l'acteur « Responsable » suivants les besoins exprimés.
Dans le rôle de l'acteur « Responsable », nous notons les
rôles de l'administrateur du système, du chef de
département et du secrétariat et des enseignants. Les besoins
exprimés sont :
- Se connecter
- Ajouter document
- Consulter
- Rechercher
- Télécharger
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 23
Figure 1: Diagramme de cas d'utilisation pour le Service du
responsable b. Service Etudiant :
Il concerne toutes les interactions entre notre système et
l'acteur « Etudiant » suivants les besoins exprimés.
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 24
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 25
- Se connecter - Consulter -
Rechercher - Télécharger
Figure 2: Diagramme de cas d'utilisation pour le
Service de l'Etudiant II. Diagramme de Séquences :
Nous décrivons ici quelques cas d'utilisations. Cette
description portera sur les scénarios nominaux. Un scénario est
nominal s'il se déroule quand il n'y a pas d'erreur, il est
principalement réalisé sur 90% des cas.
Quelques définitions :
Acteur : ceux qui déclenchent les cas
d'utilisation
Pré condition : Elle décrit dans
quel état doit être le système avant qu'un cas
d'utilisation puisse être déclenché.
Scénario ou Scénarii : ils sont
décrits sous forme d'échange d'événements entre
l'acteur et le système.
Post condition : Elles décrivent
l'état du système à l'issu des différents
scénarii
Service Etudiant.
Cas d'utilisation «Ouvrir Session»
Utilisateur :
« Responsable » ou « Etudiant »
Pré condition :
Le serveur démarré
Scénarii :
1. L'utilisateur tape l'url de l'application
2. Le système affiche le menu de connexion
3. L'utilisateur s'authentifie
3.1. Le système vérifie
3.2. Login et mot de passe vérifiés
4. L'utilisateur connecté Post condition
:
Session ouverte.
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 26
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 27
Figure 3: Diagramme de Séquence pour « Ouvrir
une Session » Cas d'utilisation « Ajouter Documents
»
Acteur :
Responsable
Pré condition :
Serveur Démarré
Utilisateur authentifié
Scénarii :
1. Le Système affiche le menu général
2. Responsable choisit le type de document
3. Le Système affiche le menu d'ajout
4. Responsable clique sur le bouton Ajout
5.
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 28
Le système affiche le formulaire
6. Le responsable remplit le formulaire
7. Responsable envoie les données au Serveur
8. Le Serveur va sauvegarder les données dans la Base
de Données
9. La Base de Données l'effectue
10. Le système envoie une Confirmation d'ajout
Post condition :
Document sauvegardé dans le système
Figure 4 : Diagramme de Séquence du Responsable
pour le Cas « Ajouter_Document »
Cas d'utilisation « Consulter_memoire»
Acteur :
Etudiant
Pré condition :
Serveur démarré Etudiant authentifié
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 29
Scénarii :
1. Système affiche le Menu
2. Etudiant sélectionne mémoire
3. Système affiche la liste des classes
4. Etudiant sélectionne la classe
5. Système affiche les années
6. Etudiant sélectionne l'année
7. Système affiche les mémoires
8. Etudiant sélectionne le fichier
9. Le système affiche le contenu du fichier
Post condition :
Document consulté
Figure 5: Diagramme Séquence de l'Etudiant pour le
Cas « Consulter_Document »
Cas d'utilisation « Rechercher document
»
Acteur :
Responsable ou Etudiant
Pré condition :
- Serveur démarré
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 30
- Utilisateur authentifié
Scénarii :
1. Affichage du menu général
2. Choisir « rechercher mémoire » ou «
rechercher bulletin »
3. Affichage de la barre de recherche de mémoire ou
bulletin
4. Entrer les critères de recherche
5. Cliquer sur rechercher
6. Affichage des résultats trouvés
7. Choisir le document (mémoires ou bulletin) à
rechercher Post condition :
Document (mémoires ou bulletin) trouvé
Figure 6 : Diagramme de séquence cas «
rechercher_document »
Cas d'utilisation « Télécharger un
mémoire»
Acteur :
Etudiant
Pré condition :
- Serveur démarré
- Utilisateur authentifié
Scénarii :
1. Affichage du menu général
2. Choisir rechercher mémoire
3. Affichage de la barre de recherche
4. Entrer les critères de téléchargement
5. Affichage des résultats de la recherche
6. Choisir le mémoire à
télécharger
7. Valider le choix
8. Affichage de la fenêtre de
téléchargement
9. Mémoire téléchargé Post
condition :
Téléchargement réussi
Figure 7 : Diagramme de séquence Cas «
Télécharger »
III. Diagramme de Classe :
III.1. Identification des classes
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 31
1.
Mise en place d'un outil d'archivage de documents au ei
du DGI
CHAPITRE Pa
4
Responsable : C'est celui qui les insertions, les
modifications, et les suppressions. Ainsi les responsables sont nombreux (Chef
du Département, Enseignants, Secrétaire) mais distingués
par leur profil.
2. Document : C'est l'ensemble des documents qui ont
stockés dans un serveur. Ainsi, un document peut être un bulletin
de note de fin de Semestre ou un Mémoire de fin de cycle.
3. Compte : C'est une entité qui permet de stocker les
informations d'un utilisateur qui nécessite un login et un mot de
passe.
4. Etudiant : Propriétaire d'un document
(mémoire ou bulletin de notes).
5. Classe : Niveau d'étude d'un étudiant
pendant une année
6. Semestre : C'est la période production d'un
bulletin
7. Année : Représente l'année de
production d'un document (mémoire ou bulletin de notes).
III.2. Diagramme de classe
Le diagramme de séquence de ce système est
représenté ci-dessous.
Figure 8: Diagramme de Classe
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 33
PROPOSITION DE LA SOLUTION
I. Architecture de la Solution :
La proposition d'architecture envisagée par le projet
est d'offrir à tous les acteurs, un système de gestion des
archives pour une gestion de documents beaucoup plus simple et plus
sécurisé du département génie informatique de
l'Esp. Cette application est accessible par les clients à travers un
réseau sécurise. .En effet, l'application devra permettre
d'assurer toutes les fonctionnalités spécifies lors de
l'expression des besoins. La solution que nous proposons pour l'architecture
sera une application Web qui nécessite les éléments
suivants :
? La mise en place d'un serveur Web
? La mise en place un serveur de Base de données
? La mise en place un serveur de fichiers
Avec cette architecture intranet du département, tous
les utilisateurs doivent pouvoir utiliser l'application mise en place à
l'aide d'une interface web quelque soit le système d'exploitation
utilisé.
Figure 9: Schéma de la solution
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 34
II. Les Outils et Technologie :
II.1. Langage de programmation
II.1.1. HTML : [3]
L'HyperText Markup Language, généralement
abrégé HTML, est le format de données conçu pour
représenter les pages web. C'est un langage de balisage qui peut aussi
intégrer des ressources multimédias dont des images, des
formulaires de saisie et des éléments programmables tels que des
applets. Le langage HTML permet en outre la lecture de documents sur Internet
grâce au protocole HTTP. Ce langage est un standard, c'est-à-dire
qu'il s'agit de recommandations publiées par un consortium international
: le World Wide Web Consortium (W3C). Au plus haut niveau, un document HTML est
séparé entre un en-tête et un corps. L'en-tête
contient les informations sur le document, notamment son titre et
éventuellement des métadonnées. Le corps contient ce qui
est affiché. Un code HTML est composé en particulier
d'attributs.
II.1.2. CSS : [4]
Le CSS est un langage informatique utilisé pour
décrire la présentation des documents HTML et XML. De même
que le HTML, c'est un standard publié par le W3C. Il permet de changer
la taille, le positionnement, en somme la mise en forme des attributs HTML. Un
code CSS est composé de propriétés avec pour chacun une
valeur.
II.1.3. PHP : [5]
PHP est un langage de script exécuté du
coté serveur (tout comme les scripts CGI) et non du coté client
comme le JavaScript. Il a la même syntaxe que le C et le JAVA. Il ne
nécessite pas d'être compilé pour obtenir un
exécutable avant d'être utilisé. On l'utilise le plus
souvent avec le serveur Apache (plus de 70% des serveurs dans le monde) mais il
peut tout aussi bien fonctionner avec d'autres serveurs web. PHP peut
s'incorporer directement dans du code HTML, donc plus besoin de réaliser
une page HTML puis une deuxième PHP. Un des avantages de PHP est qu'il
existe une grande communauté de développeurs qui l'utilise. Ce
qui multiplie les outils de documentation sur le web.
II.1.4. JavaScript :
Le JavaScript est un langage qui améliore
l'interactivité avec le document HTML. Il a été en 1995
par Netscape. Son code peut être placé dans un document HTML comme
dans un autre document à part. Le JavaScript est un langage de
programmation de scripts. C'est un langage orienté objet à
prototype c'est-à-dire que les bases du langage et ses principales
interfaces sont fournies par des objets qui ne sont pas des instances de
classes. Le code JavaScript est toujours compris entre les balises
<script> et </script>.
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 35
II.2. Les Outils
Pour mettre la disponibilité des documents aux
utilisateurs, on a mis en place deux serveurs : un Serveur web
(Serveur Apache et un Serveur MySQL) et un
Serveur de fichier (Serveur Proftpd)
Pour l'implémentation d'un serveur web, on a
installé LAMP-SERVER (sous ubuntu) qui est un acronyme désignant
un ensemble de logiciel libre permettant de construire des serveurs de site
web. Il fait rapport aux logiciels suivants :
? Linux qui assure l'attribution des
ressources aux autres composants (Rôle d'un
Système d'exploitation dit OS (operating system))
? Apache qui est le serveur web « frontal
» : il est « devant » tous les autres et répond
directement aux requêtes du client web (navigateur)
? MySQL qui est un système de gestion de
bases de données SGBD. Il permet de stocker et d'organiser des
données
? le langage de script PHP permet la
génération de pages web dynamiques et la communication avec le
serveur MySQL.
? Installation de LAMP :
- Pré-requis
Le pré-requis pour un serveur "LAMP" est d'avoir un
système d'exploitation
GNU/Linux. La première étape est donc
d'installer Ubuntu (ou une de ses variantes).
- Installation :
Passons donc à l'installation proprement dite. Il
suffit de deux lignes de commande : « sudo apt-get install tasksel
» puis
« sudo tasksel install lamp-server »
; À ce moment là on vous invitera à choisir un
mot de passe pour MySQL pour le compte root (l'utilisateur
ayant tous les privilèges), à noter soigneusement dans un endroit
(support).
Une fois que le mot de passe est choisi, Appuyez sur tab.
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 36
Faites Entrer et répétez l'opération.
On va pouvoir maintenant installer phpMyAdmin. A quoi
ça sert ? Cela permet de gérer de manière
simplifiée les bases de données MySQL, ce qui est bien pratique
quand on ne connait pas les requêtes MySQL. PhpMyAdmin a une interface
graphique qui nous mâche le travail. On suggère donc de
procéder à son installation.
« sudo apt-get install phpmyadmin »
On vous demandera le serveur web qui servira pour phpMyAdmin,
il faut garder Apache qui est sélectionné par défaut.
Après on vous demandera si dbconfig-common doit
configurer la base de données pour phpMyAdmin, il faut répondre
Oui.
L'invite de commande vous invite à entrer le mot de
passe pour l'administrateur root de la
base de données.
Et enfin on vous demande un mot de passe pour PhpMyAdmin afin
qu'il se connecte à la base de données.
Et là ce n'est pas fini, il faut confirmer de nouveau
le mot de passe pour phpMyAdmin. La base de données se
créé, et si tout se passe bien il n'y aura aucun message d'erreur
et que l'installation est fini.
Dans l'étape d'après il faudra redémarrer le
serveur Apache avec la commande suivante :
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 37
sudo /etc/init.d/apache2 restart
Et pour accéder à phpMyAdmin, il faut ouvrir le
lien suivant dans votre navigateur internet:
«
http://localhost/phpmyadmin
»
II.2.1. Serveur Web Apache [6]
Le logiciel libre Apache HTTP Server
(Apache) est un serveur http créé et maintenu au
sein de la fondation Apache. C'est le serveur HTTP le plus populaire du World
Wide Web. Il est distribué selon les termes de la licence Apache. Apache
est conçu pour prendre en charge de nombreux modules, lui donnant des
fonctionnalités supplémentaires : interprétation du
langage Perl, PHP, Python et Ruby, serveur proxy, Common Gateway Interface,
Server Side Includes, réécriture d'URL, négociation de
contenu, protocoles de communication additionnels, etc. Néanmoins, il
est à noter que l'existence de nombreux modules Apache complexifie la
configuration du serveur web. En effet, les bonnes pratiques recommandent de ne
charger que les modules utiles : de nombreuses failles de
sécurité, affectant uniquement les modules d'Apache sont
régulièrement découverts.
Parmi les outils, aidant la maintenance d'Apache, on trouve
les fichiers de log qui peuvent s'analyser à l'aide de nombreux scripts
et des logiciels libres tels qu'AWStats, Webalizer ou W3Perl. Plusieurs
interfaces graphiques facilitent la configuration du serveur.
Ainsi avec le serveur Apache, les
utilisateurs, se trouvant dans différents endroits pourront
accéder à l'application et communiquer. Les standards
client-serveur de l'internet seront utilisés. Via le protocole http, le
serveur pourra répondre aux requêtes.
II.2.2. Serveur MySQL
Pour l'implémentation d'un serveur de base de
données, on utilise un serveur MySQL qui
s'intégré Lamp-serveur. 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 celui de mises à jour
fréquentes et fortement sécurisées. Il est multithread et
multiutilisateurs. Ce serveur (MySQL) nous permet de stocker de façon
binaire les documents au niveau de la base de données. Ainsi, il assure
l'analyse et l'interprétation des requêtes utilisateurs ainsi que
les transformations des données extraites de la BD sous forme
exploitable par les utilisateurs. En outre, il permet d'insérer, de
rechercher et de supprimer efficacement les données lorsqu'il s'agira
d'ajouter de supprimer ou de modifier un matériel.
II.2.3. Serveur proftpd [8]
Pour la satisfaction des besoins, on a installé
derrière le serveur de base de données un serveur de fichier
Proftpd qui va nous permettre de sauvegarder tous les fichiers des
mémoires et bulletins suivant les années et les classes. Ceci
nous permettra au fil des années de vider nos bases de données.
Le proftpd est une implémentation opensource sous licence GPL (General
Public License) du protocole FTP. La prise en main de proftpd est plus
aisée, surtout pour les personnes connaissant déjà Apache,
leurs fichiers de configuration étant très similaires. Ainsi,
nous allons voir comment installer et configurer notre serveur FTP sur Ubuntu.
Pour cela nous allons utiliser notre serveur proftpd qui est un serveur libre
et qui est d'après ses auteurs, le plus puissant et le plus
sécurisé.
a. Téléchargement et installation :
Voici la démarche de l'installation
- Lancer le terminal et saisir en tant que root la
commande apt-get install proftpd.
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 38
- Une fenêtre s'affiche avec des choix (Oui ou Non) :
Appuyer sur « ø » Oui pour continuer
l'installation
Une autre fenêtre avec des choix (Depuis inetd ou
Indépendamment) s'affiche : Valider «Indépendamment
»
- Une fois l'installation terminée vous obtenez avant
dernière ligne ceci : *Starting ftp server proftpd [ok]
b. Configuration :
Tout d'abord il faut savoir que le fichier le plus important
à la configuration de votre serveur Proftpd se trouve dans
/etc/proftpd/proftpd.conf.
Apres avoir configuré le serveur, on va maintenant
créer les groupes ftp, les utilisateurs
et les dossiers de partage. Ainsi nous avons
décidé pour le moment de définir deux niveaux de connexion
à notre serveur que sont le responsable et l'étudiant.
c. Création des groupes :
Nous allons créer deux groupes ftp (responsable et
etudiant) qui serviront qu'aux utilisateurs du ftp avec la commande : «
groupadd responsable » et «
groupadd etudiant»
d. Création des utilisateurs de votre FTP
:
Pour ajouter un nouvel utilisateur procédez comme suit
:
Dans notre cas, nous avons l'utilisateur « responsables
» qui a la possibilité d'accès complet
aux bulletins et mémoire et l'utilisateur « etudiants
» qui ne peut qu'accéder qu'aux mémoires
en consultation voire en téléchargement.
« useradd responsable -s /bin/false »
: cette commande sert à ajouter des utilisateurs
« responsables » dans le groupe « responsable
»
« useradd etudiants -s /bin/false »
: cette commande sert à ajouter des utilisateurs
«etudiants » dans le groupe « etudiant »
« passwd responsables » :
sert à définir un mot de passe pour l'utilisateur «
responsables » « passwd etudiants » :
sert à définir un mot de passe pour l'utilisateur «
etudiants »
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 39
« usermod responsables -g responsable »
: met l'utilisateur « responsables » dans le groupe
responsable créé précédemment.
«usermod etudiants -g etudiant »
: met l'utilisateur « etudiants » dans le groupe «
etudiant » créé précédemment.
Cette étape est importante pour l'attribution des droits
sur les répertoires.
e. Création du dossier de partage :
Ici on va créer un dossier se nommant « ftp
» ; ce répertoire sera la racine de tous les utilisateurs
précédemment créés. Ceci sera précisé
dans le fichier de configuration en ajoutant la ligne : « DefaultChdir
/home/ftp ».
CHAPITRE 5
PRESENTATION DE L'APPLICATION
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 40
1. Boite d'authentification :
L'application présente d'abord une zone d'authentification
pour permettre aux utilisateurs « responsable » ou «
étudiant » de pouvoir se connecter.
Figure 10 : Menu connexion
2. Menu Principal du Profil Responsable :
Les taches de l'application s'affichent en fonction des
profils. Ici, nous avons le menu principal du profil responsable. Si on se
connecte en tant que « responsable », alors on pourra ajouter de
mémoire, de bulletin, consulter ces documents à partir de «
rechercher mémoire » ou « rechercher bulletin » ou
même les télécharger.
Figure 11 : Menu Principal des Responsables
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 41
3. Menu principal du profil étudiant :
Cette capture d'écran nous montre le menu principal de
profil « étudiant ». Ainsi, si on se connecte comme
étudiant, on ne peut faire que consulter de mémoire à
partir de « recherche mémoire ».
Figure 12 : Menu Principal étudiant
4. Formulaire d'ajout mémoire :
Cette capture est un formulaire pour ajouter un mémoire
avec l'ensemble des classes terminales du département génie
informatique. Cependant, l'ajout d'un mémoire est possible que si on a
un profil « responsable ». Ainsi, pour ajouter un mémoire, il
est obligatoire pour le responsable de connaitre les références
de l'étudiant.
Figure 13 : Formulaire pour ajouter un
Mémoire
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 42
5. Formulaire d'ajout bulletin :
Ici, nous avons un formulaire d'ajout de bulletin avec
l'ensemble des classes et des semestres (premier et second semestre). Alors,
comme l'ajout d'un mémoire, l'ajout d'un bulletin aussi n'est possible
que si on est responsable.
Figure 14 : Formulaire pour ajouter un
Bulletin
6. Menu de recherche de mémoire :
Figure 15 : Formulaire de recherche de
Mémoire
Cette capture nous montre comment rechercher un
mémoire. Alors en se connectant comme « responsable » ou
« étudiant », il suffit de mettre un mot clef puis la classe
terminale pour pouvoir trouver l'ensemble des mémoires ayant ces
données à rechercher.
7. Menu de recherche de bulletin
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 43
Cette capture représente un champ de recherche de
bulletin. Pour rechercher un bulletin, il suffit de sélectionner
l'année, la classe et le semestre. Cette recherche n'est possible que si
on se connecte comme responsable.
Figure 16 : Recherche de Bulletin
CONCLUSION
Conclusion :
Ce projet fin d'étude consistait à concevoir une
application qui permet de sauvegarder manière automatique les
mémoires de fin d'étude et les bulletins de notes des
étudiants au sein du DGI.
Ainsi, nous avons réalisé le cahier des charges
qui nous a été confié. L'application a été
déployée. Pour se faire, nous avons utilisé en premier
lieu, dans le coté développement, des langages de programmations
comme PHP, HTML et JavaScript. Nous avons aussi approfondi nos connaissances
sur le langage SQL avec le MySQL. Et en second lieu du coté serveur,
nous avons installé Apache comme un serveur web, un serveur MySQL et un
serveur de fichier : Proftpd. Ainsi ce stage au sein du département nous
a permis d'accumuler beaucoup de connaissances aussi bien sur la vie
professionnelle et l'application de nos connaissances théoriques.
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 44
Bibliographie
Bibliographie :
[1] :
http://www.locarchives.fr/vos-besoins/pourquoi-archiver/quest-ce-quune-archive
juin
[2] :
http://scott.univ-lehavre.fr/~sadeg/enseignement/iut/2013/acsi2/COURS-TOUT-UML-v2-partie1.pdf
juin 2013
[3] :
http://fr.wikipedia.org/wiki/Hypertext
Markup Language juin 2013
[4] :
http://fr.wikipedia.org/wiki/Feuilles
de style en cascade juin 2013
[5] :
http://www.lephpfacile.com/manuel-php-gtk/intro.whatis.php.history.php
juin 2013 http://www.phpdebutant.org/ juin 2013
[6] :
http://struts.apache.org juin
2013
[7] :
http://www.proftpd.org/docs/howto/
juin 2013
Mise en place d'un outil d'archivage de documents au sein
du DGI Page 45