75
N° d’ordre : 04 / RC / TCO Année Universitaire : 2015 / 2016 UNIVERSITE D’ANTANANARIVO ---------------------- ECOLE SUPERIEURE POLYTECHNIQUE ----------------------- MENTION TELECOMMUNICATION MEMOIRE en vue de l’obtention du DIPLOME de Licence Domaine : Sciences de l’Ingénieur Mention : Télécommunication Parcours : Radiocommunication par : ANDRIATSIORIMANANA Rova CONCEPTION D’UNE BASE DE DONNEES ET REALISATION D’UNE APPLICATION WEB POUR L’ESPA VONTOVORONA Soutenu le lundi 27 mars 2017 à 10H devant la Commission d’Examen composée de : Président : M. RATSIHOARANA Constant Examinateurs : Mme ANDRIANTSILAVO Haja M. BOTO ANDRIANANDRASANA Jean Espérant M. RAVONIMANANTSOA Ndaohialy Manda-Vy Directeur de mémoire : M. RAKOTONDRAINA Tahina Ezéchiel

ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

  • Upload
    others

  • View
    12

  • Download
    1

Embed Size (px)

Citation preview

Page 1: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

N° d’ordre : 04 / RC / TCO Année Universitaire : 2015 / 2016

UNIVERSITE D’ANTANANARIVO

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

ECOLE SUPERIEURE POLYTECHNIQUE

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

MENTION TELECOMMUNICATION

MEMOIRE

en vue de l’obtention

du DIPLOME de Licence

Domaine : Sciences de l’Ingénieur

Mention : Télécommunication

Parcours : Radiocommunication

par : ANDRIATSIORIMANANA Rova

CONCEPTION D’UNE BASE DE DONNEES ET

REALISATION D’UNE APPLICATION WEB POUR

L’ESPA VONTOVORONA

Soutenu le lundi 27 mars 2017 à 10H devant la Commission d’Examen composée de :

Président :

M. RATSIHOARANA Constant

Examinateurs :

Mme ANDRIANTSILAVO Haja

M. BOTO ANDRIANANDRASANA Jean Espérant

M. RAVONIMANANTSOA Ndaohialy Manda-Vy

Directeur de mémoire :

M. RAKOTONDRAINA Tahina Ezéchiel

Page 2: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

2

rova
Zone de texte
Page 3: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

i

REMERCIEMENTS

Tout d’abord, je remercie notre Seigneur DIEU, car sans grâce, sans bénédiction, et sans

bienveillance ; ce travail n’a pas pu être réalisé.

Mes sincères remerciements s’adressent aussi à :

Monsieur RAMANOELINA Panja : Professeur Titulaire, Président de l’Université d’Antananarivo,

Monsieur ANDRIANAHARISON Yvon : Professeur Titulaire, Responsable du Domaine Sciences

de l’Ingénieur de l’Ecole Supérieure Polytechnique d’Antananarivo,

Monsieur RAKOTOMALALA Mamy Alain, Maître de Conférences à l’Ecole Supérieure

Polytechnique d’Antananarivo, Responsable de la mention télécommunication,

Je tiens à témoigner ma reconnaissance à Monsieur RAKOTONDRAINA Tahina Ezéchiel, Maître

de Conférences à l’Ecole Supérieure Polytechnique d’Antananarivo, Mention Télécommunication,

qui m’a dirigée et conseillée durant la réalisation de ce travail de mémoire,

Monsieur RATSIHOARANA Constant, Maître de Conférences au sein de la mention

télécommunication et qui nous fait l’honneur de présider ce présent mémoire,

Messieurs les Membres de jury qui ont accepté d’examiner ce mémoire :

Madame ANDRIANTSILAVO Haja, Assistante d’Enseignement et de Recherche au sein de la

mention Télécommunication,

Monsieur BOTO ANDRIANANDRASANA Jean Espérant, Assistant d’Enseignement et de

Recherche au sein de la mention Télécommunication,

Monsieur RAVONIMANANTSOA Ndaohialy Manda-Vy, Maître de Conférences au sein de la

mention Télécommunication,

J’adresse un grand Merci à tous les membres de ma famille, à tous les Enseignants Chercheurs et

Personnels administratifs de l’Ecole Supérieure Polytechnique d’Antananarivo ainsi qu’à tous mes

collègues et mes amis qui de près ou de loin, ont contribué à l’accomplissement de ce travail.

Page 4: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

ii

TABLES DES MATIERES

REMERCIEMENTS ................................................................................................................. i

TABLES DES MATIERES ..................................................................................................... ii

NOTATIONS ET ABREVIATIONS ..................................................................................... vi

INTRODUCTION GENERALE ............................................................................................ 1

: GENERALITES SUR LA BASE DE DONNEES ................................ 2

1.1 Introduction ........................................................................................................................... 2

1.2 Définition ................................................................................................................................ 2

1.2.1 Système d’Information .................................................................................................... 2

1.2.2 Base de données .............................................................................................................. 2

1.2.3 Base de données informatisée ......................................................................................... 2

1.2.4 Système de Gestion de Base de données ........................................................................ 3

1.2.5 Système de Gestion de Base de données Relationnelle .................................................. 3

1.3 Historique de la base de données ......................................................................................... 3

1.4 Utilités de la base de données ............................................................................................... 4

1.5 Objectif de la base de données ............................................................................................. 4

1.5.1 Intégration et corrélation ................................................................................................ 4

1.5.2 Flexibilité et indépendance ............................................................................................. 4

1.5.3 Disponibilité ..................................................................................................................... 4

1.5.4 Sécurité ............................................................................................................................ 5

1.6 Niveaux de description des données ANSI/SPARC ........................................................... 5

1.7 Critères d'une base de données ............................................................................................ 5

1.8 Avantages de la base de données .......................................................................................... 5

1.9 Conception de base de données ............................................................................................ 6

1.9.1 Vocabulaire ...................................................................................................................... 6

1.9.2 Méthode d’analyse du système d’information : MERISE ............................................. 7

Page 5: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

iii

1.9.3 Les principes généraux de MERISE .............................................................................. 8

1.10 Système de gestion de base de données............................................................................ 10

1.10.1 Principes de fonctionnement ....................................................................................... 10

1.10.2 Modèle de base de données ......................................................................................... 10

1.10.3 Quelques SGBD ........................................................................................................... 12

1.11 Eléments constitutifs du modèle relationnel ................................................................... 13

1.11.1 Normalisation .............................................................................................................. 14

1.11.2 Algèbre relationnelle ................................................................................................... 15

1.12 Le langage SQL ................................................................................................................. 15

1.12.1 Langage de définition de données .............................................................................. 16

1.12.2 Langage de manipulation de données ........................................................................ 17

1.12.3 Langage de contrôle d'accès ....................................................................................... 18

1.13 Conclusion .......................................................................................................................... 19

: DEVELOPPEMENT D’APPLICATION D'ENTREPRISE ............. 20

2.1 Introduction ......................................................................................................................... 20

2.2 Généralité sur le site web .................................................................................................... 20

2.2.1 Internet ........................................................................................................................... 20

2.2.2 Web ................................................................................................................................. 20

2.2.3 Site web et application web ........................................................................................... 21

2.2.4 Page web ........................................................................................................................ 21

2.2.5 FTP ................................................................................................................................ 23

2.3 Système d’entreprise ........................................................................................................... 23

2.3.1 Le système de pilotage ................................................................................................... 24

2.3.2 Le système d’information .............................................................................................. 24

2.3.3 Le système opérant ........................................................................................................ 25

2.4 Outils nécessaires pour la mise en œuvre de ce projet ..................................................... 25

Page 6: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

iv

2.4.1 Choix du langage de programmation ........................................................................... 25

2.4.2 Choix du système de gestion de base de données ......................................................... 29

2.4.3 Choix de l’outil de développement PHP ....................................................................... 31

2.4.4 Choix d’outil de conception de la base de données ...................................................... 31

2.4.5 Plate-forme de développement web ............................................................................... 31

2.5 Architecture logicielle ......................................................................................................... 32

2.5.1 Architecture MVC ......................................................................................................... 32

2.5.2 Avantages de l’architecture MVC ................................................................................. 33

2.5.3 Architecture 2-tiers ........................................................................................................ 33

2.5.4 Architecture 3-tiers ........................................................................................................ 33

2.6 Gestion de la sécurité .......................................................................................................... 34

2.7 Conclusion ............................................................................................................................ 34

: REALISATION DE L’APPLICATION G-ESPA .............................. 35

3.1 Introduction ......................................................................................................................... 35

3.2 Objectifs ............................................................................................................................... 35

3.3 Les utilisateurs ..................................................................................................................... 35

3.4 Conception de la base de données ...................................................................................... 36

3.4.1 Identification des entités ............................................................................................... 36

3.4.2 Dictionnaire des données .............................................................................................. 37

3.4.3 Règles de gestion ........................................................................................................... 40

3.4.4 MCD ............................................................................................................................... 42

3.4.5 MLD ............................................................................................................................... 43

3.4.6 Extrait de code SQL ou du MPD .................................................................................. 44

3.4.7 Importation du code SQL dans phpMyAdmin de WAMPSERVER ............................ 44

3.5 Codage de l’application ...................................................................................................... 45

3.5.1 Assets .............................................................................................................................. 46

Page 7: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

v

3.5.2 Controller ....................................................................................................................... 46

3.5.3 Entity .............................................................................................................................. 46

3.5.4 Img ................................................................................................................................. 46

3.5.5 Model ............................................................................................................................. 46

3.5.6 View ................................................................................................................................ 46

3.6 Présentation de l’interface .................................................................................................. 46

3.6.1 Page d'accueil ................................................................................................................ 47

3.6.2 Cas d’un étudiant .......................................................................................................... 47

3.6.3 Cas d’un enseignant ...................................................................................................... 48

3.6.4 Cas d’un PAT ................................................................................................................ 49

3.6.5 Cas d’un administrateur ............................................................................................... 50

3.7 Conclusion ............................................................................................................................ 51

CONCLUSION GENERALE ............................................................................................... 52

ANNEXE 1 : PRESENTATION DES AUTRES INTERFACES DE L’APPLICATION53

BIBLIOGRAPHIE ET WEBOGRAPHIE........................................................................... 62

RENSEIGNEMENTS ............................................................................................................ 64

Page 8: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

vi

NOTATIONS ET ABREVIATIONS

ANSI American National Standards Institute

BCNF BOYCE-CODD Normal Form

BD Base de données

CSS Cascading Styles Sheets

DCL Data Control Language

DDL Data Definition Language

DML Data Manipulation Language

EC Elément Constitutifs

e-mail Electronic mail

ESPA Ecole Supérieure Polytechnique d’Antananarivo

FN Forme Normale

FTP File Transfert Protocol

FTPS File Transfert Protocol Secure

HTML HyperText Markup Langague

HTTP HyperText Transfer Protocol

IBM International Business Machines

IDE Integrated Development Environment

IP Internet Protocol

ISO International Standards Organization

LDD Langage de Définition de Données

LMD Langage de Manipulation de Données

Page 9: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

vii

MCD Modèle Conceptuelle de Données

MERISE Méthode d’Etude et de Réalisation Informatique par Sous-Ensemble

MLD Modèle Logique des données

MOpT Modèle Opérationnel des Traitements

MOT Modèle Organisationnel des Traitements

MPD Modèle Physique des données

MS Microsoft

MVC Model View Controller

ORM Object-relational mapping

PAT Personnel administratif et technique

PHP PHP Hypertext Preprocessor

PL Procedural language

SAG Service des affaires générales

SDRE Service de direction des relations Extérieures

SGBD Système de Gestion de Base de données

SGBDR Système de Gestion de Base de données relationnelle

SI Système d'information

SPARC Scalable Processor ARChitecture

SQL Structured Query Language

TCP Transmission Control Protocol

UE Unité d'enseignement

Page 10: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

viii

UML Unified Modeling Language

URL Uniform Ressource Locator

WAMP Windows Apache MySQL PHP

XML Extensible Markup Language

Page 11: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

1

INTRODUCTION GENERALE

Depuis quelques années, le domaine de l'informatique est en pleine expansion.

L'informatique constitue un outil d'une importance indispensable, car c'est à partir d'elle, les

hommes se servent pour diverses activités entre autres : gestion, télécommunication…concernant la

gestion, la gestion des données est un critère essentiel pour toute entreprise ou établissement. Pour

ce mémoire, on a opté pour le cas d’une école qui aura besoin de gérer l’ensemble de ses étudiants

à travers une interface simple et pratique. Cette gestion sera bien sûr traitée à travers une base de

données.

Le problème se pose au niveau de l’administration, surtout lorsque le nombre des étudiants, des

