[MAJ] On s'en fou royal mais...
Le Mardi 23 Mai 2006 à 17:20
Ca peut servir un jour pour les équipes ;)
Je suis en train de développer (j'ai commencé aujourd'hui :p), un intranet de gestion de tactiques. La technologie est très lourde certes (JAVA J2EE avec STRUTS) mais permet de développer assez rapidement. Il vous faudra installer un serveur TOMCAT et une base de données MYSQL (tout est gratuit).
L'installation ne sera pas trop compliquée: un EASYPHP pour qui installe la base de données MYSQL et une interface WEB soignée pour l'administrer, et un serveur TOMCAT (il vous faudra installer au préalable le JDK de JAVA), qui est le moins gourmands des serveurs JAVA.
Mais c'est quoi cette application ?
C'est une application client léger (donc un site Internet), qui permet à des membres de vos équipes, (qui s'authentifie via un portail) de pouvoir créer des tactiques.
Le but a terme est de pouvoir consulter par map, et par type (GUNROUND, SPAM, PRISE DE ZONE, ANTI RUSH, WALLSHOT, etc....., on sera libre de créer les types que l'on souhaite) des tactiques.
Une tactique possède donc:
* Un Nom
* Une briève description
* Un type
* Une Map
* Un Side
* Un nombre d'étapes
Une étape possède:
* Un nombre (étape 1, 2, 3, etc..)
* Un Timing (pour la synkro, le nombre de secondes qui s'epare 2 étapes ou alors le time d'un round, exemple: 0:55)
* Un Nombre de 1 à 5 d'action
Une action possède
* Un nom
* Une description
* 1 Joueur
* Une liste de screenshot
Un Joueur possède
* Un Nom, prenom, pseudo et password
Un screenshot possède
* L'image
* Une légende
Voila pour le MPD (modèle physique des données)
Dans un premiers temps, je vais développer l'application de manière fonctionnel, puis j'ajouterai la gestion des droits plus tard (permettre à l'utilisateur X de ne pas pouvoir modifier une tactique ne venant pas de lui par exemple).
Enfin, vous saurez l'état d'avancement du projet:
* Script de création de table: 100%
* Partie base de données: 100%
* Partie présentation: 0%
Stay tuned !
[MAJ pour les avertis de la prog]
[MAJ] 24/05/06: J'ai terminé le framework côté base de données, je vais pouvoir commencer les DAO spécialisées pour chaque table. Dans l'optique d'ouvrir après les premières versions, ce projet en open source, j'ai cherché à faire quelque chose de propre au niveau des requêtes. Tous les DAO étenderont le EYADAO qui étends lui même un DAO générique. Le EYADAO à la particularité d'offrir 4 méthodes: un executeSQL, un executeInsert, un executeUpdate et un executeDelete. Chacune de ses méthodes prends un objet de type SelectQuery, InsertQuery, UpdateQuery ou encore DeleteQuery. Je vais expliquer le but d'avoir créer des objets de types réquetes. Le EYADAO possède tous les champs de la base de données (objet de type fr.eya.Field) et les tables de la base de données (objet de type fr.eya.Table)). Le but est de faire alors des requetes facile à lire de la manière suivante:
--exemple avec une requête de type INSERT
InsertQuery request = new InsertQuery();
request.insertFromTable(T_MAP)
request.insertValue(MAP_NAME_C, 'de_nuke');
EYADAO.executeInsert(request);
--exemple avec une requête de type SELECT
SelectQuery request = new SelectQuery();
request.selectField(MAP_NAME_C);
request.selectField(TAC_NAME_C);
request.selectFromTable(T_MAP);
request.selectFromTable(T_TACTIC);
request.whereJoin(MAP_ID_MAP_N, TAC_ID_FK_MAP_N);
request.whereCondEqual(MAP_NAME_C, 'de_nuke');
Il y a des méthodes pour faire des OR, des AND, ouvrir ou fermer des parenthèses, des LIKE, etc...
[MAJ] 29/05/06: La partie base de données est terminée ;) (12h de boulot). Demain je commencerais le framework de la partie présentation (mise en place du CSS, des images, des tags bean spéciaux, des layout (tiles), de struts et de l'architecture).
J'ai modifié la base de données pour qu'on puisse associé une map à un screenshot, à une action et à une étape. De ce fait, on pourra aisément se réservir de screenshots déjà présent dans la base de donnée.
[MAJ] 01/06/06: Les tags libs perso sont finies ;). J'ai créer une TLD eya, qui contient les tags suivant:
* button
* table
* array
* menu
Voici un exemple d'utilisation d'une table eya:
<eya:table width="260" height="260" title="Test">
<table border="1">
<tr>
<td>
<b>CECI EST UN TEST L'AMI</b>
</td>
</tr>
</table>
</eya:table>
=> ca va générer une table de 3x3 avec pour bloc centrale, le contenu compris entre le tag eya:table de dimension widthxheigth (facultatif) avec un titre (aussi facultatif). Je vais modifier le tag pour qu'on puisse lui donner une classe
Esports`manuuu risque de s'occuper du CSS et du graphisme de tous ces éléments ;)
01/05 [Poker FL] Preflops Hands Program (27)
25/04 [Poker NL] La fold equity (35)
23/04 [Poker NL] SemiBluff via les cotes (89)
10/08 Et dieu dans le sport ? (58)
04/08 Bleu ou Rouge ? (17)
15/06 Coup de gueule [MAJ2] (91)
23/05 [MAJ] On s'en fou royal mais... (51)
18/05 CS: [MAJ] Autobiographie 06/99 -> 06/01 - Part 1 (12)
18/05 CS: Comment progresser ? - [MAJ] Le net code (26)
12/05 CS: Comment Progresser ? - Les types d'entrainements (31)