Ministère de l’Enseignement Supérieur, de la Recherche
Scientifique et des technologies de l’Information
et de la communication
Université Tunis El Manar
Institut Supérieur d'Informatique d'El Manar
Université Virtuelle de Tunis
Mini Projet 1 : Développement Orienté Web
Formation : 1ère année MP2L
Application web : Gestion d'offres d'emploi
Réalisé par : Achref RIAHI
Chayma CHEBBI
Khaoula HIDRI
Encadrant : Mr. Ramzi GUETARI
Année universitaire 2014 - 2015
Table des matières
Introduction 4
1 Spécification des besoins 6
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1 Spécification des besoins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1 Les besoins non fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.2 Les besoins fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Identification des acteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Conception et modélisation 9
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1 Présentation de UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Diagrammes des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.1 Diagramme de cas d’utilisation général . . . . . . . . . . . . . . . . . . . 10
2.2.2 La description des cas d’utilisation . . . . . . . . . . . . . . . . . . . . . 11
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3 Réalisation 15
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1 Conception architecturale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.1 Architecture 3-tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.2 Diagramme de dépoliement . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.3 Environnement de développement . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Choix Technologique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.1 PHP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2 CSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.3 jQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.4 Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 La base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.1 L’analyse des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.2 Le modèle entité-relation . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.3 Description des tables (Requêtes sql) . . . . . . . . . . . . . . . . . . . . 21
1
3.4 Interface de l’application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4.1 Interface de la page d’acceuil . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.2 Interface lors du click sur "Inscription" . . . . . . . . . . . . . . . . . . . 25
3.4.3 Formulaire d’inscription aprés choix . . . . . . . . . . . . . . . . . . . . . 26
3.4.4 Interface lors d’une erreur des champs lors de l’inscription . . . . . . . . 26
3.4.5 Interface de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.4.6 Interface lors d’erreur de coordonnées de connexion . . . . . . . . . . . . 27
3.4.7 Interface de déconnexion . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4.8 Interface du coté recruteur . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4.9 Interface d’ajout d’offre d’emploi . . . . . . . . . . . . . . . . . . . . . . 29
Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Conclusion et perspectives 30
Table des figures
2.1 Diagramme de cas d’utilisation général . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 diagramme de cas d’utilisation gestion de compte . . . . . . . . . . . . . . . . . 11
3.1 Arcitecture 3-tiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Diagramme de déploiement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3 Base de données : Modèle Entité-Relation . . . . . . . . . . . . . . . . . . . . . 20
3.4 Interface d’accueil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5 Interface lors du click sur "Inscription" . . . . . . . . . . . . . . . . . . . . . . . 25
3.6 Formulaire d’inscription aprés choix . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.7 Interface lors d’une erreur des champs lors de l’inscription . . . . . . . . . . . . 26
3.8 Interface de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.9 Interface lors d’erreur de coordonnées de connexion . . . . . . . . . . . . . . . . 27
3.10 Interface de déconnexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.11 Interface du coté recruteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.12 Interface d’ajout d’offre d’emploi . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Introduction
E n général, les méthodes classiques de recrutement consistent à consulter les agences de
recrutement locales ou les médias traditionnels. Le recrutement à travers ces méthodes
est loin de satisfaire objectivement les besoins des employeurs et des employés. Les employés
qualifiés n’étant pas toujours informés sur les offres disponibles sur le marché du travail. Il a
été nécessaire de trouver une méthode rapide et efficace : d’où l’extension du recrutement à
travers le net.
Les acteurs du marché des offres d’emploi ont compris les avantages compétitifs qu’Internet
pouvait leur apporter. Un site d’emploi, au même titre qu’un journal, permet d’afficher des offres
d’emploi. Mais en plus, il donne la possibilité de les renouveler en temps réel et d’en assurer le
suivi. Le candidat peut consulter les offres en ligne et déposer immédiatement sa candidature
en ligne. Ces raisons ont conduit les premiers acteurs du recrutement en ligne à créer des sites
d’emploi pour regrouper le plus grand nombre d’offres possibles. L’Internet est une amélioration
des méthodes traditionnelles dans ce sens qu’il n’est pas géographiquement limité, son accès
rapide et immédiat permet d’optimiser le processus de recrutement. La qualité des candidatures
est maximisée grâce à la diffusion via l’Internet, un médium de haute technologie.
Le recrutement à travers les sites d’emploi en ligne permet d’offrir simultanément les
avantages aux employeurs et aux employés.
Pour les entreprises, cette méthode garantit une visibilité optimale parmi les personnes correspondant
au profil recherché par l’entreprise. Elle permet également une diffusion des annonces à moindre
coût.
Pour les candidats, cette méthode les oriente facilement vers les emplois répondant à leurs
aspirations et à leurs attentes.
Du fait que ces sites d’emplois regroupent sous un même toit des chercheurs et des pourvoyeurs
d’emplois, ils constituent des outils de choix non seulement pour les entreprises à la recherche
des candidats qualifiés, mais également pour les chercheurs d’emploi qui désirent être connus
par ces employeurs.
Introduction 5 / 31
Malgré le fait que les agences en ligne soient hautement performantes, il y subsiste des
problèmes liés à la gestion des données. L’existence de ces problèmes nous amène à mettre en
place un système de recrutement en ligne qui soit plus performant. Il serait bénéfique d’installer
un site d’emplois, capable de proposer un recrutement rapide et interactif.
L’objectif de ce travail est de montrer à travers un exemple l’implémentation et l’utilisation
d’un espace virtuel de recrutement.
Quels sont les acteurs du recrutement virtuel ? Comment fonctionne un site de recrutement
virtuel ? Quels sont les aspects importants de la création d’un site d’emplois ? Comment développer
un catalogue d’emplois en ligne ? Quels sont les apports du langage UML dans le développement
d’une application WEB ?
L’ambition de ce travail est de répondre à ces questions dans un contexte ou l’Internet
modifie en profondeur le marché du recrutement.
Notre rapport se compose de trois chapitres,
Le premier chapitre "Analyse et spécification des besoins" permet de dévoiler les principales
exigences de notre application.
Le deuxième chapitre "Etude conceptuelle" constitue le corps de notre rapport. Ce chapitre,
à partir de la description fonctionnelle obtenue lors de la phase de la spécification des besoins,
sera consacrés à une conception décrite à l’aide d’une vue statique et dynamique du système.
Le troisième chapitre "Réalisation" détaille tous les outils utilisés pour la conception et le
développement de notre application ainsi qu’un ensemble d’interfaces graphiques de la version
finale de notre système.
Gestion des emplois
Chapitre 1
Spécification des besoins
Chapitre 1. Spécification des besoins 7 / 31
Introduction
Dans ce chapitre, afin de comprendre le contexte du système, on va présenter les besoins
des différents utilisateurs par rapport au système, et on va aussi s’intéresser à la présentation
de ces utilisateurs.
1.1 Spécification des besoins
1.1.1 Les besoins non fonctionnels
Il s’agit des besoins qui caractérisent le système. Ce sont des besoins en matière de performance,
de type de matériel ou le type de conception. Ces besoins peuvent concerner les contraintes
d’implémentation.
Le système doit répondre aux critères suivants :
L’extensibilité : On doit y avoir une possibilité d’ajouter ou de modifier des fonctionnalités.
La simplicité d’utilisation : L’application doit être simple et facilement manipuler
par les utilisateurs et elle doit garantir la clarté de l’interface.
Efficacité et fiabilité : L’application doit fonctionner d’une manière efficace et fiable
pour éviter tous disfonctionnement que pourrait engendre un mauvais suivi des actions
d’utilisation.
Les convivialités de l’interface graphique : L’application doit fournir une interface
conviviale et simple à l‘utiliser.
La cohérence des données : L’application doit contrôler la cohérence et l’organisation
des données.
La sécurité : L’application doit être hautement sécurisée car les informations ne devront
pas être accessibles à tout le monde.
1.1.2 Les besoins fonctionnels
Il s’agit des fonctionnalités du système. Ce sont les besoins fonctionnelles qui expriment une
action qui doit être menée sur l’infrastructure à définir en réponse à une demande, c’est le besoin
exprimés par les utilisateurs. Cette partie structure les exigences fonctionnelles ébauchées.
En effet le système doit permettre de :
Authentifier les acteurs de l’application.
Gérer les comptes des acteurs.
Gérer les offres d’emplois.
Gérer les candidatures.
Personnaliser et administrer l’application.
Gestion des emplois
Chapitre 1. Spécification des besoins 8 / 31
1.2 Identification des acteurs
Un acteur représente un rôle joué par une entité externe (utilisateur humain, dispositif
matériel ou autre système) qui interagit directement avec le système étudié. Un acteur peut
consulter et/ou modifier directement l’état du système, en émettant et/ou en recevant des
messages susceptibles d’être porteurs de données. Les acteurs candidats sont systématiquement :
Nom d’acteur Types Fonctionnalités
Candidat Humain C’est la personne en interaction avec le recruteur chargée du :
Gérer profil candidat.
Gérer compte candidat.
Gérer son Cv et sa lettre.
Rechercher un poste.
Déposer une candidature.
Recruteur Humain C’est la personne chargée du :
Accéder à son compte
Importer les CV
Rechercher des candidats
Contacter les candidats
Publier des offres
Suivre les candidatures
Obtenir des statistiques
Administrateur Humain C’est la personne chargée du :
Accéder au compte administrateur
Gérer le compte administrateur
Gérer le référentiel
— Administrer les données
— Administrer les référentiels métiers
Gérer les outils
— Créer les modèles de lettre
— Gérer les réponses automatiques
Personnaliser l’application
Créer des mailings candidats
Obtenir des statistiques précises
Conclusion
Nous avons défini dans ce chapitre les besoins fonctionnels et non fonctionnels de notre futur
applet et on va définir dans le chapitre qui suit la conception de cette applet en préparant les
différents diagrammes qui permettent de bien expliquer l’enchaînement de travail de chaque
acteur (utilisateur).
Gestion des emplois
Chapitre 2
Conception et modélisation
Chapitre 2. Conception et modélisation 10 / 31
Introduction
La phase précédente nous a permis de spécifier les besoins fonctionnels. L’objectif, dans
cette phase est d’approfondir notre compréhension. En effet ce chapitre présente la conception
des différents éléments du système. Le langage de modélisation utilisé est UML car il permet
d’analyser et de concevoir le projet à la fois d’une manière statique et dynamique.
2.1 Présentation de UML
UML (en anglais Unified Modeling Language ou « langage de modélisation unifié ») est un
langage de modélisation graphique à base de pictogrammes. Il est apparu dans le monde du
génie logiciel, dans le cadre de la « conception orientée objet ». Couramment utilisé dans les
projets logiciels, il peut être appliqué à toutes sortes de systèmes ne se limitant pas au domaine
informatique.
2.2 Diagrammes des cas d’utilisation
Les cas d’utilisation décrivent le comportement du système du point de vue utilisateur sous
forme d’actions et de réactions. Un cas d’utilisation indique une fonctionnalité du système
déclenchée par un acteur externe au système. Ce genre de diagramme permet de mettre en
place et de comprendre les besoins du client. Dans le diagramme, interviennent trois éléments :
les acteurs, le système et les cas d’utilisation. L’acteur représente un rôle joué par une personne
ou un autre système qui interagit avec le système en cours de modélisation. Un cas d’utilisation
regroupe plusieurs scénarios du système.
2.2.1 Diagramme de cas d’utilisation général
Figure 2.1 – Diagramme de cas d’utilisation général
Gestion des emplois
Chapitre 2. Conception et modélisation 11 / 31
2.2.2 La description des cas d’utilisation
Cas d’utilisation : Gestion compte
Il est activé par le candidat ou le recruteur. Compte tenu de la complexité de ce cas
d’utilisation, il paraît nécessaire de montrer les interactions avec les autres cas d’utilisation
du système, d’où le diagramme des cas d’utilisation dans la figure 2.2.
La relation d’extension dans ce diagramme décrit un comportement optionnel. L’inscription
est la pré-condition à tous les autres cas d’utilisation. Par la suite le candidat et/ou le recruteur
peuvent procéder à une mise à jour des données du compte ou à la désinscription. Le candidat
peut déposer un CV dans son compte et le recruteur une offre ou plusieurs offres d’emploi.
Figure 2.2 – diagramme de cas d’utilisation gestion de compte
Gestion des emplois
Chapitre 2. Conception et modélisation 12 / 31
Cas d’utilisation : Inscription
Il est activé par le candidat ou par le recruteur. Il s’agit de remplir un formulaire pour
créer un profil utilisateur. Les informations classiques sont demandées : nom, prénom, e-mail,
téléphone, nom d’utilisateur, mot de passe.
Cas d’utilisation : Mise à jour
Il est activé par le candidat ou par le recruteur. Il s’agit des modifications effectuées sur le
profil utilisateur ou sur les données du compte.
Cas d’utilisation : Désinscription
Il est activé par le candidat ou par le recruteur. Il s’agit de la destruction du profil utilisateur.
Cas d’utilisation : Compte Candidat
Il s’agit de l’espace réservé au candidat. Chaque candidat enregistré peut accéder à un
ensemble de services personnalisés. Seul le titulaire du mot de passe et du nom d’utilisateur
correspondant à un compte candidat pourra accéder à cet espace. Les services suivants sont
opérationnels :
dépôt de CV ou de lettres de candidature
visualisation de CV ou de lettre de candidature
modification de CV ou de lettres de candidature
suppression de CV ou de lettres de candidature
visualisation des offres d’emploi
Cas d’utilisation : Compte Recruteur
Il s’agit de l’espace réservé au recruteur. Le fonctionnement est le même que celui du compte
Candidat sauf pour les services offerts. Tout recruteur enregistré peut accéder aux services
suivants :
visualiser les CV
visualiser les candidatures
classer et gérer les CV choisis
déposer les offres d’emploi
Cas d’utilisation : dépôt offres emploi
Il est activé par le recruteur. Ce dernier doit remplir un formulaire pour créer une offre
d’emploi. Ce formulaire contient les informations suivantes :
Le titre de l’offre.
La description du poste.
La région (Gouvernorat et Délégation).
Gestion des emplois
Chapitre 2. Conception et modélisation 13 / 31
Le salaire proposé.
Des infos concernant le recruteur(nom, email, téléphone).
Cas d’utilisation : Dépôt CV
Il est activé par le candidat. Il a le choix entre, consulter les annonces puis créer le CV et
l’attacher aux annonces sélectionnées ou bien l’inverse, en créant au préalable le CV, puis en
sélectionnant des offres. Le candidat peut déposer son CV sur une ou plusieurs offres ou encore
le laisser sur la base, dans l’attente d’offres correspondant aux critères saisis, auquel cas il sera
envoyé sur l’espace entreprise de l’annonceur concerné. Pour déposer un CV, le candidat doit
remplir un formulaire. Les informations suivantes sont demandées dans le formulaire CV :
Titre
Etat civil
Formations
Expériences professionnelles
Connaissances techniques
Cas d’utilisation : Consulter offres emplois
Il est activé par le candidat. Pour consulter les offres d’emploi, rien de plus simple, pas
besoin de s’enregistrer au préalable. Un vaste choix est proposé dans plusieurs départements.
Les annonces sont en ligne pour une durée déterminée et sont régulièrement mises à jour. Les
offres sont classées par ordre chronologique de publication, de la plus récente à la plusancienne.
Elles sont présentées d’une manière structurée.
Pour consulter les annonces dans le détail, il suffit de cliquer sur le titre de l’annonce pour
visualiser la totalité.
Cas d’utilisation : Consultation candidatures
Il est activé par le recruteur. Ce dernier reçoit dans son compte les dossiers de candidature
relatifs à une annonce en ligne.
Cas d’utilisation : Définition paramètres espaces
Il est activé par l’administrateur. Il doit actualiser les paramètres des espaces candidat et
recruteur.
Cas d’utilisation : Maintenance données
Il est activé par l’administrateur. Ce dernier s’occupe de la mise à jour des offres d’emploi. Il
peut ainsi afficher la date de la dernière mise à jour, mettre en valeur les nouveautés et afficher
un compteur du nombre de visiteurs ou du nombre d’offres d’emploi.
Gestion des emplois
Chapitre 2. Conception et modélisation 14 / 31
Conclusion
Dans ce chapitre, nous avons présenté d’abord l’architecture du système. Ensuite, nous
avons réalisé les principaux diagrammes représentatifs du déroulement de notre application.
Ceci nous a permis de déterminer la façon à travers laquelle nous allons réaliser une application
répondant aux besoins déjà spécifiés.
Gestion des emplois
Chapitre 3
Réalisation
Chapitre 3. Réalisation 16 / 31
Introduction
Ce chapitre traite les aspects techniques liés à l’implémentation et la mise en œuvre de
notre applet. Nous y présenterons d’abord nos choix des technologies et outils adoptés pour
le développement du système. Nous aborderons ensuite les principales fonctionnalités offertes
par notre application aux différents types d’utilisateurs de l’applet. Les prises d’écrans et les
explications assez approfondies sont à même de résumer le fonctionnement global du système.
3.1 Conception architecturale
Dans cette partie nous allons définir les modèles architectural que nous avons choisi afin
d’assurer le fonctionnement de la partie logiciels de notre système et la partie matérielles.
3.1.1 Architecture 3-tiers
Le style d’architecture en tiers permet de spécifier l’organisation des composants d’exploitation
mis en oeuvre pour réaliser l’application. Chaque partie indique une responsabilité technique
à laquelle souscrivent les différents composants d’exploitation. Les différents tiers de système
sont les suivants :
Le stockage des données utilise un système de gestion de base de données (MYSQL).
Le deuxième tiers est le middleware qui représente le service métiers, pour ce la nous
avons utilisés le serveur web HTTP (Apache) qui à pour rôle de rendre accessible les
informations du serveur web et d’exécuter les raquettes PHP.
Les interfaces du notre système c’est le troisième tiers qui permet de visualiser les
résultats finale qui sont générées à partir du notre serveur web.
Figure 3.1 – Arcitecture 3-tiers
Gestion des emplois
Chapitre 3. Réalisation 17 / 31
3.1.2 Diagramme de dépoliement
Le diagramme de déploiement sert à représenter l’utilisation de l’infrastructure physique par
le système et la manière avec laquelle les composants du système sont répartis ainsi que leur
relation entre eux. Les éléments utilisés par un diagramme de déploiement sont principalement
les nuds, les composants, les associations et les artefacts.Les caractéristiques des ressources
matérielles et des supports de communication peuvent être précisées par stéréotype.
Figure 3.2 – Diagramme de déploiement
La modélisation de ce diagramme de déploiement ci dessus montre trois noeuds :
Serveur web : Composé d’un module de scripts PHP.
Serveur données : Contient le système de gestion de base de données MySQL.
Client-PC : Représente le navigateur utilisé pour visualiser les interfaces.
Gestion des emplois
Chapitre 3. Réalisation 18 / 31
3.1.3 Environnement de développement
L’environnement de développement est un terme qui désigne l’ensemble d’outils et de langage
utilisé pour l’implémentation d’une solution informatique.
3.2 Choix Technologique
Les technologies utilisées pour l’implémentation de notre solution sont les suivants :
3.2.1 PHP
PHP ou HyperTextPreprocessor est un langage de script extrêmement puissant et destiné
pour le développement des applications web. PHP est l’un des langages de programmation les
plus populaire. Le point fort de ce langage c’est qu’il est portable et simple à utiliser.
3.2.2 CSS
CSS (Cascading Style Sheets : feuilles de style en cascade) est un langage informatique qui
sert à décrire la présentation des documents HTML et XML. Les standards déffnissant CSS
sont publiés par le World Wide Web Consortium (W3C). Introduit au milieu des années 1990,
CSS devient couramment utilisé dans la conception de sites web et bien pris en charge par les
navigateurs web dans les années 2000.
3.2.3 jQuery
Afin de rendre notre application plus interactif nous avons fait recourt à jQuery qui est une
bibliothèque JavaScript libre qui porte sur l’interaction entre JavaScript et HTML, et a pour
but de simplier des commandes communes de JavaScript.
3.2.4 Environnement logiciel
Les logiciels utilisés pour l’implémentation de notre solution sont les suivants :
Machine Virtuelle
VirtualBox est un logiciel qui permet d’exécuter simultanément plusieurs systèmes d’exploitation
sur une même machine. C’ est un logiciel libre de virtualisation publié par Oracle.
Centos 7 sous VirtualBox
CentOS (Community enterprise Operating System) est une distribution GNU/Linux principalement
destinée aux serveurs. Tous ses paquets, à l’exception du logo, sont des paquets compilés à partir
des sources de la distribution RHEL (Red Hat Enterprise Linux), éditée par la société Red Hat.
Gestion des emplois
Chapitre 3. Réalisation 19 / 31
Utilisée par 20 pour cent des serveurs web Linux, elle est l’une des distributions Linux les plus
populaires pour les serveurs web.
Serveur Web - LAMP
Un serveur LAMP est un serveur Web. Historiquement, l’acronyme « LAMP » fait référence
aux quatre composantes d’un tel serveur Web :
Linux : le système d’exploitation constituant la base du système. Ici, il s’agit de centos7.
Apache : le serveur HTTP qui gère la communication avec le client.
MySQL : le système de gestion de base de données.
PHP : le langage de script utilisé pour générer les pages dynamiques.
3.3 La base de données
Le système de recrutement en ligne implémenté s’appuie sur une base de données.L’objectif
de ce sous-chapitre consiste donc à concevoir les tables à utiliser.
Le logiciel EasyPHP a été choisi pour la création de la base de données. Des commandes
SQL ont été utilisées pour la création des tables et leur manipulation.
3.3.1 L’analyse des données
L’analyse des données vise à déterminer, en collaboration avec les utilisateurs, les données
nécessaires au système d’information, leurs liaisons et leurs structures. Le modèle de cas d’utilisation
a servi de guide pour l’analyse de données en fournissant une meilleure compréhension des
fonctionnalités du système et en définissant ses contours.
3.3.2 Le modèle entité-relation
A partir du modèle de cas d’utilisation, il a été possible d’identifier les principaux ensembles
d’entités et les ensembles de liens entre ces entités. La figure 6.1 représente le modèle entité-association
du système de recrutement en ligne.
Gestion des emplois
Chapitre 3. Réalisation 20 / 31
Figure 3.3 – Base de données : Modèle Entité-Relation
Gestion des emplois
Chapitre 3. Réalisation 21 / 31
3.3.3 Description des tables (Requêtes sql)
Création de la base de données tunjob initiallement vide
CREATE DATABASE tunjob ;
Table Adresse
CREATE TABLE Adresse(
id INTEGER NOT NULL AUTO INCREMENT,
rue VARCHAR(30),
numero INTEGER,
ville VARCHAR(30),
pays VARCHAR(30),
PRIMARY KEY (id)) ;
Table CV
CREATE TABLE CV(
id INTEGER NOT NULL AUTO INCREMENT,
Titre VARCHAR(30),
PRIMARY KEY (id)) ;
Table Lettre Motivation
CREATE TABLE Lettre Motivation(
id INTEGER NOT NULL AUTO INCREMENT,
objet VARCHAR(30),
PRIMARY KEY (id)) ;
Table Utilisateur
CREATE TABLE Utilisateur(
id compte INTEGER NOT NULL AUTO INCREMENT,
login utilisateur VARCHAR(20),
mpd utilisateur VARCHAR(20),
role utilisateur VARCHAR(20),
nom VARCHAR(30),
prenom VARCHAR(30),
email VARCHAR(50),
id adresse INTEGER,
date naissance creation DATE,
telephone INTEGER,
fax INTEGER,
Gestion des emplois
Chapitre 3. Réalisation 22 / 31
secteur activite VARCHAR(30),
website url VARCHAR(30),
description TEXT,
id cv INTEGER,
id lettre motivation INTEGER,
PRIMARY KEY (id compte),
FOREIGN KEY (id adresse) REFERENCES Adresse(id),
FOREIGN KEY (id cv) REFERENCES CV(id),
FOREIGN KEY (id lettre motivation) REFERENCES Lettre Motivation(id) ) ;
Table Test
CREATE TABLE Test(
id INTEGER NOT NULL AUTO INCREMENT,
duree TIME,
PRIMARY KEY (id)) ;
Table Question
CREATE TABLE Question(
id INTEGER NOT NULL AUTO INCREMENT,
libelle INTEGER, id test INTEGER,
PRIMARY KEY (id),
FOREIGN KEY (id test) REFERENCES test(id)) ;
Table Offre emloi
CREATE TABLE Offre emploi(
id INTEGER NOT NULL AUTO INCREMENT,
id recruteur INTEGER,
date DATE,
libelle VARCHAR(30),
description TEXT,
id test INTEGER,
PRIMARY KEY (id),
FOREIGN KEY (id test) REFERENCES Test(id),
FOREIGN KEY (id recruteur) REFERENCES Utilisateur(id compte) ) ;
Table Postulation
CREATE TABLE Postulation(
id INTEGER NOT NULL AUTO INCREMENT,
id candidat INTEGER,
Gestion des emplois
Chapitre 3. Réalisation 23 / 31
id offre emploi INTEGER,
PRIMARY KEY (id),
FOREIGN KEY (id candidat) REFERENCES Utilisateur(id compte),
FOREIGN KEY (id offre emploi) REFERENCES Offre emploi(id) ) ;
Table Etablissement
CREATE TABLE Etablissement(
id INTEGER NOT NULL AUTO INCREMENT,
libelle VARCHAR(30),
id adresse INTEGER,
PRIMARY KEY (id),
FOREIGN KEY (id adresse) REFERENCES adresse(id)) ;
Table Experience Professionnelle
CREATE TABLE Experience Professionnelle(
id INTEGER NOT NULL AUTO INCREMENT,
nom entreprise VARCHAR(30),
description poste TEXT,
date debut DATE,
date fin DATE,
id cv INTEGER,
FOREIGN KEY (id cv) REFERENCES CV(id), PRIMARY KEY (id)) ;
Table Proposition
CREATE TABLE Proposition(
id INTEGER NOT NULL AUTO INCREMENT,
libelle VARCHAR(30),
id question INTEGER,
VF BOOLEAN,
PRIMARY KEY (id),
FOREIGN KEY (id question) REFERENCES question(id)) ;
Table Formation
CREATE TABLE Formation(
id INTEGER NOT NULL AUTO INCREMENT,
libelle VARCHAR(30),
id offre emploi INTEGER,
duree formation INTEGER,
id etablissement INTEGER,
Gestion des emplois
Chapitre 3. Réalisation 24 / 31
id cv INTEGER,
PRIMARY KEY (id),
FOREIGN KEY (id offre emploi) REFERENCES Offre emploi(id),
FOREIGN KEY (id etablissement) REFERENCES Etablissement(id),
FOREIGN KEY (id cv) REFERENCES CV(id) ) ;
Table Type connaissances
CREATE TABLE Type connaissances(
id INTEGER NOT NULL AUTO INCREMENT,
libelle INTEGER,
PRIMARY KEY (id)) ;
Table Connaissances techniques
CREATE TABLE Connaissances techniques(
id INTEGER NOT NULL AUTO INCREMENT,
libelle VARCHAR(30),
id offre emploi INTEGER,
id type connaissances INTEGER,
id cv INTEGER, PRIMARY KEY (id),
FOREIGN KEY (id offre emploi) REFERENCES Offre emploi(id),
FOREIGN KEY (id type connaissances) REFERENCES Type connaissances(id),
FOREIGN KEY (id cv) REFERENCES CV(id) ) ;
3.4 Interface de l’application
Dans cette partie, nous allons exposer quelques interfaces Homme/machine et machine/système
pour montrer les services offerts par notre système. En faite notre application de gestion et de
suivi d’enseignement supérieur agricole offre des interfaces simples, lisibles et faciles à manipuler.
Ceci est assuré par une structuration bien organisée des différentes fonctionnalités.
Gestion des emplois
Chapitre 3. Réalisation 25 / 31
3.4.1 Interface de la page d’acceuil
Figure 3.4 – Interface d’accueil
3.4.2 Interface lors du click sur "Inscription"
Figure 3.5 – Interface lors du click sur "Inscription"
Gestion des emplois
Chapitre 3. Réalisation 26 / 31
3.4.3 Formulaire d’inscription aprés choix
Figure 3.6 – Formulaire d’inscription aprés choix
3.4.4 Interface lors d’une erreur des champs lors de l’inscription
Figure 3.7 – Interface lors d’une erreur des champs lors de l’inscription
Gestion des emplois
Chapitre 3. Réalisation 27 / 31
3.4.5 Interface de connexion
Figure 3.8 – Interface de connexion
3.4.6 Interface lors d’erreur de coordonnées de connexion
Figure 3.9 – Interface lors d’erreur de coordonnées de connexion
Gestion des emplois
Chapitre 3. Réalisation 28 / 31
3.4.7 Interface de déconnexion
Figure 3.10 – Interface de déconnexion
3.4.8 Interface du coté recruteur
Figure 3.11 – Interface du coté recruteur
Gestion des emplois
Chapitre 3. Réalisation 29 / 31
3.4.9 Interface d’ajout d’offre d’emploi
Figure 3.12 – Interface d’ajout d’offre d’emploi
Conclusion
Au niveau de ce chapitre, nous avons présenté l’environnement de développement de notre
travail, les outils utilisés ainsi que les différentes interfaces de notre application.
Gestion des emplois
Conclusion et perspectives
L’expansion du Web dans le secteur de l’emploi a donné naissance au développement de
nouveaux outils : les sites d’emplois. L’utilisation des sites d’emplois apporte des solutions
nouvelles aux recruteurs comme aux candidats. Les premiers peuvent aujourd’hui recevoir
des candidatures sans avoir à ouvrir les enveloppes. Par la suite, l’envoi des réponses, et le
dialogue avec le candidat s’effectuent aussi électroniquement. Les candidats ont, quant à eux,
la possibilité de chercher un emploi quand et où ils le désirent.
L’objectif de ce travail était de montrer, à travers un exemple comment les technologies
Internet peuvent être utilisées, pour implémenter un espace d’échanges interactif afin d’optimiser
le processus de recrutement. L’optimisation du processus de e-recrutement implique la connaissance
des acteurs de l’emploi sur le Web.
Il existe plusieurs acteurs de l’emploi sur Internet : les moteurs de recherche, les portails,
les forums de discussion, les pages d’entreprises, les sites de média, les agences de placement de
personnel et les marchés virtuels d’emplois.
Cependant, construire un bon site d’emplois implique de comprendre certains aspects en
constante évolution et d’intégrer des technologies Internet. C’est dans cet ordre d’idées que ce
travail développe une solution de e-recrutement où les technologies et langages les plus récents
sont utilisés : UML, PHP, JavaScript, CSS et SQL.
Notre application réalisée n’est pas compléte. Nous allons réalisé également ces tâches :
Inscription des candidats et recruteurs.
Authentification des utilisateurs inscrits.
Dépôt des offres d’emplois par les recruteurs.
30
Conclusion et perspectives 31 / 31
Finalement, notre travail ne s’arrête pas à ce niveau, en effet plusieurs fonctionnalités
peuvent être ajoutées à notre application notamment :
Ajouter d’autres langues à l’interface utilisateur.
Implémenter les pages conseil et contact.
Pouvoir insérer plusieurs types de formations, d’expériences professionnelles, de connaissances
linguistiques et de connaissances informatiques dans le CV.
Permettre aux utilisateurs de changer le nom d’utilisateur et le mot de passe. Il faudrait
implémenter un mécanisme pour l’actualisation de ces champs dans les tables users des
bases de données.
L’envoi automatique par e-mails des offres d’emploi et des CV aux utilisateurs.
Mettre en place un système de sécurisation des informations...
Gestion des emplois