Académique Documents
Professionnel Documents
Culture Documents
Université de Sousse
CONCEPTION ET DEVELOPPEMENT
D’UNE APPLICATION DE GESTION
D’AUTO ECOLE
Réalisé par :
Yosra Mahjoub
Encadré par :
Equipe Equipe RH
développement Marketing
4.1 Problématique
Malgré que le monde évolue d'une façon très importante et les technologies d'aujourd'hui facilitent
beaucoup le travail.
Mais, la plupart des auto écoles travaillent d'une façon traditionnelle, en particulier l’utilisation des fiches
de renseignement des candidats ainsi que des registres.
Aussi, la planification des séances de formation se fait toujours verbalement, et en cas de changement de
date ou de temps suite par exemple à l’absence du moniteur ou un autre cause , la secrétaire doit contacter
les candidats par téléphone pour signaler le changement .
Et parfois à cause de l’intempérie, le candidats doit contacter le moniteur pour faire confirmer les séances
de conduites .
Et après chaque examen , si le candidat est admis , il doit se déplacer à l’auto-école ou contacter la
secrétaire pour prendre ces papiers .
Alors on peux conclure que l’utilisation des fiches et des papiers pour la gestion de recouvrement dans l’auto
école d’une façon traditionnelle présente beaucoup d’inconvénients tels que :
Perte de temps.
Travail dure.
Le risque de perte des données des messages et des contacts.
Mal organisation.
Mise à jour tardif.
Problème de Planification et agenda.
Problème de Gestion et comptabilités.
4.2 Solution proposée
Après avoir identifié notre problème.
Nous proposons de créer une application simple et efficiente développé par des technologies solides, rapides
et performants(asp.net core , Angular ) qui vont assurer la bonne manipulation des différentes opérations.
Cette solution consiste à concevoir et développer une application web dynamique de gestion destinée aux
bureaux d'auto-école, comme une solution pour ces manques, qui permet :
D’un coté
offrir aux candidats et aux moniteurs et formateurs un moyen pour consulter les informations de
payement et de planning des séances et des examens en ligne sans se déplacer à l’auto-école.
On essaye de faire satisfaire au maximum possible les différents besoins des clients et au même temps
l’administrateur.
La finalité de notre travail est la création d’une application web pour la gestion d’auto-école en assurant les
fonctionnalités suivantes :
Inscription.
Connexion.
Gestion des utilisateurs.
Gestion des permissions.
Gestion des candidats.
Gestion des employés(moniteur et formateur).
Gestion des contrats de travail.
Gestion des rendez vous.
Gestion des voitures.
Gestion des séances.
Gestion des examens .
Gestion de payement.
Gestion de matériel.
Gestion des Assurances.
4.3 Contexte du projet
Ce travail fait partie d'un projet de fin d’études dans le but de l’obtention du diplôme de licence
fondamentale en science Informatique.
Le Projet s’intitule : << Conception et développement d’une plateforme de gestion d’auto-école>>.
4.4.1 L’autoecoleplus.tn
AutoEcolePlus.tn est un outil de gestion pour Auto-école permet une gestion des moniteurs et des
véhicules...
Ce logiciel remplace l'utilisation de l’Excel qui est un peu compliqué et non efficace tel que le jour qu’Ilya une
problème tous les données va être perdu.
Points forts :
Bien organisé.
Offre de nombreuses fonctionnalités.
Points faible :
Manque d’interactions entre le candidat et l’employé.
Application non Conviviale.
Limité et n’offre pas beaucoup des processus de travails.
Elle coûteux.
Des écritures illisibles.
Usage assez complexe.
N’est pas très riche, limité.
4.4.2 Yonix
C’est un logiciel libre de gestion de client spécialisé à l'environnement des auto-écoles.
Points forts :
Offre des fonctionnalités importantes.
Points faible :
L’interface trop chargé.
Mal organisé.
Elle est non gratuite.
Couleur mal choisie.
N’est pas très riche, limité.
Manque d’interactions entre le candidat et l’employé.
Elle ne permet pas la gestion des moniteurs ni des voitures.
Elle se limite à l’ajout ou la modification des candidats sans avoir la possibilité de programmer
leurs séances de code ou conduite.
5. Conclusion
Ce chapitre a servi à mettre le projet dans son cadre. Dans le deuxième chapitre on va présenter l’analyse
et la spécification des besoins de notre projet.
Chapitre2 :
Notre application doit répondre aux différents besoins de chacun de ses acteurs. Nous avons mené
une étude pour détailler les besoins ci-après.
Notre application à réaliser doit permettre à :
L’utilisateur (le visiteur, le candidat)
Avoir un compte pour pouvoir se connecter et se déconnecter facilement.
Gérer son profil et ses informations personnelles tel que son email, mot de passe, photo de
profil.
Consulter les tarifs et les services.
réservez un rendez-vous.
En plus de toutes les actions qu’un utilisateur peut faire, l’administrateur de cette application
peut :
gérer les utilisateurs : afficher la liste des utilisateurs et supprimer.
Gestion des moniteurs.
Gestion des candidats.
gestion examens.
Gestion des voitures.
Gestion des Assurances.
Gestion des rendez-vous.
Gestion des séances.
Gestion des Problèmes et obstacles.
Gestion de matériel.
Consulter les Déclarations.
Après avoir étudié les besoins fonctionnels, nous suivons cette section par l’étude des besoins non
fonctionnels. C’est une étude aussi importante pour permettre aux utilisateurs une meilleure utilisation de
l’application.
Ce sont des facteurs qualitatifs qui peuvent être liés aux contraintes et limites techniques et ergonomiques.
Contraintes techniques :
Contraintes ergonomiques :
Le texte, les images et les vidéos doivent être adaptables et lisibles par l'utilisateur, quel que soit
l'appareil sur lequel l'utilisateur utilise l'application.
Les interfaces de la plateforme doivent respecter la charte graphique réalisée par l'équipe design.
3.3 Diagrammes de cas :
Description de la figure2.7:
Backlog du produit: une liste de tout ce qui va entraîner du travail pour l’équipe. Cette liste
est triée selon les priorités des taches à faire.
Backlog de sprint: liste d’éléments à faire au cours du sprint.
Mêlée quotidienne: réunion quotidienne d’avancement qui dure 15 minutes avec les
membres de l’équipe.
4.2 Répartition des rôles
SCRUM comme cadre de travail englobant les différentes phases de réalisation d'un projet,
définit des rôles, des artefacts et des événements spécifiques.
Ces éléments clés, s'ils sont toujours respectés et rigoureusement appliqués, favorisent l'agilité et
conduiront à l’amélioration continue de l'organisation des équipes et de la qualité des produits.
La première étape dans l'adoption de SCRUM en tant que cadre agile pour la gestion de projet
consiste à définir les trois rôles SCRUM :
Le Product Owner :
Définit spécifiquement les fonctionnalités à implémenter et dans quel ordre pour maximiser la
valeur du produit résultant du travail de l'équipe développement.
Ce rôle est repris par Mr Mohamed Sami khiari.
Le Scrum master:
Assure le bon déroulement des événements SCRUM et aide L'équipe SCRUM à comprendre
pleinement la théorie, les pratiques, les valeurs et les principes par SCRUM. Dans le cas du présent
projet, ce rôle est attribué à Mr Mohamed Sami khiari.
L´équipe de développement :
Les personnes responsables de la conversion les besoins et exigences exprimés par le Product
Owner sous forme d'un ensemble d'incréments potentiellement livrable à la fin de chaque sprint
Dans le cas du présent projet, c’est le rôle de l'équipe de développement formée de Yosra
Mahjoub.
4.3 Backlog Produit Global
Après avoir défini les rôles SCRUM, il a fallu passer au développement du Backlog du produit.
En effet, il est de la responsabilité du Product Owner de préciser et de détailler les fonctionnalités et
exigences attendues du produit final et de les commander afin de prioriser la livraison des incréments
contenant les besoins les plus appréciés par les utilisateurs du produit.
Les éléments constituant le Product Backlog servent à consolider et à affirmer les besoins fonctionnels
représentés par le diagramme de cas d'utilisation général.
3.2 En tant qu’ un employé, je peux ajouter le Gérer les examens et ces
résultat de l’examen d’un candidat. résultats Must
3.3 En tant qu’un candidat, je peux consulter la liste
de mes examens et mes résultats. Must
4.1 En tant qu’un administrateur, je peux consulter
la liste des séances d’un candidat. Must
4.2 En tant qu’un employé, je peux ajouter une Gérer les séances Must
séance de formation (code ou conduite) pour un Must
candidat.
4.3 En tant qu’un candidat, je peux consulter la liste
de mes séances de formation (code ou conduit).
5.1 En tant qu’un administrateur, je peux ajouter un
employé. Must
5.2 En tant qu’un administrateur, je peux supprimer Gérer les employés
et modifier les informations d’un employé. Must
5.3 En tant qu’un administrateur, je peux consulter la
liste des employés. Must
6.2 En tant qu’un administrateur, je peux ajouter une Gérer les permissions
nouvelle permission. Must
12 En tant qu’un administrateur, je peux gérer les Gérer les matériels Could
matériels.
4.4 Diagramme des GANTT :
Le diagramme de Gantt, couramment utilisé en gestion de projet, est l’un des outils les plus efficaces pour
représenter visuellement l’état d’avancement des différentes activités (tâches) qui constituent un projet.
Ce stage a duré 16 semaines. Pour mener à bien ce projet, nous nous étions organisées selon le diagramme
de Gantt de la figure 2.4 où chaque tâche a été répartie sur un intervalle de temps convenable.
5. Conclusion
Ce chapitre nous a permis de détailler l'analyse et la spécification des besoins à travers l'identification des
acteurs, la description des besoins fonctionnels et la gestion de projet avec SCRUM. Le chapitre suivant traite
l'étude conceptuelle de ce projet.
Chapitre 3 :
ETUDE CONCEPTUELLE
1. Introduction
Ce chapitre couvre le concept d'application en détail. Il est divisé en deux parties, la première est dédiée à
la conception technique de la solution, la seconde est dédiée aux choix techniques et à l'environnement de
travail.
2. Conception technique
La conception est une étape fondamentale dans la réalisation d’un projet. Elle consiste à modéliser les
composantes du système à réaliser.
Nous allons utilisé UML comme langage de modélisation .
Cette section est dédiée à la description des modèles de domaine, de l'architecture configuration et de
la mise en œuvre du système.
Dans cette partie, nous introduisons les différents choix techniques et technologiques adoptés pour
l’accomplissement de ce projet.
Tout d’abord, nous commençons par présenter le matériels utilisé et les frameworks de développement de
côté back-end ainsi que front-end. Ensuite, nous définissons le système de gestion de base que nous avons
utilisé.
Finalement, nous présentons les outils de conception et de développement.
Marque Asus
Ram 8GO
Angular
C’est une plate-forme de développement, basée sur TypeScript. En Angular, nous trouvons des fonctionnalités
intégrées pour l’ergonomie et l’animation.
À l’aide de l’Angular, l’envoi et la recèption des requêtes Http et la gestion des fonctionnalités est asynchrone. Dans
notre projet nous avons utilisé la version. La premiére version d’angular était l’angularJS.
Cette version accepte les patrons ModèleVue-Contrôle (MVC) et Modèle-Vue-Vue-Modèle (MVVM); elle est basée sur
le langage javascript. À partir de la 2ème version, Angular a changé pour une architecture basé sur des composants .
En effet, ils se reposent sur le protocole HTTP ce qui rend son utilisation plus facile et professionnelle. Ainsi,
il adopte plusieurs formats de données (HTML, XML, JSON,..) ce qui encourage les utilisateurs à l’utiliser .
3.2.2 Back-end
ASP.NET Core
Asp.net core est une infrastructure multiplateforme, à hautes performances et Open source pour la
création d’applications modernes, basées sur le Cloud et connectées à Internet. Avec ASP.NET Core, vous
pouvez : Créez des applications et services Web, des applications d'Internet des objets (IOT) et des serveurs
principaux mobiles. Utiliser vos outils de développement préférés sur Windows, MacOs et Linux. Déployer
dans le cloud ou localement. Exécutez sur .net Core.
Github
Fournisseur d'hébergement Internet qui utilise Git pour le développement de logiciels et le contrôle de
version à l'aide de Git .
POSTMAN
Postman est une plateforme de collaboration pour le développement d’API. Les utilisateurs de Postman
peuvent collaborer avec leur équipe via des espaces de travail d’équipe, 28 Chapitre4 : Les tests et les
expérimentations en partageant des collections, des environnements, l’historique,etc Au cours de notre
projet,Postman nous permet de tester les API avec des collections de demandes, de surveiller les réponses
des API et de visualiser les résultats des requêtes.
Visual Studio Code est un IDE de développement intégré pour divers langages de programmation. Il est
développé par Microsoft et possède une vaste expérience du développement. Il est également utile pour
exécuter des applications complexes et exécuter des tests. (code.visualstudio.com, 2021)
4. Conclusion
Le troisième chapitre décrit l'étude conceptuelle qui est divisée en deux parties, la première englobe la
conception technique, alors que la seconde est destinée à la description des choix techniques et de
L’environnement de travail.
La description du premier release fera l'objet du chapitre suivant.