Développement d'une application Java
Développement d'une application Java
Thème
Réalisé par :
- BELGACEM Hicham.
Encadré par :
Mr BENMAMMAR Badr
travail de recherche.
cursus universitaire.
Dédicace
Dédicace
_Mes chers grand parents, ma grande mère qui a souhaité vivre afin de nous voir
_Toute ma famille
mémoire.
Table des matières
I.3 NetBeans……………………………………………………………………………8
I. 3.1 Historique……………………………………………………………………..9
I.3.2 Définition……………………………………………………………………...9
I.4 EasyPHP…………………………………………………………………………..10
I.4.1 MySQL……………………………………………………………………….11
I.5.1 Introduction…………………………………………………………………..11
I.5.1.1 AWT……………………………………………………………………..12
I.5.1.2 SWING…………………………………………………………………..12
I.6 Framework…………………………………………………………………………12
1
Table des matières
I.8 Conclusion…………………………………………………………………….18
II.1 Introduction………………………………………………………………..19
II.6 Exécution……………………………………………………………….....30
II.6.3 Employé………………………………………………………………34
II.6.4 Client…………………………………………………………………36
II.6.5 Voyage………………………………………………………………38
II.6.6 Réservations………………………………………………………….40
2
Table des matières
II.6.7 Contacts………………………………………………………………43
II.7 Conclusion…………………………………………………………………………44
3
Liste des figures
Introduction générale :
L’arrivée du contexte de la gestion via l’outil informatique se concrétisa par l’arrivée de
l’orienté objet. Voir les résolutions des problèmes avec des langages de programmation
comme JAVA.
CHAPITRE 1 : qui est une partie théorique, nous allons présenté d’une
manière générale les différents outils que nous allons utiliser : une
introduction au langage JAVA , suivi par une présentation de Netbeans
qui est un environnement de développement intégré (EDI), ensuite nous
allons présenter MySQL qui est un serveur de base de données
relationnelles, suivi d’une description du Framework , enfin nous allons
présenter l’architecture client/serveur utilisé dans le cadre de ce PFE.
1
Chapitre 1 : Architecture et outils utilisés
CHAPITRE 1 :
ARCHITECTURE
ET
OUTILS UTILISÉS
Chapitre 1 : Architecture et outils utilisés
I.2 JAVA
I.2.1 Définition :
Java est un langage de programmation et une plate-forme informatique qui ont été créés par
Sun Microsystems en 1995. Beaucoup d'applications et de sites Web ne fonctionnent pas si
Java n'est pas installé et leur nombre ne cesse de croître chaque jour. Java est rapide,
sécurisé et fiable. Des ordinateurs portables aux centres de données, des consoles de jeux
aux superordinateurs scientifiques, des téléphones portables à Internet, la technologie Java
est présente sur tous les fronts !
Il est fourni avec un ensemble d'outils (le JDK Java Développement Kit) et un ensemble de
packages : ensemble de classes. Ces différentes classes de base couvrent beaucoup de
domaine (entrées/sorties, interface graphique, réseau, etc.) Cette richesse en "librairies
standards" explique sûrement en partie le succès de Java. Le langage lui-même se trouve
dans le package java. Lang .
7
Chapitre 1 : Architecture et outils utilisés
Java n'a rien de commun avec HTML. Ce n'est pas un langage de script (type PERL ou
TCL). Il ne sert pas seulement à faire des applets pour le WEB, mais cela a contribué à son
succès. [1]
Le plug-in Java est un composant de l'environnement d'exécution Java (JRE). JRE permet
aux applets écrits dans le langage de programmation Java de s'exécuter dans différents
navigateurs. Le plug-in Java n'est pas un programme autonome et ne peut pas être installé
séparément. [2]
I.3 NetBeans :
La programmation peut se faire pour des exemples simples avec le compilateur javac, mais
pour avoir plus de confort il est préférable s’utiliser un environnement de développement
intégré ou IDE, comme Eclipse ou NetBeans. Dans notre projet nous avons utilisé
NetBeans.
8
Chapitre 1 : Architecture et outils utilisés
I.3.1 Historique :
Après quelques temps de développement supplémentaires, Sun sortit l'EDI Forté Fro Java,
Edition Communauté - le même EDI qui avait été en béta comme NetBeans développé
3.0.Il y a toujours eu un intérêt pour l'Open Source chez NetBeans. En juin 2000, Sun mis
l'EDI NetBeans en open-source. Ce site est l'endroit où tout cela s'est déroulé.
I.3.2 Définition :
NetBeans est un environnement de développement intégré (IDE) pour Java, placé en open
source par Sun en juin 2000 sous licence CDDL (Common Développement and
Distribution License). En plus de Java, NetBeans permet également de supporter différents
autres langages, comme Python, C, C++, XML et HTML. Il comprend toutes les
caractéristiques d'un IDE moderne (éditeur en couleur, projets multi-langage, refactoring,
éditeur graphique d'interfaces et de pages web).NetBeans est disponible sous Windows,
Linux, Solaris (sur x86 et SPARC), Mac OS X et Open VMS.
NetBeans est lui-même développé en Java, ce qui peut le rendre assez lent et gourmand en
ressources mémoires. [5]
9
Chapitre 1 : Architecture et outils utilisés
NetBeans comprend un explorateur de bases de données qui supporte toutes les bases
relationnelles pour lesquelles un connecteur JDBC existe (selon les versions des
gestionnaires de bases de données) : JavaDB (Derby) MySQL, PostgreSQL, Oracle,
Microsoft SQL, PointBase, jTDS, IBM Redistributable DB2. [7]
Il peut aussi inter agir avec des debogeurs PHP (Zend, Xdebug). [8]
I.4 EasyPHP :
EasyPHP fut le premier package WAMP à voir le jour (1999). Il s'agit d'une plateforme de
développement Web, permettant de faire fonctionner localement (sans se connecter à un
serveur externe) des scripts PHP. EasyPHP n'est pas en soi un logiciel, mais un
environnement comprenant deux serveurs (un serveur web Apache et un serveur de bases
de données MySQL), un interpréteur de script (PHP), ainsi qu'une administration SQL
phpMyAdmin. Il dispose d'une interface d'administration permettant de gérer les alias
(dossiers virtuels disponibles sous Apache), et le démarrage/arrêt des serveurs. Il permet
donc d'installer en une seule fois tout le nécessaire au développement local du PHP. Par
défaut, le serveur Apache crée un nom de domaine virtuel (en local) 127.0.0.1 ou local host.
Ainsi, quand on choisit « Web local » dans le menu d'EasyPHP, le navigateur s'ouvre sur
cette URL et affiche la page index. PHP de ce site qui correspond en fait au contenu du
dossier www d'EasyPHP.
10
Chapitre 1 : Architecture et outils utilisés
EasyPHP peut être utilisé comme une application portable, c’est-à-dire lancé sur une clé
USB. [9]
I.4.1 MySQL :
Le principe d’une base de données relationnelle est d’enregistrer les informations dans des
tables, qui représentent des regroupements de données par sujets (table des clients, table des
fournisseurs, table des produits, par exemple). Les tables sont reliées entre elles par des
relations.
I.5.1 Introduction:
Il existe deux principaux types de composants susceptibles d’intervenir dans une interface
graphique : les conteneurs qui sont destinés à contenir d’autres composants, comme par
exemple les fenêtres, les composants atomiques qui sont des composants qui neNe peuvent
pas en contenir d’autres, comme par exemple les boutons. Les deux bibliothèques les plus
utilisés sous JAVA sont AWT et SWING. [11]
I.5.2 AWT:
AWT signifie Abstract Windows Toolkit. L'AWT est une bibliothèque de code qui fournit
des composants pour les interfaces utilisateur graphiques, par exemple, des boutons, des
étiquettes, des zones de texte. C'était la première version de composants graphiques Java.
11
Chapitre 1 : Architecture et outils utilisés
Swing est une bibliothèque graphique pour le langage de programmation Java, faisant
partie du package Java Foundation Classes (JFC), inclus dans J2SE. Swing constitue l'une
des principales évolutions apportées par Java 2 par rapport aux versions antérieures. [11]
I.5.3 SWING :
Swing offre la possibilité de créer des interfaces graphiques identiques quel que soit le
système d'exploitation sous-jacent, au prix de performances moindres qu'en utilisant
Abstract Window Toolkit (AWT). Il utilise le principe Modèle-Vue-Contrôleur (MVC, les
composants Swing jouent en fait le rôle du contrôleur au sens du MVC) et dispose de
plusieurs choix d'apparence (de vue) pour chacun des composants standards.
Le mot « Framework » provient de l'anglais « frame » qui veut dire « cadre » en français, et
« work » qui signifie « travail ». Littéralement, c'est donc un « cadre de travail ». Vous
voilà avancés, hein ? Concrètement, c'est un ensemble de composants qui servent à créer
les fondations, l'architecture et les grandes lignes d'un logiciel. Il existe des centaines de
frameworks couvrant la plupart des langages de programmation. Ils sont destinés au
développement de sites web ou bien à la conception de logiciels. [12]
I.6 Framework:
Un Framework est une boîte à outils conçue par un ou plusieurs développeurs à destination
d'autres développeurs. Contrairement à certains scripts tels que WordPress, Dotclear ou
autres, un framework n'est pas utilisable tel quel. Il n'est pas fait pour être utilisé par les
utilisateurs finaux. Le développeur qui se sert d'un framework a encore du boulot à fournir,
d'où ce cours ! [13]
L'objectif premier d'un Framework est d'améliorer la productivité des développeurs qui
l'utilisent. Plutôt sympa, non ? Souvent organisé en différents composants, un framework
12
Chapitre 1 : Architecture et outils utilisés
offre la possibilité au développeur final d'utiliser tel ou tel composant pour lui faciliter le
développement, et lui permet ainsi de se concentrer sur le plus important.
le temps de prise en main du Framework par les développeurs peut être plus ou long
en fonction de différents facteurs (complexité du Framework, richesse de sa
documentation, expérience des développeurs, ...) les évolutions du Framework qu'il
faut répercuter dans les applications existantes. [14]
généralement très puissante en termes de capacités d'entrée-sortie, qui leur fournit des
services. Ces services sont des programmes fournissant des données telles que l'heure, des
fichiers, une connexion, etc.
Les services sont exploités par des programmes, appelés programmes clients, s'exécutant
sur les machines clientes. On parle ainsi de client (client FTP, client de messagerie, etc.)
lorsque l'on désigne un programme tournant sur une machine cliente, capable de traiter des
13
Chapitre 1 : Architecture et outils utilisés
informations qu'il récupère auprès d'un serveur (dans le cas du client FTP il s'agit de
fichiers, tandis que pour le client de messagerie il s'agit de courrier électronique).
des ressources centralisées : étant donné que le serveur est au centre du réseau, il
peut gérer des ressources communes à tous les utilisateurs, comme par exemple une
base de données centralisée, afin d'éviter les problèmes de redondance et de
contradiction
une meilleure sécurité : car le nombre de points d'entrée permettant l'accès aux
données est moins important
une administration au niveau serveur : les clients ayant peu d'importance dans ce
modèle, ils ont moins besoin d'être administrés
un réseau évolutif : grâce à cette architecture il est possible de supprimer ou rajouter
des clients sans perturber le fonctionnement du réseau et sans modification majeure.
L'architecture client/serveur a tout de même quelques lacunes parmi lesquelles :un coût
élevé dû à la technicité du serveur un maillon faible : le serveur est le seul maillon faible du
réseau client/serveur, étant donné que tout le réseau est architecturé autour de lui !
Heureusement, le serveur a une grande tolérance aux pannes (notamment grâce au système
RAID).
14
Chapitre 1 : Architecture et outils utilisés
Le client émet une requête vers le serveur grâce à son adresse IP et le port, qui désigne un
service particulier du serveur .Le serveur reçoit la demande et répond à l'aide de l'adresse
de la machine cliente et son port.[15] .
Dans une architecture deux tiers, encore appelée client-serveur de première génération ou
client-serveur de données, le poste client se contente de déléguer la gestion des données à
un service spécialisé. Le cas typique de cette architecture est une application de gestion
fonctionnant sous Windows ou Linux et exploitant un SGBD centralisé.
La gestion des données est prise en charge par un SGBD centralisé, s'exécutant le plus
souvent sur un serveur dédié. Ce dernier est interrogé en utilisant un langage de requête
qui, le plus souvent, est SQL. Le dialogue entre client et serveur se résume donc à l'envoi
de requêtes et au retour des données correspondant aux requêtes.[16]
15
Chapitre 1 : Architecture et outils utilisés
16
Chapitre 1 : Architecture et outils utilisés
L'architecture n-tiers a été pensée pour pallier aux limites des architectures trois tiers et
concevoir des applications puissantes et simples à maintenir. Ce type d'architecture
permet de distribuer plus librement la logique applicative, ce qui facilite la répartition de
la charge entre tous les niveaux.
Cette évolution des architectures trois tiers met en œuvre une approche objet pour offrir
une plus grande souplesse d'implémentation et faciliter la réutilisation des
développements.
Cette architecture est basée sur l'utilisation de composants "métier'', spécialisés et
indépendants, introduits par les concepts orientés objets (langages de programmation et
middleware). Elle permet de tirer pleinement partie de la notion de composants métiers
réutilisables.
Ces composants rendent un service si possible générique et clairement identifié. Ils sont
capables de communiquer entre eux et peuvent donc coopérer en étant implantés sur des
machines distinctes. [17]
17
Chapitre 1 : Architecture et outils utilisés
I.8 Conclusion :
Dans ce chapitre, nous avons présenté les différents outils utilisés dans notre Projet de fin
d’études comme JAVA , NetBeans qui est l’EDI pour le mettre en place, aussi qu’un
gestionnaire de bases de données MySQL, et de différents types d’architecture Client/serveur.
Dans le chapitre suivant, nous présenterons en détail les différentes étapes nécessaires pour la
réalisation de notre application « Gestion d’une agence de voyage».
18
PRESENTATION DE L’APPLICATION
CHAPITRE 2 :
PRÉSENTATION
DE
L’APPLICATION
Chapitre 2 : Présentation de l’application
II.1 Introduction :
Dans ce chapitre nous allons présenter les étapes nécessaires pour la réalisation de notre
projet.
Nous avons créé trois tables à l’intérieur de la base de données pfe, les figures
suivantes montrent le résultat obtenu :
19
Chapitre 2 : Présentation de l’application
20
Chapitre 2 : Présentation de l’application
21
Chapitre 2 : Présentation de l’application
Notre base de données est maintenant connectée, pour afficher les tables clique-
droit Sur « pfe »en suite choisir « View Data …»
22
Chapitre 2 : Présentation de l’application
S’affiche
23
Chapitre 2 : Présentation de l’application
Saisir le nom du projet, pour notre projet c’est « Agence de voyage », clique
sur « Finish ». Voir figure 13.
24
Chapitre 2 : Présentation de l’application
25
Chapitre 2 : Présentation de l’application
26
Chapitre 2 : Présentation de l’application
27
Chapitre 2 : Présentation de l’application
S’affiche :
28
Chapitre 2 : Présentation de l’application
29
Chapitre 2 : Présentation de l’application
II.6 Exécution :
II.6.1 Accueil et authentification :
S’affiche :
30
Chapitre 2 : Présentation de l’application
31
Chapitre 2 : Présentation de l’application
s’affiche :
32
Chapitre 2 : Présentation de l’application
33
Chapitre 2 : Présentation de l’application
II.6.3 Employé :
L’ajout d’un employé :
Clique sur « Fichier » « Admin » « Employé » « Ajouter ».
34
Chapitre 2 : Présentation de l’application
S’affiche :
35
Chapitre 2 : Présentation de l’application
II.6.4 Client :
L’ajout d’un client :
Clique sur « Fichier » « Admin » « Client » « Ajouter un client ».
36
Chapitre 2 : Présentation de l’application
Autre opération :
Comme l’ajout, il existe plusieurs opérations qu’on peut effectuer sur le client
comme la modification et la suppression.
Clique sur « Fichier » « Admin » « Client » « Autre opérations ».
S’affiche
37
Chapitre 2 : Présentation de l’application
II.6.5 Voyage :
Ajout d’un voyage :
Clique sur « Fichier » « Admin » « Client » « Ajouter un voyage ».
S’affiche
38
Chapitre 2 : Présentation de l’application
Autres opérations :
Comme l’ajout, on peut effectuer plusieurs opérations sur les vols tels la
modification et la suppression.
Clique sur « Fichier » « Admin » « Voyage » « Autres
opérations »
S’affiche
39
Chapitre 2 : Présentation de l’application
II.6.6 Réservations :
Réservation :
Clique sur « Services » « Réservation » « réserver ».
S’affiche
40
Chapitre 2 : Présentation de l’application
41
Chapitre 2 : Présentation de l’application
42
Chapitre 2 : Présentation de l’application
S’affiche :
II.6.7 Contacts :
Clique sur « Aide » « Contacts ».
S’affiche
43
Chapitre 2 : Présentation de l’application
II.7 Conclusion :
Dans ce chapitre, nous avons présenté les différentes phases de réalisation de notre,
projet, en commencent par la création de la base de données, la réalisation des interfaces
avec swing, et en montrant à la fin l’exécution globale de notre application.
44
Conclusion générale
Dans ce projet de fin d’études, nous avons réalisé une application Client/serveur qui consiste a
faire la gestion d’une agence de voyage. Nous avons présenté d’une manière générale les
différents outils que nous avons utilisés, ainsi que les étapes nécessaire pour la réalisation de
notre application.
Ce PFE a été d’un grand intérêt pour nous a permis de mieux comprendre le système des
bases de données ainsi que le langage de programmation JAVA.
[1] http://www.java.com/fr/download/faq/whatis_java.xml. Le 17/04/2014.
[13] http://fr.openclassrooms.com/informatique/cours/developpey-votre-site-web-avec-le-
framework-symfony2/qu-est-ce-qu-unframework-1. Le 21/04/2014.
[14] http://fr.openclassrooms.com/informatique/cours/developpey-votre-site-web-avec-le-
framework-symfony2/qu-est-ce-qu-unframework-1. Le 21/04/2014.
[16] http://www.memoireonline.com/05/12/5812/m_La-realisation-dune-application-de-
contrle-total-des-processus-dun-ordinateur-distant6.html Le 23/04/2014.
Dans le premier chapitre de notre rapport nous avons présenté les outils misent en place pour
la réalisation de notre application, en commençant par le langage Java utilisés sous Netbeans,
MySQL pour la gestion de base de données et phpMyAdmin pour créer la BDD.
Summary:
The objective of this modest work is to develop an application client / server for the
management of a travel agency based on SWING and MySQL.
In the first chapter we have presented the tools used to achieve our application, such as Java
,Netbeans, MySQL for database management and phpMyAdmin to create the database.
ملخص
الخادم إلدارة وكالت السفز بناء على التزجح و/ الهذف هن هذا العول الوتىاضع هى لتطىيز تطبيق العويل
MySQL.
، نتبيانس، هثل جافا،في الفصل األول قذهنا األدواث الوستخذهت لتحقيق التطبيق لذيناMySQL إلدارة
قىاعذ البياناث وبزيس إلنشاء قاعذة البياناث.