Vous êtes sur la page 1sur 101

N° d’ordre : 02 / M2 /TCO Année universitaire : 2016/2017

UNIVERSITE D’ANTANANARIVO
---------------------------
ECOLE SUPERIEURE POLYTECHNIQUE
---------------------------
DEPARTEMENT TELECOMMUNICATION

MEMOIRE DE FIN D’ETUDES


en vue de l’obtention
du DIPLOME de MASTER
Domaine : Science de l’ingénieur
Mention : Télécommunication
Parcours : Système et Traitement de l’Information

par : ANDRIANTAHINA Minohasina

CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE


SUIVI D’EXPLOITATION ET D’AGREMENT AVEC ASP.NET

Soutenu le 12 Juillet 2018 à 9h30 devant la commission d’Examen composée de :

Président : Mr. ANDRIAMIASY Zidora

Examinateurs : Mr. ANDRIAMANALINA Ando


Mr. RAJAONARISON Roméo
Mme RAMAFIARISONA Hajasoa Malalatiana

Directeur de mémoire : Mr. RAKOTOMALALA Mamy Alain


Codirecteur de mémoire : Mr. RANDRIA Gino Eric
REMERCIEMENTS

Je tiens, en premier lieu, à exprimer toute ma reconnaissance et rendre gloire à Dieu pour
l’aboutissement de ces cinq années d’études, et surtout pour la force, la santé, le courage et la
bénédiction qu’il m’a donnés et qui m’ont permis d’atteindre cette dernière étape qui est la
réalisation de mon mémoire de fin d’études.

Mes vifs remerciements s’adressent aussi à :

- Monsieur RAMANOELINA Panja, Professeur Titulaire, Président de l’Université


d’Antananarivo qui m’avoir permis d’effectuer mes études à l’Université ;
- Monsieur ANDRIANAHARISON Yvon Dieudonné, Professeur Titulaire, Directeur de
l’Ecole Supérieure Polytechnique d’Antananarivo qui m’a donné l’opportunité d’effectuer
mes études au sein de l’ESPA durant ces cinq années d’études ;
- Monsieur RAKOTOMALALA Mamy Alain, Maître de conférences, responsable de la
mention Télécommunication, qui n’a pas ménagé ses efforts pour le développement de
l’enseignement au sein de ce département, et m’a bien reçu et accompagné durant ces cinq
années et qui m’a fait honneur en encadrant et dirigeant ce présent travail ;

Ensuite, je tiens à exprimer ma gratitude aux personnes qui suivent, sans qui ce travail n’aurait pas
vu le jour :

- Monsieur ANDRIANARISOA James, Directeur General d’ACM, qui m’a permis


d’effectuer mon stage au sein d’Aviation Civile de Madagascar ;
- Monsieur RANDRIA Gino Eric, Chef du département e-Gestion, qui nous a bien accueilli
et dirigé tout au long de notre stage.
- Monsieur RAKOTOMAMONJY Bien Aimé, Administrateur de base de données et
responsable du développement du système informatique qui m’a assisté et conseillé lors de
la réalisation de mon projet de mémoire ;
De plus, je tiens aussi à remercier chaleureusement les membres de Jury présidé par Monsieur
ANDRIAMIASY Zidora, Maître de conférences, et composé de :
- Monsieur ANDRIAMANALINA Ando, Maître de conférences ;
- Monsieur RAJAONARISON Roméo, Maître de conférences ;
- Madame RAMAFIARISONA Hajasoa Malalatiana, Maître de conférences

ii
qui ont consacré leur temps à examiner mon travail malgré leurs lourdes responsabilités.

Et j’adresse mes remerciements à :


- Tout le personnel d’ACM, qui a été très accueillant et très collaboratif.
- Tous les enseignants de l’ESPA qui nous a donné le savoir pour aboutir enfin à la pratique.

Enfin, je suis très reconnaissante envers mes très chers parents, toute ma famille et mes ami(e)s, qui
m’ont soutenu moralement et matériellement durant mes années d’études, merci du fond du cœur.

iii
TABLE DES MATIERES

REMERCIEMENTS ..................................................................................................................................... ii
TABLE DES MATIERES ........................................................................................................................... iv
LISTE DES ABREVIATIONS.................................................................................................................. viii
INTRODUCTION GENERALE.................................................................................................................. 1
CHAPITRE 1 - CONTEXTE GENERAL DU PROJET ........................................................................... 2
1.1 Introduction ......................................................................................................................................... 2

1.2 Présentation de l’entreprise ............................................................................................................... 2

1.2.1 Généralités sur ACM .................................................................................................................... 2

1.2.2 Missions et visions ........................................................................................................................ 3

1.2.3 Valeurs .......................................................................................................................................... 4

1.2.4 Organisation d’ACM .................................................................................................................... 5

1.2.5 Principales activités de l’ACM ..................................................................................................... 8

1.2.6 Département e-Gestion ............................................................................................................... 10

1.2.7 Département Certification et Surveillance ................................................................................. 11

1.3 Cahier de charge ............................................................................................................................... 12

1.3.1 Formulation ................................................................................................................................ 13

1.3.2 Objectifs du projet ....................................................................................................................... 13

1.3.3 Enumération des besoins ............................................................................................................ 13

1.3.4 Fonctionnalités attendues........................................................................................................... 13

1.3.5 Résultats attendus ....................................................................................................................... 15

1.3.6 Améliorations proposées ............................................................................................................. 15

1.4 Type d’application à réaliser ........................................................................................................... 16

1.4.1 Notion de client ........................................................................................................................... 16

1.4.2 Implémentation ........................................................................................................................... 17

1.5 Type de développement adopté ........................................................................................................ 18

1.5.1 Le développement « Front End » ............................................................................................... 18

1.5.2 Le développement « Back end » ................................................................................................. 18

iv
1.5.3 Le développement « Full stack » ................................................................................................ 19

1.6 Conclusion ......................................................................................................................................... 19

CHAPITRE 2 - ASPECT THEORIQUE DU PROJET ........................................................................... 20


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

2.2 Méthode de gestion de projet informatique adopté ....................................................................... 20

2.2.1 Méthode de développement de projet informatique ................................................................... 20

2.2.2 Choix de la méthode 2TUP ......................................................................................................... 21

2.3 Analyse préalable .............................................................................................................................. 23

2.3.1 Analyse de l’existant ................................................................................................................... 23

2.3.2 Critique de l’existant................................................................................................................... 24

2.3.3 Solutions proposées .................................................................................................................... 25

2.4 Architecture du système ................................................................................................................... 26

2.4.1 Style architecturale ..................................................................................................................... 26

2.4.2 Architecture MVC ....................................................................................................................... 27

2.5 Langage et outil de modélisation ..................................................................................................... 29

2.5.1 Langage UML ............................................................................................................................. 29

2.5.2 Langage de l’IDE ....................................................................................................................... 30

2.5.3 Technologie ASP.net .................................................................................................................. 30

2.5.4 Langage de programmation choisie ........................................................................................... 31

2.5.5 Système de Gestion des Bases de Données................................................................................. 32

2.6 Conclusion ......................................................................................................................................... 33

CHAPITRE 3 - CONCEPTION DE L’APPLICATION WEB ............................................................... 34


3.1 Introduction ....................................................................................................................................... 34

3.2 Dictionnaire de donnée ..................................................................................................................... 34

3.3 Diagramme de classe......................................................................................................................... 35

3.3.1 Généralités .................................................................................................................................. 35

3.3.2 Composant d’un diagramme de classe ....................................................................................... 36

3.3.3 Diagramme de classe du projet .................................................................................................. 36

v
3.4 Diagramme de cas d’utilisation de l’application ............................................................................ 36

3.4.1 Généralités .................................................................................................................................. 36

3.4.2 Composants d’un diagramme de cas d’utilisation ..................................................................... 37

3.4.3 Cas d’utilisation générale de l’application ................................................................................ 39

3.4.4 Cas d’utilisation « Gérer utilisateur » ........................................................................................ 42

3.4.5 Cas d’utilisation « Gérer Exploitant Aérodrome » .................................................................... 44

3.4.6 Diagramme de cas d’utilisation « Gérer mis à jour information » ........................................... 46

3.4.7 Diagramme de cas d’utilisation « Gérer tableau de bord » ....................................................... 48

3.4.8 Diagramme de cas d’utilisation « Gérer statistique »................................................................ 49

3.5 Diagramme de séquence ................................................................................................................... 51

3.5.1 Généralités .................................................................................................................................. 51

3.5.2 Composants d’un diagramme de séquence ................................................................................ 51

3.5.3 Diagrammes de séquence de l’application ................................................................................. 52

3.6 Conclusion ......................................................................................................................................... 61

CHAPITRE 4 - REALISATION ET PRESENTATION DE L’APPLICATION ................................. 62


4.1 Introduction ....................................................................................................................................... 62

4.2 Mise en place de l’environnement de développement .................................................................... 62

4.2.1 Mise en place de Visual Studio 2015.......................................................................................... 62

4.2.2 Installation et configuration de SQL Server 2008 R2 ............................................................... 66

4.3 Réalisation proprement dite ............................................................................................................. 67

4.3.1 Model ........................................................................................................................................... 68

4.3.2 View ............................................................................................................................................. 72

4.3.3 Controller .................................................................................................................................... 72

4.4 Présentation de l’application web de suivis .................................................................................... 76

4.4.1 Présentation générale ................................................................................................................. 76

4.4.2 Présentation en détails ................................................................................................................ 77

4.5 Interprétations et solutions .............................................................................................................. 83

4.6 Conclusion ......................................................................................................................................... 83

vi
CONCLUSION GENERALE .................................................................................................................... 84
ANNEXE 1 : ................................................................................................................................................. 85
INSTALLATION DU LOGICIEL VISUAL PARADIGME .................................................................. 85
ANNEXE 2 : ................................................................................................................................................. 86
EXTRAITS DE CODE UTILISES ............................................................................................................ 86
A2.1 Extrait de code pour la création de la base de données ............................................................. 86

A2.2 Extrait de code pour la vue ........................................................................................................... 87

BIBLIOGRAPHIE ...................................................................................................................................... 88
FICHE DE RENSEIGNEMENT ............................................................................................................... 90
RESUME ...................................................................................................................................................... 91
ABSTRACT ................................................................................................................................................. 91

vii
LISTE DES ABREVIATIONS

.NET Framework dot net


2TUP Unified Process
ACM Aviation Civile de Madagascar
AMO Authorized Maintenance Organization
AN Alpha Numérique
ASP Active Server Pages
ATO Approved Training Organisation
BI Business Intelligence
C# C Sharp
CA Conseil d’Administration
CEMPA Centre d’Expertise Médical Personnel Aéronautique
CI Cellule Informatique
CSS Cascading StyleSheet
CTA Certificat du Transporteur Aérien
DAF Direction Administrative et Financière
DCS Département Certification et Surveillance
DDG Direction auprès de la Direction Générale
DES Direction de la Supervision de la Sécurité
DGA Direction Générale Adjointe
DGE Direction Générale
DJE Direction des Affaires Juridiques et Economiques
DPA Direction du Patrimoine Aéroportuaire
DQL Direction de la Qualité
DRG Direction de la Règlementation
DRH Direction des Ressources Humaines
DSU Direction de la Supervision de la Sûreté
DT DateTime
EPIC Etablissement Public à caractère Industrielle et Commercial
ETL Extract Transform and Load
GHz GigaHertz

viii
HTML Hypertext Markup Language
I Integer
IDE Integrated Development Environment
MVC Model View Controller
N Numeric
OACI Organisation de l’Aviation Civile International
OLAP OnLine Analytic Processing
OLTP OnLine Transaction Processing
SGBD Système de Gestion des Bases de Données
SGE Secrétariat Général
SQL Structured Query Language
SSAS SQL Server Analysis Services
SSIS SQL Server Integration Services
UML Unified Modeling Language
UP Unified Process
VB Visual Basic
XML eXtensible Markup Language

ix
INTRODUCTION GENERALE

Actuellement, le secteur du numérique ne cesse d’évoluer et engendre de différentes nouvelles


technologies. Presque tous les domaines y ont fait recours, engendrant les avantages de la maitrise
des différents outils concernant le numérique. Son utilisation est, de nos jours, d’une importance
capitale pour le bon fonctionnement des entreprises. De plus, l’évolution vers l’informatisation a
promu l’existence d’une grande variété de hardware et d’un nombre incalculable de software. Cet
immense développement a inspiré ces entreprises à adopter des outils complexes pour optimiser leur
travail et atteindre leurs objectifs.

Le département Certification et Surveillance, au sein d’ACM (Aviation Civile de Madagascar),


éprouve ce même besoin d’améliorer leur façon de travailler. En effet, une perte de temps
considérable a été constatée lors des traitements des dossiers concernant les exploitations et les
agréments. Ainsi ce département désire laisser de cotés le traitement des paperasses et migrer vers
l’utilisation d’une plateforme numérique sécurisée de suivis des exploitations et des agréments.

De ce fait, durant le stage au sein du département e-Gestion, le département qui se charge du


domaine informatique et télécommunication d’ACM, ma tâche principale fut la conception et la
réalisation de cette plateforme, d’où le thème de mon projet de mémoire de fin d’études :
« Conception et réalisation d’une application web de suivis d’exploitations et d’agréments avec
ASP.net ».

Afin de bien cerner le sujet, le contexte général du projet sera développé en premier lieu pour nous
permettre de connaitre l’environnement de travail, les besoins du client et l’ampleur du travail qui
nous attend. Par la suite, un chapitre concernant les aspects théoriques comprenant les analyses et
les approches effectuées sera établi afin d’expliciter les conditions de départ et les outils nécessaires
pour une bonne gestion de ce projet. Après ce deuxième chapitre un autre chapitre concernant la
conception de l’application web s’en suive pour bien assurer que le projet coïncide avec les besoins
du client. Et en dernier lieu, la réalisation de l’application enchainée par une présentation de
l’application va couronner la présente étude.

1
CHAPITRE 1
CONTEXTE GENERAL DU PROJET

1.1 Introduction

Ce projet est le fruit de la collaboration entre deux départements : l’e-Gestion et la Certification et


Surveillance. Ainsi, ce chapitre présentera l’environnement de travail, le cahier de charge
concernant qui détaille ce projet et un aperçu de ce que l’on entend par application web.

1.2 Présentation de l’entreprise

1.2.1 Généralités sur ACM

1.2.1.1 Description d’ACM

ACM ou Aviation Civile de Madagascar est un EPIC (Etablissement Public à caractère Industriel et
Commercial) depuis sa création, et est sous la tutelle technique du Ministère des transports. C’est
l’autorité administrative représentant l’Etat Malagasy dans le domaine du transport aérien civil. Il
gère le bon fonctionnement du transport aérien à Madagascar, c’est-à-dire que c’est l’autorité de
réglementation et de supervision de l’aviation civile à Madagascar. Sa création a été établi par le
Décret n° 99-124 du 17 février 1999.
Même si l’établissement de cette autorité a été récent, on a pu constater que Madagascar est membre
de l’OACI (Organisation de l’Aviation Civile International) depuis le 14 Avril 1962.

