SlideShare une entreprise Scribd logo
La mise en place d’un forum de discussion
Université Mohammed V-Rabat
Ecole Nationale Supérieure d’Informatique et
d’Analyse des Systèmes
RAPPORT DE PROJET DE
FRAMEWORKS JEE
Sujet :
LABOS-FORUM
Forum de discussion pour
Labos de recherche d’UM5S
Réalisé par :
- KANGA Dominique Bernard
- NIDABRAHIM Youssef
Encadré par :
- Mr. Mahmoud EL HAMLAOUI
Année universitaire 2016 - 2017
La mise en place d’un forum de discussion
Remerciements
Avant d’entamer ce rapport de projet de Java entreprise édition (JEE),
on tient à exprimer nos sincère gratitudes envers tous ceux qui nous
ont aidé ou ont participé au bon déroulement de ce projet.
Nos sincères remerciements à Monsieur MAHMOUD EL
HAMLAOUI, notre encadrant durant le déroulement de
ce projet, pour sa générosité, sa disponibilité permanente, son guide
et ses conseils son aide inestimable.
La mise en place d’un forum de discussion
Table des matières
Remerciements..................................................................................................2
Liste des abréviations......................................................................................... 4
Table des figures ................................................................................................ 5
Introduction générale ........................................................................................ 6
Présentation du projet ...................................................................................... 7
1. Objectif du projet...................................................................................... 8
2. Spécification des besoins fonctionnels et non fonctionnels ...................... 8
Analyse et conception ..................................................................................... 10
1. Analyse des cas d’utilisation.................................................................... 11
2. Modèle conceptuel de données.............................................................. 11
Environnement et outils de travail.................................................................. 13
1. Outils de travail......................................................................................... 14
1.1. Outils de conception.............................................................................................................. 14
1.2. Outils de développement...................................................................................................... 14
1.3. Choix de serveurs ................................................................................................................... 14
2. Framework et Technologies ...................................................................... 17
1.1. Java Entreprise Edition J2ee .................................................................................................. 17
1.2. Framework JSF........................................................................................................................ 17
1.3. Framework Hibernate ............................................................................................................ 17
1.4. HTML...................................................................................................................................... 19
1.5. CSS ......................................................................................................................................... 19
Réalisation et mise en œuvre.......................................................................... 20
Apport du projet.............................................................................................. 23
1. Apports scientifiques et techniques........................................................ 24
2. Apport sur la formation pédagogique..................................................... 24
3. Apport personnel.................................................................................... 24
Conclusion et Perspectives.............................................................................. 25
La mise en place d’un forum de discussion
Liste des abréviations
Abréviation Désignation
UML Unified Modeling Language
IDE Integrated Development Environment
MCT Modèle conceptuel de traitement
J2EE Java 2 Entreprise Edition
JSP Java Server Page
MCD Modèle Conceptuel des Données
MLD Modèle Logique des Données
HTML HyperText Markup Language
CSS Feuilles de Style en Cascade
AJAX Asynchronous JavaScript and XML
MOT Modèle organisationnel de traitement
La mise en place d’un forum de discussion
Table des figures
Figure 1: Use case ............................................................................................ 11
Figure 5 : MCD.................................................................................................. 12
Figure 2 : Architecture 3-tiers........................................................................... 15
Figure 3 : Page des problèmes.......................................................................... 21
Figure 4 : Page des sous problèmes.................................................................. 21
Figure 5 : Page d'ajout d'un nouveau problème............................................... 22
Figure 6 : Page problème avec des solutions.................................................... 22
La mise en place d’un forum de discussion
Introduction générale
L'évolution des technologies de l'information et de la communication est à
l'origine du regain de la notion de système d´information. Le média internet se
révèle pratique pour amorcer un dialogue entre les membres d’un laboratoire.
Le projet qu’on présente, qui s’inscrit dans le cadre de notre projet
académique de plateforme de développement, aborde précisément un
système qui permet de faciliter la recherche des solutions à des problèmes bien
déterminés et cela sous forme de forum.
On présente dans ce rapport les différentes étapes suivies pour la réalisation
de ce projet. Il est axé sur quatre grandes parties. On a commencé par une
étude préliminaire qui consiste à préciser de façon claire les objectifs du projet
ainsi que son contexte. Ensuite vient la phase d’étude détaillée, à ce stade on
a spécifié ce qui doit être réalisé pour atteindre l’objectif dont vient
l’élaboration du cahier des charges. Puis on a entamé la phase d’analyse afin
de modéliser les besoins fonctionnels en réalisant quelques diagrammes à
savoir le diagramme des cas d’utilisation et le diagramme de classe. Après on
a réalisé une étude conceptuelle en élaborant les diagrammes MCD et MLD.
Enfin vient la phase de réalisation qui permet la construction du projet.
La mise en place d’un forum de discussion
CHAPITRE
I Présentation du
projet
La mise en place d’un forum de discussion
Introduction
Le présent chapitre a pour but de définir le projet. On procède dans un premier
temps à déterminer les objectifs de ce projet ensuite à détailler ses besoins
fonctionnels.
1. Objectif du projet
Le but de notre projet est d'implémenter un forum. Un forum est un espace de
discussion publique, au moins ouvert à plusieurs participants, afin de partager
des informations et des thèmes de discussion avec d'autres personnes.
Il a été conçu dans le cadre d'un projet de frameworks JEE.
Cette solution sera mise en place vue que les nouvelles techniques de
l’information et de la communication prennent de plus en plus d’importance
dans tous les secteurs, et s’avèrent aujourd’hui être indispensables pour faciliter
et bien gérer le bon déroulement d’un projet et trouver des solutions à des
problèmes.
2. Spécification des besoins fonctionnels et non
fonctionnels
Ce projet s’agit bien d’une application de la gestion des projets qui vise à
faciliter et bien gérer le bon déroulement d’un projet et trouver des solutions à
des problèmes. Une telle gestion exige rigueur et méthode, donc l’application
doit être accessible en permanence, depuis n’importe quel ordinateur
connecté à Internet.
L’application doit être dynamique dans tous les sens du terme et avoir une
navigation simple en respectant les bonnes pratiques permettront aux
membres de laboratoire de trouver facilement les informations recherchées
ainsi que les éléments essentiels qui doivent être visibles et accessibles.
L’application doit être sécurisé, fiable et les données doivent être facilement
accessible et disponible.
Le but de notre projet est d'implémenter un forum qui est un espace de
discussion ouvert à plusieurs participants, des membres de laboratoire afin de
partager des informations et des problèmes à résoudre avec d'autres
personnes.
L'ensemble des discussions est généralement visible par ses participants, et
éventuellement par les membres du forum ou même par tous les internautes.
La mise en place d’un forum de discussion
Cette plateforme aide les personnes à partager leurs connaissances. Les
personnes ayant des questions obtiennent les réponses dont elles ont besoin.
La plateforme est enrichie par des commentaires, des votes, des notifications,
des points et des classements.
Le forum de discussion affiche tout d'abord les discussions les plus récentes,
ainsi que le nombre de réponses pour chaque discussion. Vous pouvez ainsi
savoir rapidement quelles sont les discussions les plus voté positivement ou
négativement.
On distingue deux possibilités de présentation des messages :
- Un modèle chronologique, où chaque message est au même niveau et
ne fait que suivre ou précéder un autre message dans le temps.
- Un modèle hiérarchique, où chaque message est vu comme une
réponse à un message antérieur.
Nous allons pour ce projet réaliser un forum selon un modèle chronologique
organisé en sujets avec des fonctionnalités simplifiées.
La mise en place d’un forum de discussion
CHAPITRE
IIAnalyse et
conception
La mise en place d’un forum de discussion
1. Analyse des cas d’utilisation
Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés pour
donner une vision globale du comportement fonctionnel d'un système logiciel.
Les cas d’utilisation « use cases » permettent de structurer les besoins des
utilisateurs aussi bien qu’ils expriment les exigences du système vis-à-vis des
utilisateurs en partent du principe que les objectifs du système sont tous
motivés. Les cas d’utilisation permettent ainsi de classer les acteurs et structurer
les objectifs du système.
Ci-dessous le diagramme de cas d’utilisation général :
Figure 1: Use case
2. Modèle conceptuel de données
La mise en place d’un forum de discussion
Figure 2 : MCD
La mise en place d’un forum de discussion
CHAPITRE
IIIEnvironnement et
outils de travail
La mise en place d’un forum de discussion
Introduction
Dans cette partie, je vais présenter l’environnement matériel et logiciel utilisés
pour le développement de notre solution proposé.
J’expliquerai éventuellement mes choix techniques relatif aux langages de
programmation.
1. Outils de travail
1.1. Outils de conception
PowerAMC est un logiciel de conception qui permet de modéliser les
traitements informatiques et leurs bases de données associées. Il se destine aux
architectures de données, aux architectures d’informations et aux
architectures d’entreprise.
1.2. Outils de développement
Eclipse est un IDE dédié au développement de logiciels basés sur Java (bien
que d’autres langages soient supportés également).
1.3. Choix de serveurs
Nous sommes en train de réaliser une application qui se connecte à un serveur
de bases de données distant, via Internet, afin de récupérer les données. Ce
qui nécessite aussi l’intégration d’un serveur entre l’application client et le
serveur de bases de données.
D’où l’architecture de notre application est à 3 niveaux (architecture 3-tiers),
elle est partagée entre:
- L'utilisateur : Conteneur d’application et demandeur de ressources.
- Le serveur : Vu que les données seront communiquées entre deux
environnements hétérogènes, le rôle principal du serveur est de gérer la
communication entre l'utilisateur et la base de données.
- La base de données fournis les données au serveur.
La mise en place d’un forum de discussion
Figure 3 : Architecture 3-tiers
 Serveur de base de données
