Réalisation d’un site web
Environnement :
Un forum de type phpBB est déjà en place chez un hébergeur gratuit (http://www.free-h.org) sur http://utopia.free-h.net;
Il n’y a possibilité d’avoir qu’une base de données ainsi qu’un seul utilisateur MySQL et ses droits sont limités ;
Espace disque 200 Mo ;
Accès par FTP disponible ;
Pour les tests, l’environnement utilisé sera le suivant :
serveur de base de données : Linux RedHat 5.4 + Oracle 11GR2
serveur Web : Linux RedHat 5.4 + Apache 2.54 + (PHP5) à confirmer +PHPbb 3.0.8
Souhaits du client :
Réalisation d’un site web communautaire pour les joueurs d’une association de jeu de rôle.
La page d’accueil comprend une interface de connexion/inscription avec login mot de passe, des « gros titres » (5 maximum), une carte géopolitique à jour de l’univers du jeu et des dessins représentants l’univers du jeu.
Une fois connecté, le joueur retourne sur la page d’accueil où certains menus sont désormais disponibles : liens vers le forum, la sauvegarde de feuille de personnage, notes, messagerie interne … en fonction des droits de l’utilisateur.
Il existe 4 types d’utilisateurs :
- Invités : ce sont les utilisateurs qui vont sur le site sans avoir de compte, ils ne peuvent accéder qu’à :
- la page d’accueil du site,
- certains salons du forum et à la carte géopolitique ;
- Joueurs : ce sont les utilisateurs connectés qui possèdent un compte sur le site, ils peuvent accéder à :
- tous les salons du forum (sauf restrictions particulières),
- la carte géopolitique,
- faire une sauvegarde de leur feuille de personnage et l’imprimer ;
- M.J. (Maître de Jeu) : ce sont les utilisateurs connectés possédant à la base les mêmes droits que les utilisateurs de type Joueur mais ils peuvent aussi :
- consulter le classeur des règles du jeu,
- créer des groupes de jeu en invitant d’autres joueurs, accepter des joueurs au sein du groupe,
- voir les feuilles des joueurs de leur groupe ;
- Créateurs : ce sont historiquement les créateurs du jeu, ils possèdent à la base les mêmes droits que les utilisateurs de type M.J., ils peuvent :
- mettre à jour la carte géopolitique et les titres de la première page,
- accéder aux privilèges des utilisateurs,
- envoyer des messages à une personne, tout le monde ou aux utilisateurs possédant certaines catégories de personnages,
- paramétrer les fiches de personnage à partir d’un modèle de référence,
- accéder à tous les groupes et tous les joueurs ;
- Administrateurs/Développeurs : ils possèdent les même droits que les utilisateurs de type Créateurs, ils peuvent :
- activer un mode de débuggage sur toutes les pages ;
- agirent sur les fonctions JavaScript prédéfinies ;
- etc ...
-Un Joueur peut posséder plusieurs personnages
-Un personnage peut appartenir à plusieurs groupes.
-Un M.J. peut gérer plusieurs groupes.
-Un groupe peut avoir plusieurs chefs de groupe.
Mise en place d’interfaces spécifiques pour :
- paramétrer les feuilles de personnages (Créateurs);
- la sauvegarde de feuille de personnage (Tous);
- la gestion des groupes de jeu (M.J. et Créateurs);
- modifier la carte de la situation géopolitique (Créateurs);
- envoi de message à destination de personnages ayant des caractéristiques ciblées (Créateurs);
Feuille de personnage
La feuille de personnage doit permettre de sauvegarder les caractéristiques des personnages.
- L’interface doit reprendre la mise en page du document papier existant;
- L’administrateur doit pouvoir ajouter, modifier, supprimer les éléments de cette feuille;
- Possibilité d’ajouter des commentaires pour aider les joueurs lorsqu’ils survolent la zone de saisie;
- Possibilité d’ajouter des actions automatiques en fonction du comportement du joueur (ex: un double clic dans une zone de texte efface le contenu, un clic gauche décoche une case …);
- Les zones de saisie contiennent essentiellement du texte sans vérification particulière et des cases rondes à cocher.
- Ajouter une zone de texte qui permet de saisir un grand nombre de caractères pour les notes du personnage.
- L’enregistrement des modifications se fait par un bouton et non pas automatiquement.
Gestion de groupe de jeu
La gestion de groupe aide le M.J. dans sa préparation des parties à jouer.
- Créer un groupe de jeu;
- Inviter des joueurs par une recherche au niveau du nom;
- Accepter des joueurs qui répondent à l’invitation;
- Consulter les feuilles des joueurs de son groupe;
- Consulter une partie des règles du jeu.
Carte géopolitique
La carte géopolitique permet de renseigner les joueurs et les visiteurs sur l’influence des différentes factions et les conflit éventuels.
- Possibilité d’uploader des fragments de la carte du monde pour les assembler;
- On ajoute de manière manuelle les frontières, qui peuvent être déplacées (système de balises reliées par des lignes);
- On doit pouvoir colorer (avec une transparence) les zones qui sont refermées par des frontières;
- On doit pouvoir ajouter des icônes sur la carte symbolisant une bataille en cours ou ayant eut lieu récemment;
- La légende de la carte est exprimée par les symboles des différentes factions;
- Il n’existe que 5 factions (donc 5 couleurs);
- L’enregistrement des modifications se fait par un bouton et non pas automatiquement.
Envoi de messages
Un Créateur doit être en mesure d’envoyer un message à des personnages ayant des caractéristiques particulières ou un statut particulier.
Ex: il doit être possible d’envoyer un message à tous les joueurs ayant un compte de type M.J. qui ont un personnage qui connaît une compétence précise et qui appartient à une certaine race … et même à tous les personnages.
L’envoi de message doit pouvoir se faire en fonction de :
- la race,
- le métier,
- la classe,
- le groupe,
- les compétences,
- le type de compte (joueur, M.J., ...)
Demandes particulières :
Le client souhaiterait que ses utilisateurs puissent se connecter sur le site avec les mêmes identifiants que ceux du forum et basculer de l’un à l’autre sans s’identifier de nouveau.
Un système de sécurité devra être mis en place si il n’y a aucune activité sur la page consultée : la session se bloque et il faut retaper le mot de passe de l’utilisateur connecté pour déverrouiller la session.