Vous êtes sur la page 1sur 121

Sil ny avait pas dhiver, le printemps ne serait

pas si agrable : Si nous ne gotions pas


ladversit, la russite ne serait pas tant apprcie
Anne Bradstreet

Ddicaces
A celle qui mabreuve damour, daffection intarissable et ses considrables
sacrifices pour moi et pour toute la famille, source de mon bonheur et ma
raison dtre, ma trs chre mre Jamila
Mon pre K halil pour toute son attention ses encouragements et son aide
prcieux qui m'a donn la force de continuer jusqu'au bout.
J'espre que tous deux soient satisfaits de moi comme le suis d'eux. Et que
dieux les gardent.
A mon cher frre Mouhamed et chre sur R ihab pour tout ce qu'ils m'ont
donn et pour leur soutient et je leur souhaite tout le bonheur dans vie.
A tous mes amis pour tout l'amour, l'encouragement, les souvenirs et les
moments inoubliables passs ensemble.
A tous ceux que j'aime
Et tous ceux qui m'aiment
A tous ceux dont l'oublie du nom n'est pas celui du cur.

Aimablement

Mahmoud Rihem
Je ddie ce modeste travail

ii

Ddicaces
A celle qui mabreuve damour, daffection intarissable et ses considrables
sacrifices pour moi et pour toute la famille, source de mon bonheur et ma
raison dtre, ma trs chre mre Hab ou b a
Mon pre B echir pour toute son attention ses encouragements et son aide
prcieux qui m'a donn la force de continuer jusqu'au bout.
J'espre que tous deux soient satisfaits de moi comme le suis d'eux. Et que
dieux les gardent.
A mon cher frre Hama et chres surs Samia et Wafa et notre petite
R afifpour tout ce qu'ils m'ont donn et pour leur soutient et je leur souhaite
tout le bonheur dans vie.
A tous mes amis pour tout l'amour, l'encouragement, les souvenirs et les
moments inoubliables passs ensemble.
A tous ceux que j'aime
Et tous ceux qui m'aiment
A tous ceux dont l'oublie du nom n'est pas celui du cur.
Aimablement

Ben Abdelghani Sihem


Je ddie ce modeste travail

iii

Remerciements
P remirement nous remercions Dieu source de toute connaissance.
Au terme de ce travail, nous adressons nos remerciements les plus sincres notre encadrant
M r.Lefi Amin, pour nous avoir permis de bnficier de sa pdagogie, ses comptence, sa
modestie et son aide prcieuse tout au long de ce projet mme pendant les moments les plus
difficiles. Vraiment merci pour une qualit dencadrement si srieuse et si consistante

Un immense merci M . Zakhama Amin et M lle. Kraeim Emna mritants tout le respect pour
leurs encouragements, et de nous avoir accueillis dans la socit Smart Thinking et galement
pour leur aide quils nous ont offerte tout au long du stage.

Nous remercions toutes les personnes qui nous ont soutenus, d'une faon ou d'une autre, nous
prouvons incessamment leur estime et amabilit, nous saluons rellement cette trs haute
bienveillance que vous portez notre gard et qui restera pour toujours une vraie image de
marque en nous.

Nous terminerons ces remerciements en saluant vivement les membres du jury pour lhonneur
quils nous ont fait en acceptant de juger notre travail.

iv

Rsum
Notre travail sinscrit dans le cadre du projet de fin d'tudes, pour lobtention du diplme
national dingnieur en Gnie Logiciel spcialit Architecture Logiciel, qui a t ralis au
sein de la socit Smart Thinking. Notre travail Consiste concevoir et dvelopper une
plateforme qui a pour objectives principaux de dposer et suivre les offres demploi,
formations, vnements et concours du domaine informatique.
Notre plateforme Smart Jobs IT est constitu dune application web et une application
Android.
Lapplication web est compose de trois espaces : espace candidat ddi aux chercheurs
demploi, espace recruteur ddi au professionnel pour dposer leurs annonces et espace
administrateur pour grer ces deux espaces.
Lapplication mobile offre ces utilisateurs la majorit des fonctionnalits de lespace web
candidat pour permettre une synchronisation entre les deux applications.

Abstract
Our workis part of graduation project, to obtain the national engineering degree in Software
Engineering, which was carried out within the company Smart Thinking. Our job is to design
and develop a platform that has the main objective to submit and track jobs, training, events
and competitions of information-technology work area
Our Smart Jobs IT platform consists of a web application and an Android application.
The web application is composed of threeareas: candidate space dedicated to job seekers,
recruiters space dedicated to professionals to post their ads and space administrator to manage
these two areas.
The mobile application givesusers the mostfeatures of the candidate web space to allow
synchronization between the two applications.

Table des matires


1.1.

Introduction ................................................................................................................... 10

1.2.

Cadre gnral du projet ................................................................................................. 10

1.3.

Prsentation de lorganisme daccueil Smart Thinking................................................. 10

1.4.

Problmatique ................................................................................................................ 11

1.5.

Etude de lexistant ......................................................................................................... 12

1.5.1.

Applications Web similaires .................................................................................. 12

1.5.1.1.

Etude de lapplication Tanitjobs ..................................................................... 13

1.5.1.2.

Etude de lapplication ECF Emploi Concours Formations ............................ 15

1.5.2.

Synthse des applications web existantes .............................................................. 15

1.5.3.

ApplicationsMobiles similaires .............................................................................. 17

1.5.3.1.
1.5.4.

Etude de lapplication Emploi Tunisie ........................................................... 17

Synthse de lapplication mobile existante ............................................................ 18

1.6.

Solutions proposes ....................................................................................................... 19

1.7.

Technologies de dveloppement : Etude et choix ......................................................... 19

1.7.1.

Technologies de dveloppement web .................................................................... 20

1.7.1.1.

Framework PHP : Lintrt d'un Framework ................................................. 20

1.7.1.2.

Panorama des frameworks du march ............................................................ 22

1.7.1.3.

Critres de comparaison des framework PHP ................................................ 23

1.7.1.4.

Prsentation des frameworks slectionns...................................................... 25

1.7.1.5.

Synthse des frameworks slectionns ........................................................... 26

1.7.1.6.

Analyse de Framework Yii ............................................................................. 29

1.7.2.

Technologies de dveloppement mobile ................................................................ 32

1.7.2.1.

Gnralits sur les tlphones mobiles intelligents ........................................ 32

1.7.2.2.

Application mobile ......................................................................................... 34

1.7.2.3.

L'environnement Android ............................................................................... 35

1.8.

Langage de conception .................................................................................................. 36

1.9.

Mthodologies de dveloppement ................................................................................. 36

1.9.1.

Processus unifi (PU) ............................................................................................. 37

1.9.2.

La mthodologie RUP (Rational UniedProcess).................................................... 37

1.10.

Conclusion ................................................................................................................. 38

2.1.

Introduction ................................................................................................................... 40

2.2.

Enonc des besoins ........................................................................................................ 40

2.2.1.

Capture des besoins fonctionnels pour la partie web ............................................. 40

2.2.2.

Capture des besoins fonctionnels partie mobile ..................................................... 42

2.2.3.

Capture des besoins non fonctionnels .................................................................... 43

2.3.

Spcification semi formel des besoins .......................................................................... 43

2.3.1.

Identification des acteurs........................................................................................ 43

2.3.2.

Diagrammes des cas d'utilisation de la partie web................................................. 44

2.3.2.1.

Diagramme des cas dutilisation globale ........................................................ 44

2.3.2.2.

Diagramme des cas dutilisation de membre professionnel ........................... 46

2.3.2.3.

Diagramme des cas dutilisation de linternaute ............................................ 48

2.3.2.4.

Diagramme des cas dutilisation de M embre ................................................. 48

2.3.2.5.

Diagramme des cas dutilisation de ladministrateur ..................................... 50

2.3.3.

Diagrammes des cas d'utilisation de la partie M obile ............................................ 51

2.3.3.1.
2.3.4.

Diagramme des cas dutilisation globale ........................................................ 51

Classement des cas dutilisation par priorit.......................................................... 53

2.4.

Description dtaille des cas dutilisation ..................................................................... 55

2.5.

Conclusion ..................................................................................................................... 59

3.1.

Introduction ................................................................................................................... 61

3.2.

Conception gnrale ...................................................................................................... 61

3.2.1.

Architecture gnrale de la plateforme .................................................................. 61

3.2.2.

Diagramme de dploiement ................................................................................... 62

3.3.

Conception dtaille de la Base de donnes .................................................................. 63

3.3.1.

Dictionnaire de donnes ......................................................................................... 63

3.3.2.

Vue statique : Diagramme de classe ...................................................................... 64

3.4.

Conception structurelle de Smart Jobs IT selon modle M VC ..................................... 67

3.4.1.
3.5.

Structuration en packages de classes...................................................................... 67

Description de la vue dynamique .................................................................................. 70

3.5.1.

Diagrammes de squence ....................................................................................... 70

3.5.1.1. Diagramme de squence du cas dutilisation Authentification ..................... 71


3.5.1.2. Diagramme de squence du cas dutilisation Ajouter une annonce doffre
demploi.......................................................................................................................... 72
3.5.1.3. Diagramme de squence du cas dutilisation Dposer CV ............................ 73
3.5.1.4. Diagramme de squence du cas dutilisation M odifier Informations
Personnelles ................................................................................................................... 74
3.5.1.5. Diagramme de squence du cas dutilisation Enlever offre de favoris .......... 76
3.5.1.6. Diagramme de squence du cas dutilisation Rechercher offre emploi ......... 76
3.5.1.7. Diagramme de squence du cas dutilisation Postuler une offre demploi . 77

3.5.1.8. Diagramme de squence du cas dutilisation Connexion (partie Android)..... 79


3.5.1.9. Diagramme de squence du cas dutilisation Visualiser offres plus proche sur
Google M ap (partie Android) ......................................................................................... 80
3.5.1.10. Diagramme de squence du cas dutilisation Postuler une offre demploi
(partie Android) ................................................................................................................ 82
3.6.

Conclusion ..................................................................................................................... 83

4.1.

Introduction ................................................................................................................... 85

4.2.

Environnement de travail .............................................................................................. 85

4.2.1.

Environnement matriel ......................................................................................... 85

4.2.2.

Environnement logiciel .......................................................................................... 85

4.3.

4.2.2.1.

Environnement de dveloppement web.......................................................... 85

4.2.2.2.

Environnement de dveloppement mobile ..................................................... 86

4.2.2.3.

Environnement deconception UM L ............................................................... 87

4.2.2.4.

Environnement de la base de donnes ............................................................ 87

4.2.2.5.

Environnement de cration graphique ............................................................ 87

Technologies Utilises................................................................................................... 87

4.3.1.

Les services web ............................................................................................. 88

4.3.1.2.

Technique de go localisation GPS ................................................................ 89

4.3.1.3.

Google M ap API............................................................................................. 89

4.3.2.

JQuery ............................................................................................................. 89

4.3.2.2.

Ajax................................................................................................................. 89

4.3.2.3.

Twitter Bootstrap ............................................................................................ 90

Langage de dveloppement .................................................................................... 90

Implmentation .............................................................................................................. 91

4.4.1.

Implmentation de la partie web ............................................................................ 91

4.4.1.1.

Espace internaute ............................................................................................ 91

4.4.1.2.

Espace membre professionnel ...................................................................... 100

4.4.2.
4.5.

Technologies utiliss cot web............................................................................... 89

4.3.2.1.

4.3.3.
4.4.

Technologies utiliss cot mobile .......................................................................... 88

4.3.1.1.

Implmentation de la partie mobile...................................................................... 101

Conclusion ................................................................................................................... 105

Bibliography ........................................................................................................................... 109

Liste des figures


Figure 1. 1 : Logo Smart Thinking ........................................................................................... 11
Figure 1. 2 Interface Trouver Offre d'emploi .......................................................................... 13
Figure 1. 3 Interface Espace Formation ................................................................................... 14
Figure 1. 4 Interface d'accueil de Tunisie Travail .................................................................... 14
Figure 1. 5 : Interface d'accueil dECF..................................................................................... 15
Figure 1. 6 : Interfaces daccueil M enu Principale Recherche avanc................................... 18
Figure 1. 7 : Architecture M VC ............................................................................................... 21
Figure 1. 8 Comparatif des statistiques Google sur les recherches mondiales ayant pour mot
cl le nom dun framework PHP .............................................................................................. 23
Figure 1. 9 Comparaison des performances des framework PHP slectionns ....................... 28
Figure 1. 10 Structure statique d'application Yii ...................................................................... 31
Figure 1. 11: Droulement typique d'une application Yii ........................................................ 31
Figure 1. 12 : Vente mondiales 2012/2013 de smartphones en millions dunit ..................... 33
Figure 1. 13 : Rpartition des systmes dexploitation selon la vente des smart phones anne
2012/2013 ................................................................................................................................. 34
Figure 1. 14 : Architecture d'Android....................................................................................... 35
Figure 2. 1 Diagramme de cas dutilisation gnrale partie web ............................................. 45
Figure 2. 2 Diagramme de cas utilisation de M embre Professionnel ....................................... 47
Figure 2. 3 Diagramme de cas utilisation de l'internaute ......................................................... 48
Figure 2. 4 Diagramme de cas utilisation de M embre.............................................................. 49
Figure 2. 5 : Diagramme de cas utilisation de l'administrateur ................................................ 50
Figure 2. 6: Diagramme de cas dutilisation gnrale partie mobile........................................ 52
Figure 3. 1: Architecture de la plateforme Smart Job .............................................................. 61
Figure 3. 2 : Diagramme de dploiement du la plateforme Start Jobs IT ................................ 62
Figure 3. 3: Diagramme de classe gnral................................................................................ 66
Figure 3. 4:Diagramme de package de Smart Jobs IT.............................................................. 68
Figure 3. 5:Diagramme des packages de la couche mtier ...................................................... 69
Figure 3. 6 Diagramme de squence du cas dutilisation Connexion................................... 71
Figure 3. 7 : Diagramme de squence du cas dutilisation Ajouter une annonce doffre
emploi .................................................................................................................................... 72
Figure 3. 8 : Diagramme de squence du cas dutilisation Dposer CV .............................. 74
Figure 3. 9: Diagramme de squence du cas dutilisation M odifier information personnel 75
Figure 3. 10: Diagramme de squence du cas dutilisation Supprimer favoris .................... 76
Figure 3. 11:Diagramme de squence du cas dutilisation Rechercher offre emploi.......... 77
Figure 3. 12: Diagramme de squence du cas dutilisation Postuer une offre emploi ...... 78
Figure 3. 13: Diagramme de squence du cas dutilisation Authentification....................... 79
Figure 3. 14 : Diagramme de squence du cas dutilisation Visualiser offres plus proche sur
Google M ap ............................................................................................................................ 81
Figure 3. 16:Diagramme de squence du cas dutilisation Postuler une offre demploi .. 82

Figure 4. 1: Interface d'accueil de Smart Job IT....................................................................... 92


Figure 4. 2: Liste des annonces d'offre d'emploi ...................................................................... 93
Figure 4. 4: Dtaille annonce d'offre d'emploi ......................................................................... 94
Figure 4. 3: Liste des formations .............................................................................................. 94
Figure 4. 5: Espace membre ..................................................................................................... 95
Figure 4. 7: Grer favoris ......................................................................................................... 96
Figure 4. 6: Consulter candidatures .......................................................................................... 96
Figure 4. 8: Grer paramtres de compte ................................................................................. 97
Figure 4. 9: Grer profil............................................................................................................ 98
Figure 4. 10: Ajouter formation ou diplme ............................................................................ 99
Figure 4. 11: Ajouter informations personnel .......................................................................... 99
Figure 4. 11 : Espace recruteur ............................................................................................... 100
Figure 4. 12: M on espace recruteur ........................................................................................ 101
Figure 4. 13: Interface daccueil............................................................................................. 101
Figure 4. 14: Listes des annonces doffre demploi, concours, formations et vnement ..... 102
Figure 4. 15: Dtaille annonce doffre demploi .................................................................... 102
Figure 4. 16: Dtaille vnement
Figure 4. 17: Dtaille vnement ... 103
Figure 4. 18: Dtaille concours .............................................................................................. 104
Figure 4. 19: Visualiser les annonces sur Map ....................................................................... 104
Figure 4. 19: Ajouter prfrences ........................................................................................... 105

Liste des tables


