Académique Documents
Professionnel Documents
Culture Documents
Elaboré par : Riadh KOUKI Encadré par : Mme. Fatma CHAKER KHARRAT
Mai 2010
2 Etude de l’existant 10
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 Cadre général . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Présentation générale de l’ESSAI . . . . . . . . . . . . . . . . 10
2.4 Etude de l’existant
10
2.4.1 Les Projets de Fin d’Annnée . . . . . . . . . . . . . . . 10
2.4.2 Le projet de …n d’études (PFE) : . . . . . . . . . . . . 11
2.5 Critique de l’existant . . . . . . . . . . . . . . . . . . . . . . . 14
2.6 Besoins et suggestions . . . . . . . . . . . . . . . . . . . . . . 14
3 Conception 16
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 Le modèle conceptuel de données (MCD) . . . . . . . . . . . . 16
3.2.1 Description des entités . . . . . . . . . . . . . . . . . . 19
4 Environnement du travail 22
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2 Environnement technique du travail . . . . . . . . . . . . . . . 22
4.2.1 Environnement matériel . . . . . . . . . . . . . . . . . 22
4.2.2 Environnement logiciel . . . . . . . . . . . . . . . . . . 22
6 Conclusion 41
7 Annexes 43
7.1 Annexe 1 : Code JSP asuurant la connexion à la base . . . . 43
1
Liste des …gures
2
liste des annexes
3
Remerciements
Je tiens à exprimer ma gratitude à Mme Fatma CHAKER-KHARRAT pour
ses conseils et ses encouragements pendant la période consacrée à ce
travail. Je tiens à remercier également les membres de jury qui me
font l’honneur de juger ce projet..
4
Résumé
Ce travail, qui entre dans le cadre du projet de …n de deuxième année,
consiste à concevoir et à développer un site web dynamique pour l’Ecole
Supérieure de la Statistique et de l’Analyse de l’Information de Tunis
(ESSAI). Ce site va permettre à l’ESSAI de se rapprocher davantage de ses
étudiants en leurs o¤rant la possibilité d’être au bout du …l des autres
étudiants, des enseignants et des entreprises.
Mots clés : ESSAI, site Web dynamique, Conception, gestion des projets.
5
Chapitre 1 :
Introduction
6
1 Introduction
7
Cette application représente le sujet de notre projet de …n de deuxièe
année. Le but est donc de se doter :
– D’un système de gestion de groupes (espace étudiant) : Création, par-
ticipation, inscription.
– D’un système de gestion des demandes de projets (espace étudiant,
enseignant, entreprise) : Déposer une demande, consulter la liste des
demandes déposées par tous les utilisateurs,
– D’un système de gestion administratif,
– D’un système de gestion des CV,
– D’un système de consultation des projets validés ou refusés,
– D’un système de consultation et d’envoie des e-mails,
– Véri…cation des coordonnées enregistrées à la base.
8
Chapitre 2 :
9
2 Etude de l’existant
2.1 Introduction
Dans ce chapitre, nous allons aborder la première partie du travail qui
consiste à :
– Introduire le cadre de notre travail,
– Etudier et critiquer le système actuellement utilisé au sein de l’école,
– Proposer des améliorations possibles.
10
sujets portent généralement sur les concepts développées en cours. Seuls les
étudiants de première et deuxième année sont concernés par les sujets de
PFA.
11
Ces projets doivent être a¢ chés aux étudiants.
– Cas de projets industriels :
Un projet industriel se déroule généralement dans une Entreprise.
L’étudiant contacte les responsables de l’Entreprise pour un éventuel stage.
Le projet proposé est étudié par une commission, composée des enseignants
de l’ESSAI.
Si le stage est conforme aux capacités de l’élève ingénieur, une lettre
d’a¤ectation de stage est remise au stagiaire qui, à son tour, doit la remettre
au responsable d’Entreprise.
Un enseignant de l’ESSAI assurant l’encadrement du projet est ensuite
a¤ecté au projet.
12
- la di¤usion aux étudiants et aux enseignants des consignes (contenu
attendu du rapport, nature exacte d’une soutenance, comportement attendu
d’un enseignant visitant un stagiaire. . . ).
- la gestion des calendriers des soutenances des projets, avec di¤usion de
ceux-ci auprès des enseignants et des étudiants.
- la gestion des documents après stage (…che appréciation de l’entreprise,
…che évaluation du stage, rapport)
13
2.5 Critique de l’existant
L’étude de l’existant nous a conduit à noter quelques insu¢ sances dans
le système actuel de l’ESSAI causés principalement par le manque de com-
munication et de circulation de l’information entre les di¤érents acteurs.
En e¤et, nous avons remarqué :
- Vu le volume important des documents administratifs, le respon-
sable trouve des di¢ cultés dans la recherche d’informations ou de documents.
- Absence d’un moyen pratique qui peut aider l’étudiant à chercher
un organisme qui l’accueille pour son stage.
- Il n’y a pas un moyen de communication pratique entres les étudiants
et les entreprises et entre les entreprises et l’ESSAI.
- L’étudiant trouve des di¢ cultés pour contacter les enseignants pour
s’informer sur les projets proposés.
- L’a¤ectation de projet se fait d’une manière arbitraire qui conduit
souvent à des problèmes. C’est le cas d’un sujet choisi par plusieurs groupes
ou le cas de l’a¤ectation d’un même groupe à deux enseignants di¤érents.
14
Chapitre 3 :
Conception
15
3 Conception
3.1 Introduction
A…n de modéliser le Système d’Information de notre application, nous
avons adopté la méthodologie de conception des systèmes d’information "
MERISE " qui propose une démarche séparant l’étude des données de celle
des traitements en avançant progressivement par niveau.
Chacun de ces niveaux a pour objectif de fournir un certain nombre de
documents qui sont indispensables à l’élaboration et la concertation autour
de tout projet informatique".1
1
Cours de "Conception et modélisation des systèmes d’informations" (2ème année)
enseigné par Mme. Fatma Chaker
16
Figure 1 : Modèle Conceptuel des Données
17
Figure 2 : Modèle Physique des Données
18
3.2.1 Description des entités
Après avoir élaboré notre MCD, on va focaliser sur la présentation des
principales entités impliquées dedans qui sont en fait l’entité : "étudiant",
"enseignant" et "entreprise".
L’entité "Etudiant"
L’entité "Enseignant"
19
L’entité «Enseignant» est caractérisée par un identi…ant, le numéro d’ins-
cription, le nom, le prénom, l’adresse, le téléphone, l’adresse mail, la grade,
le pays et la Faculté.
Cette entité permet en fait de :
– Ajouter un nouvel enseignant,
– Modi…er un enseignant existant,
– Supprimer un enseignant,
– Publier une proposition de projet,
– A¢ cher toutes les informations concernant un enseignant donné.
L’entité "Entreprise"
20
Chapitre 4 :
Réalisation
21
4 Environnement du travail
4.1 Introduction
A…n de mettre en route notre site, on va s’intéresser tout d’abord à la
dé…nition de l’environnement du travail et on présentera par la suite les
principales interfaces de notre site.
Le serveur Web
Notre serveur web adopté par NetBeans IDE 6.5 est Apache.
22
NetBeans IDE 6.5
NetBeans est à l’origine un EDI Java. Il fut développé à l’origine par une
équipe d’étudiants à Prague, racheté ensuite par Sun Microsystems. Quelque
part en 2002, Sun a décidé de rendre Netbeans open-source.
Mais Netbeans n’est pas uniquement un EDI Java. C’est également une
plateforme, vous permettant d’écrire vos propres applications Swing. Sa concep-
tion est complétement modulaire : Tout est module, même la plateforme. Ce
qui fait de Netbeansune boite à outils facilement améliorable ou modi…able.
La license de Netbeans permet de l’utiliser gratuitement à des …ns com-
merciales ou non. Elle permet de développer tout types d’applications basées
sur la plateforme Netbeans. Les modules que vous pourriez écrire peuvent
être open-source comme ils peuvent être closed-source, ils peuvent être gra-
tuits comme ils peuvent être payants.2
Netbeans est téléchargeable gratuitement sur son site o¢ ciel www.netbeans.org.
Via NetBeans, on est arrivé a concevoir nos pages tout en utilisant le
langage HTML, JSP et Javascript.
HTML
L’Hypertext Markup Language, généralement abrégé HTML, est le for-
mat de données conçu pour représenter les pages web. C’est un langage de
balisage qui permet d’écrire de l’hypertexte, d’où son nom. HTML permet
également de structurer sémantiquement et de mettre en forme le contenu
des pages, d’inclure des ressources multimédias dont des images, des formu-
laires de saisie, et des éléments programmables tels que des applets. Il permet
de créer des documents inter opérables avec des équipements très variés de
manière conforme aux exigences de l’accessibilité du web. Il est souvent uti-
lisé conjointement avec des langages de programmation (JavaScript) et des
formats de présentation (feuilles de style en cascade). HTML est initialement
dérivé du Standard Generalized Markup Language (SGML).3
JSP
Les JSP (Java Server Pages) sont un standard permettant de développer
des applications Web interactives, c’est-à-dire dont le contenu est dynamique.
C’est-à-dire qu’une page web JSP (repérable par l’extension .jsp) aura un
contenu pouvant être di¤érent selon certains paramètres (des informations
stockées dans une base de données, les préférences de l’utilisateur,...) tan-
2
Source : www.netbeans.org
3
Source : wikipédia.org
23
dis que page web "classique" (dont l’extension est .htm ou .html) a¢ chera
continuellement la même information.
Il s’agit en réalité d’un langage de script puissant (un langage interprété)
exécuté du côté du serveur (au même titre que les scripts CGI,PHP,ASP,...)
et non du côté client (les scripts écrits en JavaScript ou les applets Java
s’exécutent dans le navigateur de la personne connectée à un site).
Les JSP sont intégrables au sein d’une page Web en HTML à l’aide de
balises spéciales permettant au serveur Web de savoir que le code compris à
l’intérieur de ces balises doit être interprété a…n de renvoyer du code HTML
au navigateur du client.
Ainsi, les Java Server Pages s’inscrivent dans une architecture 3-tier, ce
terme compliqué signi…e qu’un serveur supportant les Java Server Pages peut
servir d’intermédiaire (on parle généralement de serveur applicatif) entre le
navigateur du client et une base de données (on parle généralement de serveur
de données) en permettant un accès transparent à celle-ci. JSP fournit ainsi
les éléments nécessaires à la connexion au système de gestion de bases de
données, à la manipulation des données grâce au langage SQL.4
Javascript
Le Javascript est un langage de script incorporé dans un document HTML.
Historiquement il s’agit même du premier langage de script pour le Web. Ce
langage est un langage de programmation qui permet d’apporter des amélio-
rations au langage HTML en permettant d’exécuter des commandes du côté
client, c’est-à-dire au niveau du navigateur et non du serveur web.
Ainsi le langage Javascript est fortement dépendant du navigateur appe-
lant la page web dans laquelle le script est incorporé, mais en contrepartie il
ne nécessite pas de compilateur, contrairement au langage Java, avec lequel
il a longtemps été confondu.5
4
Source : www.commentçamarche.net
5
Source : www.commentçamarche.net
24
5. Description de la solution développée
Dans cette partie, nous allons présenter les interfaces les plus importantes de notre
site tout en expliquant leurs utilités et leurs fonctionnement.
Cette la première page de notre site. Elle permet d’accéder aux différentes
fonctionnalités développées. La bannière utilisée dans toutes les pages du site a été
conçue par une ancienne étudiante à l’ESSAI [Amal Teieb, 2009].
25
5.2 Accueil
Cette page est accessible par tous les internautes désirant avoir des informations sur
l’ESSAI. Mise à part les espaces étudiants, enseignants, entreprises et administrateurs
qui sont accessibles qu’après authentification, cette page contient des liens vers des
informations d’ordre général telles que la présentation de l’ESSAI, le mot du directeur,
le plan de formation, etc. Elle informe aussi tous les visiteurs de toutes les nouveautés
de l’ESSAI à travers l’espace « Agenda » qui est mis à jour quotidiennement par
l’administrateur.
26
5.3 Authentification
Figure 5 : Authentification
Une fois authentifié, chaque étudiant peut accéder à son propre compte pour exécuter
les diverses fonctionnalités offertes (Figure 6), à savoir :
S’inscrire à un groupe
Déposer un CV
Déposer une demande de projet
Consulter la liste des projets proposés
27
Consulter la liste des projets validés
Consulter l’historique des projets réalisés
Envoyer un email
Vérifier ses coordonnées.
28
Consulter / Former / S’inscrire à un groupe
- Former un groupe
Chaque étudiant peut créer un nouveau groupe en lui attribuant un code unique. Une fois
crée, le groupe contiendra comme premier membre la personne créatrice du groupe.
29
- Consulter la liste des groupes : chaque étudiant peut consulter la liste
des groupes crées. En saisissant le code du groupe le système affiche
le(s) membre(s) inscrit(s) à ce groupe. C’est ensuite au choix de
l’étudiant de rejoindre les membres du groupe ou pas.
30
Déposer un CV :
Chaque étudiant peut déposer son CV. Ce dernier peut être consulté aussi bien par les
enseignants de l’ESSAI que par les entreprises.
Fenêtre « projets »
A partir de son espace, chaque étudiant peut déposer une demande de projet, consulter la
liste des projets proposés aussi bien par les enseignants que par les entreprises, savoir la
décision prise pour n’importe quel projet et enfin consulter l’historique des projets validés
et refusés.
31
Figure 12 : Déposer une demande de projet
- Consulter la liste des projets proposés : chaque étudiant peut consulter la liste des
projets proposés aussi bien par d’autres étudiants, ou encore par des enseignants ou par
des entreprises. A titre d’exemple, la Figure 14 illustre le cas des sujets proposés par un
32
enseignant. Pour cela, l’étudiant doit choisir la nature du projet et préciser le nom de
l’enseignant responsable. Le système affichera la liste des projets proposés par
l’enseignant concerné.
33
Envoyer un e-mail : afin de faciliter la communication entre les différents acteurs
nous avons mis en place un système permettant l’échange d’informations à travers des
emails.
34
Vérification de ses coordonnées personnelles
Cette fonctionnalité permet à l’étudiant de consulter ses coordonnées enregistrées dans la
base et d’informer l’administrateur en cas de modification (adresse, email, etc.).
Remarque : Toutes ces fonctionnalités ont été développées pareillement aussi bien pour
les espaces enseignants que pour les entreprises à l’exception des fonctionnalités
« Déposer CV » qui a été modifiée par « Consulter CV » et « s’inscrire à un groupe » qui a
été enlevée des deux espaces enseignants et entreprise.
35
Figure 19: Page d’accueil de l’Espace administrateur
A titre d’exemple, la Figure 20 illustre l’ajout des informations étudiants. Tous les
contrôles nécessaires ont été réalisés, à savoir :
Le nom et le prénom d’un étudiant doivent être de type alphabétique
Contrôle des dates.
Le CIN doit être numérique et composé de 8 chiffres
Respect du format d’écriture de l’adresse email.
Etc.
36
- L’administrateur peut aussi modifier ou supprimer un étudiant
37
- Consulter / Supprimer une demande de projet
38
Chapter 5 :
Conclusion
40
6 Conclusion
Partant de nos modestes connaissances en création des sites web dyna-
miques, notre objectif était de pro…ter des technologies et des logiciels dispo-
nibles a…n de mettre en application les di¤érentes techniques de conception
et de gestion des bases de données acquises lors de notre deuxième année de
formation dans le but de concevoir un site web dynamique pour notre école.
Nous tenons à noter que s’il n’y avait pas peu de temps pour la remise de
ce projet, nous aurions pu écarter notre travail en ajoutant des comptes pour
la gestion et l’organisation des soutenances et même d’ajouter un forum de
discussion pour les étudiants de l’ESSAI..
41
Annexes
42
7 Annexes
7.1 Annexe 1 : Code JSP asuurant la connexion à la
base
<%@page import="java.sql.*"%>
<%@page import="java.io.*"%>
<%@page import="java.util.*"%>
<%@page import="java.lang.String"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html ; charset=UTF-
8">
<title>JSP Page</title>
</head>
<body>
<h1 action="" method="post"/>
<%
< !–dé…nition et initialisation des variables–>
< !–Lecture des valeurs introduites par le client –>
Connection conn = null ;
String url = "jdbc :oracle :thin :@127.0.0.1 :1521 :" ;
String dbName = "XE" ;
String driver = "oracle.jdbc.driver.OracleDriver" ;
String userName = "nom du compte sur Oracle" ;
String password = "mot de passe Oracle" ;
Statement st ;
try {
Class.forName(driver) ;
conn = DriverManager.getConnection(url + dbName, userName, pass-
word) ;
System.out.println("driverOracle : " + driver) ;
System.out.println("dsnOracle : " + url + dbName) ;
String query = "Requête SQL ou PL/SQL" ;
st = conn.createStatement() ;
st.executeUpdate(query) ;
%>
<%
} catch (Exception e) {
e.printStackTrace() ;
43
String s ;
s = e.getMessage() ;
}
%>
<script>
alert (’enregistrement réussi’) ;
</script>
</body>
</html>
44