Vous êtes sur la page 1sur 54

Université de Carthage

Institut des Hautes Etudes Commerciales de


Carthage

Rapport de projet de fin d’études

Elaboré par
Siwar Jbeli
Mayssa El Béji

Présenté en vue de l’obtention du diplôme de


Licence Appliquée en Technologies de l’information

Sujet
Conception et développement d’une application web
d’extraction de données

Encadrant professionnel : Hamza Ben Arbia


Encadrant professionnel : Ali Othmani
Encadrant académique : Maroua Laabidi

Réalisé au sein de xTECH Development Services

​ Année Universitaire : 2018-2019


Remerciements
Nous tenons tout d’abord à remercier Dieu le tout puissant, qui nous a donné la force
et la patience d’accomplir ce modeste travail.
Nous remercions les collaborateurs de la société xTECH avec qui nous avons passé
notre stage, plus précisément Mr Haykel Ben Jemaa et nos deux encadrants Mr
Hamza Ben Arbia et Mr Ali Othmani.
Nous remercions également Mme Maroua Laabidi notre encadrante académique de
projet de fin d’étude, pour ses précieux conseils et son orientation ficelée tout au long
de notre travail.
Nous remercions tous les professeurs de l’IHEC de notre formation durant les trois
années d’études pour leur sympathie et leur patience, et toutes les personnes qui ont
contribué de près ou de loin au bon acheminement de cette formation.
Nous remercions finalement les membres du jury pour avoir bien voulu examiner ce
travail.
Dédicace
Je dédie mon travail à ma famille qui m’a doté d’une éducation digne son amour a fait
de moi ce que je suis maintenant, plus particulièrement à
Á ma très chère mère Hamida, mon ange gardien, qui m’a toujours soutenu et
encouragé pendant mes années universitaires l’amour que tu m’as donné été la cause
fondamentale de ma persistance et ma réussite, milles lignes ne pourrait être à la
hauteur de te remercie..
Á mon père Habib, mon épaule solide et ma source de fierté , je le remercie pas assez
pour tous les sacrifices et l’encouragement aussi bien morale que apathique et sa
patience tous ses années..
Á ma soeur : Meherzia et mon frère : Aziz, vous êtes le meilleur appui et soutien que
je puisse avoir dans ma vie…
Spécialement, je veux remercier mon oncle Mohamed et sa femme Yamina, ainsi que
ma chère cousine Rihab pour leur aide et leur contribution dans ma réussite.
Á mon binôme Siwar, notre expérience de stage n’avait pas seulement trace dans
mon cursus académique mais aussi dans ma vie avec la patience, la compréhension
et la motivation que tu m’as fait passer… Enfin, à tous ceux qui me sont chers et à
toute personne qui m’a souhaité la réussite…

Mayssa
Sommaire
Introduction Générale
1 Cadre Générale du projet
1- Introduction
1.1 Présentation de l’organisme d’accueil
1.1.1 Organisation de l’Entreprise
1.1.2 Les services de l’Entreprise
1.1.3 Fiche signalétique
1.2 Présentation du Projet
1.2.1 Contexte de projet
1.2.2 Description de l’existant
1.2.3 Critique de l’existant
1.2.4 Solution proposée
1.2.5 Outils existants sur le marché
1.3 Méthode de développement
1.3.1 Méthode Agile
1.3.2 Méthode adoptée
1.3.3 Méthodologie Scrum
Conclusion

2 Analyse et spécification des besoins


Introduction
2.1 Les rôles Scrum
2.2 Identification des acteurs
2.3 Identification des besoins
2.3.1 Besoins fonctionnels
2.3.2 Besoins non fonctionnels
2.4 Pilotage de projet avec SCRUM
2.4.1 Le Backlog de produit
2.5 Planification des sprints
2.6 Modélisation des besoins fonctionnels
2.7 Prototypage des interfaces de l’application
Conclusion

3 Réalisation du projet
Introduction
3.1 Architecture de la solution
3.1.1 Choix de l’architecture de l'application
3.1.2 Architecture MVC
3.2 Environnements de travail
3.2.1 Environnement matériel
3.2.2 Environnement technique
3.3 Langages et technologies
Conclusion

I. Étude et réalisation du Sprint 1: Extraction des données


1 Analyse
2 Backlog du sprint
3 Spécification fonctionnelle
a-Diagramme de cas d'utilisation du Sprint
b-Description
c-Diagramme de séquence détaillé
4 Conception
a-Diagramme de classe du Sprint 1
5 Réalisation
6 Test et validation
7 Problèmes rencontrés

II. Étude et réalisation du Sprint 2 : Tri des données


1 Analyse
2 Backlog du sprint
3 Spécification fonctionnelle
a-Diagramme de cas d'utilisation du Sprint 2
b-Description
c-Diagramme de séquence détaillé
4 Conception
a-Diagramme de classe du Sprint 2
5 Réalisation
6 Test et validation
7 Problèmes rencontrés

III. Étude et réalisation du Sprint 3 : Stockage des données


1 Analyse
2 Backlog du sprint
3 Spécification fonctionnelle
a-Diagramme de cas d'utilisation du Sprint 3
b-Description
c-Diagramme de séquence détaillé
4 Conception
a-Diagramme de classe du Sprint 3
5 Réalisation
6 Test et validation
7 Problèmes rencontrés

IV.​ Étude et réalisation du Sprint 4 : Exploitation des données


1 Analyse
2 Backlog du sprint
3 Spécification fonctionnelle
a-Diagramme de cas d'utilisation du Sprint 4
b-Description
c-Diagramme de séquence détaillé
4 Conception
a-Diagramme de classe du Sprint 4
5 Réalisation
6 Test et validation
7 Problèmes rencontrés

Conclusion
Conclusion générale
Bibliographie

Table des figures


Figure 1 : Logo xTECH
Figure 2 : Organisation de xTECH
Figure 3 : Propriétaire et clients de xTECH dans le monde
Figure 4 : Processus de recrutement de xTECH
Figure 5 : Profil des candidats “Tounes Ta3mal”
Figure 6 : L’outil “Import io”
Figure 7 : Workflow de xTRACT
Figure 8 :Cycle de vie Scrum
Figure 9 : Diagramme de cas d'utilisation global
Figure 10 :
Figure 11 :
Figure 12 :
Figure 13 :
Figure 14 :
Figure 15 :
Figure 16 : Architecture logicielle
Figure 17 : Architecture MVC
Figure 18 :​ L'espace CVTHÈQUE de JOBI.tn
Figure 19 : Présentation des profils sur JOBI.tn
Figure 20 : Présentation des profils sur GitHub
Figure 21 : Modèle des compétences
Figure 22 : Diagramme de cas d’utilisation “Extraction des profils”
Figure 23 : Diagramme de séquence détaillé “Extraction des profils”
Figure 24 : Diagramme de classe “Extraction des profils”
Figure 25 : Interface d'ajout des critères de recherche
Figure 26 : Interface de la page d'authentification JOBI.tn
Figure 27 : Interface de la chargement des résultats
Figure 25 : Interface de l'affichage des résultats
Figure 26 : Diagramme de cas d’utilisation “Tri des profils”
Figure 27 : Diagramme de séquence détaillé “Tri des profils”
Figure 28 : Diagramme de classe “Tri des profils”
Figure 29 : Interface