Tableau 1. 1 Comparaison gnrale des sites web similaires Smart Job............................... 16
Tableau 1. 2: Frameworks PHP slectionns ........................................................................... 22
Tableau 1. 3: Tableau comparatif des diffrent framework PHP slectionns ........................ 27
Tableau 1. 4: Note globale des framework PHP slectionn ................................................... 28
Tableau2. 1 : Cycle de vie et planification des itrations
Tableau2. 2: Description du diagramme de cas dutilisation Ajouter une annonce
Tableau2. 3: Description du diagramme de cas dutilisation Rechercher une annonce
Tableau2. 4: Description du diagramme de cas dutilisation Crer compte

53
55
57
58

Tableau 3. 1. TableCompteUser ............................................................................................... 63


Tableau 3. 2. Table Profile entreprise ...................................................................................... 64
Tableau 4. 1:Liste environnements matriels ........................................................................... 85

Smart Job IT

| Introduction gnrale

Introduction gnrale
La mthode de recrutement dite classique consistait tout simplement placer une
annonce dans un magazine pertinent, journaux nationaux ou locaux taient les cibles
privilgies des recruteurs afin de diffuser leurs offres. Les candidats rpondaient ces
annonces afin dobtenir un entretien pour aboutir ou pas une embauche. Sur ce point, les
choses nont pas vraiment volu. Cependant, le volume dembauche que devait grer un
recruteur tait loin dtre ce quil est aujourdhui.
Larrive dinternet a bouscul la donne sur de nombreux points pour les recruteurs et les
chercheurs demploi. Les job boards (L'expression job board dsigne les sites emploi qui
sont apparus aux Etats-Unis au milieu des annes quatre-vingt-dix et, par extension, tous les
services actuels de ce type) apparaissent comme solution et prsente des avantages en
comparaison avec le processus classique de publication d'une annonce.
En Tunisie, le nombre d'offres d'emplois diffus sur internet est en essor progressive il atteint
un nouveau record en 2013 avec une hausse de 30% par rapport 2010.
La majorit des sites publiant ces annonces sont gnralistes, les sites spcialistes malgr leur
approche trs cible et moins chre sur des curs de mtiers ont beaucoup de mal faire face.
Avec plus dun million dutilisateurs de smart phones en Tunisie, il nest donc plus surprenant
dobserver que le nombre de chercheurs demploi utilisent leur tlphone mobile comme un
outil de recherche comme un autre et en hausse.
M alheureusement, les entreprises ne suivent pas toujours la cadence. Un trs faible
pourcentage dentre elles disposent dun site mobile donnant accs leurs offres demploi, et
moins de 1% disposent dune application mobil en Tunisie.
Cest dans cette optique se situe notre projet de stage de fin dtudes propos par Smart
Thinking. Il vise raliser une plateforme doffre demploi dans ciblant le domaine
informatique. Notre plateforme est constitu dune application web et une application mobile
offrant ces utilisateur au-del de dposer des annonces doffre demploi, formation, ou
vnement de les consulter et postuler des offre demploi avec une synchronisation totale
entre les deux applications.

|7

Smart Job IT

| Introduction gnrale

Le prsent rapport est organis en quatre chapitres. Le premier chapitre est consacr ltat
de lart dans lequel nous exposons et analysons les techniques qui peuvent servir notre
projet. Dans le deuxime chapitre nous allons spcifier les besoins et ltude pralable de
notre projet. Ensuite, dans le troisime chapitre nous le rservons pour dtailler ltude
conceptuelle de notre projet en prsentant les diffrents diagrammes qui lui sont associs.
Nous consacrons dans le dernier chapitre aux tapes de mise en uvre de notre application et
aux crans de la ralisation. Enfin, notre rapport est cltur dune conclusion gnrale
rcapitulant le travail que nous avons ralis et mentionnant ses perspectives.

|8

Chapitre 1 :

Etat de lArt

Smart Job IT

| Etat de lart

1.1. Introduction
Dans ce premier chapitre, nous commenons par la mise en place de notre projet dans son
cadre gnral. Nous prsentons ainsi, l'organisme d'accueil suivi par la prsentation de la
problmatique voque. Afin de bien russir notre travail, nous abordons ensuite une analyse
et une description des solutions existantes pour finir aborder la solution propose. Nous
terminons par ltude et le choix des approches de dveloppement web et mobile utilises et
nous prsentons en fin le langage de conception et la dmarche de dveloppement suivie
pour l'accomplissement de notre travail.

1.2. Cadre gnral du projet


Le prsent travail entre dans le cadre de la prparation du projet de fin dtudes, en vue de
l'obtention du diplme national d'ingnieur en informatique, option Gnie Logiciel, au sein de
lInstitut Suprieur des Sciences Appliques et de Technologie de Sousse (ISSAT-Sousse).
Ce stage sest droul au sein de la socit Smart Thinking pour une dure de quatre mois
allant du 1 fvrier jusquau 31 mai 2014.
Ce projet consiste au dveloppement dune plateforme doffre demploi dans le domaine de
linformatique qui supporte une application web et mobile pour le dpt et la postulation des
annonces doffres demploi, concours, formations et vnements.

1.3. Prsentation de lorganisme daccueil Smart Thinking


S mart Thinking : Est une socit sise M onastir depuis2013, spcialise dans le
dveloppement informatique sous la responsabilit du grant, M rAmine Zakhama et a pour
activits :

Application Desktop : dveloppement et maintenance de logiciels.

Application Web : conception et maintenance de sites internet, relooking de sites web


existant.

Application M obile : conception et dveloppement des applications mobiles Android.

Rfrencement et positionnement de sites web de Commerce lectronique.

| 10

Smart Job IT

| Etat de lart

Figure 1. 1 : Logo Smart T hinking

1.4. Problmatique
On dnombre en Tunisie une dizaine de sites doffres demploi gnralistes encore dits
jobboards gnralistes, ce sont des modles de site emploi permettant aux demandeurs
demploi daccder une liste doffres demploi afin de dposer leurs CVs dans une base de
donnes destination des recruteurs. Ces jobboards sont qualifis de gnraliste par le fait
quils proposent des offres demploi tout type de demandeur demploi, quel que soit son
mtier, son secteur dactivit ou encore son niveau dtude.
A ces jobboards viennent sajouter les rseaux sociaux tels que Facebook, LinkedIn ou
Viadeo, qui dveloppent galement des outils de mise en ligne dannonces demploi et de
solutions pour le recrutement.
Cette diversit de canaux de recrutement sexplique notamment par lintrt croissant du
monde de recrutement via Internet. Du ct des candidats 40% dclarent avoir recours aux
sites de recrutement en ligne, en fait un candidat cherche un outil doffre demploi qui porte la
rponse toutes ces demandes (e.g. offres demploi, formations, stages, concours et
vnements) dans le secteur dactivit qui lintresse, cette contrainte nest pas toujours
vrifier car actuellement il nya aucun jobboard tunisien qui englobe toutes ces
fonctionnalits. Un autre problme qui se pose pour un chercheur demploi est quil nexiste
pas un site doffre demploi tunisien spcialis proposant des offres demploi un public
restreint, selon une spcialisation sur une famille de mtiers, sur un secteur dactivit
(agriculture, environnement ,etc.), un niveau dtude (BAC+2, diplme dingnieur ,etc.), un
niveau dexprience (jeune diplm, senior ,etc.), sur un statut (cadre) ou encore un niveau de
rmunration souhait.
Le chercheur demploi est sens dans la majorit des cas raliser une recherche qui peut tre
fastidieuse pour trouver les offres qui conviennent son secteur dactivit.

| 11

Smart Job IT

| Etat de lart

Du cot des recruteurs cet environnement se complexifie encore, ils doivent choisir face une
diversification de canaux de recrutement. Ce choix est gnralement conditionn par trois
variables principales : la cohrence entre le profil recherch par le recruteur et le profil des
visiteurs qui se rendent sur le site cibl, le cot dutilisation du site (crdit dannonce) et les
mcanismes de filtrage des cv postuls concernant une annonce.
En outre, bien quon compte en Tunisie plus dun million dutilisateur de smarte phone, on y
trouve quune seule application Androde de suivi doffre demploi, de mme cette
application est gnraliste.
Ainsi une plateforme permettant dassurer lefficacit du processus de gestion des annonces
dune part (e.g. Une recherche optimis doffres demploi, stages, formations, concours et
vnements) et un suivi sur le web et en temps rel de ces offres travers une application web
et une application mobile semblent invitable pour rpondre aux attentes des demandeurs
demploi et pourrait russir la stratgie ressource humaine des professionnelles.
Avant de procder dtailler la solution aux problmes quon vient de citer ci-dessus nous
allons aborder dans ce qui suit une tude dtaille des solutions existantes ressemblant dans
leurs fonctionnalit au travail quon vient de raliser.

1.5. Etude de lexistant


La ralisation de tout projet doit tre prcde par une tude de lexistant qui dtermine les
points faibles et les points forts des systmes actuels et les besoins du client en vue de les
prendre en considration lors de la conception et de la ralisation.
Dans cette section, on mne alors une tude base sur les observations de diffrentes
applications web et Androde similaires aux applications quon est demand de raliser. Cette
tude nous permet de dgager et donner leurs atouts et leurs faiblesses. Ces observations
permettront de dterminer les besoins afin de les traiter.

1.5.1. Applications Web similaires


Le choix des jobboards analyser est bas sur le nombre dannonce dispos sur ces sites web
(date de l'enqute : M ars 2014), on a choisie alors de traiter les applications web qui disposent
de plus grand nombre dannonces, ils sont prsentes dans lordre dcroissant ci-dessous :

| 12

Smart Job IT

| Etat de lart

Tanitjobs : est un portail doffre demploi qui compte plus de 2000 annonces entre
annonces doffre demploi et annonces de formation.

Tunisie Travail : est un portail doffre demploi qui compte plus de1800 annonces
entre annonces offre demploi et concours de fonction public.

ECF Emploi Concours Formations : est un site web doffre demploi qui compte
plus de 1900annonces entre formations, coucous et offre demploi.

1.5.1.1. Etude de lapplication Tanitjobs


Tanitjobs est un portail doffre demploi permettant un accs plusieurs espaces : espace
utilisateur, espace entreprise et espace formation avec la possibilit de dposer des offres
demploi et des formations pour lespace entreprise et le dpt dun cv, la postulation dune
offre et les prs inscription aux formations pour les membres de site.
La Figure 1.2 reprsente laffichage des offres demploi publies lors de laccs la rubrique
Trouver emploi.

Figure 1. 2 Interface T rouver Offre d'emploi

La Figure 1.3 reprsente laffichage de lespace formation quon peut y accd travers la
rubrique Trouver formation.

| 13

Smart Job IT

| Etat de lart

Figure 1. 3 Interface Espace Formation

Etude de lapplication Tunisie Travail


Tunisie Travail est un portail doffre demploi mettant disposition de ces utilisateurs un
espace pour consulter les offres demploi et les concours de fonction public et un espace
professionnel pour dposer les annonces demploi.
La Figure 1.4 reprsente linterface daccueil de site web Tunisie Travail proposant les offres
et les concours les plus rcentes.

Figure 1. 4 Interface d'accueil de T unisie T ravail

| 14

Smart Job IT

| Etat de lart

1.5.1.2. Etude de lapplication ECF Emploi Concours Formations


ECF est un site web doffre demploi constitu de deux espaces : espace professionnel mettant
disposition des professionnels un espace pour publier leurs annonces demploi et cycle de
formation professionnel, ainsi quun espace utilisateur dans lequel un chercheur pourrait
dposer son cv, consulter les offres, formations et concours.

Figure 1. 5 : Interface d'accueil dECF

La Figure 1.5 reprsente linterface daccueil ECF, ce site propose dans son interface
daccueil daccder lun de ces deux espaces, espace entreprise ou espace candidat avec le
nombre des annonces dpos pour les concours et les offres demploi.

1.5.2. Synthse des applications web existantes


Pour chaque site mentionn si dessus, nous avons propos un petit descriptif qui permet
de comprendre en gnrale son intrt. Dans le tableau ci-dessous, nous dtaillons aussi
les services annexes qui sont ventuellement proposs par chaque site : Blog, infos pratiques,
conseils, dpt de CV, alertes
Pour juger de leurs atouts et leurs faiblesses, nous les avons tests en nous mettant dans la
peau dun internaute en recherche demplois (date de l'enqute : M ars 2014). Nous avons
notamment choisi un chantillon de mtiers toujours les mmes : ingnieur informatique,
| 15

Smart Job IT

| Etat de lart

technicien dtudes, chef de produit, secrtaire comptable, infographiste. Pour observer


lergonomie de site, nous avons propos une note de 1 3.
T ableau 1. 1 Comparaison gnrale des sites web similaires Smart Job
Framework
Tanitjobs

Tunisie Travail

ECF

200

1800

1900

Gnraliste

Gnraliste

Gnraliste

Critres
Nombre dannonces
publis
Catgorie de site

Fonctionnalits offertes aux internautes


Espace membre

Oui

Non

Oui

Dpt CV

Oui

Non

Oui

Postuler offre demploi

Oui

Non

Oui

Oui

Non

Oui

Conseils et infos
pratiques

Oui

Oui

Oui

Blog

Non

Non

Non

Test comptence

Non

Non

Non

Recherche avance
(entreprise, ville)

Non

Oui

Non

Alertes e-mail
Annonces

Fonctionnalits offertes aux Employeurs


Espace Employeur

Oui

Oui

Oui

Espace gestion de
candidatures

Oui

Oui

Oui

Filtrage candidatures

Non

Non

Non

Recherche Cvthque

Oui

Non

Non

Autres fonctionnalits
Annonces concours

Non

Oui

Oui

Annonces formations

Oui

Non

Oui

Annonces vnements

Non

Non

Non

| 16

Smart Job IT

| Etat de lart

Autre
Ergonomie

Non

Non

Non

Application Mobile
Associe

Daprs ce qui a t expliqu ci haut, on constate que la plupart de ces sites offrent des
fonctionnalits assez identiques. Ces sites sont tous gnralistes offrant des espaces pour
utilisateur et professionnel permettant le dpt et le suivie doffres demploi, concours et
formations .
On remarque aussi que ces applications souffrent presque des mmes lacunes, aucune
application web parmi les applications dtailles prcdemment ne permet doffrir tous les
types dannonces (e.g. Offres emploi, formations, concours et vnement), dautre part il ny
a aucun site qui offre une gestion complte des cv et candidatures pour lemployeur et en fin il
ny a aucune application mobile associ ces sites.

1.5.3. Applications Mobiles similaires


On mne maintenant une tude base sur lobservation de la seule application mobile publie
sur Google Play et similaires l'application mobile quon est demand de raliser, cette
application est Emploi Tunisie. Cette tude nous permet de dgager et donner ces avantages
ainsi que ces inconvnients.
1.5.3.1. Etude de lapplication Emploi Tunisie
Emploi Tunisie est une application Android gratuite, qui permet de chercher et de publier une
offre ou une demande d'emploi, avec ou sans inscription.
Avec linscription, en tant que Candidat ou bien en tant que entreprise cette application offre
la possibilit de:
diter son profil.
diter ces annonces publies.
Ajouter les annonces aux favoris.

| 17

Smart Job IT

| Etat de lart

Cette application permet aussi dactiver la fonctionnalit ALERTES, qui permet de recevoir
des alertes mails chaque fois qu'une annonce correspondant au choix dutilisateur a t
publie.

Figure 1. 6 : Interfaces daccueil, Menu Principale etRecherche avanc

1.5.4. Synthse de lapplication mobile existante


Avantages dEmploi Tunisie
Possibilit de dpt doffre demploi.
Possibilit de dpt de demande demploi.
Recherche multi critres (Secteur d'activit, type d'emploi, type de contrat, niveau
d'tudes, niveau d'exprience, rgion).
Gestion de favoris (ajout et suppression dune annonce aux favoris).
La fonctionnalit Alerte, qui permet de recevoir des alertes mails chaque fois
qu'une annonce correspondant ces choix a t publie.
Inconvnients dEmploi Tunisie
Absence dun systme de cache qui permet denregistrer les offres demploi en
absence de connexion Internet.

| 18

Smart Job IT

| Etat de lart

Cette application est limit la publication des offres demploi, elle ne traite pas
les concours, formations ou les vnements.
Il na y a pas une fonction de go localisation qui permet de positionner sur
Google M ap lemplacement des diffrents offres demploi.

1.6. Solutions proposes


En dtaillant la problmatique et en tudiant les solutions web et mobile dj existante on peut
maintenant noncer les objectifs atteindre durant ce projet de fin d'tudes.
Notre solution consiste concevoir et raliser une Platform doffre demploi spcialise en
secteur informatique(choix de domaine doffre demploi exig par la socit).Cette plateforme
innovante et quasi-unique sur le march tunisien est constitu dune application web de dpt
et suivie doffres demploi, stages, formations, vnements et concours et dune application
mobile de suivi temps rel des offres demploi, concours, vnements et formations.
Dun point de vue fonctionnel et pratique, notre plateforme est compose de trois produits :

Une application web conue de deux espaces :


Espace professionnel permettant aux professionnels de dposer et grer leurs
annonces demploi, stages, formations, vnements et concours.
Et dun espace utilisateur permettant au chercheur demploi au-del de chercher un
offre, de dposer un cv, de postuler aux offres qui lui convient et de mentionner sa
participation un vnement ou une formation.

Une application Android ddi aux chercheurs demploi en leur permettant de suivre
en temps rel tous les offres demploi, stages, vnements, formations et concours
ainsi que la possibilit de postuler leurs candidatures une offre demploi et
mentionner leur participation aux vnement et concours publis.

Espace Administrateur pour la gestion des deux espaces dcrits prcdemment ainsi
que la gestion de la publicit et de blog.

1.7. Technologies de dveloppement : Etude et choix


Nous constatons la prsence de plusieurs plateformes de dveloppement des applications web
et mobiles. Elles possdent leurs spcificits propres. Nous entamons alors dans cette section
| 19

Smart Job IT

| Etat de lart

une tude dtaille sur les diffrentes technologies web et mobiles existantes sur le march
pour aboutir au choix des technologies qui conviennent le plus au contexte de notre travail.

1.7.1. Technologies de dveloppement web


Au moment dindustrialiser ses dveloppements, toute entreprise cherche le moyen davoir la
meilleure solution pour grer son environnement. Cela passe donc bien entendu par le choix
dun IDE, le choix dun gestionnaire de version, mais surtout par le choix dun framework
PHP. Celui-ci permet en effet de forcer les dveloppeurs utiliser des conventions dans leur
faon de coder, et donc nimporte quel dveloppeur de pouvoir prendre en main lensemble
du projet rapidement par la suite. Il permet aussi de guider les dveloppeurs dans le choix
technologique et darchitecture.
Avant de passer aux choix de framework utiliser parmi les diffrents framework PHP
existant sur le march on va tout dabord expliquer lintrt dun framework PHP.
1.7.1.1. Framework PHP : Lintrt d'un Framework
Le terme framework se traduit littralement par cadre de travail : dans le cas des
frameworks Web, concrtement, il s'agit d'un ensemble de bibliothques et d'outils qui
permettent d'amliorer la conception d'applications Web, en apportant des fonctionnalits
supplmentaires tout en ajoutant de la rigueur dans leur dveloppement.
Le grand avantage des frameworks est de proposer une structure dj implante. Cela permet
dconomiser du temps dans la phase de conception dune application PHP.
On peut dfinir un framework comme une aide la ralisation dapplication .Il propose un
mcanisme de fonctionnement bas sur la rutilisabilit. A lheure actuelle, on trouve une
multitude de frameworks prts tre utiliss. Un framework est gnralement divis en deux
parties : i) Structure dapplication (architecture logiciel) et ii) Bibliothque de composants
(bote outils)
Ce qui fait que les frameworks sont de plus en plus utiliss, cest aussi la facilit de pouvoir
les adapter au besoin dun projet. La plupart de ces frameworks sont en plus Open Source. Ce
qui fait quil ny a pas de licence devoir payer pour les utiliser [2].