professeurs et des matières augmente et cela devient de plus en plus délicat de traiter toutes ces

données manuellement, et stocker par la suite dans l’archive de l’école. C’est ici que

l’informatisation des données devient un élément nécessaire, et le traitement automatique améliore

énormément le rendement de l’établissement que ça soit au niveau du gain du temps ou au niveau

des ressources humaines choisies pour effectuer les tâches.

Ainsi, ce mémoire consiste à concevoir une base de données pouvant contenir toutes les

informations relatives à tous les étudiants à l’ESPA Vontovorona et développer une application web

afin d’en faciliter l’accès. D’où le titre de ce mémoire : « Conception d’une base de données et

réalisation d’une application web pour l’Ecole Supérieure Polytechnique d’Antananarivo ».

Le développement de deux outils (un pour la partie serveur et un pour la partie client) était donc

nécessaire afin de pouvoir interroger le système. La partie serveur contient la base de données

proprement dite avec toutes les informations stockées sous forme de fichiers binaires. La partie

client est constituée d’un programme permettant de questionner le serveur à distance dans le but de

visualiser ou de compléter la base de données.

Ce travail se divise en trois grands chapitres. D’abord, nous allons l’entamer par les généralités sur

la base de données. Ensuite, le deuxième chapitre sera consacré sur le développement d’application

d’entreprise. Et le dernier chapitre présentera la réalisation de l’application. Pour se faire, nous

utilisons des logiciels et les langages de programmation comme outil de travail.

Page 12: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

2

:

GENERALITES SUR LA BASE DE DONNEES

1.1 Introduction

Aujourd'hui, la disponibilité de systèmes de gestion de bases de données fiables permet aux

organisations de toutes tailles de gérer des données efficacement, de déployer des applications

utilisant ces données et de les stocker. Les bases de données sont actuellement au cœur du système

d'information des entreprises. Elles permettent de se libérer des tâches répétitives fastidieuses et

lentes qui pourraient se produire devant lui.

Ce chapitre présente quelques notions de base de données, la méthode d’analyse et de conception

de système d’information avec MERISE, le modèle de base de données relationnel et le langage

SQL.

1.2 Définition

1.2.1 Système d’Information (SI)

Un SI est un ensemble organisé de ressources : matériel, logiciel, personnel, données, procédures…

permettant d’acquérir, de traiter, de stocker des informations (sous forme de données, textes, images,

sons, etc.) dans et entre des organisations. Il regroupe toutes les informations d’un domaine précis.

[1]

1.2.2 Base de données (BD)

Une base de données est un ensemble organisé d'informations avec un objectif commun. Plus

précisément, on appelle base de données un ensemble structuré et organisé permettant le stockage

de grandes quantités d'informations afin d'en faciliter l'exploitation (ajout, mise à jour, recherche de

données). [2]

1.2.3 Base de données informatisée

Une base de données informatisée est un ensemble structuré de données enregistrées sur des

supports accessibles par l'ordinateur, représentant des informations du monde réel et pouvant être

interrogées et mises à jour par une communauté d'utilisateurs. [2]

Page 13: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

3

1.2.4 Système de Gestion de Base de données (SGBD)

Un Système de Gestion de Base de données (SGBD) est un logiciel qui permet à l’utilisateur

d’interagir avec une BD. Il permet d’organiser les données sur les périphériques et fournit les

procédures de sélection et de recherche de ces mêmes données. Exemple : Access, MySQL,

Oracle,… Ceci caractérisé par le modèle de description des données qu'il supporte [2] [3]

1.2.5 Système de Gestion de Base de données Relationnelle (SGBDR)

Un SGBDR est un SGBD qui implémente la théorie relationnelle. [3]

1.3 Historique de la base de données

Jusque dans les années 60, l'organisation classique des données dans une entreprise se faisait sous

forme de fichiers. Très vite, des limites sont apparues :

- Processus long et fastidieux

- Contrôle en différé des données impliquant une augmentation des délais et des risques

d’erreurs.

- Grande redondance des données.

Dès 1965 apparaît l'idée de distinguer les données de leurs traitements.

Vers la fin des années 60, on commence à voir l’apparition des premiers : les systèmes réseaux et

hiérarchiques.

Ce n’est qu’à partir de 1970 qu’apparait la deuxième génération de SGBD : les systèmes

relationnels. Au début des années 80, la troisième génération de SGBD : les systèmes orientés

objet émergent. Ces avancées technologiques ont permis de résoudre les problèmes liés à

l’utilisation de fichiers et possède les avantages suivants :

- Uniformisation de la saisie et standardisation des traitements (tous les résultats de

consultation sont sous forme de listes et de tableaux)

- Contrôle immédiat de la validité des données.

- Partage de données entre plusieurs traitements, impliquant une baisse de la redondance des

données. [4]

Page 14: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

4

1.4 Utilités de la base de données

Une base de données est faite pour enregistrer des faits, des événements qui surviennent dans la vie

d'une organisation pour les restituer à la demande ou bien pour tirer des conclusions en rapprochant

plusieurs faits élémentaires les uns des autres et prendre une décision. Sur ce, un logiciel appelé

Système de Gestion des Bases de données (SGBD) permet à un utilisateur d'interagir avec une BD.

Ce dernier permet principalement d'organiser les données sur les supports périphériques et fournit

les procédures de recherche et de sélection de ces mêmes données. [2]

1.5 Objectif de la base de données

Les bases de données ont été conçues pour répondre aux 4 objectifs suivants :

1.5.1 Intégration et corrélation

À l'origine, chaque programme disposait de ses propres données, d'où une forte redondance des

informations. Le problème majeur était de garantir la cohérence de ces informations entre les

systèmes. Le but était ainsi de centraliser les données pour éviter la redondance des données (gagner

ainsi de l'espace disque), et d'assurer la cohérence des données.

1.5.2 Flexibilité et indépendance

La base de données est censée assurer trois niveaux d'indépendance :

- l'indépendance physique : indépendance des données vis-à-vis du matériel utilisé.

- l'indépendance logique : indépendance des données vis-à-vis des schémas et sous schémas utilisés

pour représenter les données.

- l'indépendance d'accès : les méthodes d'accès aux données sont désormais gérées par le SGBD.

1.5.3 Disponibilité

La base de données permet de gérer la concurrence d'accès, de modification et de consultation des

données. Cela afin d'améliorer le temps de réponse.

Page 15: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

5

1.5.4 Sécurité

La base de données a pour but de garantir l'intégrité et la confidentialité des données. [5]

1.6 Niveaux de description des données ANSI/SPARC

Pour atteindre les objectifs de la base de données, trois niveaux de description des données ont été

définis par la norme ANSI/SPARC.

Niveau interne (ou physique) : il définit la façon selon laquelle sont stockées les données et les

méthodes pour y accéder.

Niveau conceptuel : appelé aussi MCD (modèle conceptuel des données) ou MLD (modèle logique

des données). Il définit l'arrangement des informations au sein de la base de données.

Niveau externe : correspond à la perception de tout ou partie de la base pour un groupe donné

d'utilisateurs, indépendamment des autres. Il définit les vues des utilisateurs. [2] [4]

1.7 Critères d'une base de données

Une base de données doit répondre aux trois critères suivants :

- L'exhaustivité : Les bases de données doivent fournir une information exhaustive du système

étudié;

- La non-redondance des données : Non-répétition d'une donnée plusieurs fois ;

- La structure : C'est l'adaptation du mode de stockage de données au traitement ; structuration

que la base doit avoir est liée à l'évolution de la technologie [7]

1.8 Avantages de la base de données

La base de données présente les avantages ci-après :

- L'indépendance entre données et traitements ;

- La duplication des données est réduite ;

- La base de données dote l'entreprise d'un contrôle centralisé de données opérationnelles

- L'ordre dans le stockage de données ;

Page 16: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

6

- L'utilisation simultanée des données par différents utilisateurs. [7]

1.9 Conception de base de données

On appelle conception d’une BD la phase d’analyse du SI qui aboutit à déterminer le futur contenu

de la base. Mais d’abord, il est nécessaire de collecter les données nécessaires dans le cadre du

système d’information étudié. Il faut ensuite procéder à la méthode d’analyse du système

d’information et de son environnement. Et enfin, la conception d’une base de données. [2] [3]

1.9.1 Vocabulaire

1.9.1.1 Recueil des besoins

Il s’agit de l’inventaire de l'ensemble des données à partir des documents de l'entreprise ou

établissement, d'un éventuel cahier des charges et plus généralement de tous les supports de

l'information.

1.9.1.2 Tri de l'information

Le tri des données recueillies est nécessaire afin d’éviter la redondance des attributs.

1.9.1.3 Concept d’entité (ou objet), occurrence et d’association

Une entité permet de modéliser un ensemble d'objets de même nature, concrets ou abstraits, ayant

un intérêt dans le domaine d’étude. Les valeurs prises par une entité sont appelées occurrence

d'entité. Une association (relation) est un lien entre plusieurs entités. [3]

1.9.1.4 Concept de propriétés

Une propriété ou un attribut est la modélisation d'une information élémentaire présente dans le

domaine d’étude. L'attribut est l'élément descriptif de l'entité ou de l'association. Il est unique dans

un modèle conceptuel et ne peut être rattaché qu'à un seul concept (entité ou association). [3]

1.9.1.5 Concept d’identifiant (ou clé) d'entité

Un identifiant est constitué d'un ou plusieurs attributs d’une entité, de sorte qu'à chaque valeur de

l'identifiant correspond une occurrence unique de l'entité. L'identifiant est représenté souligné pour

qu'il puisse être distingué des autres attributs de l'entité. [3]

Page 17: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

7

1.9.1.6 Concept de règles de gestion

Le schéma entité/association permet d'exprimer graphiquement des règles de gestion qui

correspondent aux contraintes d'intégrités sur des données. Elles représentent les lois du domaine

d’étude modélisé dans le SI. [3]

1.9.1.7 Concept de dictionnaire des données

Le dictionnaire des données est un tableau dont les lignes représentent les différentes propriétés des

entités de notre système. En vue d’éviter un certain nombre d’anomalies sur les données retenues,

des considérations relatives à la structure et à la nature des propriétés sont à prendre en

considération. [3]

1.9.1.8 Concept de cardinalités

Le terme « cardinalité » d’un couple entité/association traduit la participation des occurrences de

l’entité aux occurrences d'une association. Une cardinalité appartient à une patte (branche) de

l'association. Chaque patte possède deux cardinalités : une cardinalité minimum (m) et une

cardinalité maximum (M). [3]

1.9.1.9 Concept de dépendance fonctionnelle

La dépendance fonctionnelle permet de déterminer les liens existant entre les entités et entre les

propriétés. Il y a dépendance fonctionnelle entre une entité (respectivement une propriété) A et entité

(respectivement une propriété) B, si la connaissance d’une valeur A permet la connaissance d’une

valeur de B. [3]

1.9.2 Méthode d’analyse du système d’information (SI) : MERISE

Avant de réaliser un projet informatique, il faut pratiquer une analyse informatique. Cette analyse

consiste à comprendre et modéliser le système d’information (SI) sur lequel on travaille. Il existe

plusieurs méthodes d’analyse et de conception de SI dont MERISE (Méthode d’Etude et de

Réalisation Informatique par Sous-Ensemble). Nous utiliserons la méthode MERISE. Elle est une

méthode de conception et de développement de systèmes d'information. Elle a été créée en 1977 par

la volonté du Ministère de l’Industrie français. Ses concepteurs sont : Hubert Tardieu, Georges Panet

Page 18: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

8

et Gérard Vahée. MERISE, à l’instar de toutes les autres méthodes, a des avantages et des

inconvénients. [3]

1.9.2.1 Avantages

- Méthode d’analyse avec des étapes bien définies ;

- Grande distinction entre les données et les traitements pendant la modélisation, mais avec

une interaction profonde du fait de la validation des données par les traitements et vice versa.

[3]

1.9.2.2 Inconvénients

- Méthode moins adaptée aux grands projets nécessitant des résolutions partielles et évolutives

;

- Méthode moins adaptée à la modélisation orientée objet. [3]

1.9.3 Les principes généraux de MERISE

La méthode MERISE est une méthode de conception des systèmes d’information (SI), mais aussi

une démarche méthodologique de développement de SI. La méthode est une approche globale du

SI mené parallèlement et simultanément sur les données et les traitements.

Elle permet de faire une description des données du SI grâce au Modèle Conceptuel de Données

(MCD), au Modèle Logique de Données (MLD) et au Modèle Physique de Données (MPD). La

description des traitements du SI est effectuée grâce au Modèle Conceptuel des Traitement (MCT),

au Modèle Organisationnel des Traitements (MOT) et au Modèle Opérationnel des Traitements

(MOpT). La description des données du SI suit un formalisme de représentation précis, simple et

rigoureux. Ce formalisme a été normalisé au plan international par l’ISO (International

Standardisation Organisation) sous le nom de « ENTITE RELATION ». [3]

1.9.3.1 Modèle conceptuel des Données (MCD)

Le modèle conceptuel des données (MCD) ne prend pas en compte des aspects organisationnels ou

physiques. L’objectif du MCD est d’identifier, de décrire des informations et de modéliser des objets

et associations. Cependant, la construction de ce modèle passe nécessairement par l’élaboration des

règles de gestion et la construction du dictionnaire de données. [3]

Page 19: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

9

1.9.3.2 Modèle Logique des Données (MLD)

Le modèle logique des données ou MLD fournit une description des données tenant compte des

moyens informatiques mis en œuvre. Il complète le modèle conceptuel des données ou MCD en

introduisant la notion d’organisation. Il indique donc comment les données seront organisées. Le

modèle logique des données s’obtient par application des règles de passage du MCD au MLD. Le

passage du modèle conceptuel des données au modèle logique des données suit un certain nombre

de règles :

- Règle n°1 :

Les entités deviennent des tables.

L’identifiant de l’entité devient la clé de la table.

Les propriétés de l’entité deviennent des attributs de la table.

- Règle n°2 : cas de l’association 0,1 ou 1,1 à plusieurs

L’entité qui est du côté de la cardinalité (0,1) ou (1,1) reçoit comme attribut l’identifiant de

l’autre entité.

Les propriétés de l’association deviennent des attributs de l’entité qui est du côté de la

cardinalité (0,1) ou (1,1).

- Règle n°3 : cas de l’association plusieurs à plusieurs

L’association devient une table.

Les identifiants des entités participant à l’association deviennent des attributs de

l’association, et ils forment ensemble la clé de cette table.

Les propriétés de l’association deviennent les attributs de la table issue de l’association. [3]

1.9.3.3 Modèle physique des Données (MPD)

Le modèle physique des données (MPD) étudie l’implémentation physique des données sur support

en les traduisant en enregistrements. Il nous permettra donc d’évaluer le volume de notre base de

données. Pour réaliser ce modèle, on se sert des propriétés des tables présentes au niveau du modèle

logique des données. [3]

Page 20: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

10

1.9.3.4 Modèle Conceptuel des traitements

Ce modèle permet la reconnaissance des traitements fondamentaux, c’est-à-dire, les opérations qui

sont réalisés en fonction d’événements afin de mettre en évidence les objectifs du système.

1.9.3.5 Modèle organisationnel des traitements

Ce modèle s’attache à décrire les propriétés des traitements non traitées par le MCT, c’est-à-dire,

la durée, le lieu et les ressources nécessaires à une action. [3]

1.10 Système de gestion de base de données (SGBD)

1.10.1 Principes de fonctionnement

La gestion et l'accès à une base de données sont assurés par un ensemble de programmes qui

constitue le Système de gestion de base de données (SGBD). Un SGBD doit permettre l'ajout, la

modification, la suppression et la recherche de données. Un système de gestion de bases de données

héberge généralement plusieurs bases de données, qui sont destinées à des logiciels ou des

thématiques différentes.

Actuellement, la plupart des SGBD fonctionnent selon un mode client/serveur. Le serveur (sous-

entendu la machine qui stocke les données) reçoit des requêtes de plusieurs clients et ceci de manière

concurrente. Le serveur analyse la requête, la traite et retourne le résultat au client. [2]

.

Figure 1.01 : Architecture client/serveur de MySQL

1.10.2 Modèle de base de données

1.10.2.1 Modèle hiérarchique

Une base de données hiérarchique est une forme de système de gestion de base de données qui lie

des enregistrements dans une structure arborescente de façon à ce que chaque enregistrement n'ait

qu'un seul possesseur. [2]

Page 21: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

11

Ce modèle est apparu dans les années 60, son but premier était de faciliter la représentation de

l'information. Celle-ci est représentée en arborescence.

Ses principaux points faibles sont :

- la recherche est difficile et coûteuse du fait que l'unique point d'entrée est la racine.

- Une faible dépendance logique, qui induit un manque de sémantique.

- Le changement de la structure des données implique une modification des applications qui

accèdent aux données. [5]

1.10.2.2 Modèle réseau

Le modèle réseau est en mesure de lever de nombreuses difficultés du modèle hiérarchique grâce à

la possibilité d'établir des liaisons de type N – N, les liens entre objets pouvant exister sans

restriction. Pour retrouver une donnée dans une telle modélisation, il faut connaître le chemin

d'accès (les liens) ce qui rend les programmes dépendants de la structure de données. [2]

1.10.2.3 Le modèle entité-association

Ce modèle est apparu dans les années 70, il permet une modélisation au niveau conceptuel. Trois

concepts sont associés à ce modèle : entité, propriété et association. Les avantages principaux de ce

modèle sont la sémantique et la facilité de lecture. [5]

1.10.2.4 Modèle relationnel

Dans ce modèle les données sont structurées suivant les principes de l'algèbre relationnelle. En

d'autres termes, les données sont enregistrées dans des tables.

Le père des bases de données relationnelles est Edgar Frank Codd. Chercheur chez IBM à la fin des

années 1960, il étudiait alors de nouvelles méthodes pour gérer de grandes quantités de données, car

les modèles et les logiciels de l'époque ne le satisfaisaient pas. Mathématicien de formation, il était

persuadé qu'il pourrait utiliser des branches spécifiques des mathématiques (la théorie des

ensembles et la logique des prédicats du premier ordre) pour résoudre des difficultés telles que la

