59
UNIVERSITE D’ANTANANARIVO DOMAINE DES SCIENCE ET TECHNOLOCIES Mention Physique et Applications Mémoire de fin d’étude en vue de l’obtention du diplôme de MASTER EN PHYSIQUE ET APPLICATION Parcours : Ingénier en Systèmes Electroniques Informatiques Présenté le 11 février 2020 Par YASSEM MAHAMOUD Devant la commission d’examen composée de : Président : M. RANAIVO-NOMENJANAHARY Flavien Noël Professeur Titulaire Examinateur : Rapporteurs : Mme RANDRIAMANANTANY Zely Arivelo M. M. RASAMIMANANA François de Salle M.MANDIMBY Junior Zoé Tigana Professeur Titulaire Maitre de Conférences Docteur Application web pour la gestion d’affichage des vols

Application web pour la gestion d’affichage des vols

  • Upload
    others

  • View
    29

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Application web pour la gestion d’affichage des vols

UNIVERSITE D’ANTANANARIVO

DOMAINE DES SCIENCE ET TECHNOLOCIES

Mention Physique et Applications

Mémoire de fin d’étude en vue de l’obtention du diplôme de

MASTER EN PHYSIQUE ET APPLICATION

Parcours : Ingénier en Systèmes Electroniques Informatiques

Présenté le 11 février 2020

Par

YASSEM MAHAMOUD

Devant la commission d’examen composée de :

Président : M. RANAIVO-NOMENJANAHARY Flavien Noël Professeur Titulaire

Examinateur :

Rapporteurs :

Mme RANDRIAMANANTANY Zely Arivelo M.

M. RASAMIMANANA François de Salle

M.MANDIMBY Junior Zoé Tigana

Professeur Titulaire

Maitre de Conférences

Docteur

Application web pour la gestion

d’affichage des vols

Page 2: Application web pour la gestion d’affichage des vols

UNIVERSITE D’ANTANANARIVO

DOMAINE DES SCIENCE ET TECHNOLOCIES

Mention Physique et Applications

Mémoire de fin d’étude en vue de l’obtention du diplôme de

MASTER EN PHYSIQUE ET APPLICATION

Parcours : Ingénier en Systèmes Electroniques Informatiques

Devant la commission d’examen composée de :

Présenté par :

Présenté par :

YASSEM MAHAMOUD

Devant la commission d’examen composée de :

Président : M. RANAIVO-NOMENJANAHARY Flavien Noël Professeur Titulaire

Examinateur :

Rapporteurs :

Mme RANDRIAMANANTANY Zely Arivelo M.

M. RASAMIMANANA François de Salle

M.MANDIMBY Junior Zoé Tigana

Professeur Titulaire

Maitre de Conférences

Docteur

Application web pour la gestion

d’affichage des vols

Page 3: Application web pour la gestion d’affichage des vols
Page 4: Application web pour la gestion d’affichage des vols

REMERCIEMENTS

Ce mémoire a pu être réalisé grâce à la contribution et aux aides précieuses de

plusieurs personnes qui nous ont soutenus sur les plans moral, intellectuel, matériel et

financier. A tous, nous leur adressons nos reconnaissances les plus sincères. Il s’agit de :

Je remercie en premier lieu Monsieur RAMAHAZOSOA Irrish Parker, Maître de

conférences, Responsable du Domaine des Sciences et Technologies qui m’a accepté parmi

les étudiants du domaine;

Je remercie également Madame RAFANJANIRINA Eulalie Odilette, responsable de

la mention physique et applications;

J’exprime toute ma reconnaissance Madame RAZANAMANAMPISOA Harimalala,

Maître de conférences, responsable de la formation de Master d’Ingénierie en Systèmes

Electroniques Informatiques (MISEI).

Je tiens avec gratitude à présenter mes remerciements à mon cher encadreur

Monsieur RANAIVO-NOMENJANAHARY Flavien Noël, Professeur Titulaire, qui a bien

voulu présidé le jury de ce mémoire ;

Mes sincères remerciements vont également à Madame RANDRIAMANANTANY

Zely Arivelo, Professeur Titulaire, qui a bien voulu faire partie des membres du jury en étant

examinateur ;

Je voudrais remercier Monsieur M. RASAMIMANANA François de Salle, Maître

de conférences, Maître de Conférences, pour ses conseils précieux tout au long de la

réalisation de ce mémoire étant le rapporteur ;

Je voudrais remercier Monsieur M.MANDIMBY Junior Zoé Tigana, Docteur, pour

ses conseils précieux tout au long de la réalisation de ce mémoire étant le rapporteur ;

Et enfin, nous avons une pensée noble et pleine de gratitude à nos chers parents, nos

frères, sœurs et les membres de notre famille pour l’amour et le grand sacrifice qu’ils ne

cessent de nous fournir tant financièrement que moralement lors de nos études.

A ceux qui nous ont aidés de près et de loin, qu’ils trouvent ici l’expression de nos

sincères remerciements.

Page 5: Application web pour la gestion d’affichage des vols

TABLE DE MATIERES

INTRODUCTION ...................................................................................................................... 6

CHAPITRE I : Présentation de la société Eqima ....................................................................... 7

I.1 Présentations de l’Eqima ................................................................................................... 7

I.2 Mission de l’Eqima ........................................................................................................... 7

I.3 Différents outils pour la conception de site web ............................................................... 8

CHAPITRE II : Langages utilisés pour la réalisation du site web ............................................. 9

II.1 Langage HTML ............................................................................................................ 9

II.2 Langage CSS ................................................................................................................ 9

II.2 Langage SASS .............................................................................................................. 9

II.3 Langage JavaScript....................................................................................................... 9

II.4 Langage PHP .............................................................................................................. 10

II.5 Le MySQL .................................................................................................................. 10

II.6 Le JQUERY ............................................................................................................... 10

CHAPITRE III : Méthodologie utilisé pour mise en place du projet ....................................... 11

III.1. Création de maquette du site Photoshop ..................................................................... 11

III.2. Sublime Text ................................................................................................................ 11

III.3. XAMPP ....................................................................................................................... 12

III.4. framework .................................................................................................................... 13

III.4.1. Bootstrap ............................................................................................................... 13

III.4.2. Material Design .................................................................................................... 13

III.4.3. Font Awesome ..................................................................................................... 14

III.3.4. Modèle vue contrôleur ......................................................................................... 15

III.3.5. NODE.JS .............................................................................................................. 15

CHAPITRE IV : Présentation et conception du site web. ........................................................ 16

IV.1.1 Structure d’un page web. ........................................................................................... 16

IV.1.2 Page d’Accueil .......................................................................................................... 17

IV.1.3 Base de données des informations ............................................................................. 18

IV.1.4 Page Information ....................................................................................................... 18

IV.1.5 Page d’authentification des informations .................................................................. 19

IV.1.6 Page gestion information ........................................................................................... 22

IV.1.7 Page ajout d’information ........................................................................................... 23

IV.1.8 Page modification d’information ............................................................................... 24

IV.1.9 Page suppression d’information ................................................................................ 27

Page 6: Application web pour la gestion d’affichage des vols

IV.2.1 Page Présentation ................................................................................................... 28

IV.2.2 Base de données des vols .......................................................................................... 28

IV.2.3 Page affichage des vols .......................................................................................... 28

IV.2.4 listes des vols ......................................................................................................... 29

IV.2.5. Page d’authentification des vols ............................................................................... 31

IV.2.6 Page gestion des vols ............................................................................................. 33

IV.2.7 Page ajout de vol .................................................................................................... 34

IV.2.8 Page de Modification de vol .................................................................................. 35

IV.2.9 Page de suppression de vol .................................................................................... 37

CONCLUSION ........................................................................................................................ 39

Page 7: Application web pour la gestion d’affichage des vols

LISTE DES FIGURES