Liste des tables


Tableau 1 : Identification de la société
Tableau 2 : Comparaison de notre application et un outil existant
Tableau 3 : Le Backlog de produit du projet
Tableau 4 : Planification des sprints
Tableau 5 : Backlog de sprint 1
Tableau 6 : Description textuelle du cas d’utilisation ​“Extraction des profils”
Tableau 7 :Tests fonctionnels du sprint 1
Tableau 8 : Backlog de sprint 2
Tableau 9 : Description textuelle du cas d’utilisation ​“Tri des profils”
Tableau 10 :Tests fonctionnels du sprint 2

Introduction générale
Introduction générale :
Les entreprises ambitieuses cherchent constamment un avantage
concurrentiel et le cherche souvent sur un nouveau marché, un produit
innovant ou une nouvelle stratégie, mais les meilleures d'entre elles n'oublient
jamais de regarder aussi vers l’intérieur, à leur propre talent.
Les grands talents sont une source puissante et constante de force dans les
affaires.
Amplifiée par l’évolution des besoins en compétences à l’heure de la
transformation digitale, la pénurie de talents n’a jamais été aussi forte. Trouver
un développeur est devenu un véritable défi devant l’explosion de la demande
et de l’offre.
Comment s’y retrouver? Ou se rendre pour trouver une perle rare?
Une situation qui impose aux chefs d’entreprise de remettre en question leur
stratégie d’acquisition de talents.
En plein essor pour les entreprises qui cherchent des talents, “l'Outbound
Recruiting” ou la chasse de têtes est une technique de Ressources Humaines
utilisée dans le recrutement. Cette technique consiste à rechercher des
candidats potentiels qualifiés pour un poste, puis à les contacter
individuellement.
Une approche "Data-Driven"​1 ​excelle à ce niveau, l’explosion du big data nous
permet un accès à toutes les informations sur un potentiel candidat : ses
expériences, ses compétences, ses recommandations, etc. ​Autant d’usages
qui pourront être rendus possibles grâce aux données, dans le présent
contexte c’est trouver du talent plus rapidement et plus efficacement.

Le présent travail s’inscrit dans le cadre de la réalisation d’un projet de fin


d’étude des étudiants en Licence appliquée en technologies de l’information
de l'institut des hautes études commerciales ​de Carthage. Il est réalisé au sein
de l’équipe de la société xTECH dans le département informatique (IT,
Information Technology)​.
Le présent rapport sera composé comme suit :
Le premier chapitre « Cadre général du projet » est un chapitre introductif
dans lequel nous effectuons une brève description de la société. Il comportera
la présentation de l’organisme d’accueil, le contexte du projet , une étude de
l’existant et les outils existants sur le marché accompagné d’une proposition
de la solution. Ensuite, nous exposons les méthodologies et formalismes
adoptés.
dans Le second chapitre, l’attention sera portée sur « l’analyse et spécification
des besoins» ou on vas introduire les besoins fonctionnels et techniques du
système. Ensuite, on vas détailler la conception de notre système par la
représentation des différents diagrammes choisis.
Le troisième et dernier chapitre porte sur la phase de « Réalisation », où on va
présenter les concepts de base et outils utilisés , c’est à dire l’environnement
matériel et logiciel de notre travail, le processus de réalisation de nos sprints
accompagné des capture-écran pour quelques interfaces de l’application.
Nous clôturons, finalement, ce rapport par une conclusion générale dans
laquelle nous évaluerons les résultats atteints et nous exposerons les
perspectives du présent projet.

CHP 1- Cadre Général du Projet


Présentation du projet
Introduction
L'idée d'un projet vient généralement d'un besoin exprimé par la société. Dans
ce chapitre, nous allons mettre le projet dans son contexte et nous allons
indiquer les différents besoins qui ont déclenché sa mise en place. Nous
allons présenter tout d'abord l'organisme d'accueil.
Nous présenterons ensuite le cadre général du projet et nous décrirons son
objectif. Enfin, nous nous intéresserons à l'aspect organisationnel en
spécifiant la méthodologie de gestion de projet adoptée durant le stage.

1.1- Présentation de l’organisme d’accueil :


xTECH en bref :

Figure 1 : Logo xTECH


xTECH est une société technologique de pointe fondée en 2016 et basée
entre Berlin et Tunis, développant des applications web et des solutions cloud,
offrant une architecture web personnalisée qui correspond parfaitement aux
besoins de l’entreprise cliente.
Elle travaille avec des sociétés internationales comme “Universal Music” et
“Cambridge University”. Elle leur offre la possibilité de se concentrer sur leur
entreprise tout en excellant dans ses tâches, de fournir un développement
logiciel exceptionnel.
Elle lie les développeurs talentueux avec des clients innovants afin de créer
des solutions de haute qualité en utilisant des principes de développement
web agiles.

Organisation de l’entreprise :
L’Entreprise se compose de deux départements principaux représentés par la
figure 1.2
Département IT​ : Géré par le CTO, il est responsable de conception,
développement, test et validation des applications.
Département Business ​: Géré par le CEO, il est responsable du marketing,
relations publiques, Talent management et comptabilité.
Figure 2 : Organisation de xTECH

​Identification de la société :

Raison sociale : « xTECH »

Date de création : 2016

Forme juridique : SARL

Adresse Web : http://www.xtech.guru/

Secteur d’activité : Service

​Tableau 1 : Identification de la société


Figure 3 : Propriétaire et Clients de xTECH dans le monde

Les services de xTECH :


xTECH travaille avec des clients de toutes les industries. Elle crée des
applications Web avec les mêmes du commerce électronique, de la gestion
des parcs de véhicules, de la cybersanté, des services financiers et bien
d’autres encore.

1.2- Présentation du Projet


Contexte de projet :
Dans le cadre de l’amélioration de l’efficacité du recrutement et pour faire face
au pénurie des talents en technologies de l’information et le manque des
ressources humaines compétents xTECH a commencé à adopter une
stratégie de chasse de tête en identifiant les profils qui ont des certaines
compétences exigés par la société puis à les contacter pour les inciter à
postuler pour eux. Dans le but d’optimiser et rendre plus efficace cette
stratégie ils nous ont attribué la mission de concevoir et développer une
application web qui permet d’extraire les données des candidats potentiels
visés.

