Vous êtes sur la page 1sur 71

Contenu

Liste des figures........................................................................................................................................5


Liste des Tables........................................................................................................................................6
Introduction Générale...............................................................................................................................7
Chapitre 1 : Contexte général...................................................................................................................9
1. Introduction :................................................................................................................................9
2. Présentation de la société..............................................................................................................9
3. Le Cadre du projet........................................................................................................................9
4. Problématique :...........................................................................................................................10
5. Etude de l’existant :....................................................................................................................10
Etude du site Tunisietravail.net......................................................................................................10
Etude du site Farojob.net................................................................................................................11
Etude du site Offre-emploi.tn.........................................................................................................12
Etude du site keejob.com................................................................................................................13
6. Solution proposée.......................................................................................................................14
7. Objectifs du projet......................................................................................................................15
8. Méthodologie adoptée................................................................................................................15
La méthodologies Agile..................................................................................................................15
Méthodologie choisie : La méthode SCRUM................................................................................16
9. Conclusion..................................................................................................................................17
Chapitre 2 : Planifications et spécifications des besoins........................................................................18
1. Introduction................................................................................................................................18
2. Etude du besoin..........................................................................................................................18
Identification des acteurs................................................................................................................18
Besoins fonctionnels :.....................................................................................................................19
Besoins non fonctionnels................................................................................................................19
3. Pilotage du projet avec Scrum :..................................................................................................20
Équipe et rôles :..............................................................................................................................20
Les fonctionnalités du backlog.......................................................................................................20
Diagramme des cas d’utilisation Global.........................................................................................23
Planification des sprints..................................................................................................................24
4. Environnement de travail............................................................................................................25
Environnement du développement.................................................................................................25

Page 1 | 71
Environnements logiciels :.............................................................................................................25
5. Architecture générale de l’application........................................................................................26
Architecture physique :.......................................................................................................................26
Architecture logique :.........................................................................................................................26
6. Conclusion..................................................................................................................................27
Chapitre 3 : Sprint 1 :.............................................................................................................................29
1. Introduction................................................................................................................................29
2. Backlog du sprint 1 :...................................................................................................................29
3. Spécification fonctionnelle.........................................................................................................31
Diagramme de cas d’utilisation « s’inscrire»................................................................................31
Description textuelle du cas d’utilisation « s’inscrire »...............................................................32
Diagramme de cas d’utilisation « S’authentifier »........................................................................33
Description textuelle du cas d’utilisation « S’authentifier »..........................................................33
Diagramme de cas d’utilisation « Gérer profil»............................................................................34
Description textuelle du cas d’utilisation « Gérer profil ».............................................................35
4. Conception..................................................................................................................................36
1. Diagrammes des séquences....................................................................................................36
Diagramme de séquence du cas « s’inscrire »................................................................................36
Diagramme de séquence du cas « s’authentifier »..........................................................................37
Diagramme de séquence du cas « gérer profil»..............................................................................38
2. Diagramme de classe..............................................................................................................40
Diagramme de classe de sprint 1....................................................................................................40
5. Réalisation..................................................................................................................................41
1. Interface de choix de compte..................................................................................................41
2. Interface authentification en tant que demandeur...................................................................41
3. Interface authentification en tant que administrateur.............................................................42
........................................................................................................................................................43
4. Interface s’inscrire en tant que demandeur.............................................................................43
5. Interface s’inscrire en tant que recruteur................................................................................46
6. Interface gérer profil...............................................................................................................46
1. Conclusion..................................................................................................................................48
Chapitre 4 : Sprint 2................................................................................................................................49
1. Introduction................................................................................................................................49
2. Backlog du sprint 2 :...................................................................................................................49
3. Spécification fonctionnelle.........................................................................................................51
1. Diagramme de cas d’utilisation «rechercher des offres».......................................................51

Page 2 | 71
Description textuelle du cas d’utilisation « rechercher des offres »..............................................51
2. Diagramme de cas d’utilisation « postuler offre »..............................................................52
Description textuelle du cas d’utilisation « postuler offre »..........................................................52
3. Diagramme de cas d’utilisation « Gérer les offres d’emplois »..........................................53
Description textuelle du cas d’utilisation « Gérer les offres d’emplois ».....................................53
4. Conception..................................................................................................................................54
1. Diagramme de séquence du cas « rechercher des offres d’emploi »....................................54
1. Diagramme de séquence du cas « postuler offre »................................................................55
2. Diagramme de séquence du cas « Gérer les offres d’emplois »...........................................55
3. Diagramme de classe..................................................................................................................57
4. Réalisation..................................................................................................................................58
5. Conclusion..................................................................................................................................61
Chapitre 5 : Sprint 3................................................................................................................................62
1. Introduction................................................................................................................................62
2. Backlog du sprint 3 :...................................................................................................................62
3. Spécification fonctionnelle.........................................................................................................64
1. Diagramme de cas d’utilisation «Gérer les administrateurs»................................................64
2. Description textuelle du cas d’utilisation « Gérer les administrateurs »................................64
3. Diagramme de cas d’utilisation «Gérer les demandeurs».....................................................65
4. Description textuelle du cas d’utilisation « Gérer les demandeurs ».....................................65
5. Diagramme de cas d’utilisation « Gérer les recruteurs ».......................................................66
6. Description textuelle du cas d’utilisation « Gérer les recruteurs»..........................................66
4. Diagramme de classe..................................................................................................................68
5. Réalisation..................................................................................................................................68
6. Conclusion..................................................................................................................................68
CHAPITRE 7 : Sprint 5 : SYSTEME DE RECOMMANDATION......................................................68
Bibliographie..........................................................................................................................................69

Page 3 | 71
Liste des figures
Figure 1: logo société chaaben Technology Group..................................................................................8
Figure 2 : Page d’accueil du site tunisietravail.net...................................................................................9
Figure 3: Page d’accueil du site Farojob.tn............................................................................................10
Figure 4: Page d’accueil du site Offre-emploi.tn...................................................................................11
Figure 5 : Page d’accueil du site Keejob.com........................................................................................12
Figure 6 : Digramme de cas d’utilisation global....................................................................................22
Figure 7: Architecture générale de l’application....................................................................................26
Figure 8: Diagramme de cas d’utilisation « s’inscrire».........................................................................30
Figure 9: Diagramme de cas d’utilisation « S’authentifier ».................................................................31
Tableau 10: Description textuelle du cas d’utilisation « S’authentifier »..............................................31
Figure 11: Diagramme de cas d’utilisation « Gérer profil»...................................................................33
Figure 12:Diagramme de séquence du cas « s’inscrire en tant que demandeur »..................................35
Figure 13: Figure 12:Diagramme de séquence du cas « s’inscrire en tant que recruteur »....................36
Figure 14: Diagramme de séquence du cas « s’authentifier »................................................................37
Figure 15: Diagramme de classe de sprint 1...........................................................................................39

Page 4 | 71
Liste des Tables

Tableau 1 : comparaison entre les applications existantes.....................................................................13


Tableau 2 : Les fonctionnalités du backlog............................................................................................19
Tableau 3 : Planification des sprints.......................................................................................................23
Tableau 4 : Environnement du développement......................................................................................23
Tableau 5 : Environnements logiciels....................................................................................................24
Tableau 6 : Backlog du sprint 1..............................................................................................................27
Tableau 7: Description textuelle du cas d’utilisation « s’inscrire ».....................................................30
Tableau 8: Description textuelle du cas d’utilisation « Gérer profil »...................................................33

Page 5 | 71
Introduction Générale
Le recrutement est une procédure clé pour toutes les entreprises visant à localiser les plus
grands talents pour répondre à leurs exigences. Cependant, le processus de recrutement
peut être difficile et long, en particulier pour les entreprises qui reçoivent un nombre
important de demandes.