Figure 1 : Site web de la société Eqima(http://Eqima.org) ................... 7

Figure 2 : Maquette sur Photoshop ...................................................... 11

Figure 3: Sublime Text3 ...................................................................... 12

Figure 4: XAMPP ................................................................................ 12

Figure 5 : Bootstrap ............................................................................. 13

Figure 6 : Material Design .................................................................. 14

Figure 7: font awesome ....................................................................... 14

Figure 8: Modèle vue contrôleur ......................................................... 15

Figure 9: Node.js ................................................................................. 16

Figure 10: Structure de base d’une page web ..................................... 16

Figure 11 : page d’accueil ................................................................... 17

Figure 12: structure de la base de données des informations .............. 18

Figure 13: Affichage information ........................................................ 18

Figure 14: formulaire d’identification ................................................. 20

Figure 15: gestion de l’information ..................................................... 22

Figure 16: formulaire d’ajout d’information ....................................... 23

Figure 17: formulaire de modification d’information ......................... 25

Figure 18: suppression d’information ................................................. 27

Figure 19: présentation de l’entreprise ................................................ 28

Figure 20: structure de la base de données pour Affichage des vols .. 28

Figure 21: Affichage des vols à Tananarive ........................................ 29

Figure 22: menu déroulant ................................................................... 30

Figure 23: liste de vols à Sambava ...................................................... 30

Figure 24: Formulaire d’identification ................................................ 31

Figure 25: gestion des vols .................................................................. 33

Figure 26: ajout de vol ......................................................................... 34

Figure 27 : modification des vols ........................................................ 36

Figure 28: suppression des vols ........................................................... 38

Page 8: Application web pour la gestion d’affichage des vols

LISTE DES ABREVIATIONS

CMS : Content Management System

CSS: Cascading Style Sheets

HTML: L’HyperText Markup Language

HTTPS: HyperText Transfer Protocol Secure

HTTP : HyperText Transfer Protocol

JS : Java Script

MVS : Modèle Vue Contrôleur

PHP: PHP Hypertext Preprocessor

SASS: Syntactically Awesome Stylesheets

SEO : Search Engine Optimisation

SGBDR: Système de Gestion de Bases de Données Relationnelles

SQL: Structured Query Language

URL : Uniform Resource Locator

WWW : World Wide Web

Page 9: Application web pour la gestion d’affichage des vols

6

INTRODUCTION

De nos jours la technologie a une grande place dans notre vie quotidienne, car elle

nous facilite la vie dans plusieurs domaines. Le développement de site web est devenue

populaire car il permet de publier des informations utiles d’une manière rapide est accessible

partout dans le monde. Un site web est un espace virtuel sur Internet, ou d’une manière

général un site web est un ensemble de pages web et de ressources reliées par des hyperliens,

défini et accessible par une adresse web. Un site web est développé à l'aide de langages de

programmation web, puis hébergé sur un serveur web accessible via le réseau mondial

Internet, un intranet local, ou n'importe quel autre réseau, tel le darknet. Il s’agit d’un

ensemble de pages web qui sont accessibles à partir d’un même domaine ou sous-domaine de

la World Wide Web (WWW). Aujourd’hui, le Web est accessible via le protocole HTTP

(HyperText Transfer Protocol) ou HTTPS (HyperText Transfer Protocol Secure) et les URL

(Uniform Resource Locator). Les fichiers hébergés sur le site web reposent sur du HTML

(HyperText Markup Language) CSS et JavaScript qui sont les langages nativement compris

par les navigateurs modernes. Le protocole HTTP permet au client (généralement via un

navigateur web) d'accéder à des ressources par un URL. HTML et de structurer les données

ou lier les ressources entre elles, notamment avec des liens hypertextes.

Pour fini de mes études j’ai effectué mon stage au sein de la société de développement de site

web et application mobile Eqima. Ma mission était de réalisé un site web pour une compagnie

aérien qui a pour but d’affiché les vols ainsi que la publier des informations et de présenter de

l’entreprise. Quel sont alors les technologies utiliser pour la mise en place de notre projet ?

Pour être fidèle à notre analyse de mémoire de fin d’étude. Notre travail sera divisé en 4

grands chapitres :

Le premier chapitre annonce la présentation de la société Eqima.

Le deuxième chapitre sera la présentation des langages utilisé pour la mise en

place de notre projet.

Le troisième chapitre concerne les outils utilise pour création de notre projet.

Le quatrième et dernier chapitre se basera sur la présentation et conception de

notre projet de fin d’étude.

Page 10: Application web pour la gestion d’affichage des vols

7

CHAPITRE I : Présentation de la société Eqima

I.1 Présentations de l’Eqima

Eqima est une agence digitale à Madagascar de développement de site web de création

d’application mobile et référencement web. Eqima offre à ses clients une large gamme de

solutions et de services dans plusieurs domaines. Pour assurer ses activités, des équipes de

développeur spécialisé dans plusieurs langages et technologies assurent l’accomplissement

des missions, que ça soit la réalisation de site web ou développement d’application mobile.

L'agence web Eqima propose toujours des solutions innovantes, modernes basées sur les

dernières technologies pour lesquelles leurs équipes se forment constamment.

Figure 1 : Site web de la société Eqima(http://Eqima.org)

I.2 Mission de l’Eqima

En effet, l’entreprise Eqima réalise la plus grande partie de son chiffre d’affaires, par

l’intermédiaire de ses ventes de services en ligne par accomplissement des missions comme la

création de site web, le développement d’application mobile et la maintenance de site web

Page 11: Application web pour la gestion d’affichage des vols

8

(référencement naturel). On attribue ces missions a des développeurs qui ont plusieurs années

d’expérience qui sont repartie en équipe ou parfois individuel en fonction de la complexité et

du délai à respecter pour la finalisation du projet. Les missions de l’Eqima sont multiples :

Pour le développement de site web, la plupart des missions sont focalisées sur la

création des sites vitrines, sites e-commerces et des applications web en full stack –

Développement. Les développeurs utilisent le plus souvent le CMS WordPress qui est

le CMS le plus rependue de nos jours pour la conception de site web.

Pour la réalisation d’application IOS et Android, les développeurs utilisent des

technologies comme Ionic, React Native, Apache Cordova qui sont des technologies

hybride permettant de développer une application qui fonction dans tous les types des

smartphones à savoir IOS et Android.

Pour le référencement web (SEO) plusieurs techniques sont mise en place pour

améliorer le référencement du site web à la première page quand on fait de recherche

sur Google. Notamment le choix des articles, l’aspect responsive du site web,

l’amélioration du contenue du site web, l’utilisation des mots-clés dans l’URL.

I.3 Différents outils pour la conception de site web

L'agence web Eqima propose toujours des solutions innovantes, modernes basées sur

les dernières technologies pour offrir à ces clients les meilleurs produits. Les développeurs de

cette agence, utilisent des outils moderne qui sont toujours mise à jour et se frome

constamment sur les nouvelles technologies :

Sur la partir front end de page web, on utilise (HTML 5, CSS3, JAVA SCRIPT) et sur

la partie back end (PHP, Ruby, Python, Node.JS…). Pour la gestion de base de

données, on utilise (MySQL, FireBase, SQL server…) et pour les Framework et CMS,

(WordPress, prestashop, Bootstrap, bulma, Angular).

Concernant les applications mobile, les développeurs utilisent les technologie (Ionic,

React Natif et Apache cordova ) qui sont framework de développement des

Application hybride et il utilise également les langages (JAVA, SWIFT, et

OBJECTIVE-C ) pour le développement d’application natif.

Pour la maintenance des sites web et application mobile, plusieurs technologies sont

utilisées pour tester leur produit sur leur fonctionnalité et pour détecter de faille de

sécurité avant d’être commercialisé (Squash, Sonarqube, Mantis, Terllo)

Page 12: Application web pour la gestion d’affichage des vols

9

CHAPITRE II : Langages utilisés pour la réalisation du site web

II.1 Langage HTML

HTML : (L’HyperText Markup Language), généralement abrégé HTML, est le format

de donnée conçu pour représenter les pages web. C’est un langage de balisage permettant

d’écrire de l’hypertexte, d’où son nom HTML. Il Permet également de structurer

sémantiquement et de mettre en forme le contenu des pages, d’inclure des ressources

multimédias dont des images, des formulaires de saisie, et des programmes informatiques. Il

permet de créer des documents interopérables avec des équipements très variés de manière

conforme aux exigences de l’accessibilité du web. Il est souvent utilisé conjointement avec

des langages de programmation comment PHP, CSS, Java Script.

II.2 Langage CSS

Le terme CSS est l'acronyme anglais de (Cascading Style Sheets )qui peut se traduire

par "feuilles de style en cascade". Le CSS est un langage informatique utilisé sur l'internet

pour mettre en forme les fichiers HTML ou XML. Ainsi, les feuilles de style, aussi appelé les

fichiers CSS, comprennent du code qui permet de gérer le design d'une page en HTML. Les

standards définissant CSS sont publiés par le World Wide Web Consortium (W3C). Introduit

au milieu des années 1990, CSS devient couramment utilisé dans la conception de sites web

et bien pris en charge par les navigateurs web dans les années 2000.

II.2 Langage SASS

SASS (Syntactically Awesome StyleSheets) est un langage dynamique de génération

de feuilles de style en cascade initialement développé par Hampton Catlin et Nathalie

Weizenbaum.

Sass est un préprocesseur CSS. C'est un langage de description compilé en CSS. SassScript

est un langage de script pouvant être utilisé à l’intérieur du code Sass. Deux syntaxes existent.

La syntaxe originale, nommée « syntaxe indentée », est proche de Haml. La nouvelle syntaxe

se nomme SCSS. Elle a un formalisme proche de CSS.

II.3 Langage JavaScript

Le JavaScript est un langage informatique utilisé sur les pages web. Ce langage à la

particularité de s'activer sur le poste client, en d'autres mots c'est votre ordinateur qui va

recevoir le code et qui devra l'exécuter. C'est en opposition à d'autres langages qui sont activé

côté serveur. L'exécution du code est effectuée par votre navigateur internet tel que Firefox ou

Internet Explorer.

Page 13: Application web pour la gestion d’affichage des vols

10

II.4 Langage PHP

PHP (PHP Hypertext Preprocessor) est un langage de programmation pour des

applications sur le web. PHP est un langage de script exécuté côté serveur, Langage élaboré

inclut dans une page HTML qui permet une interaction avec l’utilisateur, ce langage permet la

création de pages web au contenu dynamique. PHP a permis de créer un grand nombre de

sites web célèbres, comme Facebook, Wikipédia, etc. Il est considéré comme la base de la

création des sites Internet dits dynamiques mais également des applications web.

II.5 Le MySQL

MySQL est un système de gestion de bases de données relationnelles (SGBDR) Open

Source.

Un serveur de bases de données stocke les données dans des tables séparées plutôt que de tout

rassembler dans une seule table. Cela améliore la rapidité et la souplesse de l'ensemble. Les

tables sont reliées par des relations définies, qui rendent possible la combinaison de données

entre plusieurs tables durant une requête. Le SQL dans "MySQL" signifie "Structured Query

Language" : le langage standard pour les traitements de bases de données.

II.6 Le JQUERY

JQuery est un Framework JavaScript sous licence libre qui permet de faciliter des

Fonctionnalités communes de JavaScript. L’utilisation de cette bibliothèque permet de gagner

du temps de développement lors de l'interaction sur le code HTML d'une page web, l'AJAX

ou la gestion des évènements. JQuery possède par la même occasion l'avantage d'être

utilisable sur plusieurs navigateurs web (cf. Internet Explorer, Firefox, Chrome, Safari où).

Depuis sa création en 2006 et notamment à cause de la complexification croissante des

interfaces Web, jQuery a connu un large succès auprès des développeurs Web et son

apprentissage est aujourd'hui un des fondamentaux de la formation aux technologies du Web.

Il est à l'heure actuelle la bibliothèque front-end la plus utilisée au monde (plus de la moitié

des sites Internet en ligne intègrent jQuery).

Page 14: Application web pour la gestion d’affichage des vols

11

CHAPITRE III : Méthodologie utilisé pour mise en place du projet

III.1. Création de maquette du site Photoshop

Photoshop est un logiciel de retouche d'image et de création graphique édité par la

société Adobe. Lancé à l'origine comme un simple logiciel de retouche d'image, ses

fonctionnalités se sont vues améliorées et complétées au fil des années et des versions. Adobe

Photoshop constitue maintenant l'outil de base dans la plupart des secteurs de l'industrie

graphique.Elle nous permet de crée une Maquette du site web grâce à ces différents outilles

nous pouvons ainsi visualiser un rendu final de notre site web.

Figure 2 : Maquette sur Photoshop

III.2. Sublime Text

Sublime Text est un éditeur de texte vraiment puissant. Disponible à la fois sur

Windows, sur Mac et sur Linux, il est conçu pour prendre en charge plusieurs langages de

programmation variés allant du langage de programmation C à l'Action Script en passant par

les langages PHP, Objective-C ou encore OCaml voire même du Scripting comme le Shell

Scripting ou encore le SQL. C'est un éditeur à tout faire. Ce qui fait réellement sa force est

donc cette capacité à prendre en charge de nombreux langages mais aussi d'apporter de

nombreuses fonctionnalités pratiques qui faciliteront la création de code pour les

développeurs.

Page 15: Application web pour la gestion d’affichage des vols

12

Figure 3: Sublime Text3

III.3. XAMPP

XAMPP est un ensemble de logiciels permettant de mettre en place un serveur Web

local, un serveur FTP et un serveur de messagerie électronique. Il s'agit d'une distribution de

logiciels libres (X (cross) Apache MariaDB Perl PHP) offrant une bonne souplesse

d'utilisation, réputée pour son installation simple et rapide. Ainsi, il est à la portée d'un grand

nombre de personnes puisqu'il ne requiert pas de connaissances particulières et fonctionne, de

plus, sur les systèmes d'exploitation les plus répandus.

Figure 4: XAMPP

Page 16: Application web pour la gestion d’affichage des vols

13

III.4. framework

III.4.1. Bootstrap

Bootstrap est une collection d'outils utiles à la création du design (graphisme,

animation et interactions avec la page dans le navigateur, etc.) de sites et d'applications web.