1.2.1.2 Coordonnées et contact

Aviation Civile de Madagascar reste l’organisme qui gère le bon fonctionnement du transport aérien
à Madagascar. Son siège social se situe à Tsimbazaza Antananarivo selon les coordonnées
suivantes :
- Adresse : 13 Rue Fernand Kasanga ;
- Boite Postale : 4414 101 – Antananarivo.
En ce qui concerne leur contact, les détails sont les suivants :
- Téléphone : 020 22 224 38 ;
- Adresse e-mail : acm@acm.mg.
Et leurs activités peuvent être consultées en ligne à l’aide de leur site web :
- http://www.acm.mg.

2
1.2.2 Missions et visions

1.2.2.1 Missions d’ACM

Selon le Décret n° 2013-710 du 17 Septembre 2013, l’Aviation Civile de Madagascar a pour


mission :
- L’exécution de la politique de l’Etat en matière d’aviation civile ;
- L’élaboration, la mise en œuvre et la surveillance de l’application de la règlementation en
matière d’aviation civile conformément aux normes de l’OACI ;
- La veille :
▪ Au respect et au maintien des normes de sureté et de sécurité à
l’efficacité et à la régularité du transport aérien ;
▪ À la promotion de l’aviation civile à Madagascar ;
▪ À la concurrence saine entre les exploitants et entre les prestataires
d’installations et de services ;
▪ À la protection de l’environnement.
- Le conseil au Ministre chargée de l’aviation civile en matière de politique du transport aérien
tant intérieur qu’international et la veille à son application. [1]

1.2.2.2 Visions d’ACM

Pour les années 2015 à 2020, l’ACM a comme vision les trois (03) grands points suivants :
- Vision 1 : L’Aviation Civile de Madagascar est une autorité reconnue ;
- Vision 2 : L’Aviation Civile de Madagascar est une référence dans la zone de l’Océan
Indien ;
- Vision 3 : L’Aviation Civile de Madagascar est un outil de développement du pays

1.2.2.3 Axes stratégiques

Pour atteindre ses visions, ACM a adopté les quatre (04) axes stratégiques qui suivent :
- Axes 1 : Exceller dans l’exercice et la maitrise de notre métier et de notre mission, « faire
mieux » ;
- Axes 2 : Développer un système de management efficace et rigoureux, « travailler mieux » ;
- Axes 3 : Développer notre communication (interne et externe) ;

3
- Axes 4 : Renforcer notre contribution au développement du secteur et de l’économie,
« contribuer au développement ».

1.2.3 Valeurs

Une entité doit avoir ses propres valeurs afin d’assurer le bon fonctionnement de cette institution,
l’atteinte de meilleurs résultats, et afin de préserver son prestige. Pour le cas d’ACM, ces valeurs
sont :
- L’éthique : en agissant avec déontologie et intégrité, c’est-à-dire agir suivant les normes du
métier et agir de manière irréprochable ;
- L’excellence : en faisant le travail du mieux possible, c’est-à-dire à un degré au-dessous de
la perfection.
- La rigueur : en étant rigoureux dans l’exercice du métier, c’est-à-dire en agissant avec une
exigence morale et intellectuelle de bien faire et en agissant avec exactitude ;
- L’appartenance : en agissant en s’identifiant aux normes du groupe, en ayant la culture
d’appartenance à l’ACM.
En vivant ces valeurs l’ACM est sûre d’atteindre un certain niveau de performance. La relation entre
ces valeurs et la performance est présentée par la figure 1.01 suivante. [1]

Figure 1.01 : Relation entre valeur et performance.

4
1.2.4 Organisation d’ACM

1.2.4.1 Organigramme

L’organigramme est une représentation schématique des liens fonctionnels, organisationnels et


hiérarchiques d’un organisme. De plus, elle nous permet de connaitre d’une vue globale le
fonctionnement de cet organisme. Ainsi, la figure 1.02 suivante nous montre l’organigramme
d’ACM et nous permet de voir les différentes directions et département qui le composent. [2]

Les légendes le concernant sont présentés comme suit:


DGE : Direction Générale
SGE : Secrétariat Général
DGA : Direction Générale Adjointe (OPERATIONS)
DDG : Direction auprès de la Direction Générale chargée de la Coordination et du Développement
DQL : Direction de la Qualité
DSE : Direction de la Supervision de la Sécurité
DSU : Direction de la Supervision de la Sûreté
DRG : Direction de la Règlementation
DJE : Direction des Affaires Juridiques et Economiques
DRH : Direction des Ressources Humaines
DAF : Direction Administrative et Financière
DPA : Direction du Patrimoine Aéroportuaire

5
Figure 1.02 : Organigramme d’ACM.
6
En tant que grand organisme, ACM dispose d’un Conseil d’Administration (CA) qui assure le bon
fonctionnement de cette institution. Selon ce CA, la Direction Générale est constituée :
- Du comité de Direction ;
- Du comité des Directeurs ;
- Du groupe « Opérations » ;
- Du groupe d’Appui.

a. Comité de direction

Le comité de Direction est composé du Directeur Général, du secrétaire Général, du


Directeur Général Adjoint des « Opérations », du Directeur auprès de la Direction Générale chargé
de la Coordination et du Développement. Et est dirigé par le Directeur Général.

b. Comité des directeurs

Le comité des Directeurs est composé du Secrétaire Général, du Directeur Général


Adjoint « Opérations », du Directeur auprès de la Direction Générale de la Coordination et du
Développement et de tous les Directeurs. Il est dirigé par le Directeur Général.

c. Groupe « Opérations »

Le Groupe Opérations est composé de trois (03) Directions : la Direction de la


Supervision de la Sécurité, la Direction de la Supervision de la Sûreté et de la Direction de la
Règlementation. Il est dirigé par le Directeur Général Adjoint « Opérations ».

d. Groupe d’appui

Le groupe d’appui est composé de quatre (04) Directions : La Direction Administrative


et Financière, la Direction des Affaires Juridiques et Economique, la Direction des Ressources
Humaines, la Direction du Patrimoine Aéronautique. Il est dirigé par le Secrétaire Général.

1.2.4.2 Statistiques

Les tableau 1.01 et tableau 1.02 ci-après représentent respectivement la répartition du personnel
selon leur activité et la répartition du personnel par leur fonction au sein d’ACM.

7
Direction Effectif Pourcentage
Technique 79 38%
Support et Appui 130 62%
Total 209

Tableau 1.01: Répartition du personnel selon leur activité.

Fonction Effectif
Directions généraux 3
Directeurs 8
Charges de Mission 3
Chefs de Départements 26
Chefs de Services 20
Charges Agents 89
TOTAL 209

Tableau 1.02: Répartition du personnel selon leur fonction.

1.2.5 Principales activités de l’ACM

Principalement, ACM est une autorité qui a les pouvoirs suivants :


- Elaborer, établir et mettre à jour les textes réglementaires techniques et économiques
concernant les aérodromes, l'exploitation des aéronefs, la navigabilité des aéronefs, la
navigation aérienne, le personnel aéronautique, le transport aérien et l'aviation générale en
accord avec les dispositions des Annexes à la convention de Chicago ;
- Contrôler l'application de toute la réglementation technique et économique relative aux
aérodromes, l'exploitation des aéronefs, la navigabilité des aéronefs, la navigation aérienne,
le personnel aéronautique, le transport aérien et l'aviation générale ;
- Orienter et coordonner toutes les activités aéronautiques civiles avec les autres
administrations concernées dans la mise en œuvre de la politique de l'Etat en matière
d'aviation civile ;
- Contribuer à la promotion du développement du transport aérien dans un cadre
concurrentiel ;

8
- S'assurer des obligations internationales contractées par l'Etat en matière d'aviation
civile ;
- Assurer la coopération avec les organisations internationales dans le domaine
de l’aéronautique ;
- Préparer les accords bilatéraux et multilatéraux en liaison avec les administrations
intéressées, de mener les négociations et de veiller à leur exécution ;
- S'assurer le contrôle des compagnies aériennes étrangères desservant Madagascar ;
- Veiller à la sauvegarde des biens et immeubles de l'Etat affectés à l'autorité de l'aviation
civile ;
- Homologuer la création, la construction, l'exploitation et l'entretien des aérodromes et des
installations de navigation aérienne ;
- Surveiller la gestion de l'exploitation des aérodromes appartenant à l'Etat et des services
de navigation aérienne dans la limite de ses pouvoirs définis dans le présent article ;
- Veiller aux intérêts aux usagers ;
- Veiller à la mise en place des programmes nationaux de sûreté et de facilitation et de
coordonner toutes les activités s'y rapportant ;
- Approuver les plans de sûreté des aérodromes ainsi que les programmes de sûreté des
exploitants d'aéronefs ;
- Surveiller les activités techniques et économiques de toute personne physique ou morale
établie à Madagascar et agréée pour œuvrer dans le secteur de l'aviation civile ;
- Délivrer tous les agréments, les permis, les certificats, les autorisations et les licences
concernant l'exploitation des activités du transport aérien ;
- Délivrer, suspendre ou retirer :
▪ Les certificats de transport aérien,
▪ Les licences et autorisations d'exploitation du transport aérien,
▪ Les autorisations de services de transport aérien non régulier,
▪ Les certificats d'aérodrome,
▪ Des certificats de navigabilité,
▪ Des licences d'exploitation de télécommunications aéronautiques,
▪ Des agréments de prestation de services en escale aux transports aériens et
aux prestataires de services autorisés ;

9
1.2.6 Département e-Gestion

1.2.6.1 Description

Le Département e-Gestion, plus souvent appelé CI (Cellule Informatique), est une entité qui assure
la bonne gestion du domaine informatique au sein d’ACM tant dans le domaine matériel que le
domaine logiciel.
C’est ce département qui nous a accueilli pour notre stage de fin d’études, d’une durée de cinq (05)
mois, et qui nous a supporté et conseillé pour la réalisation de ce projet. [3]

1.2.6.2 Missions

Sa mission est de garantir l’efficacité continue d’un système d’information sécurisé, intègre et
évolutif pour assurer les missions d’autorité de référence, de service et de développement.

1.2.6.3 Objectifs

Le département e-Gestion a pour objectif de :


- Gérer le système, les matériels, les logiciels, le réseau, la télécommunication Informatique
et le Système d’Information d’ACM ;
- Assurer le développement d’applications pour la production et pour l’aide à la décision.

1.2.6.4 Responsabilités

Le département e-Gestion a pour responsabilité de :


- Assurer la bonne marche des matériels et des logiciels de travail ;
- Fournir des applications et des équipements informatiques appropriés ;
- Donner la méthodologie adéquate pour la résolution d’un problème informatique.

1.2.6.5 Organigramme

La figure 1.03 suivante montre l’organigramme du département e-Gestion.

10
Figure 1.03 : Organigramme du département e-Gestion.

1.2.7 Département Certification et Surveillance

1.2.7.1 Description

Le département Certification et Surveillance est l’entité qui certifie l’exploitation dans le domaine
de l’aéronautique Malagasy et qui surveille le fonctionnement de ces exploitations. Ce département
est rattaché à la Direction des Affaires Juridiques et Economiques (DJE) qui se trouve au sein du
Secrétariat Général.

1.2.7.2 Objectifs

Leurs principaux objectifs sont d’assurer que :


- Les exploitants disposent des moyens appropries dans les domaines juridiques, économiques
et financiers pour exercer leur activité en respectant les normes de sécurité et sureté à un
niveau acceptable ;
- Favoriser un climat de concurrence dans le sous-secteur aérien.

1.2.7.3 Missions

Afin d’atteindre les objectifs mentionnés ci-dessus, ce département a pour mission de :


- Coordonner les études relatives à la certification et la surveillance des exploitants dans les
domaines juridiques, économiques et financiers ;
- Effectuer l’« évaluation financière » les dossiers de demande d’agrément et surveiller les
conditions de son maintien par les exploitants dont aérodromes, fournisseurs de services de
navigation aérienne, d’assistance en escale, atelier de maintenance aéronautique, organisme
de formation aéronautique ; centre d’expertise médicale ;

11
- Délivrer la Licence d’Exploitation des compagnies aériennes ;
- Assurer la surveillance de l’exploitation économique des transporteurs aériens et les autres
acteurs du secteur ;
- Veiller à l’exercice d’une concurrence de façon loyale entre les compagnies aériennes et
entre les autres acteurs de l’aviation civile.

1.2.7.4 Principales activités

Les principales activités de ce département sont liées aux deux derniers points des activités d’ACM.
C’est-à-dire :
- Surveiller les activités techniques et économiques de toute personne physique ou morale
établie à Madagascar et agréée pour œuvrer dans le secteur de l'aviation civile ;
- Délivrer, suspendre ou retirer tous les agréments, les permis, les certificats, les autorisations
et les licences concernant l'exploitation des activités du transport aérien.

1.2.7.5 Organigramme

La figure 1.04 suivante illustre la composition de ce département en termes de ressource humaine.

Figure 1.04 : Organigramme du département Certification et Surveillance.

1.3 Cahier de charge

Le cahier de charge est un outil très important pour la réalisation d’un projet. En effet, il permet à
l’utilisateur de bien déterminer ses besoins et au réalisateur du projet de bien comprendre ce que ce
client souhaite. Ainsi, notre cahier de charge, obtenu après plusieurs enquêtes effectuées au niveau
du personnel, est décrit dans cette partie.

12
1.3.1 Formulation

Ce projet consiste à concevoir et à réaliser une application web de suivi des exploitations et des
agréments des aérodromes, entre autres les fournisseurs de services de navigation aérienne,
l’assistance en escale, l’atelier de maintenance aéronautique, l’organisme de formation
aéronautique, le centre d’expertise médicale, en somme, des exploitants Malagasy dans le domaine
de l’aéronautique.

1.3.2 Objectifs du projet

Les principaux objectifs de ce projet sont :


- La mise en place d’un outil ou plateforme qui permet la facilitation des suivis effectués par
ce département ;
- L’intégration d’un outil qui facilitera la réalisation d’un rapport concernant les suivis dans
cette plateforme ;
- La mise en place d’un système de base de données pour le stockage des informations
transitant par ce système ;
- La mise en place d’un système capable de générer des statistiques concernant les
exploitations.

1.3.3 Enumération des besoins

Afin d’améliorer le travail et les services du département Certification et Surveillance d’ACM, les
employés de ce département ont besoin de :
- Tableaux de bord pour le suivi des exploitants, de la flotte, des agréments des exploitants,
des mouvements et statistiques concernant les passagers et les frets ;
- Une base de données sécurisée afin de stocker toutes les informations traitées ;
- Une fonctionnalité de chargement de fichier texte ou image dans l’application ;
- Une fonctionnalité de téléchargement des tableaux de bord sous forme d’un fichier texte ;
- Une fonctionnalité de rappel lors d’une expiration des agréments des exploitants ;
- Une fonctionnalité de listage des exploitants et leurs associés, des appareils, des pilotes, des
agréments, des mouvements, et des incidents et accidents ;
- Une fonctionnalité de génération automatique des différentes statistiques.

