Vous êtes sur la page 1sur 3

M1 e-Miage Cédric Teyssié – Patrice Torguet

Projet de Programmation (C-218)


HTML / PHP / MySQL

Création d’un mini forum de discussion

Le but de ce projet est de réaliser un mini-forum de discussion sur internet. Cette application doit être accessible au
moyen d’une interface web.

Ce mini forum est vu de trois manières différentes selon le grade du visiteur du site (simple visiteur, membre inscrit
modérateur ou administrateur du forum).
La présentation générale du forum est laissée à votre convenance alors soyez créatifs !!!

Version 1 : Mode visiteur, inscription et authentification

1. Ce mode est le mode basique du forum, il n’y a qu’un seul sujet de discussion et tout le monde doit pouvoir
écrire des messages et lire ce qui y est posté selon le format suivant (vous pouvez le personnaliser) :

Pseudo de Détails … Jour et heure de l’envoi du message


l’expéditeur du
Contenu du message
message

Pseudo : Reprend le pseudo de l’expéditeur du message. Si l’expéditeur est inconnu (non inscrit), le
pseudo doit être forcé à la valeur « anonyme » ;
Détails… : Un clic sur ce lien affiche les détails de l’utilisateur saisis lors de son inscription, à
l’exception bien évidemment du mot de passe.

2. Inscription des utilisateurs.


• Le forum doit permettre l’inscription d’utilisateurs. Pour cela, certains renseignements doivent
être demandées aux utilisateurs : nom, prénom, age, profession, hobby, courriel, et bien sûr,
pseudo sur le forum et mot de passe pour être authentifié sur le forum.
• Chaque pseudo du forum doit être unique.
• L’inscription d’un utilisateur doit être activée par un administrateur. Sans cette activation,
l’utilisateur, bien qu’inscrit est considéré comme un simple visiteur.

Version 2 : Gestion des membres inscrits et des sujets de discussion


1. Authentification des utilisateurs. Pour pouvoir poster un message, un utilisateur doit être identifié (par son
pseudo et son mot de passe). A partir de ce moment, les simples visiteurs (utilisateurs non inscrits) ne
doivent plus pouvoir poster de message.

2. Gestion des sujets de discussion. Le forum doit maintenant pouvoir prendre en compte plusieurs sujets de
discussion. Les sujets de discussion ne peuvent être crées que par des utilisateurs inscrits dont le compte est
activé ou par des administrateurs. Les sujets devront être classés par ordre décroissant de date et heure du
dernier message posté sur le sujet. La colonne intensité donne un ordre d’idée du nombre de messages
postés dans les 24 dernières heures :
Plus de 10 messages : sujet brûlant !
Plus de 5 messages : sujet très populaire !
Plus de 2 messages : sujet populaire !
De 0 à 2 messages : aucune indication.
Exemple de présentation des sujets de discussion disponibles sur le mini forum :

Intensité Sujet de discussion : Créateur Date/heure du dernier message


… … … …
XX Sujet i Pseudo1 Aujourd’hui à 3h20
YY Sujet i+1 Pseudo2 Hier à 20h54
… … … …
YY Sujet i+j Pseudo2 Lundi 26 à 13h37

3. Gestion simplifiée de mise en page et getion des smileys (émoticones).


• Les utilisateurs doivent dorénavant pouvoir mettre en page leurs messages. Les fonctions
disponibles seront : GRAS, ITALIQUE et SOULIGNE.
• Les utilisateurs doivent aussi pouvoir utiliser des smileys dans le corps de leurs messages. Le choix
de ces smileys est laissé à votre appréciation.
o Conseil : l’utilisateur pourra par exemple utiliser un ensemble de caractères de votre choix
pour indiquer l’utilisation d’un smiley. Ces caractères seront remplacés à l’affichage par
l’image du smiley.

Version 3 : Mode modérateur et mode administrateur

1. Gestion de la modération. En plus des possibilités des utilisateurs, un modérateur peut :


• Supprimer un message dans un sujet de discussion ;
• Supprimer un sujet de discussion ;
• Bannir un utilisateur. L’utilisateur est toujours inscrit, ses messages sont conservés, mais il lui est
interdit de se connecter et il est donc considéré comme un simple visiteur.

2. Délégation de la modération et mode administrateur.