Les technologies de l’information sont devenues essentielles dans nos vies. Son objectif
est d’automatiser le traitement des informations et dans le but de stocker, de développer,
d’envoyer, ou de présenter les données. Personne ne peut nier qu’il s’agit d’une révolution
essentielle et inventive qui a considérablement modifié la vie humaine depuis la naissance
des systèmes informatiques. C’est pourquoi les plateformes de recrutement sont devenues
un outil de plus en plus populaire pour rationaliser ce processus.

Dans le cadre de notre projet de fin d'études, nous concentrons sur la conception et le
développement d'une plateforme de recrutement efficace pour aider les entreprises à
trouver et embaucher les meilleurs candidats. Notre objectif est de fournir la meilleure
expérience utilisateur aux demandeurs d'emploi et aux entreprises, tout en offrant une
plateforme de recrutement simple et efficace.

Pour le faire, nous avons subdivisé le travail en six chapitres.

– Le premier chapitre «Contexte général» présente le cadre de notre projet commençant


par la présentation du projet et les objectifs attendus. Ensuite l’étude préalable composée
de la problématique, étude de l’existant et sont critique. Et finissant par la présentation de
solution proposée et la Méthodologie, ainsi que la méthodologies choisie.

– Le deuxième chapitre « Planifications et spécifications des besoins » consiste à


présenter les besoins fonctionnels et non fonctionnels, le diagramme de cas d’utilisation
globale de notre application, pilotage de projet avec Scrum, environnement de travail. Et
finissant par l’architecture de notre application.

- Le troisième chapitre Sprint 1 « Authentification, Gérer les inscriptions et Gérer profil »


contiendra la première itération de notre projet.

–Le quatrième chapitre Sprint 2 «Rechercher des offres, Postuler offre, Gérer les offres
d’emplois» contiendra la partie la plus importante de notre projet.

– Le cinquième chapitre Sprint 3 «Gérer les candidatures, Gérer les recruteurs, Gérer les
administrateurs ».

– Le sixième chapitre Sprint 4 « Gérer les rendez-vous, Gérer liste favoris » est le dernier
chapitre.

Page 6 | 71
Nous terminerons ce rapport par une conclusion générale résumant les différentes étapes
du travail effectué et proposant d’éventuels compléments.

Page 7 | 71
Chapitre 1 : Contexte général
1. Introduction :
Nous avons développé une plateforme de recrutement en ligne qui offre une solution
pratique pour les demandeurs à la recherche d'emploi et pour les employeurs à la
recherche de talents qualifiés. Notre plateforme permet aux employeurs de publier des
offres d'emploi, de passer en revue les profils des candidats. Les candidats peuvent créer
un profil professionnel et postuler à des offres d'emploi

2. Présentation de la société
Description :

Chaaben Technology Group est une entreprise tunisienne spécialisée dans le domaine de
développement informatique, en se basant sur les nouvelles technologies comme le
Machine Learning, le Big Data et la Business Intelligence. Basée à Sousse, Tunis et Sfax,
Info Tik est une société crée par une groupe des jeunes étudiants, le projet a commencé en
2016 et en 2017 la groupe info tik lance une startup sur le nom du Dream Team à Sfax un
an après un autre label sur le nom tik est lancé à Sousse.

Figure 1: logo société chaaben Technology Group

3. Le Cadre du projet
Ce travail s’inscrit dans le cadre d’un stage de fin d’études en vue de l’obtention d’un
diplôme de fin d’études en licence en informatique spécialité sciences informatique et
multimédia. Durant un stage de quatre mois effectués à la société chaaben technology
group, notre mission consiste à concevoir et développer une application web pour le
recrutement.

Page 8 | 71
4. Problématique :

La recherche d’emploi reste toujours une étape très difficile et coûteuse. Pour postuler à
un emploi, on est obligé de se déplacer alors la difficulté de contacter les sociétés dans les
autres villes et quand les nouveaux diplômés ne connaissent pas les sociétés alors c'est
vraiment compliqué. À chaque offre qu’on veut postuler, on est obligé de refaire cette
même coûteuse. Cette dernière est un facteur qui empêche le candidat de postuler pour
une offre d’emploi par un manque de ressources financières. Même problème pour les
entreprises, la difficulté d'annoncer les offres d’emploi et de trouver des candidats de
qualité sans perdre beaucoup de temps.

5. Etude de l’existant :
Dans le cadre de la phase d'analyse du projet, nous avons réalisé une étude de l'existant.
Cette étape critique nous permet de poser les bases des projets, d'éviter les répétitions, de
développer notre esprit critique et de stimuler notre créativité. Cette étape nous a
également permis d'identifier les forces et les faiblesses des applications existantes.
Actuellement, la Tunisie dispose de plusieurs plateformes de recrutement en ligne telles
que tunisietravail, farojob et offre d'emploi.

Etude du site Tunisietravail.net

Figure 2 : Page d’accueil du site tunisietravail.net.

Inconvénients :

Page 9 | 71
 Les pages sont trop surchargées et mal structurées à l’image de l’accueil qui tient
sur une page trop longue ce qui ne donne pas vraiment envie de poursuivre la visite
du site.
 La recherche d'informations est facile mais elle n’est pas complète (il manque
d'autres critères à ajouter comme le type du contrat et l’expérience).
 Nécessite de se déplacer pour avoir le détail de l’offre.
 connecter sans inscription alors pas de séparation entre les espaces candidats et
recruteurs.
 la possibilité de postuler à une offre n’existe pas
 la possibilité de publier les offres sans inscriptions

Avantage :

 la division les types d’offres en trois parties (concours, les plus récentes, notre
sélection)

Etude du site Farojob.net

Figure 3: Page d’accueil du site Farojob.tn

Inconvénients :

 délais de réponse trop longs pour obtenir certains résultats


 les offres publiées pas dans l’accueil de site
 absence d'accéder aux nouveaux offres
 Mauvaise structure pour les offres.

Avantage :

 l’interface simple et claire.


 La recherche d'informations est facile et multicritère

Page 10 | 71
 Le site est facile à utiliser et propose des fonctionnalités de recherche avancées
pour aider les demandeurs d'emploi à trouver des opportunités qui correspondent à
leur profil.
 Il est possible de créer un profil sur Farojob, de postuler à des offres d'emploi en
ligne et de recevoir des alertes d'emploi par e-mail, ce qui facilite le processus de
recherche d'emploi.

Etude du site Offre-emploi.tn

Figure 4: Page d’accueil du site Offre-emploi.tn

Inconvénients :

 Mauvaise structure pour les offres


 Absence de profil d’entreprise avec sa description

Avantage :

 La recherche d'informations est facile et multicritère


 possibilité pour les candidats de créer et déposer ses CV
 la séparation entre les espaces candidats et recruteurs

Page 11 | 71
Etude du site keejob.com

Figure 5 : Page d’accueil du site Keejob.com

Inconvénients :

 Certaines offres d'emploi peuvent être obsolètes ou non vérifiées, ce qui peut
entraîner des déceptions chez les demandeurs d'emploi.
 Le site peut être lent à charger et les utilisateurs peuvent rencontrer des problèmes
techniques.
Avantage :

 une large gamme d'offres d'emploi dans différents secteurs.


 Le site est facile à utiliser
 propose des fonctionnalités de recherche avancées
 Le site offre également des services supplémentaires tels que la rédaction de CV et
des conseils de recherche d'emploi.

Page 12 | 71
En résume
Tableau 1 : comparaison entre les applications existantes

L
es apps
App existant 1 App existant 2 App existant 3 App existant 4
existants
(Tunisietravail) (Farojob) (Offre-emploi) (keejob.com)
Critères de
comparaison

Insuffisant passable bien très bien

Ergonomie

bien Insuffisant passable bien

Qualité des offres

passable bien bien bien

Facilité d'utilisation