redondance des données, l'intégrité des données ou l'indépendance de la structure de la base de

données avec sa mise en œuvre physique.

Page 22: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

12

En 1987, le langage SQL, qui étend l'algèbre relationnelle, a été standardisé.

Les avantages de ce modèle sont : son indépendance vis-à-vis de la structure logique et physique et

la garantie des contraintes émises.

Le principal inconvénient est la perte de la sémantique de hiérarchie.

1.10.2.5 Modèle objet

Pour ce modèle, les données sont décrites comme des classes et représentées sous forme d'objets.

Le plus généralement, ce modèle est établi en UML (Unified Modeling Language ou langage de

modélisation unifié). Le modèle Objet prend en compte les notions d'héritages et permet une

navigation simple.

L’ORM ou Object Relationnal Mapping permettent de modéliser les besoins utilisateurs en classe.

Autrement dit, les ORM associent des tables de bases de données traditionnelles à des objets

(classe). [5]

1.10.3 Quelques SGBD

1.10.3.1 MySQL

MySQL est donc un Système de Gestion de Bases de données relationnelles, qui utilise le langage

SQL. C’est un des SGBDR les plus utilisés. Sa popularité est due en grande partie au fait qu’il s’agit

d’un logiciel Open Source, ce qui signifie que son code source est librement disponible et que

quiconque qui en ressent l’envie et/ou le besoin peut modifier MySQL pour l’améliorer ou l’adapter

à ses besoins. Une version gratuite de MySQL est par conséquent disponible. À noter qu’une version

commerciale payante existe également. Le logo de MySQL est un dauphin, nommé Sakila. [6]

1.10.3.2 PostgreSQL

Comme MySQL, PostgreSQL est un logiciel Open Source. Il est cependant moins utilisé,

notamment par les débutants, car moins connu. La raison de cette méconnaissance réside sans doute

en partie dans le fait que PostgreSQL a longtemps été disponible uniquement sous Unix. La première

version Windows n’est apparue qu’à la sortie de la version 8.0 du logiciel, en 2005.

PostgreSQL a longtemps été plus performant que MySQL, mais ces différences tendent à diminuer.

Page 23: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

13

MySQL semble être aujourd’hui équivalent à PostgreSQL en termes de performances sauf pour

quelques opérations telles que l’insertion de données et la création d’index. Le langage procédural

utilisé par PostgreSQL s’appelle le PL/pgSQL. [6]

1.10.3.3 MS Access

MS Access ou Microsoft Access est un logiciel édité par Microsoft (comme son nom l’indique…).

Par conséquent, c’est un logiciel payant qui ne fonctionne que sous Windows. Il n’est pas du tout

adapté pour gérer un grand volume de données et a beaucoup moins de fonctionnalités que les autres

SGBDR. Son avantage principal est l’interface graphique intuitive qui vient avec le logiciel. [6]

1.10.3.4 Oracle database

Oracle, édité par Oracle Corporation est un SGBDR payant. Son coût élevé fait qu’il est

principalement utilisé par des entreprises. Oracle gère très bien de grands volumes de données. Il

est inutile d’acheter une licence oracle pour un projet de petite taille, car les performances ne seront

pas bien différentes de celles de MySQL ou d’un autre SGBDR. Par contre, pour des projets

conséquents (plusieurs centaines de Go de données), Oracle sera bien plus performant.

Par ailleurs, Oracle dispose d’un langage procédural très puissant (du moins plus puissant que le

langage procédural de MySQL) : le PL/SQL. [6]

1.11 Eléments constitutifs du modèle relationnel

Dans ce modèle, les données sont représentées par de tables, sans préjuger de la façon dont les

informations sont stockées dans la machine. Les tables constituent donc la structure logique du

modèle relationnel.

Attribut : Un attribut est un identifiant (un nom) décrivant une information stockée dans une base.

Domaine : Le domaine d'un attribut est l'ensemble, fini ou infini, de ses valeurs possibles.

Relation : Une relation est un sous-ensemble du point cartésien de n domaines d'attributs (n>0).

Schéma de relation : Un schéma de relation précise le nom de la relation ainsi que la liste des

attributs avec leurs domaines.

Page 24: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

14

Degré : Le degré d'une relation est son nombre d'attributs.

Occurrence ou n - uplets ou tuples : Une occurrence, ou un - uplets ou tuples, est un élément de

l'ensemble figuré par une relation. Autrement dit, une occurrence est une ligne du tableau qui

représente la relation.

Cardinalité : La cardinalité d'une relation est son nombre d'occurrences.

Clé candidate : Une clé candidate d'une relation est un ensemble minimal des attributs de la relation

dont les valeurs identifient à coup sûr l'occurrence.

La valeur d'une clé candidate est donc distincte pour tous les tuples de la relation. La notion de la

clé candidate est essentielle dans le modèle relationnel.

Clé primaire : Une clé primaire d'une relation est une de ses clés candidates. Pour signaler la clé

primaire, ses attributs sont généralement soulignés.

Clé étrangère : Une clé étrangère dans une relation est formée d'un ou plusieurs attributs qui

constituent une clé primaire dans une autre relation.

Schéma relationnel : Un schéma relationnel est constitué par l'ensemble des schémas de relation.

Base de données relationnelle : Une base de données relationnelle est constituée par l'ensemble

des n-uplets des relations du schéma relationnel. [2]

1.11.1 Normalisation

Les formes normales sont différents stades de qualité qui permet d'éviter la redondance, source

d'anomalies. Elles ont pour objectif de permettre la décomposition en relation sans perdre de

l’information (à partir du concept de dépendances fonctionnelles). [2] [5]

1.11.1.1 La première forme normale (1FN)

Une relation est dite de première forme normale, si tous les attributs de la relation contiennent une

valeur atomique. Un attribut atomique n’est pas : multivalué (liste de valeurs), ni composé (structuré

en sous-attributs).

Page 25: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

15

1.11.1.2 La deuxième forme normale (2FN)

Une relation est dite de deuxième forme normale, si, et seulement si, elle est en première forme

normale et si tout attribut n'appartenant pas à la clé ne dépend pas que d'une partie de la clé.

1.11.1.3 La troisième forme normale (3FN)

Une relation est en troisième forme normale si, et seulement si, elle est en deuxième forme normale

et si tout attribut n'appartenant pas à la clef ne dépend pas d'un attribut non-clé.

La troisième forme normale enlève les redondances dues aux dépendances transitives, permet de ne

pas perdre de l'information.

1.11.1.4 La forme normale de BOYCE-CODD (BCNF)

Une relation est en forme normale de BOYCE-CODD (BCNF) si, et seulement si, elle est en

troisième forme normale et si les seules dépendances fonctionnelles élémentaires sont celles dans

lesquelles une clé détermine un attribut.

Cette forme normale permet de renforcer certaines lacunes de la troisième forme normale.

1.11.2 Algèbre relationnelle

L'algèbre relationnelle est un support mathématique cohérent sur lequel repose le modèle

relationnel. On peut distinguer trois familles d'opérateurs relationnels :

Les opérateurs unaires (Sélection, Projection) : ce sont les opérateurs les plus simples, ils