1.3.4 Fonctionnalités attendues

L’application ainsi créée devra au moins se munir des informations suivantes :

13
- Des informations générales concernant les exploitants ;
- Des tableaux de bord concernant respectivement les obligations, les agréments, les
assurances, les flottes, les mouvements et les incidents et accidents par chaque exploitant
concernés ;
- D’un moyen de rappel des dates d’expiration des agréments ;
- Les statistiques des passagers ;
- Les statistiques des mouvements ;
- Les statistiques des incidents et accidents.
Afin de bien comprendre ces fonctionnalités, les définitions de certains termes seront présentées ci-
après.

1.3.4.1 Description des termes souvent exploitées dans le projet

a. Exploitant :

On entend par exploitant, tout entité, organisme ou entreprise ayant obtenu une autorisation à
exercer dans le domaine de l’aéronautique Malagasy.
Dans notre travail on a pu enregistrer six (06) types d’exploitants :
- Les fournisseurs de services de navigation aérienne ou compagnie aérienne,
- Les assistances en escale,
- Les ateliers de maintenance aéronautique,
- Les organismes ou centre de formation aéronautique,
- Les centres d’expertise médicale ou les assistances médicales,
- Les aérodromes.

b. Agréments :

Ce sont les documents attestant, ou reconnaissant un exploitant en tant qu’exploitant autorisé à


exercer. Ici, c’est l’ACM qui fournit ces agréments.
Parmi ces agréments on peut constater :
- Les licences d’exploitation ;
- Les CTA ou Certificat du transporteur Aérien ;
- Les agréments AMO (Authorized Maintenance Organization) ou Certificats pour les
Organismes de maintenance agréés ;