C'est un ensemble qui contient des codes HTML et CSS, des formulaires, boutons, outils de

navigation et autres éléments interactifs, ainsi que des extensions JavaScript en option. C'est

l'un des projets les plus populaires sur la plate-forme de gestion de développement GitHub.

Figure 5 : Bootstrap

III.4.2. Material Design

Le Material Design est un ensemble de règles de design proposées par Google et qui

s'appliquent à l'interface graphique des logiciels et applications1. Il est utilisé notamment à

partir de la version 5.0 du système d'exploitation Android2.

Google a présenté le Material Design pour la première fois lors de la conférence Google I/O,

le 25 juin 20143. En misant sur les motifs « carte », déjà utilisés dans Google Now, ces règles

de design mettent l'accent sur une utilisation accrue des mises en page basées sur une grille,

des animations et des transitions, des effets de profondeur tels l'éclairage et les ombres. Selon

Google ce nouveau langage de design est basé sur le papier et l'encre4.

Page 17: Application web pour la gestion d’affichage des vols

14

Figure 6 : Material Design

III.4.3. Font Awesome

Font Awesome est une "police d'icônes" créée pour être utilisée avec Twitter

Bootstrap.

Elle a été créée par Dave Gandy afin d'être utilisée avec Bootstrap, et a ensuite été

incorporée dans le BootstrapCDN. Font Awesome détient une part de marché de 20% parmi

les sites qui utilisent des scripts de polices tiers sur leur plateforme, ce qui le place en

deuxième position après Google Fonts1. Font Awesome 5 est sorti le 7 décembre 2017 avec 1

278 icônes. Cette nouvelle version inclut une version gratuite composée de certaines icônes

des différentes variantes (Solid, Regular, Light et Brand) ainsi qu'une nouvelle version

payante qui regroupe davantage d'icônes. Un abonnement annuel est nécessaire pour

bénéficier des icônes, celui-ci permet de bénéficier des mises à jour et d'un CDN permettant

d'inclure facilement les icônes sur son site web.

Figure 7: font awesome

Page 18: Application web pour la gestion d’affichage des vols

15

III.3.4. Modèle vue contrôleur

Modèle vue contrôleur ou MVC est un motif d'architecture logicielle destiné aux

interfaces graphiques lancé en 1978 et très populaire pour les applications web. Le motif est

composé de trois types de modules ayant trois responsabilités différentes : les modèles, les

vues et les contrôleurs.

- Un modèle (Model) contient les données à afficher.

- Une vue (View) contient la présentation de l'interface graphique.

- Un contrôleur (Controller) contient la logique concernant les actions effectuées par

l'utilisateur

Figure 8: Modèle vue contrôleur

III.3.5. NODE.JS

Node.js est une plateforme logicielle libre en JavaScript orientée vers les applications

réseau événementielles hautement concurrentes qui doivent pouvoir monter en charge.

Elle utilise la machine virtuelle V8, la librairie libuv pour sa boucle d'évènements, et

implémente sous licence MIT les spécifications CommonJS.

Parmi les modules natifs de Node.js, on retrouve http qui permet le développement

de serveur HTTP. Il est donc possible de se passer de serveurs web tels que Nginx ou Apache

lors du déploiement de sites et d'applications web développés avec Node.js.

Concrètement, Node.js est un environnement bas niveau permettant l’exécution de

JavaScript côté serveur.

Page 19: Application web pour la gestion d’affichage des vols

16

Figure 9: Node.js

CHAPITRE IV : Présentation et conception du site web.

IV.1.1 Structure d’un page web.

Un document HTML est composé de textes encadrés par une paire de balises, une au

début (<balise>) et une autre à la fin (</balise>). En fait, on distingue deux types

d’instructions :

• Les instructions fermées avec une paire de balises,

• Les instructions ouvertes avec une seule balise d’ouverture ou balise vide.

L’image ci-dessous représente la structure minimale d’un page web composer de

deux parties importantes qui la partie <head></head> qui représente l’entête de la page web et

d’une partie <body></body>qui représente le corps de la page web.