| 20

Smart Job IT

| Etat de lart

Une bonne partie de ces frameworks PHP ont une architecture de type M VC (M odel View
Controller). On appelle architecture la manire qu un framework de fonctionner. La figure
1.7 montre comment se compose cette architecture :

Figure 1. 7 : Architecture MVC[3]

M VC (M odel-View-Controller, soit M odle-Vue-Contrleur) est une architecture qui intgre


trois niveaux de conception suivants :

Le M odle : il s'agit du comportement de l'application. Ce niveau intgre


l'ensemble des interactions avec la base de donnes et le traitement des donnes : il
contient et manipule toutes les donnes, en grant leur slection, leur insertion, leur
modification ou leur suppression (CRUD). Pour cela, il propose des mthodes
spcifiques la bonne tenue de ces actions.

La Vue : il s'agit de l'interface que l'utilisateur va manipuler. Elle habille les


donnes transmises par le modle et reoit toutes les actions effectues par
l'utilisateur, sans en assurer le traitement : les actions sont transfres au contrleur.

Le Contrleur : il prend en charge la gestion des vnements pour mettre jour la


vue ou synchroniser des informations via le modle. Il reoit toutes les actions
effectues par l'utilisateur, et effectue la dtection d'erreurs (vrification du
remplissage correct des champs d'un formulaire, par exemple). Tout comme la vue,
le contrleur n'effectue aucune modification sur les donnes, il est uniquement
charg d'appeler le modle et de renvoyer la vue concerne [4].

| 21

Smart Job IT

| Etat de lart

Ainsi, bien quun framework soit cens amliorer la productivit de nos dveloppements, il
existe toujours une phase au cours de laquelle le cot est plus important que le gain : le choix
dun framework doitdonc tre mrement rflchi.
1.7.1.2.Panorama des frameworks du march
Il existe actuellement un grand nombre de frameworks PHP sur le march. Le critre de
slection tait de choisir les frameworks les plus rpandus dans la communaut de
dveloppement PHP.
Aprs tude, cinq frameworks semblent rgulirement tre utiliss : Zend Framework,
Symfony, CakePHP, CodeIgniter et Yes It Isconnue sur le nom Yii.
T ableau 1. 2: Frameworks PHP slectionns
Yii framework

Zend

Symfony2

Cake PHP

Code Igniter

Nous avons fait recours Google Trends pour comparer la popularit de ces frameworks dans
le moteur de recherche Google (date de l'enqute : M ars 2014).
Le rsultat de comparaison de la popularit de ces frameworks dans le moteur de recherche
Google est mentionn dans la figure 1.8 suivante :

| 22

Smart Job IT

| Etat de lart

Figure 1. 8 Comparatif des statistiques Google sur les recherches mondiales ayant pour mot cl le
nom dun framework PHP

On constate que ces frameworks ont dcoll fin 2005. CodeIgniter et Yii, les plus jeunes, mais
qui ont su dtrner CakePHP et Symfony, ils rattrapent mme Zend qui t le premier du
classement pendant toute lanne 2013.
Zend est en 2me position plbiscit par les entreprises, mais avec un net changement de
tendance depuis 2009, CakePHP et Symfony, lancs la mme priode, ils ont une popularit
semblable.
Comme la montre la figure ci-dessus ces statistiques ne refltent pas lintrt de chaque
framework, ils permettent de positionner la part de chacun deux sur le march. Pour faire le
bon choix dun framework des critres de choix doivent tre mentionns .Cest ce qui nous
expliquons davantage dans la section suivante.
1.7.1.3.Critres de comparaison des framework PHP
Il existe plusieurs mthodes de comparaison des logiciels libres mais non spcifiques aux
frameworks PHP. La socit SM ILE a cr une mthode spcifique aux frameworks PHP.

| 23

Smart Job IT

| Etat de lart

Cette socit a cr un ouvrage parlant des frameworks. Elle a ensuite utilis des critres de
comparaisons pour les valuer. Il faut noter que cette mthode nest pas reconnue
officiellement comme un standard.
Voici donc un choix de critres propos par la socit SM ILE pouvant diffrencier un bon
dun moins bon framework :

Version de PHP support : ce critre dtermine avec quelle version de PHP un


framework est compatible.

Documentation : ce critre est simple, mais important. Il sagit de dterminer si le


framework propose une documentation claire est complte.

Communaut : ce critre sert savoir si derrire un framework, une importante


communaut dutilisateurs existe. Lavantage dune grande communaut est quen cas de
problmes ou de questions, il sera plus facile de trouver une solution adquate par le biais
de forums, de blogs que si la communaut est faible ou inexistante.

Tests unitaires automatiss : ce critre dtermine si des tests automatiques sont intgrs
un framework.

Gestion des droits : ce critre dtermine sil est possible de grer diffrents types
dutilisateurs, cest dire de pouvoir dfinir des droits diffrents (lecture, modification,
suppression) selon les utilisateurs utilisant une application

Ajax : Plus largement les technologies du Web 2.0 , est une des modes du
dveloppement Web depuis 2005/2006, et est trs pris des dveloppeurs et des
utilisateurs. Tout bon framework doit donc proposer des moyens aiss pour le mettre en
uvre.
ORM utiliss : Object-Relational-M apping (ORM ) sont des composants qui aide
transformer notre accs bases de donnes de faon conviviale en un accs oriente objet.
Au lieu de manipuler des lignes de base de donnes (enregistrements / "records"), on
manipule des objets et on peut la plupart du temps oublier tous les requtes SQL utiliss en
arrire-plan.
Outillage : le terme outillage englobe tous les lments non ncessaires au bon
fonctionnement d'un framework, mais qui fournissent de l'assistance au dveloppement.

Scaffolding : Le scaffolding, que l'on pourrait littralement traduire par

chafaudage , est une structure de base permettant d'effectuer des oprations de type
CRUD (Create, Retrieve, Update, Delete) sur une structure de donnes particulire.

| 24

Smart Job IT

| Etat de lart

Journaux (systme de logs): Un framework doit tre capable de produire des

journaux d'excution, qui doivent fournir par dfaut suffisamment d'informations


pour que le dveloppeur soit en mesure de comprendre les tapes qui ont men une
erreur.
Taille de la bibliothque doutils : ce critre dtermine si un framework propose un
nombre consquent doutils. Ce critre est intressant en fonction de la complexit du
projet. Plus ce dernier aura des spcificits particulire, plus la probabilit de trouver
loutil adquat sera importante.
Performances : Bien videmment, le critre de la performance est au premier plan dans
l'valuation dun framework. Le propre du Web est la ractivit, la rapidit et la facilit
d'accs linformation. Aussi, mme s'il est extrmement bien conu en termes de
structure et d'architecture, un framework aux performances dplorables ne permettra pas
des dveloppements et une maintenance d'une application Web satisfaisants [5].
1.7.1.4. Prsentation des frameworks slectionns
Nous dtaillons dans ce qui suit les principales fonctionnalits des frameworks PHP que nous
avons choisi prcdemment.
a) Framework Yii
Le Yii Framework ("Yes, It Is") est un framework pour PHP 5 et utilise le paradigme de
programmation oriente objet. Il est destin au dveloppement d'applications Web. Yii
ncessite minimalement la version 5.1.0 de PHP. Une documentation complte est
disponible. La communaut autour du projet est trs active. Le crateur et dveloppeur
principal de Yii est Qiang Xu, qui a galement dvelopp et maintenu le framework PHP
Prado pendant 3 ans [6].
b) Framework Zend
Le Zend Framework est un framework pour PHP 5 cr en mars 2006 par Zend
Technologies. Il est distribu sous la Licence BSD M odifie. Le Zend Framework, aussi
nomm ZF, a t dvelopp dans le but de simplifier le dveloppement Web tout en
recommandant les bonnes pratiques et la conception oriente objets en offrant des outils
aux dveloppeurs. ZF permet aussi d'utiliser nativement le principe de M VC (M odleVue-Contrleur) mais ne l'oblige pas[7].
c) Framework S ymfony
| 25

Smart Job IT

| Etat de lart

Symfony est un framework M VC libre crit en PHP 5. En tant que framework, il facilite
et acclre le dveloppement de sites et d'applications Internet et Intranet.
Symfony 1.x utilise PHP5 (version suprieur ou gale 5.2.4). Symfony 2.x requiert une
version de PHP suprieure ou gale 5.3.3 [8]
d) Cake PHP
CakePHP est un framework web libre crit en PHP distribu sous licence M IT. Il suit le
motif de conception M odle-Vue-Contrleur[9].
e) Code Igniter
CodeIgniter est un framework libre crit en PHP. Il suit le motif de conception M VC et
s'inspire du fonctionnement de Ruby on Rails. Les versions infrieures la 2.0.0 sont
compatibles avec PHP 4 et 5, tandis que celles suprieures la 2.0.0 ne sont compatibles
qu'avec PHP 5.1.6 ou plus. La version 3.0 en cours de dveloppement requiert PHP 5.2.4.
La documentation de CodeIgniter est complte. La communaut du framework est trs
active ce qui permet de trouver de l'aide trs rapidement. De plus, les membres de la
communaut de CodeIgniter ont dvelopp de nombreuses bibliothques rutilisables.
CodeIgniter encourage fortement l'utilisation de l'architecture M odle-Vue-Contrleur.
Le framework est compatible avec PHP 5 partir de la version 2.0.0 [10].
1.7.1.5. S ynthse des frameworks slectionns
Nous allons maintenant comparer les diffrents frameworks prsents dans la section
prcdente en nous basant sur les critres dj identifis. Il est noter que les informations
recueillis grce lanalyse sont principalement statistiques. En effet, en raison du temps
ncessaire quil aurait fallu pour tester chaque framework sparment, suivant le type de
critre, cela aurait t long. Le but de ce tableau est de pouvoir dfinir une slection des
frameworks les plus intressants avec lesquels on pourrait raliser notre projet.
Pour chaque fonctionnalit, la rgle de notation est la suivante :

0 si la fonctionnalit n'est pas couvert,

1 si la fonctionnalit est partiellement couvert,

2 si la fonctionnalit est totalement couverte.

| 26

Smart Job IT

| Etat de lart

T ableau 1. 3: T ableau comparatif des diffrent framework PHP slectionns [11]


Framework
Critres
Version PHP

Cake PHP

Code Igniter

V2

V2

5.2

5.1.6

Symfony2

Yii framework

Zend

5.3.2

5.1.0

5.3

Documentation
Documentation

Communaut

T utoriaux

Fonctionnalit
T est unitaire
automatique
Gestion des
droits

2
DAO/AR1
1
PHP

1
PHP

1
Custom
1
PHP

1
PHP

2
Propel/Doctrine
1
PHP ou smarty

T aille de la
bibliothque
doutils

Ajax

Outillage

Gnrateur de

ORM
T emplate

code

CLI2

CLI

2
Yii CLI, Gii

(Web based)

Exprime en pourcentage du score maximal atteignable, voici la rpartition des notes de ces
cinq frameworks suivant les grandes catgories analyses :

DAO: Database Access Objects / AR: Active Record

CLI : Commande Line Interface

| 27

Smart Job IT

| Etat de lart

Tableau 1. 4: Note globale des framework PHP slectionn [11]


Framework

Cake PHP V2

Code Igniter V2

Symfony2

Yii

Documentation

90%

100%

90%

80%

100%

Fonctionnalit

60%

50%

80%

90%

60%

moyenne

75%

75%

85%

85%

80%

Critre

Zend

Figure 1. 9 Comparaison des performances des framework PHP slectionns [12]

Ces deux tableaux permettent davoir une premire analyse des frameworks slectionns. On
constate que la plupart des frameworks ont des rsultats assez identiques. En tte de
classement en trouve Symfony et Yii avec la mme moyenne suivie par Zend deuxime de
classement.
Ltude faite dans les tableaux prcdents ne permet pas de mettre en valeur le critre de la
performance, un critre essentiel quil faut prendre en considration. On a cherch alors des
tests de performances (benchmarks) qui se proposent de comparer l'efficacit ces diffrents
frameworks.
Dans le graphique suivant, RPS est synonyme de request per second (demande par
seconde), qui dcrit le nombre de requte quune application peut traiter par seconde dans un
framework, le test effectu dans ce benchmarks est un simple Hello Word . Plus le nombre
de requte est important, plus le framework est efficace.

| 28

Smart Job IT

| Etat de lart