Un serveur de base de données entièrement intacte et hautement disponible
est essentiel à toute application web.
Un serveur de base de données sert à stocker, à extraire et à gérer les données
dans une base de données. Il permet également de gérer la mise à jour des
données. Il donne un accès simultané à cette base à plusieurs serveurs Web et
utilisateurs. Enfin, il assure la sécurité et l’intégrité des données. Et quand on
parle de données, on entend peut-être des millions d’éléments simultanément
accessibles à des milliers d’utilisateurs.
MySQL est la base de données la plus populaire en hébergement Web. Il s’agit
d’une option puissante, tout en étant gratuite, très en vogue.
MySQL est fréquemment utilisé avec une interface de gestion appelée
phpmyadmin qui permet à un non-initié de générer des requêtes sql sur une
base de données dans un espace ergonomique et intuitif.
 Serveur web
Un serveur web peut faire référence à des composants logiciels (software) ou
à des composants matériels (hardware) ou à des composants logiciels et
matériels qui fonctionnent ensemble.
Au niveau des composants matériels, un serveur web est un ordinateur qui
stocke les fichiers qui composent un site web (par exemple les documents
HTML, les images, les feuilles de style CSS, les fichiers JavaScript) et qui les envoie
à l'appareil de l'utilisateur qui visite le site. Cet ordinateur est connecté à
Internet et est généralement accessible via un nom de domaine.
La mise en place d’un forum de discussion
Au niveau des composants logiciels, un serveur web contient différents
fragments qui contrôlent la façon dont les utilisateurs peuvent accéder aux
fichiers hébergé. On y trouvera un serveur HTTP.
Un serveur HTTP est un logiciel qui comprend les URL et le protocole HTTP (le
protocole utilisé par le navigateur pour afficher les pages web). Le plus connu
est Apache qu’on va l’utiliser.
Au niveau le plus simple, à chaque fois qu'un navigateur a besoin d'un fichier
hébergé sur un serveur web, le navigateur demande (on dit qu'il envoie une
requête) le fichier via HTTP. Quand la requête atteint le bon serveur web
(matériel), le serveur HTTP (logiciel) renvoie le document demandé, également
grâce à HTTP.
Le plus souvent, un serveur Web utilise d'autres logiciels qui fonctionnent en
collaboration avec le serveur HTTP. Selon les besoins, certains services
gourmands en ressources, comme le serveur de base de données, peuvent
être situés sur la même machine ou un serveur spécialisé.
C’est pour cela qu’on va utiliser WampServer, une plateforme de
développement Web de type WAMP, permettant de faire fonctionner
localement, sans se connecter à un serveur externe, des scripts PHP.
La mise en place d’un forum de discussion
WampServer n'est pas en soi un logiciel, mais un environnement comprenant
un serveur http Apache et un serveur de base de données MySQL, un
interpréteur de script (PHP), ainsi que phpMyAdminpour l'administration Web
des bases MySQL.
2. Framework et Technologies
1.1. Java Entreprise Edition J2ee
Java Enterprise Edition ou Java EE (anciennement J2EE), est une spécification
pour la technique java d'Oracle plus particulièrement destinée aux
applications d’entreprise. Ces applications sont considérées dans une
approche multi-niveaux.
1.2. Framework JSF
JSF ou Java Server faces est un framework Java pour le développement
d’applications web. JSF est basé sur la notion de composants. Java Server
Faces (JSF) est une technologie dont le but est de proposer un framework qui
facilite et standardise le développement d'applications web avec Java. Son
développement a tenu compte des différentes expériences acquises lors de
l'utilisation des technologies standard pour le développement d'applications
web (servlet, JSP, JSTL) et de différents frameworks (Struts, ...).
Le grand intérêt de JSF est de proposer un framework qui puisse être mis en
oeuvre par des outils pour permettre un développement de type RAD pour les
applications web et ainsi faciliter le développement des applications de ce
type. Ce type de développement était déjà courant pour des applications
standalone ou clients/serveurs lourds avec des outils tels que Delphi de Borland,
Visual Basic de Microsoft ou Swing avec Java.
1.3. Framework Hibernate
Hibernate est un framework qui gère la persistance des objets en base de
données. Ce projet ne repose sur aucun standard mais il est populaire
La mise en place d’un forum de discussion
notamment grâce à ses bonnes performances et son ouverture avec de
nombreuses bases de données.
Architecture de Hibernate :
L'utilisation de Hibernate présente plusieurs avantages et inconvénients
Les avantages :
o Hibernate génère le code SQL nécessaire, ce qui rend l'application plus
portable, s'adapte à la base de données.
o La persistance est transparente. Vous pouvez faire de vos classes
métiers des classes persistantes sans ajout de code.
o La récupération de données est optimisée. On peut interroger la base
de données de plusieurs façons (Requête SQL, langage HQL...).
o Portabilité du code en cas de changement de la base de données.
Les inconvénients
o Il est dure de faire des requêtes complexe avec HQL (ex: sous requêtes)
o Etant une technologie jeune, il reste des problèmes à résoudre (ex: les
fichiers de mapping ne sont pas toujours bien formés).
o Ne se base pas sur les standards.
Avant de commencer, il faut copier les librairies des modules Hibernate Core
et Annotations dans le répertoire lib avant de le spécifier à Eclipse en cliquant
droit sur le projet dans le package explorer qui ouvre un menu contextuel : nous
ouvrons Build path, Configure Build path. Nous cliquons sur l’onglet Libraires,
puis sur le bouton add JARS. Il suffit ensuite d’ajouter toutes les bibliothèques
La mise en place d’un forum de discussion
du module Core et toutes celles du module Annotations. Il ne faut pas oublier
d’ajouter aussi la bibliothèque associée au SGBD qu’on souhaite utiliser.
Nous passons ensuite à la création du fichier de configuration XML
hibernate.cfg.xml à la racine du répertoire src du projet qui va permettre
d’indiquer au moteur d’Hibernate les paramètres de connexion à la base de
données et les drivers à utiliser. Il faut déclarer les packages et les classes
annotées dans le fichier de configuration XML habituel (hibernate.cfg.xml).
1.4. HTML
L’HyperText Mark up Langage, généralement abrégé HTML, est le format de
données conçu pour représenter les pages web. C’est un langage de balisage
permettant d’écrire de l’hypertexte, d’où son nom.
1.5. CSS
Les feuilles de style en cascade, généralement appelées CSS de l'anglais
Cascading Style Sheets, forment un langage informatique qui décrit la
présentation des documents HTML et XML.
Conclusion
Tous projets informatiques nécessitent la connaissance des outils à utiliser et
nous avons jugé bon de choisir les outils énoncés précédemment.
La mise en place d’un forum de discussion
CHAPITRE
IVRéalisation et
mise en œuvre
La mise en place d’un forum de discussion
INTRODUCTION
Ce chapitre est consacré à la phase de la réalisation du projet. Il aborde
quelques interfaces de notre plateforme Forum.
Figure 4 : Page des problèmes
L’internaute qui arrive sur le site va être capable de voir l’ensemble des
statistiques fournées à savoir le nombre des problèmes posés, le nombre des
solutions proposées ainsi que le nombre de membres de forum, en plus de ça
un membre peut facilement consulter les nouvelles publications, avoir une idée
sur les problèmes sans solutions.
Figure 5 : Page des sous problèmes
La mise en place d’un forum de discussion
Figure 6 : Page d'ajout d'un nouveau problème
Figure 7 : Page problème avec des solutions
La mise en place d’un forum de discussion
CHAPITRE
V Apport du
projet
La mise en place d’un forum de discussion
Ce projet est une bonne expérience, il nous a apporté beaucoup de choses
tant au niveau technique qu’en terme de gestion de projet.
1. Apports scientifiques et techniques
Ce projet nous a permis de découvrir le monde du développement
informatique, un monde complexe mais passionnant de par les débouchés
auxquels il mène. Nous avons également acquis de nouvelle notion sur les
différentes plateformes de développement. Les acquis de ce projet nous
serviront dans le futur.
2. Apport sur la formation pédagogique
Ce projet nous a permis de consolider nos connaissances sur le langage JEE et
ses frameworks. Nous sommes satisfaits d’avoir choisi ce sujet car nous
répondons à une problématique.
3. Apport personnel
Chaque membre de l’équipe a eu des apports personnels durant le projet.
 NIDABRAHIM YOUSSEF :