Figure 10: Structure de base d’une page web

Page 20: Application web pour la gestion d’affichage des vols

17

IV.1.2 Page d’Accueil

Nous avons en premier partie une page d’accueil qui présente notre site web avec

différents liens pour accéder aux trois autres pages qui sont la page information pour les

informations sur les vols en cas de retard ou d’annulation des vols, la page présentation qui

présente l’entreprise et la page aviation qui affiche les vols des différents aéroports du pays.

Figure 11 : page d’accueil

Page 21: Application web pour la gestion d’affichage des vols

18

IV.1.3 Base de données des informations

En deuxième partie nous avons la page information qui possède une base de

données ou sont stockées les informations en fonction de leur id (identifiant), titre et

contenue qui est représenter par la figure (12).

Figure 12: structure de la base de données des informations

IV.1.4 Page Information

Nous avons ici la page information qui permet à l’administrateur du site web

de publier des informations qui sont dans la base de données permettant d’informer les

passages des retards ou des annulations des vols. La page information possède aussi

une partie admin dont l’administrateur du site possède le droit d’ajouter, modifier et

supprimer des informations pour les mettre à jours mais il doit d’abord s’authentifier

avec un login et mot de passe avant d’accéder à la page admin.

Figure 13: Affichage information

La connexion à la base de données est indispensable avant d’effectuer une quelconque

opération, à savoir afficher ou modifier des éléments dans la base données .la connexion

commence toujours par (mysql_connect) puis précise le nom hôte dans notre cas c’est

(localhost ) et puis le login (root) et le mot de passe("….").Ensuite précise la base de

Page 22: Application web pour la gestion d’affichage des vols

19

données sur la quelque on travaille avec la commande

mysql_select_db("Aviation_2020",$conn) qui permet de sélectionner la base de données et

puis ajouter le nom de la base de données (Aviation_2020). Et la commande require_once