On constate que Yii surpasse tous les autres Framework dans cette comparaison avec est sans
lutilisation dAPC3 (Alternative PHP Cache).
Yii est donc un framework de haute performance. Comme le montre le graphique ci-dessous.
L'avantage de la performance de Yii est particulirement important lorsque l'extension APC
est active.
Suite aux rsultats de ces tudes ,nous avons choisi donc le framework rpondant le mieux
aux critres les plus importants pour nous comme la qualit et le nombre de fonctionnalit
offertes qui peuvent facilit la tche de dveloppement dune part, et la qualit de la
documentation et la mise en place d'une communaut dynamique facteurs primordiales pour
permettre un apprentissage ais du framework dune autre part .
Aprs le test de deux tops frameworks Yii et Symfony, on a constat que Symfony ncessitait
un temps dapprentissage trs important contrainte quon navait pas vue le dlai restreint
quon avait, alors que la prise en main de Yii tait plus rapide et efficace.
Partant de cette comparaison nous avons conclu que est Yii est le framework le plusadapt
nos besoins et par consquent au contexte gnrale du sujet en question. Pour ces raisons nous
dtaillons ce framework dans ce qui suit.
1.7.1.6. Analyse de Framework Yii
Nous prsentons dans cette section les caractristiques fondamentaux ainsi que les points forts
et faible de framework Yii.
a) Prsentation du Framework
Le Yii Framework (pour Yes, it is) est un framework PHP open-source et gratuit amorc
par Qiang Xue en 2008, qui a galement dvelopp et maintenu le framework PHP Prado
pendant 3 ans. Yii est d'ailleurs le successeur officiel de Prado. Cest un framework pour
PHP 5 et utilise le paradigme de programmation oriente objet. Il est destin au
dveloppement d'applications Web. Yii ncessite minimalement la version 5.1.0 de PHP.
Une documentation complte est disponible. La communaut autour du projet est trs
active.

APC (pour Alternative PHP Cache) est une extension PECL (PHP Extension Community Library) libre et
gratuite destine amliorer les performances des applications crites en langage PHP en prcompilant le code
intermdiaire et en le plaant dans un cache [13]

| 29

Smart Job IT

| Etat de lart

Comme la plupart des frameworks PHP, Yii est bas sur le modle M VC. Les principales
caractristiques de Yii Framework sont : POO, M VC, DAO/ActiveRecord, I18N/L10N 4,
caching, authentification, contrle daccs, scaffolding, testing, etc.
Yii nest ni le driv dun projet existant ni lagrgation de composants tiers. Ce
framework rsulte de la riche exprience des auteurs ainsi que de lanalyse des meilleurs
framework et applications Web du march [14].

b) Points forts du framework


Les points forts de Yii sont l'efficacit, la richesse fonctionnelle et une documentation
claire.
Yii est un framework gnrique conu pour faciliter la programmation web. En ce sens, il
peut tre utilis pour toutes sortes d'applications web. Cependant, sa faible empreinte
mmoire et ses systmes de cache sophistiqus le rendent particulirement adapt au
dveloppement d'applications forte audience telles que des portails, des forums, des
sites de gestion de contenu (CM S), des sites e-commerce, etc [15].
Fait remarquable, Yii dispose de la meilleur performance parmi les framework quon
vient de citer prcdemment, parmi les raisons de cette performance est quil utilise
largement la technique lazy loading. Par exemple, il ninclut pas une class jusqu' ce
quelle soit utilise pour la premire fois et il ne cre pas un objet jusqu' ce que l'objet
soit accessible pour la premire fois. D'autres frameworks souffrent de la perte de
performance car ils permettent une fonctionnalit (tel que : la connexion la base de
donne, les sessions dutilisateur), peu importe qu'il soit utilis ou non au cours d'une
requte.
c) Points faibles du framework
Yii est un framework encore peu connu dans l'univers Francophone, ce qui explique que
la communaut est assez restreinte.
d) Aspect technique de Yii framework

Modle-Vue-Contrleur (MVC)

I18N/L10N : internationalisation / localisation

| 30

Smart Job IT

| Etat de lart

Yii implmente le modle modle-vue-contrleur (M VC) de conception, qui est


largement adopte dans la programmation Web. Pour la mise en uvre M VC, Yii
introduit galement une premire commande, appele Application , qui encapsule le
contexte d'excution pour le traitement d'une requte. Application recueille des
informations sur une requte de l'utilisateur, puis il envoie un contrleur appropri pour
une manipulation ultrieure.
Le schma suivant montre la structure statique d'une application Yii:

Figure 1. 10 Structure statique d'application Yii[16]

Flux de travail typique

Le schma suivant montre un flux de travail typique d'une application Yii quand il traite
une demande de lutilisateur :

Figure 1. 11: Droulement typique d'une application Yii [17]

| 31

Smart Job IT

1.

| Etat de lart

Un utilisateur envoie une requte au

lien http://www.example.com/index.php?r=post/show&id=1 et le serveur Web traite la


requte en excutant le script bootstrap index.php.
2.

Le script d'amorage cre une Application exemple et l'excute.

3.

L'application obtient des informations dtailles sur demande de l'utilisateur partir

un composant d'application nomm request.


4.

L'application dtermine la demande controller et action avec l'aide d'un composant

d'application nomm urlManager. Pour cet exemple, le contrleur est post, qui se rfre
la classe PostController, et l'action est show, dont relle signification est dtermine par le
contrleur.
5.

L'application cre une instance du contrleur demand en outre traiter la demande de

