Vous êtes sur la page 1sur 28

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université de Sousse

Institut Supérieur d'Informatique et des Technologies de


Communication de Hammam Sousse

Licence Fondamentale en Sciences de l'Informatique


MEMOIRE DE PROJET DE FIN D'ÉTUDES

CONCEPTION ET DEVELOPPEMENT
D’UNE APPLICATION DE GESTION
D’AUTO ECOLE

Réalisé par :

Yosra Mahjoub
Encadré par :

Dr. Hamdi Eltaeif - IsitCom


Mr. Mohamed Sami Khiari - MSK

Année Universitaire 2022-2023


Dédicace

Ce projet de fin d’étude est dédié à


mes chers parents et, qui m’ont
toujours poussé et motivé dans
mes études.
Remerciement
À l'aboutissement de mon projet fin d'études, je tiens à remercier
toutes les personnes qui m’ont permis de rendre mon travail aussi
enrichissant et rentable. Ceci est grâce à leurs conseils, suggestions et
par leur présence.

Tout d’abord, je remercie mon respectueux enseignant Mr Hamdi


Eltaief , mon encadreur à L’Isitcom, pour ses remarques pertinentes, sa
disponibilité et son aide pour la mise en place de ce modeste travail.

Ensuite, j’exprime mes sincères gratitudes à Mr Mohamed sami khiari ,


pour l’expérience enrichissante et pleine d’intérêt qu’il me fait vivre
durant cette période au sein de la startup MSK technologie .

Enfin, mes remerciements vont à tous les enseignants de l’isitcom


pour la qualité de la formation qu'ils nous ont fournie et tous les
membres du jury pour avoir accepté de juger ce modeste travail.
Chapitre 1 :
ETUDE PRÉLIMINAIRE
1. Introduction
L'étude préliminaire vise à approfondir l'analyse des dimensions innovantes d'un projet et l'analyse
des différentes solutions possibles pour répondre aux nouveaux défis et venir au choix d'une bonne solution.
Ce chapitre présente ensuite l'organisation d'accueil dans laquelle ce travail
a été effectué, la description du client, la présentation générale du projet, ensuite décrit la problématique
du projet et la solution proposée.

2. Présentation de L’organisme d’accueil


MSk Technologies est une agence web en Tunisie fondée en 2014 par Mr Mohamed Sami Khiari
ingénieur et formateur en informatique.
Une boite de développement de logiciels spécialisée dans les solutions de gestion des stockes, la cyber
Sécurité, l'intelligence artificielle et promotion de produits et services dans le monde. La plupart de ses
services et ses partenariats localisés dans le moyen orient.

Figure 1 : Logo de Startup

3. Hiérarchie de l’équipe MSK Technologie


Afin de bien organiser le travail au sein de l'entreprise, ses membres sont divisés en plusieurs équipes,
chaque équipe à des responsabilités spécifiques.
Le fondateur : c’est monsieur Mohamed Sami Khiari, Le plus haut dirigeant de l'entreprise, ses principales
responsabilités sont de prendre les décisions importantes, de gérer l'ensemble des opérations et des
ressources de l'entreprise et de servir de principal point de communication entre le conseil d'administration,
et le fonctionnement de l’entreprise, en devenir l’image publique de l’entreprise.
Equipe développement : C’est l'équipe responsable de la création des user stories. Elle estime la complexité
des user stories et développe des produits. Cela inclut le développement du projet, ainsi que les tests et la
configuration. L'équipe de développement détermine la meilleure façon de terminer le travail. Elle est
responsable de la qualité technique et de la sélection technique.
Equipe Marketing : C’est l'équipe qui se concentre sur nouveau contenu sur le site pour attirer le plus de
monde possible plateforme pour valoriser l’image de l’entreprise.
Ressource humaine (RH) : L'équipe RH s'occupe de la préparation et de la rédaction des actes administratifs
relatifs à la gestion du personnel: fiches de paie, contrats de travail, contacts avec les organismes sociaux et
administratifs. Selon la taille de l'entreprise, son rôle peut être plus ou moins large.
Fondateur

Equipe Equipe RH
développement Marketing