14
- Les agréments ATO (Approved Training Organisation) ou certificats pour les Organisme de
formation agréés ;
- Les agréments ou certificats d’opérateur d’assistance en escale
- Les agréments CEMPA (Centre d'Expertise Médical du Personnel Aéronautique)
- Les certificats d’aérodrome.

1.3.5 Résultats attendus

A la fin, notre application doit offrir au client :


- Un état récapitulatif des informations générales par exploitant ;
- Un état récapitulatif des aéronefs par exploitant détenteur ;
- Un état récapitulatif des licences d’exploitations par chaque exploitant ;
- Un état récapitulatif des agréments de chaque exploitant ;
- Un état récapitulatif des assurances pour chaque exploitant ;
- Un état récapitulatif des statistiques concernant les mouvements et ses détails ;
- Un état récapitulatif des incidents et accidents par exploitant et aérodrome ;

1.3.6 Améliorations proposées

Durant les entretiens effectués avant le travail sur ce projet nous avons proposés au client d’apporter
quelques améliorations afin de d’assurer la bonne exploitation de l’application et plus d’efficacité
au niveau du travail, toujours dans le but d’avoir de meilleurs résultats dans de bref délais. Ces
quelques fonctionnalités sont les suivantes :
- L’ajout d’interfaces d’utilisateur en dehors d’ACM, qui sont pour les représentants des
exploitants, et les représentants des aérodromes ;
Les détails concernant ces fonctionnalités sont présentés dans le tableau 1.03 suivante :

Représentant Exploitant Représentant Aérodrome


- Déclarer la mutation et l’achat d’un aéronef - Déclarer les mouvements
- Déclarer les mouvements réguliers et irréguliers

Tableau 1.03: Représentation des fonctionnalités proposes pour les utilisateurs en dehors
d’ACM.
- L’ajout d’une interface pour l’administrateur afin de gérer, c’est-à-dire ajouter, supprimer
ou modifier, les utilisateurs.

15
1.4 Type d’application à réaliser

1.4.1 Notion de client

Lorsqu’on parle de développement, il est assez logique de se demander le type de client à qui on a
à faire. On a le choix entre deux types de client :
- Le client lourd, et
- Le client léger.

1.4.1.1 Client lourd

C’est un logiciel installé sur les ordinateurs des utilisateurs. Le traitement métier des données se fait
au niveau de la machine de l’utilisateur qui prend en charge la communication avec la base de
données. [4]

1.4.1.2 Client léger

C’est une application installée sur un serveur Web et les utilisateurs n’ont besoin que d’un
navigateur internet pour pouvoir accéder à l’ensemble des services. Le traitement métier des
données est donc centralisé. Il se fait au niveau du serveur web qui prendra en charge la
communication avec la base de données pour répondre aux besoins de tous les utilisateurs. [4]

1.4.1.3 Comparaison entre « Client lourd » et « Client léger »

Client lourd Client léger


Traitement effectue localement sur le Communication avec un serveur central
système de l’utilisateur
Installation par poste d’utilisateur Accessible par un navigateur
Logiciel facilement déployé et maintenu
Plus personnalisable Adaptée pour les plateformes dans lesquels les
mêmes informations vont être accessibles par les
mêmes utilisateurs

Tableau 1.04: Comparaison entre un client léger et un client lourd.

16
Ainsi, c’est pour ces avantages présentés par le client léger, dans le tableau 1.04 précédent, que nous
l’avons choisi, de plus ACM utilise déjà ce même système pour d’autres différentes applications qui
y sont utilisées. D’où notre « application web ».

1.4.1.4 Notion d’Application web et ses avantages

Pour plus de précision, une application web est donc un logiciel applicatif hébergé sur un serveur et
accessible via un navigateur web, comme Firefox, Google Chrome ou d’autres encore.
Contrairement à un logiciel traditionnel, l’utilisateur d’une application web n’a pas besoin de
l’installer sur son ordinateur. Il lui suffit de se connecter à l’application à l’aide de son navigateur.
Les technologies utilisées pour développer les applications web sont les mêmes que celles
employées dans la création des sites internet. [5]
L’une des plus grands avantages de l’application web est la facilité d’adopter les solutions par
rapport aux nécessités de l’utilisateur. De plus, une fois développée, cette solution pourra évoluer
facilement en fonction des nouveaux besoins.
On peut aussi citer les quelques avantages suivants :
- Un gain de temps dans la réalisation, la mise en place et la maintenance ;
- Une accessibilité optimisée ;
- Une meilleure gestion de la sécurité ;
- Une évolution et innovation continues.

1.4.2 Implémentation

Selon les types de fonctionnalités attendues et les améliorations qui y sont ajoutées, il faut prévoir
une implémentation de deux (02) types :
- La partie qui sera gérée en interne par l’ACM, l’intranet sera exploité,
- Et celle qui sera utilisé par les utilisateurs externes sera disponible par internet.

1.4.2.1 Intranet

Pour avoir accès aux données et pour pouvoir travailler dans cette application, les personnes
travaillant au sein du département Certification et Surveillance n’ont qu’à se mettre en connexion
au serveur pour pouvoir ouvrir une session. C’est-à-dire que le réseau LAN doit seulement
fonctionner comme il se doit et la connexion peut être établi.

17
1.4.2.2 Internet

Un portail sur un site web accessible via internet sera à la disposition des exploitants externes afin
d’avoir accès à cette plateforme. En effet, ils devront se munir d’un nom d’utilisateur et d’un mot
de passe afin de pouvoir s’authentifier et d’effectuer des opérations dans la plateforme.

1.5 Type de développement adopté

Dans le domaine du développement surtout dans le développement web, on peut considérer


plusieurs types de développement. Dans cette partie nous allons voir ces différents types puis nous
allons voir le type de développement effectué durant ce projet. [6]

1.5.1 Le développement « Front End »

Le terme « front end » désigne les éléments d’un site que l’on voit à l’écran et avec lesquels on peut
interagir depuis un navigateur. En effet, tout ce qu’on voit sur un site internet par exemple, est une
combinaison de HTML (HyperText Markup Language), CSS (Cascade Style Sheet) et JavaScript.
Ces langages de programmation utilisés par le développeur Front End sont interprétés par le
navigateur de votre ordinateur pour afficher un résultat « visuel ».
Le « front end » se compose généralement :
- D’un design crée par un Web designer qui réalise des maquettes graphiques via des outils
de création comme Photoshop, Fireworks ou Draw.io ;
- Du code HTML, CSS, jQuery mis en place par ce développeur front end.

1.5.2 Le développement « Back end »

Pour que le travail du développeur Front End prenne vie et que le site soit fonctionnel, il manque
encore quelques éléments. C’est là qu’entre en scène le développeur Back End.
Le « back end » est un peu comme la partie immergée d’un iceberg. On ne la voit pas en tant que
simple Internaute mais elle représente une très grande partie d’un projet web.
Le Back end se compose généralement de trois éléments :
- Un serveur (hébergement web)
- Une application (site web, administration)
- Une base de données (sorte de feuille de calcul pour organiser les données)

18
1.5.3 Le développement « Full stack »

Le développement « Full Stack » rassemble à la fois le traitement du « Front end » et du « Back


end ». [6] La figure 1.05 suivante illustre ce type de développement.

Figure 1.05 : Illustration du développement « Full Stack ».

Ainsi, pour le cas de notre projet de développement d’application web nous avons eu recours à ce
dernier type de développement, qui est le développement Full Stack. Nous avons travaillé à la fois
sur l’interface, le traitement des fonctionnalités et le traitement des données.

1.6 Conclusion

Ce chapitre nous a permis de développer l’environnement de travail et l’attente de l’utilisateur par


rapport à ce projet. Elle nous a aussi permis de déterminer le type de développement à adopter pour
la réalisation de l’application web. Après avoir bien compris ce qui nous attend, nous avons établi
dans le chapitre suivant les analyses effectués afin de mener à bien le travail.

19
CHAPITRE 2
ASPECT THEORIQUE DU PROJET

2.1 Introduction

Ce chapitre nous éclairera sur les différentes analyses effectuées et les choix des différents outils et
techniques utilisés avant et durant la réalisation du projet. Il nous permettra ainsi de voir les
différents aspects théoriques de notre projet et nous facilitera l’exécution de la phase de
modélisation.

2.2 Méthode de gestion de projet informatique adopté

2.2.1 Méthode de développement de projet informatique

2.2.1.1 Définition

Une méthode de développement de projet informatique est une technique de gestion de projet qui
aide et facilite les taches de façon ordonnée du début jusqu’à la fin de ce projet. Ainsi on peut en
déduire que sans organisation ni méthode, la gestion de projet n’est rien.

2.2.1.2 Type

Il existe plusieurs types de méthode de gestion de projet comme l’illustre le tableau 2.01 suivant.
[7]
Méthode Type de projet
Agile Tout type de projet

Traditionnel Tout type de projet


Processus Unifié Développement de logiciels
SCRUM Tout type de projet

Tableau 2.01: Type de méthode de gestion de projet.

Dans notre cas, nous avons opté pour la méthode de processus unifié sachant qu’elle a été conçue
pour la gestion d’un projet de développement de logiciels. Cette méthode se dénomme 2TUP (Two
Tracks Unified Process) et est explicitée dans la partie qui suit.

20
2.2.2 Choix de la méthode 2TUP

2.2.2.1 Description de la méthode

Un processus définit une séquence d’étapes ordonnées qui permet de produire un système logiciel
ou de faire évoluer un système existant. Un processus est décomposé suivant l’axe de
développement. L’axe de développement technique se préoccupe de la production tandis que la
gestion du développement mesure, puis prévoit les couts et les délais. [8]
La diversité des systèmes et des techniques de modélisation ne permet pas de définir un seul
processus universel. Les créateurs d’UML (Unified Model Language) ont travaillé à unifier les
meilleurs pratiques de développement orienté objet pour donner le processus unifié.
Le processus unifié (UP : Unified Process) est un processus de développement logiciel mené par
UML. [9]
Le processus unifié est :
- Itératif et incrémental : le projet est découpé en des itérations de courte durée. Ces itérations
aident à mieux suivre l’avancement du système global. A chaque itération, il est produit un
exécutable de façon incrémentale ;
- Centré sur l’architecture : le système est décomposé en modules pour des besoins de
maintenance et d’évolutivité ;
- Conduit par les cas d’utilisation : le processus met en avant les besoins et exigences des
futurs utilisateurs du système ;
2TUP est un processus unifié qui a pour but d’apporter une réponse aux contraintes de changement
de fonctionnelle et techniques qui s’imposent aux systèmes d’information. Il propose un cycle de
développement qui dissocie les aspects techniques des aspects fonctionnels. Il part du constat que
toute évolution imposée au système d’information peut se décomposer et se traiter parallèlement,
suivant un axe fonctionnel et un axe technique. Il distingue ainsi deux branches, fonctionnelle et
technique, dont les résultats sont fusionnés pour réaliser le système. [10]

2.2.2.2 Fonctionnement de la méthode

On obtient donc un processus de développement en Y, comme le montre la figure 2.01 suivante :


- La branche fonctionnelle (gauche) : vise la capture des besoins fonctionnels et l’analyse des
spécifications fonctionnelles de manière à déterminer ce que va réaliser le système en termes

21
de métier. C’est dans cette partie qu’on identifie et dégage toutes les fonctionnalités du
système à réaliser.
- La branche technique (droite) : recense toutes les contraintes et les choix dimensionnant la
conception du système. Puis, elle définit les composants nécessaires à la construction de
l’architecture technique.
- La phase de réalisation : cette phase est la fusion des deux précédentes et mène à la
conception applicative et à la solution adaptée aux besoins des utilisateurs. Elle concerne les
étapes de la conception préliminaire ou conception avant-projet, la conception détaillée, le
codage et les tests puis l’étape de déploiement.

Figure 2.01 : Cycle de développement selon la méthode 2TUP.

2.2.2.3 Gestion de notre projet de développement

Pour le cas de notre projet, qui est la conception et la réalisation d’une application web de suivis des
exploitations et des agréments nous allons voir :
- Dans ce même chapitre les phases fonctionnelles et technique de notre projet,
- Dans les deux derniers chapitres la phase de réalisation (conception et réalisation)

22
2.2.2.4 Avantage de cette méthode

Ce processus facilite l’évolution future du projet et permet une croissance et une expansion rapide.
Dans ce cadre de développement de logiciels, les utilisateurs peuvent signaler des bugs ou faire des
suggestions pouvant être résolus facilement.

2.3 Analyse préalable

2.3.1 Analyse de l’existant

Avant de se lancer dans la conception et la création de l’application, une analyse a été effectuée afin
de justifier la nécessité de la réalisation de ce projet.
Et d’après cette analyse, on a pu constater que le département de la Certification et de la Surveillance
opère actuellement avec les outils de Microsoft office pour les suivis des exploitations et des
agréments, et les informations qui y sont traitées sont tout d’abord recueillies manuellement. En
effet, l’outil Microsoft Word est utilisé lors de l’enregistrement des dossiers et le tableur Excel pour
les suivis et les traitements des informations concernant les exploitants.

2.3.1.1 Organigramme de fonctionnement

La figure 2.02 suivante illustre le fonctionnement général des traitements de dossier dans ce
département.

Figure 2.02 : Illustration de l’organisation des tâches dans ce département.

23
2.3.1.2 Moyens matériels et logiciels

a. Moyens matériels

Le département Certification et Surveillance a en leur disposition :


- Un (01) cahier pour chaque enregistrement des dossiers de l’exploitant
- Trois (03) ordinateurs de bureau qui ont les mêmes caractéristiques représentées dans le
tableau 2.02 suivant.
Libelle Processeur Disque dur RAM Marque
Desktop Dual-Core 250 Go 2 Go HP
(1,73GHz*2)

Tableau 2.02: Caractéristiques des ordinateurs au sein du département Certification et


Surveillance.

b. Moyens logiciel

Ce département comme tout autre département et service au sein de l’Aviation Civile de Madagascar
utilise le système d’exploitation Windows. La majorité utilise le Windows 7 et d’autres le Windows
XP, seul un très petit nombre de personne utilise le Windows 10.
Pour ce qui est des logiciels utilisés par le département concerné, le tableau 2.03 ci-dessous
explicitera les détails les concernant :
Noms Fonctions générales et spécifiques
Excel - Feuille de calcul
- Insertion, modification ou suppression de données dans un tableau.
Firefox - Navigateur internet
- Sert à ouvrir le web mail de l’utilisateur en cas de problème lié à
Outlook
Microsoft Word - Traitement de texte
- Rédaction, modification, ou suppression des données concernant les
exploitants ou les rapports.
Outlook - Service e-mail
- Envoie et réception d’e-mail venant de l’institution et de l’extérieur

Tableau 2.03: Outils utilisés par le département Certification et Surveillance.

2.3.2 Critique de l’existant

Le département Certification et Surveillance utilise encore des traitements manuels ainsi que
l’utilisation des produits Office de Microsoft. Cependant ces méthodes ont des points forts et des
points faibles.

24
2.3.2.1 Points forts

- La réception des dossiers de l’exploitant s’effectue suivant chaque niveau,


- La plupart des traitements valent mieux ne pas être informatisée comme les signatures et la
vérification des dossiers.

2.3.2.2 Points faibles

- Une perte de temps considérable est constatée car le département en question fait des
insertions journalières des informations mis à jour, donc répète à chaque fois les mêmes
procédées, dans un cahier de charge et les outils Microsoft et Excel.
- Lenteur lors des suivis des exploitants et des procédures de certification
- La faiblesse de la sécurité des données : les outils Microsoft office ne sont pas destinés à
sécuriser des données, ils servent à faciliter la manipulation des données. Ainsi, une
possibilité de suppression et de modification peut survenir car l’usage de ces documents
n’est pas régi par une authentification. De même pour l’utilisation du cahier
d’enregistrement.

2.3.3 Solutions proposées

Pour faire face à ces quelques problèmes de gestion de données, de temps et de sécurité, deux
solutions peuvent être considérée :
- Solution 1 : Achat d’un logiciel EMPIC-EAP,
- Solution 2 : Création d’une application qui numérisera le suivi.
Le tableau 2.04 suivante illustre la comparaison entre les deux solutions proposées.
Solutions Avantages Inconvénients
Solution 1 : Permet de gérer plusieurs - Cout élevé
EMPIC-EAP paramètres en même temps - Validité 90 jours
- Maintenance annuelle
- Formation requise
- Ne répond pas aux besoins
spécifiques de l’utilisateur
Solution 2 : Application - Personnalisable selon les Durée de conception et de
web de Suivis des besoins de l’utilisateur développement important
exploitations et des - Facile à manipuler
agréments - Validité indéterminé

Tableau 2.04: Comparaison entre le logiciel EMPIC-EAP et l’application web de suivis.

25
D’après ce tableau 2.04 précédent, le logiciel EMPIC-EAP est une application non adéquate aux
besoins de l’utilisateur et nécessite beaucoup de financement, tant sur l’achat que sur la maintenance
annuelle.
Sachant que la nécessite de cette application de suivi est devenu primordiale pour le département
Certification et Surveillance, pour la continuité et l’assurance d’une meilleure qualité de service, le
département e-Gestion de l’ACM a opté pour la conception et la création d’une application web.
De ce fait, nous avons conçu et réalisé ce projet selon le cahier de charge établie, avec quelques
fonctionnalités en plus afin que le travail au sein du département Certification et Surveillance se
déroule mieux que comme prévue pour avoir de meilleur résultat et atteindre la performance
souhaitée par l’entreprise. De plus, nous avons bien pris en compte la minimisation de facteur temps
et l’optimisation du facteur sécurité et gestion de données. Ainsi, à partir de cette application le
département peut suivre en temps réel les exploitations et procédée facilement, en parallèle, au suivis
des agréments et des phases de certifications.

2.4 Architecture du système

Tout système d'informations nécessite la réalisation de trois groupes de fonctions : le


stockage des données, la logique applicative et la présentation. Ces trois parties sont indépendantes
l'une de l'autre : nous pouvons ainsi modifier la présentation sans modifier la logique applicative.
La conception de chaque partie doit également être indépendante. Toutefois la conception de la
couche la plus basse demeure utilisée dans la couche supérieure.
Ainsi, la conception de la logique applicative se base sur le modèle de données, alors que la
conception de la présentation dépend de la logique applicative.

2.4.1 Style architecturale

Un style architectural est un modèle définissant comment sera le système. Un style


architectural aide à avoir un aperçu du système avant son développement.
Chaque système doit réaliser trois logiques :
- La logique applicative,
- La logique de présentation,
- La logique de stockage de données.
La plupart des applications Web adoptent souvent une architecture 3 tiers. Cette architecture se
présente comme le montre la figure 2.03 suivante.

26
Figure 2.03 : Niveau de l’architecture 3Tiers.

Description :
- Le client (Terminal) : c’est le demandeur de ressources.
- Le serveur d’applications : fournit la ressource demandée par le client, par des traitements
applicatifs avec l’appel à un serveur du niveau suivant.
- Le serveur de base de données : fournit les services demandés par le serveur opérant au sein
de la couche applicative. [11]

2.4.2 Architecture MVC

2.4.2.1 Description

MVC (Model View Controller) est un modèle de conception, ou « design pattern », généralement
utilisé pour implémenter des interfaces utilisateurs, c’est ainsi un choix populaire pour la conception
d’application web.
Le modèle MVC décrit une manière d’architecturer une application informatique en la décomposant
en trois sous-parties : [12] [13] [14]
- « Model » ou Modèle,
- « View » ou Vue,
- « Controller » ou Contrôleur.

2.4.2.2 Modèle

La partie « Model » ou Modèle, regroupe et rassemble toutes les données. En effet, il contient les
classes dont les instances doivent être vues et manipulées. Le modèle détermine quelles données
l'application doit contenir. [13] Si l'état de ces données change, alors le modèle va généralement
avertir la vue (donc l'affichage peut changer au besoin) et parfois le contrôleur (dans le cas où une

27
logique différente est nécessaire pour contrôler la modification de la vue). Il encapsule l’accès aux
données.

2.4.2.3 Vue

La partie « View» ou Vue, utilisée pour présenter et afficher les données du modèle sur l’interface
utilisateur. La vue détermine comment les données de l'application doivent être affichées. C’est-à-
dire que c’est cette partie qui s’occupe des interactions. [13]

2.4.2.4 Contrôleur

La partie « Controller » ou Contrôleur, contient les fonctionnalités nécessaires pour gérer et


contrôler la couche intermédiaire entre la vue et le modèle. Le contrôleur contient toute la logique
de mise à jour du modèle et/ou la vue en réponse aux actions de l'utilisateur sur l’application. [13]

2.4.2.5 Fonctionnement

Les fonctionnements de ces sous parties sont illustrées par la figure 2.04 suivante.

Figure 2.04 : Architecture MVC.

Description de la figure :
- (1) Le navigateur du client va envoyer une requête http lors de la demande d’une page ;
- (2) Le contrôleur appelle le repository qui traite la requête et invoque l’état du modèle ;
- (3) Ce dernier retourne les données requises ;
- (4) Et (5) Une fois les données récupérées, le contrôleur les transmet à la vue qui se
chargera de retourner la réponse HTML au navigateur du client. [15]

28
2.4.2.6 Avantages

L’une des avantages les plus appréciés de 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 or une réutilisabilité
maximum et une garantie de l’évolution des objets sont assurées. [13]

2.5 Langage et outil de modélisation

2.5.1 Langage UML

Sachant que nous avons opté pour la méthode de gestion de projet informatique 2TUP, il est assez
cohérent d’opérer avec UML.

2.5.1.1 Description de UML

UML (Unified Modeling Language) se définit comme un langage de modélisation graphique et


textuel orienté objet, destiné à comprendre et à décrire les besoins, spécifier et documenter les
systèmes, esquisser des architectures logicielles, concevoir des solutions et communiquer des points
de vue. [16]

2.5.1.2 Outil de modélisation

Il existe plusieurs types d’outils de modélisation. Mais parmi ceux qui sont utiliser pour UML, le
tableau 2.05 suivant nous montre leur comparaison.
Visual Paradigme UML Designer TopCased
- Libre - Ouverte - Complet et efficace
- Différentes fonctions facilitant la - Possibilité de créer ses - Eclipse Public
conception des diagrammes propres diagrammes License
- Possibilité de générer des codes - Eclipse Public License
sources à partir des diagrammes

Tableau 2.05: Comparaison des outils de modélisation pour UML.


On considère Visual paradigme comme le plus adéquat pour la modélisation qu’on va effectuer. En
effet, cet outil, en plus des avantages cités dans le tableau précédent :
- Inclut une large gamme de diagramme : 13 types de diagramme ;
- Est facile à manipuler ;
- Analyse les impacts, c’est-à-dire qu’il permet de connaitre à l’avance les connaissances d’un
changement.

29
2.5.2 Langage de l’IDE

Microsoft Visual Studio est une suite de logiciels de développement pour Windows conçus par
Microsoft. Elle constitue un ensemble complet d’outils de développement permettant de générer des
applications web ASP.net, des services web XML et des applications mobiles. Visual Basic, Visual
C++, Visual C# utilisent tous le même environnement de développement intégré (IDE), qui leur
permet de partager des outils et facilite la création de solutions faisant appel à plusieurs langages.
Par ailleurs, ces langages permettent de mieux tirer parti des fonctionnalités du Framework .NET,
qui fournit un accès à des technologies clés simplifiant le développement d’application web ASP et
de services web XML grâce à Visual Web développer. [17]

2.5.3 Technologie ASP.net

2.5.3.1 Généralités

ASP.NET est un ensemble de technologies de programmation web créés par Microsoft. Il peut être
utilisé pour créer des sites web dynamiques, des applications web ou des web services XML. De
plus, il est membre de la plateforme Microsoft.NET et est le successeur de la technologie Active
Server Pages (ASP).

2.5.3.2 Principes

Même si ASP.NET tient son nom de l’ancienne technologie de développement de Microsoft


« ASP », les deux sont assez différentes. Les programmeurs peuvent écrire du code ASP. NET en
utilisant n'importe lequel des langages de programmation supportés par le Framework. NET,
généralement C#, Visual Basic. NET, mais également d'autres langages "indépendants" de
Microsoft tels que Perl et Python. ASP. NET bénéficie de meilleures performances que d'autres
technologies basées sur des scripts car le code côté serveur est compilé en quelques simples DLL
sur le serveur web. Lors du développement, lorsque le code source est finalisé, la solution est
précompilée avant d'être positionnée sur le serveur d'hébergement.
ASP. NET permet aux développeurs de passer plus aisément du développement classique
d'applications Windows au développement d'applications Web en offrant la possibilité de créer des
pages web composées de Widget (ou zone de contrôle) identiques à celles des interfaces
d'applications Windows habituelles. [18] [19]

30
2.5.3.3 Avantages de ASP.NET

Un des grands avantages de ASP.NET est le concept de « Code Behind », celui-ci consiste en la
séparation du code de l’application (le fond) et l’interface HTML (la forme), ce qui facilite le travail
mutuel de développeur et du designer du site. La partie HTML et la partie traitement peuvent ainsi
être séparées au sein d’un même fichier ou même dans des fichiers différents. Ainsi, l’utilisation de
l’architecture MVC, explicitée plus tard, pour la réalisation de ce projet est plus adaptée.
Voici une vue d’ensemble des avantages de ASP.NET :
- Simple et facile à utiliser,
- Basée sur des fichiers,
- Designer des web-form performants,
- Designer des données intégrées,
- Outils et assistants orientes taches évoluées,
- Support FTP pour l’hébergement des pages,
- Existence des « Code Builder » ou assistants de génération de code HTML,
- Partage de code « Code Snippets »
- Adapte au développement de site personnel et au développement professionnel,
- Création de tout type de graphique,

2.5.4 Langage de programmation choisie

2.5.4.1 Choix de C#

C# est le langage de programmation qui va nous permettre de développer notre site web. Il a été
créé par Microsoft et permet de construire toute sorte d’applications (Windows, jeux, mobiles). De
plus, il se couple parfaitement avec le Framework .NET et est un langage puissant et fiable. Et parmi
les avantages de C#, on peut citer sa facilite de maintenance. Ainsi tout au long de notre projet nous
avons utilisé ce langage.

2.5.4.2 Choix de Razor

Lorsqu’on parle de C# on s’attend toujours à savoir le type de vue que l’on a utilisé lors de la
création de notre application web. En générale, on peut constater qu’il y a le « Razor View » et le
« Aspx View ». Et que ce sont les écritures des codes qui différencient largement ces deux types de
vues. Le tableau 2.06 suivante nous montre une comparaison entre ces deux types de vue.

31
Avantages Inconvénients
Razor View Engine - Facile à assimiler - N’est pas supporté par les
- Compact, Expressive, et Fluide Visual Editors comme
- Utilisable avec C# et VB Dream Viewer
- Supporte le concept de “Layout”
Aspx view Engine - Supporte de “Master pages” - Code assez compliquée
- Nombre de pages moins important

Tableau 2.06: Tableau comparatif entre Razor View Engine et Aspx View Engine.
Pour la création des vues, nous avons préféré l’utilisation de « Razor view » par rapport à « Aspx »
car il est plus facile à assimiler et plus facile à structurer.

2.5.5 Système de Gestion des Bases de Données

2.5.5.1 Généralités sur les SGBD

Un SDBG est un logiciel système destiné à stocker et partager des informations dans une base de
données, en garantissant la qualité, la pérennité et la confidentialité des informations, tout en cachant
la complexité des opérations. Les SDBG offre une multitude de fonctionnalité. Ainsi on peut insérer,
retrouver, modifier et imprimer les données. Il permet d’effectuer des comptes rendus des
informations enregistrées et comporte des mécanismes pour assurer la cohérence des informations,
éviter des pertes d’informations due à des pannes, assurer la confidentialité. [20]

2.5.5.2 Choix du SGBD

Afin de faire le bon choix pour le SGBD, nous allons voir dans le tableau 2.07 suivant la
comparaison entre quelques SGBD relationnel.
Oracle MySQL SQL Server
Interface GUI, SQL SQL GUI, SQL, Various

Langage C, C#, C++, Java, Ruby, et C, C#, C++, D, Java, Java, Ruby,
supportée Objective C Ruby, et Objective C Python, VB, .Net,
C#, et PHP
Système Windows, Linux, Solaris, Windows, Linux, Windows
d’exploitation HP-UX, OS X, z/OS, AIX FreeBSD, Solaris, OS X
Licence Payant Open Source Payant

Tableau 2.07: Comparaison des différents SGBD relationnel

32
D’après le tableau et le choix du langage de programmation c’est-à-dire le couple ASP.NET/C#,
nous avons opté pour le SQL Server qui est la plus adéquate pour la réalisation de ce projet. En
effet, c'est un SGBD très puissant, robuste avec une interface ergonomique, facile à
utiliser, et supporte bien le langage C#.
De plus, Microsoft SQL Server demeure un SGBD développé et commercialisé par la société
Microsoft. Microsoft SQL Server est une suite composée de cinq services principaux :
- Le moteur relationnel (OLTP : OnLine Transaction Processing) appelé SQL Server ;
- Le moteur décisionnel (OLAP : OnLine Analytic Processing) appelé SSAS (SQL Server
Analysis Services) incluant un moteur de stockage pour les cubes, les algorithmes de forage
(data mining) et de nombreux outils de BI (Business Intelligence) ;
- Un ETL (Extract Transform and Load) appele SSIS (SQL Server Integration Services)
destiné à la mise en place de logiques de flux de données, notamment pour alimenter des
entrepôts de données (Data warehouse) ;
- Un outil de génération d’état appelé SSRS (SQL Server Reporting Services) permettant de
produire des rapports sous différentes formes et exploitant les ressources du moteur
décisionnel à la fois pour y stocker les rapports mais aussi pour y cacher les données de ces
derniers afin de faire du « warmup »

2.6 Conclusion

Ce chapitre nous a permis d’analyser et d’exposer les différents techniques, technologie et outils qui
nous permettrons de mener à bien notre projet. Ces derniers sont assez nombreux mais sont vraiment
nécessaire pour assurer la compatibilité avec les outils existants et la bonne utilisation par les
utilisateurs. Le chapitre suivant nous illustrera ainsi la conception de l’application afin de bien
exploiter les différents outils décrits dans ce chapitre.

33
CHAPITRE 3
CONCEPTION DE L’APPLICATION WEB

3.1 Introduction

La conception est l’une des étapes indispensables pour la réalisation d’un projet informatique. Ainsi,
ce chapitre développera les différentes formes de conception que nous avons effectués pour atteindre
nos objectifs qui est de répondre aux besoins du client.

3.2 Dictionnaire de données

Nom Description Type Taille


im_aeron Immatriculation de l’aéronef AN 50
type_aeron Type de l’aéronef AN 50
nb_siege Nombre de siège AN 50
puMoteur Puissance moteur AN 50
mtow Poids de l’appareil AN 50
Usage Type d’usage de l’aéronef AN 50
id_agr Identifiant Agrément N -
nom_agr Nom de l’agrément AN 50
date_reglem Date de règlement D -
val_agr Validité de l’agrément D -
serv_auto Service autorisée AN 50
zone_auto Zone autorisée AN 50
id_ass Identifiant de l’associé N -
nom_ass Nom de l’associé AN 50
Nationalite Nationalité AN 50
Part Part dans la société AN 50
ref_assur Référence de l’assurance AN 50
Assureur Nom de l’assureur AN 50
type_assur Type d’assurance AN 50
val_assur Validité de l’assurance D -
id_expl Identifiant de l’exploitant N -
nom_expl Nom de l’exploitant AN 50
Siege Siege sociale de l’exploitant AN 50
tel_expl Numéro de téléphone AN 20
mail_expl Mail de l’exploitant AN 50
Web Site web de l’exploitant AN 50
type_expl Type de l’exploitant AN 50
ref_ia Référence de l’incident et accident AN 50
date_ia Date de l’incident/accident D -
heure_ia Heure de l’incident/accident T -
lieu_ia Lieu de l’incident/accident AN 50
Blesse Nombre de blessé N -

34
perte_hum Nombre de perte humaine N -
Dommage Dommage matériel AN 50
concl_invest Conclusion de l’investigation AN Max
id_mouv Identifiant du mouvement AN 50
date_mouv Date du mouvement D -
heure_mouv Heure du mouvement T -
etat_mouv Etat du mouvement AN 50
nb_passager Nombre de passagers N -
nature_mouv Nature du mouvement AN 50
aero_dep Aéroport de départ AN 10
aero_arr Aéroport d’arrivée AN 10
ref_mouvIrreg Reference du mouvement irrégulier AN 50
cause_mouvIrreg Cause du mouvement irrégulier AN 50
im_persNav Matricule du personnel Navigant AN 50
nom_persNav Nom du personnel naviguant AN 50
fonct_persNav Fonction du personnel naviguant AN Max
adr_persNav Adresse du personnel naviguant AN Max
tel_persNav Numéro de téléphone du personnel AN Max
id_prop Identifiant propriétaire N -
nom_prop Nom du propriétaire AN 50
adr_prop Adresse du propriétaire AN 50
tel_prop Numéro de téléphone du propriétaire AN 50
mail_prop Mail du propriétaire AN 50
Matricule Matricule de l’utilisateur AN 10
Nom Nom de l’utilisateur AN 50
Mail Mail de l’utilisateur AN 20
fonction Fonction de l’utilisateur AN 15
password Mot de passe de l’utilisateur AN 15
Entite Entité de l’utilisateur AN 30

Tableau 3.01: Description des données utilisées.

3.3 Diagramme de classe

3.3.1 Généralités

Le diagramme de classe fait partie de la partie statique d’UML car il fait abstraction des aspects
temporels et dynamiques. Une classe décrit les responsabilités, le comportement et le type d’un
ensemble d’objets.
En effet, les diagrammes de classes expriment de manière générale la structure statique d’un
système, en termes de classe et de relations entre ces classes. De même qu’une classe décrit un
ensemble d’objets, une association décrit un ensemble de liens ; les objets sont des instances de
classes et les liens sont des instances de relations.

35
3.3.2 Composant d’un diagramme de classe

Le diagramme de classe est composé de trois (03) parties :


- Le nom de la classe ;
- Les attributs de la classe ;
- Les méthodes de la classe. [21]
On peut le constater sur la figure 3.01 suivante.

Figure 3.01 : Exemple d’un diagramme de classe.

Pour ce qui est de l’interaction entre les classes ou les objets, on peut en constater plusieurs types,
comme :
- L’héritage ;
- L’association bidirectionnelle,
- L’association unidirectionnelle.

3.3.3 Diagramme de classe du projet

La figure 3.02 de la page suivante nous décrit de manière globale la structure statique de notre
système.

3.4 Diagramme de cas d’utilisation de l’application

3.4.1 Généralités

Le diagramme des cas d’utilisations est un diagramme UML utilisé pour donner une
vision globale du comportement fonctionnel d'un système logiciel. Les cas d’utilisation
permettent de décrire le système du point de vue de l’utilisateur. Ils permettent de définir les
limites du système et les relations entre le système et son environnement. Dans le diagramme
de cas d'utilisation, les utilisateurs sont appelés acteurs, ils interagissent avec les cas
d'utilisation. [22]

36
Figure 3.02 : Diagramme de classe globale.

3.4.2 Composants d’un diagramme de cas d’utilisation

3.4.2.1 Acteur

Il représente un rôle joué par une entité externe (utilisateur humain, dispositif matériel
ou autre système) qui interagit directement avec le système étudié. La figure 3.03 ci-après illustre
la notation d’un acteur.

37
Figure 3.03 : Représentation de l’acteur dans un diagramme de classe.

3.4.2.2 Cas d’utilisation

Représente un ensemble de séquences d'actions qui sont réalisées par le


système et qui produisent un résultat observable intéressant pour un acteur particulier. Il
concerne donc les échanges de messages entre le système et les acteurs. La figure 3.04 suivante
représente l’illustration d’un cas d’utilisation.

Figure 3.04 : Représentation d’un cas d’utilisation.

3.4.2.3 Les relations entre les cas d’utilisation

Trois types de relation sont pris en charge par UML avec l’interdépendance
entre les cas d’utilisation tels que l’inclusion, l’extension et la généralisation.
- Relation d’inclusion :
Une relation d'inclusion d'un cas d'utilisation A par rapport à un cas d'utilisation B signifie qu'une
instance de A contient le comportement décrit dans B c’est-à-dire la réalisation d’un cas d’utilisation
A nécessité la réalisation du cas B pointé par le flèche. On le note comme le montre la figure 3.05
suivante.

Figure 3.05 : Représentation de la relation d’inclusion.

38
- Relation d’extension :
Une relation d'extension d'un cas d'utilisation A par un cas d'utilisation B signifie qu'une instance
de A peut être étendue par le comportement décrit dans B. Ce type de relation peut être utile pour
traiter des cas particuliers ou préciser les objectifs. Sa notation est montrée dans la figure 3.06
suivante.

Figure 3.06 : Représentation de la relation d’extension.

- Relation de généralisation :
Les cas d'utilisation descendants héritent de la description de leurs parents communs. Chacun d'entre
eux peut néanmoins comprendre des interactions spécifiques supplémentaires. Elle indique qu'un
cas d'utilisation est une variation d'un autre. La figure 3.07 suivante montre la notation de cette
relation de généralisation. Ici A hérite de la description de B.

Figure 3.07 : Représentation de la relation de généralisation.

3.4.3 Cas d’utilisation générale de l’application

L’étude de cas d’utilisation a pour objectif de déterminer ce que chaque utilisateur attend
du système. La détermination du besoin est basée sur la représentation de l’interaction entre
l’acteur et le système. Les cas d’utilisation jugés nécessaires seront présentés dans cette partie puis
les détails seront énumérés dans les parties qui suivent.
- S’authentifier :
La notion de sécurité est très importante au sein d'un système. Pour cette raison, il est indispensable
d'ajouter un cas d'utilisation « S’authentifier » qui permet d’identifier l’utilisateur avant de réaliser
n'importe quelle opération, et de lui donner l’accès aux fonctionnalités propices.

39
- Gérer utilisateur :
Ce cas d’utilisation permet à l’administrateur de visualiser la liste des utilisateurs au sein de la
plateforme, d’ajouter, de supprimer ou de modifier les informations concernant cet utilisateur.
- Gérer exploitation aérodrome :
Ce cas d’utilisation permet au responsable de l’aérodrome de voir la liste des exploitants autorisée
à effectuer un mouvement, et de signaler les mouvements effectues dans un aérodrome.
- Gérer Tableau de bord :
Ce cas d’utilisation permet au département Certification et Surveillance de voir la liste, d’ajouter,
de modifier et de supprimer des informations, et de rapporter les données stockées comme les
exploitants, les flottes, les mouvements, les incidents et accidents, les agréments et les assurances.
- Suivre les rapports statistiques :
Ce cas d’utilisation permet au département Certification et Surveillance de suivre et de recueillir les
statistiques, en chiffre qu’en graphe, concernant :
▪ Les passagers et les frets par compagnie
▪ Les passagers et frets par aérodrome
▪ Les passagers et frets par aéronef
▪ Les aérodromes les plus desservis,
▪ Les irrégularités au niveau des mouvements.
- Gérer notification :
Ce cas d’utilisation permet au département Certification et Surveillance de recevoir des notifications
venant de l’extérieur conquérant les mouvements et les modifications d’information, et d’être notifié
par le système lors de l’expiration de la validité des agréments d’un exploitant.
- Gérer mis à jour Information :
Ce cas d’utilisation permet aux exploitants d’ajouter les mutations et les achats de nouveaux
aéronefs, et de signaler les mouvements, et les incidents et accidents.
- Suivre état agrément :
Ce cas d’utilisation permet aux exploitants de suivre l’état de leurs agréments, c’est-à-dire la durée
d’expiration des différents agréments leur concernant.
La figure 3.08 suivante illustre le diagramme de cas d’utilisation générale de notre application.

40
Figure 3.08 : Diagramme de cas d’utilisation générale.

41
3.4.4 Cas d’utilisation « Gérer utilisateur »

Figure 3.09 : Diagramme de cas d’utilisation « Gérer utilisateur ».

SOMMAIRE
Titre : Visualiser liste
Objectif : Lister des utilisateurs
Résumé L’utilisateur accède directement à la liste
Acteur : Administrateur
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
- Administrateur authentifié - Affichage de la liste des utilisateurs
Scénario nominal
1. L’administrateur se connecte à la plateforme à partir de son ordinateur par le biais de
son matricule, de son mot de passe et de son entité ou fonction qui est administrateur.
2. Le système effectue une recherche dans la base de données et valide les informations
introduites.
3. Le système affiche ainsi la page d’accueil de l’administrateur qui montre directement
la liste des utilisateurs.
Enchainement alternative
A.1 Le(s) champ(s) est (sont) vide ou incorrecte
1. Le système affiche un message d’erreur d’authentification
2. Retour à l’étape 1 du scénario nominal pour lancer à nouveau la connexion.

Tableau 3.02: Description du cas d’utilisation « Visualiser liste ».

42
SOMMAIRE
Titre : Modifier et ajouter un utilisateur
Objectif : Modifier information sur les utilisateurs ou ajouter un utilisateur
Résumé L’utilisateur choisit de modifier l(es)’ information(s) sur un utilisateur ou
d’ajouter un utilisateur
Acteur : Administrateur
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
- Administrateur authentifié - Affichage de la formulaire de modification ou d’ajout
Scénario nominal
1. L’administrateur se connecte à la plateforme à partir de son ordinateur par le biais de
son matricule, de son mot de passe et de son entité ou fonction qui est administrateur.
2. Le système effectue une recherche dans la base de données et valide les informations
introduites.
3. Le système affiche ainsi la page d’accueil de l’administrateur qui montre directement
la liste des utilisateurs.
4. L’administrateur choisi le bouton « modifier » pour modifier les informations sur un
utilisateur, le bouton « Ajouter » pour ajouter un nouvel utilisateur ou le bouton
« supprimer » pour supprimer un utilisateur.
5. Le système retourne un formulaire à modifier, à remplir ou à supprimer.
6. L’administrateur valide le contenu de son formulaire ou valide les informations à
supprimer.
7. Le système retourne un message de réussite d’ajout, de modification ou de suppression.
Enchainement alternative
A.1 Le(s) champs du formulaire nécessitant des valeurs ne sont pas remplis
1. Le système affiche un message d’avertissement
2. Retour à l’étape 4 du scenario nominal.

Tableau 3.03: Description du cas d’utilisation « Modifier, Ajouter ou supprimer utilisateur ».


SOMMAIRE
Titre : Supprimer utilisateur
Objectif : Supprimer un utilisateur
Résumé L’utilisateur choisit de supprimer un utilisateur
Acteur : Administrateur
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
- Administrateur authentifié - Affichage de la liste mis à jour

43
Scénario nominal
1. L’administrateur se connecte à la plateforme à partir de son ordinateur par le biais de
son matricule, de son mot de passe et de son entité ou fonction qui est administrateur.
2. Le système effectue une recherche dans la base de données et valide les informations
introduites.
3. Le système affiche ainsi la page d’accueil de l’administrateur qui montre directement
la liste des utilisateurs.
4. L’administrateur choisi de supprimer un utilisateur
5. Le système retourne une demande de confirmation de suppression
6. L’administrateur valide son choix de suppression
7. Le système retourne un message de réussite de suppression
8. Le système affiche la liste mis à jour
Enchainement alternative
A.1 L’administrateur choisit d’annuler la suppression
1. Retour à l’étape 3 du scenario nominal

Tableau 3.04: Description du cas d’utilisation « Supprimer Utilisateur ».

3.4.5 Cas d’utilisation « Gérer Exploitant Aérodrome »

Figure 3.10 : Diagramme de cas d’utilisation « Gérer exploitant Aérodrome ».

44
SOMMAIRE
Titre : Visualiser liste des exploitants
Objectif : Lister les exploitants
Résumé Le responsable de l’aérodrome accède à la liste des exploitants
Acteur : Responsable aérodrome
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
- Responsable de l’aérodrome authentifié - Affichage de la liste des exploitants
Scénario nominal
1. Le responsable de l’aérodrome se connecte à la plateforme à partir de son ordinateur
par le biais de son matricule, de son mot de passe et de son entité ou fonction qui est
responsable de l’aérodrome.
2. Le système effectue une recherche dans la base de données et valide les informations
introduites.
3. Le système affiche ainsi la page d’accueil, du responsable de l’aérodrome, qui montre
directement la liste des exploitants selon leur catégorie : normal, irrégulier, ou incident
et accident.
Enchainement alternative
A.1 Le(s) champ(s) est (sont) vide ou incorrecte
1. Le système affiche un message d’erreur d’authentification
2. Retour à l’étape 1 du scénario nominal pour lancer à nouveau la connexion.

Tableau 3.05: Description du cas d’utilisation « Visualiser liste des exploitants ».


SOMMAIRE
Titre : Signaler mouvement
Objectif : Signaler un mouvement
Résumé Le responsable de l’aérodrome signale un mouvement
Acteur : Responsable aérodrome (R.A.)
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
- R.A. authentifié - Affichage du formulaire pour signaler un mouvement
Scénario nominal
1. Le responsable de l’aérodrome se connecte à la plateforme à partir de son ordinateur
par le biais de son matricule, de son mot de passe et de son entité ou fonction qui est
responsable de l’aérodrome.
2. Le système effectue une recherche dans la base de données et valide les informations
introduites.
3. Le système affiche ainsi la page d’accueil, du responsable de l’aérodrome, qui montre
directement la liste des exploitants.
4. Le responsable de l’aérodrome choisit le menu « Signaler mouvement »
5. Le système retourne un formulaire à remplir
6. Le responsable de l’aérodrome remplit le formulaire et valide les informations
fournissent
7. Le système retourne un message de réussite d’ajout et la liste des mouvements signalés

45
Enchainement alternative
A.1 Le responsable de l’aérodrome choisit d’annuler la déclaration de mouvement
1. Retour à l’étape 3 du scénario nominal

Tableau 3.06: Description du cas d’utilisation « Signaler mouvement ».

3.4.6 Diagramme de cas d’utilisation « Gérer mis à jour information »

Figure 3.11 : Diagramme de cas d’utilisation « Gérer mis à jour information ».

SOMMAIRE
Titre : Déclarer mutation et Déclarer achat
Objectif : Déclarer une mutation ou un achat d’un aéronef
Résumé Le représentant d’un exploitant déclare une mutation ou un achat d’aéronef
Acteur : Représentant exploitant
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
- Représentant exploitant authentifié - Déclarer mutation ou achat
Scénario nominal
1. Le représentant de l’exploitant se connecte à la plateforme à partir de son ordinateur
par le biais de son matricule, de son mot de passe et de son entité ou fonction qui est
représentant exploitant.
2. Le système effectue une recherche dans la base de données et valide les informations
introduites.

46
3. Le système affiche ainsi la page d’accueil, du représentant de l’exploitant, qui montre
directement les informations générales de l’exploitant
4. Le représentant de l’exploitant choisit le menu « Aéronef »
5. Le système retourne une demande de confirmation entre « Mutation » ou « Achat »
6. Le système retourne un formulaire à remplir selon le choix
7. Le représentant de l’exploitant remplit et valide les informations introduites dans le
formulaire
Enchainement alternative
A.2 Client n’a pas précisé son choix
1. Le système affiche un message d’erreur
2. Retour à l’étape 3 du scenario

Tableau 3.07: Description du cas d’utilisation « Déclaration mutation et déclaration achat ».


SOMMAIRE
Titre : Signaler mouvement, incident et accident
Objectif : Signaler les mouvements effectués, les incidents et accidents qui sont survenus
Résumé Le représentant d’un exploitant signale les mouvements, les incidents et
accidents effectués par ses aéronefs.
Acteur : Représentant exploitant
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
- Représentant exploitant authentifié - Mouvement déclaré
Scénario nominal
1. Le représentant de l’exploitant se connecte à la plateforme à partir de son ordinateur
par le biais de son matricule, de son mot de passe et de son entité ou fonction qui est
représentant exploitant.
2. Le système effectue une recherche dans la base de données et valide les informations
introduites.
3. Le système affiche ainsi la page d’accueil, du représentant de l’exploitant.
4. Le représentant de l’exploitant choisit le menu « Signaler mouvement » ou « Signaler
Incident et accident ».
5. Le système retourne un formulaire à remplir.
6. Le représentant de l’exploitant remplit et valide les informations fournissent
7. Le système retourne sur la page d’accueil.
Enchainement alternative
A.1 Le(s) champ(s) est (sont) vide ou incorrecte
1. Le système affiche un message d’erreur d’authentification
2. Retour à l’étape 1 du scénario nominal pour lancer à nouveau la connexion.

Tableau 3.08: Description du cas d’utilisation « Signaler mouvement » et « Incident et


accident ».

47
3.4.7 Diagramme de cas d’utilisation « Gérer tableau de bord »

Figure 3.12 : Diagramme de cas d’utilisation « Gérer Tableau de bord ».

SOMMAIRE
Titre : Traiter exploitant, flotte, mouvement, agrément, et incident et accident
Objectif : Gérer les tableaux de bord
Résumé Gérer le contenu du tableau de bord
Acteur : Département Certification et Surveillance (DCS)
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
- DCS authentifié - Gérer le tableau de bord

48
Scénario nominal
1. Le DCS se connecte à la plateforme à partir de son ordinateur par le biais de son
matricule, de son mot de passe et de son entité ou fonction qui est représentant d’ACM.
2. Le système effectue une recherche dans la base de données et valide les informations
introduites.
3. Le système affiche ainsi la page d’accueil, du DCS
4. Le DCS choisit le menu Exploitant/Flotte/Mouvement/Agrément ou Incident et
accident du menu Tableau de bord
5. Le système retourne la liste des exploitants/flottes/mouvements/agréments ou incidents
et accidents
6. Le DCS a le choix entre ajouter un nouvel exploitants/flottes/mouvements/agréments
ou incidents et accidents, modifier ou supprimer un
exploitant/flotte/mouvement/agrément ou incident et accident existant, visualiser les
détails sur un exploitant/flotte/mouvement/agrément ou incident et accident existant ou
rapporter la liste des exploitants/flottes/mouvements/agréments ou incidents et
accidents
Enchainement alternative
A.1 Le(s) champs d’un formulaire nécessitant des valeurs ne sont pas remplis
1. Le système affiche un message d’avertissement
2. Retour à l’étape 6 du scénario nominal.

Tableau 3.09: Description cas d’utilisation « Gérer Tableau de bord ».

3.4.8 Diagramme de cas d’utilisation « Gérer statistique »

Figure 3.13 : Diagramme de cas d’utilisation « Gérer statistique ».

49
SOMMAIRE
Titre : Visualiser statistique
Objectif : Visualiser les statistiques des passagers, frets, aérodromes desservis et des
incidents et accidents
Résumé Visualiser les différents statistiques existant
Acteur : Département Certification et Surveillance
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
- DCS authentifié - Affichage des statistiques et les graphes correspondant
Scénario nominal
1. Le DCS se connecte à la plateforme à partir de son ordinateur par le biais de son
matricule, de son mot de passe et de son entité ou fonction qui est représentant d’ACM.
2. Le système effectue une recherche dans la base de données et valide les informations
introduites.
3. Le système affiche ainsi la page d’accueil, du DCS
4. Le DCS choisit le menu Statistique et choisit un contenu : passager, fret, aérodrome ou
incident et accident
5. Le système renvoie les statistiques des contenus souhaités
Enchainement alternative
A.1 Le(s) champ(s) est (sont) vide ou incorrecte
1. Le système affiche un message d’erreur d’authentification
2. Retour à l’étape 1 du scénario nominal pour lancer à nouveau la connexion.

Tableau 3.10: Description cas d’utilisation « Visualiser Statistique ».

3.4.8.2 Diagramme de cas d’utilisation « Visualiser notification »

SOMMAIRE
Titre : Visualiser notification
Objectif : Visualiser les notifications reçus
Résumé Visualiser les notifications concernant les ajouts d’informations par les autres
utilisateurs
Acteur : Département Certification et Surveillance
DESCRIPTION DES ENCHAINEMENTS
Pré condition Post condition
- DCS authentifié - Affichage des notifications
Scénario nominal
1. Le DCS se connecte à la plateforme à partir de son ordinateur par le biais de son
matricule, de son mot de passe et de son entité ou fonction qui est représentant d’ACM.
2. Le système effectue une recherche dans la base de données et valide les informations
introduites.

50
3. Le système affiche ainsi la page d’accueil, du DCS.
4. Le DCS choisit la menue notification
5. Le système retourne la page contenant la liste des notifications.
6. Le DCS choisit la notification qu’il veut visualiser
7. Le système retourne les informations concernant la notification sélectionnée.
Enchainement alternative
A.1 Les données d’authentification sont incorrectes
1. Le système affiche un message d’erreur le client n’est pas autorisé à envoyer la requête
d’affichage
2. Retour à l’étape 1 du scénario nominal pour lancer à nouveau la connexion.

Tableau 3.11: Description cas d’utilisation « Visualiser notification ».

3.5 Diagramme de séquence

3.5.1 Généralités

Le diagramme de séquences est la représentation graphique des interactions entre les


acteurs et le système selon un ordre chronologique dans la formulation UML. Il peut servir à
illustrer le cas d'utilisation. La représentation se concentre sur l'expression des interactions et
met l'accent sur la chronologie des envois de messages. Pour plus de détail, nous pouvons dire que
les fonctionnements d’un cas d’utilisation sont notamment décrits sous forme d’une séquence de
message échangée entre les acteurs et le système. [23] [24]

3.5.2 Composants d’un diagramme de séquence

3.5.2.1 Acteur

Ce qui différencie l’acteur dans un diagramme de séquence par celui du diagramme de cas
d’utilisation c’est l’existence de la ligne de vie. La figure 3.14 suivant montre la représentation d’un
acteur et de sa ligne de vie.

Figure 3.14 : Représentation de l’acteur et de sa ligne de vie.

51
3.5.2.2 Système

Représente l’application en question. Ce système est aussi accompagné par une ligne de vie. La
figure 3.15 suivante illustre la notation de ce système.

Figure 3.15 : Représentation du système et sa ligne de vie.

3.5.2.3 Message

Représente les interactions ou échanges d’information entre l’acteur et le système. Il peut être
représenté par diffèrent flèche selon les types de message. Ces flèches sont orientées de l’émetteur
vers le récepteur. Ainsi deux types de message peuvent être distinguées :
- Message synchrone : Dans ce cas l’émetteur reste en attente de la réponse a son message
avant de poursuivre ses actions. La flèche avec extrémité pleine symbolise ce type de
message. Le message retour peut ne pas être représenté car il est inclus dans la fin
d’exécution de l’opération de l’objet destinataire du message. [23]
- Message asynchrone : Dans ce cas, l’émetteur n’attend pas la réponse à son message, il
poursuit l’exécution de ses opérations. C’est une flèche avec une extrémité non pleine qui
symbolise ce type de message. [23].

3.5.3 Diagrammes de séquence de l’application

3.5.3.1 Diagramme de séquence pour l’utilisateur en générale

La figure 3.16 suivante nous montre les séquences d’action entre l’utilisateur et le système lors de
l’authentification.

52
Figure 3.16 : Diagramme de séquence pour le login.

3.5.3.2 Diagramme de séquence pour l’administrateur

Les séquences d’actions qui s’opère lors de la gestion des utilisateurs effectuée par l’administrateur
nous est montrées sur la figure 3.19 de la page numéro 55.

3.5.3.3 Diagramme de séquence pour les représentants des aérodromes

Les séquences d’actions qui peuvent être effectuées lors de la visualisation des exploitants par les
représentants des aérodromes sont représentées par la figure 3.17 suivante.

Figure 3.17 : Diagramme de séquence pour visualiser les exploitants.

53
Le figure 3.18 qui suit illustre les séquences d’action possible lors d’un signalement de mouvement
effectuées par les représentants des aérodromes.

Figure 3.18 : Diagramme de classe pour signaler mouvement.

54
Figure 3.19 : Diagramme de séquence de la gestion des utilisateurs.

55
3.5.3.4 Diagramme de séquence pour le département certification et surveillance

Figure 3.20 : Diagramme de séquence lors du traitement des exploitants.

56
La figure 3.20 précèdent nous montre les séquences d’actions qui opèrent lors du traitement des
exploitants et celle de dessous, la figure 3.21 nous illustre les séquences d’actions qui s’exécutent
lors du traitement des assurances effectuées par le DCS.

Figure 3.21 : Diagramme de séquence pour le traitement des assurances.

Les figure 3.22, figure 3.23, figure 3.24 et figure 3.25 suivantes nous élaborent respectivement les
différentes suites d’action afin de traiter les notifications, visualiser mouvement, rapporter les états
et traiter les statistiques par le DCS.

57
Figure 3.22 : Diagramme de séquence pour traiter les notifications.

Figure 3.23 : Visualiser mouvement.

58
Figure 3.24 : Diagramme de séquences pour rapporter les états.

Figure 3.25 : Diagramme de séquence lors du traitement des statistiques.

59
3.5.3.5 Diagramme de séquence pour les représentants des exploitants

Les figure 3.26 et figure 3.27 suivants illustrent respectivement les suites d’actions qui opèrent pour
la mise à jour des informations générales et la déclaration des mutations effectuées par les
représentants des exploitants.

Figure 3.26 : Diagramme de séquence pour la mise à jour des informations générales.

Figure 3.27 : Diagramme de séquence pour déclarer la mutation d’un aéronef.

60
La figure 3.28 suivante nous illustre les suites d’actions qui permet au représentant des exploitants
de déclarer l’achat d’un aéronef.

Figure 3.28 : Déclarer Achat.

3.6 Conclusion

Tout au long de ce chapitre nous avons pu concevoir notre projet, selon les besoins de l’utilisateur
et les améliorations proposées, en se basant par l’utilisation du langage de modélisation UML. Cette
avant dernière étape nous permet d’assurer le bon fonctionnement de notre application et nous
facilite les étapes de la réalisation de notre application web.

61
CHAPITRE 4
REALISATION ET PRESENTATION DE L’APPLICATION

4.1 Introduction

C’est à partir de ce chapitre que nous allons présenter l’installation des différents outils qui nous
serons nécessaires pour le développement de notre application, le développement proprement dit
suivis d’une présentation de notre application de suivi.

4.2 Mise en place de l’environnement de développement

4.2.1 Mise en place de Visual Studio 2015

4.2.1.1 Installation de Visual Studio 2015

Il existe plusieurs versions de Visual Studio, mais nous avons optés pour le Visual Studio 2015 lors
de ce travail. La figure 4.01 suivante illustre le choix de l’emplacement de notre application et la
figure 4.02 nous montre le début de l’installation.

Figure 4.01 : Choix de l’emplacement de l’application.

62
Figure 4.02 : Début de l’installation de Visual Studio.

Cette installation ne nécessite pas de configuration mais prend beaucoup de temps. Lorsque
l’installation arrive à ses fins nous obtenons la fenêtre illustrée par la figure 4.03 suivante.

Figure 4.03 : Page d’accueil de Visual Studio 2015.

63
4.2.1.2 Création d’un nouveau projet avec Visual Studio 2015

Lors de la création d’un nouveau projet nous pouvons suivre les étapes suivantes :
Fichier/Nouveau/Projet, comme nous le montre la figure 4.04 suivante.

Figure 4.04 : Fenêtre montrant les étapes de la création d’un nouveau projet.

Une fenêtre qui permet de choisir le type d’application et la nomination de l’application s’affiche
après cela, comme nous le montre la figure 4.05 ci-après.

Figure 4.05 : Choix de l’application à réaliser.

64
Une autre fenêtre s’affiche après cela et indique le choix de modèle. Dans notre cas, comme le
montre la figure 4.06, nous avons choisi un modèle vide mais suivant l’architecture MVC (Coché
en bas à droite).

Figure 4.06 : Choix d’un modèle.

Ainsi on obtient l’arborescence de l’application comme la figure 4.07 qui suit et on est prêt pour le
développement.

Figure 4.07 : Arborescence de l’application.

65
4.2.2 Installation et configuration de SQL Server 2008 R2

L’installation de SQL Server R2 s’effectue sur plusieurs étapes. La figure 4.08 suivante nous montre
le choix du type d’installation à opérer.

Figure 4.08 : Choix du type d’installation.

Après avoir choisi le menu « nouvelle installation » de la fenêtre énumérée précédemment, nous
obtenons une nouvelle fenêtre, comme nous le montre la figure 4.05 suivante, qui nous montre le
début des étapes d’installation contenant déjà dans son menu de gauche la liste des étapes à suivre.

Figure 4.09 : Début de l’installation.

66
Après un bon déroulement de l’installation, nous obtenons la fenêtre de travail de SQL Server
comme illustrée sur la figure 4.11 suite à notre connexion au serveur à l’aide de la fenêtre
d’authentification de la figure 4.10 suivante.

Figure 4.10 : Connexion au serveur.

Figure 4.11 : Fenêtre de travail SQL Server

4.3 Réalisation proprement dite

Sachant que nous avons opté pour l’architecture MVC lors de la réalisation de cette application,
nous allons ainsi expliquer par couche les étapes de réalisation effectuées.

67
4.3.1 Model

Dans cette partie, la réalisation se fait en deux parties :


- Créer la base de données et les tables qui nous seront nécessaire tout au long de notre travail ;
- Assurer la connexion entre notre base de données et notre application.

4.3.1.1 Création de la base de données

Lors de cette première étape, qui est la création de base de données, il nous suffit d’aller vers
Explorateur d’objets/Bases de données/Nouvelle base de données comme nous le montre la figure
4.12 ci-dessous.

Figure 4.12 : Création d’une nouvelle base de données.

Cette étape étant effectuée, nous validons notre action à l’aide de la confirmation demandée comme
dans la figure 4.13 suivante.

68
Figure 4.13 : Validation de la création de base de données.

4.3.1.2 Connexion avec l’application

Le « model » nous permet l’interaction avec la base de données. Ainsi, la création d’un « Entity
Framework » est nécessaire pour faciliter la relation entre l’application et la base de données. La
création de cette connexion s’effectue comme suit :
- Création de modèle de données à partir de du dossier model de l’application, comme nous
le montre les figure 4.14 et 4.15 suivantes.

Figure 4.14 : Première partie de la création de modèle de données.

69
Figure 4.15 : Deuxième partie de la création de modèle de données.

- Choix du type de modèle de données qui est l’Entity Framework comme illustré dans la
figure 4.16 suivant.

Figure 4.16 : Choix du type de modèle « Entity Framework à partir de la base de données ».

- Connexion avec le serveur et la base de données comme nous l’illustre la figure 4.17 ci-
après.

70
Figure 4.17 : Connexion avec le serveur et la base de données.

- Validation des configurations effectuées pour la connexion entre la base de données et


l’application à l’aide de la fenêtre illustrée dans la figure 4.18 suivante.

Figure 4.18 : Validation des configurations de connexion.

71
Ce modèle de données s’intègre automatiquement dans « Web.config », au niveau du
« connectionString », après l’établissement de la connexion entre l’application et la base de
données. La figure 4.19 nous illustre cette partie.

Figure 4.19 : Connexion établit après création de l’Entity framework.

4.3.2 View

4.3.2.1 Framework et technologies mis en œuvre lors de la réalisation

Lors du design de la vue de notre application, on a eu recours aux outils suivant :

a. Bootstrap

Bootstrap est un Framework ou une collection d’outils techniques simplifiant l’organisation et la


réalisation d’un projet web. Les outils qui y sont intégrer sont le CSS3, le HTML5 et le JavaScript.
Comme nous pouvant le constater ce Framework, créé par les développeurs de Twitter, opère plutôt
dans le domaine du design de l’interface utilisateur. [25] Il permet de mettre en ordre et du style
dans l’aspect visuel d’une page web.
Il est facile à manipuler, tant dans l’intégration dans le programme que dans l’utilisation dans les
codes. C’est-à-dire qu’il permet de concevoir un site web plus rapidement et avec peu de lignes de
code ajoutées. [26].

b. Chart.js

Chart.js est une collection d’outils JavaScript qui permet la collecte de données et le traçage de ces
données sous forme de graphe. En effet, son utilisation s’effectue dans la partie vue de MVC tout
en appelant les variables dans le contrôleur à l’aide des ViewBag. [27]

4.3.3 Controller

Afin d’avoir une meilleure fonctionnalité plusieurs bibliothèque et outils nous a permis de réaliser
notre projet.

72
4.3.3.1 Méthodes utilisées

Lors de la programmation de notre application, nous avons eu recours à l’utilisation des méthodes
qui déterminent les actions à réaliser. [28]
- GET : permet l’obtention des données de la base pour les afficher dans l’application.
- POST : permet d’introduire des données dans la base.
Les figures 4.20 et 4.21 suivantes nous montrent des résultats de l’utilisation des requêtes
respectives GET et POST.

Figure 4.20 : « Get » de la liste des utilisateurs.

Figure 4.21 : « Post » des informations concernant un utilisateur.

73
4.3.3.2 Technologie optée pour le téléchargement des rapports

Pour obtenir les rapports en PDF nous avons fait appel à l’outil Crystal Report. C’est un outil de
prise en main rapide avec une connectivité à de nombreux logiciels de stockage de données (Excel,
dBase, Oracle, Sybase, référentiel BO...). [29] Il permet à partir d'une source de données préparées
d'obtenir rapidement un rapport comprenant des tableaux croisés dynamiques, des graphiques de
toutes sortes.
Cet outil nécessite l’insertion des bibliothèques :
- System.IO,
- CrystalDecisions.CrystalReports. Engine.
Pour ce faire nous avons établis le code énuméré sur la figure 4.22 suivant, sachant qu’il est
valable pour toutes les obtentions de rapport dans ce travail.
public ActionResult ExportPDFExploitant()
{
DCSDataBaseEntities db = new DCSDataBaseEntities();

List<exploitant> exploitantList = db.exploitant.ToList();

exploitantViewModel exploitantVM = new exploitantViewModel();

List<exploitantViewModel> exploitantVMList = exploitantList.Select(x =>


new exploitantViewModel
{
id_expl = x.id_expl,
nom_expl = x.nom_expl,
siege = x.siege,
tel_expl = x.tel_expl,
mail_expl = x.mail_expl,
web = x.web,
type_expl = x.type_expl

}).ToList();

CrystalDecisions.CrystalReports.Engine.ReportDocument rd = new
ReportDocument();

rd.Load(Path.Combine(Server.MapPath("~/Rapport/CRListeExploitant.rpt")));
rd.SetDataSource(exploitantVMList);
Response.Buffer = false;
Response.ClearContent();
Response.ClearHeaders();
Stream stream =
rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat);
stream.Seek(0, SeekOrigin.Begin);
return File(stream, "application/pdf", "ListeExploitant.pdf");
}