Très bien Insuffisant Bien Très bien

Rapidité de chargement

Insuffisant bien bien passable

fonctionnalité de
recherche d'emploi

Insuffisant Insuffisant Très bien bien

qualité des profils des


candidats

Page 13 | 71
6. Solution proposée

La solution souhaitée doit contenir les fonctionnalités existantes qui sont celles présentes
dans la pluparts des sites que nous avons étudiés :

 Pour l'espace candidat : possibilité de s'inscrire sur le site, consulter les offres
d'emploi disponibles et les coordonnées de l'entreprise.
 Pour l'espace recruteur (entreprise) : possibilité de s'inscrire sur le site, ,
consulter les coordonnées des candidats et déposer une offre d'emploi.

 Pour l'espace administrateur : possibilité de consulter et de supprimer les


comptes des recruteurs et des candidats.

7. Objectifs du projet
Nos objectifs à atteindre sont :

 la séparation entre les espaces candidats et recruteurs

 Fournissez une interface utilisateur simple et claire pour améliorer l'expérience


utilisateur sur votre site Web. Ceci est réalisé en utilisant une mise en page
intuitive et une navigation claire.

 Améliorer la qualité des offres d'emploi : inciter les employeurs à rédiger des
offres d'emploi claires et précises, avec des informations sur les qualifications
requises, les responsabilités du poste et les avantages offerts.

 Amélioration de la qualité des profils des candidats: créer des profils de qualité,
avec des informations précises et pertinentes sur leur expérience, leurs
compétences et leur formation.

 La recherche d'emploi est facile et multicritère

 Enrichir notre base de données afin de répondre aux besoins de tous les visiteurs.

8. Méthodologie adoptée
La méthodologie est nécessaire pour la gestion de n’importe quel type du projet, mais, il
faut choisir la plus adoptée pour mieux gérer le projet. Puisque ce dernier est un projet de
niveau évaluatif.

Page 14 | 71
La méthodologies Agile
Il existe plusieurs méthodes de conception, mais les méthodes agiles sont considérées
comme les plus adaptées. Elles permettent en effet d'apporter des modifications facilement
à chaque fois que cela est nécessaire. Les méthodes agiles se caractérisent par une
approche itérative et collaborative, qui prend en compte l'évolution des besoins des
clients. Parmi les méthodes agiles les plus courantes, on peut citer XP, RUP, RAD et
SCRUM.

XP (Extreme Programming) met l'accent sur la revue du code, les tests et la conception
continue. Son objectif principal est de réduire les coûts liés aux changements. (méthodes
agiles)

RUP (Rational Unified Process) est basée sur un cycle de vie qui comprend quatre étapes
à chaque itération : l'inspection, l'élaboration, la construction et la transition. Cette
méthode s'inspire à la fois des méthodes traditionnelles et des méthodes agiles, ce qui en
fait la méthode la moins agile. (méthodes agiles)

RAD (Rapid Application Development) est considéré comme la première méthode agile,
car elle a introduit les notions d'itération et d'incrément. Son cycle de développement
comporte le cadrage, le design, la construction et la finalisation, dans un délai de 90 à 120
jours. (méthodes agiles)

SCRUM est la méthode agile la plus populaire de nos jours. Elle se caractérise par des
itérations courtes, appelées sprints, qui permettent à l'équipe de développement de
contrôler la quantité de travail effectué et d'obtenir rapidement des feedbacks. Scrum
favorise la concentration et le travail d'équipe, tout en limitant les distractions. Enfin, cette
méthode permet une plus grande capacité à intégrer les changements au fur et à mesure
qu'ils se produisent, grâce à une approche de développement simultané plutôt que
séquentiel (méthodes agiles)

Méthodologie choisie : La méthode SCRUM

Pour permettre une approche de développement incrémentale et itérative de l'application,


la méthode choisie pour ce projet est Scrum. Cette méthode implique trois rôles
principaux : le Product Owner, qui incarne la vision du produit à réaliser et travaille en
étroite collaboration avec l'équipe de développement, qui est chargée de transformer les
besoins exprimés en fonctionnalités utilisables. Cette équipe remplit plusieurs rôles, tels

Page 15 | 71
que développeur, architecte logiciel, administrateur de base de données, analyste
fonctionnel, graphiste et ergonome, ainsi que ingénieur système. Enfin, le Scrum Master,
qui doit maîtriser la méthode Scrum, joue un rôle de coach pour le Product Owner et
l'équipe de développement, et s'assure que l'équipe de développement est productive.
(thierry-pigot)

9. Conclusion
Dans le premier chapitre, nous avons non seulement présenté notre projet de manière
générale, mais aussi, nous avons défini les principaux objectifs de l’application et indiqué
les méthodes qui seront utilisées pour accomplir notre projet. Dans le deuxième chapitre,
nous allons spécifier les besoins fonctionnels et non fonctionnels, le pilotage du projet
avec SCRUM. Aussi, nous allons présenter l’architecture adoptée pour notre application.

Page 16 | 71
Chapitre 2 : Planifications et spécifications des besoins
1. Introduction
Dans ce chapitre, nous commencerons par analyser et préciser les besoins en expliquant
les besoins fonctionnels et non fonctionnels de notre application. Ensuite, nous
présenterons le diagramme de cas d’utilisation global en précisant les différents acteurs.
Et enfin, nous détaillerons la gestion du projet avec la méthodologie Scrum en présentant
l’architecture adoptée pour notre application.

2. Etude du besoin
La spécification de besoins constitue la phase de départ de toute application à développer
dans laquelle nous allons énoncé les besoins comportements et les propriétés que le
système doit respecter. Nous pouvons distinguer deux types de besoins : les besoins
fonctionnels qui expriment les fonctionnalités concrètes du site et les besoins non
fonctionnels qui sont des indicateurs de qualité de l’exécution des besoins fonctionnels.

Identification des acteurs

L’application doit pouvoir gérer cinq acteurs :

Administrateur : L'administrateur est responsable de la gestion globale de la plateforme


de recrutement, notamment de la gestion des comptes utilisateurs, et des paramètres du
site.

Super-administrateur : Un super administrateur est un utilisateur qui a des privilèges


d'administration supérieurs à ceux des autres administrateurs

Visiteur : le visiteur est un utilisateur qui navigue sur le site sans être connecté à un
compte.

Recruteur : c’est l'employeur ou l'agence de recrutement qui utilise la plateforme pour


publier des offres d'emploi, rechercher des candidats et communiquer avec les candidats.
Demandeur : c’est le candidat qui utilise la plateforme de recrutement pour rechercher
des offres d'emploi.
Besoins fonctionnels :
Les besoins fonctionnels nous permettent de présenter les actions fournies par le système
et les attentes pour les applications futures. Notre application doit répondre aux exigences
suivantes :

Un super-administrateur pourra:

 S’authentifier avec un email et mot de passe

Page 17 | 71
 Gérer les administrateurs : Consulter, Ajouter, supprimer

Un administrateur pourra :

 S’authentifier avec un email et mot de passe


 Gérer la liste d’attends de recruteur : Accepter ou refuser un recruteur
 Gérer les recruteurs acceptes : Consulter, Supprimer
 Gérer profil
 Gérer les demandeurs : Consulter, Supprimer
 Gérer les offres d’emplois : Consulter, Supprimer
 Consulter les commentaires et les supprimer.

Un visiteur pourra s'inscrire sur la plateforme en tant que recruteur ou demandeur.


Un recruteur pourra :

 S’authentifier avec un email et mot de passe


 Gérer profil
 Gérer les offres: Ajouter, Modifie, Supprimer
 Consulter les commentaires et les supprimer.
 Consulter les candidatures reçues et planifier des rendez-vous
 Consulter les demandeurs inscrits sur la plateforme

