Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

65
REPUBLIQUE TUNISIENNE MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE INSTITUT SUPERIEUR DES SCIENCES APPLIQUEES ET DE TECHNOLOGIE DE SOUSSE Développement de modules Dotnetnuke pour la réalisation de site de recrutement en ligne Présenté en vu de l’obtention de licence appliquée administration réseaux et services informatiques Réalisé par : Marwen BEN MZOUGHIA Encadré par : Mr Mohamed Ali RJIBA Mr Sofien BEN AHMED Année universitaire 2009-2010

description

Ce rapport est le fruit d’un stage qui a duré du 15 février au 25 avril 2010 dans la société E-solutions, dans le cadre de stage fin d’études. L’activité principale de la société est le développement des sites web avec le système de gestion de contenu DotNetNuke. C’est un Framework qui est basé sur les technologies ASP.NET, VB.NET et C#. Pendant la période de mon stage, la société d accueil fait une étude pour lancer un nouveau site web, il s’agit d un site de recrutement en ligne.

Transcript of Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Page 1: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

REPUBLIQUE TUNISIENNE

MINISTERE DE L’ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE

INSTITUT SUPERIEUR DES SCIENCES APPLIQUEES ET DE TECHNOLOGIE DE SOUSSE

Développement de modules Dotnetnuke pour la réalisation de site de recrutement en

ligne

Présenté en vu de l’obtention de licence appliquée administration

réseaux et services informatiques

Réalisé par : Marwen BEN MZOUGHIA

Encadré par :

Mr Mohamed Ali RJIBA Mr Sofien BEN AHMED

Année universitaire 2009-2010

Page 2: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Remerciements

Mes remerciements à Monsieur Mohamed Ali RJIBA en premier temps pour son accueil et

la confiance qu’il m’a accordé dès mon arrivée dans l’entreprise et pour sa patience, la clarté

et la précision de ses explications et surtout pour sa bonne humeur et sa disponibilité.

Un grand merci pour Mr Sofien Ben Ahmed pour ses conseils précieux, son implication et

l’aide qu’il ma fourni

Je tiens à exprimer ma gratitude à Monsieur Ahmed ROUIS pour sa disponibilité, pourtant

qu’il n’avait aucune obligation envers moi.

Et un grand merci à toute l’équipe pédagogique d’ISSAT SOUSSE.

.

Page 3: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Liste des abréviations

ASP Acvite Server Pages

VB Visual Basic

SWD société de Développement Web

SUARL Société Unipersonnelle A Responsabilité Limitée

SQL Structured Query Language

DNN DotNetNuke

BSD Berkeley Software Distribution

LDAP Lightweight Directory Access Protocol

XML Extensible Markup Language

SOAP Simple Object Access Protocol

RSS Really Simple Syndication

3DES Triple Data Security Standard

API Application Programming Interface

BD Base de Données

DLL Dynamic-link Library

MDF Master Database File

URL Uniform Ressource Locator

IIS Internet Information Services

SGBD Système de Gestion de Base de Données

VWD Visual Web Developer

CLR Commun Language Runtime

IL Intermediate Laguage

DAL Data Access Layer

Page 4: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Liste des figures

Figure 1. Puget de temps………………………………….……………………………………6

Figure 2 : architecture du site …………………………………………………………………..9

Figure 3:modèle entité association……………………………………………………………11

Figure 4:Diagramme final de tables utilisées par les modules………………………………..15

Figure 5:Structure générale du Framework DotNetNuke…………………………………….19

Figure 6.Architecture du DotNetNuke………………………………………………………..20

Figure 7. Panneau de contrôle DotNetNuke …………………………………………………21

Figure 8. Paramètre des pages DotNetNuke …………………………………………………22

Figure 9. Paramètre des module DotNetNuke………………………………………………..23

Figure 10. Définition d’une instruction SQL pour l’opération Select dans un GridView …29

Figure 11. Format utilisé pour l’implémentation DAL+ …………………………………31

Figure 12:création de module package……………………………………………………….34

Figure 13.Ouverture de port avec Cassini…………………………………………………….37

Figure 14. Le contenu du module candidat …………………………………………………..38

Figure 15. Les contrôles de validation ASP.NET…………………………………………….39

Figure 16:module d'édition de profil …………………………………………………………40

Figure 17 : module d affichage de profil……………………………………………………...41

Figure 18: module de création de cv………………………………………………………….42

Figure 19:module cv thèque…………………………………………………………………..43

Page 5: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Figure 20:module d édition de cv……………………………………………………….........44

Figure 21:module de création de lettre de motivation………………………………………..45

Figure 22:module de création de profil entreprise……………………………………………46

Figure 23:module d affichage de profil……………………………………………………….47

Figure 24:module de création d’offres………………………………………………………..48

Figure 25:module liste d'offres……………………………………………………………….49

Figure 26:consultation d’offre et postulation…………………………………………………49

Figure 27:etape1………………………………………………………………………………50

Figure 28:etape2………………………………………………………………………………51

Figure 29:etape3………………………………………………………………………………51

Figure 30:module de consultation de postulations……………………………………………52

Figure 31:le cv du candidat…………………………………………………………………...53

Page 6: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Liste des tableaux

Tableau 1 : les fonctionnalités du site ............................................................................... 8

Tableau 2:dictionnaire de donnée job_candidat ............................................................. 12

Tableau 3:dictionnaire de donnée job_entreprise ........................................................... 12

Tableau 4:dictionnaire de donnée job_cv ....................................................................... 12

Tableau 5:dictionnaire de donnée job_lettre_de_motivation .......................................... 13

Tableau 6:dictionnaire de donnée job_offre ................................................................... 13

Tableau 7:dictionnaire de donnée job_postulation ......................................................... 13

Tableau 8:dictionnaire de donnée job_favoris_candidat ................................................ 14

Tableau 9:dictionnaire de donnée job_favoris_candidat ................................................ 14

Page 7: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Sommaire

INTRODUCTION GENERALE .................................................................................................................. 1

PRESENTATION DE LA SOCIETE D’ACCUEIL E-SOLUTIONS ......................................................... 2

I. STATUT JURIDIQUE ............................................................................................................................... 2

II. ORGANISATION, IMPLANTATION GEOGRAPHIQUE ET PERSONNELLE ................................................................. 2

III. METIERS ............................................................................................................................................. 2

1. Développement : ......................................................................................................................... 2

2. Assistance technique : ................................................................................................................ 3

CHAPITRE 1 CADRE DU STAGE ............................................................................................................. 4

I. INTRODUCTION .................................................................................................................................... 4

II. OBJECTIFS ........................................................................................................................................... 4

III. TRAVAIL DEMANDE ............................................................................................................................... 5

IV. PUGET DU TEMPS : ............................................................................................................................... 6

CHAPITRE 2 CONCEPTION DU SITE .................................................................................................... 7

I. INTRODUCTION .................................................................................................................................... 7

II. PRESENTATION DU PROJET : ................................................................................................................... 7

1. Objectifs : .................................................................................................................................... 7

2. Fonctionnalités : ......................................................................................................................... 8

3. Architecture du site : ................................................................................................................... 9

CHAPITRE 3 CONCEPTION ET IMPLEMENTATION DE LA BASE DE DONNEES ................................................. 10

I. INTRODUCTION .................................................................................................................................. 10

II. MODELE ENTITE ASSOCIATION ............................................................................................................... 10

III. DICTIONNAIRE DE DONNEES : ................................................................................................................ 12

IV. IMPLEMENTATION SQL SERVER2000 ...................................................................................................... 14

CHAPITRE 4 ETUDE DE L’OUTIL DE DEVELOPPEMENT : DOTN ETNUKE ................................ 16

I. INTRODUCTION .................................................................................................................................. 16

II. DEFINITION ....................................................................................................................................... 16

III. LES AVANTAGES DE DOTNETNUKE ......................................................................................................... 16

1. Open Source ............................................................................................................................. 16

2. Présentation .............................................................................................................................. 17

Page 8: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

3. Sécurité et utilisation ................................................................................................................ 17

4. Gestion...................................................................................................................................... 17

5. Modules de gestion de contenu ................................................................................................. 17

6. Gestion des utilisateurs ............................................................................................................ 17

7. Performances ............................................................................................................................ 18

8. Complètement gérée par une BD .............................................................................................. 18

IV. HIERARCHIE ET ARCHITECTURE DE DOTNETNUKE ...................................................................................... 18

1. Hiérarchie ................................................................................................................................ 18

2. Architecture .............................................................................................................................. 19

V. ADMINISTRATION DE PAGES ET DE MODULES ............................................................................................ 21

1. Les comptes Host et Administrateur ......................................................................................... 21

2. Panneau de contrôle ................................................................................................................. 21

3. Paramètre des Pages ................................................................................................................ 21

4. Paramètres de modules ............................................................................................................ 22

VI. CONCLUSION ..................................................................................................................................... 23

CHAPITRE 5 : LOGICIELS, OUTILS DE PROGRAMMATION ET METHODE DE DEVELOPPEMENT PROPOSEE .... 24

I. INTRODUCTION .................................................................................................................................. 24

II. ENVIRONNEMENTS LOGICIELS ............................................................................................................... 24

1. Le package d’installation DotNetNuke ..................................................................................... 24

2. Le starter kit DotNetNuke ......................................................................................................... 25

3. Cassini web server .................................................................................................................... 25

4. Microsoft SQL Server 2000 ...................................................................................................... 25

5. Visual Web Developer 2005 Express ........................................................................................ 25

6. Microsoft .NET Framework 2.0 ................................................................................................ 26