Description de l’existant
Cette section est destinée pour la description du processus actuel effectué
pour pouvoir dégager les points faibles du système.

a- Le processus traditionnel de recrutement:


Le processus de recrutement générale dans xTECH se présente dans le figure
ci-dessous :

Figure 4 : Processus de recrutement de xTECH

b- L’approche de “l’Outbound Recruitment” ou le chasse des têtes :

Après avoir adopté l’approche de chasse de tête, le talent management a


expérimenté sur la plateforme portail d’emplois tunisienne TOUNES TA3MAL,
en possédant un compte sur cette plateforme l’Entreprise aura accès à une
talent pool de tous les candidats inscrit et souhaitant trouver un emploi, le
Talent manager a procédé alors de trier les profils en spécifiant les
compétences exigés par xTECH puis il a collecté les données manuellement
dans des fichiers CSV pour les remettre ensuite dans un outil qui gère les
campagnes d'emailing appelé “MailChimp”.
Figure 5 : Profil des candidats " Tounes ta3mal"

Critique de l’existant:
le processus de recrutement traditionnelle n’est pas pertinent, il engendre une
perte de temps et d’argent considérable pour plusieur raisons, parmi
lesquelles on peut citer :

● Absence d’un talent Pipeline ​: Q


​ uand un poste est ouvert, il faut

avoir du talent à portée de main, c’est là qu’un pipeline de talents se


crée. Bâtir un réservoir de talents et favoriser les relations avec les
talents, même lorsque on n’embauche pas, est essentiel pour pourvoir
les postes avec les meilleurs talents.

● les Délais :​ Les projets importants ont des délais à respecter, et le


recrutement est tout aussi important. Sans échéance et calendrier
stricts, On peut être à la recherche sans fin du candidat idéal.

● Trop de candidats à interviewer : ​Le processus d'entrevue est de


plus en plus long. Limiter le nombre de candidats interviewé peut
réduire considérablement le temps alloué., c’est pour cela qu’il faut
bien identifier les qualifications dont on a besoin avant d’examiner les
candidatures.

Après avoir adopté la technique de chasse de tête, La procédure de


l’Entreprise de trouver des profils adéquats ,les attirer et communiquer avec
eux présente plusieurs limites :
● L’extraction des données manuellement d'où une perte de temps
considérable à cause des tâches répétitives.
● Les profils sont affichés aléatoirement
● Mauvaise gestion des données.
● Gestion manuelle des campagnes de mailing qui engendre une perte de et qui
n’apporte pas beaucoup d’engagement.

Solution proposée:
Pour optimiser le processus de recrutement et attirer d'avantages des talents,
on a proposé de mettre en place une application qui va permettre de trouver
les meilleurs profils selon les compétences exigées.
Le but principal de cette application en premier lieu est de permettre à
l’utilisateur qui est le “Talent Manager” d’extraire les données des profils
adéquats aux critères choisis au préalable pour un poste donné. Sachant que
les sources auprès desquelles on va extraire les profils sont indiqués lors de
l’implémentation de l'application. un filtrage des données s’applique également
lors de l’extraction, où on va extraire seulement les données ​que nous n'avons
pas déjà.
En deuxième lieu, l’application donne la possibilité de trier les profils selon un
critère donné tel que (Année d’expérience). elle facilite aussi le stockage en
permettant d’exporter tout les données vers un Google Sheet.
Pour nous permettre enfin à exploiter ces données des candidats d’une
manière automatique. En effet, pour communiquer avec eux , on a opté
pour automatiser l’utilisation de l’outil d'emailing “MailChimp”. Cet outil qui était
utilisé avant d’une manière traditionnelle (manuellement).

1.3- Comparaison avec un outil existant.


a- import io :
Après une étude de benchmark on a trouvé l’outil import.io qui rassemble le
plus à notre application. C'est un outil qui permet d’extraire de gros volumes
de données pour les entreprises ​avec des frais.
Le tableau ci dessous est un tableau comparatif entre un outil existant “Import
io” et notre application xTRACT :

L’outil Import io Notre outil xTRACT

- Extraction de toutes les données - Extraction sélective selon des


disponibles sans critères de recherche. critères de recherche choisis par
l’utilisateur.
- Extraction des données sans donner la - Possibilité de trier les données
possibilité de les trier. extraites selon des critères de
préférences définis à l’avance.
- Possibilité d’extraction des données via - Sources choisis et définis au
n’importe quel source de web. préalable.

Tableau 2 : Comparaison de notre application et un outil existant

Figure 6 : L'outil "Import io"


On a opté à développer notre propre outil d’extraction avec des sources
spécifiques que nous avons choisi après une étude sur plusieurs plateformes
de portail d’emploi. Notre application est gratuite qui permet l'extraction des
meilleurs profils adéquats aux exigences des postes. Elle donne la possibilité
à l’utilisateur de sélectionner les critères de recherche et d’ajouter touts les
compétences exigés avant de faire l’extraction. La plateforme est paramétrée
pour filtrer les données. C’est à dire, elle n’extrait que les nouveaux profils
inscrits qui ne se trouvent pas dans la base des données. Enfin , elle permet
de stocker les profils trouvés dans une base des données pour pouvoir les
exploiter.

1.3- Méthode de développement:


La finalisation du projet dans les délais de livraison est le souci majeur de
chaque équipe de développement d'un logiciel. L'un des problèmes les plus
fréquemment affrontés lors de la construction du logiciel est la mauvaise
spécification et le changement brusque des besoins. Cela peut influencer non
seulement l'équipe de développement en créant un environnement de stress,
mais aussi le temps consacré pour la réalisation du projet et donc des délais
de livraison dépassées. An d'éviter ces situations critiques, nous adoptons la
méthodologie agile pour la gestion de notre projet.

Méthode Agile
Les problématiques précédemment mentionnées ont poussé les informaticiens
à réinventer les méthodes de gestion de projet et de conception en
introduisant ce qu'on appelle les méthodes agiles. c'est une approche
incrémentale et itérative, menée dans un esprit collaboratif, avec juste ce qu'il
faut de formalisme. Elle peut générer un produit de bonne qualité tout en
prenant en compte l'évolution des besoins des clients. En suivant cette
approche, le logiciel est conçu dans son ensemble et peut être construit étape
par étape.

Méthode adoptée :
Parmi les méthodes agiles, nous citons Scrum que nous avons choisi pour les
raisons suivantes :
- Entièrement développée et testée pour de courtes itérations.
- Simplicité des processus.
- Augmentation de la productivité.
• Elle permet d'adapter le logiciel crée suivant l'évolution du projet.