l'utilisateur. Le contrleur dtermine que l'action show fait rfrence une mthode
nomme actionShow dans la classe contrleur. il a ensuite cre et excute des filtres (par
exemple l'accs de contrle, analyse comparative) associ avec cette action. L'action est
excute si elle est autorise par les filtres.
6.

L'action se lit un Post model dont l'ID est 1 partir de la base de donnes.

7.

L'action rend un view nomm show avec le modle Post.

8.

Le point de vue lit et affiche les attributs du modle Post.

9.

La vue excute une widgets.

10. Le rsultat rendu de la vue est intgr dans un layout.


11. L'action complte la vue de rendu et affiche le rsultat l'utilisateur. [17]

1.7.2. Technologies de dveloppement mobile


Smart Thinking lorganisme qui nous a accueillis, nous a impos dutiliser la technologie de
dveloppement Android pour le dveloppement de notre application mobile. Nous prsentons
donc dans ce qui suit la part dAndroid sur le march des smartes phone mobile ainsi que les
principaux aspects techniques et architecturaux de cette technologie.
1.7.2.1.Gnralits sur les tlphones mobiles intelligents
Les technologies mobiles prennent de plus en plus de place sur le march et l'utilisation des
nouvelles technologies devient indispensable et c'est trs important de suivre les nouveauts et
tre la page. Les tlphones mobiles intelligents ou Smartphones sont des tlphones qui

| 32

Smart Job IT

| Etat de lart

intgrent totalement les fonctionnalits d'un ordinateur. Le nombre dabonnement avec un


Smartphone tait de 1.1 milliard fin 2012.
Le terme Smartphone est utilis pour dsigner les tlphones volus qui possdent des
fonctions proches dun ordinateur personnel grce un systme dexploitation (OS) volu
permettant de grer lensemble des fonctionnalits bureautiques et multimdia propres un
Smartphone mais aussi de tlcharger des applications tierces depuis une application store.
Le mobile intelligent a vcu une norme intgration de technologies telles que le Bluetooth5,
Wifi6 ,3G 7 etc. Avec sa grande capacit de stockage et l'implmentation des processus
puissants, cet appareil devient de plus en plus performant.
Concernant les fabricants des tlphones intelligents, on trouve Samsung qui fournit la plus
grande partie du march (1/3 des Smartphones europens sont des Samsung) poursuivi par
Apple (1/5 des iPhone). La figure 1.12 illustre le taux de ventes mondiales de smartphones en
2012 et 2013.

Figure 1. 12 : Vente mondiales 2012/2013 de smart phones en millions dunit [18]

En effet, les Smartphones sont dots dun systme dexploitation qui gre leurs
fonctionnalits. Ces dernires annes, les systmes dexploitation les plus rpandus sont :
Android (rachet par Google), IOS (dvelopp par Apple pour l'iPhone), Windows M obile
(dvelopp par M icrosoft). Ils sont illustrs sur la figure 1.13 suivante.

5
6
7

Bluetooth : est une technologie de rseau personnel sans fil.


Wifi : Wireless Fideleti permet de relier sans fil plusieurs appareils.
3G : Troisime Gnration dsigne une gnration de norme de tlphonie mobile.

| 33

Smart Job IT

| Etat de lart

Figure 1. 13 : Rpartition des systmes dexploitation selon la vente des smart phones anne
2012/2013[19]

Vu quAndroid occupe la plus grande part des systmes dexploitation mobile sur le march
et sous les contraintes imposs par Smart Thinking lorganisme qui nous a accueillis pendant
ce stage, nous avons choisi Android comme systme dexploitation pour le dveloppement de
notre application mobile.
Nous dtaillons dans ce qui suit quest-ce quune application mobile et larchitecture
lenvironnement de dveloppement Android.
1.7.2.2. Application mobile
Une application mobile est, comme son nom l'indique, un programme informatique destin
tre utiliser sur des tlphones mobiles. Ce programme est particulier puisqu'il utilise un SDK
Software Dveloppement Kit bas sur un OS Operating System tel qu'IOS IPhone
Operating System ou Android [6]. Le SDK est dfinit par :

Un langage de programmation (Objective-C pour Apple, Java pour Android,


Silverlight pour WP Windows Phone ).

Un ensemble d'API Application Programming Interface qui permettent l'utilisation


et l'accs des lments matriels du terminal.

Les application mobiles permettent d'avoir une interactivit trs pousse et donc permettent
facilement d'avoir disposition toutes les informations un instant donn. Cette logique est

| 34

Smart Job IT

| Etat de lart

totalement diffrente de la logique d'un site web. Ainsi il faut prendre ce point en
considration lors de la phase de spcification des besoins et la conception.
1.7.2.3. L'environnement Android
Dans cette section nous prsentons certaines notions relatives l'architecture de cet
environnement, ainsi que le cycle de vie d'une activit sous Android.

Architecture d'Android

Android est un systme d'exploitation conu pour des terminaux mobiles. Une caractristique
rend ce systme trs diffrent par rapport ses concurrents, c'est le fait qu'il est ouvert ou
open source . Donc sa gratuit d'utilisation pour les fabricants rend Android plus
abordable.
Les applications Android sont dveloppes en JAVA. Android dispose d'une librairie qui
inclut la plupart des fonctionnalits du code JAVA. Cependant, les applications Android
s'excutent sur une machine virtuelle dveloppe par Google et adapte aux systmes
puissants en processeur et restreints en mmoire.
Les composants d'Android se manifestent principalement dans cinq composants (figure 1.14)

Figure 1. 14 : Architecture d'Android

| 35

Smart Job IT

| Etat de lart

Applications : C'est l'ensemble des applications qu'offre Android (le calendrier, le


service de cartographie, le navigateur etc.), toutes crites en JAVA.

Framework de dveloppement : Vu l'ouverture de la plateforme de dveloppement


d'Android, les dveloppeurs sont invits dvelopper des applications trs riches et
donc a la porter du matriel priphrique de l'appareil.

Bibliothques : Android dispose d'un grand ensemble de librairies C / C++ titre


d'exemple :

SQLite : c'est un moteur de base des donnes qui est trs lger.

SGL : le moteur graphique 2D.

Surface M anager : pour la gestion d'accs au sous-systme d'affichage.

Android Runtime : Puisque Android propose une librairie qui offre la possibilit de
travailler avec les plus grandes fonctionnalits de JAVA, chaque application s'excute
dans son propre processus utilisant sa propre instance de la machine virtuelle Dalvik.

Linux kernel : Android repose sur la version 2.6 de Linux pour grer ses services de
base comme la gestion de la mmoire et le modle du pilote. Ainsi son noyau prsente
une couche transparente entre le matriel et la pile logicielle [20].

1.8. Langage de conception


UM L (Unified M odeling Langage), est un langage de modlisation des systmes standard, qui
utilise des diagrammes pour reprsenter chaque aspect d'un systme en s'appuyant sur la
notion d'orient objet qui est un vritable atout pour ce langage. [21]
Il est certes que nous adoptons UM L comme un langage de modlisation pour notre projet
puisque nous allons utiliser le concept de lorienter objet, travers lutilisation de PHP5 pour
le framework Yii et JAVA langage de programmation de SDK Android, pour le
dveloppement notre plateforme Smart Job IT.

1.9. Mthodologies de dveloppement


Dans cette section nous allons prsenter la mthodologie de dveloppement Processus Unifi
(PU) quon a adopt tout au long de notre travail. Nous allons donc prsenter cette
mthodologie ainsi que ces diffrentes caractristiques.

| 36

Smart Job IT

| Etat de lart

1.9.1. Processus unifi (PU)


Le Processus Unifi (UP, pour UnifiedProcess) est un processus de dveloppement logiciel
Itratif et incrmental, centr sur larchitecture, conduit par les cas dutilisation et pilot par
les risques :

Itratif et incrmental : le projet est dcoup en itrations de courte dure


(environ 1 mois) qui aident mieux suivre lavancement global.
la fin de chaque itration, une partie excutable du systme final est produite,
de faon incrmentale.

Centr sur larchitecture : tout systme complexe doit tre dcompos en parties
modulaires afin de garantir une maintenance et une volution facilites. Cette
architecture (fonctionnelle, logique, matrielle, etc.) doit tre modlise en
UM L et pas seulement documente en texte.

1.9.2. La mthodologie RUP (Rational Unied Process)


RUP est une des implmentations de la mthode PU qui permet de donner un cadre de
dveloppement logiciel.
RUP est avantag par les qualits suivantes :
RUP utilise UM L.
RUP est pilot par les cas dutilisation.
RUP est centr sur larchitecture.
Gnrique, itrative et incrmentale.
Traabilit partir des Uses Cases jusquau dploiement.
Approche base sur larchitecture.
Gestion des risques dans les projets.
Cadre propice la rutilisation.

| 37

Smart Job IT

| Etat de lart

Donc, la mthode RUP nous permet de contrler les exigences qui sont les principales causes
du non- respect de la date de livraison. Elle nous offre aussi la possibilit de maintenir toutes
les modlisations du systme en cours de ralisation.
Toutes ces qualits nous amnent l'adopter comme mthodologie du travail durant notre
projet de n d'tude.

1.10. Conclusion
Dans ce chapitre, nous avons voqu la problmatique de notre sujet ainsi quune analyse
dun ensemble dapplications web et Android dont les fonctionnalits sont similaires notre
projet, et ce en vue de bnficier de leurs avantages et y en tir profile pour proposer notre
solution.
Nous avons prsent aussi les notions de base relatives aux technologies de dveloppement
web et mobile de notre projet. En se basent sur ltude labor, nous avons adopt : Yes It Is
(Yii) framework pour le dveloppement PHP partie web, la technologie Android pour le
dveloppement partie mobile et la mthodologie RUP bas sur le cycle de vie itratif pour le
dveloppement de notre Plateforme Smart Jobs.
Dans le chapitre suivant nous allons laborer une spcification des besoins de notre projet.

| 38

Chapitre 2 :

Spcification des
besoins

Smart Job IT

| Spcification des besoins

2.1. Introduction
Dans ce chapitre nous entamons la phase de spcification des besoins de notre plateforme
Smart Job. Cette phase est primordiale dans le cycle de vie de tout logiciel et plus
particulirement dans la mthodologie RUP qui reprsente la base de notre travail. En effet
elle permet d'extraire les diffrents acteurs et modules du systme de notre application. Pour
ce faire, nous dbutons par les spcifications fonctionnelles et non fonctionnelles de notre
application web et notre application mobile. Ensuite, nous dtaillons les diagrammes des cas
d'utilisations de chaque partie (web et mobile).

2.2. Enonc des besoins


Il est indispensable de comprendre les enjeux et les besoins des utilisateurs pour aboutir un
outil informatique adapt dans le temps imparti. Il s'agit de la spcification des besoins. Dans
ce cadre, nous tudions les deux types de besoins suivants :

Besoins fonctionnels

Besoins non fonctionnels

2.2.1. Capture des besoins fonctionnels pour la partie web


Dans cette section nous prsentons lapplication web sous son aspect fonctionnel, cest--dire
les fonctionnalits offertes lutilisateur final de notre plateforme.

Espace priv professionnel


Fonctionnalits gratuites

Gestion compte :
Crer, modifier ou supprimer compte utilisateur professionnel.

Gestion profil entreprise :


Ajouter, modifier coordonnes professionnel.

Gestion des annonces :


Publier, modifier ou supprimer une offre demploi, formation ou vnement
Gestion des questions choix multiple (QCM ) : ajouter, supprimer ou modifier
un QCM pour ladapter une offre demploi.

| 40

Comment [A1]: Il faut lvoquer par rapport a votre


travail et non % au gnie logiciel.

Smart Job IT

| Spcification des besoins

Gestion des candidatures reues : Consulter candidatures relatives aux offres


dposs, envoyer email pour confirmer candidature.

Consultation dun nombre bien dfini de CV dpos dans la Cvthque.

Accs au Blog

Fonctionnalits payantes

Gestion des candidatures reues filtrs, les candidatures seront filtres selon le
rsultat du QCM et selon les comptences de demandeur doffre demploi, le
recruteur pourra ainsi consulter et envoyer les emails pour confirmer les
candidatures reues.

Consultation de toute la base de la Cvthque.

Gestion publicit :
Demander lajout dune publicit, Retirer (supprimer) une publicit (cette
fonctionnalit est payante)

Espace membre

Inscription au site

Gestion des paramtres de compte


Consulter, modifier coordonnes du compte

Gestion des annonces (offres demploi, concours, formations et vnements) :


Consulter annonce
Recherche doffre demploi, formations, vnements ou concours selon : motcl, localit, secteur dactivit, types de contrat et niveau dtude.
Ajouter des annonces aux favoris.
Publier les annonces sur des rseaux sociaux.
Candidater dans une offre demploi.
Inscription un vnement ou une formation.

Suivi des candidatures : consultation tat candidature

Gestion des favoris (offres demploi, concours, formations ou vnements) :


Consulter, supprimer un favori

Gestion des CV :
Crer, consulter, modifier ou tlcharger CV (format pdf).

Inscription aux alertes mails.

| 41

Smart Job IT

| Spcification des besoins

Accs blog :
Ajouter commentaire un article, partager un article sur rseau sociaux.

Espace administrateur

Gestion des vnements :


Ajouter, supprimer ou modifier un vnement.

Gestion des concours :


Ajouter, supprimer ou modifier un concours.

Gestion des offres demploi :


Ajouter, supprimer ou modifier une offre demploi.

Gestion publicit
valider, mettre jour ou supprimer une publicit.

Gestion Blog
Gestion article : ajouter, supprimer ou modifier un article.
Gestion commentaire : Valider ou supprimer commentaire.

2.2.2. Capture des besoins fonctionnels partie mobile


Touchant la partie mobile, notre application mobile doit offrir les fonctionnalits suivantes :

Recherche offres, concours, formations ou vnements par : mot cl, rgion ou secteur
dactivit.

Consultation des rsums et dtails des offres demplois, concours, formation ou


vnement.

Candidater une offre demploi(le demandeur doffre demploi doit avoir un cv gnrer
sur le site web pour pouvoir postuler une offre).

Inscription une formation ou un vnement.

Grer favoris : ajouter une offre demploi, un concours, une formation ou un vnement
aux favoris, supprimer favori .Cette action ne peut tre effectu quaprs une connexion
au compte.

Partager une offre demploi, un concours, une formation ou un vnement sur rseaux
sociaux.

Connexion lapplication dun compte cr partir de lapplication Android ou partir


de lapplication web associe

Gestion de compte : modifier les paramtres de compte.


| 42

Smart Job IT

| Spcification des besoins

Positionner une offre demploi, un vnement ou une formation sur Google M ap.

Trouver les offres demploi les plus proche de son emplacement via Google M ap.

2.2.3. Capture des besoins non fonctionnels


Garantir la satisfaction des utilisateurs en assurant l'utilit ainsi que la fluidit des solutions
web et mobile proposes est le principal objectif atteindre durant ce projet.
Ces solutions doivent donc respecter les critres suivant :
Le guidage : Conseiller, orienter, informer et conduire lutilisateur lors de ses interactions
avec lordinateur.
La charge de travail : Offrir lensemble des lments de linterface qui ont pour rle de
rduire au maximum les efforts cognitifs.

Le contrle explicite : Expliciter la relation entre le fonctionnement de lapplication et


les actions des utilisateurs.

Adaptabilit : Capacit de ragir selon le contexte et selon les besoins et les


prfrences des utilisateurs.

La gestion des erreurs : Offrir les moyens permettant dune part dviter ou de rduire
les erreurs, dautre part de les corriger.

Lhomognit et la cohrence : Les choix de conception dinterface doivent tre


conservs pour des contextes diffrents.

La signification des codes et dnominations : Il doit y avoir adquation entre lobjet ou


linformation affiche ou entre, et son rfrent.

2.3. Spcification semi formel des besoins


Nous prsentons dans cette partie les acteurs principaux de notre plateforme ainsi que les
diagrammes des cas dutilisation associ chacun dentre eux.

2.3.1. Identification des acteurs


Un acteur est une entit externe qui agit sur le systme (oprateur, autre systme...). Il peut
consulter ou modifier l'tat du systme. En rponse l'action d'un acteur, le systme fournit
un service qui correspond son besoin. Do, les acteurs potentiels qui peuvent interagir avec
notre plateforme sont les suivants :
| 43

Smart Job IT

| Spcification des besoins

Internaute : Cest lutilisateur simple du site qui dispose de droit de consultation des
annonces publies (Offres emploi, concours, formation ou vnement) ainsi que leur
partage sur le rseau sociale Facebook. Ce type dutilisateur dispose des autorisations
de lecture seulement.

M embre : Suite une inscription au site un utilisateur simple sera qualifi de membres
en disposant des autorisations de lecture et de contribution sur lapplication web ou
mobile.

M embre Professionnel : Cest lutilisateur professionnel de notre application en


disposant dautorisation de publication des annonces et leur gestion ainsi que la
gestion de son profil, des candidatures reus concernant une offre qui a dispos.

Administrateur : Ladministrateur a des autorisations de contrle sur toute la


plateforme. Il dispose des autorisations de lecture, modification et suppression des
annonces (vnements, concours et formations) et de la publicit.

2.3.2. Diagrammes des cas d'utilisation de la partie web


Cette section consiste voir le systme implanter de lextrieur, de point de vue utilisateur
ainsi que ses fonctionnalits attendues. Chaque cas dutilisation est considr comme une
spcification dune demande rpondre depuis le systme tudi.
2.3.2.1. Diagramme des cas dutilisation globale
Tout internaute peut accder notre application web. Cependant, chacun deux un certain
nombre de privilges. Cest pour cela, quil faut au dbut sidentifier en donnant son login et
son mot de passe et les privilges seront attribus lutilisateur. En effet le diagramme de la
figure 2.1 illustre les diffrents cas dutilisation attribu chaque acteur de notre plateforme.

| 44

Smart Job IT

| Spcification des besoins

Figure 2. 1 Diagramme de cas dutilisation gnrale partie web

| 45

Smart Job IT

| Spcification des besoins

Aprs avoir expos le diagramme du cas dutilisation gnral nous allons aborder avec plus de
dtails les cas dutilisation de chaque acteur cit prcdemment.
2.3.2.2. Diagramme des cas dutilisation de membre professionnel
Le diagramme de la figure 2.2 dtaille les diffrentes fonctionnalits offertes au membre
professionnel de notre application web. Aprs son authentification un membre professionnel
peut :
grer les paramtres de son compte : consulter, modifier ou supprimer son compte,
grer son profil : consulter ou modifier son profil,
grer ces annonces : publier, modifier ou supprimer une offre demploi, une formation
ou un vnement
grer un QCM relative une offre demploi : ajouter, modifier ou supprimer un QCM ,
grer les candidatures relatives aux offre demploi publi : la consultation des
candidatures peux se faire selon deux modes ; le recteur peut soit consulter tous les
candidatures reus sans aucun filtrage, soit quil consulte les candidatures filtrs selon
le rsultat et le critre de slection choisie par le recruteur, cette fonctionnalit est
payante, le recruteur doit payer pour pouvoir consulter la liste des offre demploi filtr.
Aprs avoir consulter la liste des candidatures le recteur peut envoyer des emails de
confirmation aux profils quil choisit.
consulter la liste des participants un vnement ou une formation quil a dpose.
Le diagramme suivant illustre les oprations effectues par cet acteur :

| 46

Smart Job IT

| Spcification des besoins

Figure 2. 2 Diagramme de cas utilisation de Membre Professionnel

| 47

Smart Job IT

| Spcification des besoins

2.3.2.3. Diagramme des cas dutilisation de linternaute


La figure 2.3 illustre les diffrentes fonctionnalits dun simple internaute de notre site web.
Un internaute peut consulter, rechercher ou publier sur Facebook une annonce de type (offre
emploi, concours, formation ou vnement). En accdant au blog il peut consulter une
rubrique de blog ou la publier sur un le rseau social Facebook.

Figure 2. 3 Diagramme de cas utilisation de l'internaute

2.3.2.4. Diagramme des cas dutilisation de Membre


La figure 2.4 montre les principales oprations quun membre peut effectuer. Il peut consulter
la liste des annonce (offre emploi, concours, formation ou vnement) comme un simple
internaute mai pour quil puisse bnficier de reste des fonctionnalits offertes il doit
sauthentifier.
Aprs son authentification un membre aura la possibilit dajouter une annonces ces favoris
ou postuler une annonce doffre demploi , sinscrire un vnement ou une formation grer
ces favoris en les consultant ou en supprimant un ou plusieurs favoris, il peut aussi accder
son compte personnel, pour y modifier ces paramtres. Un internaute peut aussi crer un CV,

| 48

Smart Job IT

| Spcification des besoins

le consulter, y modifier des informations ou le tlcharge. Un M embre peut aussi sinscrire


aux alertes mails, il peut enfin faire le suivie de ces candidatures pour consulter leurs tats.

Figure 2. 4 Diagramme des cas utilisation de Membre

| 49

Smart Job IT

| Spcification des besoins

2.3.2.5. Diagramme des cas dutilisation de ladministrateur


Le diagramme de la figure 2.5 dtaille les diffrentes fonctionnalits offertes
l'administrateur du notre site plateforme. Aprs son authentification, ladministrateur
peut grer la liste des annonces (offres demploi, vnements ou concours) en ajoutant,
modifiant ou supprimer une annonce, comme il peut administrer la publicit (ajouter, modifier
ou supprimer une publicit) ou administrer le blog en grant les articles et les commentaires.
Le diagramme suivant va nous illustrer les oprations effectues par cet acteur :

Figure 2. 5 : Diagramme des cas utilisation de l'administrateur

| 50

Smart Job IT

| Spcification des besoins

2.3.3. Diagrammes des cas d'utilisation de la partie Mobile


Dans ce qui suit, nous donnons une vue gnrale simplifie de lensemble des cas dutilisation
de lapplication mobile de notre plateforme.
2.3.3.1. Diagramme des cas dutilisation globale
Le diagramme de la figure 2.6 dtaille les diffrentes fonctionnalits offertes lutilisateur de
notre application mobile.
Un utilisateur peut consulter la liste de lannonce publie (offres emploi, concours, formations
et vnements) de deux faons soit directement sur la liste soit sur Google M ap.
En consultant une annonce partir de la liste il peut la publier sur Facebook, lajouter ces
favoris, postuler une annonce doffre demploi ou participer un vnement ou une
formation.
En consultant une annonce partir de la M ap un utilisateur peut soit positionner les offres les
plus proches de son emplacement, soit positionner tous les offre.
Un utilisateur peut aussi faire une recherche (multicritres) sur lensemble des annonces
publies, comme il peut faire une inscription lapplication mobile.
Une fois inscrit partir dun site web ou de lapplication mobile, lutilisateur devra
sauthentifier pour bnficier des fonctionnalits suivantes :
Ajouter une annonce ses favoris, Grer ses favoris, grer les paramtres de son compte et en
fin sinscrire lalerte email.

| 51

Smart Job IT

| Spcification des besoins

Figure 2. 6: Diagramme des cas dutilisation gnrale partie mobile

| 52

Smart Job IT

| Spcification des besoins

2.3.4. Classement des cas dutilisation par priorit


Aprs tout ce travail didentification des cas dutilisation des deux applications web et mobile,
nous pouvons maintenant les classer en tenant compte des deux facteurs suivants :
-

La priorit fonctionnelle.

Le risque technique.

Le tableau 2.1 illustre cette dmarche sur notre tude de cas.


Planification du projet en itrations :
T ableau2. 1 : Cycle de vie et planification des itrations

Cas dutilisation

Priorit

Haute

Moyenne

Gestion des annonces (cot


administrateur)

Itration

Moyenne

Gestion des annonces (cot


Membre professionnel)

Risque

Haute

Gestion de profile professionnel

Haute

Moyenne

Consultation banque de CV

Moyenne

Moyenne

Gestion compte professionnel

Moyenne

Moyenne

Gestion candidatures

Haute

Moyenne

Gestion QCM

Moyenne

Moyenne

Recherche annonce

Haute

Moyenne

Inscription espace professionnel

Haute

Moyenne

Inscription espace Membre

Haute

Moyenne

Gestion CV

Haut

Moyenne

Moyenne

Moyenne

Gestion annonces (cot membre


et internaute)

| 53

Smart Job IT

| Spcification des besoins

Suivie candidature

Moyenne

Basse

Gestion favoris

Moyenne

Moyenne

Gestion compte membre

Moyenne

Moyenne

Inscription alerte mail

Moyenne

Basse

Moyenne

Basse

Moyenne

Basse

Moyenne

Moyenne

Haute

Moyenne

Moyenne

Moyyenne

Moyenne

Moyenne

Haute

Moyenne

Moyenne

Moyenne

Haute

Moyenne

Gestion Publicit (cot admin et


cot membre professionnel)
Gestion blog (cot
administrateur)
3
Gestion blog (cot membre)

Consulter annonces (partie


mobile)
Inscription application (partie
mobile)
Gestion favoris (partie mobile)
Recherche annonces (partie
mobile)

Gestion paramtres compte


(partie mobile)

Emplacement annonces sur


Google Map (partie mobile)

Selon le classement des cas dutilisation prsents dans le tableau prcdent nous notons que
la gestion des annonces (cot membre professionnel et cot administrateur), la recherche
dune annonce, la gestion de profil professionnel, la gestion des candidatures, la gestion de
CV, lemplacement des annonces sur Google M ap (partie mobile) et linscription lespace
(professionnel et espace membre) sont les cas dutilisation les plus importants.

| 54

Smart Job IT

| Spcification des besoins

Nous avons divis la phase de ralisation de notre plateforme en quatre itrations qui sont
composes en des tches comme indique le tableau 2.1.
La premire itration englobe les fonctionnalits de base de notre application web, elle admet
une haute priorit et la dure de sa ralisation est gale deux mois.
Dans la deuxime itration nous implmentons les fonctionnalits associes au membre de
lapplication web, cette itration est de trs haute priorit puisque elle constitue la base de la
version final. Cette itration prend un moi pour implmenter ces diffrents cas dutilisations.
La troisime itration est de faible priorit et moins risque elle admet 15 jours pour sa
ralisation.
La quatrime itration et de haute priorit, nous implmentons dans cette version les
fonctionnalits de notre application mobile. Cette itration est ralise dans un mois et demi.

2.4. Description dtaille des cas dutilisation


Nous allons maintenant dcrire de faon dtaille les cas dutilisation que nous avons
identifis prcdemment.
Pour illustrer notre dmarche, nous allons dtailler quelques cas dutilisation des itrations
prcdentes, savoir, dans lordre :
Gestion annonce : ajouter une annonce
Recherche annonce
Inscription espace M embre

Grer annonce : Ajouter une annonce

T ableau2. 2: Description du diagramme de cas dutilisation Ajouter une annonce


Cas dutilisation

Gestion des annonces : Ajouter une annonce

Rsum

Un membre professionnel veut publier une nouvelle annonce.

Acteurs primaire

Membre professionnel

Pr conditions

Le membre professionnel sest authentifi

Le membre professionnel doit avoir un compte sur lespace

| 55

Smart Job IT

| Spcification des besoins


professionnel

Une annonce sera ajoute la liste des annonces de membre


professionnel.

Post condition

Un mail dinformation senvoi automatiquement au Webmaster de site


de notre application.

Publication de lannonce.

1. Choisir l'option "ajouter une annonce"


2. Le systme affiche fentre d'ajout d'une nouvelle annonce.
3. Le membre choisi le type dannonce
4. Le membre remplir le formulaire relative lannonce.
5. Si le membre professionnel ajoute une annonce doffre demploi.
Scenario nominal

Il peut choisir dajouter un QCM son offre demploi.


6. Lutilisateur remplir le formulaire de QCM relative lannonce
7. Le systme valide le QCM
8. Le systme valide lannonce
9. Le systme envoie les donnes la base des donnes
10. Le systme affiche le rsultat daction avec succs.

| 56

Smart Job IT

| Spcification des besoins

3a. Le membre ne choisit pas un type dannonce, donc il ne faut pas


passer cette tape sans le choix dun type.
4a. Sil y a erreurs lors du remplissage des champs, le systme
affiche un message derreur et demande ladministrateur
Scenario alternatif
de vrifier les donnes insres.
6a. Sil y a erreurs lors du remplissage des champs, le systme
affiche un message derreur et demande ladministrateur de vrifier
les donnes insres.

Recherche annonce

T ableau2. 3:Description du diagramme de cas dutilisation Rechercher une annonce


Cas dutilisation

Recherche une annonce offre emploi

Rsum

Le crateur veut trouver le plus rapidement


possible une annonce doffre demploi

Acteur principal

Internaute ou Membre

Pr conditions

Il existe des annonces

Post conditions

LInternaute a trouv lannonce quil cherchait,


ou une annonce qui lintresse.

Recherche rapide :
1. LInternaute
rapide
Scnario nominal

lance
partir

une
de

recherche
mots-cls :

nimporte quels mots-cls ou rgion.


2. Le Systme affiche une page de
rsultat. Les annonces sont classes
par dfaut par date de publication.
| 57

Smart Job IT

| Spcification des besoins


3. Linternaute ou le membre accde
lannonce qui lintresse
4. Le

Systme

lui

prsente

une

description dtaille pour lannonce


slectionn
Recherche avance :
1. Lutilisateur choisit deffectuer une
recherche avance.
2. Lutilisateur accde un formulaire
spcialis lui permettant de combiner
plusieurs critres de recherche :
rgion, nom entreprise, secteur
activit, Ets.

Le Systme na pas trouv une


annonce correspondant la
recherche

Scenario alternatif

Le Systme signale lchec


lutilisateur et lui propose deffectuer
une nouvelle recherche.

Cration compte

T ableau2. 4: Description du diagramme de cas dutilisation Crer compte


Cas dutilisation

Gestion Compte : Cration compte


Lorsquun membre professionnel accde au site

Rsum

web, il doit crer un compte pour bnficier de


ces fonctionnalits.

Acteurs primaire
Pr conditions

Post condition
Scenario nominal

Membre professionnel
Le membre professionnel ne possde pas un
compte pour accder au site web
Le membre professionnel de site possde un
compte.

1. Choisir l'option "crer un compte "

| 58

Smart Job IT

| Spcification des besoins


2. Le systme affich le formulaire
dun nouvel compte.
3. Lutilisateur remplir le formulaire
demander.
4. le systme valide lajout.
5. Le systme envoie les donnes la
base des donnes
6. Le systme affiche le rsultat
daction avec succs.
3a. les paramtres ajouts non pas

Scenario alternatif

disponible ou invalide donc il faut rpter


lajout des nouvelles valeurs.

2.5. Conclusion
Dans ce chapitre nous avons dtaill les principales fonctionnalits de notre application que
nous avons illustres par les diagrammes des cas dutilisation afin dassurer une meilleure
comprhension et une bonne maitrise de notre travail.
Dans le chapitre suivant nous prsentons ltude conceptuelle de notre plateforme Smart
Job qui sera enrichie entre autre travers les diagrammes de classes et des diagrammes de
squences refltant les aspects statiques et dynamiques.

| 59

Chapitre 3 :

Etude conceptuelle de
la plateforme
SmartJobs IT

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

3.1. Introduction
Aprs avoir prsent, dans le chapitre prcdent la phase de spcification des besoins et
dgager les principales fonctions de la solution mettre en uvre, nous prsentons dans ce
chapitre la phase de conception. Cette phase ncessite la mise en place dun modle sur lequel
nous allons sappuyer dans limplmentation.
Nous commenons par prsenter la conception gnrale de notre plateforme travers son
architecture gnrale et son diagramme de composant. Nous prsentons par la suite la
conception dtaille de notre base de donnes suivie par la conception dtaille de notre
plateforme via les diagrammes de class, squences et activits refltant les aspects statiques et
dynamiques.

3.2. Conception gnrale


Nous abordons dans cette section laspect gnrale de notre plateforme travers la
prsentation de son architecture gnrale et son diagramme de composant.

3.2.1. Architecture gnrale de la plateforme


La figure 3.1 suivante dvoile larchitecture de notre plateforme Smart Job IT.

Figure 3. 1: Architecture de la plateforme Smart Job

| 61

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

Nous avons adopt dans notre plateforme une architecture 3 tiers dont les fonctions sont
distribues sur deux systmes client (Terminal Android pour partie mobile, ordinateur pour
partie web), un serveur web et un serveur de la base de donnes M ySQL pour la partie Web et
M obile.
Pour chaque action CRUD excut de la part du client Android, une requte http sera
envoye au serveur web, le service web du type Rest correspondant sera charg et une requte
SQL est effectue vers le serveur de base donne pour effectuer le traitement de donnes
ncessaire. La rponse de service web est encode au format JSON, ces donnes seront
analyses afin de prsenter leur rsultat lutilisateur.
De mme, pour chaque action CRUD effectue par notre client web, une requte http sera
envoye au serveur web qui aura la charge de traiter cette requte en communiquant avec le
serveur de base de donnes via des requtes SQL, les rponses SQL de serveur de base
donnes sont traits au niveau de serveur web et reprsents au client web.

3.2.2. Diagramme de dploiement


Le diagramme de dploiement permet d'illustrer l'architecture physique du systme et de
montrer la relation entre ses diffrentes composantes. La figure 3.2 prsente le diagramme de
dploiement de notre plateforme.

Figure 3. 2 : Diagramme de dploiement du la plateforme Start Jobs IT

| 62

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

Les composants Terminal web et Terminal Mobile, prsentent les interfaces home
machine des parties web et mobile. Ils permettent l'utilisateur de dialoguer avec le serveur
web et de bnficier des diffrentes fonctionnalits qui leurs sont offertes.
Le dialogue entre ces deux terminaux et le serveur web se fait via le protocole HTTP. Le
serveur web intgre les composants spcifiques pour chacune de nos applications. Il est
compos des vues, contrleurs et modle spcifique notre application web et des web
service spcifiques notre application mobile. Le composant serveur de base des donnes
intgre la base des donnes de notre plateforme (application web et mobile).Il dialogue avec
le composant de base serveur web via des requtes SQL.
Nous avons illustr les diffrents composants de notre application et les interactions entre eux,
passons maintenant la modlisation de notre base de donnes.

3.3. Conception dtaille de la Base de donnes


Dans cette section, nous prsentons la conception dtaille de notre base de donnes.
Nous commenons par prsenter le dictionnaire de donnes et nous empruntons le diagramme
de class de la vue statique pour reprsenter la modlisation de notre base de donnes.

3.3.1. Dictionnaire de donnes


Le dictionnaire de donnes reprsente la liste des informations recueillies au cours de ltude
de lexistant des diffrents postes de travail dun systme dinformation. Il comporte plusieurs
proprit chacun reprsente une information que lon souhaite stocker et comporter :
Le numro, lattribut, la contrainte dintgrit le type et la description.
Table Membre
Ce tableau 3.1 contient les informations de connexion relatives aux utilisateurs M embre
normal et membre professionnel de nos application web et mobile.
T ableau 3. 1. TableCompteUser
N

Attributs

Contraintes

Type

Description

idUser

Cl primaire

Int ()

Identifiant unique dun membre

Nom

Varchar()

Nom dun membre

Prenom

Varchar()

Prenom dun membre

role

Int ()

Rle dun membre

| 63

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

Email

Varchar()

Adresse email dun membre

Mot_passe

Varchar()

Mot de passe de membre

Date_creation

T imestamp

Date de cration de compte

Date_suppression

Datetime

Date de suppression de compte

Table tbl_ProfilEntreprise
Ce tableau 3.2 contient les informations relatives aux entreprises qui dsirent publier une
annonce sur Smart Job.
T ableau 3. 2. Table Profile entreprise
N

Attributs

Contraintes

Type

Description

id

Cl primaire

Int ()

Identifiant unique dun membre

Label_entreprise

Varchar ()

Label de lentreprise

Categorie_entreprise

Varchar ()

Catgorie de lentreprise

T aille_entreprise

Varchar ()

T aille de lentreprise

Annee_fondation

Datetime

Anne fondation de lentreprise

Description_entreprise

Varchar ()

Description de lentreprise

Logo_entreprise

Blob

Logo de lentreprise

Pays_entreprise

Varchar ()

Pays dans lequel est sise


lentreprise

Region_entreprise

Varchar()

Rgion dans laquelle est size


lentreprise

10

Adresse_entreprise

Varchar()

Adresse de lentreprise

11

Code_postale_entreprise

Varchar()

Code postale de rgion dans


laquelle est size lentreprise

12

Lien_web_entreprise

Varchar ()

Lien sur le web de lentreprise

13

T elephone_Fixe

Int()

T lphone fixe de lentreprise

14

T elephone_mobile

Int()

T lphone Mobile de lentreprise

15

Email

Varchar ()

Email de lentreprise

3.3.2. Vue statique : Diagramme de classe


Daprs ltude du systme existant et des diffrents diagrammes de cas dutilisation, nous
avons pu dgager les principales classes illustres dans la figure 3.3 pour avoir une vue plus
claire du systme tudi.

| 64

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

A partir de ce diagramme, on dgage les entits de la base de donnes correspondante dans


notre plateforme (ce diagramme englobe les entits participantes dans notre site web et notre
application mobile).

| 65

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

Figure 3. 3: Diagramme de classe gnral

| 66

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

3.4. Conception structurelle de Smart Jobs IT selon modle


MVC
Nous prsentons dans ce qui suit les classes de notre diagramme de classe dcrit
prcdemment suivant le modle M VC qui est le patron de conception de notre framework
Yii.

3.4.1. Structuration en packages de classes


Pour structurer notre modle de donne, nous allons organiser les classes et les regrouper en
ensembles cohrents. Pour ce faire, nous utilisons la notion de package en tant que concept
gnral dUM L.
Les systmes informatiques modernes sont organiss en couches horizontales, elles-mmes
dcoupes en partitions verticales. Cette dcoupe est dabord logique, puis ventuellement
physique en termes de machines.
Nous allons donc structurer les classes identifies en trois couches principales :

Une couche Prsentation, rassemblant toutes les classes dialogues.

Une couche Logique Applicative, rassemblant toutes les classes contrles.

Une couche Logique Mtier, rassemblant toutes les classes entits

Larchitecture logique de notre tude de cas est ainsi reprsente par un premier diagramme
de packages, comme illustr par la figure 3.4.

| 67

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

Figure 3. 4:Diagramme de package de Smart Jobs IT

Les considrations prcdentes amnent une solution qui vise dcouper le modle au
niveau de la couche traitement de donnes en cinq packages prsent comme suit :
-Package espace administrateur.
-Package espace membre compos de deux sous packages un pour la gestion de CV et un
autre pour la gestion de prfrence.
-Package espace professionnel compos en quatre sous packages : package gestion
annonce, package gestion profil, package gestion QCM et gestion candidature.
| 68

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

-Package pour la gestion de compte


La figure 3.5 suivante illustre ce quon vient de dcrire.

Figure 3. 5:Diagramme des packages de la couche mtier

| 69

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

3.5. Description de la vue dynamique


Les diagrammes dynamiques permettent de comprendre et de dcrire le comportement des
objets et leurs interactions. Ces modles offrent une vision microscopique du fonctionnement
du systme. Ils servent mettre en vidence les relations temporelles inter objets. Une vue
dynamique de systme peut tre reprsente grce aux diagrammes de collaboration,
diagrammes de squence, diagramme d'tats-transitions et diagrammes d'activits. Nous
allons reprsenter les aspects dynamiques entre les classes l'aide de diagramme de squence.

3.5.1. Diagrammes de squence


Un diagramme de squence est un diagramme qui permet d'illustrer les interactions entre les
objets d'un systme en montrant, de faon squentielle, les envois de message qui
interviennent entre ces objets. Ces diagrammes sont utiliss pour illustrer les cas d'utilisation
dans le modle dynamique.
Nous avons choisi de prsenter les diagrammes de squences qui illustrent les scnarios des
cas dutilisation quon a estim les plus importantes (cot complexit de processus de
ralisation) de la partie web et Android de notre plateforme.
Pour la partie web les cas dutilisations choisies sont :

Authentification.

Ajouter une annonce doffre demploi.

Rechercher offre demploi.

Dposer CV.

Postuler une Offre demploi.

M odifier informations personnel.

Supprimer favoris

Pour la partie mobile :

Authentification.

Positionner les offres demplois les plus proches.

Postuler une offre demploi.

| 70

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

3.5.1.1. Diagramme de squence du cas dutilisation Authentification


Pour accder lespace professionnel ou espace membre de notre application web, un
internaute doit se connecter via son email et son mot de passe. Pour faire ce ci il doit cliquer
sur le bouton connecter qui invoque la mthode ActionLogin () de contrleur siteController
afin dafficher le formulaire de connexion dans la vue connexion. Lutilisateur remplit les
donnes et valide la connexion. Cette mthode va crer une instance du modle LoginForm,du
type CActiveForm, avec les paramtres entrs par linternaute (ce type de modle ne permet
pas lenregistrement des donnes saisies par lutilisateur dans la base de donnes).Pour tester
la validit de donnes la mthode Authenticate () du modle LoginForm va implmenter le
composant UserIdentity. Au niveau de mthode Authenticate () de modle UserIdentity une
instance de modle Tbl_compteUser avec les paramtres saisie sera cr. Si le modle est
existant alors la fonction login () sera excute, la connexion est effectue et lutilisateur sera
redirig vers la page daccueil sinon, un message derreur sera affich.
La figure 3.6 suivante illustre ce processus.

Figure 3. 6 Diagramme de squence du cas dutilisation Connexion

| 71

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

3.5.1.2. Diagramme de squence du cas dutilisation Ajouter une annonce doffre


demploi
Pour ajouter une annonce doffre demploi, un membre professionnel doit se connecter.
Aprs la connexion,membre professionnel doit cliquer sur le boutton Ajouter Annonce qui va
invoque la laction ajoutAnnonce() de contrlleur siteControleur afin dafficher le formulaire
dajout dans la vue ajouterAnnonce. Lutilisateur remplit les champs nessecaires et valide sa
saisie. La mthode AjouterAnnonce sera invoke et cre une instance du model tbl_ Annonce
avec les attributs saisies par lutilisateur .Si ces donnes respectent les contraintes
mentionnes dans la fonction Rules() du modle (ces contraintes sont gnrer a partir de
restrictions illustrs dans la base de donnes), elles seront enregistres et un M essage de
succes dajout sera affich sinon une alerte derreur sera affiche etle membre professionnel
sera demand de resaisir les donnes.La figure 3.7 suivante illustre ce processus.

Figure 3. 7 : Diagramme de squence du cas dutilisation Ajouter une annonce doffre emploi

| 72

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

3.5.1.3. Diagramme de squence du cas dutilisation Dposer CV


Notre application web donne la possibilit ses utilisateur inscrits de dposer leur CV, pour
se faire il doivent cliquer sur le boutton Deposer CV de la vue acceuil qui va invoquer
laction DposerCV, ce niveau un test sera effectuer :
Si lutilisateur est non connect alors il sera rederig vers la page de connexion sinon il sera
redirig vers la vuedeposerCVafin de saisir les informations demandes, les donnes de
CVsont reparties sur sept modules groups comme suit :Informations personnelles,
informations professionnelles, formations et diplmes, expriences professionnelles, langues,
comptences etcentres dinteret.Nous allons detailler le cas ou lutilisateur choisit de remplir
ces informations personnelles partir de la vue ajouterinfopersonnel.
Si lutilisateur remplit les champs nessecaires dans le formulaire et valide lajout, la mthode
Ajouterinfopersonel()sera

invoque

ce

qui

cre

une

instance

du

model

tblInformationspersonnels avec les attributs saisies par lutilisateur .Si ces donnes respectent
les contraintes mentionnes dans la fonction Rules() du modle (ces contraintes sont gnrer
a partir de restrictions illustr dans la base de donnes),alors elles seront enregistres dans la
table tbl_informationspersonnels, lidentifiant de cette enregistrement sera sauvgard dans la
table tbl_Cv et un message de succes dajout sera affich sinon une alerte derreur sera
affiche pourdemander la resaisie des donnes.
la figure 3.8 suivante illustre ce processus.

| 73

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

Figure 3. 8 : Diagramme de squence du cas dutilisation Dposer CV

3.5.1.4. Diagramme de squence du cas dutilisation Modifier Informations


Personnelles
Une fois a depos son CV,un membre aura la possiblit de modifier la totalit de ces
informations Nous allons trait le cas de modification des informations personnelles :
Lors de clique sur le boutton Modifier Information Personnelles les informations relatives
lutilisateur

connect

seront

affiches

dans

un

formulaire

de

la

vue

informationspersonnelle via lactionModifierinfoPersonnel().Si lutilisateur choisi deffectuer


une mise jour de ces coordonneset aprs la validation de ces modifications laction
Modifierinfopersonnelles va crer une instance de modele tbl_infopersonnelles afin de verifier
les donnes entres. Si les donnes sont valids la fonction update() enregistre les nouvelles
| 74

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

valeurs dans la base de donnes et afficher un message de succs de modification.Si les donnes
entres sont invalides alors un message derreur sera affich .

Le diagramme 3.9 illustre ce processus.

Figure 3. 9: Diagramme de squence du cas dutilisation Modifier information personnel

| 75

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

3.5.1.5. Diagramme de squence du cas dutilisation Enlever offre de favoris


Chaque utilisateur a la possibilit dajouter une annonce a sa liste de favoris ,une fois ajouter
il peut lenlever en cliquant sur le boutton Enlever de mes favorisqui va appeler laction
actionDeletFavoris() afin de crer une instance de modele tbl_favoris selon lidentifiant
dannoce et lidentifiant dutilisateur connect, pour effectuer la supression la fonction
delete()est excute est et un message de succes de suppression sera affiche.
Le diagramme 3.10 illustre ce processus.

Figure 3. 10: Diagramme de squence du cas dutilisation Supprimer favoris

3.5.1.6. Diagramme de squence du cas dutilisation Rechercher offre emploi


Un internaute peut effectuer une recherche sur une offre demploi selon plusieurs critres.
Pour ce faire il doit remplire les champs de recherche selon les criteres qui conviennent avec
| 76

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

ces besoins(mot cl, catgorie, ville, niveau detude, type de contrat) une fois cliqu sur le
boutton Rechercher via le formulaire,laction actionRecherche de siteController sera
invoquet se charge de crer une instance du modle tbl_annonce selon les valeurs descritres
saisies par lutilisateur en interogeant les enregistrement dans la base de donnes.Si les
donnes correspondent la requete de recherche existantes, le resultat sera retourn sous
forme de DataProvider la vue affichage sinon un message indiquant que le resultat de
recherche introuvable sera affich .
Le diagramme 3.11 illustre ce processus.

Figure 3. 11:Diagramme de squence du cas dutilisation Rechercher offre emploi

3.5.1.7. Diagramme de squence du cas dutilisation Postuler une offre demploi


Pour pouvoir postuler une offre demploi, un utilisateur doit tout dabord se connecter, il
doit aussi avoir dpos son CV. Si cest deux conditions sont tablies, une vrification si le
| 77

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

candidat a dj postul cette offre sera excut via la fonction testPostuler(). Dans le cas o
la candidature est dj postule, un message derreur sera affich sinon une instance de
modle tbl_candidature sera cre, lidentifiant dutilisateur, lidentifiant dannonce et la date
de postulation seront enregistre et un message de succs de postulation sera affich.
Le diagramme 3.12 illustre ce processus.

Figure 3. 12: Diagramme de squence du cas dutilisation Postuer une offre emploi

| 78

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

3.5.1.8. Diagramme de squence du cas dutilisation Connexion (partie Android)


Afin daccder la totalit des fonctionnalits dapplication Android lutilisateur doit se
connecter en saisissant les donnes dposs dans linterface login.xml et valider sa saisie. ce
niveau lactivit que se charge pour faire le traitement de connexion est Connexion.java, elle
fait appel au service web dvelopp en PHP login.php en envoyant lemail et le mot de passe
saisie par lutilisateur pour effectuer la vrification. Si les donnes sont invalides alors un
message derreur sera affich sinon la connexion sera effectue et les donnes seront
enregistres dans le fichier SharedPreferences.xml pour quils soient partags tout au long de
la connexion dutilisateur.
Le diagramme 3.13 illustre ce processus.

Figure 3. 13: Diagramme de squence du cas dutilisation Authentification

| 79

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

3.5.1.9. Diagramme de squence du cas dutilisation Visualiser offres plus proche sur
Google Map (partie Android)
Lors de click sur le bouton Map, lactivit GmapFragument sera charge, cette activit
implmente lApi Google Map pour laffichage du M ap et pour marquer la position de
lutilisateur. La dtection de la position est effectue travers le systme GPS du tlphone
lors de lexcution de mthode OnchangePosition (), le test de dtection du GPS est effectu
par la mthode OnDisabledProvider().
Si le GPS est dsactiv alors une Toasts affiche en indiquant linactivit de GPS sinon une
pince marquant la position de lutilisateur sera affiche selon les valeurs de latitude et
longitude renvoyes par le composant GPStracker. Ensuite grce une sikbar lutilisateur
peut modifier la marge de distance entre sa position et les positions des annonces disponibles.
La mthode DoInBackrgound() du classe LoadPoints interroge le service web points.php
dvelopp pour retourner un flux JSON contenant les informations de ces positions. Selon la
distance, chaque point sera marqu sur la M ap avec des informations de lannonce associ
travers la mthode OnPostExecute() .
Ainsi le chemin reliant la position de lutilisateur et la position dannonce le plus proche sera
dessin travers la mthode IterenaireTask() partir dun flux XM L renvoy par le service
web de GoogleMap selon le point dorigine et le point de destination (point plus proche) qui
sera encoder sous forme de polyline schmatisant la trajectoire.
Le diagramme 3.14 illustre ce processus.

| 80

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

Figure 3. 14 : Diagramme de squence du cas dutilisation Visualiser offres plus proche sur Google Map

| 81

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

3.5.1.10. Diagramme de squence du cas dutilisation Postuler une offre demploi


(partie Android)
Afin davoir une meilleure synchronisation entre lapplication web et lapplication mobile
associ lutilisateur a la possibilit de postuler une candidature a un offre demploi via
linterface Android contrainte quil doit avoir dposer son CV via le site web et quil na
pas dj postul cette offre.
Le diagramme 3.15 illustre ce processus.

Figure 3. 15:Diagramme de squence du cas dutilisation Postuler une offre demploi

| 82

Smart Job IT

| Etude conceptuelle de la plateforme Smart Jobs IT

3.6. Conclusion
Tout au long de ce chapitre nous avons dcrit le processus de conception de notre application
en dtaillant les diagrammes de dploiement, de packages, de classes et de squences. Dans le
chapitre suivant, nous abordons la partie implmentation de notre application.

| 83

Chapitre4 :

Ralisation et Test

Smart Job IT

| Ralisation et test

4.1. Introduction
Aprs avoir achev ltape de la conception, nous entamons dans ce chapitre la partie
ralisation ou implmentation qui est la phase finale de llaboration de notre plateforme.
Cette phase consiste traduire la conception exprime laide de formalisme UM L en un
code source crit dans des langages donns. Nous commenons par dcrire l'environnement
de dveloppement matriel et logiciel. Nous prsentons, ensuite, quelques captures d'crans
comme exemple illustratif de notre plateforme.

4.2. Environnement de travail


Dans cette partie, nous intressons ltude de lenvironnement technique qui a t
disponible pour la ralisation de notre projet. Ensuite, nous justifions les choix pris en
matire denvironnement logiciel pour mener terme la partie applicative.

4.2.1. Environnement matriel


Notre application a t implmente et teste sur deux ordinateurs ayant les caractristiques
suivantes :
T ableau 4. 1:Liste environnements matriels
Processeur

Intel core(TM) I3 2.13

Intel core(TM) I3 2330 M

Mmoir RAM

4Go

4Go

Carte graphqique

AT I Radeon HD 4650

Intel HD Graphics 3000

Systme dexploitation

Windows 7 Edition familiale

Windows 8 professionnel

4.2.2. Environnement logiciel


Le choix pris

en matire denvironnement logiciel concerne lenvironnement de

dveloppement web et mobile, le choix denvironnement de conception, lenvironnement de


la base de donnes ainsi que lenvironnement de cration graphique.
4.2.2.1. Environnement de dveloppement web
Pour implmenter notre framework PHP Yii on recourt lutilisation de lenvironnement
IDE :
Eclipse (version indigo)
| 85

Smart Job IT

| Ralisation et test
Eclipse IDE est un environnement de dveloppement intgr libre
extensible, universel et polyvalent, permettant potentiellement de
crer des projets de dveloppement mettant en uvre n'importe quel
langage de programmation. Eclipse IDE est principalement crit en
Java [22].

Pour permettre le dveloppement PHP dans Eclipse indigo, nous avons install deux plugins :
Plugin PHP : PHP Development Tools (PDT) 3.0.
Plugin Yii : Yiiclipse, PDT Eclipse pour le framework Yii.
4.2.2.2. Environnement de dveloppement mobile
Pour mener terme notre application Android on a du install et utilis :

Android SDK (Software Development Kit)


Android S DK12 est Le Kit de dveloppement logiciel dAndroid. Il
offre des APIs pour dvelopper une application sur Android.

ADT (Android Development Tools)

LADT14 est un plugin pour lIDE de lEclipse.


ADT fournit une suite d'outils qui sont intgrs l'IDE Eclipse. Il
nous propose d'accder de nombreuses fonctionnalits qui nous
aident dvelopper des applications Android rapidement[23].

Emulateur
Genymotion est un mulateur Android qui permet dexcuter des
applications Android sur des ordinateur Windows. Cet outil est trs
pratique, il permet d'muler un grand nombre d'appareils Android et
capteurs

simuls de contrle comme la batterie, GPS, et

acclromtre. Par consquent, lestests d'applications Android seront


la fois simples et efficace, comme des tests complets peuvent tre

| 86

Smart Job IT

| Ralisation et test

effectus sur un grand nombre de diffrents appareils Android muls et dans diffrentes
conditions [24],
4.2.2.3. Environnement de conception UML
S tarUML est

un logiciel open source .Il sagit

dune

plateforme de modlisation avec le langage UM L. Cet outil


propose tous

les diagrammes ncessaires une bonne

modlisation.

4.2.2.4. Environnement de la base de donnes


WampServer (anciennement WAM P5) est une plateforme de
dveloppement Web de type WAM P, permettant de faire
fonctionner localement (sans se connecter un serveur externe)
des scripts PHP. WampServer n'est pas en soi un logiciel, mais un
environnement comprenant deux serveurs (Apache et M ySQL), un interprteur de script
(PHP), ainsi que phpM yAdmin pour l'administration Web des bases M ySQL. [25]

4.2.2.5. Environnement de cration graphique


Adobe Photoshop CS5, ou Photoshop, est le leader mondial de la
retouche d'image et de la cration graphique.

4.3. Technologies Utilises


Pour la ralisation de notre plateforme on a recourt lutilisation de diverses technologies
cot mobile et web.

| 87

Smart Job IT

| Ralisation et test

4.3.1. Technologies utiliss cot mobile


4.3.1.1. Les services web
Un service web est un programme informatique permettant la communication et l'change de
donnes entre applications et systmes htrognes dans des environnements distribus. Il
s'agit donc d'un ensemble de fonctionnalits exposes sur internet ou sur un intranet, par et
pour des applications ou machines, sans intervention humaine, et de manire synchrone.
Il existe deux grandes familles de services web :

Les services web de type SOAP

Les services web de type REST

Les services web de type S OAP


SOAP (Simple Object Access Protocol) est un protocole RPC orient objet bti sur XM L ce
qui le rend indpendant de tout systme d'exploitation et de tout langage de programmation, il
permet de faire des appels de procdures entre objets distants physiquement situs sur un
autre serveur. SOAP utilise une enveloppe SOAP puis le protocole HTTP. Il supporte
seulement le format XM L mais il est difficile tre utilis et il ncessite plusieurs outils pour
le mettre en place.
Les services web de type RES T
REST (REpresentational State Transfer) est une manire de concevoir des applications ou des
services Web. Il nest pas un protocole ou un format, cest un style darchitecture. REST
utilise le protocole http, il supporte plusieurs formats de donnes telles que (XM L, JSON,
YAM L) et il est plus simple dvelopper que SOAP.
RES ET ou S OPA ?
Dans le cadre de notre application Android nous nous intressons au web service REST qui
retourne des donnes JSON, tenant compte que JSON la particularit dtre plus lger que
XM L, et a reprsente un gain de poids dans le monde du mobile. [26]

| 88

Smart Job IT

| Ralisation et test

4.3.1.2. Technique de go localisation GPS


Pour acqurir l'emplacement des utilisateurs de notre application Android pour quils puissent
positionner les annonces qui les intresses sur Google M ap, on a recourt lutilisation de GPS
(Global Positioning System) de smart phone.
GPS dtermine l'emplacement l'aide de satellites. Selon les conditions, ce fournisseur peut
prendre un certain temps pour revenir un emplacement fixe mai il donne des rsultats plus
prcis que tout autre technique de golocalisation sur Android.
4.3.1.3. Google Map API
L'API Google M ap est l'une des applications de cartographie les plus utilises au monde. C'est
une application de service de go localisation gratuite en ligne. Elle offre une vue de carte sur
quatre plans savoir un plan classique, un plan en image satellite, un plan mixte et un plan
relief de la rgion.
Pour intgrer ces cartes interactives Google M aps son propre application et bnficier des
donnes associes, l'utilisateur doit disposer d'une cl (Google M ap API Key) propre son
domaine d'utilisation[27].

4.3.2. Technologies utiliss cot web


4.3.2.1. JQuery
JQuery est une librairie JavaScript qui permet de manipuler un code HTM L trs facilement.
Selon les concepteurs du produit, JQuery est une librairie JavaScript rapide et concise qui
simplifie la traverse de documents html, la gestion des vnements, lanimation et les
interactions Ajax pour du dveloppement web rapide. JQuery est conue pour changer notre
faon dcrire le JavaScript. [28].
On recourt JQuery dans notre application web pour la ralisation de la galerie et toute autre
animation.
4.3.2.2. Ajax
AJAX est une mthode de dveloppement web base sur l'utilisation d'un script JavaScript
pour effectuer des requtes web l'intrieur d'une page web sans recharger la page. AJAX
rend plus interactifs les sites web et offre une meilleure ergonomie ainsi qu'une ractivit
| 89

Smart Job IT

| Ralisation et test

amlior en permettant de modifier interactivement une partie de l'interface web seulement.


En effet, le modle web traditionnel est bas sur une suite de requtes et de rponses
successives, c'est--dire une navigation squentielle de page web en page web. AJAX permet
de ne modifier que la partie de la page web qui ncessite d'tre mise jour en crant une
requte HTTP locale et en modifiant tout ou partie de la page web en fonction de la requte
HTTP rcupre [29].
On recourt Ajax dans notre application web pour le contrle derreur laffichage des alertes.
4.3.2.3. Twitter Bootstrap
Bootstrap, c'est un framework CSS propos par Twitter sous licence Apache. Il dpasse les
frameworks CSS classiques et propose des lments graphiques complets avec une garantie
maximale de compatibilit entre les divers navigateurs [30].
La template de notre site est bas sur les outils et styles proposs par Bootstrap ce qui nous a
offert une grande compatibilit entreles diffrents navigateurs ainsi quune vue

4.3.3. Langage de dveloppement


Pour le dveloppement de notre plateforme on a utilis les langages de programmation
suivants :

Java
Java est un langage de programmation orient objet, dvelopp par Sun
M icrosystems. Il permet de crer des logiciels compatibles avec de
nombreux systmes dexploitation (Windows, Linux, M acintosh, Solaris).
On a utilis Java pour la programmation de notre application Android.

PHP
PHP est actuellement le langage de script le plus utilis, il permet la
ralisation de sites web dynamiques. PHP permet de raliser la plupart
des applications, mais il est employ surtout pour mettre des bases de
donnes en ligne dans les sites Web[31].

Dans notre partie Web, Yii impose lutilisation de PHP5 nous avons donc programm avec
PHP5 qui est une version volue de PHP, PHP5 est un langage orient Object qui offre plus
de fonctionnalits.

| 90

Smart Job IT

| Ralisation et test

HTML5
HTM L5 est la dernire rvision majeure d'HTM L.HTM L5 spcifie deux
syntaxes d'un modle abstrait dfini en termes de DOM : HTM L5 et
XHTM L5. Le langage comprend galement une couche application avec de
nombreuses API, ainsi qu'un algorithme afin de pouvoir traiter les documents
la syntaxe non conforme .La majorit des interfaces de notre application

web sont conus en HTM L5 [33].

CS S
Les feuilles de style en cascade1, gnralement appeles CSS (Cascading Style
Sheets), forment un langage informatique qui dcrit la prsentation des
documents HTM L et XM L. Les standards dfinissant CSS sont publis par le
World Wide Web Consortium (W3C).
La template de notre plateforme ainsi que la majorit des feuilles de style de

notre application web sont cod en CSS3 [33].

4.4. Implmentation
Dans cette section, nous prsentons le travail que nous avons ralis en soulignant que nous
sommes pas parvenus atteindre les objectifs noncs au dbut de notre projet et dcrits dans
le deuxime chapitre de ce rapport. Dans ce qui suit, nous allons prsenter quelques interfaces
de lapplication ralise.

4.4.1. Implmentation de la partie web


Vu le nombre important d'interfaces graphiques, relatives aux diffrents oprations effectues
par les diffrents utilisateurs de notre plateforme, nous en avons slectionn les plus
importantes.
4.4.1.1. Espace internaute
La figure 4. Suivante illustre linterface principale de notre application accessible de puis tous
les internautes.

| 91

Smart Job IT

| Ralisation et test

Figure 4. 1: Interface d'accueil de Smart Job IT

Notre interface est compose de 3 parties principales, un header contenant nos deux menus de
| 92

Smart Job IT

| Ralisation et test

navigation ainsi que le logo et lespace publicitaire. Le contenu de la page intgrant une
carossele et un accs rapide lespace administrateur ainsi quune collection daccs rapide
aux diffrentes fonctionnalits proposes comme le dpt dun cv, le test de comptence,
linscription lalerte email, la consultation des annonces la une et lien vers notre
application mobile sur GooglePlay.
Nous citons alors les diffrentes fonctionnalits offertes aux internautes de notre application
web.

Consulter annonce
Un internaute peut soit consulter directement les annonces proposes ou aprs une recherche
via lespace de recherche rserv pour chaque type dannonce (offre demploi, vnement,
formation et concours)
La figure suivante illustre les interfaces relatives aux cas dutilisation consultation offre
demploi et formation.

Figure 4. 2: Liste des annonces d'offre d'emploi

| 93

Smart Job IT

| Ralisation et test

Figure 4. 3: Liste des formations

La liste des formations contient les formations publies en ordre dcroissant par date ainsi
quun espace publicitaire.

Consulter dtailles annonce


On choisissant une annonce un internaute peut consulter les dtails de cette annonce en
cliquant sur le lien voir dtaille comme le montre la figure 4.4 suivante :

Figure 4. 4: Dtaille annonce d'offre d'emploi

| 94

Smart Job IT

| Ralisation et test

En consultant les dtails dune annonce linternaute doit sauthentifier ou sinscrire pour
pouvoir postuler, imprimer ou ajouter loffre choisie ces favoris.
Aprs sa connexion le membre accde directement son espace.

Figure 4. 5: Espace membre

Consulter espace membre


En accdant son espace un membre peut grer ces favoris, son Cv, ces candidatures et son
compte.

| 95

Smart Job IT

| Ralisation et test

Consulter candidatures

Figure 4. 6: Consulter candidatures

Grer favoris

Figure 4. 7: Grer favoris

| 96

Smart Job IT

| Ralisation et test

Aprs lajout dune annonce ses favoris, un membre peut

lenlever

ou

la

consulter

directement.

Grer compte
Un membre peut grer aussi les paramtres de son compte en modifiant ces cordonnes ou en
le suppriment directement.

Figure 4. 8: Grer paramtres de compte

Gestion CV
Un membre professionnel peut dposer et mettre jour son CV travers la rubrique Mon
profile CV. Le CV est compos en set modules comme la montre la figure suivante.

| 97

Smart Job IT

| Ralisation et test

Figure 4. 9: Grer profil

Si un membre est inscrit pour la premire fois linterface si dessus est affiche en demandant
lutilisateur dajouter les diffrents modules de Cv.
Ci-dessous on dtaille les vues des modules de remplissage information personnel et
information professionnel.

| 98

Smart Job IT

| Ralisation et test

Figure 4. 11: Ajouter informations personnel

Figure 4. 10: Ajouter formation ou diplme

| 99

Smart Job IT

| Ralisation et test

4.4.1.2. Espace membre professionnel

Figure 4. 121 : Espace recruteur

La figure 4.11 suivante reprsente lespace de recruteur.


Dans cette espace un recruteur peut grer son profil, ces annonces, dposer une publicit,
consulter la Cvthque, les candidatures et la liste des participants dans une formation ou
vnement.
| 100

Smart Job IT

| Ralisation et test

Figure 4. 132: Mon espace recruteur

4.4.2. Implmentation de la partie mobile


La figure 4.13 reprsente linterface daccueil de notre application mobile.

Figure 4. 143: Interface daccueil

| 101

Smart Job IT

| Ralisation et test

Lutilisateur peut consulter la liste des offres demploi, des formations, coucous ou
vnements comme il peut chercher une annonce en cliquant sur le bouton de rechercher en
fin il a la possibilit de se connecter via le bouton Profil sil nest pas connect ou bien
visualis et grer son profil sil est connect.
En accdant chaque rubrique la liste des annonces concernant cette rubrique est affiche
comme la montre la figure 4.14 suivant.

Figure 4. 154: Listes des annonces doffre demploi, concours, formations et vnement

En accdant une annonce linterface 4.15 suivante est affiche.

Figure 4. 165: Dtaille annonce doffre demploi

| 102

Smart Job IT

| Ralisation et test

Linterface dtaille dannonce illustre les donnes relatives une annonce avec la possibilit
de postuler sa candidature.
Lutilisateur doit tre connect, doit avoir dpos son Cv dans le site web et na pas postuler
dj a cette offre pour quil puisse dposer sa candidature sinon une alerte derreur sera
affiche selon chaque cas derreur.
En consultant un vnement la figure 4.16 est affiche.

Figure 4. 176: Dtaille vnement

Figure 4. 187: Dtaille vnement

De mme cette interface affiche les dtailles dun vnement avec la possibilit de participer
cette vnement ou sa publication sur un rseau sociaux comme la montre la figure 4.17. Ces
fonctionnalits sont valables aussi pour la rubrique formation.
En choisissant de consulter un concours linterface 4.18 est affiche avec tout les dtaille de
ce concours.

| 103

Smart Job IT

| Ralisation et test

Figure 4. 198: Dtaille concours

Laccs aux offres demploi peut tre effectu comme sous forme de liste comme on a
mentionn prcdemment ou via Google M ap comme la montre la figure 4.19 suivante.

Figure 4. 209: Visualiser les annonces sur Map

En cliquant sur la M ap le positon de lutilisateur est marqu par un pense, selon la distance
choisie par lutilisateur sur le seek bar, les offres demploi sont places sur la M ap avec les
informations relatives chaque offre et litinraire vers lemplacement doffre le plus proche
sera visualis.
Pour bnficier de plusieurs fonctionnalits offertes, lutilisateur doit se connecter ou
sinscrire lapplication.
| 104

Smart Job IT

| Ralisation et test

Lors de linscription lapplication offre ses utilisateurs de choisir leurs prfrences (selon
ville et catgorie doffre demploi) pour quil soit notifi lors de la publication des annonces
correspondantes leurs prfrences.

Figure 4. 219: Ajouter prfrences

4.5. Conclusion
Ce dernier chapitre est consacr la prsentation des rsultats de notre projet. En premier lieu,
nous avons expos les environnements matriel et logiciel de ralisation de notre projet avec
la justification de nos choix de logiciels mis en uvre.
Ensuite, nous avons prsent le chronogramme de travail ralis tout au long de ce stage.
Finalement, nous avons prsent une vue de la plateforme finale via quelques imprims
d'crans.

| 105

Smart Job IT

| Ralisation et test

| 106

Conclusion gnrale

Conclusion
Ce projet de fin d'tude, effectu au sein de la socit Smart Thinking , nous a
permis de concevoir et raliser une plateforme nomme Smart job IT offrant ces
utilisateurs la possibilit de dposer , postuler et suivre toute annonce doffre demploi,
concours , formation et vnement de domaine informatique via deux terminaux web et
mobile.
Afin dachever notre mission, nous avons commenc par mettre en uvre la
situation des job board tunisien via une tude comparative des diffrentes applications web et
mobile existantes sur le march. En deuxime lieu, nous avons examin les besoins
fonctionnels et techniques ncessaires pour rsoudre les difficults remarqus. Puis nous
avons labor la conception prliminaire pour finir avec la conception dtaille. Enfin nous
avons expos le travail ralis ainsi que les diffrents choix techniques adopts pour effectuer
ce travail.

Pendant la ralisation de notre plateforme, nous avons rencontr plusieurs difficults.


Premirement, au stade de choix de framework PHP pour raliser lapplication web, nous
avons test plusieurs frameworks PHP existants avant de faire le choix sur le framework Yii.
La prise en main de Yii constituait un grand chalenge pour nous, nous nous considrons
encore en phase dapprentissage mme aprs la fin de ce projet.
lissue de ce travail, nous pouvons conclure que ce travail nous a aids acqurir des
comptences au niveau danalyse, conception et dveloppement.
Ce projet nous a donn de plus loccasion dacqurir des nouvelles connaissances propos
de Yii, Android , et de maitriser le langage de programmation PHP5 et Java qui seraient
certes utile dans nos futures vies professionnelles.
Si nous voquons lattrait relationnel et humain de ce stage, nous remarquons que nous
avons appris dvelopper nos capacits de communication et dintgration dans un milieu
professionnel.
Finalement, nous notons que la dure du stage nous a impos des restrictions au
niveau des tches qui nous ont t alloues, surtout quil nous a fallu un temps dadaptation au
| 107

Conclusion gnrale
dbut pour nous familiariser avec la plateforme et comprendre la logique et les techniques de
dveloppement contrainte qui nous a men raliser que 70% de travail demand.

Perspectives
Eventuellement, nous sommes conscients que ce projet nest quun aperu de la vie
professionnelle, il peut tre volu pour intgrer plusieurs autres fonctionnalits avances
comme les entretiens en ligne, gestion avance de la Cvthque et une compatibilit avec les
diffrents systmes dexploitation pour lapplication mobile pour cibler le plus grand nombre
dutilisateur.

| 108

Bibliography
1. (2014, 04 15). Rcupr sur http://fr.clever-age.com/IM G/pdf/Livre_blanc_Clever_Age__Frameworks_PHP_pour_l_entreprise.pdf
10. (2014, 05 10). Rcupr sur http://dialloma.com/metier/services
11. (2014, 04 15). Rcupr sur http://fr.clever-age.com/IM G/pdf/Livre_blanc_Clever_Age__Frameworks_PHP_pour_l_entreprise.pdf
12. (2014, 04 22). Rcupr sur http://www.yiiframework.com/performance/
13. (2014, 05 22). Rcupr sur http://www.makina-corpus.org/blogs/guidtz?page=3
13. (2014, 05 18). Rcupr sur http://www.makina-corpus.org/blogs/guidtz?page=3
14. (2014, 04 22). Rcupr sur http://www.horizonduweb.com/presentation-du-frameworkyii/
15. (2014, 04 22). Rcupr sur
http://www.yiiframework.com/doc/guide/1.1/fr/quickstart.what-is-yii
16. (2014, 04 28). Rcupr sur http://www.yiiframework.com/doc/guide/1.1/fr/basics.mvc
17. (2014, 04 28). Rcupr sur http://www.yiiframework.com/doc/guide/1.1/fr/basics.mvc
18. (2014, 04 25). Rcupr sur http://www.zdnet.fr/actualites/chiffres-cles-les-ventes-demobiles-et-de-smartphones-39789928.htm#null
2. (2014, 04 10). Rcupr sur Le terme framework se traduit littralement par cadre de
travail : dans le cas des frameworks Web, concrtement, il s'agit d'un ensemble de
bibliothques et d'outils qui permettent d'amliorer la conception d'applications Web,
(2013, 05 30). Rcupr sur http://niconoclaste.com/ifocop/competences.html
(2014, 05 29). Rcupr sur http://www.commentcamarche.net/contents/5-ajax-asynchronousjavascript-and-xml
21. (2014, 04 18). Rcupr sur http://www.ecampus.uvsq.fr/claroline/backends/download.php?url=L1VNTC04dXAucGRm&cidR
eset=true&cidReq=ISTY1TOI
22. (2014, 05 20). Rcupr sur http://toulibre.org/eclipseparty
23. (2014, 05 28). Rcupr sur
http://www.frandroid.com/android/developpement/141938_android-studio-face-aeclipse-la-comparaison
24. (2014, 05 10). Rcupr sur http://genymotion.software.informer.com/
25. (2014, 05 10). Rcupr sur http://www.eric-bellot.fr/files/tutoriel_wampserver.pdf
26. (2014, 05 15). Rcupr sur
http://www.toponitech.com/index.php?option=com_content&view=article&id=143:se
rvice-web&catid=1:latest-news&Itemid=80

27. (2014, 05 29). Rcupr sur http://pole-image.ghss.univ-paris-diderot.fr/wpcontent/uploads/2013/10/M anuelDeCartographieRapide_BernardLortic_IRD.pdf


28. (2014, 05 29). Rcupr sur http://jquery.developpeur-web2.com/
3. (2014, 04 23). Rcupr sur http://fr.openclassrooms.com/informatique/cours/developpezvotre-site-web-avec-le-framework-django/le-fonctionnement-de-django
30. (2014, 05 30). Rcupr sur http://cerig.efpg.inpg.fr/Note/2002/php.htm
33. (2014, 05 30). Rcupr sur http://niconoclaste.com/ifocop/competences.html
4. (2014, 04 10). Rcupr sur http://fr.clever-age.com/IM G/pdf/Livre_blanc_Clever_Age__Frameworks_PHP_pour_l_entreprise.pdf
5. (2014, 04 10). Rcupr sur http://fr.clever-age.com/IM G/pdf/Livre_blanc_Clever_Age__Frameworks_PHP_pour_l_entreprise.pdf
6. (2014, 05 10). Rcupr sur http://www.talkplus.org/yii/2012/bonjour-tout-le-monde/
7. (2014, 05 10). Rcupr sur http://www.younet.be/technologies.php
8. (2014, 5 10). Rcupr sur http://www.cti-formation.fr/cti/symfony-2-perfectionnement
9. (2014, 05 10). Rcupr sur http://www.formapro-bizerte.tn/portfoliotypes/developpement-web/

Livre :
[19]. Les cahiers du programmeur uml2 - modliser une application web, Pascal ROQUES ;
page : 57, Octobre 2008

| 110

Annexes
Annexe 1
Dans Yii, chaque Table de base de la base de donnes est reprsente par un modle hritant
de la class ActiveRecord comme la montre la figure suivante qui reprsente le modle
tblEntreprise pour notre application web.
Le modle contient :
- La fonction rules()retourne un tableau indiquant les restrictions imposes par la base de
donne cette fonction est charg de faire la validation des champs lors dune saisie.

Figure A. 1: Model tblEntreprise

| 111

Annexe 2
La figure montre A.2 suivante prsente le code de laction actionAffichage de contrleur
SiteController. Cet action permet de dfinir la requte de recherche selon les critres dfinit
dans le variable $criteriade type CDBCriteria. Le rsultat de cette requte est de sous forme
de DataProvider.

Figure A. 2: Action actionAffichage

| 112

Annexe 3
Dans Yii le fichier de configuration principale de lapplication est main.php il est plac sous
protected/config.

Figure A. 3: Fichier config

La figure A.3 illustre la configuration de chemin par dfaut vers les extensions quon a utilis.
On fait aussi lexportation de toutes les extensions utilises comme lextension Scalar destin
pour faire le traitement sur les chaines de caractre.
On a aussi activ le gnrateur de code Gii et on lui a attribu un mot de passe pour pouvoir
gnrer automatiquement les modles et les contrleurs de notre application.

| 113

Figure A. 4: Fichier config

Dans la Figure A.4 on dfinit laccd notre base de donnes.

Annexe 4

Figure A. 5: Service web Point.php

Dans ce service on a rcupr la position de lutilisateur (point longitude et point latitude) via
la mthode GPSLocation listner(). On a ensuite slectionn les points les plus proches de
lutilisateur et on a envoy les donnes relatives aux points les plus proches.

| 114

Annexe5

Figure A. 6: Service web Recherche

Dans ce service on a implment une requte SQL qui sadapte chaque fois aux champs saisie
ou slectionnes par lutilisateur.

| 115

Annexe5

Figure A. 7: Activit GfragmentMap

Cette activit se charge dimplmenter lAPI Google Map et de positionner lutilisateur via la
mthode onProgressChanged() pour pouvoir positionner les offres les plus proche de lui juste
en modifiant les paramtre de seekBar.
Aprs le chargement de la position de lutilisateur et des offres demploi sur M ap, le rsultat
de service point est affect dans une HashM ap.

| 116