III. ZOOM SUR QUELQUES OUTILS DE PROGRAMMATION DU FRAMEWORK MICROSOFT .NET 2.0 ........................... 26

1. Vue d'ensemble de l'accès aux données ASP.NET .................................................................... 26

2. GridView, classe ....................................................................................................................... 27

3. SqlDataSource, classe .............................................................................................................. 29

IV. METHODE DE TRAVAIL PROPOSEE VS LA CELEBRE METHODE DAL+............................................................... 30

Page 9: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

1. La méthode DAL+ .................................................................................................................... 32

2. Méthode proposée .................................................................................................................... 32

3. Apport personnel méthode d intégration des modules sur le serveur : .................................... 34

V. CONCLUSION ..................................................................................................................................... 35

CHAPITRE 6 INSTALLATION DE DOTNETNUKE ET DEVELOPPEM ENT DES MODULES ....... 36

I. INTRODUCTION .................................................................................................................................. 36

II. INSTALLATION DE DOTNETNUKE ........................................................................................................... 36

III. DEVELOPPEMENT DES MODULES DOTNETNUKE ....................................................................................... 38

1. Le module candidat .................................................................................................................. 38

2. Le module d’édition de profil .................................................................................................... 40

3. Module d’affichage de profil .................................................................................................... 41

4. Module de création de cv : ....................................................................................................... 42

5. Module cv thèque ..................................................................................................................... 43

6. Module d’édition de cv ............................................................................................................. 44

7. Module de création de lettre de motivation ............................................................................. 45

8. Module lettre thèque : .............................................................................................................. 45

9. Module de modification de lettre de motivation : .................................................................... 45

10. Module de création de profil pour les entreprises : ............................................................. 46

11. Module de modification de profil ......................................................................................... 46

12. Module d affichage de profil ................................................................................................ 47

13. Module de création d’offre : ................................................................................................ 48

14. Module liste d offre : ............................................................................................................ 49

15. Module d’ edition d’ offres: .................................................................................................. 49

16. Module de consultation d’offre et postulation .................................................................... 49

17. Module de consultation de postulations .............................................................................. 52

IV. CONCLUSION ..................................................................................................................................... 54

CONCLUSION GENERALE .................................................................................................................... 55

REFERENCES ........................................................................................................................................... 56

Page 10: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Marwen BEN MZOUGHIA Page 1

Introduction générale

Ce rapport est le fruit d’un stage qui a duré du 15 février au 25 avril 2010 dans la société E-solutions, dans le cadre de stage fin d’études. L’activité principale de la société est le développement des sites web avec le système de gestion de contenu DotNetNuke. C’est un Framework qui est basé sur les technologies ASP.NET, VB.NET et C#.

Pendant la période de mon stage, la société d accueil fait une étude pour lancer un nouveau site web, il s’agit d un site de recrutement en ligne.

Dans ce projet, on m a confié la mission d’élaborer une proposition conceptuelle du site, conception de la base de données et le développement des modules DNN. Ces modules seront en suite intégrés dans DotNetNuke pour le site.

Dans ce rapport, j‘essaye de présenter convenablement les processus effectués dans la société tout au long du stage.

Page 11: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Marwen BEN MZOUGHIA Page 2

Présentation de la société d’accueil e-Solutions

Société : e-Solutions

Adresse: Imm el Mesk – Corniche Sousse 4000

Email : [email protected]

E-solutions est une Société de Développement Web qui propose une Gamme de services autour des enjeux du réseau Internet: des portails dynamiques facilitant la diffusion de l'information, et l'accessibilité aux données.

Elle est spécialisée en technologies .NET orientées Web, mises en œuvre au travers d'une architecture originale fondée sur des composants spécifiques.

I. Statut Juridique

E-solutions est une société de Type SUARL (SOCIETE UNIPERSONNELLE A RESPONSABILITE LIMITEE), société spécialisée dans le multimédia et la création des sites Web crée en 2006.

II. Organisation, implantation géographique et personnelle

Le siège de l’entreprise se situe à Sousse centre, prés de la "corniche". Elle s’appuie sur environ six collaborateurs dont deux ingénieurs, deux techniciens, un Infographiste et une assistante.

La communication entre ces collaborateurs s’effectue à travers des réunions, par Email, Skype, ou même MSN Messenger. Des déplacements sont assez réguliers, au siège ou chez les clients, et ceci dépond surtout des besoins imposés par la nature du travail.

III. Métiers

1. Développement :

E-Solutions s'appuie sur la technologie .Net et le portail libre DotNetNuke, pour la création de ses sites web. Par suite, elle choisi avec soins ses composants software, qui permettent une fluidité du développement, et de la gestion des bases de données. Parmi ces logiciels on peut citer : VWD, SQL Server, Photoshop, etc.

Page 12: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Marwen BEN MZOUGHIA Page 3

Notre société possède aussi son propre serveur .NET. Sa la permet d’héberger ses propres sites web, ou ceux des clients qui utilisent la technologie .NET.

2. Assistance technique :

Grace à la compétence de son staff et la fiabilité de ses services, e-Solutions peut assumer une assistance technique pour offrir des conseils à d’autres sociétés, ou bien des idées sur le Web marketing.

Page 13: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Cadre du stage

Marwen BEN MZOUGHIA Page 4

Chapitre 1 Cadre du Stage

I. Introduction

Passionné par les technologies de l’informatique liées au web, c’est donc en toute logique que j’ai voulu réaliser mon stage dans une société spécialisée dans le développement d’application Web.

Toutes mes ambitions ont pu se réunir dans la société e-Solutions. Un langage de programmation qui ne cesse de s’accroitre chez les professionnels, des outils récents et très facile à trouver, et une technologie unique en son genre.

Ce rapport est constitué de six chapitres : le premier chapitre représente le cadre général du stage. Le second chapitre contient la conception du site, le troisième chapitre comprend la conception et l implémentation de la base de donnée.

Le quatrième chapitre, étudie l’outil de développement Dotnetnuke.

Le cinquième chapitre, concerne les outils de programmations et méthode de développement.

Le sixième et dernier chapitre concerne l installation de Dotnetnuke et les modules que j ai développés.

En plus des six chapitres mentionnés, le rapport contient une introduction et une conclusion générale.

II. Objectifs

L’objectif de mon stage est de se familiariser avec le système de gestion de contenu DotNetNuke, ainsi qu’avec ses outils et ses langages de programmation.

Il est aussi indispensable que j’arrive à développer des modules DNN, qui me sont imposés par la société. Ces modules doivent en suite être intégrés et exécutés avec DNN.

Je dois respecter les délais de temps de chaque tache à faire, et livrer un travail exécutable à une date fixée.

Page 14: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Cadre du stage

Marwen BEN MZOUGHIA Page 5

III. Travail demandé

• Conception du site.

• Conception et implémentation de la base de données.

• Installer correctement DotNetNuke sur la machine personnelle.

• Trouver la bonne méthode pour développer des modules DNN.

• Développer des modules et les intégrer dans DotNetNuke.

Page 15: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Marwen BEN MZOUGHIA

IV. Puget du temps :

(15-20)Février

• conception

(21-25)Février

• conception et implementaion de la base de données.

26 fevrier-10mars

• Formation en ASP.NET et VB.NET

• Etude de queques outils de programmation du Framework .NET 2.0

10mars-25avril

• Développement des modules DNN.

Figure 1. Puget de temps

conception de site web.

conception et implementaion de la base de données.

Formation en ASP.NET et VB.NET

Etude de queques outils de programmation du Framework .NET 2.0

Développement des modules DNN.

Cadre du stage

Page 6

conception et implementaion de la base de données.

Etude de queques outils de programmation du Framework .NET 2.0

Page 16: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Conception du site

Marwen BEN MZOUGHIA Page 7

Chapitre 2 Conception du site

I. Introduction

En quelques années, Internet est devenu un outil majeur de communication et d’information. Aujourd’hui ce sont des millions de personnes qui se connectent quotidiennement à la Toile. Le succès d’Internet repose essentiellement sur le fait qu’il permet de faciliter les possibilités en matière de diffusion de l’information et d’interactivité. L’impact du Web et des nouvelles technologies sur la Gestion des Ressources Humaines est considérable. Le Web s’impose peu à peu comme un outil incontournable du recrutement. Les responsables RH doivent prendre garde à ne pas se faire dépasser par ces nouveaux outils. Le premier avantage est la réduction des coûts. De plus, Internet permet un recrutement plus rapide et plus facile. Internet accélère les procédures, facilite la réactivité et améliore la convivialité. En outre le marché de l’emploi s’internationalise, pour les entreprises comme pour les candidats. Grâce à Internet il est désormais possible de rechercher un candidat à l’autre bout de la planète en quelques minutes. Le recrutement en ligne présente donc de nombreux avantages. Rapide, économique, interactif et permettant une plus grande réactivité, il est un support de recrutement à part entière.

II. Présentation du projet :

Le projet consiste à développer un site de recrutement en ligne qui satisfait les demandes des candidats et des recruteurs a travers le développement des solutions qui offrent une meilleure Circulation et gestion de l information, et de proposer des services qui facilitent le processus de recrutement en ligne.

1. Objectifs :

Mettre en place un espace d’échanges interactif afin de faciliter le processus de recrutement, accompagner les entreprises pour optimiser leurs recrutements et donner aux candidats des moyens efficaces et conviviaux pour gérer leur carrière.

Pour réaliser ces objectifs, notre site va offrir aux candidats et aux recruteurs plusieurs Fonctionnalités.

Page 17: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Conception du site

Marwen BEN MZOUGHIA Page 8

2. Fonctionnalités :

Acteurs services