Figure 4.22 : Code source pour l’obtention d’un rapport en PDF.

74
La figure 4.23 suivante nous montre un résultat lors d’un téléchargement d’un fichier à partir de
Crystal report.

Figure 4.23 : Fichier PDF téléchargé.

4.3.3.3 Date d’expiration

Pour ce qui en ai de la date d’expiration, on s’est basée sur l’utilisation de la condition « if » et de


la manipulation du type de donnée « DateTime ».
On a comme exemple la coloration du fond de la cellule en rouge si la date d’expiration est inférieure
ou égale à 30 jours.
@if (expiry <= 30)
{

@:<td style="background-color:red; text-align:center">


@((item.val_agr - DateTime.Today).Days)
}

Figure 4.24 : Extrait du code source pour la date d’expiration.

Un aperçu du résultat obtenu est illustré sur la figure 4.25 suivante.

75
Figure 4.25 : Liste des agréments avec alerte d’approche des validités.

4.3.3.4 Technologie implémentée pour la génération de la statistique

La création des graphes pour l’affichage des différentes statistiques se base par la manipulation des
données dans la base. Nous avons ainsi utilisé la fonction « count » pour compter les différents
objets et la fonction « += » pour compter les contenus de l’objet comme nous le montre l’extrait de
code sur la figure 4.26 suivant.
int y1axis = mvt.Count();