permettent de produire une nouvelle table à partir d'une autre table.

Les opérateurs binaires ensemblistes (Union, Intersection, Différence) : ces opérateurs permettent

de produire une nouvelle relation à partir de deux relations de même degré et de même domaine.

Les opérateurs binaires ou n-aires (Produit cartésien, Jointure, Division) : ils permettent de

produire une nouvelle table à partir de deux ou plusieurs autres tables. [6]

1.12 Le langage SQL

Le langage SQL (Structured Query Language) peut être considéré comme le langage d'accès

normalisé aux bases de données. Il est aujourd'hui supporté par la plupart des produits commerciaux

que ce soit par les systèmes de gestion de bases de données micro tel que

Page 26: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

16

Access ou par les produits plus professionnels tels que Oracle. Le succès du langage SQL est dû

essentiellement à sa simplicité et au fait qu'il s'appuie sur le schéma conceptuel pour énoncer des

requêtes en laissant le SGBD responsable de la stratégie d'exécution. Néanmoins, le langage SQL

ne possède pas la puissance d'un langage de programmation : entrées/sorties, instructions

conditionnelles, boucles et affectations. Pour certains traitements il est donc nécessaire de coupler

le langage SQL avec un langage de programmation plus complet.

De manière synthétique, on peut dire que SQL est un langage relationnel, il manipule donc des

tables (i.e. des relations, c'est-à-dire des ensembles) par l'intermédiaire de requêtes qui produisent

également des tables. [2]

1.12.1 Langage de définition de données

Le langage de définition de données (LDD, ou Data Definition Language, soit DDL en anglais) est

un langage orienté au niveau de la structure de la base de données. Le LDD permet de créer,

modifier, supprimer des objets. Il permet également de définir le domaine des données (nombre,

chaîne de caractères, date, booléen, . . .) et d'ajouter des contraintes de valeur sur les données.

Les instructions du LDD sont : CREATE, ALTER, DROP, RENAME. [2] [6]

CREATE permet la création d'une structure de données.

ALTER permet la modification d'une structure de données.

DROP permet la suppression d'une structure de données.

RENAME permet le renommage d'une structure de données.

Ces commandes peuvent porter sur les structures de données de type suivantes :

TABLE : table ;

INDEX : indice ;

VIEW : table virtuelle ;

SEQUENCE : suite de nombres ;

SYNONYM : synonyme ;

USER : utilisateur. [11]

Page 27: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

17

Exemple :

- CREATE TABLE ‘etudiant’( ‘nom’ varchar(30),’prenom’ varchar(30)) ; -- création d’une

table dont le nom est ‘etudiant’, ses attributs sont ‘nom et prenom’, varchar(30) est le

domaine des données.

- ALTER TABLE ‘etudiant’ MODIFY (nom varchar(20)) ; -- modification du type de

données pour le champ ‘nom’ de la table ‘etudiant’.

- DROP TABLE ‘etudiant’ ; -- suppression de la table ‘etudiant’.

- RENAME TABLE ‘etudiant’ TO ‘etudiants’ ; -- pour le renommage.

1.12.2 Langage de manipulation de données

Le langage de manipulation de données (LMD, ou Data Manipulation Language, soit DML en

anglais) est l'ensemble des commandes concernant la manipulation des données dans une base de

données. Le LMD permet l'ajout, la suppression et la modification de lignes. [2] [6]

On distingue typiquement quatre types de commandes SQL de manipulation de données :

SELECT : sélection de données dans une table ;

INSERT : insertion de données dans une table ;

DELETE : suppression de données d'une table ;

UPDATE : mise à jour de données d'une table.

Exemple :

- SELECT nom, prenom, classe FROM eleves;

- INSERT INTO eleves (nom, prenom)VALUES ('Dupont', 'Matthieu');

- DELETE FROM eleves WHERE prenom = 'Paul' and nom = 'Durand';

- UPDATE eleves SET prenom = 'Henry' WHERE nom = 'Leroy';

La commande SELECT est l’une des LMD le plus utilisé dans une base de données relationnelle.

Elle a classiquement, la syntaxe suivante :

SELECT expr [, expr ...] FROM tables WHERE conditions GROUP BY expr HAVING conditions

ORDER BY expr LIMIT

Page 28: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

18

La première partie de la syntaxe d'une requête SELECT permet de définir quelles colonnes doivent

être extraites des tables, et éventuellement comment les valeurs de ces colonnes doivent être

agrégées.

Le mot-clé FROM permet de définir quelles tables, vues, ou sous requêtes serviront de sources de

données. C'est aussi dans la clause FROM qu'il est possible de définir des jointures entre tables.

Le mot-clé WHERE permet de définir les conditions de sélection des tuples.

Le mot-clé GROUP BY permet de définir, via des noms de colonnes ou des expressions, comment

les résultats doivent être groupés.

Le mot-clé HAVING permet de définir des conditions sur les résultats, agrégés, d'un GROUP BY.

Il se différencie donc du WHERE par le fait que le WHERE est utilisé à la sélection des tuples avant

le GROUP BY et que le HAVING est utilisé pour la sélection des tuples après agrégation par le

GROUP BY.

Le mot-clé ORDER BY permet de trier les résultats. Le tri est par défaut croissant, mais peut être

décroissant en utilisant le mot-clé DESC. Il est possible de tirer sur plusieurs champs, en cas d'égalité

sur le premier champ, le second est utilisé et ainsi de suite.

Le mot-clé LIMIT permet de limiter le nombre de résultats d'une requête.

1.12.3 Langage de contrôle d'accès

Le langage de protections d'accès (ou Data Control Language, soit DCL en anglais) s'occupe de

gérer les droits d'accès aux tables. [2] [6]

On distingue typiquement six types de commandes SQL de contrôle de données :

GRANT : autorisation d'un utilisateur à effectuer une action ;

DENY : interdiction à un utilisateur d'effectuer une action ;

REVOKE : annulation d'une commande de contrôle de données précédente ;

COMMIT : validation d'une transaction en cours ;

ROLLBACK : annulation d'une transaction en cours ;

LOCK : verrouillage sur une structure de données.

Exemple :

- Autorisation d'un utilisateur à effectuer une action :

Page 29: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

19

GRANT UPDATE (nom, prenom) ON eleves TO enseignant WITH GRANT OPTION;

- Interdiction d'un utilisateur à effectuer une action :

DENY DELETE TO enseignant

- Annulation d'une commande de contrôle de données précédente :

REVOKE UPDATE (nom, prenom) ON eleves FROM enseignant

- Validation d'une transaction en cours :

START TRANSACTION; UPDATE eleves SET age = '19' WHERE nom = 'Lacourt' and

prenom = 'Stephane'; COMMIT;

- Annulation d'une transaction en cours :

ROLLBACK TO sauvegarde;

- Verrouillage d'une structure de données :

LOCK TABLE eleves IN EXCLUSIVE MODE;

1.13 Conclusion

Dans ce chapitre, nous avons abordé quelques notions de la base de données, son importance, et le

système de gestion de base de données. Nous avons présenté, aussi, la méthode d’analyse et de

conception d’un système d’information avec MERISE ainsi que le langage SQL. Nous pouvons

déduire à partir de ce chapitre qu’afin d’en bénéficier des avantages de la base de données, il faut

respecter les étapes de conception.

Page 30: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

20

:

DEVELOPPEMENT D’APPLICATION D'ENTREPRISE

2.1 Introduction

Ce mémoire est axé sur la création d’une base de données et d’une application web pour l’ESPA

Vontovorona. Pour se faire, il faut manipuler plusieurs outils tels que le JMerise, Netbeans,

WAMPSERVER, HTML5, CSS3, Bootstrap3, PHP, JavaScript. Ce chapitre visera sur le

développement de ces outils ainsi que des notions liées au site web.

2.2 Généralité sur le site web

2.2.1 Internet

L’internet ou Interconnected Network est le réseau informatique mondial accessible au public.

L'information est transmise par internet grâce à un ensemble standardisé de protocoles de transfert

de données qui est le TCP/IP ou Transmission Control Protocol/Internet Protocol. [8]

L’une des notions les plus importantes à saisir lorsque l’on travaille sur web concerne les URL ou

Uniform Ressource Locator. En effet, l’URL est une adresse sur le web de la forme :

« [Protocole: //]Serveur [: Port] / Dossier/ [Fichier]», qui identifie chaque page web et chaque

document de manière unique.

Protocole étant le nom du protocole utilisé : http, ftp…

Serveur étant le nom d’une machine reliée à internet ou à son adresse IP.

Port est le numéro de port sur lequel le serveur est en attente. Suivant le protocole utilisé, il existe

toujours une valeur par défaut : 80 pour http, 20-21 pour ftp.

Dossier est le répertoire d’emplacement du contenu et le fichier le nom du fichier.

Les valeurs entre crochets sont facultatives. [9]

2.2.2 Web

Le Web est un système de fichiers présent sur des machines (serveurs) transitant par un protocole

particulier (HyperText Transfer Protocol: HTTP), consultable grâce à des navigateurs web et

fonctionnant sur Internet.

Page 31: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

21

2.2.3 Site web et application web

Un site web n’est rien d’autre qu’une interface graphique. On ne peut rien y faire d’autre que de

consulter les informations qu’on a placées dans le code HTML. En revanche, une application Web

ou web App est un programme dont l’interface graphique est un site web au travers d’un navigateur.

[9]

Figure 2.01 : Web App et site web

2.2.4 Page web

Une page web est l’unité de base du web. C’est un document distinct, mis en forme à l’aide du code

HTML, pour créer une source à laquelle les visiteurs peuvent se lier et la consulter ainsi. C’est un

fichier d’extension : .htm, .html,…

On peut subdiviser les pages web en deux grandes parties. [9]

2.2.4.1 Les pages web statiques

Ce sont des sites réalisés uniquement à l'aide des langages HTML et CSS. Ils fonctionnent très bien,

mais leur contenu ne peut pas être mis à jour automatiquement : il faut que le propriétaire du site (le

webmaster) modifie le code source pour y ajouter des nouveautés et ce n'est pas très pratique quand

on doit mettre à jour son site plusieurs fois dans la même journée. Ce type de site se fait de plus en

plus rare aujourd'hui, car dès que l'on rajoute un élément d'interaction (comme un formulaire de

contact), on ne parle plus de site statique, mais de site dynamique.

Page 32: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

22

Lorsque le site est statique, le schéma est très simple. Cela se passe en deux temps :

- Le client demande au serveur à voir une page web.

- Le serveur lui répond en lui envoyant la page réclamée. [10]

Figure 2.02 : Communication Client/serveur pour un site statique

Le client, c'est le navigateur Internet de l'internaute comme, Mozilla Firefox, Google Chrome, Opéra

etc.

Le serveur web ou encore serveur http est un ensemble ordinateur/logiciel paramétré pour pouvoir

traiter certains types de pages et notamment celles qui contiennent des instructions de

programmation. Il reconnaît ces pages grâce à l'URL qu'il reçoit, effectue les traitements demandés

et transmet le résultat au format html au browser de l'internaute. Un serveur HTTP est, comme tout

serveur, à l'écoute des connexions en provenance de l'extérieur sur un port donné. Le port standard

pour un serveur HTTP est le numéro 80. À chaque requête qu'il reçoit, le serveur présente à

l'utilisateur la page demandée.

Ce type de site a l’avantage d’être rapide et facile à mettre en place. C’est un outil idéal pour donner

un avant-gout/maquette d’un site Web à construire. [12]

2.2.4.2 Les pages web dynamiques

Ce sont des pages plus complexes, ils utilisent d'autres langages en plus de HTML et CSS, tels que

PHP et MySQL. Le contenu de ces sites web est dit « dynamique » parce qu'il peut changer sans

l'intervention du webmaster. Une page web dynamique est construite à la demande par le serveur

(côté serveur), en fonction de critères spécifiques. La plupart des sites web d’aujourd’hui sont des

sites dynamiques.

Lorsque le site est dynamique, il y a une étape intermédiaire : la page est générée.

- Le client demande au serveur à voir une page web.

- Le serveur prépare la page spécialement pour le client.

- Le serveur lui envoie la page qu'il vient de générer. [10]

Page 33: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

23

Figure 2.03 : Communication Client/serveur pour un site dynamique

2.2.5 FTP

FTP veut dire « File Transfert Protocol » ou Protocole de transfert de Fichier. C’est donc un langage

qui va permettre l’échange de fichiers entre 2 ordinateurs, et plus exactement entre un serveur et un

client. On parle alors de : serveur FTP et client FTP.

Le serveur FTP est un logiciel qui va répondre aux demandes des clients. Lorsque le serveur reçoit

une demande, il vérifie les droits et si le client à les droits suffisants, il répond à cette demande sinon

la demande est rejetée. Un exemple de serveur FTP est le FilleZilla Server.

Le client FTP, c’est lui qui va être à l’initiative de toutes les transactions. Il se connecte au serveur

FTP, effectue les commandes (récupération ou dépôt de fichiers) puis se déconnecte. Toutes les

commandes envoyées et toutes les réponses seront en mode texte. (Cela veut dire qu’un humain

peut facilement saisir les commandes et lire les réponses). Le protocole FTP n’est pas sécurisé : les

mots de passe sont envoyés sans cryptage entre le client FTP et le serveur FTP. (Le protocole FTPS

avec S pour « secure » permet de crypter les données). Un exemple de client FTP est le FilleZilla

client.

Grâce à FTP, il est possible de sauvegarder ou d’envoyer des fichiers sur des serveurs distants sans

passer par le web. On peut également se servir des services FTP pour échanger des fichiers avec

des personnes ou des entreprises surtout lorsque la taille du fichier est supérieure à 20Mo. [20]

2.3 Système d’entreprise

Un système est un élément fini dont le périmètre est une frontière qui le sépare de son

environnement.

Il interagit avec son environnement grâce à des flux d’informations entrantes, qu’il va traiter et

restituer à l’environnement sous forme de flux d’informations sortantes.

Page 34: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

24

Un système a besoin, pour prendre des décisions, de stocker et de traiter des informations.

Figure 2.04 : Représentation schématique des systèmes de l’entreprise

2.3.1 Le système de pilotage

Le système de pilotage définit les missions et les objectifs, organise l’emploi des moyens, contrôle

l’exécution des travaux. Il assigne des objectifs à l’organisation, analyse l’environnement et le

fonctionnement interne à l’organisation, contrôle le système opérant. Il est relié aux autres systèmes

par des flux d’informations internes.

2.3.2 Le système d’information

Le système d’information est l’ensemble des ressources humaines, techniques et financières qui

fournissent, utilisent, compilent, traitent et distribuent l’information de l’organisation. Il alimente

l’organisation en informations d’origines diverses (internes ou externes). Il est la passerelle

obligatoire pour toutes les informations de l’entreprise.

Page 35: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

25

2.3.3 Le système opérant

Le système opérant est l’ensemble des moyens humains, matériels, organisationnels qui exécutent

les ordres du système de pilotage. Il assure le fonctionnement du système global, son activité est

contrôlée par le système de pilotage.

2.4 Outils nécessaires pour la mise en œuvre de ce projet

Pour mettre en œuvre l'application web, il faut préalablement choisir un langage de programmation,

un système de gestion de base de données, une méthode de conception et des outils de

développement.

2.4.1 Choix du langage de programmation

Le langage le plus approprié pour la programmation du site, en plus de HTML qui nous servira de

base, sera le PHP, lui-même combiné à un système de gestion de base de données, MySQL. Ce sont

les langages que l’on utilise le plus souvent pour la programmation des sites web, car ils permettent

de rendre les pages Web plus dynamiques. Tout d’abord, le PHP est un langage de programmation

qui s’intègre dans les pages HTML. Il permet, entre autres, de rendre automatiques des tâches

répétitives, notamment grâce à l’utilisation de fonctions qui sont en quelque sorte des petits

programmes permettant d’accomplir ces tâches, et grâce à la communication avec une base de

données (qui contient les informations). De plus, il fallait choisir un langage permettant de

manipuler les sessions. Une session correspond à l’intervalle de temps compris entre le premier

accès par un utilisateur au site web et la clôture de toutes les fenêtres de son navigateur. Les sessions

permettront de stocker les informations concernant le membre connecté, PHP gère très bien les

sessions et elles ne sont pas difficiles à utiliser et à mettre en œuvre. PHP offre aussi l’avantage

d’être multiplateforme. On peut l’utiliser sous n’importe quel système d’exploitation (Windows,

linux, MacOs). De plus, en termes de rapidité d’exécution, les temps de réponse de PHP sont très

satisfaisants. [16]

2.4.1.1 HTML

Le HTML, acronyme d’HyperText Markup Language, est le langage de base d’un site web. Il est

aussi appelé langage de structuration de page web. Il a été créé par Tim Berners-Lee au début des

années 1990. Le HTML permet de créer des pages web au moyen de balises ouvrantes (<html>) et

Page 36: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

26

de balises fermantes (</html>). Ce balisage sert à définir la structure du texte entouré (titres, sous-

titres, paragraphes, images, formulaires, liens). Des navigateurs comme Chrome, Explorer, Mozilla

traduisent le langage HTML pour le rendre lisible pour les utilisateurs. C’est la base d’une page

Web, parfois la seule considérée et utilisée par le logiciel qui visite cette page, comme les moteurs

de recherche ou les navigateurs textuels. On qualifie de « statiques » les pages dont le code HTML

n’est modifié ni par JavaScript ni par PHP avant ou après l’affichage dans le navigateur. Grâce au

protocole HTTP, il permet de lire des documents sur internet à partir de machine différentes. On

peut ainsi accéder, via le réseau à des documents repérés par une adresse unique, appelée URL. Ces

documents sont organisés autour d’une page d’accueil qui guide les visiteurs vers d’autres pages

HTML grâce à des hyperliens. [13]

La dernière version de HTML est le HTML5. Cette version a été finalisée le 28 octobre 2014. Dans

le langage courant, HTML5 désigne souvent un ensemble de technologies Web (HTML5, CSS3 et

JavaScript) permettant notamment le développement d'applications.

2.4.1.2 CSS

Le code CSS (Cascading Style Sheets, ou feuilles de styles en cascade) permet de modifier la

présentation des éléments HTML : couleur, taille, police de caractères, mais aussi position sur la

page, largeur, hauteur, empilement, bref tout ce qui touche à la mise en page d’un document HTML.

Ainsi, un même document HTML pourra changer d’apparence sans changer de structure, grâce

uniquement à la modification des règles CSS qui lui sont appliquées.

La séparation de la structure et de la présentation facilite ainsi la construction, mais aussi la

maintenance et l’évolution des pages Web. Le principe des feuilles de style consiste alors à attribuer

des caractéristiques de mise en forme à des groupes d’éléments. On définit par un nom une

caractéristique de mise en forme. Puis, il suffit ensuite de l’appeler pour l’appliquer à un texte. Ces

feuilles de styles permettent :

- D’avoir une présentation homogène sur tout un site ;

- De pouvoir changer l’aspect du site entier en modifiant quelques lignes ;

- D’avoir une plus grande lisibilité du HTML ;

- D’avoir un positionnement rigoureux des éléments ;

- De changer plus rapidement les pages.

Page 37: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

27

Le développement du troisième niveau des feuilles de styles en cascade CSS3 commence dès 1999.

CSS3 devient « modulaire », afin de faciliter ses mises à jour, mais aussi son implémentation par

des agents utilisateurs aux capacités et aux besoins de plus en plus variés (navigateurs graphiques,

navigateurs pour mobiles, navigateurs vocaux). [13]

2.4.1.3 Bootstrap

Bootstrap est un framework destiné à faciliter la création d’applications web. Un Framework est

d’abord un outil qui regroupe tout un ensemble de fonctionnalités préexistantes. Il nous permet de

bénéficier d’une architecture d’application de base et offre ainsi aux développeurs un confort de

conception grâce notamment à une facilité et à une rapidité de développement, à des conventions

précises et à une décomposition de l’application méthodique et logique. Il regroupe une collection

d’outils fournis sous la forme de classes CSS et de librairies JavaScript et optimise la création du

design (graphisme, animation et interactions avec la page dans le navigateur ... etc. ...) de sites et

d'applications web. Bootstrap a été créé par deux développeurs du réseau social Twitter en aout

2011. Ce framework dispose d’une grille décomposable en 12 colonnes et qui permet de placer les

éléments avec beaucoup plus de facilité. Bootstrap se démarque des autres frameworks, car il a

l’avantage de :

- Etre « responsive », c’est-à-dire, s’adapte à la taille de l’écran, que ce soit tablette,

ordinateur, smartphone, etc.)