Un demandeur pourra :

 S’authentifier avec un email et mot de passe


 Gérer profil.
 Rechercher des offres.
 Consulter les offres et ajouter un commentaire
 Postuler offre.
 Gérer liste favoris : Ajouter ou supprimer les offres
 Consulter les rendez-vous

Besoins non fonctionnels


Les besoins non fonctionnels décrivent toutes les contraintes techniques, ergonomiques et
esthétiques auxquelles est soumis le système pour sa réalisation et pour son bon
fonctionnement.

Et ce qui concerne notre application, nous avons dégagé les besoins non fonctionnels
suivants :

Page 18 | 71
Ergonomie et convivialité : L’application doit fournir une interface simple et élégante
pour l’utilisateur afin de faciliter l’exploitation des services de l’application.
Portabilité, maintenance et évolution : L’application doit être multiplateforme c’est à-
dire fonctionnelle sur n’importe quel système d’exploitation. Le code doit être bien lisible,
compréhensible et modulaire pour garantir la souplesse, l’évolution et la maintenance de
la solution et ainsi répondre aux changements du marché.
Rapidité et robustesse : L’application doit assurer la rapidité de réponse et la fiabilité du
résultat procuré : les candidats doivent être capables de postuler facilement aux offres.
Sécurité : L’application doit tenir compte de confidentialité des données des utilisateurs
(authentification, autorisation, cryptage des données sensibles)

3. Pilotage du projet avec Scrum :


Équipe et rôles :
Scrum master: M. Mohamed assili

Product owner: Chaaben Technology Group

Team Member: Rahma Mansour

Les fonctionnalités du backlog


Pour réaliser un projet Scrum, il faut définir le produit Backlog qui est une liste priorisée
des tâches.

Le tableau 2 résume les différentes fonctions à réaliser :

Tableau 2 : Les fonctionnalités du backlog

ID F° ID User Story Priorité

01 1.1 En tant que visiteur, je peux créer un 2


compte
S’inscrire

02 2.1 En tant qu’administrateur, je peux 2


m’authentifier

2.2 En tant que super-administrateur, je


S’authentifier
peux m’authentifier

2.3 En tant que recruteur, je peux


m’authentifier

Page 19 | 71
2.4 En tant que candidate, je peux
m’authentifier

03 3.1 En tant qu’administrateur, je peux 2


consulter mon profil

3.2 En tant qu’administrateur, je peux


modifier mon profil

3.3 En tant que super-administrateur, je


peux consulter mon profil

Gérer profil 3.4 En tant que super-administrateur, je


peux modifier mon profil

3.5 En tant que recruteur, je peux


consulter mon profil

3.6 En tant que recruteur, je peux


modifier mon profil

3.7 En tant que candidate, je peux


consulter mon profil

3.8 En tant que candidate, je peux


modifier mon profil

04 Rechercher des 4.1 En tant que candidate, je peux 1


offres rechercher des offres

05 Postuler offre 5.1 En tant que candidate, je peux 1


postuler à une offre

06 Gérer les offres 6.1 En tant que recruteur, je peux 1


d’emplois consulter mes offres.

6.2 En tant que recruteur, je peux ajouter


une offre

6.3 En tant que recruteur, je peux


supprimer mon offre

6.4 En tant que recruteur, je peux

Page 20 | 71
modifier mon offre

6.5 En tant que candidate, je peux


consulter les offres

07 Gérer les 7.1 En tant qu’administrateur, je peux 3


administrateurs consulter les administrateurs

7.2 En tant que super-administrateur, je


peux consulter les administrateurs

7.3 En tant que super-administrateur, je


peux ajouter un administrateur

7.4 En tant que super-administrateur, je


peux supprimer un administrateur

08 Gérer les 8.1 En tant que recruteur, je peux 2


candidatures consulter les candidatures

8.2 En tant que recruteur, je peux


consulter les candidatures qui
postulent à mon offre

En tant qu’administrateur, je peux


consulter les candidatures
8.3

8.4 En tant qu’administrateur, je peux


supprimer un candidat

09 Gérer les 9.1 En tant qu’administrateur, je peux 3


recruteurs consulter la liste d’attends de recruteur

9.2 En tant qu’administrateur, je peux


accepter un recruteur

9.3 En tant qu’administrateur, je peux


refuser un recruteur

Page 21 | 71
9.4 En tant qu’administrateur, je peux
consulter les recruteurs accepté

9.5 En tant qu’administrateur, je peux


supprimer un recruteur

10 Gérer les rendez- 10.1 En tant que recruteur, je peux ajouter 4


vous un rendez-vous

10.2 En tant que recruteur, je peux


consulter les rendez-vous

10.3 En tant que recruteur, je peux


supprimer un rendez-vous

10.4 En tant que candidate, je peux


consulter les rendez-vous

11 Gérer les 11.1 En tant que candidat je peux 4


commentaires consulter les commentaires

11.2 En tant que candidate, je peux ajouter


un commentaire

11.3 En tant que recruteur je peux


consulter les commentaires

11.4 En tant que recruteur je peux


supprimer un commentaire

11.5 En tant que administrateur je peux


consulter les commentaires

11.6 En tant que administrateur je peux


supprimer un commentaire

12 Gérer liste 12.1 En tant que candidate, je peux 4


favoris consulter les listes favorites

12.2 En tant que candidate, je peux


ajouter une offre aux listes favorites

Page 22 | 71
12.3 En tant que candidate, je peux
supprimer une offre de listes
favorites

Diagramme des cas d’utilisation Global


Définition :

Le diagramme de cas d’utilisation représente les différentes actions réalisées par le


système. L’ensemble de cas d’utilisation doit décrire exhaustivement les exigences
fonctionnelles du système.

Diagramme du cas d’utilisation

Page 23 | 71
Figure 6 : Digramme de cas d’utilisation global

Planification des sprints


Le projet sera réalisé en quatre sprints comme le montre le tableau ci-contre.

Tableau 3 : Planification des sprints

Authentification

Sprint 1 Gérer les inscriptions

Gérer profil

Rechercher des offres d’emplois

Postuler offre

Page 24 | 71
Sprint 2

Gérer les offres d’emplois

Gérer les candidatures

Sprint 3 Gérer les recruteurs


Gérer les administrateurs

Gérer les commentaires

Sprint 4

Gérer liste favoris

4. Environnement de travail

Environnement du développement

Tableau 4 : Environnement du développement

Définition Logo

Node.js Node.js est un environnement d’exécution


JavaScript multiplateforme open source, créé
par Ryan Dahl. Il permet à l’infrastructure de
créer et d’exécuter du code JavaScript côté
serveur (Node.js)

MongoDB MongoDB est un système de gestion de base


de données NO SQL. Les données sont
modélisées sous forme de document sous un
style JSON (MongoDB)

Page 25 | 71
Environnements logiciels :

Tableau 5 : Environnements logiciels

Définition logo

Visual Studio Visuel studio code est un éditeur de code extensible


Code développé par Microsoft pour Windows, Linux et
macOS. (Visual_Studio_Cod)

Postman Postman est une application utilisée pour les tests


d’API. Il s’agit d’un client HTTP qui teste les
requêtes HTTP, en utilisant une interface utilisateur
graphique, à travers laquelle nous obtenons différents
types de réponses qui doivent ensuite être validées
(Postman)

StarUml StarUML est un logiciel de modélisation

UML open source permet de modéliser le

système et le logiciel (StarUML)

5. Architecture générale de l’application

Architecture physique :
Notre application comprend un serveur node.js, une base de données MongoDB et un ou
plusieurs clients accédant à l'application via un navigateur Web ou une application
mobile. Le serveur Node.js serait configuré pour écouter les requêtes HTTP entrantes, et
les routes seraient définies pour les différentes ressources de l'API. Les clients
communiqueraient avec l'API RESTful en envoyant des requêtes HTTP aux différentes
routes, et le serveur renverrait des réponses au format JSON.