foreach (var item in mvt)


{
int Nb = (int)item.nb_passager;
y2axis += Nb;}

Figure 4.26 : Extrait de code source pour l’obtention des statistiques.

4.4 Présentation de l’application web de suivis

4.4.1 Présentation générale

On a actuellement une application web prêt à être exploitée. Cette application contient trois (03)
plateforme d’entrée différente :
- L’une pour l’ACM : l’administrateur et le département Certification et surveillance,
- L’autre pour le représentant des exploitants,
- Le dernier pour les représentants des aérodromes.

76
Après s’être authentifiés, ces utilisateurs ont chacun leur menu d’accueil et n’ont qu’à choisir les
actions à effectuer pour la suite de leur travail.

4.4.2 Présentation en détails

Dans cette partie nous allons voir la partie vue de l’utilisateur afin de se familiariser avec
l’application.

4.4.2.1 L’authentification

La figure 4.27 suivante nous illustre un aperçu de la page d’authentification pour chaque utilisateur.

Figure 4.27 : Page pour le Login.

Description :
1) Insertion du numéro matricule de l’utilisateur
2) Insertion du mot de passe obtenu par l’administrateur au sein de e-Gestion
3) Insertion du type d’entité auquel l’utilisateur appartient
4) Validation des informations d’authentification