- Fonctionner sur tous les navigateurs.

- Posséder deux types de « layout » ou disposition: le premier qui est fixe (la « scrollbar »

ou barre déroulante s’affichera si nécessaire), le second qui s’adapte à la largeur du

navigateur.

- Embarquer un tas de composants prêts à l’usage (labels, badges, boutons, icônes, menus,

« navbar », « progressbar », etc.) qui sont plutôt soignés.

- Posséder également une dizaine de composants JavaScript comme des modals, alert, etc.

permettant de donner un peu d’interaction à votre future interface. En bref, c’est un

framework très complet. [14] [15]

Page 38: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

28

2.4.1.4 JavaScript

Le JavaScript est un langage qui est lu et exécuté par notre navigateur ou le client (donc directement

sur notre ordinateur) et qui permet de créer des réactions en réponse à des événements sur la page

ou à des actions de l’utilisateur. Par exemple :

- un clic sur un lien qui affiche un texte masqué progressivement ;

- un compteur qui défile ;

- l’apparition renouvelée d’actualités sans que le navigateur ne demande à nouveau la page au

serveur ;

Auparavant, le code JavaScript était souvent intégré au code HTML, mais là encore, on préconise

aujourd’hui la séparation des deux langages pour des raisons d’organisation du code, mais aussi

d’accessibilité du site.

Le JavaScript est capable lui-même d’écrire du code HTML ou CSS, et donc de modifier

totalement la base d’une page Web. [13]

2.4.1.5 JQuery

JQuery est une bibliothèque JavaScript libre qui porte sur l’interaction entre JavaScript et HTML,

et a pour but de simplifier des commandes communes de JavaScript. [13]

2.4.1.6 PHP

PHP est un langage de script HTML exécuté du côté du serveur. Il veut dire « PHP Hypertext

Preprocessor ». Sa syntaxe est largement inspirée du langage C, de Java et de Perl, avec des

améliorations spécifiques. Le but du langage est d'écrire rapidement des pages HTML dynamiques.

Le langage PHP permet de rendre un site dynamique en utilisant des bases de données. Celui-ci

est compilé du côté du serveur qui n'envoie au client que le résultat HTML. À chaque accès au site,

le serveur génère donc une page unique.

Pour insérer du code PHP dans une page HTML, il faut tout d'abord changer l'extension du fichier

en .php Le code s'insère entre deux balises : <?php ?>

L'affichage du texte se fait à l'aide de la fonction echo. Exemple : echo "Texte $variable suite";

Une variable est notée comme ceci : $variable; Elle peut être déclarée n'importe où dans le code et

il n'est pas nécessaire de préciser son type.

Page 39: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

29

Un tableau est une variable qui va contenir plusieurs valeurs.

Déclaration d'un tableau : $tableau = array('Valeur1', 'Valeur2');

Concernant les sessions, les sessions permettent de créer des variables qui vont être sauvegardées

même lorsqu’ on change de page. C'est très utilisé pour faire les espaces membres de sites Web et

qui est surement le cas de ce projet. Pour ça, il faut démarrer la session avec session_start(). Il faut

la démarrer avant de taper du code HTML.

Les variables ont la forme : $_SESSION['nom'] = valeur;

Pour détruire ces valeurs, il faut utiliser session_destroy().

Concernant la gestion des formulaires, le but est de récupérer le contenu des champs d'un formulaire

HTML dans notre code PHP pour pouvoir le traiter. Lorsqu'un formulaire est envoyé à un script

PHP, toutes les variables seront disponibles automatiquement dans le script.

Les formulaires peuvent être de type GET ou POST. Pour un formulaire de type GET, les

informations sont passées directement par l'URL en clair, ce qui peut poser des problèmes de

limitations suivant le serveur. La méthode POST n'a pas ce genre de limitation, car les informations