Candidat Profil : chaque candidat possède un profil qu’il peut créer ou modifier.

cv : chaque candidat possède un ou plusieurs cv qu’il peut les éditer, télécharger, modifier, fournir lors de postulation et supprimer.

Lettre de motivation : chaque candidat possède une ou plusieurs lettres qu’il peut les éditer, télécharger, modifier, fournir lors de postulation et supprimer.

Avoir des informations sur l entreprise

Lister les offres d’emploi.

postuler pour les offres d’emploi.

Effectuer des recherches d offres d’emploi.

Sauvegarder des offres ou avoir des offres favorites.

Accéder a l’espace conseil

Entreprise Profil : chaque entreprise possède un profil qu’elle peut créer ou modifier.

Offres : chaque entreprise possède des offres d emplois qu’elle peut les éditer, Publier et supprimer.

Lister ses offres

Lister les candidatures pour les offres proposées.

Avoir des candidats favoris

Rechercher des candidats

Accéder a l’espace conseil

Tableau 1 : les fonctionnalités du site

Acteurs

Page 18: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Conception du site

Marwen BEN MZOUGHIA Page 9

3. Architecture du site :

Après avoir établie la liste des fonctionnalités il ne reste qu’à proposer une architecture ou un schéma de navigation pour le site.

acceuil

espace

candidat

profil

creer

editer

cv

creer

editer

supprimer

lettre de

motivation

creer

editer

supprimer

offres

favorites

espace

entreprise

profil

creer

editer

offres

creer

editer

supprimer

publier

candidaturescandidatires

favoris

espace

conseil

moteur de

recherche

Figure 1 : architecture du site

Page 19: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Conception et implémentation de la base de données

Marwen BEN MZOUGHIA Page 10

Chapitre 3 Conception et implémentation de la base de données

I. Introduction

Le système de recrutement en ligne implémenté s’appuie sur une base de données. L’objectif de ce chapitre consiste donc à concevoir les tables à utiliser. La conception de la base de données comporte trois phases : l’analyse des données, la construction du modèle entité-association et sa conversion en un schéma de base de données relationnelle.

II. Modèle entité association

A partir de l’analyse de tableau de fonctionnalités, il a été possible d’identifier les principaux ensembles d’entités et les ensembles de liens entre ces entités. La figure 3 représente le modèle entité association du système de recrutement en ligne

Page 20: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Conception et implémentation de la base de données

Marwen BEN MZOUGHIA Page 11

Figure 1:modèle entité association

Page 21: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Conception et implémentation de la base de données

Marwen BEN MZOUGHIA Page 12

III. Dictionnaire de données :

Tableau 1:dictionnaire de donnée job_candidat

Nom Description Type de données Id_candidat Identifiant du candidat varchar

mail_candidat Adresse mail varchar

nom_candidat Le nom du candidat varchar

prenom_candidat Le prénom du candidat varchar

date_naiss La date de naissance datetime

Adress_candidat Adresse du candidat varchar

Tableau 2:dictionnaire de donnée job_entreprise

Nom Description Type de données Id_entreprise Identifiant de l entreprise varchar nom _societe Nom de l entreprise varchar logo Le logo varchar nom_responsable Nom du responsable varchar prenom_resp Prénom du responsable varchar adresse_entrep L adresse de l entreprise varchar

Tableau 3:dictionnaire de donnée job_cv

Nom Description Type de données Id_cv Identifiant du cv int langue_cv Langue du cv varchar titre_cv Titre du cv varchar Diplôme Diplôme obtenu varchar stages_eperiance Stages et expériences

professionnels varchar

niveau_etude Niveau des études Varchar Competances Les compétences du candidat varchar Langues Les langues que maitrise le

candidat varchar

etablissement_universitaire L établissement universitaire de l obtention du diplôme

varchar

Page 22: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Conception et implémentation de la base de données

Marwen BEN MZOUGHIA Page 13

Tableau 4:dictionnaire de donnée job_lettre_de_motivation

Nom Description Type de données Id_lettre Identifiant du cv int

langue_lettre Langue de la lettre de motivation

varchar

contenu Titre du cv varchar

Tableau 5:dictionnaire de donnée job_offre

Nom Description Type de données Id_offre Identifiant de l offre int Titre _poste Poste offert varchar Nature_ de_ l offre Nature de l offre varchar Profil _souhaité Profil recherche varchar Disponibilité Disponibilite varchar Nature_de_contrat Contrat Varchar Expérience_demandée Experiance demande varchar Secteur _ activité Le secteur d activite du poste

offert varchar

Description Description de l offre varchar Diplôme souhaité Diplôme requis varchar Lieu de travail Lieu de travail varchar date_publication Date de publication de l offre datetime date_expiration Date d expiration de l offre datetime

Tableau 6:dictionnaire de donnée job_postulation

Nom Description Type de données Id_postulation Identifiant de postulation int Id_candidat Idetifiant de candidat varchar Id_offre Identifiant de l offre int Date_postulation Date de postulation datetime Id_cv Identifiant du cv fourni int Id_lettre_de_motivation Identifiant de la lettre de

motivation fournite int

Page 23: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Conception et implémentation de la base de données

Marwen BEN MZOUGHIA Page 14

Tableau 7:dictionnaire de donnée job_favoris_candidat

Nom Description Type de données Id_favoris_cand Identifiant de favoris int Id_offre Idetifiant de l offre favorite int Id_candidat Identifiant du candidat varchar

Tableau 8:dictionnaire de donnée job_favoris_candidat

Nom Description Type de données Id_favoris_entrep Identifiant de favoris int Id_candidat Idetifiant du candidat favoris varchar Id_entreprise Identifiant de l entreprise varchar

IV. Implémentation sql server2000

Comme plusieurs SGBD, SQL Server 2000 offre une interface graphique très ergonomique pour la création des tables de la base. Mais en plus, il permet de mettre en évidence des organigrammes personnalisés, qui permettent d’établir les relations correctement entre les tables, et par suite, de respecter les contraintes d’intégrités pour notre BD.

Le processus de ces opérations est tellement simple à réaliser qu’il est possible de le représenter en quelques étapes :

• Créer la BD

• Créer les tables de la BD.

• Créer un SQL Server login (connexion) pour cette base.

• Apres avoir choisi le login, créer un nouvel utilisateur pour la BD.

• Accéder à la rubrique organigramme dans la section BD.

• Choisir les tables qui font partie de cet organigramme.

• Etablir les relations entre les tables en choisissant les normes de contraintes d’intégrité

qu’on voudra appliquer à la base.

Page 24: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Conception et implémentation de la base de données

Marwen BEN MZOUGHIA Page 15

En fin on aboutit à un organigramme solide, qui permet de respecter les contraintes d’intégrités de la BD.

Figure 2:Diagramme final de tables utilisées par les modules

Page 25: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Etude de l’outil de développement :Dotnetnuke

Marwen BEN MZOUGHIA Page 16

Chapitre 4 Etude de l’outil de développement : DotNetNuke

I. Introduction

DotNetNuke qui n’est pas très connu par la communauté des développeurs francophone,

Pour ce la il mérite d’avoir une étude plus ou moins détaillée. Pour mettre en évidence la valeur de mon outil de développement principal, je le présente dans ce chapitre, avec tous ses concepts fondamentaux ainsi que ses fonctionnalités.

II. Définition

DotNetNuke est un système de gestion de contenus et de création de sites, qui offre une grande variété d'applications, telles que des sites Internet d'entreprises ou personnels, intranets, portails, etc. En plus, avec seulement les outils livrés en standard, un simple utilisateur peut créer son site web, Mais il permet aussi d'acquérir ou de développer des thèmes graphiques ou des modules complémentaires prêts à l'emploi. Son adaptabilité et ses fonctionnalités sont pratiquement illimitées. Les modules peuvent être écrits en VB.NET ou en C#.

Il est gratuit, avec une licence open source proche de la BSD (Berkeley Software Distribution).

DotNetNuke permet de gérer plusieurs sites à partir d'une installation unique. Il distingue les fonctions d'administration de l'hôte, de celles de chaque site, permettant ainsi à chacun d'entre eux d'avoir sa propre configuration, ses propres caractéristiques techniques et sa propre apparence.

III. Les avantages de DotNetNuke

1. Open Source

DotNetNuke est une plateforme complètement ouverte, sous licence Open Source, et permet à n'importe quelle application, information ou service d'être intégrés, indépendamment de la localisation physique. DotNetNuke est 100% compatible avec la plateforme .NET, et donc avec les standards LDAP, XML, SOAP.

Page 26: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Etude de l’outil de développement :Dotnetnuke

Marwen BEN MZOUGHIA Page 17

2. Présentation

Chaque portail possède son propre "skin" (apparence/thème), qui gère la présentation du contenu et la structure des menus. Cela signifie qu'il est possible de changer le design du site sans redévelopper l'ensemble du portail.

3. Sécurité et utilisation

La sécurité basée sur la gestion de groupes d'utilisateurs permettant de personnaliser le contenu du portail. Ces « rôles de sécurité » assignés à chaque utilisateur déterminent le type d'accès aux services et informations sur le portail.

Les administrateurs du portail peuvent créer autant de groupes d'utilisateurs que nécessaire (par exemple "fournisseurs", "employés", "clients", "management", "VIP"," actionnaires" etc.). Chaque page et module peut être paramétré pour accepter plusieurs rôles à des fins de consultation, d'édition ou de suppression. Une fois que l'utilisateur est identifié, seul le contenu pour lequel il est autorisé sera visible ou prêt à être édité.

4. Gestion