L’administrateur possède une interface de configuration de son forum. Via cette interface, il dispose des
fonctionnalités suivantes :
• Délégation du pouvoir de modération du forum à certains utilisateurs. L’administrateur peut désigner à
certains utilisateurs le droit de modérer le forum. L’administrateur doit aussi pouvoir retirer ce pouvoir
à un modérateur (qui redevient alors utilisateur simple du forum) ;
• Consulter la liste des utilisateurs enregistrés et voir le nombre de messages postés par l’utilisateur ;
• Remettre à zéro le forum. Par cette action, l’administrateur peut supprimer tous les messages, sujets de
discussion, utilisateurs enregistrés, etc.
• Remettre à zéro le mot de passe d’un utilisateur qui aurait oublié le sien ;
• Consulter les statistiques du forum. Ces statistiques contiennent au minimum les éléments suivants :
o Statistiques de messages : nombre total de messages, nombre moyen de messages postés à
l’heure, histogramme du nombre de messages postés à l’heure/journée/semaine/mois…
o Statistiques de fréquentation : nombre total de membres enregistrés, nombre moyen
d’inscriptions par jour…
o Statistiques de sujets : liste des sujets les plus fréquentés, histogramme du nombre de
consultations pour un sujet donné (selon les échelles suivantes : heure, journée, semaine et
mois)…

3. Création d’un module d’installation du forum. Vous devez réaliser un module d’installation simplifié du
forum. Ce module (ensemble de pages, fichiers…), une fois téléchargé sur un serveur web, doit permettre
l’installation aisée du forum (configuration de la base de données…). Par exemple, ce module permettra de
créer l’administrateur, de configurer la base de données (il faut donc demander à l’utilisateur les logins/mot
de passe…)…
Version 4 : Modules supplémentaires
1. Les utilisateurs enregistrés doivent maintenant pouvoir s’échanger des messages entre eux et ceci de
manière privée. PAS de gestion du code HTML dans les messages privés entre utilisateurs.
2. Les utilisateurs doivent pouvoir créer un sujet de type sondage. Seuls les membres inscrits pourront voter ;
les simples visiteurs ne pourront qu’observer le résultat du sondage.
3. Implantation d’une fonction de recherche de messages dans le forum.

Fonctionnalités supplémentaires :
Vous êtes libres de rajouter des fonctionnalités à ce projet. Elles seront comptabilisées dans la notation.
ATTENTION : ces extensions ne seront comptabilisées qu’à la condition que toutes les versions du projet
soient traitées (correctement …).
Exemple de fonctionnalités supplémentaires :
Rajout de domaines de discussion structurant les sujets de discussion ;
Possibilité pour un utilisateur inscrit d’éditer ses messages déjà postés ;
Possibilité pour un administrateur d’interdire tout message supplémentaire pour un utilisateur ;
Gestion complète du BBCODE (http://fr.wikipedia.org/wiki/Bbcode)

Consignes, conseils et remarques :


Votre projet sera noté en fonction des choix techniques que vous effectuerez, de la qualité technique du
code produit, de son respect du sujet, de l’ergonomie de votre site et de son allure générale. Les
fonctionnalités supplémentaires que vous mettrez en œuvre seront aussi comptabilisées à la condition que
toutes les versions du projet aient été traitées au préalable.

La remise du projet aux enseignants suppose la remise complète du code (HTML, PHP…) POUR
CHAQUE VERSION DU PROJET. Vous inclurez aussi un rapport de 5 pages minimum expliquant le
fonctionnement général du projet (dernière version produite exclusivement).

Votre projet doit être conçu au moyen des langages HTML (HTML, XHTML…), PHP et MySQL. Vous
pouvez utiliser les feuilles de style (CSS), les frames, les cookies, les sessions PHP, htaccess… Toutefois,
pour ceux qui souhaiteraient l’employer, limitez l’usage du Javascript à des fonctions simples et non
indispensables au fonctionnement du projet.

D’autre part, il vous est vivement conseillé de valider votre site web (et votre/vos feuille(s) de style) au
moyen des outils offert par le W3C (http://www.wc.org). Cette validation permettra de vérifier que le code
HTML de vos pages est conforme à la norme HTML.

Ce site web doit être installé sur un serveur (quelconque) supportant la technologie PHP/Mysql
(exemples : web.ifrance.com , www.multimania.lycos.fr). Son adresse doit être communiquée
directement au tuteur. Ceci est obligatoire pour l’évaluation du site.

La date limite de remise du projet est le 1er Décembre.

Vous aimerez peut-être aussi