Figure 1-2 : Hiérarchie de l'équipe

4. Présentation générale du projet


Nous procédons maintenant à une présentation générale du projet : elle contiendra la problématique que
notre projet va essayer de résoudre ainsi que la solution proposé et ses objectifs, aussi le contexte de ce
projet enfin une étude de l’existant et les applications de gestion de projet qui existent déjà dans le marché
ce qui nous permettra de présenter la bonne solution.

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é

 D’aider la secrétaire à la saisie, l’enregistrement et la diffusion de l’information sur les candidats et


les employés.
 Planifier les séances de formation.
 Bien organiser les dates de visite pour les voitures, et les assurances.
Et d’un autre 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 Etude de l’existant


Cette section a pour objectif d’étudier et de dégager les lacunes du système existant.
Dans ce but on a remarqué que le domaine des auto-écoles n’est pas encore informatisé, ils utilisent l’outil
traditionnel pour la gestion des données et des ressources.
Toutefois, il existe quelques applications de gestion d’auto-école qui facilitent la gestion des clients.

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 :

SPÉCIFICATION DES BESOINS


ET PILOTAGE DU PROJET
1. Introduction
Étant une étape importante après l'étude préliminaire du projet, ce chapitre est consacré à l'analyse
et à la spécification des besoins qui se divise en deux parties. La première est dédiée à l'identification des
différents acteurs de la solution, et la spécification des différents besoins et la deuxième s'adresse au
pilotage du projet avec SCRUM.

2. Identification des acteurs :


Un acteur est une entité externe qui interagit directement avec le système étudié , tel que chaque
application développée cible une population bien déterminée : ce sont ses acteurs.
Notre solution a principalement 3 acteurs :
● Un visiteur : C'est l'acteur qui aura le premier contact avec la plateforme et il pourra naviguer dans ses
différentes pages.
● Un membre (candidat) : Une fois enregistrés ou authentifiés, les visiteurs seront considérés comme
membres et se verront attribués plus de fonctions.
● Un employé (formateur ou moniteur): Une fois enregistrés ou authentifiés, les employés se verront
attribués plus de fonctions.
● Un administrateur : Ses principaux rôles sont la gestion de la base de données . Il a une vue d’ensemble
sur l’utilisation de l’application par les autres utilisateurs ainsi que toutes les informations concernant les
utilisateurs. Il est le seul acteur responsable de l’ Affectation de rôle d’employés et la définition des droits
d’accès pour chaque rôle . Les droits d’accès qui lui sont attribués lui permettent : la création, la
modification, la suppression et la consultation des utilisateurs.

3. Spécification des besoins


3.1 Les besoins fonctionnels

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.

3.2 Les besoins non fonctionnels

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 :

Les besoins non fonctionnels Description


Lors du développement il faut réfléchir avec une logique que chaque bout de
code doit être écrit avec la conviction qu’il pourra être réutilisé dans une autre
La réutilisabilité partie de la plateforme et donc cela permet la centralisation du code qui
facilite grandement la tâche de la maintenance et de la correction des bugs.

Le fait d’introduire des nouvelles fonctionnalités à l'application doit être facile.


L’évolutivité
Notre application doit être simple à utilisateur et ne nécessite pas des
La simplicité connaissances poussées puisqu’elle s’adresse à un public de différent âge
incluant des non informaticiens.

Les contraintes sécuritaires à prendre en compte lors de la réalisation de notre


La sécurité application sont l’attribution des rôles à chaque groupe d’utilisateurs pour
s’assurer que l’accès aux différents espaces est protégé.
Il est obligatoire que le temps de réponse et de chargement des interfaces
La Performance soit rapide.
Quant à la consommation de la bande passante et stockage, elle doit être
faible.

 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 :

Figure 2-1 : Diagramme de cas d'utilisation « visiteur »


 La figure 2-1 présente le diagramme de cas d’utilisation d’un visiteur

Figure 2-2 : Diagramme de cas d'utilisation « candidat »


 La figure 2-1 présente le diagramme de cas d’utilisation d’un candidat