« Expérience intéressante qui m’a permis de coréaliser un projet abouti et qui
m’a appris à être plus à l’écoute des autres. Que du positif, expérience à
renouveler »
 KANGA DOMINIQUE BERNARD :
« Bon travail, bonne ambiance de groupe. Que d’émotion et de souvenir
inoubliable, très bonne expérience à renouveler »
CONCLUSION
Nous sommes en général satisfaits de tous ce que nous avons appris à travers
ce projet.
La mise en place d’un forum de discussion
Conclusion et Perspectives
L’objectif visé à travers ce rapport est de présenter l’application réalisée qui
s’inscrit dans le cadre de notre projet académique de plateforme de
développement, ce projet consiste à concevoir et à développer une
plateforme de forum qui permet de mettre en relation entre les membres de
laboratoire d’UM5S pour faciliter la recherche des solutions à des problèmes
rencontrés.
Au cours de ce travail, on a consacré, dans un premier temps, nos réflexions à
l’étude de l’existant et la spécification des besoins. Cette étude nous a permis
de déterminer les grands axes qu’on va suivre pour concevoir cette solution.
Une phase de conception détaillée à précéder l’implémentation de ce projet.
En effet, on a pu développer une application qui répond aux exigences
soulignés pendant l’analyse et la conception.
De l’avis général, nous avons consolidé nos connaissances générales et appris
à faire des applications plus attrayantes et plus orientées pour le monde du
travail. Nous sommes globalement satisfaits de ce que nous avons réalisé.
Au niveau de la gestion du projet en équipe, nous avons réussi à bien nous
répartir les tâches afin de réaliser nos objectifs dans les temps et l'ambiance
générale du groupe était très bonne. Une bonne expérience à renouveler.