4.4.2.2 Fonctionnalités pour l’administrateur

La figure 4.28 qui suit nous montre un aperçu de la liste des utilisateurs selon la vue de
l’administrateur.

77
Figure 4.28 : Aperçu de la liste des utilisateurs.

Description :
1) Menu « Liste des utilisateurs »
2) Bouton qui permet d’accéder au formulaire d’ajout d’un utilisateur
3) Tableau de bord affichant la liste des utilisateurs
4) Liens pour la « Modification » ou la « Suppression » d’un utilisateur
5) Lien permettant de se déconnecter

4.4.2.3 Fonctionnalités pour le département Certification et surveillance

Les figure 29, figure 30, figure 31, figure 32, figure 33, et figure 34 suivants nous illustrent
respectivement le page d’accueil du DCS, le tableau de bord des exploitants, le tableau de bords des
agréments, un aperçu des statistiques, la partie notification et un détail de ces notifications.
Description de la figure 4.29 :
1) Page d’accueil du DCS
2) Menu « Tableau de bord », les différents types de tableau de bord sont accessible en
déroulant ce menu
3) Menu « Statistique »
4) Menu « Notification »
5) Lien vers la déconnexion

78
Figure 4.29 : Page d’accueil pour le DCS.

Figure 4.30 : Tableau de bord des exploitants.

Description :
1) Bouton qui permet d’accéder au formulaire d’ajout d’un exploitant
2) Bouton qui permet d’afficher la liste des propriétaires d’aéronef
3) Bouton permettant de télécharger le tableau de bord sous forme de fichier PDF
4) Liens dirigeants vers la « Modification », l’« Affichage des détails » et la « Suppression »
d’un Exploitant

79
Figure 4.31 : Tableau de bord des agréments.

Description :
1) Bouton redirigeant vers l’ajout d’un nouvel agrément
2) Bouton permettant de télécharger une version PDF du tableau de bord actif
3) Jours restants pour la validité des agréments
4) Guide pour la lecture des couleurs d’alerte pour la validité des agréments

Figure 4.32 : Aperçu des Statistiques des passagers et mouvements.

80
Description :
1) Tableau récapitulatif des mouvements effectués avec le nombre de passagers correspondant
pour chaque aéronef.
2) Graphe illustrant le contenu du tableau

Figure 4.33 : Liste des notifications.

Description :
1) Menu déroulant pour l’affichage des notifications
2) Liste des notifications

4.4.2.4 Fonctionnalités pour les représentants des exploitants

La figure 4.34 suivante nous montre le formulaire pour la déclaration des mouvements par les
exploitants.
Description des zones de cette même figure :
1) Le numéro de vol
2) La date du vol
3) L’heure de vol
4) L’état du mouvement
5) Nombre de passagers à bord
6) La nature du vol
7) L’aéroport de départ

81
8) L’Aéroport d’arrivée
9) Immatriculation de l’avion

Figure 4.34 : Formulaire pour la déclaration de mouvement.

4.4.2.5 Fonctionnalités pour les responsables aérodromes

Figure 4.35 : Formulaire pour la déclaration de mouvements irréguliers.

