UNIVERSITE D’ANTANANARIVO
---------------------------
ECOLE SUPERIEURE POLYTECHNIQUE
---------------------------
DEPARTEMENT TELECOMMUNICATION
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.
Ensuite, je tiens à exprimer ma gratitude aux personnes qui suivent, sans qui ce travail n’aurait pas
vu le jour :
ii
qui ont consacré leur temps à examiner mon travail malgré leurs lourdes responsabilités.
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
iv
1.5.3 Le développement « Full stack » ................................................................................................ 19
v
3.4 Diagramme de cas d’utilisation de l’application ............................................................................ 36
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
BIBLIOGRAPHIE ...................................................................................................................................... 88
FICHE DE RENSEIGNEMENT ............................................................................................................... 90
RESUME ...................................................................................................................................................... 91
ABSTRACT ................................................................................................................................................. 91
vii
LISTE DES ABREVIATIONS
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
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
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.
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
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
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]
4
1.2.4 Organisation d’ACM
1.2.4.1 Organigramme
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
c. Groupe « Opérations »
d. Groupe d’appui
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
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
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
1.2.6.4 Responsabilités
1.2.6.5 Organigramme
10
Figure 1.03 : Organigramme du département e-Gestion.
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
1.2.7.3 Missions
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.
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
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.
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.
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.
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 :
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.
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 :
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
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.
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]
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]
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 ».
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.
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.
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 »
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
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.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
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
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]
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.
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.
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.
La figure 2.02 suivante illustre le fonctionnement général des traitements de dossier dans ce
département.
23
2.3.1.2 Moyens matériels et logiciels
a. Moyens matériels
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
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
- 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.
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é
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.
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.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
2.4.2.5 Fonctionnement
Les fonctionnements de ces sous parties sont illustrées par la figure 2.04 suivante.
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]
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.
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
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.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
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.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.
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.
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]
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
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.
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
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
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.
La figure 3.02 de la page suivante nous décrit de manière globale la structure statique de notre
système.
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.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.
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.
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.
- 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.
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 »
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.
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.
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
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.
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
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
47
3.4.7 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.
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.
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.
3.5.1 Généralités
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.
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.
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].
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.
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.
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.
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.
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
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.
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.
58
Figure 3.24 : Diagramme de séquences pour rapporter les états.
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.
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.
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.
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.
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.
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.
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).
Ainsi on obtient l’arborescence de l’application comme la figure 4.07 qui suit et on est prêt pour le
développement.
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.
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.
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.
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
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.
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.
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.
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.
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.
4.3.2 View
a. Bootstrap
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.
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();
}).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");
}
74
La figure 4.23 suivante nous montre un résultat lors d’un téléchargement d’un fichier à partir de
Crystal report.
75
Figure 4.25 : Liste des agréments avec alerte d’approche des validités.
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();
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.
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.
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
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
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.
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
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
Description :
1) Menu déroulant pour l’affichage des notifications
2) Liste des notifications
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
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.
85
ANNEXE 2 :
EXTRAITS DE CODE UTILISES
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
87
BIBLIOGRAPHIE
[10] P. Roques, « UML 2 Modéliser une application web », Edition EYROLLES, 2007.
[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.
[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.
[25] B. Philibert, « Bootstrap 3, Le framework 100% web design », Eyrolles ce 07 Mars 2018.
[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
Nombre de pages : 90
Nombre de tableaux : 24
Nombre de figures : 77
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.
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.