Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Dans le cadre de notre projet de fin d’étude à l’Université Saad Dahlab-Blida 1 et en vue de
l’obtention de la licence académique en ingénierie de Système d'informatique et logiciel, nous avons eu
pour but la conception et réalisation d’un site web de réservation hôtel/billet avion /location voiture.
Mots Clé
-API.
- Diagrammes.
- Site web.
- Implémentation.
- test.
Chapter 1 General Introduction
1.1 Project description
sur les organisations du secteur public et privé. Par ce fait, l'utilisation des systèmes
d'information est devenue très importante et a entraîné l'augmentation des achats &
réservation et différents services à domicile, ainsi les achats en ligne se sont répandus
pouvons dire que les sites agence voyages comme (ladjar travel) en ligne permettent
d'économiser du temps et des efforts, d'un autre côté, elles évitent les problèmes de
un autre aspect à l'utilisation de la technologie dans notre vie, les utilisateurs de notre
site web peuvent accélérer le processus de réservation tell services avec des meilleurs
1.2 Problematic
Navigateur Web : il s'agit simplement d'un "navigateur", c'est une application utilisée
pour accéder aux sites Web et les visualiser. Les navigateurs Web les plus courants
sont Microsoft Edge, Google Chrome, Mozilla Firefox et Apple Safari. La fonction
principale d'un navigateur Web est de rendre le HTML, le code utilisé pour concevoir ou
Internet et World Wide Web : L'internet est un immense réseau d'ordinateurs tous connectés
entre eux. Le World Wide Web (WWW) est une collection de pages web trouvées sur ce réseau
biens ou de services par le biais d'Internet, ainsi que le transfert d'argent et de données pour
l'entreprise, puis accéder au site réservation en ligne (dans notre cas c’est ledjar travel), puis
-booking.
-blabla cars.
La réservation en ligne a brisé le mode de gestion des réservation traditionnelles, tant que vous
avez un ordinateur, vous pouvez faire des réservations et achats en tout lieu et n'import ou, en
Nous avons donc choisi le système suivant pour notre site des réservations en ligne :
Notre application aura deux instances, l'une fonctionnant du côté serveur, et l'autre fonctionnant
Les clients dans ce cas naviguent sur le site web, et recherchent n'importe quel service, et
taper les informations concernant ce service puis clique sur rechercher, le site web permet au
client de se connecter s'il a un compte valide ou d'en créer un, puis achète le service.
1.5 Objectives du site web
-Rendre le client plus confortable. Il pourra effectuer toutes les démarches en utilisant
simplement son ordinateur ou son smartphone.
- Rendre l'administrateur plus confortable en rendant tout gérable depuis son tableau de bord.
De diagrammes (classe), nous parlerons également de la base de données sous forme d’API.
La réalisation de notre projet fera l'objet du troisième chapitre, les outils ainsi
2.2 Development
Afin de mener à bien notre projet, nous avons suivi l'approche agile
Figure1 l'approche agile
Dans la suite de ce rapport, nous détaillerons chaque phase du cycle de vie, en mentionnant les
1-Flexibilité
tout développement d'application dans laquelle nous allons identifier les besoins de notre
application. Nous distinguons les besoins fonctionnels qui présentent les caractéristiques
attendues de notre application et les besoins non fonctionnels pour éviter le développement d'une
application insatisfaisante.
Après une étude détaillée, cette partie est réservée à la description des besoins
fonctionnels, des différents acteurs de l'application. Ces besoins sont regroupés dans les
-Email utilisateur-admin.
ergonomiques et esthétiques auxquelles le système est soumis pour sa réalisation et pour son bon
fonctionnement.
Les principaux besoins non fonctionnels de notre application sont les suivants :
2.4 Méthodologie
Chapter 3 Application Implementation
3.1 Introduction
Maintenant, nous avons fait une meilleure conception, bien adaptée aux besoins de
notre sujet d'étude. Nous avons fait une étude approfondie de notre problème. Il est donc bien
analysé.
Ce chapitre est consacré à la phase de réalisation. C'est ici que nous allons parler de
l'environnement de notre développement logiciel et matériel, des outils utilisés, des langages de
programmation, et du système de base de données utilisé. Ensuite, nous expliquerons la méthode
de notre développement et nous terminerons par des captures d'écran des principales interfaces de
notre application.
Visual Studio Code est un éditeur de code source léger mais puissant qui fonctionne sur votre
bureau et est disponible pour Windows, MacOS et Linux. Il est livré avec un support intégré pour
JavaScript, Typescript et Node.js et possède un riche écosystème d'extensions pour d'autres
langages (tels que C++, C#, Java, Python, PHP, Go) et moteurs d'exécution (tels que .NET et
Unity). [9]
HTML5 est un langage informatique conçu pour permettre la création de sites Web. Ces sites
peuvent ensuite être consultés par toute autre personne connectée à l'Internet, les bases étant
accessibles à la plupart des gens en une seule séance ; il est assez puissant dans ce qu'il permet de
créer. [3]
CSS3 signifie "Cascading Style Sheets" (feuilles de style en cascade), l'accent étant mis sur le
"style". Le langage HTML est utilisé pour structurer un document Web (en définissant des
éléments tels que les titres et les paragraphes). [4]
Bootstrap3.3.7 est un cadre de développement frontal gratuit et open source pour la création de
sites et d'applications Web.
De sites Web et d'applications Web. Le cadre Bootstrap s'appuie sur HTML, CSS et JavaScript
(JS) pour faciliter le développement de sites et d'applications réactifs et axés sur le mobile [7].
JavaScript1.8.5 est un langage de script utilisé pour créer et contrôler le contenu dynamique d'un
site Web, c'est-à-dire tout ce qui bouge, se rafraîchit ou change sur votre écran sans que vous ayez
à recharger manuellement une page Web. [6]
Xampp3.2.4 X signifie Cross-platform, (A) Apache server, (M) Maria DB, (P) PHP et
(P) Perl est un logiciel open source développé par des amis d'Apache. Le progiciel XAMPP
contient des distributions Apache pour le serveur Apache, Maria DB, PHP et Perl. Il s'agit
essentiellement d'un hôte local ou d'un serveur local. Ce serveur local fonctionne sur votre propre
ordinateur de bureau ou portable. [5]
PHP7.2.28 est un langage de script côté serveur. Il est utilisé pour développer des sites Web
statiques ou des sites Web dynamiques ou des applications Web. PHP est l'acronyme de
Hypertext Pre-processor, qui signifiait auparavant Personal Home Pages. [25]
L'API Google est une API JSON de recherche personnalisée qui vous permet de développer des
sites Web et des applications pour récupérer et afficher les résultats de recherche de Google
Custom Search de manière programmatique. Avec cette API, vous pouvez utiliser des requêtes
RESTful pour obtenir des résultats de recherche Web ou de recherche d'images au format JSON.
[17]
Navicat est une suite logicielle graphique de gestion et de développement de bases de données
produits par PremiumSoft CyberTech Ltd. Pour MySQL, MariaDB, Oracle, SQLite, PostgreSQL
et Microsoft SQL Server.[7]
SQL est le langage le plus populaire pour ajouter, accéder et gérer le contenu d'une base de
données. Il est surtout connu pour sa rapidité de traitement, sa fiabilité éprouvée, sa facilité et sa
flexibilité d'utilisation.
MySQL est un élément essentiel de presque toutes les applications PHP open source. [8]
API privées:
L'API n'est utilisable qu'en interne. Cette approche permet de garder un
Contrôle total Sur l’API.
API partenaires:
API publiques:
L'API est accessible à tous. Cette approche autorise les tiers à développer
Des applications qui interagissent avec votre API et peut devenir source
D’innovations.
Comment l’API favorisent-elles l'innovation.
En rendant vos API accessibles à vos partenaires ainsi qu'aux tiers, vous
pouvez :
Intéressant, non ? Mais quel est le rôle des API dans tout ça ?
Une entreprise tierce peut aussi utiliser une API publique pour développer une
application afin que les clients puissent acheter des livres directement auprès
du distributeur, sans passer par la librairie.
Dans ce cas, le distributeur aura ouvert un nouveau canal de revenus.
Une entreprise peut tirer parti du partage de ses API avec certains de ses
partenaires ou avec le monde entier.
En rendant vos technologies publiques, avec une API publique par exemple,
vous encouragez les développeurs à créer un écosystème d'applications
autour de votre API.
Plus les gens utilisent vos technologies, plus ils sont susceptibles de faire
affaire avec vous.
Les idées novatrices peuvent germer n'importe où. Les entreprises doivent se
tenir au courant des changements qui s'opèrent sur leur marché et se préparer
à y faire face.
API distantes.
Ici, « distant » signifie que les ressources manipulées par l'API ne se trouvent
pas sur l'ordinateur qui formule la requête. Le réseau de communication le
plus fréquemment utilisé étant Internet, la plupart des API sont conçues sur la
base des normes Web.
Toutes les API distantes ne sont pas des API Web, mais on peut supposer
que toutes les API Web sont distantes.
Les API Web utilisent en général le protocole HTTP pour leurs messages de
requête et fournissent une définition de la structure des messages de réponse.
Les messages de réponse se présentent la plupart du temps sous la forme
d'un fichier XML ou JSON.
Ces deux formats sont les plus courants, car les données qu'ils contiennent
sont faciles à manipuler pour les autres applications.
SOAP ET RESET.
Pour standardiser l'échange des informations entre les API toujours plus nombreuses, il
a fallu développer un protocole : le « Simple Object Access Protocol », ou SOAP.
Les API conçues d'après le protocole SOAP utilisent le format XML pour leurs
messages et reçoivent des requêtes via HTTP ou SMTP.
SOAP a pour objectif de simplifier l'échange des informations entre les applications qui
s'exécutent dans des environnements différents ou qui ont été écrites dans des
langages différents.
Les API Web qui respectent les contraintes de l'architecture REST sont appelées API
RESTful.
Ces deux éléments diffèrent sur un point fondamental : SOAP est un protocole, alors
que REST est un style d'architecture. Cela signifie qu'il n'existe aucune norme officielle
qui régit les API Web RESTful.
Ces contraintes peuvent sembler difficiles à appliquer, mais dans les faits,
elles le sont moins qu'un protocole. C'est pour cette raison que les API
RESTful sont en train de prendre le pas sur les API SOAP.
SOAP ou REST
REST est un ensemble de recommandations qui permet une mise en œuvre flexible,
tandis que SOAP est un protocole avec des exigences spécifiques comme l'envoi de
messages au format XML.
Les API REST sont plus légères et donc plus adaptées aux concepts récents tels que
l'Internet des objets (IoT), le développement d'applications mobiles et l'informatique
sans serveur.
Les services web SOAP intègrent des spécifications de sécurité et de conformité des
transactions qui répondent aux besoins de nombreuses entreprises, mais qui les
rendent également plus lourds.
De plus, de nombreuses API publiques, telles que l'API Google Maps, suivent les
recommandations REST.
Les deux approches architecturales qui utilisent le plus les API distantes sont
l'architecture orientée services (SOA) et l'architecture de microservices. La SOA est
l'approche la plus ancienne.
Elle visait à l'origine à améliorer les applications monolithiques. Par définition, une
application monolithique fait tout.
Mais certaines fonctions peuvent être fournies par d'autres applications faiblement
couplées via un modèle d'intégration, comme une ESB (Enterprise Service Bus).
Si l'architecture SOA est plus simple qu'une architecture monolithique sous bien des
aspects, elle peut potentiellement provoquer des changements en cascade au sein de
l'environnement si les interactions entre les différents composants ne sont pas
parfaitement comprises.
Par contre, elles poussent la déstructuration de l'architecture classique encore plus loin.
Ils se servent des API RESTful pour communiquer entre eux simplement, sans convertir
leurs données ni recourir à des couches d'intégration supplémentaires.
Chaque service est distinct. Vous pouvez remplacer, améliorer ou supprimer chacun
d'entre eux sans affecter les autres services de l'architecture.
Cette architecture légère vous aide à optimiser les ressources distribuées ou cloud et à
faire évoluer chaque service de façon dynamique.
L'API modern.
Au fil des années, la notion d'« API » a souvent décrit toutes sortes d'interfaces
génériques de connectivité à une application. Cependant, plus récemment, l'API
moderne a acquis certaines caractéristiques qui la rendent extraordinairement précieuse
et utile :
Les sites web sont par nature des éléments très exposés du système
Les menaces les plus connues pesant sur les sites web sont les défigurations et les
dénis de service.
Le site attaqué indisponible pour ses utilisateurs légitimes. Dans les deux cas,
l’impact sur le propriétaire du site est évidemment un déficit d’image et, pour
Le cas d’un site servant de support à une activité lucrative, un manque à gagner.
Il est possible qu’un individu malveillant se serve d’un site web comme une
Par ailleurs, un site peut être utilisé comme relai dans une attaque élaborée
Vers un système tiers ou comme dépôt de contenus illégaux, ces situations étant
susceptibles de mettre l’exploitant légitime du site en difficulté.
Enfin, une attaque sur un site peut aussi viser à tendre un piège aux clients
habituels de ce site, qui sont souvent les employés du propriétaire du site ou de ses
partenaires.
La protection contre ces menaces passe à la fois par des mesures préventives et par
des mécanismes permettant de détecter les tentatives d’attaques.