WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise en place d'un outil d'archivage de documents.

( Télécharger le fichier original )
par Moustapha MBOW
Ecole Supérieure Polytechnique de Dakar - DST Informatique 2013
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

    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






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"En amour, en art, en politique, il faut nous arranger pour que notre légèreté pèse lourd dans la balance."   Sacha Guitry