Réf : 2007/II2/Sujet N° 120.
A-U : 2006/2007.
Ministère de l’Enseignement Supérieur, de la
Recherche Scientifique et de la Technologie
Université de la Manouba
Ecole Nationale des Sciences de l’Informatique
Rapport de stage d’Immersion en Entreprise
Réalisé par :
Oueslati Ghassen & Souissi Abdelkader
Sujet :
REALISATION D’UN MOTEUR DE
RECHERCHE DE VOLS SUR INTERNET
Nom du responsable : Amari Imed
Encadré par : Mediouni Mohammed
Organisme : Net Technologie
Adresse : 40, Avenue Hédie Chaker, Hammamet
Tél : 72 26 04 00 Fax : 72 26 04 00
Courriel : [email protected]
Résumé :
La révolution flagrante du monde d’Internet, la migration vers le web 2.0 font l’objet de sérieuses tentatives pour produire un contenu plus souple et plus interactif qui répond exactement aux besoins humains. Le présent travail est une simple contribution dans ces tentatives. Il consiste à développer en ColdFusion une application web qui déploie des services web afin de présenter en produit final un moteur de recherche de vols sur Internet. Ce moteur répond à un certain nombre de critères de choix spécifiés par l’utilisateur et garanti un temps de réponse acceptable grâce à l’intégration du multithreading au niveau de ColdFusion.
Mots clés : application web, moteur de recherche, services web, web 2.0, multithreading,
ColdFusion.
:
(cid:1)ّ(cid:3)(cid:4)(cid:5)
ت(cid:19)و(cid:13)!(cid:23) (cid:13)ّ(cid:5)إ (cid:24)ه (cid:13)(cid:23) 2.0 با(cid:4)(cid:5)ا ر(cid:4)(cid:7)(cid:8) (cid:9)(cid:5)إ (cid:11)(cid:12)(cid:13)(cid:14)إ (cid:15)(cid:16)(cid:17)(cid:18)(cid:16)(cid:19)ا (cid:13)(cid:7)(cid:12)(cid:17)(cid:20)(cid:21) (cid:15)(cid:22)(cid:18)(cid:12) (cid:13)(cid:23) (cid:24)(cid:18)(cid:5)ا تار(cid:4)(cid:26)ّ(cid:18)(cid:5)ا ّنإ (cid:11)(ه(cid:13)$(cid:23) 3((cid:20)(cid:5)ا ا4ه 3.(+ (cid:11)ّ#(cid:16)(cid:13)$(cid:16)%ا ت(cid:13)&'(cid:26)(cid:18)('(cid:5) (cid:13)(cid:23)(cid:13)((cid:21) )#*(cid:18)$+ (cid:11)ّ#',(cid:13)-(cid:21) و (cid:11)(cid:16)و(cid:17)(cid:23) (cid:17).آأ ى(cid:4)(cid:18)!(cid:23) ج(cid:13)(cid:18)(cid:16)% . (cid:9)', <((cid:18)(cid:20)(cid:21) " (cid:11)(cid:26)5ا(cid:4)6 باو (cid:11)7#&(cid:26)(cid:21) ج(cid:13)(cid:18)(cid:16)إ (cid:9)', م(cid:4)7+ (cid:4)هو ،ت(cid:19)و(cid:13)!((cid:5)ا :4ه (cid:24)(cid:12) (cid:11)(cid:26)#$6 " ColdFusion 3,(cid:13)-(cid:18)+ كّ(cid:17)!((cid:5)ا ا4ه . (cid:15)(cid:16)(cid:17)(cid:18)(cid:16)(cid:19)ا (cid:9)', =!6 كّ(cid:17)!(cid:23) =(cid:20)6 3?ا @(cid:23) باو ت(cid:13)(cid:23)<A =!6 م(cid:13)G(cid:16) (cid:11)(cid:12)(cid:13)(cid:14)إ 3H-6 (cid:19)(cid:4)&7(cid:23) (cid:11)6(cid:13)*(cid:18)5إ (cid:15)Iو @(H+ Jّ(cid:16)ا (cid:13)(آ 3((cid:20)(cid:18)$((cid:5)ا (cid:13)هدّ<!+ ة(cid:17)ّ#M(cid:18)(cid:23) N(cid:23)ا(cid:4)ه (cid:9)(cid:20)(cid:23) زا(cid:4)(cid:18)(cid:23)
نا(cid:17)#C تDEر ل(cid:4)E
.
-
-
,2.0
زا(cid:4)(cid:18)(cid:23) =!6
م(cid:13)G(cid:16)
باو ،باو ت(cid:13)(cid:23)<A ،=!6 كّ(cid:17)!(cid:23) ، باو (cid:11)7#&(cid:26)(cid:21)
:
(cid:7)(cid:8)(cid:9)(cid:10)(cid:11)(cid:12)(cid:13)ا ت(cid:10)(cid:12)(cid:4)(cid:16)(cid:13)ا
ColdFusion,
Abstract
:
Help me.
RReemmeerrcciieemmeennttss
Parce que nous avons beaucoup estimé tous ceux qui nous ont écoutés,
conseillés, critiqués et encadrés, nous tenons à leur faire part de toute notre
gratitude, et plus particulièrement, nous tenons à remercier :
Notre encadreur Dr. Mohammed Mediouni Arbi, Directeur Technique
de Net Technologie, pour nous avoir incités à mener à bien ce travail, pour
son aide, son dévouement et ses précieux conseils.
Le Directeur Imed Amari de l’organisme d’accueil Net Technologie pour
sa générosité, sa compréhension et ses aides inestimables.
Tous les enseignants qui ont fait en sorte de nous bien former en nous
transmettant leurs connaissances et leur savoir faire.
Tous nos camarades et collègues à l’ENSI qui nous ont encouragés et qui
nous ont donnés quelques coups de pousses.
Les membres du jury pour nous avoir honorés en acceptant de juger ce
modeste travail.
(cid:1)(cid:2)(cid:3)(cid:4)
OORRGGAANNIISSMMEE DD’’AACCCCUUEEIILL
Net Technologie est une société informatique tunisienne, installée à Hammamet. Elle est totalement exportatrice, spécialisée dans les issues techniques et le commerce électronique destinés aux sites de tourisme.
Net Technologie est crée en mars 2001 ; elle offre des stratégies, des plates-formes intelligentes, c’est à dire des sites ouverts et souples, capables d’offrir aux visiteurs un contenu dynamique, personnalisé, tel les caractéristiques des sites portraits, ou du commerce électronique.
Son équipe de sept collaborateurs aux compétences riches et multiples, suit un rigoureux programme de formation continu interne. Autour d’eux, de nombreux prestataires certifiés, sont disponibles à tout moment.
Les compétences de Net Technologie sont riches et variées. Toutefois, elle consacre
une part importante de ses ressources à promouvoir son potentiel technologique.
Net Technologie développe essentiellement avec le ColdFusion, et possède des compétences en ASP, Java, XML, WAP, DHTML, Flash, Dreamweaver, JavaScript, Photoshop, Illustrator, SQL, Oracle, BD2, et NT. Elle possède une infrastructure riche comportant, en plus des postes de développement, trois serveurs Windows 2003 Server, deux serveurs web IIS et iPlanet web server, un serveur de données SQL Server 2005 et serveur d’application ColdFusion.
Actuellement, Net Technologie est associée au partenaire français Advences1. Parmi
ses références on cite :
(cid:1) www.easyvoyage.com considéré le numéro 1 français des vols charters. (cid:1) www.asie.fr considéré le numéro 1 français pour les destinations Asie. (cid:1) www.holifayauto.fr considéré le numéro 1 français dans la location des voitures.
1 www.adveces.com
Table des matières INTRODUCTION .................................................................................................................................. 1
Chapitre 1 ........................................................................................................................................... 3
1. Notion de moteurs de recherche de vols ................................................................................... 3
2.
3.
Les services web ......................................................................................................................... 4
Etude de l’existant ...................................................................................................................... 6
3.1.
Exemple d’étude un : Easy Voyage.fr ................................................................................. 6
3.2.
Exemple d’étude deux : Ebookers.fr .................................................................................. 8
3.3.
Exemple d’étude trois : Voyager-moins-cher.fr ................................................................. 9
3.4.
Conclusion de l’étude ....................................................................................................... 10
4. Présentation des solutions proposées ..................................................................................... 10
5. Conclusion ................................................................................................................................ 10
Chapitre 2 ......................................................................................................................................... 11
1.
Spécification non formelle des besoins .................................................................................... 11
1.1.
Besoins fonctionnels ........................................................................................................ 11
1.2.
Besoins non fonctionnels ................................................................................................. 12
2.
Spécification formelle des besoins ........................................................................................... 13
2.1.
Cas d’utilisation ................................................................................................................ 13
2.1.1.
Les acteurs ................................................................................................................ 13
2.1.2.
Le diagramme des cas d’utilisation .......................................................................... 13
2.2.
Diagrammes de séquence ................................................................................................ 14
2.3.
Diagramme d’activité ....................................................................................................... 15
3. Conclusion ................................................................................................................................ 16
Chapitre 3 ......................................................................................................................................... 17
1. Architecture générale de l’application ..................................................................................... 17
1.1.
Architecture 3 tiers........................................................................................................... 17
1.2.
Présentation du Design Pattern MVC .............................................................................. 19
1.3.
Publicité
Schéma générale de l’architecture .................................................................................. 20
2. Conception détaillée ................................................................................................................ 21
2.1.
Diagrammes de classes .................................................................................................... 21
2.2.
Diagramme d’états-transitions ........................................................................................ 24
2.3.
Diagramme de déploiement ............................................................................................ 25
3. Conception de l’interface graphique ........................................................................................ 26
4. Conclusion ................................................................................................................................ 26
Chapitre 4 ......................................................................................................................................... 27
1.
Environnement matériel .......................................................................................................... 27
2. Choix technologiques ............................................................................................................... 27
2.1.
Coldfusion......................................................................................................................... 28
2.2. Macromedia Dreamweaver ............................................................................................. 28
2.3.
SQL server ......................................................................................................................... 29
2.3.1.
Avantages de SQL Server .......................................................................................... 29
2.3.2.
Les procédures stockées .......................................................................................... 30
2.4.
JavaScript .......................................................................................................................... 30
2.5.
Ajax ................................................................................................................................... 31
2.6.
Java ................................................................................................................................... 31
3.
Travail réalisé ........................................................................................................................... 31
3.1.
Solutions proposées ......................................................................................................... 32
3.1.1. Méthode 1 ................................................................................................................ 33
3.1.2. Méthode 2 ................................................................................................................ 33
3.1.3. Méthode 3 ................................................................................................................ 33
3.1.4.
Comparaison des solutions et conclusion ................................................................ 34
3.2.
Extension de la solution ................................................................................................... 35
4. Aperçu de l’interface ................................................................................................................ 37
5. Conclusion ................................................................................................................................ 38
Chapitre 5 ......................................................................................................................................... 39
1. Choix du test ............................................................................................................................. 39
1.1.
Tests de performance ...................................................................................................... 39
1.2.
Tests de chargements ...................................................................................................... 40
1.3.
Tests de stresse ................................................................................................................ 40
2. WebServer Tool ........................................................................................................................ 40
3.
Tests et résultats ...................................................................................................................... 41
4. Conclusion ................................................................................................................................ 44
CONCLUSION GENERALE .................................................................................................................. 45
Annexe A .......................................................................................................................................... 47
Annexe B .......................................................................................................................................... 48
Table des figures
FIGURE 1. EXEMPLE DE MOTEURS DE RECHERCHE DE VOLS .............................................................................................. 3 FIGURE 2. EXEMPLE D'INVOCATION TYPIQUE D'UN SERVICE WEB ...................................................................................... 5 FIGURE 3. MOTEUR DE RECHERCHE D’EASYVOYAGE.COM ............................................................................................... 7 FIGURE 4. MOTEUR DE RECHERCHE D'EBOOKERS.FR ...................................................................................................... 8 FIGURE 5. MOTEUR DE RECHERCHE DE VOAYAGER-MOINS-CHER.FR .................................................................................. 9 FIGURE 6. DIAGRAMME DES CAS D'UTILISATION ......................................................................................................... 14 FIGURE 7. DIAGRAMME DE SEQUENCE: CAS D'UTILISATION LANCER UNE RECHERCHE ......................................................... 14 FIGURE 9. DIAGRAMME D'ACTIVITE .......................................................................................................................... 15 FIGURE 10. ARCHITECTURE 3 TIERS .......................................................................................................................... 18 FIGURE 11. ARCHITECTURE GENERALE DE L'APPLICATION ............................................................................................. 20 FIGURE 12. PACKAGE MODELE ............................................................................................................................... 22 FIGURE 13. PACKAGE VUE ..................................................................................................................................... 23 FIGURE 14. PACKAGE CONTROLEUR ......................................................................................................................... 24 FIGURE 15. DIAGRAMME D'ETATS-TRANSITIONS ......................................................................................................... 24 FIGURE 16. DIAGRAMME DE DEPLOIEMENT ............................................................................................................... 25 FIGURE 17. MODELE GRAPHIQUE DE LA PAGE ............................................................................................................ 26 FIGURE 18. MOTEUR DE RECHERCHE ........................................................................................................................ 37 FIGURE 19. RESULTAT DE LA RECHERCHE ................................................................................................................... 38 FIGURE 20. CONFIGURATION DE WEBSERVER STRESS .................................................................................................. 41 FIGURE 21. UTILISATION DES RESSOURCES DU SERVEUR: METHODE OPEN XML ................................................................. 42 FIGURE 22. UTILISATION DES RESSOURCES DU SERVEUR: METHODE XSL ........................................................................... 42
Table des tableaux
TABLEAU 1. TEMPS DE REPONSE : FICHIERS EN LOCAL .................................................................................................. 34 TABLEAU 2. TEMPS DE REPONSE: FICHIERS DISTANTS ................................................................................................... 34 TABLEAU 3. COMPARAISON DU TEMPS DE REPONSE ENTRE UNE RECHERCHE SEQUENTIELLE ET UNE PARALLELE ........................ 36 TABLEAU 4. RESULTATS PAR UTILISATEUR: METHODE OPEN XML .................................................................................... 43 TABLEAU 5. RESULTATS PAR UTILISATEUR: METHODE XSL ............................................................................................. 44
INTRODUCTION
Dans un monde actif et continuellement évolutif, la motivation d’avoir des moyens
performants et efficaces de communication et d’échange d’informations devient de plus en
plus fondamentale .Cette motivation donne naissance à une révolution favorisant le travail
à distance et l’accès aux besoins en temps réduit voire immédiat. C’est pourquoi on a
assisté ces derniers temps à un développement exponentiel du réseau Internet qui, depuis
son apparition, ne cesse de s’étendre pour devenir enfin un terrain pour diverses
applications et un outil du premier plan pour de nombreux services.
Aujourd’hui, l’utilisation du web s'oriente de plus en plus vers l'interaction entre les
utilisateurs, et la création de réseaux sociaux rudimentaires, pouvant servir du contenu
exploitant les effets de réseau. Ces aspects entraînent la naissance de nouvelles visions et
applications fondant une interaction de plus en plus riche entre l’homme et le web.
Résultat de cette irruption de l’Internet, nouveau secteur en plein essor, une belle
avancée qui a su s’intégrer dans l’économie mondiale et qui se forge rapidement sa place :
le E-Tourisme. Cette branche d’activité renferme toutes les solutions applicatives basées
sur les technologies E-business afin de gérer les achats en ligne des billets d’avions, des
séjours, etc.
L’E-Tourisme, fondée sur le net, constitue une avancée technologique de ces
dernières années où Internet est devenu un vecteur de croissance. En effet, avec 50%
d'internautes européens recherchant on-line des données pour réserver leurs voyages,
loisirs… Internet est devenu l'une des plus importantes sources d'information du monde du
voyage.
En raison de la croissance exponentielle de ce domaine, la société Net Technologie
s’est fixée dans le développement d’applications classées dans le secteur E-Tourisme.
Propriétaire du nom de domaine www.Hammamet.com, Net Technologie souhaite
1 | P a g e
INTRODUCTION
développer des moteurs de recherche sur Internet permettant un accès facile et rapide à
l’information afin de les intégrer dans ses prochains sites web. Elle cherche et teste
différentes solutions visant à minimiser le temps de réponse.
Dans ce cadre, nous sommes appelés à mettre au point d’une application web
permettant de lancer une recherche de vols disponibles chez plusieurs fournisseurs et
afficher les meilleurs tarifs.
Il s’agit en premier temps de concevoir, implémenter et tester différentes méthodes
de recherche séquentielle. Le but essentiel de cette tâche est de comprendre quelques
mécanismes des moteurs de recherche sur Internet. Une seconde tâche consiste à trouver
des moyens permettant la réduction du temps de réponse d’une requête de recherche.
Le présent rapport s’inscrit dans l’optique d’éclaircir les différents aspects de cette application depuis sa phase de spécification jusqu'à sa phase de test. Il comporte quatre
chapitres. Le premier est consacré à une étude de l’existant dans laquelle nous élaborons une analyse de quelques sites concernant notre domaine d’étude. Le deuxième chapitre comporte une analyse et spécification des besoins fonctionnels et non fonctionnels de l’application. Le troisième chapitre présente la conception de notre application avec une approche globale et détaillée. L’étape de la réalisation de notre application Web est décrite dans le quatrième chapitre. Enfin, le dernier chapitre, présente la phase de tests et intégration.
2 | P a g e
Chapitre 1 ETAT DE L’ART
A travers ce chapitre nous allons définir les notions de moteur de recherche de vols et
des Web Services. Ensuite nous allons présenter les différents moteurs de recherche de
vols disponibles sur le marché mondial en mettant les points sur les services proposés par
chacun d’entre eux.
1. Notion de moteurs de recherche de vols
Les moteurs de recherche de prix de vol sont crées suite à un besoin humain de
s’informer de la disponibilité de vols sans perdre son temps. Ils sont apparus dans les
années. Depuis ce temps, et avec la révolution des technologies du web ainsi que les
Publicité
infrastructures, ces moteurs ont connu de nombreuses évolutions remarquables.
Actuellement, les moteurs de recherche de vols offrent des fonctionnalités très poussées,
telles que la comparaison des prix, la détection des promotions et les meilleurs tarifs, ainsi
qu’un nombre important d’options de choix.
Figure 1. Exemple de moteurs de recherche de vols
3 | P a g e
Chapitre 1 : ETAT DE L’ART
Aujourd’hui, on assiste à une utilisation massive de ce type de moteur de recherche
et on compte environ visiteurs par jour. Parmi les moteurs de recherche de vols les connus
en Europe on cite www.easyvoayage.com, www.govoyage.com, www.easyvol.fr...
2. Les services web
Un service web est un programme informatique permettant la communication et
l'échange de données entre applications et systèmes hétérogènes dans des environnements
distribués. Il s'agit donc d'un ensemble de fonctionnalités exposées sur Internet ou sur un
Intranet, par et pour des applications ou machines, sans intervention humaine, et en temps
réel.
Il existe plusieurs technologies derrière le terme services web:
(cid:1) Les Services Web de type REST exposent entièrement ces fonctionnalités
comme un ensemble de ressources (URI) identifiables et accessibles par la
syntaxe et la sémantique du protocole HTTP. Les Services Web de type REST
sont donc basés sur l'architecture du Web et ses standards de base: HTTP et URI.
(cid:1) Les Services Web WS-* exposent ces mêmes fonctionnalités sous la forme de
services exécutables à distance. Leurs spécifications reposent sur les standards
SOAP et WSDL pour transformer les problématiques d'intégration héritées du
monde Middleware en objectif d'interopérabilité. Les standards WS-* sont
souvent décriés comme l'étaient leurs ancêtres CORBA, RMI ou DCOM: des
technologies complexes héritées du vieux principe RPC, fortement couplées et
difficilement interopérables dans des environnements hétérogènes.
L'architecture des Web Services s'est imposée (tout comme le langage XML) grâce à
sa simplicité, à sa lisibilité et à ses fondations normalisées. Elle articule actuellement
autour des trois acronymes suivants :
(cid:1) SOAP (Simple Object Access Protocol) est un protocole d'échange inter-
application indépendant de toute plate-forme, basé sur le langage XML. Un appel
de service SOAP est un flux ASCII encadré dans des balises XML et transporté
dans le protocole HTTP.
4 | P a g e
Chapitre 1 : ETAT DE L’ART
(cid:1) WSDL (Web Services Description Language) donne la description au format
XML des Web Services en précisant les méthodes pouvant être invoquées, leur
signature et le point d'accès (URL, port, etc..). C'est, en quelque sorte,
l'équivalent du langage IDL pour la programmation distribuée CORBA.
(cid:1) UDDI (Universal Description, Discovery and Integration) normalise une
solution d'annuaire distribué de Web Services, permettant à la fois la publication
et l'exploration. UDDI se comporte lui-même comme un Web service dont les
méthodes sont appelées via le protocole SOAP.
Figure 2. Exemple d'invocation typique d'un service web
Les services web ont une collection d’avantages dont voici quelques uns :
(cid:1) Les services Web fournissent l'interopérabilité entre divers logiciels fonctionnant
sur diverses plateformes.
(cid:1) Les services Web utilisent des standards et protocoles ouverts.
5 | P a g e
Chapitre 1 : ETAT DE L’ART
(cid:1) Les protocoles et les formats de données sont au format texte dans la mesure du
possible, facilitant ainsi la compréhension du fonctionnement global des
échanges.
(cid:1) Basés sur le protocole HTTP, les services Web peuvent fonctionner au travers de
nombreux pare-feux sans nécessiter des changements sur les règles de filtrage.
Malgré tous ces avantages, les services web présentent ces inconvénients :
(cid:1) Les normes de services Web dans certains domaines sont actuellement récentes.
(cid:1) Les services Web souffrent de performances faibles comparées à d'autres
approches de l'informatique répartie telles que le RMI, CORBA, ou DCOM.
(cid:1) Par l'utilisation du protocole HTTP, les services Web peuvent contourner les
mesures de sécurité mises en place au travers des firewalls.
3. Etude de l’existant
Le secteur du tourisme est l’un des domaines influé par l’irruption de l’Internet.
Aujourd’hui, différentes applications sont mise en place afin de faciliter l’échange et le
traitement de l’information principalement pour un but commerciale.
Dans ce secteur le prix représente le facteur essentiel. On propose également des
tarifs négociés et des prestations dont on possède l'exclusivité. Face à la multitude des
choix, l’homme a besoin d’outils permettant de filtrer ces options, rôle que jouent
principalement les sites web de l’E-tourisme.
Dans le cadre d’une étude de recherche préalable des applications Web semblable à
la notre, nous avons remarqué l’existence d’une multitude de sites Web qui traitent ce
sujet, mais nous sommes limités à l’étude de trois sites :
3.1. Exemple d’étude un : Easy Voyage.fr
Dans ce premier exemple, nous nous intéressons à faire une étude du site
www.easyvoyage.com. Il présente un portail attirant qui en plus des services de
6 | P a g e
comparaison de prix classiques propose des informations touristiques et des cartes pour de
nombreuses destinations.
Chapitre 1 : ETAT DE L’ART
Figure 3. Moteur de recherche d’easyvoyage.com
Des fonctionnalités très puissantes, des options offrant un choix vaste aux visiteurs,
un design agréable, tous ces arguments font d’easyvoyage.com une des références dans ce
domaine.
7 | P a g e
Chapitre 1 : ETAT DE L’ART
3.2. Exemple d’étude deux : Ebookers.fr
Dans ce deuxième exemple, nous étudions le site www.ebookers.fr. Ebookers est un
outil de recherche de vols et de réservation en ligne en temps réel au départ de la France
pour plus de 500.000 tarifs de vols en provenance de 100 compagnies aériennes.
Figure 4. Moteur de recherche d'Ebookers.fr
Ebookers est un service très exhaustif qui en plus des prix négociés affiche tous les
tarifs listés dans les systèmes internationaux de réservations. La seule imperfection de ce
moteur est le temps de réponse qui demeure plus élevé que ses concurrents.
8 | P a g e
Chapitre 1 : ETAT DE L’ART
3.3. Exemple d’étude trois : Voyager-moins-cher.fr
Dans ce dernier exemple, nous étudions le site www.voyager-moins-cher.fr. C’est un
portail sur les voyages avec des moteurs de recherche pour trouver les meilleur prix pour
les voyages, les billets d’avion, les hôtels, la location d'appartement ou encore les voitures
de location. Ces offres proviennent de 100 agences de voyages et tour-opérateurs. Avec
des fiches techniques par pays, ce site rend de nombreux services.
Figure 5. Moteur de recherche de voayager-moins-cher.fr
L’avantage de ce moteur c’est qu’il offre un choix plus varié au niveau du prix.
Exhaustivité et indépendance dans la présentation des offres référencées sont les deux
objectifs que Voyager-Moins-Cher a fixés pour devenir un outil original et performant.
9 | P a g e
Chapitre 1 : ETAT DE L’ART
3.4. Conclusion de l’étude
Publicité
D’après l’étude de ces sites, nous constatons qu’ils offrent pratiquement les mêmes
fonctionnalités. Les paramètres métiers dont dépend la recherche sont identiques. Ce qui
diffère vraiment entre ces sites c’est le temps de réponse d’une requête de recherche, chose
qui peut influer sur le rendement du site. Ainsi, le temps de réponse demeure un facteur
essentiel et une problématique dont on doit tenir compte.
4. Présentation des solutions proposées
Afin de répondre à la contrainte du temps de réponse, nous tenons en premier temps
à choisir le trafic séquentiel optimisant ce temps. Pour ce faire, nous adoptons le concept d’Ajax2, et nous testons trois méthodes3différentes. Le second objectif est de rendre la recherche en cycles parallèles4.
5. Conclusion
Dans ce chapitre nous avons défini les différents termes spécifiques à notre
application Web et réalisé une étude sur les services offerts par des sites existants dans le
domaine touristique. Nous avons également présenté notre solution proposée de manière
globale.
L’analyse et la spécification des besoins des différents utilisateurs de l’application
sont l’objet du chapitre suivant.
2 Voir chapitre Réalisation, section Choix technologiques. 3 Voir chapitre Réalisation, section Travail réalisé. 4 Voir chapitre Réalisation, section Extension de la solution.
10 | P a g e
Chapitre 2 ANALYSE ET SPECIFICATION
Dans ce chapitre, nous abordons la phase d’analyse et spécification des besoins.
Ainsi, nous présentons les besoins fonctionnels et non fonctionnels de notre application
Web tout en recourant au modèle UML comme un moyen simple et compréhensible afin
de structurer les besoins de l’application, définir ses limites et modéliser le point de vue de
ses utilisateurs.
1. Spécification non formelle des besoins
Dans le cadre de ce stage, nous sommes appelés en premier temps à réaliser un
moteur de recherche séquentielle de vols sur Internet. Vu que la recherche prend en charge
plus qu’un seul fournisseur, la seconde tâche consiste à rendre cette recherche en cycles
parallèles afin de minimiser le temps de réponse. L’application finale doit répondre à un
certains critères de choix et fournir un temps de réponse acceptable.
1.1. Besoins fonctionnels
Les besoins fonctionnels représentent les attentes de chaque acteur de la future
application. Toute solution conceptuelle doit satisfaire, préalablement, à des besoins
fonctionnels afin de délimiter le périmètre fonctionnel de l‘application et surveiller la
traçabilité des besoins lors de la phase de développement.
La présente application doit satisfaire les besoins fonctionnels suivants :
11 | P a g e
Chapitre 2 : ANALYSE ET SPECIFICATION
(cid:1) Recherche de vols : il s’agit de définir un moteur qui permet la recherche de vols
suivant des critères choisis par l’utilisateur. Les principaux critères de choix
sont :
o Ville et date d’aller.
o Ville et date de retour s’il s’agit d’un voyage aller/retour.
o Nombres d’adultes, d’enfants et de bébés.
o Aller simple ou Aller/Retour.
o Classe économique.
(cid:1) Affichage du résultat de la recherche : le résultat doit être affiché après qu’il
soit trié selon le prix.
(cid:1) Réservation dans un vol : l’utilisateur aura la possibilité de réserver le nombre
de places désiré pour un vol choisi.
1.2. Besoins non fonctionnels
Un besoin non fonctionnel est une restriction ou une contrainte qui pèse sur un
service du système, telle les contraintes liées à l’environnement et à l’implémentation et les
exigences en matière de performances, les dépendances de plate-forme, de facilité de
maintenance, d’extensibilité et de fiabilité.
Les besoins non fonctionnels sont :
(cid:1) dynamicité, robustesse et maintenabilité : l’application doit permettre le
stockage des
informations et
les différents
traitements utiles pour
le
fonctionnement correct, et assurer une gestion complète des erreurs.
(cid:1) Sécurité : les visiteurs peuvent consulter le site sans modifier son contenu, ni
consulter les informations personnelles des autres.
(cid:1) Fiabilité et rapidité : l’application doit garantir la rapidité et la fiabilité de la
recherche, ainsi qu’une bonne utilisation des ressources.
12 | P a g e
Chapitre 2 : ANALYSE ET SPECIFICATION
(cid:1) Esthétique : il s’agit de développer une interface simple et conviviale à utiliser
pour tous les utilisateurs.
2. Spécification formelle des besoins
Cette activité consiste à identifier les acteurs qui sont en interaction avec
l’application. Dans notre cas, nous avons distingué un seul acteur potentiel qui est le
Visiteur.
2.1. Cas d’utilisation
Le diagramme de cas d’utilisation est un modèle communicationnel. Il permet de
modéliser les besoins, les points de vue d’utilisateur et de définir les limites précises du
système tout en utilisant une notation simple compréhensible par tous.
2.1.1. Les acteurs
Dans cette application nous distinguons un acteur principal qui est Visiteur et dont
les cas d’utilisation sont :
(cid:1) Lancer une recherche de voyages chez plusieurs fournisseurs.
(cid:1) Configurer les paramètres de la recherche.
(cid:1) Modifier les paramètres métiers de la recherche.
(cid:1) Filtrer le résultat de la recherche selon le critère de prix.
(cid:1) Réserver un vol.
2.1.2. Le diagramme des cas d’utilisation
La figure suivante présente le digramme des cas d’utilisation du l’application. Elle
schématise les différents acteurs ainsi que leurs cas d’utilisation associés en utilisant la
méthodologie UML.
13 | P a g e
Chapitre 2 : ANALYSE ET SPECIFICATION
Figure 6. Diagramme des cas d'utilisation
Dans le paragraphe suivant nous éclaircissons les cas d’utilisation à travers quelques
diagrammes de séquence.
2.2. Diagrammes de séquence
Dans cette partie, nous faisons une présentation détaillée des cas d’utilisation de
l’acteur Visiteur ex exposant les diagrammes de séquences principaux. Nous nous
contentons par le cas d’utilisation principal Lancer une recherche.
Figure 7. Diagramme de séquence: cas d'utilisation Lancer une recherche
14 | P a g e
Chapitre 2 : ANALYSE ET SPECIFICATION
Le visiteur demande d’abord de faire une recherche, le moteur lui retourne la page de
configuration des paramètres métiers. Après toute configuration, l’acteur visiteur lance la
recherche. Le moteur lui renvoie le résultat.
2.3. Diagramme d’activité
Le diagramme d’activité représente le comportement interne d’une opération ou d’un
cas d’utilisation en termes d’action, les concepts de base d’activité et de transition déjà
définie sont repris dans le diagram