Figure 2-3 : Diagramme de cas d'utilisation « employé »
 La figure 2-3 présente le diagramme de cas d’utilisation d’un employé (formateur ou employé).

Figure 2-4 : Diagramme de cas d'utilisation « Administrateur »


 La figure 2-4 présente le diagramme de cas d’utilisation d’un administrateur
4. Pilotage de projet avec SCRUM
Les besoins spécifiés dans le chapitre précédent ont permis de définir uniquement le périmètre fonctionnel
du projet sans préciser les besoins attendus dès les premières réunions.
Par conséquent, l'adoption d'une approche agile de la gestion des produits est nécessaire pour nous
permettre d'anticiper l'évolution des besoins lors de la phase d'implémentation et maximiser le potentiel de
rétroaction, ce qui conduit à une amélioration continue.
Étant la méthodologie Agile la plus utilisée, SCRUM est le cadre adopté pour gérer la mise en œuvre et la
livraison du produit du projet.
La méthodologie Scrum est l’une des méthodes agiles les plus connues. Il s’agit d’une approche itérative et
incrémentale capable de bien mener des projets compliqués et fournir des solutions à tous les problèmes
rencontrés par l’équipe de travail.
Avec Scrum, le projet est découpé en des itérations nommés « sprints » tel que chacun correspond à un
besoin spécifique et fournit une fonctionnalité bien déterminée. La durée de chaque sprint est courte et
est spécifiée en tenant compte de la durée globale du projet, cependant, elle ne doit pas dépasser la durée
d’un mois.

4.1 Pourquoi SCRUM ?


Les avantages :

 Meilleure collaboration entre les équipes.


 Leadership plus mobilisateur.
 Création rapide de valeur.
 Meilleure gestion du rendement de l’investissement.
 Meilleure gestion globale des risques.
 Possibilité de commencer le projet avec un budget limité.

 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.

Le Backlog du produit comprennent les champs suivants :


• Thème : représente le thème du user story.
• ID : représente l’identifiant de chaque story.
• User Story : représente le besoin fonctionnel désiré par l’utilisateur.
• Importance : définit par la méthode "MoSCow" dans laquelle chaque user story est priorisée
comme suivant :

 Must : la fonctionnalité doit être absolument réalisée.


 Should : la fonctionnalité doit être réalisée s’il est possible.
 Could : la fonctionnalité peut être réalisée.
 Le Tableau 1 nous permet de résumer toutes les fonctionnalités qui doivent être réalisées sous
forme de « User Stories » avec leurs importances.
ID User Story Thème Importance

1.1 En tant qu’un administrateur, je peux


s’authentifier. Must
Authentification
1.2 En tant qu’un candidat, je peux s’authentifier.
Must

1.3 En tant qu’un employé, je peux s’authentifier.


Must

2.1 En tant qu’un administrateur, je peux ajouter un Must


candidat.
2.2 En tant qu’ un administrateur, je peux supprimer Must
et modifier les informations d’un candidat. Gérer les candidats
2.3 En tant qu’ un administrateur, je peux consulter Must
la liste des candidats.
2.4 En tant qu’employé, je peux consulter la liste des Must
candidats.
2.5 En tant qu’ un employé, je peux consulter les Must
informations personnelles d’un candidat.
3.1 En tant qu’ un Administrateur, je peux consulter
le résultat de l’examen d’un candidat. Must

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.1 En tant qu’un administrateur, je peux ajouter les


permissions pour un utilisateur. Must

6.2 En tant qu’un administrateur, je peux ajouter une Gérer les permissions
nouvelle permission. Must

6.3 En tant qu’un administrateur, je peux modifier,


supprimer la permission. Must
7.1 En tant qu’un administrateur, je peux consulter la
liste des rôles. Must

7.2 En tant qu’un administrateur, je peux ajouter, Gérer les rôles


modifier ou supprimer un rôle. Must

7.3 En tant qu’un administrateur, je peux effectuer


un role pour un utilisateur. Must

8.1 En tant qu’un administrateur, je peux consulter la


