06-06-2007, 06:50:51
...............Fni Tourney manager..............League FTM.....................................
I ? Pr?sentation
Prenant exemple sur la league de wwp (Challenge Between Singleplayer) et sur l?ancienne league de wa (First blood), le clan FNI a d?cid? de mettre en place lui aussi, un site de gestion de matchs pour Wormser.
Il sera donc possible de faire la propre league Fni avec ses r?gles et dont les administrateurs ne sont autres que Pierre alias Pico (membre Fni et programmeur du projet), Eman alias ? Brice tout simplement ? (leader Fni et designer), Alann alias Devo (co-leader Fni et designer) et Ced alias Ced (lol)(bleu bit Fni).
II ? La d?marche du projet
Ceci ?tant un projet de grande envergure, nous avons d?cid? de d?tailler pr?cis?ment chaque partie du soit disant site, chaque module et chaque fonctions.
Mais commen?ons par le commencement :
A ? Sur quel support ?
Le site sera con?u en xhtml agr?ment? de fichiers css pour l?esth?tique. Cependant il est primordial que le tout soit fait en PHP (version 4.3.10 minimum). Bien s?r, des v?rifications pour la s?curit? seront n?cessaires, d?o? l?utilisation du JavaScript.
Personnellement, je travaillerais tout d?abord en localhost sur ma machine en passant par un serveur MySQL (en passant par PHPMYADMIN).
Cependant il faut bien se mettre d?accord sur le serveur, en effet, les fonctions de connexion de sont pas les m?me sur MySQL et sur POSTGRESQL?
Plusieurs tables seront cr??es, et pour la phase de conception, j?ins?rerais de simples champs login et password temporaires, qui seront remplac?s par la suite par ceux de la vrai BDD du serveur du site Fni.
B ? Comment seront pr?sent?es les diff?rentes pages ?
Le mieux serait de cr?er une page index.php, page d?accueil avec les news ?, puis y ins?rer une barre de menu en haut avec les diff?rentes rubriques existantes : ? Rank ? ? Rules ? ? Poster ? ?
Ces rubriques ci seront inclues ? include ? dans le fichier index.php et les variables se passeront en param?tre.
Exemple : au d?but on est sous index.php
Si on se log alors on mettra une variable logg=true en param?tre ce qui donnera index.php ?logg=true.
Par ailleurs au chargement de l?index une session est cr??e et se d?truit si l?on se d?logue.
Ensuite si l?on veut acc?der ? la page Rank alors il suffit de faire index.php ?page=rank , on fait une p?tite v?rif. sur la variable $page est hop on include rank.php.
Cependant si on essaye d?acc?der ? la page ? poster une victoire ? alors on fera une v?rif. pour voir si le mec est logu? (if (isset($_SESSION[?login?]))) et si non alors on fait une redirection vers une page de connexion.
Ainsi ma proposition serait de faire comme la bonne vieille technique des frames mais en mieux vu que l?on utilise la m?thode GET.
C ? Qu?y a-t-il dans la base de donn?es ?
Dans la BDD de tests je ferais 3 tables :
Une premi?re ?USER? qui contient :
Pseudo (varchar 250 primary key)
Password (varchar 250)
Actif (Boolean) (pour savoir si le mec, comme moi ne joue plus)
//Cette table va n?est pas n?cessaire ? la longue
Une table Scores
Pseudo (varchar 250 index)
Scheme (varchar 250)
Points (int 5)
Une table GAMES
Id_partie (num_auto 6 not null primary key)
Pseudo_gagnant (varchar 250 index)
Pseudo_perdant (varchar 250 index)
Scheme (varchar 250)
Description (varchar 250)
Date (Datetime)
//Replay (varchar 250)
H?? oui, il n?y a pas grand-chose ! Mais il n?y a pas besoin de plus, tout le reste sera le produit des requ?tes SQL.
D ? Comment proc?de-t-on pour l?affichage des donn?es ?
La plupart du temps, on va stocker les r?sultats de la requ?te SQL dans des tableaux, c?est ce qu?il y a de plus propre?
Il faudrait tout de m?me d?finir combien de lignes on affiche par pages.
Exemple : dans le rankin g?n?ral, combien de joueurs figurent sur la 1e page ? 20, 30,50 ?
En ce qui concerne les replay. La meilleure solution est de stocker tous les replay dans un dossier et de les renommer du m?me nom que l?ID du match. Cela ?limine tout risque de doublons et c?est facile comme tout. Ainsi dans la BDD, un champ en moins est n?cessaire : le champ replay.
Merci PiCo pour ce R?sum?.
I ? Pr?sentation
Prenant exemple sur la league de wwp (Challenge Between Singleplayer) et sur l?ancienne league de wa (First blood), le clan FNI a d?cid? de mettre en place lui aussi, un site de gestion de matchs pour Wormser.
Il sera donc possible de faire la propre league Fni avec ses r?gles et dont les administrateurs ne sont autres que Pierre alias Pico (membre Fni et programmeur du projet), Eman alias ? Brice tout simplement ? (leader Fni et designer), Alann alias Devo (co-leader Fni et designer) et Ced alias Ced (lol)(bleu bit Fni).
II ? La d?marche du projet
Ceci ?tant un projet de grande envergure, nous avons d?cid? de d?tailler pr?cis?ment chaque partie du soit disant site, chaque module et chaque fonctions.
Mais commen?ons par le commencement :
A ? Sur quel support ?
Le site sera con?u en xhtml agr?ment? de fichiers css pour l?esth?tique. Cependant il est primordial que le tout soit fait en PHP (version 4.3.10 minimum). Bien s?r, des v?rifications pour la s?curit? seront n?cessaires, d?o? l?utilisation du JavaScript.
Personnellement, je travaillerais tout d?abord en localhost sur ma machine en passant par un serveur MySQL (en passant par PHPMYADMIN).
Cependant il faut bien se mettre d?accord sur le serveur, en effet, les fonctions de connexion de sont pas les m?me sur MySQL et sur POSTGRESQL?
Plusieurs tables seront cr??es, et pour la phase de conception, j?ins?rerais de simples champs login et password temporaires, qui seront remplac?s par la suite par ceux de la vrai BDD du serveur du site Fni.
B ? Comment seront pr?sent?es les diff?rentes pages ?
Le mieux serait de cr?er une page index.php, page d?accueil avec les news ?, puis y ins?rer une barre de menu en haut avec les diff?rentes rubriques existantes : ? Rank ? ? Rules ? ? Poster ? ?
Ces rubriques ci seront inclues ? include ? dans le fichier index.php et les variables se passeront en param?tre.
Exemple : au d?but on est sous index.php
Si on se log alors on mettra une variable logg=true en param?tre ce qui donnera index.php ?logg=true.
Par ailleurs au chargement de l?index une session est cr??e et se d?truit si l?on se d?logue.
Ensuite si l?on veut acc?der ? la page Rank alors il suffit de faire index.php ?page=rank , on fait une p?tite v?rif. sur la variable $page est hop on include rank.php.
Cependant si on essaye d?acc?der ? la page ? poster une victoire ? alors on fera une v?rif. pour voir si le mec est logu? (if (isset($_SESSION[?login?]))) et si non alors on fait une redirection vers une page de connexion.
Ainsi ma proposition serait de faire comme la bonne vieille technique des frames mais en mieux vu que l?on utilise la m?thode GET.
C ? Qu?y a-t-il dans la base de donn?es ?
Dans la BDD de tests je ferais 3 tables :
Une premi?re ?USER? qui contient :
Pseudo (varchar 250 primary key)
Password (varchar 250)
Actif (Boolean) (pour savoir si le mec, comme moi ne joue plus)
//Cette table va n?est pas n?cessaire ? la longue
Une table Scores
Pseudo (varchar 250 index)
Scheme (varchar 250)
Points (int 5)
Une table GAMES
Id_partie (num_auto 6 not null primary key)
Pseudo_gagnant (varchar 250 index)
Pseudo_perdant (varchar 250 index)
Scheme (varchar 250)
Description (varchar 250)
Date (Datetime)
//Replay (varchar 250)
H?? oui, il n?y a pas grand-chose ! Mais il n?y a pas besoin de plus, tout le reste sera le produit des requ?tes SQL.
D ? Comment proc?de-t-on pour l?affichage des donn?es ?
La plupart du temps, on va stocker les r?sultats de la requ?te SQL dans des tableaux, c?est ce qu?il y a de plus propre?
Il faudrait tout de m?me d?finir combien de lignes on affiche par pages.
Exemple : dans le rankin g?n?ral, combien de joueurs figurent sur la 1e page ? 20, 30,50 ?
En ce qui concerne les replay. La meilleure solution est de stocker tous les replay dans un dossier et de les renommer du m?me nom que l?ID du match. Cela ?limine tout risque de doublons et c?est facile comme tout. Ainsi dans la BDD, un champ en moins est n?cessaire : le champ replay.
Merci PiCo pour ce R?sum?.
L'Honneur de la conquête est mesuré par sa difficulté.