Description :
1) Zone pour la référence du mouvement irrégulier
2) Zone pour décrire la/les cause(s) de l’irrégularité
3) Menu déroulant pour choisir le mouvement correspondant

82
4.5 Interprétations et solutions

Lors de la phase de test on a pu constater que le temps de réponse de l’application que l’on a conçu
et réalisé dépend de la performance de l’ordinateur et de la fréquence d’utilisation de l’application.
C’est-à-dire que plus l’ordinateur est performant plus l’application ne traine pas, et que plus
l’utilisation est fréquente plus les réponses souhaitées sont rapides surtout au niveau du
téléchargement des fichiers PDF.
Sachant que notre application fonctionne à l’aide de l’intranet en interne et de l’internet en externe,
il se peut que des problèmes de connexion surgissent durant les heures de travail, comme on a pu
expérimenter durant notre stage au sein d’ACM.
Pour contourner ce problème nous avons proposé un affichage par défaut d’une page contenant des
informations qui peuvent être nécessaire dans l’immédiat, qui est le Tableau de bord des exploitants.

4.6 Conclusion

Ce dernier chapitre nous a permis de suivre les étapes de la réalisation de cette application et de voir
les résultats ainsi obtenus. On peut ainsi dire que pour arriver à cette étape de la réalisation
d’application, on a dû mettre en œuvre plusieurs techniques, plusieurs outils mais aussi plusieurs
bibliothèques. Ces éléments ont contribué au bon fonctionnement de notre produit.

83
CONCLUSION GENERALE

Dans le but d’un bon fonctionnement et d’une efficacité dans leur travail, le département
« Certification et Surveillance » de l’Aviation Civile de Madagascar a fait appel au département e-
Gestion pour la réalisation d’une plateforme qui leur permet de suivre les états des exploitations
effectués et des agréments des exploitants concernés. Sachant que le département e-Gestion d’ACM
a pour mission principale de garantir l’efficacité continue d’un système d’information sécurisé,
intègre et évolutif, la réalisation de ce projet entre bien dans leur cadre de travail.

Les objectifs établis ont bien été atteintes et on peut dire que la réalisation de cette application
répond au besoin du client et résout le problème de gestion des suivis des exploitations et des
agréments au sein du département Certification et Surveillance. L’application notifie l’utilisateur de
l’application en temps réel de l’état des agréments de chaque exploitant, évitant ainsi des retards au
niveau des différents formalités et engendre plus d’efficacité pour la suite des autres procédures.
Ainsi, la productivité du département est assurée, aucune perte financière ne sera constatée au niveau
de ACM et le résultat de l’adoption de la politique d’utilisation d’un système d’information sécurisé
au niveau de cet organisme est mise en pratique par cette application.

Durant les six mois passés au sein du département e-Gestion et en travaillant étroitement avec le
département Certification et Surveillance, on a pu constater que la maitrise de la gestion de projet
informatique est une étape cruciale pour avoir de meilleurs résultats surtout lorsqu’on implémente
des projets au niveau de grand entreprise ou entité tel que ACM. Il faut savoir bien planifier, bien
choisir et bien contrôler les outils à utiliser, et toujours prendre en considération le cahier de charge
établit auparavant avec le client.

De plus, il faut aussi prendre en considération les améliorations futures que les autres peuvent
apporter au niveau applicatif. Et sachant que cette application est le fruit de l’adoption de
l’architecture MVC, des améliorations continues peuvent être effectuées. L’utilisation de cette
architecture nous permet de modifier facilement notre plateforme, d’y ajouter d’autres
fonctionnalités ou même d’intégrer de nouvelles technologies selon les besoins. Parmi les simples
fonctionnalités qu’on peut intégrer, on peut citer l’ajout des messagerie et d’agenda pour divers
utilisation professionnel. Et si on pousse encore l’incorporation d’outils plus complexe qui est
intégrable dans l’utilisation de .NET on peut faciliter la collecte de données à l’aide de l’exploitation
des intelligences artificielles.

84
ANNEXE 1 :
INSTALLATION DU LOGICIEL VISUAL PARADIGME

Lors de la conception et modélisation de notre projet, nous avons eu recours au logiciel « Visual
Paradigme for UML Entreprise ». Ainsi, les trois figures suivantes illustrent les étapes d’installation
de ce logiciel comprenant l’emplacement de l’installation à faire et les éléments à installés.

Figure A1.01 : Préparation pour l’installation.

Figure A1.02 : Début de la configuration d’installation.

Figure A1.03 : Dernière configuration pour l’installation.

85
ANNEXE 2 :
EXTRAITS DE CODE UTILISES

A2.1 Extrait de code pour la création de la base de données

create table utilisateur(


matricule varchar(10) primary key,
nom varchar(50) not null,
mail varchar(25) not null,
fonction varchar(50) not null,
password varchar(50) not null,
entite varchar(30) not null)

create table exploitant(


id_expl int identity(1,1) primary key,
nom_expl varchar(50)not null,
siege varchar(50)not null,
tel_expl varchar(20) not null,
mail_expl varchar(50),
web varchar(50),
type_expl varchar(15))

create table agrement(


id_agr int identity (1,1)primary key,
nom_agr varchar(50) not null,
date_reglem date not null,
val_agr date not null,
serv_auto varchar(50) not null,
zone_auto varchar(50) not null,
id_expl int FOREIGN KEY REFERENCES exploitant(id_expl))

create table proprietaire(


id_prop int identity (1,1)primary key,
nom_prop varchar(50),
adr_prop varchar(50),
tel_prop varchar(50),
mail_prop varchar(50))

create table aeronef(


id_aeron int identity (1,1)primary key,
im_aeron varchar(50),
type_aeron varchar(50),
nb_siege varchar(50) not null,
puMoteur varchar(50),
mtow varchar(50),
usage varchar(50) not null,
id_expl int FOREIGN KEY REFERENCES exploitant(id_expl),
id_prop int FOREIGN KEY REFERENCES proprietaire(id_prop))

Figure A2.01 : Extrait de code pour la création des tables de la base de données.

86
A2.2 Extrait de code pour la vue

<div style="float:right; width:90%; margin-left:1px;">

<h3>Liste des exploitants</h3>


<hr>

<a class="btn btn-primary" href="@Url.Action("Ajout","ExplTbBord")"><span


class="glyphicon glyphicon-plus-sign"></span> Ajouter Exploitant</a>
<a href="@Url.Action("ProprietaireTb","ProprietaireTbBord")" class="btn btn-
primary"> <span class=" glyphicon glyphicon-th-list"></span> Liste Proprietaire </a>
<a href="@Url.Action("ExportPDFExploitant","ExplTbBord")" class="btn btn-
primary"> <span class=" glyphicon glyphicon-download-alt"></span> Exportation PDF
</a>
<br>
<div class="tab-content" id="tableauExpl">
@if (Model != null)
{
<br>
<table class="table table-striped">
<tr>
<th>D&eacute;nomination</th>
<th>Si&egrave;ge Sociale</th>
<th>T&eacute;l&eacute;phone</th>
<th>Courriel<th>
<th>Site web</th>
<th>Type</th>
<th style="text-align:center"><span class="glyphicon
glyphicon-pencil"></span> <span class="glyphicon glyphicon-list-alt"></span> <span
class="glyphicon glyphicon-trash"></span></th>
</tr>

@foreach (var item in Model)


{
<tr>
<td>
<a href="@Url.Action("Details", "ExplTbBord", new {
id_expl = @item.id_expl })">
@Html.DisplayFor(modelItem => item.nom_expl)
</a>
</td>
<td>@Html.DisplayFor(modelItem => item.siege) </td>
<td>@Html.DisplayFor(modelItem => item.tel_expl) td>
<td>@Html.DisplayFor(modelItem => item.mail_expl) </td>
<td>@Html.DisplayFor(modelItem => item.web) </td>
<td>@Html.DisplayFor(modelItem => item.type_expl) </td>
<td style="text-align:center">
@Html.ActionLink("Modifier", "Modifier", new { id_expl = item.id_expl }) |
@Html.ActionLink("Details", "Details", new { id_expl = @item.id_expl }) |
@Html.ActionLink("Supprimer", "Supprimer", new { id_expl = item.id_expl })
</td>
</tr>
}
</table>
}
</div>
</div>

Figure A2.02 : Code source d’une vue de tableau de bord.

87
BIBLIOGRAPHIE

[1] Document ACM, « Vision ACM », de l’Octobre 2017.

[2] Document ACM, « Organigramme ACM », Juillet 2014.

[3] Document ACM, « Présentation Département e-Gestion », de l’Octobre 2017.

[4] « Client lourd et client léger », https://www.supinfo.com/articles/single/3424-client-lourd-


client-leger , du 05 Mars 2018.

[5] « Application Web », https://www.ideematic.com/dictionnaire-web/application-web , du


Décembre 2017.

[6] « Développement front end et développement back end », https://www.nemesis-


studio.com/quelle-est-la-difference-entre-developpement-back-end-front-end-et-full-
stack/, du Février 2018.

[7] « Méthode de gestion de projet », https://blog.azendoo.com/fr/le-top-13-des-methodes-de-


gestion-de-projets/ , du Novembre 2017.

[8] « ASP.net », https://www.asp.net, du 12 Novembre 2018.

[9] P. Roques, F. Valée, « UML 2 en action- de l’analyse des besoins à la conception »,


EYROLLES, 2007.

[10] P. Roques, « UML 2 Modéliser une application web », Edition EYROLLES, 2007.

[11] « Architecture d’un système d’information », http://www.guillaumeriviere.name/


estia/si/pub/SI_COURS-01_2012_introduction.pdf, du Janvier 2018.

[12] J. R. G. Paz, « Beginning, ASP.NET MVC 4 », Edition APRESS, du 04 Janvier 2018.

[13] J. M. Richer, « Développement Web, Le modèle MVC », Université Angers, Faculté des
sciences, Unité de formation et de recherche, 24 Janvier 2011.

[14] B. Mermet, « L’architecture MVC : Modèle-Vue-Contrôleur », Université du Havre,


Mention Génie Logiciel, du 04 Janvier 2018.

[15] N. L. Ravelomanantsoa, « Cours Programmation JAVA Master 2, MVC », ESPA, Mention


Télécommunication, Parcours STI, AU 2016-2017.

[16] P. A. Muller et N. Gartner, « Modélisation objet avec UML », Edition EYROLLES, 2000.

88
[17] « Visual Studio », http://download.cnet.com/Visual-Studio-Professional-2015/3000-
2212_4-76440612.html , du Décembre 2017.

[18] « Application web avec APS.net », http://openclassrooms.com/courses/2426731-creez-


votre-site-web-en-asp-net/2426851-introduction-a-asp-net-avec-c , du Novembre 2018.

[19] L. Seinturier, « ASP.NET-ASP.NET MVC », Université de Lille 1, du Décembre 2017.

[20] « SGBD », www.orsys.com/pdf-auto/pdfCours/MY.pdf, du Novembre 2017.

[21] « Les diagrammes de classe », https://www.lucidchart.com/pages/fr/tutoriel-sur-les-


diagramme-de-classes, du Décembre 2017.

[22] L. Rabeherimanana, « Cours UML Master 1 », ESPA, Mention Télécommunication,


Parcours STI, AU 2015-2016.

[23] « UML », http://openclassrooms.com /courses/26832-apprenez-a-programmer-en-


java/21530-modeliser-ses-objets-grace-a-uml, du 19 Décembre 2017.

[24] «Diagramme de séquence », https://www.ibm.com/support/knowledgecenter/fr/ SS8


PJ7_9.1.0/com.ibm.xtools.sequence.doc/topics/cseqd_v.html , du Janvier 2018.

[25] B. Philibert, « Bootstrap 3, Le framework 100% web design », Eyrolles ce 07 Mars 2018.

[26] « Bootstrap », http://getbootstrap.com/2.3.2/ , de Novembre 2017.

[27] « Utilisation de chart.js », http://chartjs.org/docs/latest, du Mars 2018.

[28] « Les requêtes POST ET GET », http://www.w3schools.com/tags/ref_httpmethodes.asp, du


Novembre 2017.

[29] SAP AG, « Guide de l’utilisateur de SAP Crystal Reports for Entreprise », SAP
BusinessObjects, 29 Juin 2013.

89
FICHE DE RENSEIGNEMENT

Nom : ANDRIANTAHINA
Prénoms : Minohasina
Adresse de l’auteur : Lot IVI 47 Bis Antanety
Avaratra Ambohimanarina

Téléphone : +261 32 62 434 72


E-mail : a.mino@hotmail.com

Titre de mémoire : « CONCEPTION ET REALISATION D’UNE APPLICATION WEB DE


SUIVIS DES EXPLOITATIONS ET DES AGREMENTS AVEC ASP.NET »

Nombre de pages : 90
Nombre de tableaux : 24
Nombre de figures : 77

Mots clés : ASP.net, Bootstrap, Chart.js, MVC, SQL, UML

Directeur de mémoire : Mr. RAKOTOMALALA Mamy Alain


Grade : Maître de conférences
Téléphone : +261 34 95 535 20

Encadreur professionnel : Mr. RANDRIA Gino Eric


Téléphone : +261 32 05 742 70

90
RESUME

Ce projet détaille la conception et la réalisation d’une application web de suivi des exploitations et
des agréments pour le Département Certification et Surveillance d’ACM. Il illustre la gestion d’un
projet informatique au sein d’une entreprise tout en montrant les différentes étapes suivis et les
différents outils déployés. Lors de la modélisation, une étape importante pour l’exécution d’un
projet informatique, on a utilisé le langage de modélisation UML. Et pour ce qui en est de la
réalisation de ce projet, on s’est penché vers l’exploitation de la technologie ASP.net de Microsoft
et opté pour l’utilisation de Microsoft Visual Studio et de SQL Server. L’adoption de l’architecture
MVC a été mis en œuvre afin de bien structurer notre application et de faciliter l’ajout de nouvelle
fonctionnalité pour l’avenir. Et l’utilisation de l’outil Chart.js et l’implémentation de Bootstrap dans
la réalisation de notre application a été effectuée dans le but de parfaire les interfaces et le
fonctionnement de notre application.

Mot clés : ASP.net, Bootstrap, Chart.js, MVC, SQL, UML.

ABSTRACT

This project details the design and the realization of a Web application for a follow-up of the
operations and the approvals certificates for the Certification and Survey department in ACM. It
illustrates the management of an IT project within a company while showing all different stages and
the various tools used in this project. During the modelling, a stage mattering for the realization of
an IT project, we have used the language of modelling UML. We have chosen the exploitation of
the ASP.net technology of Microsoft and opted the use of Microsoft Visual Studio and SQL Server
for the realization of this project. The MVC model has been used to well-structure our application
and to facilitate the add of new functionality in the near future. The use of Chart.js and the
implementation of Bootstrap in the realization of our application was made to perfect the interfaces
and the functioning of our application.

Key words: ASP.net, Bootstrap, Chart.js, MVC, SQL, UML.

Vous aimerez peut-être aussi