WORKFLOW :
Description:

Figure 7 : Workflow de xTRACT

Conclusion
Tout au long de ce chapitre, nous avons présenté l'organisme d'accueil de
xTECH et ses services. Par ailleurs, nous avons pu dégager le contexte
général du projet, Ainsi que la différence entre notre solution et les outils
existants. Enfin, nous avons présenté le choix de la méthodologie de
développement. Le chapitre suivant sera consacré à l’ Analyse et spécification
des besoin.

CHP 2: Analyse et spécification des besoin


Introduction
Ce chapitre présente l'étude des besoins qui constitue une phase d'analyse
du projet. Nous allons présenter tout d'abord, l'équipe Scrum de ce projet
ainsi que les acteurs principaux de l'application. Puis, nous allons identifier
les besoins fonctionnels et non fonctionnels de l'application. Ensuite, nous
allons présenter le backlog de produit et la planification des sprints. Enfin,
nous allons clôturer le chapitre par la modélisation du diagramme de cas
d'utilisation global du projet ainsi que les prototypes des interfaces de notre
application .

2.1 Les rôles Scrum


L'équipe Scrum est constituée d'un propriétaire de produit, de l'équipe de
développement et d'un Scrum Master. Le modèle d'équipe Scrum est conçu
pour optimiser la flexibilité, la créativité et la productivité.
Nous allons tout d'abord tenter de cerner notre équipe Scrum :
- Product Owner (PO) : Hamza BEN ARBIA, son rôle est d'assurer la
présentation des caractéristiques et des fonctionnalités du produit à
développer et l’approbation du produit à livrer.
- Scrum Master (SM) : Ali Othmani, qui assure globalement la
supervision de l'avancement du projet et des activités de l'équipe. Il
assure également l'organisation des réunions et la bonne application de
la méthode AGILE.
- L'équipe de développement : Composée de Mayssa EL BEJI et Siwar
JBELI. Elle comporte une ou plusieurs personnes qui se chargent de la
réalisation des histoires utilisateurs et l’élaboration des sprints.
Figure 8 : Cycle de vie Scrum

La vie d'un projet Scrum est rythmée par un ensemble de réunions


clairement définies et strictement limitées dans le temps.
- Planification du Sprint : Réunion où l'équipe de développement
sélectionne les éléments prioritaires du « Product Backlog ».
C’est une liste ordonnancée des exigences fonctionnelles et non
fonctionnelles du projet et que l’équipe pense pouvoir la réaliser au
cours du sprint en accord avec Hamza Ben Arbia le «Product Owner ».

- Revue de Sprint : Réunion qui a lieu à la fin du sprint, où l'équipe de


développement présente les fonctionnalités terminées au cours du
sprint et recueille les feedbacks du « Product Owner » et l’utilisateur
final de l’application. C’est aussi le moment d'anticiper les prochains
sprints et d'ajuster au besoin leurs planification.

- Rétrospective de Sprint : Elle se fait après la revue de sprint. C’est