API RESTful : une API RESTful permet aux applications de fournir des services Web aux
clients à l'aide d'opérations HTTP standard.

Architecture logique :
Dans cette partie expliquons le choix de l’architecture logicielle du notre projet qui se
base sur le modèle MVC :

Page 26 | 71
Le modèle MVC est une architecture et une méthode de conception pour le
développement d'applications logicielles qui sépare le modèle de données, l'interface
utilisateur et la logique de contrôle. (techno-science)

Il a trois composants principaux

Modèle : la couche Modèle est responsable de la gestion des données d'application.


Dans le cas de MongoDB, le modèle serait la couche qui interagit avec la base de
données MongoDB et fournit une interface pour interagir avec les données. Cette couche
peut être implémentée à l'aide d'un package Node.js appelé Mongoose.

Vue : La couche de vue est responsable de l'affichage de l'interface utilisateur de


l'application. Dans une application Web, une vue se compose généralement d'une page
HTML et d'un fichier CSS rendus par un navigateur Web client.

Contrôleur : la couche contrôleur est responsable de la gestion des requêtes et des


réponses HTTP, ainsi que de la coordination entre la couche modèle et la couche vue.
Les contrôleurs sont responsables de l'écoute des requêtes HTTP, de la validation des
entrées utilisateur, de l'appel des fonctions de modèle appropriées et de la réponse aux
requêtes avec les vues appropriées.

En résumé

L’architecture d'application utilisant Node.js, l'API RESTful et MongoDB suit le modèle


MVC, où la couche modèle gère les données d'application, la couche vue affiche
l'interface utilisateur, le contrôleur coordonne l'interaction entre le modèle et la vue, et le
L'API RESTful permet à l'application de fournir des services Web aux clients.
MongoDB est utilisé comme base de données pour stocker les données d'application et
Mongoose est utilisé pour interagir avec MongoDB à partir de Node.js

Figure 7: Architecture générale de l’application

Page 27 | 71
6. Conclusion
Durant ce chapitre, nous avons identifié les exigences fonctionnelles et non fonctionnelles
du système, ainsi que les principaux acteurs et leurs rôles. Par la suite, nous avons
identifié le Backlog produit et les planifications des sprints. Nous avons terminé le
chapitre par l’explication des architectures de notre application. Dans le chapitre suivant,
nous commençons le développement du Sprint 1.

Page 28 | 71
Chapitre 3 : Sprint 1
1. Introduction
Après avoir spécifié les différents besoins de l’application et le cas d’utilisation globale
dans le chapitre précédent, ce chapitre nous présenterons la partie d’authentification et
gérer les inscriptions, gérer profil avec ses diagrammes en suivant la méthode sacrum.

2. Backlog du sprint 1 :
Pour bien réaliser les tâches on a effectué le tableau ci-dessous qui représente le Backlog
du sprint 1 :

Tableau 6 : Backlog du sprint 1

ID User stories id Tâche

1 1.1 Créer le modèle recruteur


En tant que visiteur, je
1.2 Créer le modèle demandeur
peux m’inscrire

1.3 Construction du formulaire d’inscrire


tant que recruteur en html pour
l’interface graphique (front end)
1.4 Construction du formulaire d’inscrire
tant que demandeur en html pour
l’interface graphique (front end)
1.5 Faire la liaison entre les formulaires et
les modèle.
1.6 Ajouter des fonctionnalités de validation
des champs pour s'assurer que les
informations fournies sont correctes.
1.7 Tester la fonctionnalité (s’inscrire)

2 En tant 1.1 Créer le modèle administrateur


qu’administrateur, je 1.2 Construction du formulaire
peux m’authentifier
d’authentifier en html pour l’interface
graphique (front end)

Page 29 | 71
1.3 Faire la liaison entre le formulaire et le
modèle.
1.4 Tester la fonctionnalité (s’authentifier)
3 En tant que recruteur, je 1.1 Construction du formulaire
peux m’authentifier d’authentifier tant que recruteur en
html pour l’interface graphique (front
end)
1.2 Faire la liaison entre le formulaire et le
modèle.
1.3 Tester la fonctionnalité (s’authentifier)

4 En tant que candidat, je 1.1 Construction du formulaire


peux m’authentifier d’authentifier tant que demandeur en
html pour l’interface graphique (front
end)
1.2 Faire la liaison entre le formulaire et le
modèle.
1.3 Tester la fonctionnalité (s’authentifier)

5 En tant 5.1 Construction de l’espace profil


qu’administrateur, je administrateur pour l’interface
peux consulter mon
graphique (front end)
profil
5.2 Faire la liaison entre l’espace profil et le
modèle.
5.3 Tester la fonctionnalité (consulter profil)
6 En tant 6.1 Créer des fonctionnalités pour la
qu’administrateur, je modification et l'ajout des informations
peux modifier mon profil
de profil d’administrateur.
6.2 Tester les fonctionnalités (ajouter,
modifier)
7 En tant que recruteur, je 7.1 Construction de l’espace profil
peux consulter mon recruteur pour l’interface graphique
profil
(front end)

Page 30 | 71
7.2 Faire la liaison entre l’espace profil et le
modèle
7.3 Tester la fonctionnalité (consulter profil)
8 En tant que recruteur, je 8.1 Créer des fonctionnalités pour la
peux modifier mon profil modification et l'ajout des informations
de profil recruteur
8.2 Tester les fonctionnalités (ajouter,
modifier)
9 En tant que candidat, je 9.1 Construction de l’espace profil
peux consulter mon candidate pour l’interface graphique
profil
(front end)
9.2 Faire la liaison entre l’espace profil et le
modèle
9.3 Tester la fonctionnalité (consulter profil)
10 En tant que candidat, je 10.1 Créer des fonctionnalités pour la
peux modifier mon profil modification et l'ajout des informations
de profil candidat
10.2 Tester les fonctionnalités (ajouter,
modifier).

3. Spécification fonctionnelle
Dans cette partie, nous présentons le diagramme de cas d’utilisations puis une Description
textuelle pour chacun d’entre eux.

Diagramme de cas d’utilisation « s’inscrire»

Page 31 | 71
Figure 8: Diagramme de cas d’utilisation « s’inscrire»

Description textuelle du cas d’utilisation « s’inscrire »

Tableau 7: Description textuelle du cas d’utilisation « s’inscrire »

Acteur visiteur

Description Ce cas d'utilisation décrit le processus d'inscription pour un


visiteur qui souhaite s'inscrire en tant que candidat ou recruteur
sur la plateforme de recrutement.

Pré-condition Le visiteur doit avoir accès à la page d'inscription de la


plateforme de recrutement.

Scénario principal 1. Le visiteur accède à la page d'inscription.

2. Le visiteur sélectionne le type de compte qu'il souhaite créer :


candidat ou recruteur.

3. Le visiteur saisit ses informations personnelles dans le


formulaire d'inscription (nom, prénom, adresse email, mot de
passe, etc.).

4. Le visiteur valide les informations saisies et soumet le

Page 32 | 71
formulaire d'inscription.

5. La plateforme de recrutement crée un compte pour le visiteur


en tant que candidat ou recruteur selon son choix.

6. Le visiteur est redirigé vers la page de connexion de la


plateforme de recrutement.
Post-condition Le visiteur est inscrit sur la plateforme de recrutement en tant que
candidat ou recruteur et peut se connecter à son compte.

Diagramme de cas d’utilisation « S’authentifier »

Figure 9: Diagramme de cas d’utilisation « S’authentifier »

Description textuelle du cas d’utilisation « S’authentifier »

Tableau 10: Description textuelle du cas d’utilisation « S’authentifier »

Titre S'authentifier

Acteurs Recruteur, Candidat, Administrateur