Contenu connexe

Tendances

Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
Ayoub Mkharbach
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...
Mohamed Boubaya
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Yasmine Lachheb
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
Nassim Bahri
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
Donia Hammami
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
Rouâa Ben Hammouda
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboard
Siwar GUEMRI
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Anas Riahi
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
Hosni Mansour
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Raoua Bennasr
 
Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8 Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8
ayoub damir
 
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Ghali Rahma
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
Mohamed Ayoub OUERTATANI
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Ramzi Noumairi
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
Amir Souissi
 
Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdf
AchrafAntri2
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Sofien Benrhouma
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
Rim ENNOUR
 
Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)
Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)
Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)
Yasmine Tounsi
 
Conception et réalisation d'une application mobile cross-platform "Taki Academy"
Conception et réalisation d'une application mobile cross-platform "Taki Academy"Conception et réalisation d'une application mobile cross-platform "Taki Academy"
Conception et réalisation d'une application mobile cross-platform "Taki Academy"
Ibtihel El Bache
 

Tendances (20)

Rapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbachRapport pfe-ayoub mkharbach
Rapport pfe-ayoub mkharbach
 
Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...Conception et developpement d'un site web pour la suggestion et notification ...
Conception et developpement d'un site web pour la suggestion et notification ...
 
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
Rapport de projet de conception et de développement
Rapport de projet de conception et de développementRapport de projet de conception et de développement
Rapport de projet de conception et de développement
 
Rapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learningRapport- Conception et réalisation d'une plateforme social learning
Rapport- Conception et réalisation d'une plateforme social learning
 
Rapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboardRapport de stage boite à idées innovantes avec dashboard
Rapport de stage boite à idées innovantes avec dashboard
 
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
Rapport PFE : Réalisation d'une application web back-office de gestion pédago...
 
Rapport Projet de Fin d'Etudes
Rapport Projet de Fin d'EtudesRapport Projet de Fin d'Etudes
Rapport Projet de Fin d'Etudes
 
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
Rapport pfe Conceptionet Developpement d'une Application web et  Mobile Rapport pfe Conceptionet Developpement d'une Application web et  Mobile
Rapport pfe Conceptionet Developpement d'une Application web et Mobile
 
Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8 Rapport de stage pfe odoo 8
Rapport de stage pfe odoo 8
 
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
Rapport-PFE2013-RahmaGhali-Gestion des Candidatures(Jaas,Primefaces,JFS2,JPA)
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
 
diagramme de séquence UML
diagramme de séquence UMLdiagramme de séquence UML
diagramme de séquence UML
 
Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdf
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 
Projet Fin D'étude Application Mobile
Projet Fin D'étude Application MobileProjet Fin D'étude Application Mobile
Projet Fin D'étude Application Mobile
 
Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)
Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)
Rapport Projet ERP - Plateforme Odoo 12 (PFE Licence)
 
Conception et réalisation d'une application mobile cross-platform "Taki Academy"
Conception et réalisation d'une application mobile cross-platform "Taki Academy"Conception et réalisation d'une application mobile cross-platform "Taki Academy"
Conception et réalisation d'une application mobile cross-platform "Taki Academy"
 

Similaire à Développement d'un forum de discussion

Cahier de charges Site web DRUPAL
Cahier de charges Site web DRUPALCahier de charges Site web DRUPAL
Cahier de charges Site web DRUPAL
Laribi Aicha
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
Sid Ahmed Benkraoua
 
Hamdaoui abdelilah
Hamdaoui abdelilahHamdaoui abdelilah
Hamdaoui abdelilah
Moez Moezm
 
Collecte des données métiers et constitution d'un entrepôt centrale
Collecte des données métiers et constitution d'un entrepôt centraleCollecte des données métiers et constitution d'un entrepôt centrale
Collecte des données métiers et constitution d'un entrepôt centrale
oussama Hafid
 
Présentation FADEL Wiam sur le nlp et machine learning
Présentation FADEL Wiam sur le nlp et machine learningPrésentation FADEL Wiam sur le nlp et machine learning
Présentation FADEL Wiam sur le nlp et machine learning
WiamFADEL
 
Plonegov projet egov
Plonegov projet egov Plonegov projet egov
Plonegov projet egov
HORIYASOFT
 
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed AmineRapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Mohamed Amine Mahmoudi
 
Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Rapport de pfe format doc 2013
Rapport de pfe format doc 2013
Addi Ait-Mlouk
 