liste des payements d’un candidat. Must
8.2 En tant qu’un candidat, je peux consulter la liste Gérer les payements
de mes payements. Must
9.1 En tant qu’un candidat, je peux ajouter, modifier
et supprimer une réclamation. Should
Gérer les réclamations
9.2
En tant qu’un administrateur, je peux consulter la Should
liste des permissions.
10.1 En tant qu’un administrateur, je peux ajouter un
nouveau véhicule. Must
10.2 En tant qu’un administrateur, je peux consulter Gérer les véhicules
la liste des véhicules. Must
10.3 En tant qu’un administrateur, je peux consulter
les détails d’un véhicule. Must
11.1 En tant qu’un administrateur, je peux ajouter
modifier et annuler un rendez-vous. Should
Gérer les rendez-vous
11.2 En tant qu’un administrateur ou employé, je peux
consulter la liste des rendez-vous. Should

11.3 En tant qu’un administrateur ou employé, je peux


consulter les détails d’un rendez-vous. Should

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.

2.1 Diagramme de classe


La figure 3-1 montre le diagramme de classe qui représente la structure de la solution. Les classes et
leurs relations y sont regroupées.
Pour des raisons de lisibilité, le diagramme est exprimé dans la page suivante.
Figure 3-1 : Diagramme de classe
3. Environnement de travail

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.

3.1 Environnement matériel


Durant la réalisation du projet nous allons utiliser une machine avec les caractéristiques suivantes :

Marque Asus

Processeur Intel core i5

Disque Dur 244GO

Ram 8GO

Système d’exploitation Windows 10(32bits)

3.2 Environnement logiciel


3.2.1 Front-end

 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 .

Figure 3-2 Logo du framework du développement front-end Angular


 Le web service REST
c’est l’acronyme de représentationnel state transfer et qui a été défini par Roy Fielding en 2000 dans sa
thèse. REST est un style d’architecture logicielle pour la création d’un ensemble de contraintes à utiliser pour
créer des services web basés sur le protocole HTTP. Il est utilisé dans le développement des applications
RESTful orientées ressources. Les services web qui respectent le style d’architecture REST sont doncappelés
services web RESTful. Cette appellation permet la communication entre la partie front-end et la partie
backend à travers l’envoi des requêtes [9]. Ce service web utilise les méthodes http comme :
POST : création et ajout des données
GET : récupération des données
PUT : modification et mise à jour des données
DELETE : suppression des données Les services web de type REST sont plus utilisés que les
services web SOAP.

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.

Figure 3-3 : Logo ASP.NET Core


3.2.3 Gestion de la base des données
 SQL server :
Le choix du système de gestion de la base de données (SGBD) est une étape primordiale pour tout projet
informatique. En effet, les données sont les éléments vitaux des entreprises, c’est pour cette raison qu’il
faut bien choisir le SGBD qui permet de les gérer et les mettre à disposition des utilisateurs. Dans notre
projet nous avons utilisé la base Microsoft SQL Server, aussi appelé «MSSQL».c’est un système de gestion
de base de données relationnelle développé par Microsoft. Ce système est exclusivement disponible sur
l’environnement Windows.

Figure 3-4 : Logo SQL Server


3.2.4 Outils technologie et serveurs
 Git
est un système de contrôle de version distribué gratuit et open source conçu pour gérer des projets avec
rapidité et efficacité.

Figure 3-5 : Logo de Git

 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 .

Figure 3-6 : Logo de GitHub

 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.

Figure 3-7 : Logo de POSTMAN


3.2.5 Editeur de code
 Visual Studio Code

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)

Figure 3-8 : Logo de Visual Studio Code

 Visual Studio 2022 :


Les environnements de développement intégré (EDI) offrent des outils permettant l’édition du code, le
débogage, la génération d’applications. Parmi les EDI les plus 27 Chapitre4 : Les tests et les expérimentations
populaires, on retrouve en bonne position Visual Studio, développé par Microsoft. Visual Studio est un
ensemble d’outils de développement permettant de développer différents types d’applications (Windows,
Web, Android, iOS, Cloud, etc.), en utilisant de nombreux langages de programmation dont C#, VB.NET, C++,
JavaScript et bien plus.

Figure 3-9 : Logo de Visual Studio 2022

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.

Vous aimerez peut-être aussi