Page 33 | 71
Description Ce cas d'utilisation décrit le processus d'authentification pour un
recruteur, un candidat ou un administrateur sur la plateforme de
recrutement.

Pré-condition Le recruteur, le candidat ou l'administrateur doit avoir un compte


sur la plateforme de recrutement.

Scénario principal 1. L'utilisateur accède à la page de connexion de la plateforme


de recrutement.

2. L'utilisateur sélectionne le type de compte qu'il souhaite


utiliser pour se connecter (candidat, recruteur).

3. L'utilisateur saisit son adresse email et son mot de passe dans


les champs de connexion.

4. L'utilisateur valide les informations saisies et soumet le


formulaire de connexion.

5. La plateforme de recrutement vérifie les informations saisies


par le recruteur ou le candidat

6. Si les informations sont valides, la plateforme de recrutement


authentifie le recruteur, le candidat et le redirige vers la page
d'accueil de la plateforme.

7. Le recruteur, le candidat peut alors accéder aux


fonctionnalités de la plateforme réservées à son profil.

Post-conditions Le demandeur, le candidat ou l'administrateur est authentifié sur


la plateforme de recrutement et peut accéder aux fonctionnalités
de la plateforme réservées à son profil.

Diagramme de cas d’utilisation « Gérer profil»

Page 34 | 71
Figure 11: Diagramme de cas d’utilisation « Gérer profil»

Description textuelle du cas d’utilisation « Gérer profil »

Tableau 8: Description textuelle du cas d’utilisation « Gérer profil »

Titre Gérer profil

Acteur Recruteur, Candidat, Administrateur

Description Ce cas d'utilisation décrit le processus de gestion de profil pour


un recruteur, un candidat ou un administrateur sur la plateforme
de recrutement.

Pré-conditions Le recruteur, le candidat ou l'administrateur doit être authentifié


sur la plateforme de recrutement.

Scénario principal 1. Le recruteur, le candidat ou l'administrateur accède à la page


de gestion de profil sur la plateforme de recrutement.

2. Le recruteur, le candidat ou l'administrateur peut modifier

Page 35 | 71
les informations de son profil, telles que son nom, son
adresse email, son numéro de téléphone, sa photo de profil,
etc.

3. le candidat peut ajouter ou supprimer des informations


supplémentaires à son profil, telles que ses compétences, ses
expériences professionnelles, etc.

4. Le recruteur, le candidat ou l'administrateur peut enregistrer


les modifications apportées à son profil en soumettant le
formulaire de modification.

5. La plateforme de recrutement enregistre les modifications


apportées au profil du recruteur, du candidat ou de
l'administrateur.

Post-conditions Le profil du recruteur, du candidat ou de l'administrateur est


mis à jour avec les modifications apportées.

4. Conception

Dans cette partie, nous allons réaliser les diagrammes de séquences détaillés et le
diagramme de classe global du premier sprint

1. Diagrammes des séquences

Définition
Le diagramme de séquence est un type de diagramme de modélisation UML (Unified
Modeling Language) qui permet de représenter l'interaction entre les objets d'un système
logiciel.

Diagramme de séquence du cas « s’inscrire »

Diagramme de séquence du cas s’authentifier pour le demandeur et recruteur.

Page 36 | 71
Figure 12:Diagramme de séquence du cas « s’inscrire»

Diagramme de séquence du cas « s’authentifier »

Diagramme de séquence du cas s’authentifier pour différent utilisateur : administrateur, demandeur,


recruteur

Page 37 | 71
Figure 13: Diagramme de séquence du cas « s’authentifier »

Diagramme de séquence du cas « gérer profil»

Diagramme de séquence du cas gérer profil pour différent utilisateur : administrateur, demandeur,
recruteur

Page 38 | 71
Page 39 | 71
2. Diagramme de classe
Définition
Le diagramme de classes est une description statique du système centrée sur le concept
d’association et de classe. Une classe représente un ensemble d’objets qui ont des
propriétés similaires et des comportements communs décrivant en termes d’attributs et
d’opérations. Dans cette section, nous allons présenter le diagramme de classes global du
premier sprint

Diagramme de classe de sprint 1

Figure 14: Diagramme de classe de sprint 1

Page 40 | 71
5. Réalisation
Dans cette partie, nous allons exposer quelques scénarios d’exécution à travers des
captures d’écran.

1. Interface de choix de compte


C'est la première étape de l'interface d'authentification et elle permet aux utilisateurs de sélectionner le
type de compte qu'ils souhaitent utiliser pour se connecter à la plateforme.

2. Interface authentification en tant que demandeur


Sur cette page, le demandeur peut accéder à son espace personnel en remplissant un formulaire
d'authentification avec son adresse e-mail et son mot de passe. Une fois que ces informations ont été
soumises et vérifiées, le demandeur est redirigé vers son espace personnel et la même chose pour
l'authentification en tant que recruteur

Page 41 | 71
3. Interface authentification en tant que administrateur
L’administrateur remplir le formulaire par son adresse e-mail et son mot de passe

Page 42 | 71
4. Interface s’inscrire en tant que demandeur
L'interface d'inscription en tant que demandeur se compose de quatre étapes de formulaire. La
première étape concerne le nom, l'adresse e-mail, le mot de passe et le type de demandeur... La
deuxième étape concerne les informations personnelles. La troisième étape concerne les informations
professionnelles. Enfin, la quatrième étape concerne les diplômes et les formations.

Page 43 | 71
Page 44 | 71
l

Page 45 | 71
5. Interface s’inscrire en tant que recruteur
Pour l'inscription en tant que recruteur, il y a deux étapes. Le premier formulaire concerne le nom du
recruteur et son poste. Le deuxième formulaire concerne les informations de l'entreprise.

Page 46 | 71
6. Interface gérer profil

Cette interface permet aux utilisateurs de maintenir leur profil à jour et de modifier leur mot de passe.

Page 47 | 71
Page 48 | 71
1. Conclusion
Au cours de ce chapitre, nous avons exposé les différentes étapes de conception de notre
application. Nous avons débuté par la création du backlog de sprint, suivi de la phase de
conception, puis de la réalisation. La prochaine partie sera consacrée à la mise en œuvre
de notre deuxième sprint, intitulé "Rechercher des offres, Postuler offre, Gérer les offres
d'emplois".

Page 49 | 71
Chapitre 4 : Sprint 2
1. Introduction
Dans le chapitre précédent, nous avons présenté notre premier sprint « Authentification,
Gérer les inscriptions et Gestion des comptes ». Dans ce chapitre, nous réaliserons le
deuxième sprint «Rechercher des offres, Postuler offre, Gérer les offres d’emplois», ce
sprint présente la partie la plus importante de notre application.

2. Backlog du sprint 2 :
Pour bien réaliser les tâches on a effectué le tableau ci-dessous qui représente le Backlog
du sprint 2 :

ID User stories id Tâche

1 En tant que candidate je 1.1 Créer un modèle de données pour stocker


les informations sur les emplois « modèle
peux rechercher des offre »
offres
1.2 Concevoir une interface pour permettre
et consulter les offres aux utilisateurs de rechercher des emplois

1.3 Concevoir une interface pour afficher les


détails d'une offre d'emploi sélectionnée.

1.4 Implémenter un algorithme de recherche


robuste qui permet aux utilisateurs de
trouver des offres d'emploi pertinentes en
fonction de critères tels que le lieu, le
domaine d'activité.

1.5 Faire la liaison entre les interfaces et le


modèle.
1.6

Tester la fonctionnalité (recherche


multicritère)
2 En tant que candidate, je 2.1 Créer un modèle de données candidature

Page 50 | 71
peux postuler à une offre pour stocker les informations des candidates
qui postule à une offre

2.2 Ajouter une fonctionnalité permettant aux