Gestion des contrats assistances
Gestion des contrats assistancesGestion des contrats assistances
Gestion des contrats assistances
saadhamzaoui
 
Gestion des contrats assistances
Gestion des contrats assistancesGestion des contrats assistances
Gestion des contrats assistances
saadhamzaoui
 
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
Ardesi Midi-Pyrénées
 
Cours tic complet
Cours tic completCours tic complet
Cours tic complet
sofixiito
 
LMS : faire le choix de l'open source - Forum elearning Tunisie 2013
LMS : faire le choix de l'open source - Forum elearning Tunisie 2013LMS : faire le choix de l'open source - Forum elearning Tunisie 2013
LMS : faire le choix de l'open source - Forum elearning Tunisie 2013
Jean-Luc Peuvrier
 
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptxChapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
ssuserec8501
 
Liste des nouvelles acquisitions 2013
Liste des nouvelles acquisitions 2013Liste des nouvelles acquisitions 2013
Liste des nouvelles acquisitions 2013
CNI Tunisia
 
Rapport PFE: PIM (Product Information Management) - A graduation project repo...
Rapport PFE: PIM (Product Information Management) - A graduation project repo...Rapport PFE: PIM (Product Information Management) - A graduation project repo...
Rapport PFE: PIM (Product Information Management) - A graduation project repo...
younes elmorabit
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapport
Ines Ouaz
 
MEMO Pour débuter en formation à distance (FAD)
MEMO Pour débuter en formation à distance (FAD)MEMO Pour débuter en formation à distance (FAD)
MEMO Pour débuter en formation à distance (FAD)
Cégep à distance
 
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Daniella Mbuta
 

Similaire à Développement d'un forum de discussion (20)

Cahier de charges Site web DRUPAL
Cahier de charges Site web DRUPALCahier de charges Site web DRUPAL
Cahier de charges Site web DRUPAL
 
conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...conception et réalisation plateforme collaboratif basant sur la methode agile...
conception et réalisation plateforme collaboratif basant sur la methode agile...
 
Hamdaoui abdelilah
Hamdaoui abdelilahHamdaoui abdelilah
Hamdaoui abdelilah
 
Collecte des données métiers et constitution d'un entrepôt centrale
Collecte des données métiers et constitution d'un entrepôt centraleCollecte des données métiers et constitution d'un entrepôt centrale
Collecte des données métiers et constitution d'un entrepôt centrale
 
Présentation FADEL Wiam sur le nlp et machine learning
Présentation FADEL Wiam sur le nlp et machine learningPrésentation FADEL Wiam sur le nlp et machine learning
Présentation FADEL Wiam sur le nlp et machine learning
 
Plonegov projet egov
Plonegov projet egov Plonegov projet egov
Plonegov projet egov
 
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed AmineRapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
Rapport de stage d'initiation 2015 Mahmoudi Mohamed Amine
 
output
outputoutput
output
 
Rapport de pfe format doc 2013
Rapport de pfe format doc 2013Rapport de pfe format doc 2013
Rapport de pfe format doc 2013
 
Gestion des contrats assistances
Gestion des contrats assistancesGestion des contrats assistances
Gestion des contrats assistances
 
Gestion des contrats assistances
Gestion des contrats assistancesGestion des contrats assistances
Gestion des contrats assistances
 
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
Réussir son analyse des besoins dans la conduite d'un projet informatique (2007)
 
Cours tic complet
Cours tic completCours tic complet
Cours tic complet
 
LMS : faire le choix de l'open source - Forum elearning Tunisie 2013
LMS : faire le choix de l'open source - Forum elearning Tunisie 2013LMS : faire le choix de l'open source - Forum elearning Tunisie 2013
LMS : faire le choix de l'open source - Forum elearning Tunisie 2013
 
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptxChapitre 1 - Introcution & cycles de développement - Etudiant.pptx
Chapitre 1 - Introcution & cycles de développement - Etudiant.pptx
 
Liste des nouvelles acquisitions 2013
Liste des nouvelles acquisitions 2013Liste des nouvelles acquisitions 2013
Liste des nouvelles acquisitions 2013
 
Rapport PFE: PIM (Product Information Management) - A graduation project repo...
Rapport PFE: PIM (Product Information Management) - A graduation project repo...Rapport PFE: PIM (Product Information Management) - A graduation project repo...
Rapport PFE: PIM (Product Information Management) - A graduation project repo...
 
Prototype rapport
Prototype rapportPrototype rapport
Prototype rapport
 
MEMO Pour débuter en formation à distance (FAD)
MEMO Pour débuter en formation à distance (FAD)MEMO Pour débuter en formation à distance (FAD)
MEMO Pour débuter en formation à distance (FAD)
 
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi MbutaDodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
Dodi_Mbuta_La création d'un web service : « Note Reminder » _ Dodi Mbuta
 

