Vous êtes sur la page 1sur 6

Introduction 

:
L'objectif de ce rapport de projet est de présenter notre travail sur le développement d'une
application web pour la gestion d'une agence de location de voitures. Nous avons utilisé
Python et Mongo DB pour réaliser ce projet, en répondant aux besoins spécifiques de
l'agence.
Notre objectif principal était de comprendre les problématiques des clients en matière de
location de voitures et de proposer des solutions adaptées. Nous nous sommes également
concentrés sur la compréhension des besoins métiers spécifiques de l'agence. Tout au long
du développement de l'application, nous avons veillé à respecter les contraintes de temps et
avons bénéficié d'une collaboration d'équipe efficace avec une répartition claire des
responsabilités, ce qui a été essentiel pour mener à bien le projet.
L'application que nous avons développée offre les fonctionnalités suivantes :
• Visualisation des voitures disponibles : les managers peuvent consulter les voitures
disponibles à la location.
• Réservation des voitures : les clients peuvent réserver une voiture pour une durée
déterminée.
• Visualisation des réservations : les managers peuvent voir les réservations effectuées.
• Gestion des réservations (Accepter/Refuser) : le manager peut gérer les réservations
en les acceptant ou en les refusant.
• Gestion des voitures : le manager peut ajouter, modifier ou supprimer des voitures.
• Gestion des clients : le manager peut gérer les informations des clients.
• Gestion des comptes Managers : l'administrateur a le privilège de gérer les comptes
des managers, incluant l'ajout, la modification ou la suppression.
L'application fonctionne en demandant au manager de s'authentifier pour accéder à toutes
les fonctionnalités. Il peut visualiser les voitures, effectuer des actions telles que l'ajout, la
modification et la suppression des voitures, et gérer les réservations des clients en les
acceptant ou en les refusant. L'administrateur, une fois authentifié, dispose du privilège de
gérer les comptes des managers et consulter les voitures disponibles.
Ce rapport fournira une description détaillée des fonctionnalités du système, en prenant en
compte les contraintes rencontrées lors de sa réalisation. Nous espérons qu'il sera
suffisamment clair et détaillé pour permettre une bonne compréhension du projet.
Diagrammes de séquence :
La gestion des réservations :

Figure 4

Le processus commence par l'authentification du manager, qui fournit les informations


d'identification nécessaires pour accéder au tableau de bord. Une fois l'authentification
réussie, le manager peut rechercher les voitures en spécifiant la date de disponibilité.

Le système procède ensuite à la recherche des voitures correspondantes dans la base de


données et affiche les résultats au manager. Ce dernier peut visualiser les voitures disponibles
avec leurs détails, tels que le prix, la disponibilité ou d'autres informations pertinentes.

Lorsque client décide de réserver une voiture spécifique, le manager soumet une demande de
réservation au système. Le système vérifie la disponibilité de la voiture et effectue les étapes
nécessaires pour enregistrer la réservation. Si le client est nouveau, le manager peut également
ajouter les informations de client dans le système.

Pour garantir l'exactitude de la réservation, le système effectue une vérification des


informations fournies. Il peut s'agir de vérifier la validité des coordonnées du client, la
disponibilité de la voiture à la période demandée, ou d'autres critères spécifiques.
Une fois la réservation confirmée, le système affiche les détails de la réservation au manager,
comprenant les informations sur la voiture réservée, le client, les dates de prise en charge et
de restitution, ainsi que d'autres instructions pertinentes.

Enfin, une fois que toutes les vérifications sont effectuées avec succès, le système envoie une
confirmation au manager, l'informant que sa réservation a été acceptée et que tous les détails
ont été enregistrés correctement.

La gestion des voitures :

Figure 5

Ce diagramme de séquence décrit les interactions entre le manager et notre système de


location de voitures. Le manager peut effectuer différentes actions telles que l'ajout, la
modification et la suppression des voitures. Lorsqu'il souhaite ajouter une nouvelle voiture, il
envoie une demande au système, qui vérifie les informations fournies. Si les informations sont
valides, le système crée une nouvelle instance de la voiture dans sa base de données et envoie
une confirmation au manager. De même, lorsqu'une modification est demandée, le système
recherche la voiture correspondante et met à jour les informations selon les spécifications
fournies. Enfin, lorsque le manager demande la suppression d'une voiture, le système la
recherche et la supprime de sa base de données, puis envoie une confirmation au manager.

Technologie utilisée :
Python Java
Syntaxe Python a une syntaxe plus simple et lisible, ce Java a une syntaxe plus verbeuse,
qui facilite son apprentissage et l'écriture du nécessitant davantage de code pour
code. accomplir certaines tâches.

Vitesse de La syntaxe concise de Python et ses Java a une structure plus rigide,
développement bibliothèques étendues permettent un nécessitant une configuration et un
développement et un prototypage plus rapides. temps de compilation
supplémentaires

Développement web Python offre des frameworks populaires tels Java propose des frameworks tels
que Django et Flask, qui facilitent le que Spring, ce qui le rend adapté aux
développement web. applications web de niveau
entreprise.

Communauté et Python dispose d'une communauté active et Java bénéficie également d'un fort
bibliothèques étendue, avec une vaste collection de soutien de la communauté et d'une
bibliothèques pour diverses utilisations. large gamme de bibliothèques,
notamment pour le développement
d'entreprise.

Lisibilité Python met l'accent sur la lisibilité, ce qui Java impose des règles de syntaxe
facilite la compréhension et la maintenance du strictes, améliorant ainsi la lisibilité
code. et la maintenabilité du code.

Performances Python est un langage interprété, ce qui peut le Le code Java est compilé en
rendre plus lent par rapport au code compilé bytecode et exécuté par la machine
de Java. virtuelle Java (JVM), ce qui offre de
meilleures performances.

Courbe d'apprentissage Python a une courbe d'apprentissage douce, Java a une courbe d'apprentissage
adaptée aux débutants et au développement plus abrupte en raison de sa syntaxe
rapide. stricte et de ses concepts de
programmation orientée objet.

Intégration Python offre une intégration transparente avec Java possède de solides capacités
d'autres langages et plates-formes. d'intégration, notamment dans
l'écosystème Java

- Sur la base de cette comparaison, Python a été choisi comme langage de programmation
pour le projet de location de voitures en raison de plusieurs avantages clés. Premièrement,
sa simplicité et sa syntaxe lisible facilitent l'apprentissage et l'écriture du code, ce qui est
bénéfique pour les développeurs novices. Deuxièmement, Python offre une rapidité de
développement grâce à sa syntaxe concise et à ses bibliothèques étendues, ce qui permet de
gagner du temps lors de la création des fonctionnalités nécessaires pour le site.
Troisièmement, la communauté active et engagée de Python offre un soutien technique
continu et de nombreuses ressources pédagogiques, ce qui est précieux pour les
développeurs qui souhaitent obtenir de l'aide et partager leurs connaissances. En outre,
Python dispose de frameworks populaires tels que Django et Flask, qui facilitent le
développement web et offrent des fonctionnalités avancées pour la création d'applications
robustes. Enfin, la lisibilité du code Python contribue à sa maintenabilité et à la réduction
des erreurs. Tous ces facteurs combinés font de Python un choix solide pour le
développement du site de location de voitures.

Vous aimerez peut-être aussi