Académique Documents
Professionnel Documents
Culture Documents
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
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.
Introduction ................................................................................................................... 10
1.2.
1.3.
1.4.
Problmatique ................................................................................................................ 11
1.5.
1.5.1.
1.5.1.1.
1.5.1.2.
1.5.2.
1.5.3.
1.5.3.1.
1.5.4.
1.6.
1.7.
1.7.1.
1.7.1.1.
1.7.1.2.
1.7.1.3.
1.7.1.4.
1.7.1.5.
1.7.1.6.
1.7.2.
1.7.2.1.
1.7.2.2.
1.7.2.3.
1.8.
1.9.
1.9.1.
1.9.2.
1.10.
Conclusion ................................................................................................................. 38
2.1.
Introduction ................................................................................................................... 40
2.2.
2.2.1.
2.2.2.
2.2.3.
2.3.
2.3.1.
2.3.2.
2.3.2.1.
2.3.2.2.
2.3.2.3.
2.3.2.4.
2.3.2.5.
2.3.3.
2.3.3.1.
2.3.4.
2.4.
2.5.
Conclusion ..................................................................................................................... 59
3.1.
Introduction ................................................................................................................... 61
3.2.
3.2.1.
3.2.2.
3.3.
3.3.1.
3.3.2.
3.4.
3.4.1.
3.5.
3.5.1.
Conclusion ..................................................................................................................... 83
4.1.
Introduction ................................................................................................................... 85
4.2.
4.2.1.
4.2.2.
4.3.
4.2.2.1.
4.2.2.2.
4.2.2.3.
4.2.2.4.
4.2.2.5.
Technologies Utilises................................................................................................... 87
4.3.1.
4.3.1.2.
4.3.1.3.
Google M ap API............................................................................................. 89
4.3.2.
JQuery ............................................................................................................. 89
4.3.2.2.
Ajax................................................................................................................. 89
4.3.2.3.
Implmentation .............................................................................................................. 91
4.4.1.
4.4.1.1.
4.4.1.2.
4.4.2.
4.5.
4.3.2.1.
4.3.3.
4.4.
4.3.1.1.
53
55
57
58
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.
| 10
Smart Job IT
| Etat de lart
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.
| 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.
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
| 14
Smart Job IT
| Etat de lart
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.
Smart Job IT
| Etat de lart
Tunisie Travail
ECF
200
1800
1900
Gnraliste
Gnraliste
Gnraliste
Critres
Nombre dannonces
publis
Catgorie de site
Oui
Non
Oui
Dpt CV
Oui
Non
Oui
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
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.
| 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.
| 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.
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.
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.
| 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 :
| 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 :
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.
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
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 :
| 26
Smart Job IT
| Etat de lart
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 :
| 27
Smart Job IT
| Etat de lart
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
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].
Modle-Vue-Contrleur (MVC)
| 30
Smart Job IT
| Etat de lart
Le schma suivant montre un flux de travail typique d'une application Yii quand il traite
une demande de lutilisateur :
| 31
Smart Job IT
1.
| Etat de lart
3.
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'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.
8.
9.
| 32
Smart Job IT
| Etat de lart
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
| 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 :
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)
| 35
Smart Job IT
| Etat de lart
SQLite : c'est un moteur de base des donnes qui est trs lger.
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].
| 36
Smart Job IT
| Etat de lart
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.
| 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
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).
Besoins fonctionnels
Gestion compte :
Crer, modifier ou supprimer compte utilisateur professionnel.
| 40
Smart Job IT
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.
Gestion publicit :
Demander lajout dune publicit, Retirer (supprimer) une publicit (cette
fonctionnalit est payante)
Espace membre
Inscription au site
Gestion des CV :
Crer, consulter, modifier ou tlcharger CV (format pdf).
| 41
Smart Job IT
Accs blog :
Ajouter commentaire un article, partager un article sur rseau sociaux.
Espace administrateur
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.
Recherche offres, concours, formations ou vnements par : mot cl, rgion ou secteur
dactivit.
Candidater une offre demploi(le demandeur doffre demploi doit avoir un cv gnrer
sur le site web pour pouvoir postuler une offre).
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.
Smart Job IT
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.
La gestion des erreurs : Offrir les moyens permettant dune part dviter ou de rduire
les erreurs, dautre part de les corriger.
Smart Job IT
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.
| 44
Smart Job IT
| 45
Smart Job IT
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
| 47
Smart Job IT
| 48
Smart Job IT
| 49
Smart Job IT
| 50
Smart Job IT
| 51
Smart Job IT
| 52
Smart Job IT
La priorit fonctionnelle.
Le risque technique.
Cas dutilisation
Priorit
Haute
Moyenne
Itration
Moyenne
Risque
Haute
Haute
Moyenne
Consultation banque de CV
Moyenne
Moyenne
Moyenne
Moyenne
Gestion candidatures
Haute
Moyenne
Gestion QCM
Moyenne
Moyenne
Recherche annonce
Haute
Moyenne
Haute
Moyenne
Haute
Moyenne
Gestion CV
Haut
Moyenne
Moyenne
Moyenne
| 53
Smart Job IT
Suivie candidature
Moyenne
Basse
Gestion favoris
Moyenne
Moyenne
Moyenne
Moyenne
Moyenne
Basse
Moyenne
Basse
Moyenne
Basse
Moyenne
Moyenne
Haute
Moyenne
Moyenne
Moyyenne
Moyenne
Moyenne
Haute
Moyenne
Moyenne
Moyenne
Haute
Moyenne
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
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.
Rsum
Acteurs primaire
Membre professionnel
Pr conditions
| 55
Smart Job IT
Post condition
Publication de lannonce.
| 56
Smart Job IT
Recherche annonce
Rsum
Acteur principal
Internaute ou Membre
Pr conditions
Post conditions
Recherche rapide :
1. LInternaute
rapide
Scnario nominal
lance
partir
une
de
recherche
mots-cls :
Smart Job IT
Systme
lui
prsente
une
Scenario alternatif
Cration compte
Rsum
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.
| 58
Smart Job IT
Scenario alternatif
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
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.
| 61
Smart Job 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.
| 62
Smart Job 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.
Attributs
Contraintes
Type
Description
idUser
Cl primaire
Int ()
Nom
Varchar()
Prenom
Varchar()
role
Int ()
| 63
Smart Job IT
Varchar()
Mot_passe
Varchar()
Date_creation
T imestamp
Date_suppression
Datetime
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 ()
Label_entreprise
Varchar ()
Label de lentreprise
Categorie_entreprise
Varchar ()
Catgorie de lentreprise
T aille_entreprise
Varchar ()
T aille de lentreprise
Annee_fondation
Datetime
Description_entreprise
Varchar ()
Description de lentreprise
Logo_entreprise
Blob
Logo de lentreprise
Pays_entreprise
Varchar ()
Region_entreprise
Varchar()
10
Adresse_entreprise
Varchar()
Adresse de lentreprise
11
Code_postale_entreprise
Varchar()
12
Lien_web_entreprise
Varchar ()
13
T elephone_Fixe
Int()
14
T elephone_mobile
Int()
15
Varchar ()
Email de lentreprise
| 64
Smart Job IT
| 65
Smart Job IT
| 66
Smart Job IT
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
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
| 69
Smart Job IT
Authentification.
Dposer CV.
Supprimer favoris
Authentification.
| 70
Smart Job IT
| 71
Smart Job IT
Figure 3. 7 : Diagramme de squence du cas dutilisation Ajouter une annonce doffre emploi
| 72
Smart Job IT
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
connect
seront
affiches
dans
un
formulaire
de
la
vue
Smart Job 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 .
| 75
Smart Job IT
Smart Job 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.
Smart Job 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
| 79
Smart Job 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
Figure 3. 14 : Diagramme de squence du cas dutilisation Visualiser offres plus proche sur Google Map
| 81
Smart Job IT
| 82
Smart Job 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.
Mmoir RAM
4Go
4Go
Carte graphqique
AT I Radeon HD 4650
Systme dexploitation
Windows 8 professionnel
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 :
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
| 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
dune
modlisation.
| 87
Smart Job IT
| Ralisation et test
| 88
Smart Job IT
| Ralisation et test
Smart Job IT
| Ralisation et test
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
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
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.
| 91
Smart Job IT
| Ralisation et test
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.
| 93
Smart Job IT
| Ralisation et test
La liste des formations contient les formations publies en ordre dcroissant par date ainsi
quun espace publicitaire.
| 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.
| 95
Smart Job IT
| Ralisation et test
Consulter candidatures
Grer favoris
| 96
Smart Job IT
| Ralisation et test
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.
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
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
| 99
Smart Job IT
| Ralisation et test
Smart Job IT
| Ralisation et test
| 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
| 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.
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
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.
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.
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.
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
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.
| 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.
| 112
Annexe 3
Dans Yii le fichier de configuration principale de lapplication est main.php il est plac sous
protected/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
Annexe 4
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
Dans ce service on a implment une requte SQL qui sadapte chaque fois aux champs saisie
ou slectionnes par lutilisateur.
| 115
Annexe5
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