Hallou Jugurtha
Hallou Jugurtha
Hallou Jugurtha
Thème:
Conception et réalisation
d’une application web pour
l’emplois sur le Net
Promotion 2012/2013
REMERCIEMENTS
Mes parents sans qui je n’aurais jamais pu arriver jusque-là. Merci pour votre
présence et votre soutien continu. J’espère que je vous rendrai de plus en plus
Mes amis proches et moins proches, merci pour votre aide précieuse et pour les
Abderrezak
Dédicaces
Mes chers parents qui ont sus être toujours présent à mes côtés et qui m’ont
et à tous ceux qui m’ont aidé de près ou de loin dans mes études.
Jugurtha.
Sommaire
2.7 : Représentation de la gestion de collecte des offres et l’envoi des alertes…… .….........23
2.14 : Diagramme de séquence du cas d’utilisation postuler pour une offre. …..……...…….35
2.15 : Diagramme de séquence du cas d’utilisation ajouter une offre par le recruteur…...….36
Pour répondre aux besoins intrinsèques des entreprises et candidats, nous avons
choisi de mener une étude sur le mécanisme du recrutement en ligne, ensuite de donner une
solution favorable qui facilite et aboutisse aux besoins ressentis.
Pour mener à bien notre travail nous avons opté pour une démarche qui s’étale sur
trois chapitres :
Dans le second chapitre, nous présenterons une étude analytique et conceptuelle sur
le sujet puis nous dégagerons une solution à la problématique exposée.
1.1 Introduction
Voila près de 10 ans qu’en termes de recrutement le support électronique a pris le pas sur le papier.
Il n’est maintenant plus logique de parler de révolution, c’est un fait, le recrutement en ligne concer
ne la majeure partie des recrutements par annonce.
Certaines populations de candidats sont plus impactées que d’autres en particulier les cadres
et les jeunes diplômés. Mais de plus en plus, l’informatisation du recrutement s’impose
comme une référence, aussi bien pour les candidats que pour les entreprises, et au fur et à mesure que
les nouvelles générations de diplômés arriveront, ce phénomène ne pourra que s’accentuer.
Cependant, vu les limites des outils dédiés à la gestion et à la recherche des Curriculum Vitae
(CVs)/offres d’emplois, l’écoulement de l'information sur ce marché de travail est loin d’être
optimal. Dans ce qui suit, nous allons décrire les caractéristiques des CVs et des offres d’emplois,
puis nous allons décrire le processus de recrutement dans le web.
1.2 Le recrutement:
Le recrutement est l'ensemble des actions mises en œuvre pour trouver un candidat correspondant
aux besoins et compétences requises pour exercer un poste de travail donné, dans une organisation
donnée.
Le CV est un document structuré. Les informations qu’il comporte sont groupées de façon
3
L’emploi sur le Net
thématique au sein de rubriques qui seront matérialisées par un titre, les rubriques les plus importantes
sont :
Emploi recherché /Domaine de compétence : cette rubrique donne un aperçu immédiat du profil
du chercheur d’emploi et elle doit être remplie avec la plus grande attention.
Education et formation : il s’agit de détailler et de préciser toutes les études menées, les
diplômes préparés et/ou obtenus, les formations suivies, allant généralement de la formation la
plus récente à la plus ancienne. Chaque formation est décrite séparément par les informations
suivantes : l’année de la formation, l’intitulé de la formation, le nom et le type de
l’établissement fréquenté, le diplôme obtenu, niveau dans la classification nationale ou
internationale.
Expérience professionnelle : cette rubrique est celle à laquelle un recruteur attache le plus
d’importance, car elle met en avant tous les points forts d’un demandeur d’emploi.
Information complémentaire : un chercheur d’emploi indique ici toute autre information qu’il
4
L’emploi sur le Net
Le CV thématique : ce type de CV est peu répandu, car difficile à faire, mais il présente, dans
certains cas, de nombreux avantages. Il est particulièrement indiqué pour les personnes
ayant exercé plusieurs métiers différents sans continuité ou cohérence. Mais il est aussi indiqué
si on souhaite minimiser une erreur de parcours ou un trou dans notre expérience car il permet
de mettre l'accent sur telle ou telle de nos compétences.
Est un document moins structuré que le CV. Les informations de l’offre, d’après les différents
sites d’emplois, peuvent être regroupées dans les catégories suivantes :
Entreprise : dans cette catégorie, le recruteur décrit son organisme, ainsi que le secteur
d’activité de son organisme.
Poste : dans cette catégorie le recruteur décrit les responsabilités et les tâchés liées au poste,
ainsi que les avantages dont peut bénéficier une recrue.
Profil : le recruteur définit dans cette catégorie les diplômes, les compétences, l’expérience
professionnelle requise.
5
L’emploi sur le Net
Information de contact : le recruteur cite son adresse complète, le nom et l’email de la personne
à contacter (responsable de recrutement).
1.5 L’e-recrutement :
Internet a totalement modifié le processus de recrutement des entreprises : de nombreux sites
disposent d’outils pour la génération des offres d’emploi (ou des CVs), permettant de les publier. Le
résultat de la sélection est automatiquement envoyé par mail au postulant. Internet a permis
d’optimiser le processus de recrutement, et d’augmenter considérablement le nombre des candidatures.
Nous détaillons, ci-dessous le processus de recrutement ainsi que les problèmes rencontrés par l’e-
recrutement.
Du point de vue organisation, un processus habituel de recrutement peut être divisé en quatre
phases :
Le département de fonctionnement définit les requis pour un poste de travail et écrit l’offre
d’emploi.
Après l’interview avec les candidats, la décision de recrutement au poste vacant est prise par le
département de fonctionnement et du personnel.
Les phases du processus de recrutement dans un recrutement en ligne sont les suivantes :
Écriture d'une signalisation du travail : de nos jours, les offres d’emploi sont écrites sous
forme de texte libre en utilisant un vocabulaire non contrôlé. Elles sont
habituellement structurées dans les rubriques suivantes: la description d'organisation, la
description des fonctions, les compétences et les qualifications exigées et les informations de
contact.
d’emploi sont possibles à travers les portails d’emploi ou les portails des entreprises :
Les portails d’emploi : il existe un nombre important de portails d’emploi tels qu’ils
sont financés par les frais de publication des offres d’emploi (La publication des CVs
est généralement gratuite). L’avantage de la publication dans un portail d’emploi
réside dans le nombre de personnes qui peuvent consulter ces documents.
Les portails des entreprises : la publication dans ce cas n’est pas coûteuse, car le
recruteur va publier son offre dans son propre site. Mais elle est limitée, parce que les
offres sont consultées par un nombre limité de chercheurs d’emploi.
Réception et présélection des demandes des candidats : il y a deux moyens pour écrire et
envoyer un CV :
Les chercheurs d’emplois envoient leur CVs par mail sous format texte (word, pdf, ...)
aux organismes. Cette technique ne permet pas l’automatisation de la présélection, le
recruteur doit analyser les CVs manuellement pour sélectionner le profil adéquat.
Les candidats remplissent des formulaires Web prédéfinis qui existent dans les sites des
organismes ou dans les portails d’emploi. L’utilisation des formulaires permet une
certaine automatisation de la présélection. Ce qui réduit son coût élevé.
Décision de recrutement final : la sélection finale consiste à faire un entretien avec chaque
postulant qui possède un CV sélectionné à l’étape précédente puis sélectionner les meilleurs selon
le classement des tests.
Le premier réunit les outils dont l’entreprise est propriétaire (outils internes). Le second
concerne ceux qui sont externes à l’entreprise (outils externes). Leur usage se fait, via des
intermédiaires de l’emploi publics ou privés (Bases de données, job boards), par accès direct
(réseaux sociaux, agrégateurs, Job boards).
Les outils du WEB Transmission : il s‘agit des Sites entreprises, job boards et logiciels
internes.
Les outils du WEB interaction : il s’agit des réseaux sociaux, Twitter, sites de gestion de
l’identité numérique, … Ce sont des outils privilégiés pour développer la réputation et la
marque employeur.
Les job boards sectoriels naissent et simultanément, les entreprises s’équipent en sites
carrière et développent leur communication vers le WEB. Il s’agit de l’espace emploi des
entreprises, présents sur le site institutionnel de l’entreprise par un onglet ou espace dédié. Il sert
à l’entreprise pour communiquer des annonces de postes à pourvoir, il sert aux candidats pour postuler
à des offres et/ou déposer son CV en ligne et rentrer dans les bases de données de l’entreprise.
Les Systèmes Informatiques de gestion du recrutement sont nés dans les années 1990. Ils ont
aujourd’hui une double vocation : diffuser des offres sur Internet et traiter les candidatures
électroniques reçues. Ils sont donc étroitement liés à l’utilisation d’Internet comme canal de
recrutement. D’après cette étude leur usage est loin d’être un phénomène anodin. «Il constitue même
une norme pour les plus grandes entreprises», lesquelles ont des milliers de salariés à recruter. Ce sont,
soit des progiciels «standardisés», soit des logiciels réalisés «sur mesure» pour les besoins propres
de l’entreprise, par des informaticiens internes ou externes à l’entreprise.
8
L’emploi sur le Net
Les Bases de données sont en lien direct avec les progiciels de gestion des RH. Ce sont des
outils informatiques qui classent et répertorient suivant des critères les CV et informations concernant
les personnes qui sont passées par un processus de recrutement externes, mais aussi internes.
Nés au milieu des années 90 aux États-Unis, les jobs boards avaient initialement pour seule
fonction la publication d’offres d’emploi. La traduction littérale du terme ‘job board’ exprime ce
service historique : «panneau emploi». Les entreprises déposaient leurs offres pendant que les
candidats pouvaient les consulter (modèle pull).
Depuis, ces sites emploi ont étendu leur offre, en proposant, entre autre :
Un service de CV thèque : les candidats déposent leur CV sur les sites pendant que les
entreprises qui le souhaitent, les consultent.
Les cabinets de recrutement ont longtemps eu recours à des sociétés privées qui
proposaient un accès, moyennant un abonnement, à des bases de données de candidats
potentiels. Ces bases de données pouvaient avoir deux sources : celles de diplômés d’écoles,
constituées à partir des annuaires des anciens élèves et celles de tout salarié désireux d’être
contacté par un potentiel employeur. Tous avaient, au préalable, acceptés que leur CV soit
communiqué à cette fin. Cette offre, initialement propre aux intermédiaires de l’emploi privés,
s’est depuis ouverte aux entreprises confrontées à d’importants volumes de recrutement.
Les solutions techniques ont migré de bases de données inertes, à des CD-Roms avec
mises à jour, puis à des accès via le WEB où l’information est désormais accessible en temps
réel.
9
L’emploi sur le Net
Parmi les changements qui s’opèrent sur ce marché, on note que les job boards ont étendu leurs
offres à cette prestation et que les grandes écoles s’interrogent sur la concurrence offerte par le
développement des réseaux sociaux.
Les premiers datent des années 80. L’arrivée d’Internet au milieu des années 90 et l’interface
graphique a augmenté le champ des possibles. En 95, une nouvelle génération de sites apparaît,
sur le modèle du «cercle d’amis» avec des sites d’anciens camarades de classe. Facebook, lancé
en 2004 par des étudiants d’Harvard, est devenu le premier réseau social du monde depuis son
ouverture à un public large fin 2006. La tendance actuelle est à la démultiplication des réseaux et
parmi eux, la création de réseaux sociaux plus ciblés, orientés professionnels ou catégorie d’individus,
et sont de plus en plus souvent utilisés par les recruteurs.
Peu connus, les agrégateurs de réseaux sociaux sont utilisés essentiellement par des
recruteurs experts du WEB. Développés depuis 2005, leur vocation est de fournir un unique
point d’accès sur Internet en agrégeant, sur un seul site, les contenus en provenance de
plusieurs réseaux sociaux. C’est donc un outil capable de recueillir et de synthétiser en temps
réel, des données et contenus dispersés sur plusieurs sites. Ils offrent une vision centralisée de ce qui
se passe simultanément sur l’ensemble des réseaux auxquels on appartient. Leur existence
répond à un besoin fondamental des recruteurs, celui de gagner du temps car assurer sa présence sur
un réseau est chronophage. C’est l’outil le mieux adapté pour la publication multi-comptes et la gestion
des spécificités de chaque plateforme. Trois agrégateurs de réseaux sociaux se démarquent :
Hootsuite
Tweetdeck (devenu propriété de Twitter en mai 2011)
Seesmic.
10
L’emploi sur le Net
11
L’emploi sur le Net
le nombre important de réponses à une annonce sur Internet ce qui offre aux recruteurs une
grande chance de succès.
Les inconvénients :
Le recrutement en ligne présente néanmoins quelque inconvénients qui sons :
Respecter des formats (taille de fichier formats de fichiers...) dans l’envoi de candidatures, qui
oblige à posséder un minimum de compétence avec l'outil informatique ce qui n'est pas
accessible encore à tous.
Respecter un certain nombre de règles et consignes encore mal connues car ce mouvement
n'est encore qu'en expansion. (rajouter un résumé du projet professionnel en une dizaine de
lignes...)
Cette méthode ne touche pas 100% de la population qui cherche du travail, elle s'adresse
davantage aux cadres, ceux qui veulent travailler à l'international ou encore les métiers
qualifiés qui s'exportent.
1.7 Conclusion :
Dans ce chapitre nous avons exploré le domaine du recrutement qui s’avère comme une
passerelle indispensable entre l’apprentissage et la vie active pour les chercheurs d’emploi d’un côté et
se présente comme une des essentielles tâche de l’entreprise de l’autre.
Les enjeux entreprit pour développer et améliorer cette démarche sont fort nombreux. Et c’est
pour cette raison que nous avons choisi de vous présenter la procédure de recrutement, et de son
adoption dans le web. Pour cela nous avons commencé par une description des CVs et offres
d’emplois, ensuite abordé la démarche du recrutement en ligne et pour finir nous avons présenté les
différents outils de recrutement qu’utilisent les entreprises modernes.
Ayant bien assimilé le concept du recrutement et passé en revus ses différentes applications
dans les entreprise, nous vous présenterons dans le prochain chapitre une étude pour un site d’emplois
offrant les services décrits précédemment.
12
Analyse et Conception
2.1 Introduction :
L’emploi est une chose qui concerne tout individu et en particulier les personnes ayant
franchis l’étape d’apprentissage, ayant obtenu un diplôme et qui sont prêtent à affronter le monde
du travail.
Et pour permettre une grande facilité de cette tâche, et aussi parce que le web est accessible
à tout le monde, un site web destiné pour l’emploi (recherche d’emploi) serai d’une grande utilité et
même que ça serai difficile de s’en passer puisque il donne accès à l’information sans avoir à se
déplacer ni à se dépenser. Un demandeur d’emploi aura l’occasion de choisir parmi un grand
nombre d’offres sans avoir à faire du porte à porte ou de déposer un CV sans savoir que l’entreprise
ressent le besoin de recruter.
L’emploi sur le net est la révolution du système d’annonce traditionnel des journaux et là
encore plus besoin de feuilleter un grand nombre de journaux pour avoir un résultat puisqu’une
fonctionnalité de recherche est souvent présente dans les sites web destinés à l’emploi, aussi que
dans ce dernier on peut consacrer énormément d’espace pour une annonce (offre) contrairement au
journal qui a une taille limitée.
Pour ce fait, selon un découpage temporel ce chapitre contiendra trois grandes parties, la
première s’intitule étude de faisabilité, qui consiste en la vérification de la réalisabilité du projet. La
seconde : définition de la solution, qui est une représentation précise de l’objectif à atteindre. La
troisième partie : conception détaillée, qui sera le guide pour la réalisation du projet.
L’origine de ce découpage provient du constat que les erreurs ont un coût d’autant plus
élevé qu’elles sont détectées tardivement dans le processus de réalisation. Le cycle de vie permet de
détecter les erreurs au plus tôt et ainsi de maîtriser la qualité du logiciel, les délais de sa réalisation
et les coûts associés.
14
Analyse et Conception
Notre projet : Développer un site web dynamique pour le recrutement sur le Net qui répondra aux
attentes des recruteurs et qui satisfera les demandes des candidats.
15
Analyse et Conception
La problématique :
Pour concevoir un système qui sera en mesure d’atteindre les objectifs cités précédemment
et de s’évoluer d’une manière assez rapide, de prendre place dans le domaine de l’emploi sur le net,
nous devons répondre aux questions suivantes :
16
Analyse et Conception
Les composantes graphiques: L’utilisation des cadres pour faire la décomposition en parties pour
préciser la structure de la page, il se décompose en trois parties (haute, gauche, corps).
Les composants d'interactions: Il s'agit des rubriques qui sont présentées en hauts, des boutons
sous forme d'images qui permettent de consulter les différentes pages du site selon le besoin
(candidat, recruteur, publicité...)
Les composants d'information : Utilisation du texte en gras et des boutons en rouge, violet pour
attirer l’intention du visiteur sur les points essentiels, diversifier les différents espaces du site.
Les deux images utilisées dans le site ne reflètent pas vraiment l’intérêt du site qui
s’agit du recrutement on line.
Navigation:
17
Analyse et Conception
La recherche au milieu de l’accueil selon des critères est mal placé (trois ascenseurs
au milieu de la page n’est pas vraiment faisable), la recherche d'informations est facile
mais elle n’est pas complète (il manque d’autre critères à ajouter comme le type du contrat
et l’expérience).
L’emplacement des nouvelles offres n’est pas le bon car il n’est pas mis en évidence.
Redondance du composant recherche des offres qu’on retrouve dans le bas et le cœur de la
page, alors que cette recherche est la même.
Fonctionnalités:
Les fonctionnalités du site permettent de répondre seulement à une partie des
attentes et besoins de ses internautes.
18
Analyse et Conception
les composantes graphiques : L’utilisation des cadres, des menus déroulants et des
ascenseurs pour mieux préciser la structuration du site. Certaines parties comme
l’inscription et la recherche sont représentées en images contenants du texte.
les composantes d’interactions :Il s'agit des rubriques qui sont présentées en hauts des
pages sous forme des boutons qui permettent de naviguer entre les pages et des images des
logos d’entreprise qui permettes d’accéder directement aux offres.
les composantes d’informations : Les informations sont assez lisibles pour les internautes,
le texte est écrit en noir, blanc et violet. Le titre de chaque partie est en gras avec la couleur
blanche et parfois avec le violet.
Les pages sont trop surchargées et mal structurées à l’image de l’accueil qui tient sur
une page trop longue ce qui ne donne pas vraiment envie de poursuivre la visite du site.
L’information présente sur l’accueil donne accès à des offres qui restent inchangées
pendant une longue période s’il n’y a pas de nouvelles offres insérées, ce qui donne
l’impression que le système reste inchangé et que les offres restent les mêmes.
Les offres présentes en page d’accueil ne sont pas forcément celles auxquelles
postule un grand nombre de candidat, elles sont organisées sous le critère de la date
(principe de la file).
2. Navigation :
La recherche d’information ainsi que la navigation sont faciles puisque le site offre
un accès sans conditions aux offres disponibles (sans inscription) ainsi qu’un bon système
de recherche avec les critères nom du poste, le secteur, le nom de la région, le nom du
département, le type du contrat et la date, et permet de choisir le nombre d’offres à afficher
par page.
En accédant aux pages des offres des entreprises présentes sur l’accueil on y trouve
toutes les offres déposées par cette dernière. Quand on accède au détail d’une offre un
chemin vers une page qui contient toute les offres de la même entreprise est présent dans le
bas de la page.
19
Analyse et Conception
3. Fonctionnalités :
Le site tel qu’il est organisé est fonctionnel et permet d’aider un grand nombre de
demandeurs d’emplois, mais la politique du site est purement commerciale, elle favorise le
recruteur du candidat et ne cherche pas à mieux présenter les offres selon la demande.
Pour un espace candidat: S'inscrire au site, déposer ses CV, consulter les offres d'emploi
disponibles, consulter les coordonnées de l'entreprise, définir ses alertes mail.
Pour un espace recruteur (entreprise): S'inscrire au site, consulter les actualités du site,
Consulter les coordonnées des candidats, déposer une offre d'emploi, consulter son solde.
Pour un espace administrateur : publier les offres sur l’accueil du site, accéder au comptes
recruteurs/candidats, activer ou désactiver un compte recruteur/candidat, gérer le système
de crédit des recruteurs.
Pour une meilleure performance notre solution doit contenir les points suivants :
Publier des offres d’emplois disponibles sur d’autres sites puis donner la référence de
l’annonce, et cela pour permettre aux visiteurs de consulter en un clic un grand nombre
d’offres et prendre le temps de choisir ce qui leurs convient.
Une alerte par SMS est souvent souhaitée par le candidat puisque ça permet de savoir en
temps réel qu’une offre lui convenant est disponible.
La gestion des appels d’offres subdivisée en deux sous rubriques, gestion des collectes des offres
externes et gestion des appels d’offres internes.
20
Analyse et Conception
La gestion des recruteurs, candidats et de l’ensemble des scénarios possible dans leurs espaces.
21
Analyse et Conception
22
Analyse et Conception
Figure 2.7 : Représentation de la gestion de collecte des offres et l’envoi des alertes
Un programme de récupération des appels d’offres d’emploi écrit en java nous a été cédé
par l’entreprise dans laquelle nous effectuant notre stage. Ce programme permet de parcourir des
pages web et de sauvegarder l’ensemble des offres retrouvé dans un fichier XML. Nous aurons par
la suite la tâche de sauvegarder le résultat dans notre base de données.
23
Analyse et Conception
La méthode pour identifier les différents acteurs du système est de répondre aux deux
questions suivantes:
Les visiteurs : sont des internautes qui visitent le site pour la première fois et qui ne sont pas
inscrit au site donc ils ne peuvent pas accéder aux espaces membres.
Les membres : « Candidats ou entrepreneures », sont des membres du site qui ont la
possibilité d'accéder aux espaces par l'identification de leur login et mot de passe.
L’administrateur: C'est lui qui a le droit d'ajouter, de supprimer, de modifier des données
nécessaires au fonctionnement du site.
Visiteur
accéder au site
consulter les offres
consulter les détails d’une offre
chercher une offre (selon des critères)
s’inscrire
Recruteur
S’authentifier
Accéder à son espace
Consulter, éditer son profile
Changer son mot de passe
Déposer une offre
Gérer ses offres
Gérer ses publications
Gérer les candidatures
Consulter son solde
Se déconnecter
Candidat
S’authentifier
Accéder à son espace
24
Analyse et Conception
Le site doit avoir une interface homogène avec le contenu, ce qui mène à créer une
composition graphique adaptée à la thématique de notre site en choisissant des couleurs
cohérentes.
En effet, nous allons essayer de concevoir une interface capable de réduire la charge
cognitive d'informations aux utilisateurs pour faciliter l'accès à l'information pertinente.
Notre système doit garantir une optimisation de temps pour le chargement des pages web et
il doit être opérationnel et indépendant par rapport aux différents navigateurs tels que l'internet
Explorer, Opéra, Netscape et Mozilla.
25
Analyse et Conception
2.6 Analyse :
Dans cette partie nous allons détailler l’ensemble des tâches définies dans la partie définition
des besoins et donner pour chaqu’une d’elles l’ensemble des scénarios qui permettent leurs
réalisations, en suite élaborer un diagramme de cas d’utilisation global et finir par la construction
d’un diagramme de classes métiers.
31
Analyse et Conception
32
Analyse et Conception
2.7 Conception :
Dans cette partie nous allons construire quelques diagrammes de séquences pour certaines
des tâches citées précédemment et finir par l’élaboration d’un diagramme de composants.
34
Analyse et Conception
Systeme
Candi dat
Figure 2.14 : Diagramme de séquence du cas d’utilisation postuler pour une offre.
Systeme
Recruteur
Demande page gerer mes offres
Page afficher
Figure 2.15 : Diagramme de séquence du cas d’utilisation ajouter une offre par le recruteur.
Figure 2.16 : Diagramme de séquence du cas d’utilisation gestion du crédit d’un recruteur.
36
Analyse et Conception
38
Analyse et Conception
2.9 Conclusion :
Dans ce deuxième chapitre nous avons élaboré la partie analytique et conceptuelle de notre
application qui consiste en une étude de sites d’offre d’emplois existants, puis dégager une solution
que nous avons représentée à l’aide des diagrammes de modélisations du langage UML.
39
Implémentation et Réalisation
3.1 Introduction :
La plate-forme .NET prend totalement en charge les technologies Internet basées sur
les normes et indépendantes des plates-formes, telles que http (Hypertext Transfer
Protocol), XML (Extensible Markup Language) et SOAP (Simple Object Access
Protocol), et peut être multi-environnement (il existe des implémentations libres sous Linux,
comme Mono [Xim], ou sous FreeBSD, comme Rotor [Mic])
41
Implémentation et Réalisation
Son environnement est également qualifié de « managé », ce qui signifie que des services
courants, tels que le garbage collection et la sécurité, y sont automatiquement fournis.
42
Implémentation et Réalisation
Les langages .NET ne sont pas compilés en langage machine, mais en langages
intermédiaire de Microsoft (MSIL). Ce n’est qu’au moment de l’exécution par la
CLR de l’application, que le code intermédiaire sera interprété en code machine par le
compilateur Just In Time qui traite aussi les problèmes de performances.
Les assemblies sont aussi une collection de plusieurs fichiers : Meta data, Manifest, IL
et ressources.
Les métas donnés permettent d’interroger l’assemblie sur ses types de données,
méthodes,… Enfin, un assemblie contient le code intermédiaire qui sera ensuite
transformé en code machine.
43
Implémentation et Réalisation
Le code écrit en C# ou VB.NET est par exemple managé par défaut. A l’inverse, le
code écrit en C++.NET n’est pas managé par défaut.
44
Implémentation et Réalisation
45
Implémentation et Réalisation
offre un accès déconnecté aux données, via le DataSet. Ce dernier, propose une solution
de mise en cache des données permettant de diminuer le trafic réseau.
Pour s’en affranchir, Microsoft a mis au point une nouvelle technologie appelée
Microsoft ASP.NET, qui fait partie intégrante de la stratégie de Microsoft .NET pour le
développement Web. ASP.NET est une combinaison de ses deux technologies de
développement web : les web forms et les web services, ce qui a résulté d’ une plate-forme
de développement Web unifiée qui procure aux développeurs, les services nécessaires à la
création d’applications Web pour les entreprises.
Caractéristique :
ASP.NET est un langage interprété produisant des pages HTML et WML très
comparable à PHP en de nombreux points.
Comme les Java Server Pages (JSP), le code ASP.NET est toujours compilé (en IL
puis en code natif avec le JIT) et peut être écrit dans un langage de haut niveau.
ASP.NET supporte tous les langages du CLR, ce qui inclut C# et VB.NET.
D’après une mesure effectuée par c2i ASP.NET serait en bêta 1 déjà 44 fois
plus rapide qu’ASP, grâce à la compilation et aux performances du
compilateur JIT de Microsoft.
Les WebForms sont une couche d’abstraction ajoutée pour permettre une
programmation composite d’interface homme-machine orientée Web. Des
composants génériques tels les formulaires, tableaux, boutons et zones de textes
peuvent être assemblés afin de générer les pages ASP.NET. S’ils sont utilisés
avec soin (aucun ajout de code HTML en dur par exemple).
46
Implémentation et Réalisation
Plusieurs projets ont tenté de réaliser un outil d’interface entre les modèles objet et
les bases de données relationnelles. Le projet de logiciel libre Hibernate a commencé, en
2001, le développement d’un outil autonome effectuant cette interface de façon efficace pour
l’environnement Java. Le nom officiel donné à un tel logiciel est « Object Relational Mapping
library ». L’environnement .NET possède un tel module appelé Entity Framework.
ADO.NET n’est pas une version revue ou corrigée de Microsoft ADO, mais une
nouvelle solution destinée à manipuler les données fondée sur XML et les données
déconnectées. Même si ADO est un outil d’accès aux données important au sein d’ASP, il ne
47
Implémentation et Réalisation
ADO.NET comprend certains objets similaires aux objets ADO (comme les
objets Connection et Command) mais il introduit aussi de nouveaux objets comme
DataSet, DataReader et DataAdapter.
Dapper :
C’est un micro-ORM construits directement sur ADO.NET. Il utilise la réflexion
(dynamique de. NET 4.0) pour générer l'objet à partir du résultat de la lecture des données. Il
est simple et fonctionne bien.
Fonctionnalités du Dapper :
Sa principale caractéristique est la cartographie de classes. NET aux tables de base
de données.
48
Implémentation et Réalisation
Dapper.Net met en cache les informations sur chaque requête. Cette mise en cache
complète lui permet de générer des objets à partir des requêtes sur deux fois plus vite que
LINQ to SQL.
SOAP, WSDL, UDDI sont les technologies standard qui rendent possibles la
construction et la publication de tels services. Il existe plusieurs définitions des services web.
Ci-dessus, nous avons choisi une définition fournie par le consortium W3C.
Ainsi, un service web est un système logiciel conçu pour soutenir l’interaction
interopérable de machine-à-machine au-dessus d’un réseau. Il a une interface décrite dans un
format exploitable par machine (spécifiquement WSDL). D’autres systèmes agissent avec les
services web prescrits par leurs descriptions en utilisant des messages SOAP sur http en
format XML et autres normes du Web.
Les services web ont une architecture basée sur trois composants principaux qui
répondent chacun à une question :
Cette architecture est appelée une architecture orientée service (Service Oriented Architecture
en Anglais - SOA).
49
Implémentation et Réalisation
l’aide d’interfaces spécialisées et elle est incontournable sous Windows. Elle est sous-jacente
dans .Net et compatible avec les autres produits de développement de type Visual Studio.
Quelle que soit sa fonction, la structure d’un message SOAP est composée
d’une « enveloppe » qui est l'élément supérieur du document et qui peut être
décomposé en deux éléments : l'entête (Header) et le corps (Body) du message.
L’entête SOAP (Header): est un bloc optionnel. S’il est présent, ce bloc doit toujours
se trouver avant le bloc corps à l'intérieur du bloc Enveloppe. Il peut être
utilisé pour compléter les informations nécessaires à une requête. Des extensions
50
Implémentation et Réalisation
Le référentiel UDDI :
La question relative à l’identification d’un service web est gérée par le référentiel
universel UDDI (Universal Description, Discovery and Integration). La spécification UDDI
est également un travail collaboratif des sociétés Ariba, IBM et Microsoft. La première
version date de septembre 2000. L’objectif principal d’UDDI est de fournir un format
d’annuaire pour les services web. Il permet de publier les points d’accès aux services web en
les caractérisant par les différentes informations sur les services web entre autres : les
opérations fournies, l’adresse URI, le nom du fournisseur. Il peut gérer aussi bien des
annuaires publics destinés à des opérateurs UDDI que des annuaires privés à usage interne de
l’entreprise ou à usage commun entre entreprises pour la mise en œuvre d’échanges B2B.
51
Implémentation et Réalisation
Les trois protocoles (SOAP, UDDI, WSDL) sont écrits en format XML. Ces trois
protocoles composent l’architecture d’un service web.
La description d’un service web est faite en WSDL puis publiée dans le référentiel
UDDI.
Lorsqu’un client a besoin d’un service web, il interroge le référentiel UDDI pour
localiser le fichier WSDL du service web à l’aide de plusieurs critères. Le référentiel UDDI
fournit au client la description WSDL du service web pour permettre son invocation. Cette
description permet de connaître quel message SOAP doit être envoyé et quel message SOAP
sera reçu en retour du traitement souhaité, ainsi que le message qui sera envoyé en cas
d’échec ou d’erreurs de traitements. Après localisation, le client invoque le service web.
Cette invocation se fait à l’aide de critères statiques fournis dans les messages
indiqués ci-dessus. La figure 3.8 représente les interactions entre un client et un service web.
Pour invoquer un service web, nous devons envoyer un message SOAP : la requête.
Le service web délivre en retour un autre message SOAP contenant les résultats attendus : la
réponse. SOAP (Simple Object Access Protocole) est un mécanisme conçu pour expédier des
messages standardisés, contenant des données structurées au format XML. Dans le cas d’une
invocation de service web, SOAP exécute un appel de procédure à distance, ou Remote
Procedure Call (RPC). Cette méthode est la plus largement répandue (sauf dans
l’environnement .NET qui exploite principalement des messages de type Document).
52
Implémentation et Réalisation
REST fait en revanche usage des standards Web : protocole HTTP, URLs, formats
de fichiers pour la représentation des ressources (XML, HTML, JPEG...), types MIME pour la
description de ces représentations... Le Web lui-même est d'ailleurs un système REST à part
entière.
WCF :
DCOM
COM+
MSMQ
Enterprise Services
Web Service XML
Remoting .NET
53
Implémentation et Réalisation
Le plus gros avantage de ce découpage est qu'il permet de bien distinguer les métiers.
Si la définition d'un contrat est évidement la tâche d'un développeur, la définition du binding
et de l'adresse sont plutôt du ressort d'un administrateur réseau.
Avec WCF un service peut être appelé par différents canaux de communication
(HTTP, TCP, ...). Un service peut donc avoir plusieurs endpoints. Cela permet au client de
choisir comment il va interroger un service.
Visual Studio fournit une Template permettant de créer tous les éléments nécessaires
à la publication d'un service WCF, c'est à dire :
un fichier SVC
le contrat
l'implémentation du contrat
un endpoint et sa configuration dans le Web.config
Le fichier SVC :
Le fichier SVC joue le même rôle que le fichier ASMX pour les web service XML.Il
n'est constitué que de la clause @ ServiceHost et permet de publier le service sur une URL.
Le contrat
La première étape à effectuer est de décrire le service sous la forme d'un contrat qui
contient :
54
Implémentation et Réalisation
Implémentation du contrat
Classes métiers
Il faut également choisir l'un des comptes suivants qui attribuera certains droits au
service :
Service local (LocalService) : Le compte de service local est un compte intégré qui
autorise le service à accéder aux ressources réseau sans informations d'identification.
Ce compte représente le moins de risques en termes de sécurité.
Service réseau (NetworkService): Le compte de service réseau est un compte intégré
qui autorise le service à accéder aux ressources réseau à l'aide des informations
d'identification du compte d'ordinateur.
55
Implémentation et Réalisation
Compte système local (LocalSystem) : Le compte système local est un compte intégré
doté de privilèges très élevés. Il dispose de privilèges étendus sur le système local et
représente l'ordinateur sur le réseau. A utilisé avec précaution.
Utilisateur (User) : Ce compte nécessite une authentification par login/mot de passe.
Un service passe par différents stades pendant son cycle de vie. D'abord, il est
installé dans le système sur lequel il s'exécutera. Ce processus exécute les programmes
d'installation pour le projet de service et charge le service dans Services pour cet ordinateur.
Le Gestionnaire de contrôle des services est l'utilitaire central fourni par Windows pour
l'administration des services.
Une fois le service chargé, il doit être démarré. Le démarrage est une condition
préalable indispensable à la mise en fonction du service. Un service en exécution peut rester
dans cet état jusqu'à ce qu'il soit arrêté ou suspendu ou jusqu'à ce que l'ordinateur soit lui-
même arrêté. Un service peut prendre les trois états de base suivants : Running, Paused ou
Stopped. On peut suspendre, arrêter ou redémarrer un service à partir du Gestionnaire de
contrôle des services, de l'Explorateur de serveurs ou en appelant des méthodes dans le code.
Plus simplement, un ETL est divisé en trois étapes comme son nom le suggère :
56
Implémentation et Réalisation
SSIS :
SQL Server Integration Services (SSIS) est un ETL (Extract Transform Download)
permettant de se connecter à toute source de données Tiers. L’ETL permet donc de collecter,
transformer, et alimenter les données nécessaires à l'analyse décisionnelle dans une ou
plusieurs bases de données dédiées (relationnelles ou multidimensionnelles).
57
Implémentation et Réalisation
Microsoft. C’est un langage de haut niveau qui a été spécialement développé pour
l’environnement .NET afin de le doter d’un langage objet, propre et facile à utiliser.
Il a été créé afin que la plate-forme Microsoft .NET soit dotée d'un langage
permettant d'utiliser toutes ses capacités. Il est très proche du Java dont il reprend la syntaxe
générale ainsi que les concepts (la syntaxe reste cependant relativement semblable à celle de
langages tels que le C++ et le C). Un ajout notable à Java est la possibilité de surcharge des
opérateurs, inspirée du C++. Toutefois, l'implémentation de la redéfinition est plus proche de
celle du Pascal Objet. Le CLR (Common Language Runtime) est obligatoire pour exécuter des
applications écrites en C#, comme l’est la JVM (Java Virtual Machine ou Machine virtuelle
Java) pour des applications Java.
Razor a été conçu pour faciliter la conception des pages ASP.NET. Il introduit une
syntaxe de programmation assez facilement compréhensible, qui nous permet d'insérer du
code serveur dans une page Web qui peut également contenir du HTML, du CSS et des scripts
JavaScript.
58
Implémentation et Réalisation
Le moteur Razor est fluide, compact, expressif et s'appuie sur la syntaxe des langages
.NET C# et Visual Basic .NET. Il offre la puissance d'ASP.NET pour la création rapide des
applications Web fonctionnelles et sophistiquées.
Razor est inclus par défaut dans l'EDI WebMatrix et également dans le Framework
.NET ASP.NET MVC 3. Il est pris en charge par Visual Studio 2010, qui offre des
fonctionnalités supplémentaires pour la création des pages ASP.NET Razor comme
l'IntelliSense, le débogage et la coloration syntaxique.
59
Implémentation et Réalisation
par l’exécution de programmes transmis par le réseau internet (applets, servlets…). S’il a été
conçu comme un langage à ses débuts, il s’avère être aujourd’hui une véritable plate-forme de
développement dont voici les principales caractéristiques : orienté objet, simple,
sécurisé, portable, interprété…
60
Implémentation et Réalisation
Le changement d'une couche sans altérer les autres. C'est-à-dire que comme toutes
les couches sont clairement séparées, on doit pouvoir en changer une sans porter
atteinte aux autres couches. On pourrait aussi donc changer le modèle sans
toucher à la vue et au contrôleur. Cela rend les modifications plus simples.
La synchronisation des vues. Avec ce design pattern, toutes les vues qui montrent
la même chose sont synchronisées.
Il est à noter que lors de son installation, SQL Server crée un ensemble de base de
données comme Master, Modele, MSdb ou NorthWind.
SQL Server dispose de son propre langage de développement qui est T-SQL, et qui
permet d’écrire des programmes complets, capables de gérer des variables de boucles et
autres structures de contrôle. En plus de cela, il permet d’interagir avec les fonctions
complexes du système permettant d’écrire de puissants scripts de maintenances et
d’administration.
62
Implémentation et Réalisation
SQL Server Management Studio est un environnement intégré qui permet d'avoir
accès, de configurer, de gérer, d'administrer et de développer tous les composants de SQL
Server. SQL Server Management Studio associe un groupe d'outils graphiques à des éditeurs
de script performants pour permettre aux développeurs de tous les niveaux de compétence
d'avoir accès à SQL Server.
IIS (Internet Information Server) est un serveur Web Microsoft, C’est un ensemble
de services TCP/IP dédiés à internet et comprend les serveurs suivants :
HTTP
HTTPS
FTP
FTPS
SMTP
NNTP
63
Implémentation et Réalisation
3.2.14 Eclipse :
Eclipse IDE est un environnement de développement intégré libre, extensible, universel
et polyvalent, permettant potentiellement de créer des projets de développement mettant en
œuvre n'importe quel langage de programmation. Eclipse utilise énormément le concept de
modules nommés "plug-ins" dans son architecture, d'ailleurs, hormis le noyau de la plate-
forme nommé "Runtime", tout le reste de la plate-forme est développé sous la forme de
plug-ins. Ce concept permet de fournir un mécanisme pour l'extension de la plate-forme et
ainsi fournir la possibilité à des tiers de développer des fonctionnalités qui ne sont pas
fournies en standard par Eclipse.
Il y a quelques années, nous n'avions qu’ASP pour réaliser nos applications. Il fallait
dès lors écrire toutes les méthodes pour gérer les utilisateurs au travers de l'application.
Ensuite, avec l'arrivée d'asp.net 1.x, cette gestion a été simplifiée grâce à l'arrivée du
mode d'authentification "forms". Malheureusement il restait pas mal de code à écrire...
Asp.net 2.0 amène toute une série de nouveautés concernant la gestion des
utilisateurs. On y retrouve:
64
Implémentation et Réalisation
Membership service :
Sources de données : Il s'agit des bases de données, fichiers, Active Directory, ...
Providers : Chaque provider doit permettre d'accéder à une source de données en
particulier. Il fournit les différentes méthodes pour écrire / lire dans cette source.
APIs : Les APIs sont des classes qui possèdent différentes méthodes qui permettent
d'effectuer certaines actions. Ces méthodes s'appuient sur le provider en action.
Comme on peut le voir chaque provider doit fournir toutes les méthodes pour
manipuler toutes les informations concernant un utilisateur.
On retrouve également:
65
Implémentation et Réalisation
Les dernières méthodes permettent de manipuler les rôles des utilisateurs. Pour cela
il faut activer la gestion des rôles dans le fichier de configuration Web.Config.
3.3 Implémentation :
A travers cette partie nous allons vous présenter une solution pratique à la
conception que nous avons présentée auparavant.
La solution adoptée :
Un projet MVC : Qui est aussi découpé en quatre sous projet qui sont :
Un projet de présentation qui adopte le design paterne MVC.
Un projet encapsulant tous les objets métiers de l’application.
Un projet comportant toutes les classe métiers qui gèrent toute la logique métier.
Un projet effectuant l’accès à la base de données.
Ajouter des classes structurant les objets que l’on veut récupérer. Dans notre
cas nous avons ajouté deux classes qui sont : offre Privé et offre public
Pour chaque source (site), ajouter une classe qui implémente les méthodes
suivante :
66
Implémentation et Réalisation
67
Implémentation et Réalisation
68
Implémentation et Réalisation
69
Implémentation et Réalisation
Consulter ou modifier :
Ses informations personnelles ;
Ses informations d’identifications ;
Son CV ;
Consulter, modifier ou supprimer :
Ses formations ;
Ses alertes ;
Consulter ou supprimer :
70
Implémentation et Réalisation
Le tableau de bord offre un aperçu global de son espace, les tableaux qui le
constituent donnent un résumé de :
Si un candidat connecté accède à cette page il aura en supplément d’un visiteur (non
connecté) le moyen d’accéder aux détails des offres et de les sauvegarder pour mieux
effectuer ses choix de postulation.
Les détails des offres privés internes comportent les informations de l’entreprise et
celles de l’offre en question.
En accédant aux détails d’une offre privé interne le candidat peut choisir de postuler
pour cette dernière. En cliquant sur postuler une fenêtre Pop-up apparait demandant au
71
Implémentation et Réalisation
candidat de confirmer sa postulation. Dans cette dernière le candidat reconnait ses numéro de
téléphone et e-mail qu’il peut bien changer.
Si le candidat choisit de voir les détails d’une offre externe, un lien de détails lui est
proposé pour pouvoir accéder à la source de l’offre.
Si un visiteur (non connecté) demande les détails d’une offre un message lui
demandant de s’inscrire lui apparait.
72
Implémentation et Réalisation
73
Implémentation et Réalisation
Le tableau de bord offre un résumé de son espace, les tableaux qui le constituent,
donnent un résumé de :
74
Implémentation et Réalisation
75
Implémentation et Réalisation
Le tableau de bord offre un résumé de son espace, les tableaux qui le constituent
donnent un résumé de :
En cliquant sur une offre, une nouvelle page contenant les détails de cette dernière
s’ouvre qui peut être soi une page de notre site si l’offre est interne soi une page d’un autre
site si l’offre est externe.
76
Implémentation et Réalisation
3.5 Conclusion :
Au cours de ce chapitre nous avons décrit l’ensemble des technologies utilisées pour
l’implémentation de notre application ensuite exposé la démarche entretenue dans son
développement et pour finir nous avons exposé ses principales fonctionnalités.
77
Conclusion générale
Vu que la société d’aujourd’hui vit un gigantesque renouveau des techniques de
communication avec la généralisation des nouvelles technologies de l’information, des médias
et de l’internet ; il est devenu pratiquement impossible de se passer de l’outil informatique
quel que soit le domaine d’application.
Par conséquent, le web suscite l’intérêt de la majeure partie des entreprises qui sont en
prise directe avec le consommateur et qui doivent enrichir le dialogue avec eux via des sites
web conçus pour des fins biens déterminés.
Au cours de ce projet nous avons développé un site web de recrutement en ligne qui
répond amplement à la solution dégagée dans la partie étude et conception, qui comporte
essentiellement un mécanisme de récolte des offres d’emplois, une présentation des offres
disponibles pour les visiteurs et un service qui s’occupe d’alerter les candidats suite à la
disponibilité d’une offre recherchée.
Nous estimons qu’une majeure partie des objectifs fixés initialement sont atteints,
néanmoins un système d’alerte par SMS reste à implémenter.
[1] « INTERNET & RECRUTEMENT » Thèse de doctorat,
Management des Ressources Humaines de paris, 2011
[13] http://msdn.microsoft.com
[14] http://www.developpez.com
[16] http://www.Soapuser.com
[17] http://www.journaldunet.com
[18] « UN LANGAGE ET UN ENVIRONNEMENT DE
CONCEPTION ET DE DEVELOPPEMENT DE SERVICES WEB COMPLEXES », Thèse
de doctorat, Université paris dauphine, juin 2009