Rapport de stage d’Immersion en Entreprise
Ce rapport de stage porte sur le développement d’un moteur de recherche de vols sur Internet, un outil essentiel dans le domaine en pleine expansion de l’E-Tourisme.
D'après le document Rapport de stage d’Immersion en Entreprise
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Programming, Web Development, ColdFusion, Software Engineering · PDF · 57 pages · 2007
Afficher l'aperçu du document
Ce rapport de stage porte sur le développement d’un moteur de recherche de vols sur Internet, un outil essentiel dans le domaine en pleine expansion de l’E-Tourisme. Destiné aux étudiants et professionnels en informatique appliquée au web et au commerce électronique, ce travail explique comment concevoir une application web performante, capable de répondre rapidement aux requêtes des utilisateurs en exploitant des technologies modernes comme ColdFusion et le multithreading.
La question
Le projet s’attaque à un problème concret : comment créer un moteur de recherche de vols efficace, capable d’interroger plusieurs fournisseurs en ligne et de présenter les meilleurs tarifs selon des critères précis choisis par l’utilisateur. La problématique principale est d’assurer un temps de réponse rapide malgré la complexité de la recherche multi-fournisseurs, ce qui est crucial pour offrir une expérience utilisateur satisfaisante et compétitive dans le secteur du tourisme en ligne.
Concepts de base
Pour comprendre ce projet, il est nécessaire de maîtriser plusieurs notions clés :
- Moteur de recherche de vols : Un système qui permet à un utilisateur de trouver des billets d’avion disponibles en fonction de critères comme la ville de départ, la destination, les dates, le nombre de passagers, et la classe de voyage. Ces moteurs comparent les offres de multiples fournisseurs pour proposer les meilleurs prix.
- Services web : Programmes informatiques qui facilitent la communication et l’échange de données entre applications hétérogènes sur Internet ou Intranet, sans intervention humaine. Ils permettent d’intégrer des fonctionnalités distantes via des protocoles standards comme HTTP, SOAP, et des langages comme XML.
- Technologies des services web :
- REST : Services exposant des ressources identifiables via des URI, accessibles par HTTP.
- WS-* : Services exécutables à distance utilisant SOAP et WSDL, visant l’interopérabilité entre systèmes divers.
Approche
Le travail s’est déroulé en plusieurs étapes :
- Étude de l’existant : Analyse de sites concurrents comme easyvoyage.com, ebookers.fr et voyager-moins-cher.fr pour comprendre leurs fonctionnalités, leurs forces et faiblesses, notamment en termes de temps de réponse.
- Spécification des besoins : Définition claire des besoins fonctionnels (recherche selon critères, affichage trié par prix, possibilité de réservation) et non fonctionnels (performance, robustesse, maintenabilité).
- Conception : Élaboration d’une architecture 3 tiers (présentation, logique métier, données) et adoption du design pattern MVC (Modèle-Vue-Contrôleur) pour structurer le code et faciliter la maintenance.
- Choix technologiques : Utilisation de ColdFusion pour le développement principal, SQL Server pour la gestion des données, Dreamweaver pour la conception graphique, et JavaScript/Ajax pour l’interactivité.
- Implémentation : Développement de plusieurs méthodes de recherche, d’abord séquentielles puis parallèles, pour tester et comparer leurs performances. L’intégration du multithreading dans ColdFusion a permis d’exécuter des recherches simultanées sur différents fournisseurs afin de réduire le temps de réponse.
- Tests : Réalisation de tests de performance, de charge et de stress avec des outils spécifiques pour mesurer l’efficacité des différentes méthodes et valider la solution retenue.
Résultats
Le projet a permis de développer un moteur de recherche fonctionnel répondant aux critères spécifiés. Les tests ont montré que :
- La recherche séquentielle, bien que fonctionnelle, présente des temps de réponse plus longs, surtout lorsque les fournisseurs sont nombreux ou distants.
- L’utilisation du multithreading pour lancer des recherches en parallèle réduit significativement le temps de réponse, améliorant ainsi la réactivité de l’application.
- L’intégration d’Ajax permet une meilleure expérience utilisateur en évitant le rechargement complet des pages lors des requêtes.
- Parmi les différentes méthodes testées, certaines optimisations sur la gestion des fichiers XML et XSL ont également contribué à améliorer les performances.
Limites et questions ouvertes
Le rapport souligne que malgré les avancées réalisées, certaines limitations subsistent :
- Les normes des services web, notamment dans certains domaines, restent récentes et peuvent poser des problèmes d’interopérabilité ou de performances.
- Les services web, bien que simples et ouverts, souffrent parfois de performances inférieures à d’autres technologies distribuées comme RMI ou CORBA.
- La sécurité peut être compromise par l’utilisation du protocole HTTP, qui peut contourner certains pare-feux.
- Le projet ne traite pas en profondeur les aspects liés à la gestion des erreurs ou à la scalabilité en cas de forte montée en charge.
Glossaire
- Ajax : Technique web pour des échanges asynchrones entre client et serveur.
- ColdFusion : Langage de programmation web utilisé pour développer des applications dynamiques.
- Design Pattern MVC : Modèle architectural séparant la logique métier, la présentation et le contrôle.
- Multithreading : Exécution simultanée de plusieurs threads pour améliorer la performance.
- REST : Architecture de services web basée sur HTTP et URI.
- SOAP : Protocole d’échange de messages XML pour services web.
- Services web : Applications accessibles via Internet permettant l’échange de données entre systèmes hétérogènes.
- WSDL : Langage XML décrivant les services web disponibles et leurs méthodes.
- UDDI : Annuaire distribué pour la publication et la découverte de services web.
Commentaires
Aucun commentaire pour le moment. Posez la première question.