OFPPT
Office de la Formation Professionnelle
et de la Promotion du Travail
Direction Régionale Souss Massa Drâa
EXAMEN DE FIN DE MODULE : N°11
« Développement Web Coté Serveur »
Année 2017/2018
Filière : Techniques de Développement Info Durée :3H00
Niveau : TS Barème : ..../40
Date de déroulement : …………………..
Vous êtes appelés à développer une application web de gestion des recrutements.
NB :
- répondre aux questions en respectant l’architecture vue en cours et les patrons de conceptions
étudiés.
EFP : ISTA OUARZAZATE Nom & Prénom du formateur : Said GAHI Page 1/4
Diagramme de classes
- Un candidat peut être un candidat externe (Candidat) ou bien un candidat interne (InternalCandidate).
- Un candidat a un ensemble d’expérience.
- Un candidat a une adresse.
- Un candidat peut postuler à plusieurs offres d’emplois (JobOffer).
- « Address » est un type complexe
Partie I : Entity-Framework
1. A partir de diagramme de classes ci-dessus créer la base données. (4pts)
2. Ajouter les propriétés de navigation ainsi que les propriétés représentant les clés étrangères en
respectant le diagramme de classes. (4pts)
3. En utilisant les annotations, configurer les propriétés selon ces contraintes : (4pts)
La propriété FirstName dans la classe Candidate doit être :
- Obligatoire sinon l’application affiche le message d’erreur suivant : Vous devez indiquer votre
prénom.
- De longueur maximale de 25 caractères sinon l’application affiche le message d’erreur suivant : La
longueur maximale est 25 caractères.
- La colonne de la Base de données qui lui correspond doit être de taille 20.
- Affichée dans les vues comme suit : «Prénom».
La propriété Email dans la classe Candidate doit être :
EFP : ISTA OUARZAZATE Nom & Prénom du formateur : Said GAHI Page 2/4
- Obligatoire sinon l’application affiche le message d’erreur suivant : Vous devez indiquer votre
adresse mail.
- De type Email Address.
- Affichée dans les vues comme suit : «Email».
La propriété Password dans la classe Candidate doit être :
- Obligatoire.
- De longueur minimale de 6 caractères.
- Affichée dans les vues comme suit : «Mot de passe».
- De type Password
La propriété DateOfBirth dans la classe Candidate doit être :
- Obligatoire
- De type Date.
- Affichée dans les vues comme suit : «Date de naissance».
La propriété CvFileName dans la classe Candidate doit être :
- De type ImageUrl
- Affichée dans les vues comme suit : «CV».
4. Créer un service web avec une web méthode qui retourne la liste des offres postulé dans une
date passé en paramètre. (3pts)
5. Créer une page qui permet de consommer se service en utilisant (Ajax). (3pts)
Partie II : MVC
Toute cette partie se déroulera dans le projet ASP MVC intitulé : « GestionRecrutements.Web» Les
actions seront développées dans la classe « CandidateController».
1) Implémenter l’action Index en mode GET et sa vue correspondante qui permet d’afficher tous les
Candidats. (4pts)
2) Implémenter l’action CreateInternalCandidate en mode Get avec et sa vue correspondante qui
permet d’ajouter un candidat interne. (4pts)
3) Implémenter l’action CreateInternalCandidate en mode Post qui permet de : (6pts)
a. Valider les données du candidat interne saisie.
b. Récupérer les informations du formulaire et les sauvegarder dans la session de l’utilisateur.
c. Enregistrer le CV du candidat dans le dossier CV sous le répertoire Content
d. Rediriger l’utilisateur vers la liste des candidats internes.
EFP : ISTA OUARZAZATE Nom & Prénom du formateur : Said GAHI Page 3/4
Liste des candidats internes
4) Affichage du CV du candidat : (8pts)
a) Implémenter l’action et générer la vue « InternalCandidateCvPage » dans laquelle s’affichent les
informations du candidat.
b) Ajouter la vue partielle «_ShowExperiences » qui affiche les expériences d’un candidat.
c) Ajouter la vue partielle «_ShowExperiences » à la vue « InternalCandidateCvPage » pour former le
CV du candidat.
Affichage du CV du candidat
EFP : ISTA OUARZAZATE Nom & Prénom du formateur : Said GAHI Page 4/4