("connexion.php») permet d’appeler le fichier connexion.PHP qui est indispensable car elle

contient le code pour la connexion à la base de données pour permettre d’afficher les

éléments qui sont dans la base de données avec la requête "select * from information ".

<?php

$conn=mysql_connect("localhost","root","….") or die (mysql_error());

mysql_select_db("Aviation_2020",$conn) or die (mysql_error());

?>

Fichier: connexion.php

<?php

//appelle du fichier connexion.php

//pour la connexion à la base de données

require_once("connexion.php");

//requete pour l'affichage des informations

$req="select * from information ";

//code pour l'exécuté la requete

$rs=mysql_query($req) or die(mysql_error());

?>

Fichier: index.php

IV.1.5 Page d’authentification des informations

La figure (14) représente la page d’authentification de notre site web ou

l’administrateur doit se connecter en temps qu’admin avec les bons identifiants pour accéder à

la partie admin du site permettant ajouter ou modifier et de supprimer des informations.

Page 23: Application web pour la gestion d’affichage des vols

20

Figure 14: formulaire d’identification

Le formulaire en html est souvent utilisé pour envoyer des valeurs saisies par

l’utilisateur nom, mot de passe ou autre. Pour définir un formulaire en HTML, nous allons

utiliser l’élément form qui signifie « formulaire » en anglais.

Cet élément form va avoir besoin de deux attributs pour fonctionner normalement : les

attributs method et action.

L’attribut method va indiquer comment doivent être envoyées les données saisies par

l’utilisateur. Cet attribut peut prendre deux valeurs : get et post.

Ces deux valeurs vont correspondre aux deux choix que nous avons : soit faire

transiter les données par l’URL afin de pouvoir ensuite les traiter, soit les envoyer par HTTP

post transaction.

Concrètement, si l’on choisit l’envoi via l’URL (avec la valeur get), les données vont

être envoyées en clair. Nous devrons éviter d’utiliser cette méthode si les données à transférer

sont sont des mots de passe ou toute information sensible dans votre formulaire.

En choisissant l’envoi de données via post transaction HTTP (avec la valeur post), les

données ne sont visibles par personne. C’est donc généralement la méthode préférable a

utiliser comme c’est le cas pour nous.

L’attribut action va lui nous servir à préciser l’adresse relative de la page dans laquelle

les données doivent être traitées. Et dans notre cas c’est le ficher «valider.php».

. Chaque élément doit être nommé, pour cela on utilise l'attribut NAME. Le nom ainsi

défini permet d'identifier les données qui seront envoyé. Elles seront ensuite associées par des

variables en PHP pour pouvoir les utiliser dans les requêtes SQL pour vérifier s’ils

correspondent aux valeurs qui sont stockés dans la base de données à savoir le login et le mot

de passe.

Page 24: Application web pour la gestion d’affichage des vols

21

<!DOCRYPE html>

<html>

<head>

<meta charset="utf-8"/>

<link rel="stylesheet" href="style5.css">

<title>yassem</title>

</head>

<body>

<div class="box">

<h2>Login</h2>

//utilisation de la méthode "POST " pour envoyer les données

//et Nous utilisons cette méthode "POST " pour cachés les données à envoyer

//car ce sont des données sensibles

//Et l’action est «valider.php" ou vont être traitées les données

<form method="POST" action="valider.php">

<div class="inputBox">

//association du Name a une valeur (login)

<input type="text" name="login" required="" class="i">

<label>username</label>

</div>

<div class="inputBox">

//association du Name a une valeur (pass)

<input type="password" name="pass" required="">

<label>password</label>

</div>

//boutons d’envois des données

<input type="submit" value="Envoyer">

</form>

</div>

</body>

</html>

Fichier : formulaire_d’authentification.php

<?php

//appelle du fichier connexion .php pour la connexion à la base de données

require_once("connexion.php");

//déclaration des variables en PHP pour récupérer les valeurs saisies sur le formulaire

(NAME)

// le (login et pass )

$log=htmlentities(trim($_POST['login']));

$pass=htmlentities(trim($_POST['pass']));

$PC=md5($pass);//code de cryptage du mot de passe

//vérification du mot de passe et login avec celle qui sont stoker dans la base de données

$req="select * from users where log='$log' and passwd='$PC'";

// Code d'exécution de la requete

$rs=mysql_query($req) or die(mysql_error());

Page 25: Application web pour la gestion d’affichage des vols

22

if ($u=mysql_fetch_assoc($rs)){

session_start();//sécurisation de l'URL

$_SESSION['niv']=$u['niveau'];

//redirection vers la page affiche.php si tous est correcte

header("location:affiche.php");

}

else//redirection vers la page index.php si tous n'est pas correcte

{

header("location:index.php");

}

?>

Fichier : valider.php

IV.1.6 Page gestion information

La Figure 17 représente la page de gestion information avec les options d’ajout de

modification et de suppressions pour les informations des ou vols ou l’entreprise permettant

d’informer les passages.

Figure 15: gestion de l’information

<?php

//appelle du fichier connexion .php

//pour la connexion à la base de données

require_once("connexion.php");

//requete pour l'affichage des informations

$req="select * from information ";

//code pour l'exécuté la requete

$rs=mysql_query($req) or die(mysql_error());

Page 26: Application web pour la gestion d’affichage des vols

23

?>

//lien vers la page ajouter.php pour ajouter une information

<a class="aj_btn" href="ajouter.php">ajouter-doc</a>

//lien vers la page supprimer.php pour supprimer une information

<a class="del_btn" href="supprimer.php?num=<?php echo($ligne[0]);?>">suprimer</a>

//lien vers la page modification.php pour modifier une information

<a class="edit_btn" href="modification.php?num=<?php echo($ligne[0]);?>">modifier</a>

Fichier : affichage.php

Le lien vers l’ajouter nous permet accéder à la page ajouter .php pour ajouter une

information et qui attribue un identifiant automatique pour chaque information avec son titre

et son contenue.

Nous avons besoin de récupère ces identifiants pour supprimer ou modifier la partie

exacte c’est pour cela que nous utilisons se code "supprimer.php?num=<?php

echo($ligne[0]);?>"pour récupère le numéro de la id (identifiant) à supprimer ou modifier en

utilisant la méthode" GET" pour qui soit visible au moment de l’envoi . Mais pour ajouter

nous utiliserons la méthode" POST" pour envoyer les données.

IV.1.7 Page ajout d’information

Nous avons ici la page d’ajout d’information l’administrateur du site peut une

information pouvant être publié.

Figure 16: formulaire d’ajout d’information

<!DOCTYPE html>

<html>

<head>

<title> </title>

<link rel="stylesheet" href="css/style1.css" >

</head>

Page 27: Application web pour la gestion d’affichage des vols

24

<body>

<div class="box">

<h2>Nouvel inforation</h2>

<form method ="POST" action="ajout.php">

<div>

<input type="text" name="titre" required="">

<label>Titre</label>

</div>

<div>

<textarea name="contenu" required="required"

></textarea>

<label>contenu</label>

</div>

<input type="submit" value="Ajouter" required="required">

</form>

</div>

</body>

</html>

Fichier: ajouter.php

<?php

//appelle du fichier connexion .php

//pour la connexion à la base de données

require_once("connexion.php");

//déclaration des variables en PHP pour récupérer les valeurs

//saisie sur le formulaire(NAME) le (titre et contenu)

$titre=$_POST['titre'];

$contenu=$_POST['contenu'];

//requete pour l’insertion du titre et du contenue

$req="insert into information (titre,contenu) values ('$titre','$contenu')";

//code pour l'exécuté la requete

mysql_query($req) or (die (mysql_error));

//rediction vres la page affiche.php pour voir les informations ajouter

header("location:affiche.php");

?>

Figure: ajout.php

IV.1.8 Page modification d’information

Ceci représente la page modification d’information utilisé pour mètre ajout les

informations de notre site web pour informer les passages.

Page 28: Application web pour la gestion d’affichage des vols

25

Figure 17: formulaire de modification d’information

Nous avions utilisé la méthode Get sur le lien qui nous permet de récupère le numéro

exacte à modifier (num) et on utilise la requete "select * from article where id=$num"; pour

afficher les données dans le formulaire avant de les modifier et de les envoyer par la méthode

POST qui seront traités dans la page modifier.php. Et nous exécuterons la requête "update

information set titre='$ntitre', contenu='$ncontenu' where id=$num"; pour modifier les

éléments titre et contenu en fonction de leur id.

<?php

require_once("connexion.php");

$num=$_GET["num"];

$req="select * from article where id=$num";

$rs=mysql_query($req) or die(mysql_error());

?>

<html>

<head>

<title>gestion d article</title>

<link rel="stylesheet" href="css/style2.css" >

</head>

<body>

<?php

while ($ligne=mysql_fetch_array($rs)){?>

<div class="box">

<h2>Modification </h2>

<form action="modifier.php" method="POST">

Page 29: Application web pour la gestion d’affichage des vols

26

<div>

<input type="hidden" name="num" value="<?php

echo($ligne['id']);?>" >

</div>

<div >

<label>Titre</label><br><br>

<input type="text" name="titre" value="<?php echo ($ligne[1]);?>" >

</div>

<div>

<label>Contenu</label><br><br>

<textarea name="contenu" ><?php echo ($ligne[2]);?></textarea>

</div>

<input type="submit" value="Mise a jour">

</form><p>

</div>

<?php } ?>

</body>

</html>

Fichier: modification.php

<?php

//connexion à la base de données

require_once("connexion.php");

$num=$_POST["num"];

$ntitre=$_POST["titre"];

$ncontenu=$_POST["contenu"];

//requete de modification du titre et du contenu

$sql="update information set titre='$ntitre', contenu='$ncontenu' where id=$num";

mysql_query($sql) or die ('Erreur : '.mysql_error().' requete='.$sql);

//retour vers la page affichage pour voir si l'information est bien modifier

header("location:affiche.php");

?>

Fichier : modifier.php

Page 30: Application web pour la gestion d’affichage des vols

27

IV.1.9 Page suppression d’information

Ceci présent la page de suppression des informations avec message confirmation pour

la suppression d’information.

Figure 18: suppression d’information

Pour la supprimer une information nous avons juste besoin de récupère sont id par la

méthode GET et d’exécuter la requête $req="delete from information where (id=$num)"; qui

vas supprimer l’information en fonction de son id.

<?php

//connexion à la base de données

require_once("connexion.php");

//Identification de l'identifiant (id) a supprimé

$num=$_GET['num'];

//requete de supression de l'article

$req="delete from article where (id=$num)";

// code d' éxecution de la requete

mysql_query($req) or (die (mysql_error));

//retour vers la page affichage pour voir si l'information est bien supprimer

header("location:affiche.php");

?>

Fichier : suprimer.php

Page 31: Application web pour la gestion d’affichage des vols

28

IV.2.1 Page Présentation

En troisième partie nous avons la page présentation qui présente l’ensemble du

personnel ainsi que les diffèrent établissement dès l’entreprise permettant ainsi de pouvoir

s’informé la constitution les infrastructures de l’entreprise.

Figure 19: présentation de l’entreprise

IV.2.2 Base de données des vols

En dernière partie nous avons la page affichage qui possède une base de données ou

sont stockées les vols des différents aéroports en fonction de leur id (identifiant), du Nom de

l’heure et de la date qui est représenter par la figure si dessous.

Figure 20: structure de la base de données pour Affichage des vols

IV.2.3 Page affichage des vols

La page affichage des vols qui permettent d’avoir de se renseigner sur les vols

concernent la date, l’heure du vol. Il possède également un système de gestion de vols

permettant d’ajoute et de supprimer ou mette a jours un vol dans le cas d’une éventuelle retard

ou reportage des vols. Pour l’accueil on est redirigé vers les vols de Tananarive mais nous a

une déroulant pour tous les autres aéroports.

Page 32: Application web pour la gestion d’affichage des vols

29

Figure 21: Affichage des vols à Tananarive

Pour affiche les vols de Tananarive nous devrions nous connecter à la base de données

(Aviarion_2002) sélection la table Tananarive qui contient les id, nom, heure, date et la liste

des vols à Tananarive. On utilise la requête "select * from tananarive" pour afficher tous les

vols qui sont dans la base de données précisément dans la table Tananarive.

<?php

//connexion à la base de données

require_once("document/connection.php");

//requete pour l’affichage de vols à tananarive

$af="select * from tananarive";

$rs=mysql_query($af) or die(mysql_error());

?>

Fichier : index.php (tananarive)

IV.2.4 listes des vols

Nous avons un menu déroulant qui possède la liste des vols de tous les aéroports il

suffit de cliquer sur le lien pour avoir la liste des vols d’un autre aéroport et nous pouvons

mettre à jour facilement les vols. On doit juste se connecter en tant qu’administrateur du site

avec les bon identifiant (usermane et mot de passe) pour accéder à la partie admin du site

mètre a jours les vols.

Page 33: Application web pour la gestion d’affichage des vols

30

Figure 22: menu déroulant

Figure 23: liste de vols à Sambava

Pour affiche les vols de Sambava nous devrions nous connecter a la base de données

(Aviarion_2002) sélection la table Sambava qui contient les id, nom, heure, date et la liste

des vols à Sambava. On utilise la requête "select * from sambava" pour afficher tous les vols

qui sont dans la base de données précisément dans la table Tananarive.

<?php

//connexion à la base de données

require_once("document/connection.php");

//requete d'affichage des vols à sambava

$af="select * from sambava";

// code d'execution de la requete

$rs=mysql_query($af) or die(mysql_error());

?>

Page 34: Application web pour la gestion d’affichage des vols

31

Figure : page index.php (Sambava)

IV.2.5. Page d’authentification des vols

Cette page représente la page d’authentification de notre site web ou l’administrateur

doit se connecter que admin avec les bonne identifiant pour pouvoir accéder à la partie admin

du site s’il veut ajouter ou modifier ou supprimer un vol.

Figure 24: Formulaire d’identification

<!DOCRYPE html>

<html>

<head>

<meta charset="utf-8"/>

<link rel="stylesheet" href="style5.css">

<title>yassem</title>

</head>

<body>

<div class="box">

<h2>Login</h2>

//utilisation de la méthode "POST " pour envoyer les données

//et Nous utilisons cette méthode "POST " pour cachés les données à envoyer

//car ce sont des données sensibles

//Et l’action est «valider.php" ou vont être traitées les données

<form method="POST" action="valider.php">

<div class="inputBox">

<input type="text" name="login" required="" class="i">

<label>username</label>

</div>

Page 35: Application web pour la gestion d’affichage des vols

32

<div class="inputBox">

<input type="password" name="pass" required="">

<label>password</label>

</div>

//boutons d’envois des données

<input type="submit" value="Envoyer">

</form>

</div>

</body>

</html>

Fichier : d’authentification.php

//appelle du fichier connexion.php pour la connexion à la base de données

require_once("connexion.php");

//déclaration des variables en PHP pour récupérer les valeurs saisies sur le formulaire

(NAME)

// le (login et pass )

$log=htmlentities(trim($_POST['login']));

$pass=htmlentities(trim($_POST['pass']));

$PC=md5($pass);//code de cryptage du mot de passe

//vérification du mot de passe et login avec celle qui sont stoker dans la base de données

$req="select * from users where log='$log' and passwd='$PC'";

// Code d'exécution de la requête

$rs=mysql_query($req) or die(mysql_error());

if ($u=mysql_fetch_assoc($rs)){

session_start();//sécurisation de l'URL

$_SESSION['niv']=$u['niveau'];

//redirection vers la page affiche.php si tous est correcte

header("location:affiche.php");

}

else//redirection vers la page index.php si tous n'est pas correcte

{

header("location:index.php");

}

?>

Fichier: valider.php

Page 36: Application web pour la gestion d’affichage des vols

33

IV.2.6 Page gestion des vols

Nous avons ici la page des gestions des vols avec les différentes options ajoutées de

modifier et supprimé nous permettant ainsi gérer les vols.

Figure 25: gestion des vols

<?php

//appelle du fichier connexion .php

//pour la connexion à la base de données

require_once("connection.php");

// requete pour l'affichage des vols à tananarive

$af="select * from tananarive";

//code pour l'exécuté la requête

$rs=mysql_query($af) or die(mysql_error());

?>

//lien vers la page ajouter.php pour ajouter un vol

<a class="aj_btn" href="saisie.html">Ajout-vol</a>

//lien vers la page supprimer.php pour supprimer un vol

<a class="del_btn" href="suprimer.php?code=<?php echo ($ET['id']) ?>">Suprimer</a >

//lien vers la page modification.php pour modifier un vol

<a class="edit_btn" href="editer.php?id=<?php echo ($ET['id']) ?>">Modifier</a>

Fichier affichage.php

Page 37: Application web pour la gestion d’affichage des vols

34

IV.2.7 Page ajout de vol

C’est dans cette page que nous avons la possibilité d’ajouter un vol il suffit saisir les

valeurs sur lieu de départ et d’arriver ainsi que l’heure et la date du vol.

Figure 26: ajout de vol

DOCTYPE html>

<html>

<head>

<title>GESTION DES ETUDIANS</title>

<meta charset="utf_8">

<link rel="stylesheet" type="text/css" href="saisie.css" />

</head>

<body>

<div class="loginbox">

<form method="POST" action="ajoute.php" >

<p>NON VOLS:</p>

<input type="text" name="Nom"/>

<p>HEURE:</p>

<input type="text" name="heure"/>

<p>DATE:</p>

<input type="text" name="date"/>

<input type="submit" name="submit" value="Envoyer"/><br><br>

Page 38: Application web pour la gestion d’affichage des vols

35

</form>

</div>

</body>

</html>

Fichier : formulaire_Ajout.php

<?php

//si l'utilisateur clique sur le bouton submit(envoyer)

if (isset($_POST['submit']))

{

//connexion à la base de données

require_once("connection.php");

//récupération des nouvelles valeur sur le formulaire html(nom,heure,date)

$nom=$_POST['nom'];

$heure=$_POST['heure'];

$date=$_POST['date'];

//requête pour insertion des données des vols dans la base des données

$aj=("insert into tananarive(nom,heure,date) values ('$nom','$heure','$date')");

// code d'execution de la requête

mysql_query($aj) or(die(mysql_error()));

//retour vers la page affichage pour voir si le vol est bien ajouté

header("location:affiche.php");

}

?>

Fichier : Ajouter.php

IV.2.8 Page de Modification de vol

Ceci présente la page de mise à jour de vols elle nous permet de modifier les

vols en cas de retard ou reportage des vols pour informer les différents passages

concernent les nouvelles instructions pour meilleur organisation.

Page 39: Application web pour la gestion d’affichage des vols

36

Figure 27 : modification des vols

<?php

require_once("connection.php");

$id=$_GET['id'];

$req="select * from tananarive where id=$id";

$rs=mysql_query($req) or die(mysql_error());

$ET=mysql_fetch_assoc($rs);

?>

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<link rel="stylesheet" type="text/css" href="edite.css" />

</head>

<body>

<div class="loginbox">

<form method="POST" action="modifier.php" enctype="multipart/form-

data" >

<p>LISTE DES VOLES:</p>

<input type="hidden" name="id" value="<?php echo

($ET['id']) ?>"/>

<input type="text" name="liste" value="<?php echo

($ET['liste']) ?>" />

<p>HEURE:</p>

<input type="text" name="heure" value="<?php echo

($ET['heure']) ?>" />

Page 40: Application web pour la gestion d’affichage des vols

37

<p>DATE:</p>

<input type="text" name="date" value="<?php echo

($ET['date']) ?>" />

<br><br>

<input type="submit" name="submit"

value="Envoyer"/><br><br>

</form>

</div>

</body>

</html>

Fichier: modification.php

<?php //ninie Rj.

//si l'utilisateur clique sur le bouton submit(envoyer)

if (isset($_POST['submit']))

{

//connexion à la base de données

require_once("connection.php");

//récupération des nouvelles valeurs des vols sur le formulaire html

//(id,liste,heure,datem)

$id=$_POST['id'];

$liste=$_POST['liste'];

$heure=$_POST['heure'];

$date=$_POST['date'];

//requête de modification des vols (le non du vol, heure, et la date)

//en fonction de l'identifiant

$mod="update tananarive set liste='$liste', heure='$heure', date='$date' where

id=$id";

// Code d'execution de la requête

mysql_query($mod) or(die(mysql_error()));

//retour vers la page affichage pour voir si le vol a été bien modifier

header("location:affiche.php");

}

?>

Fichier : modification.php

IV.2.9 Page de suppression de vol

Ceci présent la page de suppression des vols avec message confirmation pour

supprimer les vols dans ou les vols a déjà eu lieu.

Page 41: Application web pour la gestion d’affichage des vols

38

Figure 28: suppression des vols

<?php

//connexion à la base de données

require_once("connection.php");

//Identification de l'identifiant (id) a supprimé

$code=$_GET['code'];

//requete de supression du vol en fonction de l'identifiant

$sup="delete from tananarive where (id=$code)";

// Code d'exécution de la requête

mysql_query($sup) or die (mysql_error());

//retour vers la page affichage pour voir si le vol est bien supprimé

header("location:affiche.php");

?>

Fichier : supprimer.php

Page 42: Application web pour la gestion d’affichage des vols

39

CONCLUSION

En guise de conclusion, ce stage de fin d’études effectué au sein de la Eqima m’a

permis d’avoir un aperçu de ce qu’est la vie professionnelle, avec toutes les contraintes et les

limites imposées dans le travail à accomplir. La réalisation de cette se site web m’a été très

bénéfique, car ça m’a permis de développer mes connaissances sous divers langages de

programmation savoir le HTML, CSS, PHP et java script et jQuery. En ce qui concerne ceux

projet en elle-même elle reste un projet très utile, car il permet à tous les visiteurs du site de

pouvoir s’informé sur leur vol n’importe quel moment et partout dans le monde.

Ce type d’application requiert la maitrise de différents types de langage de script :

PHP, ainsi qu’un sens artistique au niveau du design défini par les langages : HTML, CSS,

JavaScript. Il ne faut pas négliger ou prendre à la légère chaque étape. Pour mettre en œuvre

l’application, elle suit des procédures bien défini depuis la conception de la base de données à

partir de l’architecture MVC (Modèle Vue Contrôleur) jusqu’à la création des pages PHP et

html. Chaque étape constitue un maillon nécessaire pour l’optimisation du site, son bon

fonctionnement et surtout sa sécurité.

• Un ensemble de pages « statiques », c'est-à-dire dont le contenu n'est pas influencé

par l'internaute qui la demande, et qui n'évolue pas sans une intervention manuelle sur le code.

• Un ensemble de pages « dynamiques », c'est-à-dire dont le contenu évolue sans que

le code du site web ne soit modifié, soit via l'interaction des utilisateurs, soit par du calcul.

C'est le cas de la très large majorité des sites web depuis le début des années 2000.

Pour un internaute qui fait appel à une URL, la page web correspondante, qu'elle soit

statique ou dynamique, consiste en du code « côté client » (HTML, CSS, Javascript, ...) qui

est interprété par son navigateur (Google Chrome, Firefox, ...) produisant une interface

utilisateur. Ce code, qui est renvoyé par un serveur web, peut ou non avoir été généré par du

calcul « côté serveur », via des langages de programmation particuliers, pouvant faire appel à

des bases de données.

Ce mémoire nous permet de voir le fonctionnement ainsi que la conception des sites

web. Par ailleurs ce projet apportera aux futurs programmeurs une idée ainsi que les

procédures à suivre pour la réalisation d’un système de gestion et affichage des vols, qui est

très utiles dans les aéroports.

Page 43: Application web pour la gestion d’affichage des vols

40

REFERENCE

[1] : http://glossaire.infowebmaster.fr/javascript/ (le 20 décembre 2019 )

[2] http://glossaire.infowebmaster.fr/jquery/ (le 20 décembre 2019)

[3] https://fr.wikipedia.org/wiki/Hypertext_Markup_Language (le 20 décembre 2019)

[4] https://fr.wikipedia.org/wiki/PHP (le 25 décembre 2019)

[5] https://fr.wikipedia.org/wiki/Mod%C3%A8le-vue-contr%C3%B4leur(le 25 décembre

2019)