l'occasion d'améliorer la productivité, qualité, efficacité et les conditions
de travail à la lueur du "vécu" sur le sprint écoulé (principe
d'amélioration continue).
- Mêlée quotidienne : Il s'agit d'une réunion de synchronisation de
l'équipe de développement appelée aussi "stand up meeting" , qui se
fait debout en 15 minutes maximum. Au cours de laquelle chacun
répond à 3 questions : «Qu'est-ce que j'ai terminé depuis la dernière
mêlée ? Qu'est-ce que j'aurai terminé d'ici la prochaine mêlée ? Quels
obstacles me retardent ? ».

2.2 Identification des acteurs


Un acteur est une personne ou un autre système informatique qui attend un
ou plusieurs services offerts par l'application. Il interagit avec le système par
envoi ou réception des messages.
Par conséquent, nous identifions comme acteur :
- Talent Manager : L’acteur principal qui utilise l’application. Cette
personne peut définir les critères de recherche qui sont les
compétences exigés et faire l’extraction des données. Comme il peut
exporter ces données et les stocker dans un Sheet.

- Développeur : Celui qui est responsable des différents paramétrages de


l'application et qui va indiquer lors de la création de la de l’application
les sources auprès desquelles on va extraire les profils.

2.3 Identification des besoins


L'identification des besoins consiste à traduire les objectifs du projet en un
ensemble de fonctionnalités ciblées par l'outil à réaliser. Suite à l'étude faite
avec l'équipe de xTECH, nous avons dégagé l'ensemble des exigences que
notre application doit satisfaire. Ces exigences sont divisées en besoins
fonctionnels et besoins non fonctionnels.
L’application doit satisfaire les besoins fonctionnels traités par le système et
les besoins non fonctionnels qui contribuent à une meilleure qualité de la
solution obtenue.
- Besoins fonctionnels :
L'objectif principal de l'application est :
- Extraire automatiquement les profils qui répondent aux critères définis
et donc aux exigences des postes.
- Trier les données des profils selon un critère définie à l’avance.
- Transférer les données trouvées dans une base de données
“Google-Sheet” ,et auprès de laquelle on importe les données pour
envoyer des emails automatiques par l’outil d’e-mailing “Mailchimp”.

- Besoins non fonctionnels :


Ce sont les exigences qui ne concernent pas spécifiquement le comportement
du système mais identifient plutôt ses contraintes internes et externes.
Les principaux besoins non fonctionnels de notre application se résument
comme suit :
- L’ergonomie des interfaces : Notre application offre une interface simple
à utiliser pour tous types d’utilisateurs. On peut facilement choisir nos
critères de recherche et en un simple clique extraire toutes les données
ou les exporter.
- La sécurité : L’application garantie à l’utilisateur l’intégrité et la
confidentialité de ses données. Tout ça , en exigeant l’authentification
avant d’exécuter toute opération.
- La maintenance : Le code est clair et bien commenté pour permettre
d'éventuelles évolutions, améliorations ou corrections.

2.4 Pilotage du projet avec SCRUM


Après l’identification des besoins fonctionnels, nous devons les découper en
users stories ou histoires utilisateurs , et les classifier en tenons compte de
deux facteurs principaux qui sont la priorité et la complexité.
- La complexité : Elle sert à estimer l’effort nécessaire à une équipe pour
implémenter une fonctionnalité. Trois éléments doivent être pris en compte
pour l’estimation : l’effort pour le développement, la complexité et le risque.
- La priorité : Le « Product Owner » classifie les users stories dans le «
backlog de produit » par ordre de priorité selon leur importance pour le bon
déroulement du projet.

- Backlog produit :
Le « backlog du produit » constitue l’artefact le plus important de Scrum.
C’est l’ensemble de caractéristiques fonctionnelles et fondamentales pour le
produit souhaité , appelées des User stories ou fonctionnalités.

Le tableau suivant résume le backlog de produit de notre projet :

ID Thème Fonctionnalité (User Story) Priorité Complexit


é

1 Extraction des En tant que talent manager, je


profils. veux extraire des profils Must 13
automatiquement auprès des sites
données.

2 Filtrer les données En tant que talent manager, je


importées. veux filtrer les données extraites, Must 8
pour éviter la duplication.

3 Visualiser les En tant que Talent Manager, je


données extraites. veux récupérer la liste de tous les Should 3
profils adéquats.

4 Stocker les profils. En tant que talent manager, je


veux exporter les données Must 10
extraites et les stocker dans un
Sheet.

5 Exploitation des En tant que talent manager, je Should 5


données. veux exploiter les données par la
mise en place d’une campagne
d’e-mailing.

6 Recevoir des En tant que talent manager, je Could 7


notifications des veux recevoir des notifications
nouveaux profils. quand il y a des nouveaux profils
adéquats.

7 Trier les données En tant que talent manager, je Could 4


extraites . veux que les profils soient trier
selon un critère donnée.

Tableau 3 : Le backlog de produit du projet

2.5 Planification des sprints


Les « User stories » précédemment définis dans le « Backlog du produit »
sont triés par ordre de priorité. Le but étant d'implémenter en premier ce qui a
le plus de valeur. Le travail sera planifié selon des sprints que nous avons
définis et chacun dure environ une ou deux semaines. Après une réunion avec
l'équipe, on a identifié quatre sprints.

Dans ce tableau , nous présentons la planification des sprints :


- Sprint 0 a commencé du 4/02 au 28/02 pour les formations et l’installation du
socle technique.

Sprint Nom du Sprint Période

Sprint 1 Extraction des profils des sites sources. 4/3 - /3


Sprint 2 Tri des données

Sprint 3 Stockage des données

Sprint 4 Exploitation des données 22/5 - 30/5

Tableau 4 : Planification des sprints

Cette planification est préliminaire, les Backlogs de sprints seront définis au fur
et à mesure à la fin de chaque sprint et ceci dépendra de la capacité de
l'équipe par lesquelles on entend la rapidité de l'équipe dans la finalisation des
tâches.

2.5 Modélisation des besoins fonctionnels


- Diagramme de cas d'utilisation global :
La figure ci-dessous décrit les différentes fonctionnalités de chaque acteur.

Figure 9 : Diagramme de cas d'utilisation global


Prototypage des interfaces de l’application :
Dans le cadre d’un projet informatique, la création de maquettes peut apporter
divers avantages. D’abord, dans le cas d’une prestation de service, ça permet
de montrer au client une vision de la future application. Ensuite, la mise au
point de l’interface peut se faire en collaboration avec le client, ce qui donne la
certitude de répondre à ses attentes.
Nous présentons ci-dessous quelques maquettes prévisionnelles des
interfaces à réaliser.
Ceci est l’aperçu global de l’application, après l’authentification l’utilisateur
procède à choisir les critères de recherche des profils dans la bar de
recherche à droite .

● Prototypage de l'interface d'accueil de l’application :

Conclusion
Ce chapitre nous a permis de bien délimiter le projet et d'avoir une vision plus
claire du sujet. Nous avons décrit l’équipe , les acteurs ,les besoins et le
Backlog produit. Par la suite, il nous a permis de planifier et organiser le temps
consacré à la réalisation du projet en identifiant les sprints. Puis, nous avons
décrit le cas d'utilisation global , ainsi que les prototypes des interfaces de
notre application.
Dans le chapitre suivant, nous allons entamer la phase de la réalisation du
projet.

CHP 3 Réalisation de projet


Introduction
Nous consacrons ce chapitre à la réalisation du projet et la mise en place de
l'architecture ainsi que l'environnement de travail matériel et logiciel vont être
expliqué par la suite. Ensuite, nous exposerons la réalisation des sprints
réparties chacun en cinq modules. Afin de mieux comprendre le système à
développer, une démarche de modélisation structurée s’impose. Nous avons
choisi d’utiliser la méthodologie UML pour décrire les différents aspects de
notre système, ce qui permettra de faciliter et structurer le développement.

3.2

Etude et réalisation du Sprint 1 : Extraire des profils


1-Analyse :
Le but de ce sprint est de​ rechercher et extraire un ou plusieurs utilisateurs en
fonction du/des critère(s) spécifiés , et d’avoir la liste de tous les profils
adéquats dans un tableau. Le Talent Manager peut effectuer un filtre global
sur tous les profils scrappés.

Sourcing :
L’identification des sources des données permettant de répondre aux besoins
de l’entreprise est un défi. ​Le Talent Manager de xTECH a fait recours à
différentes plateformes et portail d’emploi. Après avoir étudié ces plateformes,
nous avons choisi le site portail d’emploi tunisien JOBI.tn et la plateforme
internationale GitHub comme sources d’extraction où nous allons trouver les
meilleures profils et les professionnels dans le domaine monde IT.

JOBI.tn​ : C’est une plateforme de recrutement en ligne tunisienne fondée en


2016, son talent pool est riche en compétences dans les technologies de
l’information et présente des données diversifiés.
En possédant un compte entreprise sur cette plateforme l’utilisateur aura
accès à tous les utilisateurs souhaitant trouver un emploi à travers l’espace
CVTHÈQUE.
Les données sont par contre encryptés, il faut avoir un crédit de points
achetés pour les décrypter.

Figure 18 : L’espace CVTHEQUE de JOBI.tn

Les profils dans notre premier source JOBI.tn se présente comme suit :

Figure 19 : Présentation des profils sur JOBI.tn

GitHub : Notre deuxième source ​est un service web d'hébergement et de


gestion de développement de logiciels, utilisant le logiciel de gestion de
versions Git.
Le site ​assure un contrôle d'accès et des fonctionnalités destinées à la
collaboration comme (​la possibilité de suivre des personnes ou des projets, ​le
suivi des bugs, les demandes de fonctionnalités et un wiki pour chaque projet).
Nous avons choisi ce site car il est riche des profils intéressants dans le
domaine de technologies de l’information. En avril 2016, GitHub a annoncé
avoir dépassé les “14 millions d'utilisateurs” et plus de “35 millions de dépôts
de projets” classé comme le plus grand hébergeur de code source au monde.

Figure 20 : Présentation des profils sur GitHub

On a présenté la structure des données à extraire et leur signification dans le


modèle de compétence ci-dessous :

Figure 21 : Modèle des compétences


2- Backlog du sprint :
Ci-dessous, le tableau du backlog de sprint 1 : Extraction des profils

ID User Story Tâches Estimation Priorité


(​Fonctionnalité)

1 Définir les critère -​Ajouter la barre dans laquelle on 10 1


de recherche va spécifier les critères de
recherche des profils.
-Sélectionner un/des critères
parmis les critères suggérés.
-Ajouter d’autres critères de
recherches

2 Récupérer les - Ajouter un bouton pour extraire les 7 1


résultats des données des profils de JOBI.tn et
profils scrappés un autre pour Github.
-Authentification à JOBI.tn avant de
pouvoir faire l'extraction.
- Afficher les résultats scrappés de
JOBI.tn et de Github , chacun dans
un tableau à part.
- Ajouter un bouton pour switcher
d’un tableau à l’autre.

3 Filtrer les -Extraire la date de création des 5 2


données profils
scrappées -Comparer les dates de création
des profils scrappés (extraction que
lorsque la date de création > date
des profils existants).
Tableau 5 : Backlog sprint 1

3. Spécification fonctionnelle
a. Diagramme de cas d’utilisation Sprint 1 :
La figure ci-dessous illustre le raffinement du cas d'utilisation “Extraire des
profils”.
Figure 22 : Diagramme de cas d'utilisation "Extraction des profils”

b. Description

Ce tableau illustre la description textuelle du cas d'utilisation Extraction des


profils.

Titre Extraire des profils

Résumé Chercher des profils à partir des sites de recrutement selon des
critères pour un poste donné.

Acteur Talent Manager

Pré-condition 1-L’application est lancée avec succès et les critères sont définis.
2-Connexion à JOBI.tn.
3-Acheter des points dans le site JOBI.tn.

Post-condition L'opération choisie de l’extraction a été exécutée avec succès.

Scénario Nominal 1. L’utilisateur accède à la page d’accueil de l’application.


2. L’utilisateur spécifie les compétences exigés pour un profil.
3. L’utilisateur clique sur le bouton ‘Chercher’ de JOBI.tn et/ou
GitHub.
3.a Il faut s’authentifier pour pouvoir extraire des données de Jobi.
4. Le système affiche la liste de tous les profils correspondant aux
critères choisis.
5. l’utilisateur peut trier les profils trouvés selon l’un des éléments
de tableau.
MException 1-L’utilisateur ne spécifie aucun critère de recherche.
3-1 Le système affiche un message d’erreur ”aucun critère de
recherche trouvé”.
3-2-Reprise de l’étape 2 du scénario nominal.
2-L’utilisateur a saisi un login ou mot de passe erronées lors de
l'authentification.
2-1 Le système affiche un message d’erreur "Votre login ou mot
de passe sont erronées" .
2-2-Reprise de l’étape 3 du scénario nominal.

Le tableau 6 : Description textuelle du cas d'utilisation ​Extraction des profils​.

c. Diagramme de séquence système

Figure 23 : Diagramme de séquence "E​xtraction des profils”

4. Conception
A- Diagramme de classe de sprint 1
Figure 24 : Diagramme de classe" Extraction des profils”

5. Réalisation
On va maintenant présenter le travail réalisé dans notre premier sprint :
Comme illustré dans la figure ci-dessous, l’utilisateur sélectionne un ou
plusieurs critères de recherche, les ajouter et puis il clique sur le bouton «
Rechercher ».

Figure 25 : Définir les critères de recherche

La deuxième figure illustre le pop-up de chargement qui s’affiche pour charger


les données des profils après la spécification des critères.
Après avoir cliqué sur le bouton « Rechercher », les résultats de la recherche
s’affichent dans le tableau :
On va montrer maintenant les résultats de la recherche par les différents
critères :
Cette figure illustre les résultats de recherche :

Figure 26 : Résultat de recherche des profils

6. Test et validation
A la fin de chaque sprint, nous effectuons des tests unitaires pour s’assurer du
bon fonctionnement du cas d’utilisation. Pour cela, une comparaison est faite
pour comparer les comportements attendu et des résultats obtenus.
Avant la fin de chaque Sprint nous avons testé les fonctionnalités du module.
Ensuite, nous avons validé toutes les fonctionnalités avec le Product Owner.

Pour ce fait, nous avons élaboré dans le tableau un ensemble de cas de


scénario de tests fonctionnels relatifs au sprint 1.

Cas de test Démarche Comportement attendu Résultat

Définir les - Suggérer des critères -Spécifier des critères Conforme


critères de de recherche par de recherche soit par
recherche défaut. choisir: parmis les
-Ajouter la barre dans suggestions ou en
laquelle on ajoute des ajoutant des nouveaux
nouveaux critères. critères dans la barre de
-Créer le bouton recherche.
“Ajouter”.
Définir le -Indiquer les sites -Extraire tous les profils Conforme
bouton sources dans le code adéquats aux critères
Chercher de développement. définis.
-Ajouter un bouton
“Chercher” .

Filtrage des -Définir la date de -Extraire que les Conforme


données création des profils données des profils qui
scrappées. comme un critère de ne se trouvent pas déjà
filtrage. dans la BDD.

Tableau 7 : Tests fonctionnels du sprint 1

Après avoir vérifié le bon fonctionnement du code et des fonctionnalités, le


premier livrable a été testé par le Product Owner. Ainsi, il nous a transmis la
liste des améliorations, des fonctionnalités à ajouter et des bugs à signaler.

7. Problèmes rencontrés
Au cours de la réalisation de ce sprint nous avons rencontré quelques
problèmes, à savoir :
-La structure des deux sites source auprès desquelles on fait l’extraction n’est
pas la même. Ainsi, les données disponibles pour un site, n’ont pas
disponibles pour l’autre.
-Difficulté de trier les profils, vu l'absence d’un critère commun entre les deux
sites qui permet de classifier les résultats d’une façon pertinente.

Etude et réalisation du Sprint 2 : Tri et classement


des profils
1-Analyse :
Le but de ce deuxième sprint est de​ trier les profils trouvés p​our permettre à
l’utilisateur d’identifier facilement les meilleurs talents.
Une fois que la recherche à été effectuée, le Talent Manager a la possibilité
d’afficher les profils classés selon un critère de préférence ​prédéfini pour
chaque site. En effet, les deux sites sources n’ont pas la même structure ni les
mêmes données disponibles. Donc, nous avons choisi un critère de tri pour
chacun des sites. ​ Après l'étude effectué, on a trouvé que le critère le plus
pertinent pour le site JOBI est le nombre d’années d'expérience et le “nombre
de contribution” pour le deuxième source github.

2-Backlog du sprint :
Ci-dessous, le tableau du backlog de sprint 2 : Tri des profils

ID User Tâches Estimation Priorité


Story(Fonctionnalité)

1 trier les profils de -Ajouter une commande qui


Jobi permet de classer les profils
selon les années
d'expérience.

2 trier les profils de -Ajouter une commande qui


Github permet de classer les profils
selon le nombre de
contributions.

Tableau 8 : Backlog sprint 2

3. Spécification fonctionnelle
a. Diagramme de cas d’utilisation Sprint 2 :
La figure suivante illustre le raffinement du cas d'utilisation “Tri des profils”.
Figure 26 : Diagramme de cas d'utilisation “tri des profils”

b-Description
Ce tableau illustre la description textuelle du cas d’utilisation “Tri des profils”

Titre Tri des profils

Résumé Classer les profils extraits selon un critère de préférence pour


identifier les meilleurs talent.

Acteur Talent Manager

Pré-condition Les profils sont scrappés des deux sites et afficher dans deux
tableaux différents.

Post-condition Le système affiche la liste des profils classés dans le tableau


selon le critère de préférence choisi.

Scénario 1-Le Talent manager choisit le critère de tri des profils


Nominal 2-Le système affiche les profils classés selon le critère choisi
dans un tableau.

Scénario 1-L’utilisateur n’a pas fait l’extraction des profils.


Exception 1-1 Reprise de l’étape 3 du scénario nominal 1.

Tableau 9: Description textuelle de cas d'utilisation “tri des profils”

c. Diagramme de séquence détaillé :


Figure 27 : Diagramme de séquence détaillé “Tri des profils”

4 Conception
A-Diagramme de classe de sprint 2

Figure 28 : Diagramme de classe “Tri des profils”

5 Réalisation
On va maintenant présenter le travail réalisé dans ce sprint :
Comme illustré dans la figure ci-dessous, les profils sont classées en ordre
descendant selon le nombre d’années d'expérience pour les profils venant de
Jobi.tn et selon le nombre de contributions pour les profils venant de Github.

Dans les deux figures suivantes on va présenter les deux tableaux contenant
les profils triés :
figure
Figure 29 : Les profils triés de JOBI.tn
figure
Figure 30 : Les profils triés de GitHub

6 Test et validation
Nous avons élaboré dans le tableau suivant un ensemble de cas de scénario de tests
fonctionnels relatifs au sprint 2.

Cas de test Démarche Comportement attendu Résultat

Trier les profils -Création d’une -Les profils sont affichés Conforme
extraits auprès commande qui permet classés dans un ordre
de JOBI.tn de classer les profils descendant selon le
selon le nombre nombre d’années
d’années d’expérience d'expérience.

Trier les profils -Création d’une -Les profils sont affichés Conforme
extraits auprès commande qui permet classés dans un ordre
de Github de classer les profils descendant selon le
selon le nombre de nombre de contribution
contribution

Tableau 10 : test fonctionnel de sprint 2


III. Étude et réalisation du Sprint 3 : Exportation et
Stockage des données
​1 Analyse
Le but de ce sprint est de donner la possibilité à l’utilisateur d’exporter les
données après l’extraction. Le stockage des données demeure une étape
primordial dans chaque stratégie data-driven pour pouvoir bien les exploiter
dans une étape suivante. Le product owner nous a proposé l’outil google
sheets pour la facilité de son utilisation. Ainsi, qu'il permet un ​stockage
sécurisé et économique dans le cloud.

2 -Backlog du sprint :

ID User Story Tâches Estimation Priorité


(Fonctionnalité)

1 S’authentifier - Ajouter un bouton qui permet de 4 1


avec google se connecter à un compte google
un ​stockage sécurisé et
économique dans le cloud.

2 Exporter les Ajouter un bouton pour exporter 5 1


données vers un les données dans un google
google sheet sheet.

3 Récupérer les - Afficher les résultats exportés 7 1


résultats dans un dans un google sheet
google sheet

Tableau 11 : Backlog sprint 3

3 Spécification fonctionnelle
a-Diagramme de cas d'utilisation du Sprint 3
Figure 29 : Diagramme de cas d'utilisation “Stockage des profils”

b- Description
Ce tableau va illustrer la description textuelle de cas d'utilisation “Stockage
des profils”

Titre Stocker les données

Résumé Stocker les résultats de recherche dans une base de données

Acteur Talent Manager

Pré-condition L’opération d’extraction et bien exécutée.

Post-condition L’opération d’exportation est bien exécutée et les profils sont


stockés dans Google-Sheet.

Scénario Nominal 1-Le Talent manager choisit d’exporter les résultats trouvés à
Google-Sheet.
2-Le Talent Manager doit s’authentifier à Google-Sheet.
3-Le système va envoyer les profils trouvés à une Sheet définie.
4-Le talent Manager peut consulter Google-Sheet et voir toutes
les données.

Exception 1-L’utilisateur n’a pas fait l’extraction des profils.


1-1 Reprise de l’étape 3 du scénario nominal 1 de la première
sprint.
2-L’utilisateur a saisi un login ou mot de passe erronées lors de
l'authentification à Google Sheet .
2-1 Le système affiche un message d’erreur "Votre login ou mot
de passe sont erronées" .
2-2-Reprise de l’étape 2 du scénario nominal de la deuxième
sprint.

Tableau 12 : Description textuelle de cas d’utilisation “stockage des profils”

​c-Diagramme de séquence détaillé

Figure 30 : Diagramme de séquence détaillé “stockage des profils”

4 Conception
a-Diagramme de classe du Sprint 3
Figure 31 : Diagramme de classe “stockage des profils”

5 Réalisation
Pour présenter notre travail réalisé dans ce sprint, la figure ci-dessous nous
montre les profils extraits stockés dans notre base des données Google
Sheet.

Figure 32 : Interface des profils stockés dans Google Sheet

6 Test et validation
Nous avons élaboré dans le tableau un ensemble de cas de scénario de tests
fonctionnels relatifs au sprint 3.

Cas de test Démarche Comportement attendu Résultat

Exportation des -Création d’une bouton -Les profils de JOBI.tn Conforme


profils extraits qui permet d’exporter sont bien exportés et
auprès de les profils de JOBI et stockés dans un Google
JOBI.tn leur données vers un sheet
google sheet
Exportation des -Création d’une bouton -Les profils de GitHub Conforme
profils extraits qui permet d’exporter sont bien exportés et
auprès de Github les profils de JOBI et stockés dans un Google
leur données vers un sheet
google sheet.

Tableau 13 : tests fonctionnels de sprint 3

Etude et réalisation du Sprint 4 : Automatisation de


l’outil d’emailing
Le but de ce sprint est d’automatiser l’emailing et donc permettre au Talent
Manager d’exploiter les données extraites pour contacter les profils.
En effet, le but ultime de l’extraction des données des profils n’est pas
seulement d’identifier les meilleurs talents mais aussi de bien communiquer
avec eux en vue de les inciter à nous rejoindre.
L’outil d'emailing MailChimp, qui était utilisé d’une manière traditionnelle en
important les profils manuellement, nous allons automatiser son utilisation.
importer la base de donnée des profils pour les contacter. Une campagne
d'emailing automatique sera envoyée selon les données paramétrées. Enfin,
le processus se termine par un entretien physique de “soft skills” pour ceux qui
ont réussis le test de code.

2- Backlog du sprint :
Ci-dessous, le tableau du backlog de sprint :

ID User Story Tâches Estimation Priorité

1 Importer la base de 1-se connecter à MailChimp. 5 1


données de profils. 2-Créer une liste des abonnées.
3-Importer les données
extraites.
2 Créer une 1-Créer une campagne 3 2
campagne d’emailing automatique.
d’emailing. 2-Choisir une liste des
abonnées.

3 Envoyer les emails 1-Concevoir les emails. 7 3


2-Paramétrer l’envoi des emails.
3-Enregistrer et envoyer les
emails.

Tableau 14 : Backlog sprint 4

3. Spécification fonctionnelle
a. Diagramme de cas d’utilisation Sprint 4 :
La figure 3.2 illustre le raffinement du cas d'utilisation “Exploitation des
données”.
Figure 3.2: cas d'utilisation du sprint 1 “​Exploitation des données​”

Figure 32 : Diagramme de cas d’utilisation “Exploitation des données”

b. Description

Le tableau suivant illustre la description textuelle du cas d'utilisation


Exploitation des données.

Titre Exploitation des données


Résumé Contacter les profils par des emails à partir de l’outil
d’emailing MailChimp pour les recruter.

Acteur Talent Manager

Pré-condition 1-Se connecter à un compte MailChimp.


2-Avoir une base de données des profils à contacter.

Post-condition L’opération a été exécutée avec succès et les mails sont


envoyés.

Scénario Nominal 1- L’utilisateur se connecte à un compte MailChimp.


2- Créer des listes d’abonnés sur Mailchimp.
3- L’utilisateur importe la base de données des profils.
4-Créer la première campagne d’emails ( newsletter).
5- Paramétrer l’envoi des emails.
6- L’utilisateur choisit la liste des profils à contacter.
7- L’utilisateur va concevoir une série des emails
automatiques
8- L’utilisateur clique sur le bouton “Commencer”, pour
commencer l’envoi.
9- Analyser les résultats de votre campagne d’emails.

Exception 1-L’utilisateur ne peut pas importer la base de données


2-2-Reprise de l’étape 2 du scénario nominal.

Le tableau 15 : Description textuelle du cas d'utilisation ​Extraction des profils​.

c. Diagramme de séquence détaillé


Figure 33 : Diagramme de séquence sprint 4

4. Conception
a- Diagramme de classe du sprint 4

Figure 34 : Diagramme de classe sprint 4

3. Réalisation
On va maintenant présenter le travail réalisé dans notre quatrième sprint :
Comme illustré dans la figure ci-dessous, l’utilisateur se connecte à MailChimp :

Figure 35 : Interface d’authentification à MailChimp

Ces deux figures illustrent la création d’une liste et l’importation des données des
profils auprès d’un fichier “Google-Sheet”.

Figure 36 : Interface d’ajouter contact


Figure 37 : Interface d’importation des contacts via Google-Sheet
Enfin, Mailchimp nous donne la possibilité d’automatiser nos campagnes pour avoir
plus d’engagement et des meilleurs résultats comme il est présenté ci dessous:

Figure 38 : Interface de création des emails automatiques


Figure 39 : Interface d’analyse des résultats de la campagne d’e-mailing

4. Test et validation
Pour ce fait, nous avons élaboré dans le tableau un ensemble de cas de scénario de
tests fonctionnels relatifs au sprint 4.

Cas de test Démarche Comportement attendu Résultat

Importer des -Créer une une liste -Importation des profils Conforme
contacts d’abonnées. enregistrés dans le
-Importer des profils Sheet.
d’abonnées.
-Choisir le mode
d'importation des
profils .

Envoyer les -Créer une campagne -Les emails sont Conforme


emails d’emailing. envoyés selon les
automatiquement -Choisir une liste des paramètres définis à
. contacts. l’avance .
-Concevoir les emails.

Figure 16 : test fonctionnel de sprint 4

Conclusion
Au cours de ce sprint, nous avons exploité les données des profils scrappées
par le premier sprint. Nous avons fini par envoyer des emails à tous les
candidats de la base de données. Le sprint a été présenté dans le cadre d'une
réunion de dernier sprint de projet. Cette réunion était à la présence de
l'équipe du projet et quelques responsable de département RH.

Conclusion générale
Le présent document est une présentation du travail réalisé durant notre stage
de fin d'études au sein de l'entreprise xTECH. Le projet a pour objectif de
réaliser une application d’extraction des données pour améliorer le
recrutement et faciliter les tâches pour le “Talent Manager” dans le
département RH de xTECH.
Cet outil est multiplateforme et présente un niveau de portabilité élevé, vu la
facilité de son utilisation dans différents environnements de travail.

Nous avons commencé par comprendre les exigences de l’utilisateur et le


contexte général du projet. Puis, nous avons préparé un planning de travail en
respectant les priorités des besoins déjà fixés avec l'équipe Scrum.

Malgré les contraintes de temps et les difficultés techniques que nous avons
rencontré qui se résument principalement dans la compréhension du sujet et
dans la complexité de la structure des sites auprès desquelles est faite
l’extraction des données, nous avons réussi à réaliser presque la totalité de
notre application “xTRACT”.
Le travail dans le cadre de ce PFE, était d'une importance considérable dans
la mesure où il nous a servi comme portail vers le monde professionnel et la
vie d'entreprise.

De point de vue technique, il nous a permis de mettre en oeuvre les acquis


théoriques que nous avons appris tout au long de notre cursus universitaire et
de les enrichir et approfondire des connaissances dans le domaine de gestion
de ressources humaines. Outre, ce projet était aussi enrichissant pour les
bonnes pratiques de la gestion de projet vu que nous avons eu l'opportunité
d'organiser son déroulement dès le début.
Finalement, notre travail ne s'arrête pas à ce niveau. En effet, parmi les
fonctionnalités que nous pouvons envisager pour “xTECH” :
- “l’outbound Recruiting” c’est la notion de chasse des têtes, chercher
les meilleurs profils à recruter.
- Automatiser le processus de recrutement par l’outil MailChimp en
facilitant le contact avec les candidats par l’envoi automatique des
emails.

Bibliographie