Développement d'un forum de discussion

  • 1. La mise en place d’un forum de discussion Université Mohammed V-Rabat Ecole Nationale Supérieure d’Informatique et d’Analyse des Systèmes RAPPORT DE PROJET DE FRAMEWORKS JEE Sujet : LABOS-FORUM Forum de discussion pour Labos de recherche d’UM5S Réalisé par : - KANGA Dominique Bernard - NIDABRAHIM Youssef Encadré par : - Mr. Mahmoud EL HAMLAOUI Année universitaire 2016 - 2017
  • 2. La mise en place d’un forum de discussion Remerciements Avant d’entamer ce rapport de projet de Java entreprise édition (JEE), on tient à exprimer nos sincère gratitudes envers tous ceux qui nous ont aidé ou ont participé au bon déroulement de ce projet. Nos sincères remerciements à Monsieur MAHMOUD EL HAMLAOUI, notre encadrant durant le déroulement de ce projet, pour sa générosité, sa disponibilité permanente, son guide et ses conseils son aide inestimable.
  • 3. La mise en place d’un forum de discussion Table des matières Remerciements..................................................................................................2 Liste des abréviations......................................................................................... 4 Table des figures ................................................................................................ 5 Introduction générale ........................................................................................ 6 Présentation du projet ...................................................................................... 7 1. Objectif du projet...................................................................................... 8 2. Spécification des besoins fonctionnels et non fonctionnels ...................... 8 Analyse et conception ..................................................................................... 10 1. Analyse des cas d’utilisation.................................................................... 11 2. Modèle conceptuel de données.............................................................. 11 Environnement et outils de travail.................................................................. 13 1. Outils de travail......................................................................................... 14 1.1. Outils de conception.............................................................................................................. 14 1.2. Outils de développement...................................................................................................... 14 1.3. Choix de serveurs ................................................................................................................... 14 2. Framework et Technologies ...................................................................... 17 1.1. Java Entreprise Edition J2ee .................................................................................................. 17 1.2. Framework JSF........................................................................................................................ 17 1.3. Framework Hibernate ............................................................................................................ 17 1.4. HTML...................................................................................................................................... 19 1.5. CSS ......................................................................................................................................... 19 Réalisation et mise en œuvre.......................................................................... 20 Apport du projet.............................................................................................. 23 1. Apports scientifiques et techniques........................................................ 24 2. Apport sur la formation pédagogique..................................................... 24 3. Apport personnel.................................................................................... 24 Conclusion et Perspectives.............................................................................. 25
  • 4. La mise en place d’un forum de discussion Liste des abréviations Abréviation Désignation UML Unified Modeling Language IDE Integrated Development Environment MCT Modèle conceptuel de traitement J2EE Java 2 Entreprise Edition JSP Java Server Page MCD Modèle Conceptuel des Données MLD Modèle Logique des Données HTML HyperText Markup Language CSS Feuilles de Style en Cascade AJAX Asynchronous JavaScript and XML MOT Modèle organisationnel de traitement
  • 5. La mise en place d’un forum de discussion Table des figures Figure 1: Use case ............................................................................................ 11 Figure 5 : MCD.................................................................................................. 12 Figure 2 : Architecture 3-tiers........................................................................... 15 Figure 3 : Page des problèmes.......................................................................... 21 Figure 4 : Page des sous problèmes.................................................................. 21 Figure 5 : Page d'ajout d'un nouveau problème............................................... 22 Figure 6 : Page problème avec des solutions.................................................... 22
  • 6. La mise en place d’un forum de discussion Introduction générale L'évolution des technologies de l'information et de la communication est à l'origine du regain de la notion de système d´information. Le média internet se révèle pratique pour amorcer un dialogue entre les membres d’un laboratoire. Le projet qu’on présente, qui s’inscrit dans le cadre de notre projet académique de plateforme de développement, aborde précisément un système qui permet de faciliter la recherche des solutions à des problèmes bien déterminés et cela sous forme de forum. On présente dans ce rapport les différentes étapes suivies pour la réalisation de ce projet. Il est axé sur quatre grandes parties. On a commencé par une étude préliminaire qui consiste à préciser de façon claire les objectifs du projet ainsi que son contexte. Ensuite vient la phase d’étude détaillée, à ce stade on a spécifié ce qui doit être réalisé pour atteindre l’objectif dont vient l’élaboration du cahier des charges. Puis on a entamé la phase d’analyse afin de modéliser les besoins fonctionnels en réalisant quelques diagrammes à savoir le diagramme des cas d’utilisation et le diagramme de classe. Après on a réalisé une étude conceptuelle en élaborant les diagrammes MCD et MLD. Enfin vient la phase de réalisation qui permet la construction du projet.
  • 7. La mise en place d’un forum de discussion CHAPITRE I Présentation du projet
  • 8. La mise en place d’un forum de discussion Introduction Le présent chapitre a pour but de définir le projet. On procède dans un premier temps à déterminer les objectifs de ce projet ensuite à détailler ses besoins fonctionnels. 1. Objectif du projet Le but de notre projet est d'implémenter un forum. Un forum est un espace de discussion publique, au moins ouvert à plusieurs participants, afin de partager des informations et des thèmes de discussion avec d'autres personnes. Il a été conçu dans le cadre d'un projet de frameworks JEE. Cette solution sera mise en place vue que les nouvelles techniques de l’information et de la communication prennent de plus en plus d’importance dans tous les secteurs, et s’avèrent aujourd’hui être indispensables pour faciliter et bien gérer le bon déroulement d’un projet et trouver des solutions à des problèmes. 2. Spécification des besoins fonctionnels et non fonctionnels Ce projet s’agit bien d’une application de la gestion des projets qui vise à faciliter et bien gérer le bon déroulement d’un projet et trouver des solutions à des problèmes. Une telle gestion exige rigueur et méthode, donc l’application doit être accessible en permanence, depuis n’importe quel ordinateur connecté à Internet. L’application doit être dynamique dans tous les sens du terme et avoir une navigation simple en respectant les bonnes pratiques permettront aux membres de laboratoire de trouver facilement les informations recherchées ainsi que les éléments essentiels qui doivent être visibles et accessibles. L’application doit être sécurisé, fiable et les données doivent être facilement accessible et disponible. Le but de notre projet est d'implémenter un forum qui est un espace de discussion ouvert à plusieurs participants, des membres de laboratoire afin de partager des informations et des problèmes à résoudre avec d'autres personnes. L'ensemble des discussions est généralement visible par ses participants, et éventuellement par les membres du forum ou même par tous les internautes.
  • 9. La mise en place d’un forum de discussion Cette plateforme aide les personnes à partager leurs connaissances. Les personnes ayant des questions obtiennent les réponses dont elles ont besoin. La plateforme est enrichie par des commentaires, des votes, des notifications, des points et des classements. Le forum de discussion affiche tout d'abord les discussions les plus récentes, ainsi que le nombre de réponses pour chaque discussion. Vous pouvez ainsi savoir rapidement quelles sont les discussions les plus voté positivement ou négativement. On distingue deux possibilités de présentation des messages : - Un modèle chronologique, où chaque message est au même niveau et ne fait que suivre ou précéder un autre message dans le temps. - Un modèle hiérarchique, où chaque message est vu comme une réponse à un message antérieur. Nous allons pour ce projet réaliser un forum selon un modèle chronologique organisé en sujets avec des fonctionnalités simplifiées.
  • 10. La mise en place d’un forum de discussion CHAPITRE IIAnalyse et conception
  • 11. La mise en place d’un forum de discussion 1. Analyse des cas d’utilisation Les diagrammes de cas d'utilisation sont des diagrammes UML utilisés pour donner une vision globale du comportement fonctionnel d'un système logiciel. Les cas d’utilisation « use cases » permettent de structurer les besoins des utilisateurs aussi bien qu’ils expriment les exigences du système vis-à-vis des utilisateurs en partent du principe que les objectifs du système sont tous motivés. Les cas d’utilisation permettent ainsi de classer les acteurs et structurer les objectifs du système. Ci-dessous le diagramme de cas d’utilisation général : Figure 1: Use case 2. Modèle conceptuel de données
  • 12. La mise en place d’un forum de discussion Figure 2 : MCD
  • 13. La mise en place d’un forum de discussion CHAPITRE IIIEnvironnement et outils de travail
  • 14. La mise en place d’un forum de discussion Introduction Dans cette partie, je vais présenter l’environnement matériel et logiciel utilisés pour le développement de notre solution proposé. J’expliquerai éventuellement mes choix techniques relatif aux langages de programmation. 1. Outils de travail 1.1. Outils de conception PowerAMC est un logiciel de conception qui permet de modéliser les traitements informatiques et leurs bases de données associées. Il se destine aux architectures de données, aux architectures d’informations et aux architectures d’entreprise. 1.2. Outils de développement Eclipse est un IDE dédié au développement de logiciels basés sur Java (bien que d’autres langages soient supportés également). 1.3. Choix de serveurs Nous sommes en train de réaliser une application qui se connecte à un serveur de bases de données distant, via Internet, afin de récupérer les données. Ce qui nécessite aussi l’intégration d’un serveur entre l’application client et le serveur de bases de données. D’où l’architecture de notre application est à 3 niveaux (architecture 3-tiers), elle est partagée entre: - L'utilisateur : Conteneur d’application et demandeur de ressources. - Le serveur : Vu que les données seront communiquées entre deux environnements hétérogènes, le rôle principal du serveur est de gérer la communication entre l'utilisateur et la base de données. - La base de données fournis les données au serveur.
  • 15. La mise en place d’un forum de discussion Figure 3 : Architecture 3-tiers  Serveur de base de données Un serveur de base de données entièrement intacte et hautement disponible est essentiel à toute application web. Un serveur de base de données sert à stocker, à extraire et à gérer les données dans une base de données. Il permet également de gérer la mise à jour des données. Il donne un accès simultané à cette base à plusieurs serveurs Web et utilisateurs. Enfin, il assure la sécurité et l’intégrité des données. Et quand on parle de données, on entend peut-être des millions d’éléments simultanément accessibles à des milliers d’utilisateurs. MySQL est la base de données la plus populaire en hébergement Web. Il s’agit d’une option puissante, tout en étant gratuite, très en vogue. MySQL est fréquemment utilisé avec une interface de gestion appelée phpmyadmin qui permet à un non-initié de générer des requêtes sql sur une base de données dans un espace ergonomique et intuitif.  Serveur web Un serveur web peut faire référence à des composants logiciels (software) ou à des composants matériels (hardware) ou à des composants logiciels et matériels qui fonctionnent ensemble. Au niveau des composants matériels, un serveur web est un ordinateur qui stocke les fichiers qui composent un site web (par exemple les documents HTML, les images, les feuilles de style CSS, les fichiers JavaScript) et qui les envoie à l'appareil de l'utilisateur qui visite le site. Cet ordinateur est connecté à Internet et est généralement accessible via un nom de domaine.
  • 16. La mise en place d’un forum de discussion Au niveau des composants logiciels, un serveur web contient différents fragments qui contrôlent la façon dont les utilisateurs peuvent accéder aux fichiers hébergé. On y trouvera un serveur HTTP. Un serveur HTTP est un logiciel qui comprend les URL et le protocole HTTP (le protocole utilisé par le navigateur pour afficher les pages web). Le plus connu est Apache qu’on va l’utiliser. Au niveau le plus simple, à chaque fois qu'un navigateur a besoin d'un fichier hébergé sur un serveur web, le navigateur demande (on dit qu'il envoie une requête) le fichier via HTTP. Quand la requête atteint le bon serveur web (matériel), le serveur HTTP (logiciel) renvoie le document demandé, également grâce à HTTP. Le plus souvent, un serveur Web utilise d'autres logiciels qui fonctionnent en collaboration avec le serveur HTTP. Selon les besoins, certains services gourmands en ressources, comme le serveur de base de données, peuvent être situés sur la même machine ou un serveur spécialisé. C’est pour cela qu’on va utiliser WampServer, une plateforme de développement Web de type WAMP, permettant de faire fonctionner localement, sans se connecter à un serveur externe, des scripts PHP.
  • 17. La mise en place d’un forum de discussion WampServer n'est pas en soi un logiciel, mais un environnement comprenant un serveur http Apache et un serveur de base de données MySQL, un interpréteur de script (PHP), ainsi que phpMyAdminpour l'administration Web des bases MySQL. 2. Framework et Technologies 1.1. Java Entreprise Edition J2ee Java Enterprise Edition ou Java EE (anciennement J2EE), est une spécification pour la technique java d'Oracle plus particulièrement destinée aux applications d’entreprise. Ces applications sont considérées dans une approche multi-niveaux. 1.2. Framework JSF JSF ou Java Server faces est un framework Java pour le développement d’applications web. JSF est basé sur la notion de composants. Java Server Faces (JSF) est une technologie dont le but est de proposer un framework qui facilite et standardise le développement d'applications web avec Java. Son développement a tenu compte des différentes expériences acquises lors de l'utilisation des technologies standard pour le développement d'applications web (servlet, JSP, JSTL) et de différents frameworks (Struts, ...). Le grand intérêt de JSF est de proposer un framework qui puisse être mis en oeuvre par des outils pour permettre un développement de type RAD pour les applications web et ainsi faciliter le développement des applications de ce type. Ce type de développement était déjà courant pour des applications standalone ou clients/serveurs lourds avec des outils tels que Delphi de Borland, Visual Basic de Microsoft ou Swing avec Java. 1.3. Framework Hibernate Hibernate est un framework qui gère la persistance des objets en base de données. Ce projet ne repose sur aucun standard mais il est populaire
  • 18. La mise en place d’un forum de discussion notamment grâce à ses bonnes performances et son ouverture avec de nombreuses bases de données. Architecture de Hibernate : L'utilisation de Hibernate présente plusieurs avantages et inconvénients Les avantages : o Hibernate génère le code SQL nécessaire, ce qui rend l'application plus portable, s'adapte à la base de données. o La persistance est transparente. Vous pouvez faire de vos classes métiers des classes persistantes sans ajout de code. o La récupération de données est optimisée. On peut interroger la base de données de plusieurs façons (Requête SQL, langage HQL...). o Portabilité du code en cas de changement de la base de données. Les inconvénients o Il est dure de faire des requêtes complexe avec HQL (ex: sous requêtes) o Etant une technologie jeune, il reste des problèmes à résoudre (ex: les fichiers de mapping ne sont pas toujours bien formés). o Ne se base pas sur les standards. Avant de commencer, il faut copier les librairies des modules Hibernate Core et Annotations dans le répertoire lib avant de le spécifier à Eclipse en cliquant droit sur le projet dans le package explorer qui ouvre un menu contextuel : nous ouvrons Build path, Configure Build path. Nous cliquons sur l’onglet Libraires, puis sur le bouton add JARS. Il suffit ensuite d’ajouter toutes les bibliothèques
  • 19. La mise en place d’un forum de discussion du module Core et toutes celles du module Annotations. Il ne faut pas oublier d’ajouter aussi la bibliothèque associée au SGBD qu’on souhaite utiliser. Nous passons ensuite à la création du fichier de configuration XML hibernate.cfg.xml à la racine du répertoire src du projet qui va permettre d’indiquer au moteur d’Hibernate les paramètres de connexion à la base de données et les drivers à utiliser. Il faut déclarer les packages et les classes annotées dans le fichier de configuration XML habituel (hibernate.cfg.xml). 1.4. HTML L’HyperText Mark up Langage, généralement abrégé HTML, est le format de données conçu pour représenter les pages web. C’est un langage de balisage permettant d’écrire de l’hypertexte, d’où son nom. 1.5. CSS Les feuilles de style en cascade, généralement appelées CSS de l'anglais Cascading Style Sheets, forment un langage informatique qui décrit la présentation des documents HTML et XML. Conclusion Tous projets informatiques nécessitent la connaissance des outils à utiliser et nous avons jugé bon de choisir les outils énoncés précédemment.
  • 20. La mise en place d’un forum de discussion CHAPITRE IVRéalisation et mise en œuvre
  • 21. La mise en place d’un forum de discussion INTRODUCTION Ce chapitre est consacré à la phase de la réalisation du projet. Il aborde quelques interfaces de notre plateforme Forum. Figure 4 : Page des problèmes L’internaute qui arrive sur le site va être capable de voir l’ensemble des statistiques fournées à savoir le nombre des problèmes posés, le nombre des solutions proposées ainsi que le nombre de membres de forum, en plus de ça un membre peut facilement consulter les nouvelles publications, avoir une idée sur les problèmes sans solutions. Figure 5 : Page des sous problèmes
  • 22. La mise en place d’un forum de discussion Figure 6 : Page d'ajout d'un nouveau problème Figure 7 : Page problème avec des solutions
  • 23. La mise en place d’un forum de discussion CHAPITRE V Apport du projet
  • 24. La mise en place d’un forum de discussion Ce projet est une bonne expérience, il nous a apporté beaucoup de choses tant au niveau technique qu’en terme de gestion de projet. 1. Apports scientifiques et techniques Ce projet nous a permis de découvrir le monde du développement informatique, un monde complexe mais passionnant de par les débouchés auxquels il mène. Nous avons également acquis de nouvelle notion sur les différentes plateformes de développement. Les acquis de ce projet nous serviront dans le futur. 2. Apport sur la formation pédagogique Ce projet nous a permis de consolider nos connaissances sur le langage JEE et ses frameworks. Nous sommes satisfaits d’avoir choisi ce sujet car nous répondons à une problématique. 3. Apport personnel Chaque membre de l’équipe a eu des apports personnels durant le projet.  NIDABRAHIM YOUSSEF : « Expérience intéressante qui m’a permis de coréaliser un projet abouti et qui m’a appris à être plus à l’écoute des autres. Que du positif, expérience à renouveler »  KANGA DOMINIQUE BERNARD : « Bon travail, bonne ambiance de groupe. Que d’émotion et de souvenir inoubliable, très bonne expérience à renouveler » CONCLUSION Nous sommes en général satisfaits de tous ce que nous avons appris à travers ce projet.
  • 25. La mise en place d’un forum de discussion Conclusion et Perspectives L’objectif visé à travers ce rapport est de présenter l’application réalisée qui s’inscrit dans le cadre de notre projet académique de plateforme de développement, ce projet consiste à concevoir et à développer une plateforme de forum qui permet de mettre en relation entre les membres de laboratoire d’UM5S pour faciliter la recherche des solutions à des problèmes rencontrés. Au cours de ce travail, on a consacré, dans un premier temps, nos réflexions à l’étude de l’existant et la spécification des besoins. Cette étude nous a permis de déterminer les grands axes qu’on va suivre pour concevoir cette solution. Une phase de conception détaillée à précéder l’implémentation de ce projet. En effet, on a pu développer une application qui répond aux exigences soulignés pendant l’analyse et la conception. De l’avis général, nous avons consolidé nos connaissances générales et appris à faire des applications plus attrayantes et plus orientées pour le monde du travail. Nous sommes globalement satisfaits de ce que nous avons réalisé. Au niveau de la gestion du projet en équipe, nous avons réussi à bien nous répartir les tâches afin de réaliser nos objectifs dans les temps et l'ambiance générale du groupe était très bonne. Une bonne expérience à renouveler.