candidates de postuler à une offre d'emploi
sélectionnée
2.3 Tester la fonctionnalité (postuler)
3 3.1 Concevoir une interface pour permettre aux
recruteurs de créer de nouvelles offres
d'emploi
En tant que recruteur,
je peux ajouter une offre 3.2 Faire la liaison entre l’interface et le modèle
offre
3.3 Tester la fonctionnalité (ajouter une offre)

4 En tant que recruteur, je 4.1 Concevoir une interface pour permettre aux
peux consulter mes offres recruteurs d'afficher les offres existantes
4.2 Faire la liaison entre l’interface et le modèle
offre
5 En tant que recruteur, je 5.1 Implémenter la fonctionnalité de
peux modifier mon offre modification d’offre, y compris la mise à
jour des informations relatives à l’offre dans
la base de données.
5.2 Tester la fonctionnalité (modifier une offre)
6 En tant que recruteur, je 6.1 Mettre en place une fonctionnalité pour
peux supprimer mon supprimer une offre
offre 6.2 Tester la fonctionnalité (supprimer)

En tant que recruteur, je 7.1 Concevoir une interface pour permettre aux
peux consulter les recruteurs d'afficher les candidatures qui
candidatures qui postulent à son offre
postulent à mon offre 7.2 Faire la liaison entre l’interface et le modèle
offre et candidature

Page 51 | 71
7.3 Tester la fonctionnalité (consulter)

3. Spécification fonctionnelle
Dans cette partie, nous présentons le diagramme de cas d’utilisations puis une Description
textuelle pour chacun d’entre eux.

1. Diagramme de cas d’utilisation «rechercher des offres»

Description textuelle du cas d’utilisation « rechercher des offres »

Acteur demandeur

Description Ce cas d'utilisation permet aux demandeurs d'utiliser la


fonctionnalité de recherche pour trouver des opportunités
d'emploi qui correspondent à leurs critères de recherche. Il
peut utiliser des critères tels que la, le domaine d'activité, la
localisation. Après avoir trouvé des offres d'emploi qui
l'intéressent, il peut cliquer sur chaque offre d'emploi pour
en savoir plus détails

Pré-condition Les offres d'emploi doivent être publiées sur la plateforme

Page 52 | 71
Scénario principal
1. le demandeur accède à la plateforme

2. le demandeur utilise la fonctionnalité de recherche


pour trouver des offres d'emploi pertinentes en utilisant
des critères tels que le domaine d'activité, la
localisation.

3. La plateforme affiche une liste d'offres d'emploi


correspondantes.

4. Le demandeur peut cliquer sur chaque offre d'emploi


pour en savoir plus détails.
Post-condition le demandeur peut accéder à des informations détaillées sur
des offres d'emploi.

2. Diagramme de cas d’utilisation « postuler offre »

Description textuelle du cas d’utilisation « postuler offre »

Acteur demandeur

Objectif Le demandeur d'emploi souhaite postuler à une offre d'emploi


qui correspond à ses compétences et à ses intérêts.

Pré-condition L'offre d'emploi doit être publiée sur la plateforme.

Page 53 | 71
Scénario principal 1. Le demandeur d'emploi sélectionne une offre d'emploi
qui l'intéresse.

2. Le demandeur d'emploi consulte les détails de l'offre


d'emploi

3. Le demandeur d'emploi soumet sa candidature en


cliquant sur le bouton "Postuler".

4. Le système enregistre la candidature du demandeur


d'emploi.
Post-condition La candidature du demandeur d'emploi est enregistrée dans le
système.

3. Diagramme de cas d’utilisation « Gérer les offres d’emplois »

Description textuelle du cas d’utilisation « Gérer les offres d’emplois »

Acteur Recruteur

Objectif Le recruteur souhaite gérer les offres d'emploi qu'il a publiées

Page 54 | 71
sur la plateforme, en ajoutant, modifiant ou supprimant des
offres.

Pré-condition Le recruteur doit être inscrit et connecté à la plateforme.

Scénario principal 1. Le recruteur accède à son tableau de bord, où il peut


gérer ses offres d'emploi.

2. Le recruteur peut ajouter une nouvelle offre en cliquant


sur le bouton "Ajouter une offre".

3. Le système affiche un formulaire de création d'offre, où


le recruteur peut saisir les détails de l'offre (titre,
description, exigences, salaire, lieu, etc.).

4. Le recruteur soumet le formulaire en cliquant sur le


bouton "Enregistrer".

5. Le recruteur peut modifier une offre existante en


cliquant sur le bouton "Modifier"

6. Le système affiche un formulaire de modification


d'offre, où le recruteur peut modifier les détails de
l'offre.

7. Le recruteur soumet le formulaire en cliquant sur le


bouton "Enregistrer".

8. Le système met à jour les informations de l'offre sur la


plateforme.

9. Le recruteur peut supprimer une offre existante en


cliquant sur le bouton "Supprimer"

10. Le système demande une confirmation de la suppression


de l'offre.

11. Le recruteur confirme la suppression en cliquant sur le


bouton "Supprimer".

12. Le système supprime l'offre de la plateforme

Page 55 | 71
Post-condition Les offres d'emploi sont ajoutées, modifiées ou supprimées
sur la plateforme en fonction des actions du recruteur.

4. Conception

Dans cette partie, nous allons réaliser les diagrammes de séquences détaillés et le
diagramme de classe global du deuxième sprint

1. Diagramme de séquence du cas « rechercher des offres d’emploi »

1. Diagramme de séquence du cas « postuler offre »

2. Diagramme de séquence du cas « Gérer les offres d’emplois »

Page 56 | 71
Page 57 | 71
3. Diagramme de classe
Diagramme de classe de sprint 2 :

Page 58 | 71
4. Réalisation
Dans cette partie, nous allons exposer quelques scénarios d’exécution à travers
des captures d’écran.

Page 59 | 71
Page 60 | 71
Page 61 | 71
5. Conclusion

Chapitre 5 : Sprint 3

Page 62 | 71
1. Introduction
Dans le chapitre précédent, nous avons présenté notre deuxième sprint «Rechercher des
offres, Postuler offre, Gérer les offres d’emplois». Dans ce chapitre, nous réaliserons le
troisième sprint «Gérer les candidatures, Gérer les recruteurs, Gérer les administrateurs ».

2. Backlog du sprint 3 :
Pour bien réaliser les tâches on a effectué le tableau ci-dessous qui représente le
Backlog du sprint 3 :

ID User stories id Tâche

1 En tant super- 1.1 Créer un modèle administrateur


administrateur, je peux 1.2 Construire l'interface utilisateur pour
consulter, ajouter et permettre l'ajout de nouveaux
administrateurs à la base de données.
supprimer les 1.3 Construire l'interface utilisateur pour
administrateurs afficher la liste des administrateurs
existants et permettre leur suppression

1.4 Faire la liaison entre les interfaces et le


modèle.
1.5

Ajouter des fonctionnalités de recherche


pour permettre aux super-administrateurs
de rechercher des administrateurs
spécifiques dans la base de données.
1.6 Mettre en place une fonctionnalité pour
supprimer les administrateurs

Tester l'ensemble des fonctions « ajouter,


rechercher et supprimer »

Page 63 | 71
En tant 1.1 Créer le modèle demandeur
qu’administrateur, je 1.2 Construire l'interface utilisateur pour
peux consulter, rechercher et afficher la liste des
rechercher et supprimer demandeurs existants et permettre leur
les demandeurs suppression
1.3 Faire la liaison entre les interfaces et le
modèle.
1.4 Ajouter des fonctionnalités de recherche
pour permettre aux administrateurs de
rechercher des demandeurs spécifiques dans
la base de données.
1.5 Mettre en place une fonctionnalité pour
supprimer les demandeurs

1.6 Tester l'ensemble des fonctions « consulter,


rechercher et supprimer »