[6] http://glossaire.infowebmaster.fr/jquery/(le 25 décembre 2019)

[7] https://fr.wikipedia.org/wiki/Bootstrap (framework) (le 27 décembre 2019)

[8] https://fr.wikipedia.org/wiki/Font_Awesome (le 27 décembre 2019)

[9] https://fr.wikibooks.org/wiki/Adobe_Photoshop/Introduction (le 27 décembre 2019)

[10] https://fr.wikipedia.org/wiki/Material_design (le 27 décembre 2019)

Page 44: Application web pour la gestion d’affichage des vols

41

Annexe 1 : L’APPLICATION WEB

La page affichage de vols

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="content-language" content="fr" />

<meta name="language" content="fr" />

<meta name="copyright" content="Eqima madagascar" />

<meta name="author" content="yassem mahamoud" />

<meta property="og:language" content="fr" />

<meta property="og:title" content="Eqima" />

<meta property="og:site_name" content="yassem.byethost10.com" />

<meta property="og:url" content="http://yassem.byethost10.com/" />

<meta property="og:description" content="Eqima" />

<link rel="icon" type="image/png" href="img/b.png" />

<!--Import Google Icon Font-->

<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">

<link rel="stylesheet"

href="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">

<link rel="stylesheet" type="text/css" href="css/main.css">