Une fois que le portail principal est créé, on peut créer très simplement des "sous-portails", utilisant la même BD. C'est une fonctionnalité très puissante qui est une des différences majeures avec les solutions concurrentes.

5. Modules de gestion de contenu

Les modules inclus permettent de gérer les divers contenus des portails tels que les annonces, actualités, liste de contacts, agendas, documents à télécharger...

Ces contenus sont accessibles à tout moment pour tous les utilisateurs autorisés.

Des dates d'expiration peuvent être assignées à ces modules afin de réduire les tâches de maintenance et augmenter la productivité de votre équipe.

Des modules avancés ont été développés pour automatiser d'autres tâches courantes comme l'envoi de newsletters, la collecte de données, la gestion des abonnements...

DotNetNuke permet de centraliser l'accès aux documents et de traquer les diverses opérations.

La syndication RSS automatique du contenu permet de diffuser rapidement l'information.

6. Gestion des utilisateurs

La plateforme DotNetNuke permet une gestion puissante des utilisateurs, permet d'activer ou non des inscriptions en ligne, payantes ou non, avec différents niveaux d'inscriptions

Page 27: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Etude de l’outil de développement :Dotnetnuke

Marwen BEN MZOUGHIA Page 18

(publique, privée, vérifiée). Les utilisateurs gèrent leur propre profil, et peuvent choisir leur langue préférée sur le site.

7. Performances