sont transmises par le conteneur de variables globales (dans l'entête) et sont de plus cachées. PHP

peut gérer les deux méthodes de manière transparente.

Comme dans d’autres langages de programmation, le PHP utilise aussi les structures conditionnelles

if… else simple ou imbriquée, switch ainsi que les boucles for, foreach et while.

Il utilise également des fonctions. Une fonction permet de renvoyer un résultat en fonction de

données passées en paramètres. [16]

Il est possible de développer en objet (orienté) en PHP.

2.4.2 Choix du système de gestion de base de données

Le choix d'un SGDB est crucial dans un projet informatique dans la mesure où il apporte une

influence majeure sur les performances d'une application. Dans cette étude comparative, nous

proposons trois SGBD : MySQL, PostgreSQL et SQL Server. [10]

PostGreSQL MySQL SQL Server

avantages PostGreSQL garde

l'avantage avec une

panoplie beaucoup

plus étendue: il

Rapide : le serveur

MySQL est très

rapide. Ceci s'explique

par le fait qu'il est un

Produit Microsoft

ce qui lui a permis

d'offrir de

meilleure

Page 40: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

30

gère les types

utilisateurs, les

tableaux, des

langages

procéduraux tels

que PHP, Java et

bien d'autres ;

PostGreSQL jouit

d'un système

d'extensions

vraiment utile et

d'autres aspects tels

que les règles qui

permettent d'insérer

des données depuis

une vue par

exemple.

SGBD qui a été conçu

à l'origine pour être

performant sur des

applications Web,

donc destiné aux

applications Web dont

le critère principal est

la rapidité.

Facile à utiliser

MySQL est beaucoup

plus simple à utiliser

que la plupart des

serveurs de bases de

données commerciaux

Connexion et Sécurité :

MySQL dispose d'un

système de sécurité

permettant de gérer les

personnes et les

machines pouvant

accéder aux différentes

bases.

performance pour

certaines librairies

du Framework.net.

inconvénients Le temps

d'exécution des

requêtes est moins

rapide que MySQL

au traitement des

requêtes.

MySQL s'occupe avec

excellence des petits

volumes de données,

avec un faible nombre

d'utilisateurs ;

Produit Microsoft

donc payant et pas

forcément

compatible avec

tous(puis migration

impossible si

changement de

plateforme).

Tableau 2.01: Comparaison de Systèmes de Gestion de Bases de données.

Page 41: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

31

Ce projet consiste à développer une application Web ce qui implique qu'il nécessite un temps de

réponse rapide de la part du Système de Gestion de Base de données. Vu que MySQL est plus rapide

par rapport à PostgreSQL et non payant, nous adoptons MySQL pour notre SGBD.

2.4.3 Choix de l’outil de développement PHP

Il n'est pas obligatoire d'utiliser des IDE pour développer en PHP, bloc note ou Notepad peuvent

très bien suffire. Toutefois, l'utilisation des IDE permet de gagner de temps en phase de

développement. Il existe de nombreux IDE libre et payant sur le marché. Notre choix s'est porté sur

NetBeans, car il apporte des fonctionnalités utiles telles qu'une auto complétion des codes, ainsi que

les colorations syntaxiques.

2.4.4 Choix d’outil de conception de la base de données

La MERISE est la méthode choisie comme méthode de conception. Afin de faciliter la conception,

l’utilisation d’un logiciel est bénéfique. Dans le cas de ce projet, nous avons utilisé le logiciel

JMerise. Ce logiciel permet de spécialiser ou de généraliser les entités et de rajouter des contraintes

sur les relations (associations). L’utilisation de JMerise est très intuitive et multiplateforme. Les

fonctionnalités offertes par JMerise sont très variées et complètes mais restreintes uniquement à

l’utilisation des Modèles MCD. Sa prise en main est facile et se fait naturellement et rapidement.

JMerise permet de faire :

- La création d’un ou plusieurs Modèles conceptuels de données MCD ;

- La vérification des MCDs et génération du MLD ;

- La génération des scripts SQL propres à différentes SGBD : MySQL, PostGres, … ;

- Création des bases de données : MySQL, PostgreSQL… ;

- Exportation des dictionnaires de données et la liste des types sous format texte ;

- Exportation des MCD/MLD sous forme d’image jpg ;

- Rétro-Conception : Création des MCDs à partir des bases de données ;

- Etc… [17]

2.4.5 Plate-forme de développement web

Afin de faire fonctionner ce projet localement (sans se connecter à un serveur externe), nous avons

utilisé WampServer comme plate-forme de développement web. WampServer n'est pas en soi un

Page 42: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

32

logiciel, mais un environnement comprenant deux serveurs (Apache et MySQL), un interpréteur de

script (PHP), ainsi que phpMyAdmin pour l'administration web des bases MySQL.

Le WampServer utilisé ici est de version 2.5. Il intègre Apache-2.4.9, Mysql-5.6.17, php5.5.12 et

phpMyAdmin4.1.14. [18]

Le serveur web pour notre application est Apache. C’est un serveur web open-source basé sur le

protocole HTTP et fonctionnant sous Linux et sous Windows, apparu en avril 1995. C’est le serveur

web le plus utilisé (environ 70 % des serveurs web utilisent Apache actuellement). La première version

est sortie en décembre 1995.

2.5 Architecture logicielle

L’architecture logicielle décrit d’une manière symbolique et schématique les différents éléments

d’un ou de plusieurs systèmes informatiques, leurs interrelations et leurs interactions.

2.5.1 Architecture MVC

L’architecture MVC (modèle, vue et contrôleur) est un concept très puissant qui intervient dans la

réalisation d’une application. Son principal intérêt est la séparation des données (modèle), de

l’affichage (vue) et des actions (contrôleur). Le principe d’une telle structure est de diviser

l’application en 3 parties distinctes :

- Les modèles : ils représentent les données de l’application et permettent l’interaction avec

la base de données.

- Les vues : ce sont les représentations (les templates) des résultats de la requête que

l’utilisateur a effectuée.

- Les contrôleurs : ils interceptent toutes les requêtes faites par les utilisateurs. [19]

Figure 2.05 : Structure du modèle MVC

Page 43: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

33

Le traitement d'une demande d'un client se déroule selon les étapes suivantes :

- Le client fait une demande au contrôleur. Ce contrôleur voit passer toutes les demandes des

clients. C'est la porte d'entrée de l'application. C'est le C de MVC.

- Le contrôleur traite cette demande. Pour ce faire, il peut avoir besoin de l'aide de la couche

métier, ce qu'on appelle le modèle M dans la structure MVC.

- Le contrôleur reçoit une réponse de la couche métier. La demande du client a été traitée.

Celle-ci peut appeler plusieurs réponses possibles. Un exemple classique est une page

d'erreurs si la demande n'a pu être traitée correctement ou une page de confirmation sinon.

- Le contrôleur choisit la réponse (= vue) à envoyer au client. Celle-ci est le plus souvent une

page contenant des éléments dynamiques. Le contrôleur fournit ceux-ci à la vue.

- La vue est envoyée au client. C'est le V de MVC. [19]

2.5.2 Avantages de l’architecture MVC

Un avantage apporté par ce modèle est la clarté de l'architecture qu'il impose. Cela simplifie la tâche

du développeur qui tenterait d'effectuer une maintenance ou une amélioration sur le projet. En effet,

la modification des traitements ne change en rien la vue. Par exemple on peut passer d'une base de

données de type SQL à XML en changeant simplement les traitements d'interaction avec la base, et

les vues ne s'en trouvent pas affectées. [19]

Une telle architecture est souvent appelée "architecture 3-tiers" ou à 3 niveaux.

2.5.3 Architecture 2-tiers

L'architecture à deux niveaux (aussi appelée architecture 2-tiers, tiers signifiant étages en anglais)

caractérise les systèmes clients/serveurs dans lesquels le client demande une ressource et le serveur

la lui fournit directement. Cela signifie que le serveur ne fait pas appel à une autre application afin

de fournir le service. [19]

2.5.4 Architecture 3-tiers

Il s’agit d’un modèle logique d’architecture applicative qui vise à modéliser une application comme

un empilement de trois couches logicielles (étages, niveaux, tiers ou strates).

- Le client: le demandeur de ressources ;

- Le serveur d'application (appelé aussi middleware): le serveur chargé de fournir la

ressource, mais faisant appel à un autre serveur ;

Page 44: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

34

- Le serveur secondaire (généralement un serveur de base de données), fournissant un

service au premier serveur. [19]

Figure 2.06 : Architecture 3-tiers

2.6 Gestion de la sécurité

Un système d’authentification par login et mot de passe sécurise l’interface de mises à jour. Ainsi

chaque personne référencée dans la base de données possède un login et un mot de passe leur

permettant de consulter ou de mettre à jour ses informations. De même, l’interface d’administration

n’est accessible qu’à partir d’un identifiant et d’un mot de passe délivré aux administrateurs du site

et de la base.

Pour gérer ce système de mot de passe, deux attributs « login » et « mot de passe » figurent dans

une table de la base de données.

Les scripts d’authentification s’assurent dans un premier temps que login et le mot de passe saisi

par l’internaute correspondent bien à ceux dans la base de données. Si oui, l’accès est autorisé, sinon,

l’internaute doit recomposer les deux champs.

2.7 Conclusion

Dans ce chapitre, nous avons présenté quelques notions sur le site web. Nous avons cité aussi les

outils utilisés tels que les langages de développement, les frameworks, les librairies, les logiciels et

plates-formes de développement web afin de réaliser ce projet. Pour assurer l’évolutivité de

l’application, l’architecture logicielle MVC est avantageuse.

Page 45: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

35

:

REALISATION DE L’APPLICATION G-ESPA

3.1 Introduction

Dans les deux chapitres précédents, nous avons présenté la méthode de conception de la base de

données et le développement d’application d’entreprise. Ces études théoriques sont très importantes,

mais insuffisantes et insignifiantes sans pratiques. Donc dans ce dernier chapitre nous allons

présenter la réalisation de l’application de gestion de l’Ecole Supérieure Polytechnique

d’Antananarivo que nous avons nommé G-ESPA en manipulant tous les outils cités dans les

chapitres précédents.

3.2 Objectifs

Avant de se mettre à coder des lignes et des lignes de code, il faut tout d’abord limiter et tracer un

cadre de développement qui donnera la vue générale du projet et les objectifs souhaités par ce

dernier. C’est pour cela que la partie primordiale du projet est sa conception, car une conception

idéale donne automatiquement un projet réussi.

Ce projet est conçu pour gérer l’ensemble des données et d’informations circulant au sein de l’ESPA

Vontovorona que ce soit étudiants, enseignants, personnel administratif et technique, matières,

mentions, parcours, notes des étudiants, emploi du temps… Toutes ces données doivent être

stockées dans une base de données et accessibles par les utilisateurs à travers une interface web

selon les accès qui leur sont autorisés.

3.3 Les utilisateurs

Quatre grands types d’utilisateurs existent au sein de l’ESPA. La figure 3.01 montre l’organigramme

de ce dernier avec le mode de codage de leurs identifiants.

Page 46: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

36

Figure 3.01 : Organigramme des utilisateurs et codage de leurs identifiants

L’identifiant de l’étudiant est codé de la manière suivante :

Code mention + code grade/niveau à la première inscription à l’ESPA + année de première

inscription à l ESPA + numéro d’inscription

Exemple : TCO1I14034 : cet étudiant est en mention télécommunication. Il est entré à l’ESPA en

première année, cycle ingéniorat, en 2014 avec le numéro 034.

Quant aux autres types d’utilisateurs, le xxx varie de 001 et est incrémenté d’un pas à chaque nouvel

utilisateur.

3.4 Conception de la base de données

3.4.1 Identification des entités

Voici les entités qui figurent dans la base de données :

- Actualité

- Année universitaire

- Information sur baccalauréat

- Bulletin

- Compte

Page 47: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

37

- Elément constitutif

- Emploi du temps

- Enseignant

- Enseignement

- Etudiant

- Grade / Niveau

- Information scolaire

- Mention

- Parcours

- Personnel administratif et technique

- Salle

- Semestre

- Unité d’enseignement

3.4.2 Dictionnaire des données

Entités Attributs Types et taille Définition Observation

Actualite idActu Auto-incrémenté Id de l’atualité Clé primaire

contenu text Contenu de l’actualité

image varchar(40) Chemin de l’image

datePub datetime Date et heure de publication

Annuniv

_sem

id Auto-incrémenté Id de la table Clé primaire

debutSem date Début semestre

finSem date Fin semestre

Ann_uni

v

codAnn_uni int(11) Code de l’année Clé primaire

ann_uni varchar(25) Année universitaire

bacc idBacc Auto-incrémenté Id de la baccalauréat Clé primaire

annObtention year Année d’obtention du bacc

serie varchar(25) Serie en baccalauréat

numBacc varchar(25) Numéro baccalauréat

prom year Année d’entrée à l’ESPA

etabOrigine varchar(150) Établissement d’origine

Page 48: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

38

bulletin idBull Auto-incrémenté Id du bulletin Clé primaire

note float Note de l’EC

compte idCompte Auto-incrémenté Id du compte Clé primaire

login varchar(25) Identifiant du compte UNIQUE

pass varchar(25) Mot de passe

type varchar(15) Type d’utilisateur

ec codEC varchar(25) Code de l’EC Clé primaire

nomEC varchar(50) Nom de l’EC

emploidu

temps

idEDT Auto-incrémenté Id de l’emploi du temps Clé primaire

Jour tinyint(4) Jour de la semaine

heure tinyint(4) heure

nbCredit tinyint(4) Nombre de crédit

enseigna

nt

numMatr varchar(25) Identifiant de l’enseignant Clé primaire

numTag varchar(25) Numéro tag UNIQUE

nomEns varchar(60) Nom de l’enseignant

prenomEns varchar(60) Prénom de l’enseignant

sexe varchar(10) sexe

datNais date Date de naissance

lieuNais varchar(150) Lieu de naissance

numTel varchar(40) Numéro téléphone

mail varchar(40) Adresse e-mail

grade varchar(100) grade

photoProf varchar(40) Chemin vers la photo

enseigne

ment

idEns Auto-incrémenté Id de l’enseignement Clé primaire

codParcours varchar(10) Code du parcours Clé étrangère

codEC varchar(25) Code de l’EC Clé étrangère

idSem int(11) Code du semestre Clé étrangère

numMatr varchar(10) Identifiant de l’enseignant Clé étrangère

etudiant codEtud varchar(25) Identifiant de l’étudiant Clé primaire

numTag varchar(25) Numéro tag

nomEtud varchar(60) Nom de l’étudiant

Page 49: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

39

prenomEtud varchar(60) Prénom de l’étudiant

sexe varchar(10) Sexe de l’étudiant

datNais date Date de naissance

lieuNais varchar(150) Lieu de naissance

nationalite varchar(30) Nationalité

situFami varchar(20) Situation de famille

telephone varchar(40) Numéro téléphone

mail varchar(60) Adresse e-mail

nomPere varchar(100) Nom du père

professionP varchar(100) Profession du père

nomMere varchar(100) Nom de la mère

professionM varchar(100) Profession de la mère

adParents varchar(100) Adresse des parents

telParents varchar(40) Numéro telephone des parents

photoEtud varchar(40) Chemin vers photo de

l’étudiant

gradeniv

eau

codGN varchar(10) Code de la grade/niveau Clé primaire

nomGN varchar(30) Nom de la grade/niveau

informati

onscol

idIS Auto-incrémenté Id de l’information scolaire Clé primaire

numCE varchar(25) Numéro de la carte étudiante

codEtud varchar(25) Identifiant de l’étudiant Clé étrangère

idSem int(11) Id du semestre Clé étrangère

codParcours varchar(10) Code du parcours Clé étrangère

codGN varchar(10) Code de la grade/niveau Clé étrangère

codAnn_uni int(11) Code de l’année universitaire Clé étrangère

validation varchar(10) Validation de la semestre

mention codMention varchar(10) Code de la mention Clé primaire

nomMention varchar(40) Nom de la mention

parcours codParcours varchar(10) Code du parcours Clé primaire

nomParcours varchar(40) Nom du parcours

pat identifiant varchar(25) Identifiant du PAT Clé primaire

Page 50: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

40

numTag varchar(25) Numéro du Tag

nom varchar(60) nom

prenom varchar(60) prénom

sexe varchar(10) sexe

datNais date Date de naissance

lieuNais varchar(60) Lieu de naissance

numTel varchar(40) Numéro téléphone

mail varchar(40) Adresse e-mail

photo varchar(40) Chemin vers la photo

salle codSalle varchar(25) Code de la salle Clé primaire

nomSalle varchar(40) Nom de la salle

semestre idSem Auto-incrémenté Id de la semestre Clé primaire

nomSem varchar(20) Nom du semestre

ue codUE varchar(10) Code de l’UE Clé primaire

nomUE varchar(40) Nom de l’UE

Tableau 3.01: Dictionnaire des données

3.4.3 Règles de gestion

- Année universitaire - semestre : Une année universitaire peut appartenir dans 1 à N semestres

et un semestre peut être appartenu dans 1 à N années universitaires avec les dates de débuts

et fins de chaque semestre.

- Semestre - information scolaire : un semestre peut être contenu dans 1 à N informations

scolaires, mais une information scolaire ne peut contenir qu’un et un seul semestre.

- Semestre - Enseignement : un semestre peut être contenu dans 1 à N enseignements, mais

un enseignement ne peut contenir qu’un et un seul semestre.

- Semestre – grade / niveau : Un semestre peut être contenu dans 1 à N grade / niveau et un

grade / niveau peut être contenu dans 1 à N.

- Information scolaire - parcours : une information scolaire ne peut contenir qu’un et un seul

parcours, mais un parcours peut contenir 1 à N informations scolaires.

- Information scolaire - grade / niveau : une information scolaire ne peut contenir qu’un et un

seul grade / niveau, mais un grade / niveau peut être contenu dans 1 à N informations

scolaires.

Page 51: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

41

- Information scolaire - étudiant : une information scolaire ne peut contenir qu’un et un seul

étudiant, mais un étudiant peut contenir 1 à N informations scolaires.

- Information scolaire - Bulletin : une information scolaire peut posséder dans 1 à N bulletins

de notes, mais un bulletin de notes ne peut être possédé que par une et une seule Information

scolaire.

- Parcours - mention : une mention peut contenir 1 à N parcours, mais un parcours ne peut

être contenu que dans une et une seule mention.

- Parcours – enseignement : un parcours peut être eu par 1 à N enseignements, mais un

enseignement ne peut avoir qu’un et un seul parcours.

- Etudiant – Baccalauréat : un étudiant ne possède qu’une et une seule information sur son

baccalauréat et de même qu’une information sur baccalauréat ne peut être possédée que par

un et un seul étudiant.

- Etudiant – compte : un étudiant ne possède qu’un et un seul compte et de même qu’un

compte ne peut être possédé que par un et un seul étudiant.

- Compte – enseignant : un enseignant ne possède qu’un et un seul compte et de même qu’un

compte ne peut être possédé que par un et un seul enseignant.

- Compte – personnel administratif et technique ou PAT : un PAT ne possède qu’un et un seul

compte et de même qu’un compte ne peut être possédé que par un et un seul PAT.

- Enseignant – enseignement : un enseignant peut avoir 1 à N enseignements, mais un

enseignement ne peut avoir qu’un et un seul enseignant.

- EC – UE : une UE peut appartenir 1 à N EC, mais un EC ne peut être appartenu que par une

et une seule UE.

- EC – Enseignement : un EC peut avoir 1 à N enseignements, mais un enseignement ne peut

avoir qu’un et un seul EC.

- EC – Bulletin : un EC peut appartenir à 1 à N bulletins, mais un bulletin ne peut être

appartenu que par un et un seul EC.

- Mention – salle : une mention peut utiliser 1 à N salles, mais une salle ne peut être utilisée

que par une et une seule mention.

- Emploi du temps – salle : un emploi du temps ne peut avoir qu’une et une seule salle, mais

une salle peut être eu par 1 à N emploi du temps.

- Emploi du temps – enseignement : un emploi du temps ne peut avoir qu’un et un seul

enseignement, mais un enseignement peut être eu par 1 à N emploi du temps.

Page 52: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

42

3.4.4 MCD

Le MCD issu des règles de gestion est créé via le logiciel JMerise. La figure 3.02 montre le résultat.

Figure 3.02 : MCD de la base de données

Page 53: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

43

3.4.5 MLD

Après avoir vérifié que le MCD est correct, le MLD est généré automatiquement par ce même

logiciel et la figure 3.03 le montre.

Figure 3.03 : MLD de la base de données

Page 54: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

44

3.4.6 Extrait de code SQL ou du MPD

Lors de la conversion du MCD en MLD, le MPD ou modèle physique des données ou encore le

code SQL est généré automatiquement. Un extrait de code SQL du SGBD MySQL est montré ci-

dessous.

CREATE TABLE Compte( idCompte int (11) Auto_increment NOT NULL , login Varchar (25) , pass Varchar (25) , type Varchar (15) , PRIMARY KEY (idCompte ), UNIQUE KEY `login` (`login`) )ENGINE=InnoDB;

3.4.7 Importation du code SQL dans phpMyAdmin de WAMPSERVER

Afin d’administrer la base de données, il est ici incontournable d’importer le code SQL générer par

JMerise dans phpMyAdmin de WAMPSERVER. PhpMyAdmin sera notre interface qui va nous

permettre de créer les différentes tables de la base de données en respectant la structure qu’on a déjà

posée lors de la réalisation du MCD. Mais avant tout, il faudra créer la base de données en lui

donnant un nom. Dans mon cas, je l’ai appelée « memoirerova ».

Figure 3.04 : Création de la base de données dans phpMyAdmin

Figure 3.05 : Importation du code SQL dans phpMyAdmin

Page 55: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

45

Figure 3.06 : Les tables dans la base de données espasql

3.5 Codage de l’application

Afin de réaliser l’interface de l’application, nous avons passé par différentes étapes. D’abord, nous

avons créé un dossier contenant tous les codes sources de toute l’application dans le dossier www

de WAMP. Nous avons nommé ce dossier « espaSite ».Il est décomposé en 6 sous dossiers et d’un

fichier index.php qui sera lancé en premier.

Figure 3.07 : Organisation des dossiers

Page 56: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

46

3.5.1 Assets

Assets contient les bibliothèques et fichiers css et JavaScript utile pour l’application. C’est là que

nous avons placé le style de notre application.

3.5.2 Controller

Controller contient les contrôleurs de l’application qui sont des classes .php. Ils font le contrôle des

valeurs saisies par l’utilisateur, choisissent les pages à afficher et les actions à faire selon l’action

des utilisateurs.

3.5.3 Entity

Entity contient les entités participantes dans l’application. Ce sont les tables de la base de données

sous forme de classe .php et dont ses variables sont les attributs de la table.

3.5.4 Img

Img sert de stocker les images utilisées ou télécharger depuis l’interface.

3.5.5 Model

Model contient des classes qui sert de connexion et d’accès à la base de données grâce à des LMD

de MySQL. Les 20 tables de notre base de données vont donc être traitées et manipulées à partir du

model.

3.5.6 View

View contient les maquettes ou les pages de notre interface. Ce sont aussi ceux qui sont codés en

premier. Elles contiennent du HTML ainsi qu’un petit bloc de code PHP. Donc, elles sont

d’extension .php.

3.6 Présentation de l’interface

La conception des interfaces de l’application G-ESPA est une étape très importante puisque toutes

les interactions avec les bases de données de l’application passent à travers ces interfaces, nous

devons alors guider l’utilisateur avec les messages d’erreur ou de succès.

Page 57: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

47

Dans cette partie, nous allons présenter quelques cas d’utilisations, sous forme d’un guide

utilisateur. Pour accéder à notre application, l’utilisateur doit taper l’URL :

« http://localhost/espaSite/ ». Cette URL redirige l’utilisateur vers la page d’accueil qui est la page

d’authentification. Donc, l’utilisateur doit s’authentifier. Comme toute application, la sécurité

d’accès est nécessaire. Il saisit son login et son mot de passe puis le serveur vérifie ces informations.

Si les valeurs saisis sont corrects, c’est-à-dire, correspondent à une ligne dans la table compte de la

base de données espasql, l’utilisateur est autorisé à accéder à la page suivante selon le type

d’utilisateur qu’il est. Sinon, l’utilisateur est encore redirigé vers cette même page

d’authentification.

3.6.1 Page d'accueil

Avant d'utiliser l'application, l'utilisateur doit s'authentifier, au démarrage de l'application

s'affiche donc une page d'authentification permettant aux utilisateurs de saisir son login et son mot

de passe.

Figure 3.08 : Page d’accueil de l’application G-ESPA

3.6.2 Cas d’un étudiant

Un étudiant a le droit de consulter les actualités, ses informations comme état civil, baccalauréat,

information scolaire. Il peut aussi consulter ses notes ainsi que tous les emplois du temps. Il a le

droit de changer son mot de passe et se déconnecter.

Après l’authentification, un étudiant est redirigé vers une page qui affiche ses informations

personnelles « http://localhost/espaSite/view/etatCivil.php ».

Page 58: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

48

Figure 3.09 : Page pour étudiant

3.6.3 Cas d’un enseignant

Un enseignant a le droit de consulter les actualités, ses informations personnelles. Il peut aussi

consulter son emploi du temps, la liste des étudiants qu’il enseigne et saisir leur note. Il a le droit de

changer son mot de passe et se déconnecter.

Un enseignant est redirigé vers « http://localhost/espaSite/view/informationProf.php » après

authentification.

Figure 3.10 : Page pour enseignant

Page 59: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

49

3.6.4 Cas d’un PAT

- Cas de la scolarité :

La scolarité gère plusieurs activités.

Pour les étudiants, il peut : afficher la liste des étudiants avec ses informations détaillées,

chercher un étudiant, faire l’inscription administrative et pédagogique, la réinscription,

consulter les notes.

Pour les enseignants, il peut : chercher un enseignant avec ses informations détaillées,

faire l’inscription.

Concernant les mentions et parcours, il peut : consulter les listes des mentions et parcours

de la mention, ajouter une nouvelle mention ainsi qu’un nouveau parcours.

Pour les unités d’enseignement (UE) et éléments constitutifs (EC), la scolarité peut :

consulter la liste des UE et EC de UE, en ajouter un nouveau.

Pour le semestre, il peut ajouter le début et fin du semestre.

Pour les salles, il peut consulter la liste des salles et ajouter une nouvelle.

Concernant l’emploi du temps, il peut faire l’ajout d’un emploi du temps.

Comme pour les deux types d’utilisateurs précédents, il peut consulter les actualités,

changer son mot de passe et se déconnecter.

Un PAT scolarité est redirigé vers « http://localhost/espaSite/view/espaceEtudiant.php » après

authentification.

Figure 3.11 : Page pour PAT scolarité

Page 60: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

50

- Cas de PAT autres que la scolarité

Ces utilisateurs peuvent consulter les actualités, gérer son compte et se déconnecter. Ils sont

redirigés vers http://localhost/espaSite/view/actuPAT.php après authentification.

Figure 3.12 : Page pour PAT autre que la scolarité

3.6.5 Cas d’un administrateur

L’administrateur peut : ajouter une actualité, modifier les comptes de tous utilisateurs, inscrire un

PAT, chercher un PAT, et enfin se déconnecter.

Un administrateur est redirigé vers « http://localhost/espaSite/view/compteAdmin.php » après

authentification.

Figure 3.13 : Page pour admin

Page 61: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

51

3.7 Conclusion

Dans ce chapitre, on a effectué la collection des données utiles, élaboration des règles de gestion, la

conception de la base de données avec l’aide de JMerise. Après importation du code SQL dans

phpMyAdmin du WampServer, la base de données « espasql » contient au total 20 tables. Ces 20

tables vont après être manipulé par des LMD de MySQL dans le code PHP afin d’effectuer

l’interaction de l’interface avec les données. Les interfaces présentées montrent la page d’accueil et

les premières pages vues par les utilisateurs après l’authentification selon leurs types, mais il en

existe encore d’autres.

Page 62: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

52

CONCLUSION GENERALE

La base de données est très importante dans toutes entreprises surtout lorsqu’il s’agit de gérer un

grand nombre de données.

Pour ce projet, nous avons opté le cas de notre école, l’Ecole Supérieure Polytechnique d’

Antananarivo à Vontovorona, qui aura besoin de gérer l’ensemble de ses données. Pour se faire, des

études théoriques ont été faites dans les deux premiers chapitres qui sont la généralité sur la base de

données et développement d’application d’entreprise. Lors de la réalisation dans le dernier chapitre,

nous avons d’abord conçu une base de données contenant les informations nécessaires avec le

logiciel JMerise en utilisant comme SGBD le MySQL. Et afin d’en faciliter l’accès, une application

web nommée G-ESPA est créée avec. Pour se faire, nous avons utilisé PHP comme langage de

développement de l’application. HTML5, CSS3 et Bootstrap3 ont permis de mettre en œuvre la

maquette ou l’interface de l’application. Chaque utilisateur peut bien accéder à la base de données

selon les droits qu’on leur a autorisés.

Cette application permet de mettre à jour les données concernant les étudiants, les enseignants, les

personnels administratifs et techniques, les matières, les mentions et parcours, les salles et les notes

des étudiants qui sont stockés dans une base de données.

Vu que les interfaces montrant les différents cas d’utilisations possibles ne sont pas détaillées dans

le dernier chapitre de ce mémoire, les utilisateurs de cette application doivent d’abord être formés

avant son utilisation.

Le travail effectué pour ce mémoire est la première version de cette application. Donc, des

propositions d’idées d’amélioration sont nécessaires et nous aident beaucoup afin de faire évoluer

cette application.

Page 63: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

53

ANNEXE 1 :

PRESENTATION DES AUTRES INTERFACES DE L’APPLICATION

- Cas d’un étudiant :

Figure A1.01 : Page d’affichage des informations sur le baccalauréat d’un étudiant

Figure A1.02 : Page d’affichage des informations scolaires d’un étudiant

La page de la Figure A1.02 consiste à visualiser les informations scolaires d’un étudiant suivant

deux critères : son année universitaire et son semestre.

Page 64: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

54

Figure A1.03 : Page d’emploi du temps

La page de la Figure A1.03 consiste à visualiser l’emploi du temps d’un parcours suivant une

année universitaire et un semestre.

Figure A1.04 : Page de consultation de notes

Cette page consiste à un étudiant de visualiser sa note suivant son année universitaire et son

semestre.

Page 65: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

55

- Cas d’un enseignant

Figure A1.05 : Page de consultation et saisie des notes

Cette page permet à un enseignant de consulter la liste de ses étudiants ainsi que de saisir leur

notes suivant ces cinq critères.

Figure A1.06 : Emploi du temps pour un enseignant

La page de la Figure A1.06 permet à un enseignant de visualiser son emploi du temps durant un

semestre d’une année universitaire.

Page 66: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

56

- Cas d’un PAT scolarité

Figure A1.07 : Fiche d’inscription administrative

Page 67: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

57

Cette page permet à un personnel de la scolarité d’ajouter ou inscrire les informations d’un

étudiant la première fois.

Figure A1.08 : Fiche d’inscription pédagogique

L’inscription pédagogique permet d’inscrire un étudiant à un semestre et parcours. Pour cela, il est

nécessaire que le numéro de la carte étudiante soit valide c’est-à-dire que l’étudiant soit inscrit

administrativement.

Figure A1.09 : Fiche de réinscription

La réinscription consiste comme son nom l’indique à réinscrire un étudiant pour une nouvelle

année universitaire.

Page 68: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

58

Figure A1.10 : Page d’affichage des mentions

Cette page permet d’afficher la liste des mentions existantes à l’ESPA Vontovorona.

Figure A1.11 : Page d’affichage des parcours d’une mention

Cette page permet d’afficher la liste des parcours par mention existants à l’ESPA Vontovorona.

Page 69: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

59

Figure A1.12 : Page pour ajout de calendrier semestriel

Cette page permet d’enregistrer le début et la fin d’un semestre pair ou impair.

Figure A1.13 : Page pour affichage des listes des unités d’enseignement

Cette page permet d’afficher la liste des UE existantes à l’ESPA Vontovorona.

Figure A1.14 : Page d’affichage des éléments constitutifs d’une unité d’enseignement

Cette page permet d’afficher la liste des EC par UE existants à l’ESPA Vontovorona.

Page 70: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

60

Figure A1.15 : Page d’affichage des salles de classe

Cette page permet d’afficher la liste des salles disponibles par mention au sein de l’ESPA

Vontovorona.

Figure A1.16 : Gestion des enseignants par la scolarité

Cette page permet à un personnel de la scolarité de faire l’inscription d’un enseignant via le

bouton bleu et d’en rechercher un nom via le bouton vert. Le résultat de cette recherche affiche le

nom, prénom, et deux liens dont l’un se redirige vers une page affichant tous les détails de

l’enseignant et l’autre vers la liste des matières enseignés par l’enseignant.

Page 71: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

61

- Cas d’un administrateur

Figure A1.17 : Gestion PAT par l’administrateur

Cette page permet à l’administrateur de faire l’inscription d’un PAT via le bouton bleu et d’en

rechercher un nom via le bouton vert. Le résultat de cette recherche affiche le nom, prénom, et un

lien se redirigeant vers une page affichant tous les détails d’un PAT.

Figure A1.18 : Fiche d’inscription d’un PAT

Cette page permet à un administrateur d’ajouter ou inscrire les informations d’un PAT.

Page 72: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

62

BIBLIOGRAPHIE ET WEBOGRAPHIE

[1] Y. Prié, « Introduction à la conception de systèmes d’information », UFR Informatique -

Université Claude Bernard Lyon 1, 2008-2009.

[2] L. Audibert « Base de données et langage SQL », http://laurent-

audibert.developpez.com/Cours-BD, 30/01/17

[3] D. Mohamed, « Conception d'un dispositif opérationnel de suivi technico-économique des

exploitations agricoles dans le cadre du conseil de gestion », Mémoire de fin d’études, Institut

National Polytechnique, AU : 2010 – 2011

[4] J. F. Pillou, «Les niveaux des données », CommentCaMarche.net, septembre 2015

[5] « Base de données : théorie de modélisation », http://igm.univ-

mlv.fr/%7Edr/XPOSE2011/BDD, 01/03/17

[6] Taguan, « Administrez vos bases de données avec MySQL », www.siteduzero.com,

23/02/2012

[7] D. D. Omokoko, «Conception et réalisation d'une base de données pour la gestion de

facturation à l'office congolais de contrôle direction provinciale du Kasaà occidental », Mémoire

de fin d’études, Université Notre-Dame du Kasayi, informatique de gestion 2009

[8] « Internet », https://fr.wikipedia.org/wiki/Internet, 10/03/17

[9] G. Randria, « Web et XML », Cours I3 – TCO, Ment. TCO.- E.S.P.A., A.U. : 2015-2016

[10] « Concevez votre site web avec PHP et MySQL », www.siteduzero.com, décembre 2016

[11] « Langage de définition des données »,

https://fr.wikipedia.org/wiki/Langage_de_définition_de_données, 11/03/17

[12] F. Chaker-kharrat, « cours programmation web », Niveau : 3ème année, Année Universitaire

: 2011/2012

[13] X. Pitel «HTML-CSS-JavaScript-PHP-MySQL petites explications des technologies

web», http://www.xp-internet.com/xp-infos/HTML-CSS-JavaScript-PHP-MySQL-petites-

explications-des-technologies-Web.php, 12/03/2017

[14] « BOOTSTRAP web development », www.tutorialspoint.com, janvier 2017

[15] B. Philibert, « Bootstrap3 le framework 100 % web design », eyrolles, janvier 2017

[16] S. Rohaut, « Cours Programmation PHP », document PDF, février 2017

[17] Messouci, « Mini manuel JMerise », document PDF, janvier 2017

[18] « WampServer », https://fr.wikipedia.org/wiki/WampServer, 01/03/17

Page 73: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

63

[19] S. Tahé « Méthodologie de développement MVC d'une application PHP », document PDF,

février 2017

[20] « C’est quoi un serveur ftp ? », http://www.culture-informatique.net/cest-quoi-un-serveur-

ftp, 12/03/17

[21] J. L. Baptiste « MERISE guide pratique modélisation des données et des traitements,

langage SQL», ENI, décembre 2016

[22] « Historique des bases de données », http://www.petite-entreprise.net/P-2649-85-G1-

historique-des-bases-de-donnees.html, 02/03/17

Page 74: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

64

RENSEIGNEMENTS

Nom : ANDRIATSIORIMANANA

Prénom: Rova

Adresse :

Lot (R+5)2 porte 27 67Ha Sud Tana

E-mail : [email protected]

Tel : +261 33 04 815 88

Titre du mémoire :

CONCEPTION D’UNE BASE DE DONNEES ET REALISATION D’UNE APPLICATION

WEB POUR L’ESPA VONTOVORONA

Nombres de pages : 63

Nombres de tableaux : 2

Nombre de figures : 38

Directeur de mémoire : RAKOTONDRAINA Tahina Ezéchiel,

[email protected],

+261 33 11 761 10

rova
Zone de texte
Page 75: ECOLE SUPERIEURE POLYTECHNIQUE MENTION …

65

RESUME

Ce projet vise à concevoir une base de données et développer une application pour l’ESPA

Vontovorona. Mais, pour aboutir à cette fin, nous allons tout d’abord effectuer une étude

conceptuelle de l’application en partant de la conception de la base de données, création de

l’interface et enfin l’interaction entre les deux. Le système de gestion de base de données choisi fut

MySQL et combiné avec le langage de développement PHP. L’interface de l’application a été

implémentée avec Boostrap3, qui est un framework permettant de faciliter la création de l’interface.

Ce mémoire m’a été très bénéfique d’un point de vue design, et surtout du côté de développement

d’application.

Mots clés : MySQL, PHP, Bootstrap, conception, développement

ABSTRACT

This project aims at designing a database and developing an application for ESPA Vontovorona.

But to achieve this, we will first carry out a conceptual study of the application starting from the

design of the database, creation of the interface and finally the interaction between the two. The

database management system chosen was MySQL and combined with the PHP development

language. The interface of the application has been implemented with Boostrap3, which is a

framework to facilitate the creation of the interface. This dissertation has been very beneficial to me

from a design, and especially from the application development side.

Keywords: MySQL, PHP, Bootstrap, design, development

rova
Zone de texte