<!--Let browser know website is optimized for mobile-->

<!--<meta name="viewport" content="width=device-width, initial-scale=1.0"/>

<script defer src="https://use.fontawesome.com/releases/v5.0.9/js/all.js" integrity="sha384-

8iPTk2s/jMVj81dnzb/iFR2sdA7u06vHJyyLlAd4snFpCl/SnyUjRrbdJsw1pGIl"

crossorigin="anonymous"></script>-->

<link href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"

rel="stylesheet"/>

Page 45: Application web pour la gestion d’affichage des vols

42

<link rel="stylesheet" href="https://unpkg.com/aos@next/dist/aos.css" />

<title>Eqima</title>

</head>

<body id="home" class="srcollspy">

<!--Navbar -->

<div class="navbar-fixed">

<nav class="teal ">

<div class="container">

<div class="nav-wrapper">

<a href="#" class="brand-logo"><img class="lg0" src="img/2.png" class="lg0"></a>

<a href="#" data-target="mobile-nav" class="sidenav-trigger">

<i class="material-icons">menu</i>

<ul class="right hide-on-med-and-down">

<li>

<a href="#home">Home</a>

</li>

<li>

<a href="#search">Search</a>

</li>

<li>

<a href="#popular">Popular</a>

</li>

<li>

<a href="#gallery">Gallery</a>

</li>

<li>

<a href="#contact">Contact</a>

Page 46: Application web pour la gestion d’affichage des vols

43

</li>

</ul>

</a>

</div>

</div>

</nav>

</div>

<ul class="sidenav" id="mobile-nav">

<li>

<a href="#home">Home</a>

</li>

<li>

<a href="#search">Search</a>

</li>

<li>

<a href="#popular">Popular</a>

</li>

<li>

<a href="#gallery">Gallery</a>

</li>

<li>

<a href="#contact">Contact</a>

</li>

</ul>

<!-- SEction :slider-->

<section class="slider">

Page 47: Application web pour la gestion d’affichage des vols

44

<ul class="slides">

<li>

<img src="img/1.jpg"> <!-- random image -->

<div class="caption center-align">

<h2>Bienvenue sur le site d'Adema </h2>

<h5 class="light grey-text text-lighten-3 hide-on-small-only"><span class="lg3"> L'ADEMA (Aéroport

de Madagascar) qui assure la gestion de l'aérogare compte mette en oeurvre les nouvelles

techonologies. Il met à la disposition des compagnies aérienne et différent equipe pour vous

servires.

. </h5>

</div>

</li>

<li>

<img src="img/2.jpg"> <!-- random image -->

<!--left-align-->

<div class="caption center-align">

<h2>Air Madagascar</h2>

<h5 class="light grey-text text-lighten-3 hide-on-small-only"><span class="lg3"> L'île d'Anjouan est la

principale zone de production agricole de l'Union. Les principales ressources de devise s sont la

vanille, l'ylang-ylang et le girofle, ces deux dernières productions étant récoltées principalement

dans l'île</span></h5>

</div>

</li>

<li>

<img src="img/3.jpg"> <!-- random image -->

<!--right-align-->

<div class="caption center-align">

<h2>Aéroport </h2>

<h5 class="light grey-text text-lighten-3 hide-on-small-only"><span class="lg3">L'île d'Anjouan est la

principale zone de production agricole de l'Union. Les principales ressources de devise s sont la

vanille, l'ylang-ylang et le girofle, ces deux dernières productions étant récoltées principalement

Page 48: Application web pour la gestion d’affichage des vols

45

dans l'île</span></h5>

</div>

</li>

<li>

<img src="img/4.jpg"> <!-- random image -->

<div class="caption center-align">

<h2>l'Adema sera toujours la pour vous</h2>

<h5 class="light grey-text text-lighten-3 hide-on-small-only"><span class="lg3"> L'île d'Anjouan est la

principale zone de production agricole de l'Union. Les principales ressources de devise s sont la

vanille, l'ylang-ylang et le girofle, ces deux dernières productions étant récoltées principalement

dans l'île</span></h5>

</div>

</li>

</ul>

</section>

<!--Section: Search -->

<section id="search" class="section section-search teal darken-1 white-text center scrollspy ">

<div class="container">

<div class="row">

<div class="col s12">

<h3 id="zezezr">Search Destination</h3>

<div class="input-field">

<input type="text" class="white grey-text autocomplete" id="autocomplete-input"

placeholder="Madagascarda, France, etc... ">

</div>

</div>

</div>

</div>

</section>

Page 49: Application web pour la gestion d’affichage des vols

46

<!--Section: Icon-->

<section class="section section-icons grey lighten-4 center">

<div class="quote" >

<div>

<div class="container" >

<div class="row">

<div class="col s12 m4" data-aos="fade-in" data-aos-delay="300">

<div class="card-panel box box1">

<i class="material-icons large

teal-text">info</i>

<a href="information/index.php" class="dd"><H4>Information</H4></a>

<p class="lg2">Pour plus information sur le retard ou reportage de vols clique sur cette partie. </p>

</div>

</div>

<div class="col s12 m4" data-aos="fade-in" data-aos-delay="600">

<div class="card-panel box box2">

<i class="material-icons large

teal-text">person</i>

<a href="presentation\index.php" class="dd"><H4>Présentation</H4></a>

<p class="lg2">Pour plus reignement sur notre entreprise cliqué sur cette page.</p>

</div>

</div>

<div class="col s12 m4" data-aos="fade-in" data-aos-delay="900">

<div class="card-panel box box3">

<i class="material-icons large

teal-text">airplanemode_active</i>

Page 50: Application web pour la gestion d’affichage des vols

47

<a href="systheme\index.php" class="dd"><H4>Aviation</H4></a>

<p class="lg2">Pour l'affichage de tous les vols de nos differents aréport cliqué ici.</p>

</div>

</div>

</div>

</div>

</div>

</div>

</section>

<!-- SEction popular places-->

<section id="popular" class="section section-popular scrollspy">

<div class="container">

<div class="row">

<h4 class="center"><span class="teal-text tesxt1"> Popular</span> Places</h4>

<div class="col s12 m4" data-aos="fade-right" data-aos-delay="300">

<div class="card">

<div class="card-image">

<img src="img/5.jpg" alt="image">

<span class="card-title"></span>

</div>

<div class="card-content center">

<p class="lg">Logo Adema Madagascar</p>

</div>

</div>

</div>

<!---->

<div class="col s12 m4" data-aos="fade-down" data-aos-delay="900">

Page 51: Application web pour la gestion d’affichage des vols

48

<div class="card">

<div class="card-image">

<img src="img/6.jpg" alt="image">

<span class="card-title"></span>

</div>

<div class="card-content center">

<p class="lg">Logo Air Madagascar</p>

</div>

</div>

</div>

<!---->

<div class="col s12 m4" data-aos="fade-left" data-aos-delay="600">

<div class="card">

<div class="card-image">

<img src="img/7.jpg" alt="image">

<span class="card-title"></span>

</div>

<div class="card-content center">

<p class="lg">Logo pays Madagascar</p>

</div>

</div>

</div>

<!---->

</div>

<div>

</section>

<!-- Sction : follow-->

Page 52: Application web pour la gestion d’affichage des vols