En tant 1.1 Créer le modèle recruteur


qu’administrateur, je 1.2 Construire l'interface utilisateur pour

peux consulter, rechercher et afficher la liste des recruteurs

rechercher et supprimer existants et permettre leur suppression


1.3 Faire la liaison entre l’interface et le modèle.
les recruteurs
1.4 Ajouter des fonctionnalités de recherche
pour permettre aux administrateurs de
rechercher des recruteurs spécifiques dans
la base de données.
1.5 Mettre en place une fonctionnalité pour
supprimer les recruteurs

1.6 Tester l'ensemble des fonctions « consulter,


rechercher et supprimer »

Page 64 | 71
3. Spécification fonctionnelle
Dans cette partie, nous présentons le diagramme de cas d’utilisations puis une Description
textuelle pour chacun d’entre eux.

1. Diagramme de cas d’utilisation «Gérer les administrateurs»

2. Description textuelle du cas d’utilisation « Gérer les administrateurs »

Acteur super-administrateur

Objectif Le super-administrateur souhaite gérer les administrateurs de la


plateforme, en ajoutant, consultant ou supprimant des comptes
d'administrateurs.

Pré-condition Le super-administrateur doit avoir des privilèges


d'administration pour accéder à la gestion des
administrateurs.

Scénario principal 1. Le super-administrateur accède à son tableau de bord,


où il peut gérer les administrateurs.

2. Le super-administrateur peut ajouter un nouveau


compte d'administrateur en cliquant sur le bouton
"Ajouter un administrateur".

3. Le système affiche un formulaire d'ajout de compte,


où le super-administrateur peut saisir les détails du
compte (nom, prénom, adresse e-mail, mot de passe,
etc.).

4. Le super-administrateur soumet le formulaire en


cliquant sur le bouton "Enregistrer".

5. Le système crée un nouveau compte d'administrateur

Page 65 | 71
et l'affiche dans la liste des comptes d'administrateurs.

6. Le super-administrateur peut consulter les détails d'un


compte d'administrateur existant en cliquant sur le
bouton "Consulter" à côté du compte concerné.

7. Le système affiche les informations du compte


d'administrateur.

8. Le super-administrateur peut supprimer un compte


d'administrateur existant en cliquant sur le bouton
"Supprimer" à côté du compte concerné.

9. Le système demande une confirmation de la


suppression du compte.

10. Le super-administrateur confirme la suppression en


cliquant sur le bouton "Supprimer".

11. Le système supprime le compte d'administrateur de la


plateforme.
Post-condition Les comptes d'administrateurs sont ajoutés, consultés ou
supprimés de la plateforme en fonction des actions du super-
administrateur

3. Diagramme de cas d’utilisation «Gérer les demandeurs»

4. Description textuelle du cas d’utilisation « Gérer les demandeurs »

Acteur Administrateur

Objectif L'administrateur souhaite gérer les demandeurs en consultant


et supprimant leurs comptes.

Page 66 | 71
Pré-condition L'administrateur doit s’authentifier

Scénario principal 1. L'administrateur accède à son tableau de bord, où il


peut gérer les demandeurs d'emploi.

2. L'administrateur peut consulter la liste des


demandeurs d'emploi en cliquant sur le bouton
"Consulter les demandeurs".

3. Le système affiche la liste des demandeurs d'emploi


inscrits sur la plateforme, avec leurs informations de
base (nom, prénom, adresse e-mail, etc.).

4. L'administrateur peut sélectionner un demandeur


d'emploi dans la liste pour en voir les détails en
cliquant sur le bouton "Consulter".

5. Le système affiche les informations détaillées du


demandeur d'emploi (expérience, formation,
compétences, etc.).

6. L'administrateur peut supprimer un compte de


demandeur d'emploi en cliquant sur le bouton
"Supprimer" à côté du compte concerné.

7. Le système demande une confirmation de la


suppression du compte.

8. L'administrateur confirme la suppression en cliquant


sur le bouton "Supprimer".

9. Le système supprime le compte du demandeur


d'emploi de la plateforme.
Post-condition Les comptes de demandeurs d'emploi sont consultés ou
supprimés de la plateforme en fonction des actions de
l'administrateur.

5. Diagramme de cas d’utilisation « Gérer les recruteurs »

Page 67 | 71
6. Description textuelle du cas d’utilisation « Gérer les recruteurs»

Acteur Administrateur

Objectif L'administrateur souhaite gérer les recruteurs de la


plateforme, en consultant et supprimant leurs comptes

Pré-condition L'administrateur doit s’authentifier

Scénario principal
1. L'administrateur accède à son tableau de bord, où il
peut gérer les recruteurs.

2. L'administrateur peut consulter la liste des recruteurs


en cliquant sur le bouton "Consulter les recruteurs".

3. Le système affiche la liste des recruteurs inscrits sur la


plateforme, avec leurs informations de base (nom,
prénom, adresse e-mail, etc.).

4. L'administrateur peut sélectionner un recruteur dans la


liste pour en voir les détails en cliquant sur le bouton
"Consulter".

5. Le système affiche les informations détaillées du


recruteur (entreprise, secteur d'activité, offres d'emploi
publiées, etc.).

6. L'administrateur peut supprimer un compte de


recruteur en cliquant sur le bouton "Supprimer" à côté
du compte concerné.

7. Le système demande une confirmation de la


suppression du compte.

Page 68 | 71
8. L'administrateur confirme la suppression en cliquant
sur le bouton "Supprimer".

9. Le système supprime le compte du recruteur de la


plateforme.
Post-condition Les comptes de recruteurs sont consultés ou supprimés de la
plateforme en fonction des actions de l'administrateur.

4. Diagramme de classe
Diagramme de classe de sprint 3

5. Réalisation
Dans cette partie, nous allons exposer quelques scénarios d’exécution à travers
des captures d’écran.

6. Conclusion

CHAPITRE 7 : Sprint 5 : SYSTEME DE


RECOMMANDATION
1. Introduction
2. L’Intelligence Artificielle (IA)
Fonctionnement de l’Intelligence Artificielle
3. Le Machine Learning
Les types d’algorithmes du Machine Learning
4. Le Big Data
4.1. Le Big Data et l’Intelligence Artificielle
4.2. Le Big data et le Machine Learning
5. Le Filtrage d’Information
5.1. Le Filtrage Basé sur le contenu
5.2. Le Filtrage Collaboratif

Page 69 | 71
5.3. Le Filtrage Hybride
6. Le système de recommandation
7. Environnement du travail
8. Conclusion

Bibliographie
méthodes agiles. (s.d.). Consulté le 3 18, 2023, sur Amji-groupe:
http://www.amj-groupe.com/methodes-agiles-les-principales-methodes-agiles/

MongoDB. (s.d.). Consulté le 4 3, 2023, sur wikipedia: https://fr.wikipedia.org/wiki/MongoDB

Node.js. (s.d.). Consulté le 4 5, 2023, sur wikipedi: https://fr.wikipedia.org/wiki/Node.js

Page 70 | 71
Postman. (s.d.). Consulté le 4 5, 2023, sur wikipedia: https://fr.wikipedia.org/wiki/Postman_(logiciel)

StarUML. (s.d.). Consulté le 4 5, 2023, sur wikipedia: https://fr.wikipedia.org/wiki/StarUML

techno-science. (s.d.). Récupéré sur techno-science:


https://www.techno-science.net/definition/5331.html

thierry-pigot. (s.d.). Consulté le 20 3, 2023, sur thierry-pigot: http://www.thierry-pigot.fr/scrum-en-


moins-de-10-minutes/

Visual_Studio_Cod. (s.d.). Consulté le 4 5, 2023, sur wikipedia:


https://fr.wikipedia.org/wiki/Visual_Studio_Code

Page 71 | 71

Vous aimerez peut-être aussi