Technologie
Le site sera développé en utilisant la technologie PHP5, et le SGBD MySQL
Frameworks utilisés
Le framework CakePHP sera utilisé afin de séparer les différentes couches de l'application.
Le framework PHP/SWF Charts sera utilisé pour la génération des graphes de performances.
Architecture du projet
Le site sera réalisé en utilisant une architecture de type MVC, et donc divisé selon trois couches :
- La couche d'accès aux données (le modèle) sera l'interface utilisée pour accéder aux enregistrements contenus dans la base de données.
- La couche métier (le controlleur) contiendra l'ensemble des traitements réalisés par l'application. Elle s'appuiera sur la couche d'accès aux données pour réaliser ces traitements.
- La couche présentation (la vue) effectuera la mise en forme des données traitées par la couche métier.
Cette division de l'application permettra à l'ensemble de l'équipe de travailler de manière uniformisée sur le projet, et assurera une homogénéité dans les résultats produits. Elle facilitera également la maintenance du site.
Membres du projet
Ci-après, la liste, par fonction, des personnes travaillant sur le site iScore.
Graphistes
Souriya
Marine (Nanako)
Développeurs PHP
Pierre (Junta)
Anne-Marie (Thimy)
Laurent (Calvaria Despair)
Léo (Moogle)
Intégrateurs Web
Pierre (Junta)
Anne-Marie (Thimy)
Laurent (Calvaria Despair)
Arborescence générale
|- Accueil (page de garde)
|- Songs
| |- Liste des songs (page par défaut)
| |- Fiche song
| |- Fiche light
| |- Scores
|- Joueurs
| |- Liste des joueurs
| |- Fiche joueur
| |- Fiche light
| |- Infos persos
| |- Scores
| |- Graphes de performances
| |- Amis/Rivaux
|- Scores
| |- Scores de la Semaine
| |- Scores par Date
| |- Scores par Joueur
| |- Scores par Song
| |- ...
|- Classements
| |- Par Date (H)
| |- Par Date (F)
| |- Par Difficulté (H)
| |- Par Difficulté (F)
| |- Par Région (H)
| |- Par Région (F)
| |- ...
|- Espace perso
|- Identification
|- Inscrivez-vous
|- Modification du profil
|- Saisie de scores
|- Gestion des amis/rivaux
Description de l'arborescence
Accueil
- Accueil - Rien de spécial pour cette page, elle présente le site et ses objectifs, et souhaite la bienvenue aux joueurs.
Section "Songs"
- Songs - Cette page est un raccourci vers la page "Liste des songs"
- Liste des songs - Cette page présentera la liste de toutes les songs disponibles sur le site. Elle proposera une fonction de recherche selon différents critères (auteurs, difficulté, nombre de mains, …)
- Fiche Song - Cette page est un raccourci vers la page "Fiche light"
- Fiche light - Permettra de voir les caractéristiques de base d'une song ainsi que les 10 derniers scores saisis pour cette song.
- Scores - Cette page listera tous les scores enregistrés pour la song sélectionnée. Elle proposera une fonction de recherche selon différents critères (date, difficulté, joueur, …)
Section "Joueurs"
- Joueurs - Cette page est un raccourci vers la page "Liste des joueurs"
- Liste des joueurs - Cette page présentera la liste de toutes les joueurs inscrits sur le site. Elle proposera une fonction de recherche selon différents critères (nom, prénom, pseudo, région, …)
- Fiche Joueur - Cette page est un raccourci vers la page "Fiche light"
- Fiche light - Permettra de voir les informations principales d'un joueur (infos principales, derniers scores, graphe de performances sur un mois).
- Infos persos - Permettra de consulter les informations détaillées d'un joueur
- Scores - Cette page listera les scores enregistrés par le joueur. Elle proposera une fonction de recherche selon différents critères (date, song, difficulté, …)
- Graphes de performances - Présentera les évolutions du joueur dans le temps et selon plusieurs graphiques. Ces évolutions seront basées sur le score global du joueur, son timing, sa fréquence de jeu, …
- Amis/Rivaux - Listera l'ensemble des amis et des rivaux d'un joueur.
Section "Scores"
- Scores - Cette page est un raccourci vers la page "Scores de la semaine"
- Scores de la semaine - Présentera tous les scores saisis durant les 7 jours précédents.
- Scores par date - Cette page présentera la liste de toutes les scores effectués sur un intervalle de temps donné. Elle proposera une fonction de filtre simple (date de début, date de fin)
- Scores par Joueur - Cette page listera les joueurs inscrits sur le site, et proposera un accès direct à la page "Scores" de la section "Joueurs" du site, pour le joueur sélectionné.
- Scores par Song - Cette page listera les songs disponibles sur le site et ayant au moins un score rattaché. Elle proposera un accès direct à la page "Scores" de la section "Songs" du site, pour la song sélectionnée.
Section "Classements"
Cette partie du site présentera le classement des joueurs par rapport à leurs scores. Elle sera divisée en deux grandes catégories : le classement hommes (H) et le classement femmes (F)
- Classements - Listera les 10 meilleurs joueurs pour les tri par Date (H et F) et par Difficulté (H et F)
- Par Date (H ou F) - Ces pages listeront les meilleurs joueurs de chaque catégorie (H ou F) avec un tri par date (à raison d'un classement par mois)
- Par Difficulté (H ou F) - Ces pages listeront les meilleurs joueurs de chaque catégorie (H ou F) avec un tri par difficulté
- Par Région (H ou F) - Ces pages listeront les meilleurs joueurs de chaque catégorie (H ou F) avec un tri par région
Espace perso
C'est dans cet espace que les joueurs pourront modifier leurs informations et saisir leurs scores
- Identification - Permettra aux joueurs d'accéder à leur espace perso
- Inscrivez-vous - Cette page proposera aux nouveaux joueurs de s'inscrire sur le site.
- Modification du profil - Page classique de modification d'informations
- Saisie de score - Permettra aux joueurs de saisir leurs scores pour une date donnée
- Gestion des amis/rivaux - Permettra aux joueurs de gérer leur liste d'amis et de rivaux.
Données à gérer
Section "Songs"
Le site devra représenter les données associées aux différentes chansons saisies. Parmi ces données, on retrouvera :
- Le nom de la chanson
- Les différents mixs dans lesquels la chanson apparait
- Les difficultés disponibles pour cette chanson
- Le (ou les) auteur(s) de cette chanson
Un mix sera représenté de manière sommaire par :
- un nom
- une image
Une difficulté contiendra :
- Un nom (novice, easy, medium, Hard, Expert)
- Un nombre de pieds (le niveau de la song)
- Un nombre de steps
- Un nombre de jumps
- Un nombre de freezes
- Un nombre de mines
- Un nombre de mains
- Un nombre de rolls
Section "Joueurs"
En ce qui concerne les données personnelles des joueurs, devront figurer :
- Les identifiants de connexion au site (login et mot de passe)
- Les noms et prénoms du joueur
- Ses coordonnées (adresse, téléphone, mail, msn)
- Un texte de présentation
- Sa photo
- Ses amis et rivaux (des liens vers d'autres joueurs)
- Ses scores (voir ci-après)
- Ses configurations
Une configuration est une combinaison qui représente les conditions de jeu du joueur. On y retrouvera :
- Un support logiciel (ITG PC, AC, Stepmania, …)
- Un support matériel (borne, cobalt flux, …)
Section "Scores"
Un score sera représenté par :
- Un joueur (celui qui l'a effectué)
- Une chanson (celle sur laquelle il a eu lieu)
- Une configuration
- Un drapeau indiquant Bar/No Bar
- Une date
- Un grade (A, B, C, S+, …)
- Un score (en valeur numérique)
- Un nombre de "Fantastic"
- Un nombre de "Excellent"
- Un nombre de "Great"
- Un nombre de "Decent"
- Un nombre de "WayOff"
- Un nombre de "Miss"
- Un nombre de "Jumps"
- Un nombre de "Freezes"
- Un nombre de "Mines"
- Un nombre de "Hands"
- Un nombre de "Rolls"
- Le nombre de combos maximum
Remarques
- Les critères des fonctions de recherches ne sont pas donnés de manière exhaustive. Ils le seront lorsque le modèle de données aura été clairement défini.
Idées pour la v2
- Proposer une page "Actualités du site"
- Proposer un système de commentaires sur les songs. Chaque joueur pourra donner son avis (offbeat, onbeat, pas terrible, complètement épuisante, …).
- Proposer un système de vote sur les songs. Chaque joueur pourra noter les songs et il sera possible d'établir un classement des songs préférées des membres du site.
- Toutes les idées non citées dans cette proposition de v1





