43 2 1MB
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 -
Extraction de toutes les données
Notre outil xTRACT -
disponibles sans critères de recherche.
Extraction sélective selon des critères de recherche choisis par l’utilisateur.
-
Extraction des données sans donner la
-
possibilité de les trier.
Possibilité de trier les données extraites selon des critères de préférences définis à l’avance.
-
Possibilité d’extraction des données via n’importe quel source de web.
-
Sources choisis et définis au 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
Must
8
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, 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 extraites et les stocker dans un
Must
10
Sheet. 5
Exploitation des
En tant que talent manager, je
données.
veux exploiter les données par la
Should 5
mise en place d’une campagne d’e-mailing. 6
Recevoir des
En tant que talent manager, je
notifications des
veux recevoir des notifications
nouveaux profils.
quand il y a des nouveaux profils
Could
7
Could
4
adéquats. 7
Trier les données
En tant que talent manager, je
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 (Fonctionnalité)
Tâches
Estimation
Priorité
1
Définir les critère de recherche
-Ajouter la barre dans laquelle on
10
1
2
Récupérer les résultats des profils scrappés
- Ajouter un bouton pour extraire les 7 données des profils de JOBI.tn et 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.
1
3
Filtrer les données scrappées
-Extraire la date de création des profils -Comparer les dates de création des profils scrappés (extraction que lorsque la date de création > date des profils existants).
2
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
5
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 "Extraction 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
bouton
sources dans le code
adéquats aux critères
Chercher
de développement.
définis.
Conforme
-Ajouter un bouton “Chercher” . Filtrage des
-Définir la date de
-Extraire que les
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.
Conforme
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 pour 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
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
Résultat
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é
S’authentifier
- Ajouter un bouton qui permet de
4
1
avec google
se connecter à un compte google
5
1
7
1
(Fonctionnalité) 1
un stockage sécurisé et économique dans le cloud. 2
3
Exporter les
Ajouter un bouton pour exporter
données vers un
les données dans un google
google sheet
sheet.
Récupérer les
- Afficher les résultats exportés
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
profils extraits
qui permet d’exporter
sont bien exportés et
auprès de Github les profils de JOBI et leur données vers un
Conforme
stockés dans un Google 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
données de profils.
2-Créer une liste des abonnées. 3-Importer les données extraites.
1
2
Créer une
1-Créer une campagne
campagne
d’emailing automatique.
d’emailing.
2-Choisir une liste des
3
2
7
3
abonnées. 3
Envoyer les emails
1-Concevoir les emails. 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
emails
d’emailing.
envoyés selon les
automatiquement -Choisir une liste des
paramètres définis à
.
l’avance .
contacts.
Conforme
-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