49

<section class="section section-follow teal darken-2 white-text center">

<div class="container">

<div class="row">

<div class="col s12">

<h4 data-aos="fade-down" data-aos-delay="300">Follow travelville</h4>

<p>Follow us on social media for special offers </p>

<a href="#" class="white-text">

<i class="fa fa-facebook-square fa-4x" data-aos="fade-in" data-aos-delay="300"></i>

</a>

<a href="#" class="white-text">

<i class="fa fa-twitter-square fa-4x" data-aos="fade-in" data-aos-delay="600"></i>

</a>

<a href="#" class="white-text">

<i class="fa fa-linkedin-square fa-4x" data-aos="fade-in" data-aos-delay="900"></i>

</a>

<a href="#" class="white-text">

<i class="fa fa-google-plus-square fa-4x" data-aos="fade-in" data-aos-delay="1200"></i>

</a>

<a href="#" class="white-text">

<i class="fa fa-pinterest-square fa-4x" data-aos="fade-in" data-aos-delay="1500"></i>

</a>

</div>

</div>

</div>

</section>

<!-- Section Gallery-->

<section id="gallery" class="section section-gallery scrollspy">

Page 53: Application web pour la gestion d’affichage des vols

50

<div class="container">

<h4 class="center">

<span class="teal-text">Photo </span>Gallery

</h4>

<div class="row">

<div class="col s12 m3" data-aos="fade-in" data-aos-delay="300">

<img src="img/12.jpg" alt="" class="materialboxed responsive-img">

</div>

<div class="col s12 m3" data-aos="fade-in" data-aos-delay="300">

<img src="img/13.jpg" alt="" class="materialboxed responsive-img">

</div>

<div class="col s12 m3" data-aos="fade-in" data-aos-delay="300">

<img src="img/14.jpg" alt="" class="materialboxed responsive-img">

</div>

<div class="col s12 m3"data-aos="fade-in" data-aos-delay="300">

<img src="img/15.jpg" alt="" class="materialboxed responsive-img">

</div>

</div>

<div class="row">

<div class="col s12 m3" data-aos="fade-in" data-aos-delay="600">

<img src="img/8.jpg" alt="" class="materialboxed responsive-img">

</div>

<div class="col s12 m3" data-aos="fade-in" data-aos-delay="600">

<img src="img/9.jpg" alt="" class="materialboxed responsive-img">

</div>

<div class="col s12 m3" data-aos="fade-in" data-aos-delay="600">

<img src="img/10.jpg" alt="" class="materialboxed responsive-img">

</div>

Page 54: Application web pour la gestion d’affichage des vols

51

<div class="col s12 m3" data-aos="fade-in" data-aos-delay="600">

<img src="img/11.jpg" alt="" class="materialboxed responsive-img">

</div>

</div>

<div class="row">

<div class="col s12 m3" data-aos="fade-in" data-aos-delay="900">

<img src="img/16.jpg" alt="" class="materialboxed responsive-img">

</div>

<div class="col s12 m3" data-aos="fade-in" data-aos-delay="900">

<img src="img/17.jpg" alt="" class="materialboxed responsive-img">

</div>

<div class="col s12 m3" data-aos="fade-in" data-aos-delay="900">

<img src="img/18.jpg" alt="" class="materialboxed responsive-img">

</div>

<div class="col s12 m3" data-aos="fade-in" data-aos-delay="900">

<img src="img/19.jpg" alt="" class="materialboxed responsive-img">

</div>

</div>

</div>

</section>

<!--section contact -->

<section id="contact" class="section section-contact scrollspy" >

<div class="container">

<h4 class="center">

<span class="teal-text">Formulaire </span>Contact

</h4>

<div class="row">

<div class="col s12 m6" data-aos="fade-right" data-aos-delay="300">

<div class="card-panel teal white-text center">

Page 55: Application web pour la gestion d’affichage des vols

52

<i class="material-icons">email</i>

<h5>contactez Adema</h5>

<p>

Pour plus d'infromation voici nos cordonnée Email téléphone adresse pour nous contacté en cas de

besoin nous vous souhaitons une journée.

</p>

</div>

<ul class="collection with-header">

<li class="collection-header"><h5 ><span class="teal-text">Adrs:</span> BP 1254 Ampandrianomby

101 </h5></li>

<li class="collection-item"><h5 ><span class="teal-text">Email:</span>

[email protected]</h5></li>

<li class="collection-header"><h5 ><span class="teal-text">Site web:</span>

www.adema.mg</h5></li>

<li class="collection-item"><h5 ><span class="teal-text">Tel:</span> +261 20 26 396 32 </h5></li>

</ul>

</div>

<div class="col s12 m6" data-aos="fade-left" data-aos-delay="900">

<div class="card-panel grey lighten-3">

<h5>S'il vous plait remplissez le formulaire</h5>

<div class="input-field">

<input type="text" placeholder="Name">

</div>

<div class="input-field">

<input type="text" placeholder="Email">

</div>

<div class="input-field">

<input type="text" placeholder="Phone">

</div>

<div class="input-field">

Page 56: Application web pour la gestion d’affichage des vols

53

<textarea class="materialize-textarea" placeholder="Enter message"></textarea>

</div>

<input type="submit" value="Submit" class="btn">

</div>

</div>

</div>

</div>

</div>

</section>

<!-- footer-->

<footer class="section teal darken-2 white-text center">

<p class="flow-text"> Adema &copy; 2019 Tous droits résérvés.</p>

</footer>

<!--JavaScript at end of body for optimized loading-->

<script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>

<script >

//sidenav

const sideNav = document.querySelector('.sidenav');

M.Sidenav.init(sideNav,{});

// slider

const slider = document.querySelector('.slider');

M.Slider.init(slider,{

indicators: false,

height: 500,

transition: 500,

interval: 6000

});

// Autocomple

const ac = document.querySelector('.autocomplete');

Page 57: Application web pour la gestion d’affichage des vols

54

M.Autocomplete.init(ac,{

data:{

"Madagascar":null,

"Comores":null,

"Paris":null,

"Egypte":null,

"Europe":null,

"Japon":null,

"France":null,

}

});

//Material Boxed

const mb = document.querySelectorAll('.materialboxed');

M.Materialbox.init(mb,{});

//Scrolly

const ss = document.querySelectorAll('.scrollspy');

M.Scrolly.init(ss, {});

</script>

<script src="https://code.jquery.com/jquery-3.4.1.js"></script>

<script src="https://unpkg.com/aos@next/dist/aos.js"></script>

<script>

AOS.init({

easing:'ease',

duration: 1800

});

//-----

$(function() {

/**

* Smooth scrolling to page anchor on click

Page 58: Application web pour la gestion d’affichage des vols

55

**/

$("a[href*='#']:not([href='#'])").click(function() {

if (

location.hostname == this.hostname

&& this.pathname.replace(/^\//,"") == location.pathname.replace(/^\//,"")

) {

var anchor = $(this.hash);

anchor = anchor.length ? anchor : $("[name=" + this.hash.slice(1) +"]");

if ( anchor.length ) {

$("html, body").animate( { scrollTop: anchor.offset().top }, 1500);

}

}

});

});

</script>

</body>

</html>

Page 59: Application web pour la gestion d’affichage des vols

TITRE : Application web pour la gestion d’affichage des vols Resumé

Notre projet consiste à réaliser un site web pour l’affichage et gestion de vols et la

présentation de l’entreprise. Il est divisé en 4 grandes parties une périmer partie qui est la page

d’accueil qui présent le site web avec ces différents onglés qui dispose. Une deuxième partie

qui est la page information permettant de publier les informations importantes concernent les

vols ou sur l’entreprise, et puis une troisième partie présentation qui présente l’entreprise et

les personnels important qui le constitue. Pour finir une partie aviation qui présent qui affiche

tous les vols des différents aéroports avec un système de gestion d’ajout de modification de

suppression pour la mise à jour constante des vols.

Mots clés : site web, gestion des vols.

ABSTRACT

Our project consists in creating a website for the display and management of flights and the

presentation of the company. It is divided into 4 major parts, which is the home page which

presents the website with these different tabs. A second part which is the information page

allowing to publish the important information concerning the flights or on the company, and

then a third part presentation which presents the company and the important personnel which

constitutes it. Finally, an aviation part which presents which displays all the flights from the

different airports with a management system of addition of modification of suppression for

the constant update of the flights.

Keywords: website, flight management.

Rapporteur

M. RASAMIMANANA François de Salle

Maitre de Conférences

M.MANDIMBY Junior Zoé Tigana

Docteur

Impétrante :

YASSEM MAHAMOUD

Tél : 00261341382629

E-mail : [email protected]

Adresse: Lot II F 34 BA TERC Andraisoro