La plateforme a été conçue selon le modèle 3-Tiers garantissant une évolutivité sans faille et sur la technologie serveur ASP.NET de Microsoft, aux performances reconnues mondialement, capable de supporter facilement des demandes de plusieurs pages par jour (seule l'architecture technique serait à prévoir en conséquence).

8. Complètement gérée par une BD

L'ensemble des contenus, des paramètres du site, des utilisateurs et des groupes de sécurité sont centralisés dans une seule BD, elle-même étant sécurisée. L'ensemble des données sensibles dans la base sont cryptées avec l'algorithme 3DES pour une confidentialité optimale. La centralisation des données réduit considérablement les coûts de maintenance.

IV. Hiérarchie et architecture de DotNetNuke

1. Hiérarchie

DotNetNuke est un programme qui s’exécute avec Microsoft ASP.NET. Il est aussi un Framework, c'est-à-dire un programme qui est destiné à être prolongé et modifié. L’une des manières pour étendre un Framework, est de lui générer des modules. Ces modules sont imbriqués à l’intérieur d’une installation DotNetNuke. Une fois cette dernière est lancée, le Framework se développe pour former un site web, ou ce qu’on appelle aussi un portail.

Une seule installation DotNetNuke permet de créer plusieurs portails individuels. Un portail est par suite configuré pour exposer des pages, et les pages sont aussi façonnées pour montrer des modules.

Page 28: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Marwen BEN MZOUGHIA

Figure

2. Architecture

DotNetNuke adopte une architecture très connuetiers ou architecture à trois niveaux est l'application du modèle plus général qu'est le multitiers.

Quand on parle d’architecture dans module est composé d’un nombre de fichiers. Ces fichiers appartiennent selon leur rôle, aux différentes couches de notre architecture.

• La couche Présentation

trouvent les boutons, les champs de textes, etc. c’est l’interface dans laquelle on interagit avec

le module.

• La couche traitement ou logique métier

laquelle se trouve le code qui détermine que doi

orientations dans la BD.

• La couche de données

de notre module. Cette couche est très importante pour l’architecture 3

Etude de l’outil de développement

Figure 1:Structure générale du Framework DotNetNuke

DotNetNuke adopte une architecture très connue : l’architecture trois tiers. L'architecture 3tiers ou architecture à trois niveaux est l'application du modèle plus général qu'est le multi

Quand on parle d’architecture dans DotNetNuke, on parle alors de module. En effet, chaque module est composé d’un nombre de fichiers. Ces fichiers appartiennent selon leur rôle, aux différentes couches de notre architecture.

La couche Présentation (Presentation Layer): c’est la face du modu

trouvent les boutons, les champs de textes, etc. c’est l’interface dans laquelle on interagit avec

La couche traitement ou logique métier (Business Logic Layer) : c’est la partie dans

laquelle se trouve le code qui détermine que doit faire un module et quelles sont ses

La couche de données (Data Access Layer) : c’est la couche qui contient les données

de notre module. Cette couche est très importante pour l’architecture 3-tiers. Ici on accède à la

Etude de l’outil de développement :Dotnetnuke

Page 19

DotNetNuke

: l’architecture trois tiers. L'architecture 3-tiers ou architecture à trois niveaux est l'application du modèle plus général qu'est le multi-

DotNetNuke, on parle alors de module. En effet, chaque module est composé d’un nombre de fichiers. Ces fichiers appartiennent selon leur rôle, aux

(Presentation Layer): c’est la face du module. Là ou se

trouvent les boutons, les champs de textes, etc. c’est l’interface dans laquelle on interagit avec

: c’est la partie dans

t faire un module et quelles sont ses

: c’est la couche qui contient les données

tiers. Ici on accède à la

Page 29: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Marwen BEN MZOUGHIA

BD par le billet des fournisseurs de donnés (Data Provider), des fournisseurs concrets de

donnés (Concrete Data Provider) et les blocs d’application (Application Blocks).

Data Provider est une classe abstraite, qui est héritée par le

Provider pour manipuler la BD. Concrete Data Provider aide les utilisateurs à construire des

Data Providers pour n’importe quelle type de base de donnés, comm

Server,Par exemple, pour Microsoft SQL Server, on aura par défaut SqlDataProvider lors de

la création d’un module DotNetNuke.

Le bloc d'application simplifie la tache de développement qui implémente des

fonctionnalités d’accès aux données communes. Les applications peuvent employer le bloc

d'application dans une variété de situations, telles que des

des données obtenues pour passer par des couches application, et des données changées de

nouveau et renvoyées au système de BD.

Figure

Etude de l’outil de développement

illet des fournisseurs de donnés (Data Provider), des fournisseurs concrets de

donnés (Concrete Data Provider) et les blocs d’application (Application Blocks).

Data Provider est une classe abstraite, qui est héritée par le

manipuler la BD. Concrete Data Provider aide les utilisateurs à construire des

Data Providers pour n’importe quelle type de base de donnés, comm

Par exemple, pour Microsoft SQL Server, on aura par défaut SqlDataProvider lors de

éation d’un module DotNetNuke.

Le bloc d'application simplifie la tache de développement qui implémente des

fonctionnalités d’accès aux données communes. Les applications peuvent employer le bloc

d'application dans une variété de situations, telles que des données de lecture pour l'affichage,

des données obtenues pour passer par des couches application, et des données changées de

nouveau et renvoyées au système de BD.

Figure 2.Architecture du DotNetNuke

Etude de l’outil de développement :Dotnetnuke

Page 20

illet des fournisseurs de donnés (Data Provider), des fournisseurs concrets de

donnés (Concrete Data Provider) et les blocs d’application (Application Blocks).

Data Provider est une classe abstraite, qui est héritée par le Concrete Data

manipuler la BD. Concrete Data Provider aide les utilisateurs à construire des

Data Providers pour n’importe quelle type de base de donnés, comme Microsoft SQL

Par exemple, pour Microsoft SQL Server, on aura par défaut SqlDataProvider lors de

Le bloc d'application simplifie la tache de développement qui implémente des

fonctionnalités d’accès aux données communes. Les applications peuvent employer le bloc

données de lecture pour l'affichage,

des données obtenues pour passer par des couches application, et des données changées de

Page 30: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Marwen BEN MZOUGHIA

V. Administration de pages et

1. Les comptes Host et Administrateur

a. Host

Le compte Host est l’administrateur de tous les portails d’une installation DotNetNuke. Il est aussi utilisé pour installer les modules dans le Framework. En plus, le compte Host crée et configure les comptes Administrateurs.

b. Administrateur

Le compte Administrateur ne peut pas installer (ou désinstaller) des modules, mais il est apte pour configurer les modules qui sont validés par le Host. L’administrateur indique aussi dans quelles pages le module pourra apparaitre, et qui sont les utilisateurs qui peuvent y accéder.

2. Panneau de contrôle

Le panneau de contrôle, ou barre d’icône d’administration, contient des raccourcis vers certaines fonctionnalités régulièrement utilisées. Cellesdu site (Aperçu, Edition, Design), des outils de gestion des pages (Ajouter, Editer, Effacer, Copier, Exporter, Importer), d’insertion de modules (nouveau module, Cloner un module), et de gestion de site (Site, Utilisateurs, Rôles,

Figure

3. Paramètre des Pages

Les paramètres d’une page sont accessibles depuis le panneau de contrôle, pour les utilisateurs membres d’un groupe habilité en édition sur la paréservé aux administrateurs. Le formulaire est identique en éditionla seule différence d'une section additionnelle dans les deux derniers cas, présentée dans la partie sur le "panneau de contrô

Etude de l’outil de développement

Administration de pages et de modules

Les comptes Host et Administrateur

Le compte Host est l’administrateur de tous les portails d’une installation DotNetNuke. Il est aussi utilisé pour installer les modules dans le Framework. En plus, le compte Host crée et

comptes Administrateurs.

Le compte Administrateur ne peut pas installer (ou désinstaller) des modules, mais il est apte pour configurer les modules qui sont validés par le Host. L’administrateur indique aussi dans

rra apparaitre, et qui sont les utilisateurs qui peuvent y accéder.

Le panneau de contrôle, ou barre d’icône d’administration, contient des raccourcis vers certaines fonctionnalités régulièrement utilisées. Celles-ci incluent des modes du site (Aperçu, Edition, Design), des outils de gestion des pages (Ajouter, Editer, Effacer, Copier, Exporter, Importer), d’insertion de modules (nouveau module, Cloner un module), et de gestion de site (Site, Utilisateurs, Rôles, Fichiers, Aide, Solutions).

Figure 3. Panneau de contrôle DotNetNuke

Les paramètres d’une page sont accessibles depuis le panneau de contrôle, pour les utilisateurs membres d’un groupe habilité en édition sur la page, ou bien depuis un formulaire réservé aux administrateurs. Le formulaire est identique en édition en création, ou en copie, à la seule différence d'une section additionnelle dans les deux derniers cas, présentée dans la partie sur le "panneau de contrôle".

Etude de l’outil de développement :Dotnetnuke

Page 21

Le compte Host est l’administrateur de tous les portails d’une installation DotNetNuke. Il est aussi utilisé pour installer les modules dans le Framework. En plus, le compte Host crée et

Le compte Administrateur ne peut pas installer (ou désinstaller) des modules, mais il est apte pour configurer les modules qui sont validés par le Host. L’administrateur indique aussi dans

rra apparaitre, et qui sont les utilisateurs qui peuvent y accéder.

Le panneau de contrôle, ou barre d’icône d’administration, contient des raccourcis vers ci incluent des modes de visualisation

du site (Aperçu, Edition, Design), des outils de gestion des pages (Ajouter, Editer, Effacer, Copier, Exporter, Importer), d’insertion de modules (nouveau module, Cloner un module), et

Les paramètres d’une page sont accessibles depuis le panneau de contrôle, pour les ge, ou bien depuis un formulaire

en création, ou en copie, à la seule différence d'une section additionnelle dans les deux derniers cas, présentée dans la

Page 31: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Etude de l’outil de développement :Dotnetnuke

Marwen BEN MZOUGHIA Page 22

Il permet tout d’abord de définir le nom de la page dans les menus, son titre tel qu’il apparaîtra dans la barre des titres du navigateur Internet, une description et des mots clés constituant les « métadonnées » destinés aux moteurs de recherche.

Figure 4. Paramètre des pages DotNetNuke

4. Paramètres de modules

Un utilisateur habilité en édition sur une page peut déplacer, supprimer et accéder aux paramètres des modules qui y sont présents.

La grille de définition des habilitations est identique à celle paramétrant l'accès d'une page, à ceci près qu'il est également possible de définir le module comme héritant des paramètres de visibilité de la page qui le contient.

Page 32: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Etude de l’outil de développement :Dotnetnuke

Marwen BEN MZOUGHIA Page 23

Figure 5. Paramètre des module DotNetNuke

VI. Conclusion

En étudiant seulement le principal outil de travail, on a pu dégager plusieurs cotés remarquables, permettant au DNN d’être un Framework de confiance pour les développeurs. Ce n’est pas tout, parce que DNN interfère avec un environnement de travail très vaste, qui accroit les chances de sa réussite. Cet environnement est bien digne d’être pris en charge dans ce rapport, ce qui fera le sujet du prochain chapitre.

Page 33: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA Page 24

Chapitre 5 : Logiciels, outils de programmation et méthode de

développement proposée

I. Introduction

Mon stage se caractérise par la diversité des outils utilisés. Cette multiplicité, est une preuve significative sur l’intégralité du DotNetNuke, surtout que chaque outil joue un rôle très différent par rapport aux autres.

Ces outils se devisent en deux parties : logiciels et langages de programmation. Quand ils sont réunis, ils forment un ensemble très puissant, qui permet de développer des sites web professionnels à haute performance.

En étudiant de prêt certains de ces outils, j’ai mis au point une méthode personnelle pour développer des modules DNN.

Ce chapitre donne des brèves définitions pour chacun de ces outils. Il parle aussi des principes et fonctionnement. Il comprend à la fin une partie qui analyse les principaux outils de programmation du Framework .NET 2.0, sur lesquels est basée ma méthode de développement.

II. Environnements logiciels

Quand on accède au site officiel du DotNetNuke pour le télécharger, on découvre qu’il existe 4 fichiers distincts. Ceux qui nous intéressent, sont les fichiers install.zip et StarterKit.vsi.

1. Le package d’installation DotNetNuke

Un package d’installation contenant les fichiers ascx et aspx, ainsi que des fichiers de contenu et des assemblées compilées (dlls). Il ne contient aucun des fichiers de code en Visual Basic pour les « providers » et les http Modules. Il est utilisé quand on n’a pas l’intention de toucher au noyau du fichier.

Une fois décompressé dans le répertoire de l’application, il offre tout les dossiers de base pour une installation DotNetNuke. Ce package doit être mis en place, au moins une seule fois sur la machine, pour pouvoir utiliser le Framework.

Page 34: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA Page 25

2. Le starter kit DotNetNuke

Un nouveau concept connu sous le nom de « Starter Kit » qui est conçu, pour permettre à un développeur de configurer un environnement de développement entièrement fonctionnel, pour une application spécifique en quelques minutes. Le kit de démarrage, automatise plusieurs procédures qu’on devrait exécuter manuellement. Il contient un Template du projet (basé sur le package d’installation), un Template pour les modules (en Visual Basic.NET et C#), et un Template d’apparences.

3. Cassini web server

Cassini est un mini serveur développé par microsoft et gratuit. A l’origine il était contenu dans l’application ASP .NET Web Matrix qui n’est en fait qu’une version allégée et gratuite de Visual Studio et qui permet de développer des pages ASP.NET. Il est maintenant disponible directement chez Microsoft et un Forum de discussion lui est consacré. Grâce à ce serveur HTTP autonome, vous pourrez développer et tester vos pages ASP .NET sur Windows et ce, sans avoir à installer et configurer le serveur IIS sur votre machine. En effet, Cassini n’a pour seul objectif que de faire tourner en local des applications ASPNET lors du développement de pages. Il est bien sûr nécessaire d'installer Net Framework au préalable. Toutefois, selon les spécifications de Microsoft ce serveur ne répond pas aux requêtes venant des machines "extérieures" mais nous verrons qu’il peut s’interfacer astucieusement avec Apache afin de lire des pages ASPNET et même d’accéder aux pages asp.NET via un ordinateur distant. Cassini n’est donc pas qu’un simple serveur local.

4. Microsoft SQL Server 2000

SQL Server est un Système de gestion de BD (SGBD), développé et commercialisé par Microsoft. SQL Server est un SGBD relationnel. Il est possible de définir des relations entre les tables de façon à garantir fortement l'intégrité des données qui y sont stockées. Les services exécutant chaque instance de SQL Server utilisent un compte de service. Ce dernier doit être choisi avec soin pour éviter d'éventuelles failles de sécurités sur le serveur.

5. Visual Web Developer 2005 Express

Microsoft Visual Studio Express est un ensemble d'environnements de développement intégrés gratuits, développé par Microsoft. Il s'agit d'une version allégée de Microsoft Visual Studio. L'idée de ces éditions "express" est, selon Microsoft, de fournir un environnement de développement facile à utiliser et à apprendre pour des jeunes ou des passionnés. Il présente l’outil de développement fondamental pour compiler du VB.NET.

Page 35: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA Page 26

6. Microsoft .NET Framework 2.0

Le Framework .NET est un composant logiciel pouvant être utilisé par un système d'exploitation Microsoft Windows.

Le package redistribuable de Microsoft .NET Framework 2.0 installe le runtime .NET Framework et les fichiers associés requis pour l'exécution des applications développées pour le.NET Framework 2.0.Il fournit une évolutivité et des performances accrues aux applications via l'amélioration de la mise en cache, le déploiement et la mise à jour d'applications, la prise en charge du plus grand nombre de navigateurs et de périphériques possible via les contrôles et les services ASP.NET 2.0.

III. Zoom sur quelques outils de programmation du Framework Microsoft .NET 2.0

1. Vue d'ensemble de l'accès aux données ASP.NET

Les applications Web accèdent souvent à des sources de données aux fins de stockage et de récupération de données dynamiques. On peut écrire du code pour accéder aux données à l'aide de classes de l'espace de noms System. Data (connu sous le nom ADO.NET).

Toutefois, ASP.NET permet également d'exécuter la liaison de données de façon déclarative. Cette liaison n'exige aucun code pour les scénarios de données les plus courants, et notamment :

• La sélection et l'affichage de données.

• Le tri, la pagination et la mise en cache de données.

• La mise à jour, l'insertion et la suppression de données.

ASP.NET inclut deux types de contrôles serveur qui interviennent dans le modèle de liaison de données déclaratifs : les contrôles de source de données et les contrôles liés aux données. Ces contrôles gèrent les tâches sous-jacentes exigées par le modèle Web, sans état pour l'affichage et la mise à jour des données dans les pages Web ASP.NET. En conséquence, on n’est pas tenu de connaître tout le déroulement du cycle de vie des demandes de page pour exécuter la liaison de données.

a. Contrôles de source de données

Les contrôles de source de données sont des contrôles ASP.NET qui gèrent les tâches de connexion à une source de données, et de lecture et d'écriture de données. Les contrôles de source de données ne génèrent pas le rendu d'une interface utilisateur. Au lieu de cela, ils jouent le rôle d'intermédiaires entre une BD, et d'autres contrôles de la page Web ASP.NET. Les contrôles de source de données offrent des fonctionnalités puissantes de récupération et

Page 36: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA

de modification de données, et notamment en termes de requêtes, de tri, de pagination, de filtrage, de mise à jour, de suppression et d'insertion.

b. Contrôles liés aux données

Les contrôles liés aux données génèrent le renduqui envoie la demande. Un contrôle lié aux données peut se lier à un contrôle de source de données et extraire automatiquement des. Les contrôles liés aux données peuvent tirer parti des fonctionnalités fournies par un contrôle de source de données, et notamment le tri, la pagination, la mise en cache, le filtrage, la mise à jour, la suppression et l'insertion. Un contrôle lié aux données se connecte à un contrôle de source de données via sa propriété DataSourceID.

ASP.NET comprend plusieurs contrôles liés aux données, tandis que je vais me concentrer seulement sur : les contrôles de liste (DropDownList) et le GridView, qui se trouvent parmi mon code.

2. GridView, classe

a. Définition

Cette classe est nouvelle dans DataGrid dans les versions précédentes.

Affiche les valeurs d'une source de données dans une table, où chaque colonne représente un champ, et chaque ligne représente un enregistrement. Le contrôle sélectionner, trier et modifier ces éléments.

Le contrôle GridView prend en charge les fonctionnalités suivantes

• Liaison aux contrôles de source de données, telle que

• Fonctionnalités intégrées de tri.

• Fonctionnalités intégrées de mise à jour et de suppression.

• Fonctionnalités intégrées de pagination.

• Fonctionnalités intégrées de sélection de ligne.

• Plusieurs champs clés.

• Apparence personnalisable via des thèmes et des styles.

Logiciels, outils de programmation et méthode de développement proposée

de modification de données, et notamment en termes de requêtes, de tri, de pagination, de filtrage, de mise à jour, de suppression et d'insertion.

Contrôles liés aux données

Les contrôles liés aux données génèrent le rendu des données en tant que balises au navigateur qui envoie la demande. Un contrôle lié aux données peut se lier à un contrôle de source de données et extraire automatiquement des. Les contrôles liés aux données peuvent tirer parti

es par un contrôle de source de données, et notamment le tri, la pagination, la mise en cache, le filtrage, la mise à jour, la suppression et l'insertion. Un contrôle lié aux données se connecte à un contrôle de source de données via sa propriété

ASP.NET comprend plusieurs contrôles liés aux données, tandis que je vais me concentrer : les contrôles de liste (DropDownList) et le GridView, qui se trouvent parmi

Cette classe est nouvelle dans le .NET Framework version 2.0. C’est le successeur du dans les versions précédentes.

Affiche les valeurs d'une source de données dans une table, où chaque colonne représente un champ, et chaque ligne représente un enregistrement. Le contrôle Gridsélectionner, trier et modifier ces éléments.

prend en charge les fonctionnalités suivantes :

Liaison aux contrôles de source de données, telle que SqlDataSource

Fonctionnalités intégrées de tri.

intégrées de mise à jour et de suppression.

Fonctionnalités intégrées de pagination.

Fonctionnalités intégrées de sélection de ligne.

Apparence personnalisable via des thèmes et des styles.

Logiciels, outils de programmation et méthode de développement proposée

Page 27

de modification de données, et notamment en termes de requêtes, de tri, de pagination, de

des données en tant que balises au navigateur qui envoie la demande. Un contrôle lié aux données peut se lier à un contrôle de source de données et extraire automatiquement des. Les contrôles liés aux données peuvent tirer parti

es par un contrôle de source de données, et notamment le tri, la pagination, la mise en cache, le filtrage, la mise à jour, la suppression et l'insertion. Un contrôle lié aux données se connecte à un contrôle de source de données via sa propriété

ASP.NET comprend plusieurs contrôles liés aux données, tandis que je vais me concentrer : les contrôles de liste (DropDownList) et le GridView, qui se trouvent parmi

2.0. C’est le successeur du

Affiche les valeurs d'une source de données dans une table, où chaque colonne représente un Grid View permet de

SqlDataSource.

Page 37: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA

b. Liaison de données

Le contrôle GridView peuSqlDataSource, ObjectDataSource, etc.). Pour le lier à un contrôle de source de données, on affecte à sa propriété DataSourceIDGridView se lie automatiquement au contrôle de source de données spécifié, et peut tirer partie des fonctionnalités du contrôle de source de données. Il s'agit de la méthode utilisée pour la liaison aux données.

c. Opérations de données

Lorsque le contrôle GridViewde ses fonctionnalités, et fournir les fonctionnalités automatiques de tri, de mise à jour et de suppression. Toutefois, on doit fournir un gestionnaire d'événements approprié avec l'implémentation de ces opérations. Si non, on peut tout simplement faire recourt à une configuration de la source de données, et choisir soit des procédures stockées, soit définir des instructions SQL personnalisées, propre à chaque événement.

Logiciels, outils de programmation et méthode de développement proposée

peut être lié à un contrôle de source de données (tel que , ObjectDataSource, etc.). Pour le lier à un contrôle de source de données, on

DataSourceID, la valeur ID du contrôle de source de données. Le tiquement au contrôle de source de données spécifié, et peut tirer

partie des fonctionnalités du contrôle de source de données. Il s'agit de la méthode utilisée

Opérations de données

GridView est lié à un contrôle de source de données, il peut en tirer parti de ses fonctionnalités, et fournir les fonctionnalités automatiques de tri, de mise à jour et de suppression. Toutefois, on doit fournir un gestionnaire d'événements approprié avec

ces opérations. Si non, on peut tout simplement faire recourt à une configuration de la source de données, et choisir soit des procédures stockées, soit définir des instructions SQL personnalisées, propre à chaque événement.

Logiciels, outils de programmation et méthode de développement proposée

Page 28

t être lié à un contrôle de source de données (tel que , ObjectDataSource, etc.). Pour le lier à un contrôle de source de données, on

du contrôle de source de données. Le tiquement au contrôle de source de données spécifié, et peut tirer

partie des fonctionnalités du contrôle de source de données. Il s'agit de la méthode utilisée

n contrôle de source de données, il peut en tirer parti de ses fonctionnalités, et fournir les fonctionnalités automatiques de tri, de mise à jour et de suppression. Toutefois, on doit fournir un gestionnaire d'événements approprié avec

ces opérations. Si non, on peut tout simplement faire recourt à une configuration de la source de données, et choisir soit des procédures stockées, soit définir des

Page 38: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA Page 29

Figure 1. Définition d’une instruction SQL pour l’opération Select dans un

GridView

3. SqlDataSource, classe

a. Définition

Cette classe est nouvelle dans le .NET Framework version 2.0. Le contrôle de source de données SqlDataSource représente des données dans une BD relationnelle SQL, pour les contrôles liés aux données. On peut l’utiliser conjointement à un contrôle lié aux données pour récupérer des données d'une base pour afficher, modifier et trier des données sur une page Web, avec peu ou sans code.

b. Connexion à la base

Pour se connecter à une BD, on doit affecter une chaîne de connexion valide à la propriété ConnectionString. SqlDataSource peut prendre en charge toute BD relationnelle SQL à laquelle il est possible de se connecter grâce à un fournisseur ADO.NET.

Page 39: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA Page 30

c. Manipulation des données depuis la base

Pour récupérer des données depuis une BD, on définit la propriété SelectCommand avec une requête SQL. Cette dernière, peut également être une requête paramétrée. Le contrôle SqlDataSource récupère des données chaque fois que la méthode Select est appelée. Cette méthode fournit un accès par programme à la méthode spécifiée par la propriété SelectMethod. Selon les fonctions entre la BD et la configuration de l'instance de la classe SqlDataSource, on peut exécuter des opérations de données, telles que des mises à jour, des insertions et des suppressions. Pour exécuter ces opérations de données, on définit le texte de commande approprié, et tous les paramètres associés à l'opération qu’on souhaite exécuter. Par exemple, pour une opération de mise à jour, affectez une chaîne SQL ou le nom d'une procédure stockée à la propriété UpdateCommand et ajoutez tous les paramètres requis à la collection UpdateParameters. La mise à jour est effectuée lorsque la méthode Update est appelée, soit explicitement par votre code ou automatiquement par un contrôle lié aux données. Les opérations Delete et Insert suivent le même modèle général.

IV. Méthode de travail proposée VS la célèbre méthode DAL+

1. La méthode DAL+

La DAL+ est le successeur de la méthode DAL. Elle permet de communiquer avec la BD, à travers des « class controller ».

Le module est constitué de quatre fichiers qui sont :

• Un Contrôleur d’utilisateur Web (Web User Control).

• Un fichier du code behind de ce Web User Contrôle.

• Un fichier contenant une simple classe pour maintenir les données.

• Un fichier de classe de type « controller » pour communiquer avec la BD.

a. Création du « Info Class »

Elle est créée dans le dossier App_Code de l’installation DNN.

Page 40: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA

On crée alors un fichier contenant une simple classe. Cette classe devient un objet quand elle est instanciée. Cet objet a pour rôle, le passage des données edonnées et le contrôle de l’utilisateur Web.

b. Création du « Controller Class

Cette classe englobe quatre méthodes publiques

• Suppression -• Insertion -• Sélection -• Modification -

Les méthodes Delete, Insert et La méthode SelectAll prend un entier comme paramètre et retourne une classe Chacune de ces méthodes publiques, utilexécuter une procédure stockée.

Il existe trois méthodes DAL+

• ExecuteNonQuery : utilisée pour exécuter une procédure stockée qui ne retourne pas

une valeur.

• ExecuteReader : utilisée pour exécuter une procéd

enregistrements.

• ExecuteScalar : pour exécuter une procédure stockée qui retourne une valeur unique.

Les méthodes Delete, Insert par contre, la méthode SelectAllExecuteScalar du DAL+ n’est pas utilisée dans mes modules).

Voici une explication du format utilisé pour l’implémentation DAL+. La méthode ExecuteReader qui est utilisée dans la méthode

Figure 2

Logiciels, outils de programmation et méthode de développement proposée

On crée alors un fichier contenant une simple classe. Cette classe devient un objet quand elle est instanciée. Cet objet a pour rôle, le passage des données entre la couche d’accès aux données et le contrôle de l’utilisateur Web.

Controller Class »

Cette classe englobe quatre méthodes publiques :

- NomClasse_Delete - NomClasse _Insert - NomClasse_SelectAll - NomClasse _Update

et Update, prennent comme paramètre la classe «prend un entier comme paramètre et retourne une classe

Chacune de ces méthodes publiques, utilise l’une des nouvelles méthodes du DAL+ pour exécuter une procédure stockée.

Il existe trois méthodes DAL+ :

utilisée pour exécuter une procédure stockée qui ne retourne pas

utilisée pour exécuter une procédure stockée qui retourne plusieurs

pour exécuter une procédure stockée qui retourne une valeur unique.

et Update utilisent la méthode ExecuteNonQuerySelectAll utilise la méthode ExecuteReader du DAL+ (la méthode

du DAL+ n’est pas utilisée dans mes modules).

Voici une explication du format utilisé pour l’implémentation DAL+. La méthode qui est utilisée dans la méthode SelectAll est utilisée dans cet exemple.

2. Format utilisé pour l’implémentation DAL+

Logiciels, outils de programmation et méthode de développement proposée

Page 31

On crée alors un fichier contenant une simple classe. Cette classe devient un objet quand elle ntre la couche d’accès aux

, prennent comme paramètre la classe « Info Class ». prend un entier comme paramètre et retourne une classe « Info Class».

ise l’une des nouvelles méthodes du DAL+ pour

utilisée pour exécuter une procédure stockée qui ne retourne pas

ure stockée qui retourne plusieurs

pour exécuter une procédure stockée qui retourne une valeur unique.

ExecuteNonQuery du DAL+, du DAL+ (la méthode

Voici une explication du format utilisé pour l’implémentation DAL+. La méthode isée dans cet exemple.

. Format utilisé pour l’implémentation DAL+

Page 41: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA Page 32

c. Création du contrôleur « View »

On crée un Contrôle Utilisateur Web (.ASCX) dans le dossier DesktopModules de l’installation DNN. Il est automatiquement suivit de son propre sous-fichier du code behind (.ASCX.VB)

� Création de grille et de la forme vue par l’utilisateur

On construit la forme qui apparait pour l’utilisateur (IHM). Cette interface est constituée par des tableaux, formulaires, etc.

� Création du code behind

C’est le code qui réside dans le fichier « .ascx.vb». Il se charge de distribuer les rôles pour les différents composants de l’interface graphique (champs de texte, boutons, listes, etc.).

d. Création des tables et des procédures stockées

Dans un éditeur de code SQL qui se trouve dans le portail DNN, sous le menu Host, on rajoute un script SQL, qui s’exécute pour créer les tables de la BD, ainsi que les procédures stockées.

2. Méthode proposée

Ma méthode ne contient aucun fichier appartenant au répertoire App_Code. Par suite, tout le code se trouve uniquement dans le répertoire DesktopModules, qui normalement, ne contient que la partie présentation du module. Cette méthode m’a été en suite imposée par la société.

Elle contient uniquement Deux Fichiers:

• Un User Web Control.

• Un fichier contenant le code behind.

Un module est monté à travers les étapes suivantes :

• Création du contrôleur « View »

� Création de la forme vue par l’utilisateur.

� Etablissement de l’accès aux données ASP.NET.

� Création du code behind.

Page 42: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA Page 33

Dés le début on remarque la simplicité de la méthode, par la réduction du nombre de fichiers, ainsi que les étapes suivies pour compléter le module.

a. Création de la forme vue par l’utilisateur

C’est l’étape la plus simple qui consiste à mettre en place les formulaires pour la saisie des données, en plus des outils qui serviront à afficher les messages des processus effectués.

b. Etablissement de l’accès aux données ASP.NET

Dans le fichier .ASCX du « User Web Control », on crée le GridView, qui est l’outil de programmation le plus puissant que j’utilise dans ma méthode. C’est un contrôle lié aux données, qui joue plusieurs rôles, permettant d’agir directement sur la BD, sans avoir besoin de créer des procédures stockées, comme on l’a déjà fait dans la DAL+.

Le GridView n’est pas le seul contrôle qui est lié aux données. On peut citer aussi les listes défilantes, les listes radio, etc.

Même si le GridView permet d’effectuer un nombre importants de fonctionnalités, il demeure inactif, sans l’outil de contrôle de sources de données.

Cet outil dépond du type de la BD utilisée. Dans notre cas, on utilise une base SQL. Par conséquence, c’est à un SqlDataSource qu’on doit faire appel. Ce dernier joue le rôle d'intermédiaire entre une BD, et d'autres contrôles de la page Web ASP.NET.

c. Création du code-behind

Classiquement, ce fichier contient le code qui indique le rôle de chaque composants du fichier .ASCX, manipule le module, et fait appel aux domaines des classes prédéfinies.

Rien qu’avec ces deux fichiers, on peut programmer un module DNN qui atteint parfaitement son objectif.

Page 43: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA Page 34

3. Apport personnel méthode d intégration des modules sur le serveur :

L’ancienne méthode d’intégration des modules dotnetnke consistait à récupérer une copie des

modules développées en local, et les copier sur le serveur sous le dossier desktop modules et puis

s’identifier comme host sur le portail dotnetnuke du serveur pour définir ces modules.

Durant le stage on m a demandé de mettre les modules que j’ai développés sur le serveur,

Vu que je n’avais pas un compte ftp sur le serveur j’ai cherché une autre alternative :

En étudiant les options disponibles sur l’outil de développement dotnetnuke j ai réussit à définir

une nouvelle méthode.

En locale, on s identifie avec le compte host , on accède à module définition, on clique sur l option

En cliquant sur cette option cette fenêtre s affiche :

Figure 3:création de module package

Un archive est crée, ce dernier contient le module développé et un fichier dont l extension est dnn

qui contient la définition du module.

Sur le serveur il suffit seulement de s’identifier, cliquer sur module définition, Install new module et

sélectionner

Le package à installer ; ce dernier sera uploadé et définit sur le serveur.

Page 44: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Logiciels, outils de programmation et méthode de développement proposée

Marwen BEN MZOUGHIA Page 35

V. Conclusion

On peut sans doute constater le taux important des outils de travail. On remarque aussitôt qu’ils sont très importants pour la carrière d’un développeur web, et une fois étudiés de prés, ils demeurent un atout puissant qui donne au développeur une liberté infinie dans la manipulation du DNN. Cette liberté me permet de marquer mes empreintes dans la société. Car la méthode que je propose plait à mon encadreur malgré qu’elle adopte des outils qui ne sont pas utilisés par les autres membres, pour le développement des modules DNN. Cette méthode m’a été en suite imposée par la société.

Cependant, il y en a bien d’autres outils qui ne sont pas mentionnés dans ce rapport, car ils sont abandonnés au cours du temps. Comme par exemple le logiciel Code Smith, exploité pour la création des modules, ou encore les outils Ajax , que je ne suis pas arrivé à les intégrer dans VWD et par suite, dans DNN.

Page 45: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 36

Chapitre 6 Installation de DotNetNuke et développement des modules

I. Introduction

L’installation du DotNetNuke, est le premier pas pour bien débuter avec ce système de gestion de contenu. Il faut savoir exactement les étapes correctes pour son fonctionnement.

Une fois DNN est installé, on peut commencer le développement de ses modules. Il suffit d’avoir les bases de programmation en ASP.NET et VB.NET (ou C#). Etant donné des modules dynamiques, il faut avoir une base de données.

Dans ce chapitre, j’inclus l’installation du DNN et le développement des modules demandés par la société.

II. Installation de DotNetNuke

L’installation du Framework DotNetNuke est très importante, car c’est l’étape primordiale pour bien démarrer avec ce framework. Cette étape peut sembler facile, mais ca aurait été vraiment le cas, s’il existait un fichier exécutable, qui se charge de l’affaire. Il faut d’abord avoir tous les éléments complémentaires qui y interviennent, et surtout suivre le bon parcourt, qui aboutira en fin à un Framework exécutable et sans fautes.

Suite aux différentes recherches et aux différentes méthodes que j’ai essayé, j’ai choisi de présenter l’installation du DotNetNuke d’une manière très simple et claire, sans trop rentrer dans les détails. Ce qui caractérise aussi ma démarche, c’est l’aspect chronologique qu’elle va suivre, et c’est tellement important pour un bon fonctionnement.

• Décompresser le fichier Install.zip dans le répertoire du choix.

• Configurer Cassini web server

Page 46: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 37

Figure 1.Ouverture de port avec Cassini

• Ouvrir le fichier web. config dans un éditeur (VWD pour notre cas), et changer les

paramètres de la chaine de connexion (connectionString), selon la configuration de la BD.

• Lancer l application sur Cassini web server, le processus d’installation se déclenche :

les scripts de mise en place de la base sont exécutés, les ressources d’installation sont

installées, un premier portail avec les répertoires associés est automatiquement créé.

Page 47: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 38

III. Développement des modules DotNetNuke

Durant mon stage, on m’a accordé la mission de réaliser 17 modules DNN tous a usage front office.ces modules seront intégrés dans le site.

1. Le module candidat

Ce module permet aux candidats de créer leurs profils, via un formulaire, qui contient les différentes informations à saisir pour leurs profils.

Figure 2. Le contenu du module candidat

Les champs de ce formulaire, se devisent en deux catégories : des champs obligatoires et des champs secondaires.

Quand aux champs secondaires, la présence ou l’absence d’un contenu n’est pas importante. C’est donc l’utilisateur qui décide de leur remplissage. Par contre, les champs obligatoires sont indispensables pour la validation du formulaire. Par conséquent, il a fallu leurs ajouter des contrôles coté client, pour s’assurer que leur contenu est celui exigé par le site.

Une fois l’utilisateur valide son formulaire, un message d’alerte s’affiche devant chaque champ obligatoire qui n’a pas été remplie.

Page 48: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Marwen BEN MZOUGHIA

Appart le contrôle imposé sur leLogiquement certains champs doivent contenir des valeurs dans un format bien déterminé. Par exemple, pour l’adresse Email, on doit avoir des caractères bien précis, tandis que d’autres sont à rejeter.

Sa constitue la deuxième couche de contrôle pour mon module.

Autrefois, pour avoir tous ces contrôles sur un formulaire, un programmeur doit écrire plusieurs lignes de code en JavaScript. Avec la progression des navigateurs Internet, le code JavaScript peut désormais être désactivé, et l’utilisateur peut par la suite saisir librement le contenu de son formulaire. Avec ASP.NET, ce problème ne demeure pas un souci pour les développeurs, car ils trouveront des outils de contrôles mis à leur dispositiodes formulaires.

Figure

Installation de Dotnetnuke et développement des modules

Appart le contrôle imposé sur les valeurs des champs, il reste aussi à vérifier leur cohérence. Logiquement certains champs doivent contenir des valeurs dans un format bien déterminé. Par exemple, pour l’adresse Email, on doit avoir des caractères bien précis, tandis que d’autres

Sa constitue la deuxième couche de contrôle pour mon module.

Autrefois, pour avoir tous ces contrôles sur un formulaire, un programmeur doit écrire plusieurs lignes de code en JavaScript. Avec la progression des navigateurs Internet, le code

cript peut désormais être désactivé, et l’utilisateur peut par la suite saisir librement le contenu de son formulaire. Avec ASP.NET, ce problème ne demeure pas un souci pour les développeurs, car ils trouveront des outils de contrôles mis à leur dispositio

Figure 3. Les contrôles de validation ASP.NET

Installation de Dotnetnuke et développement des modules

Page 39

s valeurs des champs, il reste aussi à vérifier leur cohérence. Logiquement certains champs doivent contenir des valeurs dans un format bien déterminé. Par exemple, pour l’adresse Email, on doit avoir des caractères bien précis, tandis que d’autres

Autrefois, pour avoir tous ces contrôles sur un formulaire, un programmeur doit écrire plusieurs lignes de code en JavaScript. Avec la progression des navigateurs Internet, le code

cript peut désormais être désactivé, et l’utilisateur peut par la suite saisir librement le contenu de son formulaire. Avec ASP.NET, ce problème ne demeure pas un souci pour les développeurs, car ils trouveront des outils de contrôles mis à leur disposition, pour le contrôle

T

Page 49: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 40

2. Le module d’édition de profil

Figure 4:module d'édition de profil

Ce module permet à l’utilisateur de modifier les informations de profil avec les mêmes contrôles sur les champs que le formulaire précédant.

Page 50: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 41

3. Module d’affichage de profil

Figure 5 : module d affichage de profil

Ce module ne permet pas seulement l affichage du profil du candidat mais il sera ultérieurement intégré dans un deuxième module, c le module d affichage de cv pour les entreprises, car le cv est compose de la partie profil plus la partie cv.

Page 51: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 42

4. Module de création de cv :

Figure 6: module de création de cv

Ce module permet à l utilisateur de créer des cv qui vont êtres ajoute à son cv thèque et qu’il peut ultérieurement modifier, supprimer et fournir pour des postulations à des offres.

Dans ce module il ya toujours des contrôles sur l intégrité des champs.

Page 52: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 43

5. Module cv thèque

Figure 7:module cv thèque

Ce module affiche pour le candidat ses cv avec les options de modification et de suppression.

La commande de modification va lancer le module de modification, ce dernier contient un formview en mode édit qui va prendre en paramètre le gridview.selected index c a dire l’index sélectionné du tableau ci-dessus.

Page 53: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 44

6. Module d’édition de cv

Figure 8:module d édition de cv

Page 54: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 45

7. Module de création de lettre de motivation

Figure 9:module de création de lettre de motivation

Ce module permet à l’utilisateur de créer des lettres de motivation tout en lui donnant un

titre, préciser la langue de cette dernière et son contenu.

8. Module lettre thèque :

Semblable au cv thèque il affiche la même interface avec les mêmes options.

9. Module de modification de lettre de motivation :

Ce module permet à l’utilisateur la modification du titre, du continu et la langue de la lettre de motivation.

Page 55: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 46

10. Module de création de profil pour les entreprises :

Figure 10:module de création de profil entreprise

Semblable au module candidat avec des contrôles sur l’intégrité des champs.

11. Module de modification de profil

Ce module permet a l’entreprise de modifier les informations de son profil, comme d’habitudes il ya un contrôle sur les champs.

Page 56: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 47

12. Module d affichage de profil

Figure 11:module d affichage de profil

Ce module ne permet seulement pas d afficher a l entreprise son profil mais il sera intégrer ultérieurement dans le module de postulation pour permettre au candidat de consulter le profil de la société qui a publier l offre.

Page 57: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 48

13. Module de création d’offre :

Figure 12:module de création d’offres

Page 58: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 49

14. Module liste d offre :

Figure 13:module liste d'offres

Ce module affiche a l entreprise les offres qu’elle a créé, la pagination est activé pour ce module .cette interface permet a l’entreprise de publier l’offre, de la ouvrir en mode édit

C est à dire faire appel au module d’édition d’offres pour l’éditer et de la supprimer.

Si la date d’expiration de l offre est atteinte elle sera automatiquement effacer de la base de données.

15. Module d’ edition d’ offres:

Ce module permet aux entreprises de modifier les offres y compris leurs dates d’expiration.

16. Module de consultation d’offre et postulation

Figure 14:consultation d’offre et postulation

Lorsque le candidat fait la sélection de l’une des offres, cette dernière s’ouvre en mode détaillé avec l opportunité de postuler et d avoir des détails sur l entreprise .

Page 59: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 50

Figure 15:etape1

Page 60: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 51

Figure 16:etape2

Figure 17:etape3

Page 61: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 52

A la postulation le candidat peut fourni un cv et une lettre de motivation des cv et lettres de motivation sauvegardées dans son compte.

17. Module de consultation de postulations

Figure 18:module de consultation de postulations

Ce module permet aux entreprises de consulter les postulations. La section affichera le cv et la lettre de motivation fournis par le candidat.

Page 62: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 53

Figure 19:le cv du candidat

Page 63: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 54

IV. Conclusion

Par une installation correcte du Framework DotNetNuke, on peut développer et intégrer des modules DNN. ca permet de créer des sites web entièrement personnalisés par les développeurs.

Après la maitrise du DNN, on peut programmer des modules très importants, surtout qu’ASP.NET est aujourd’hui l’outil de développement Web le plus puissant. Par suite, ca garanti une bonne place au marché pour un développeur web. Mais bien sûr, la gestion de la BD doit aussi être soumise, par le déploiement d’un SGBD puissant, tel que Microsoft SQL Server

Page 64: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 55

Conclusion générale

Ce rapport avec ses six chapitres, résume la période passée au sein de la société e-Solutions, durant mon stage de fin d’études. Sa structure est faite de telle façon à mettre en évidence l’intérêt du stage. Les chapitres suivent une logique basée sur la dégradation du général au spécifique. Ils commencent par une présentation du cadre général du stage, jusqu’à arriver aux modules DNN développés pour le site.

Avant d’arriver à cette spécificité, j’ai consacré un chapitre qui définit le Framework DotNetNuke comme étant un nouvel environnement de travail. Un deuxième chapitre étudie les outils logiciels et linguistiques que j’utilise pour manipuler DNN, la méthode proposée pour le développement des modules, ainsi que les outils de programmation qui m’ont permis de créer cette méthode.

En plus des taches effectuées au cours du stage, j’ai acquis de nouveaux concepts sur la programmation web. Je me suis rendu compte, à quel point l’expérience est capable de faire la différence entre les employés. Même si on s’y connait énormément en théorique, la pratique réserve toujours des astuces, qui accomplissent la maturité dans un domaine bien précis.

Ce stage m’a aussi offert l’occasion de mettre en œuvre des initiations acquises durant mes études passées à ISSAT Sousse, en plus d’apprendre des nouveaux outils et des langages de programmation modernes.

Dans la vie professionnelle, le temps équivaut au succès. Par conséquence, le respect des délais accordés pour les taches à effectuer, se révèle extrêmement important, car si non on ne peut pas prévenir les conséquences.

En fin, personnellement, j’ai ressenti le bien que m’a apporté ce stage de fin d’études. Dans la société d’accueil e-Solutions, j’ai pu m’emparer de taches décisives qui ont coulé vers mon intérêt.

Page 65: Développement de modules Dotnetnukepour la réalisation de site de recrutement enligne

Installation de Dotnetnuke et développement des modules

Marwen BEN MZOUGHIA Page 56

Références :

WWW.GOOGLE.COM

WWW.DOTNETNUKE.COM

WWW.CODEPLEX.COM

WWW.DOTNETNUKE.FR

WWW.CODEPROJECT.COM

WWW.ADEFWEBSERVER.COM

WWW.MICROSOFT.COM

WWW.MSDN.COM