27-10-2010, 11:33 AM
(Modification du message : 27-10-2010, 12:05 PM par Sephi-Chan.)
(27-10-2010, 11:02 AM)Hell-AstiK a écrit : Mouarf :good:
On en revient à la ou j'en étais, je trouve des avantages et inconvénients de chaque cotés, donc je ne sait pas vers le quel me tourner.
Pour petit info, ces historiques ne servirons que à moi, il ne seront pas affichés dans le jeux aux membres.
Mon conseil : va au plus simple. Ne perds pas ton temps sur des choix si superficiels : ça n'influera pas sur le reste de ton système (puisque tu créera bien sûr une classe de log !).
La base de données est la solution la plus simple et la plus générique. L'utilisation de XML est ultra spécifique.
D'ailleurs, Roworll, outre le dernier point de ta liste, je ne vois pas ce qui fait que XML est plus adapté :
(27-10-2010, 08:20 AM)Roworll a écrit : Pour ma part, j'ai fait le choix du XML et ce pour plusieurs raisons propres au fonctionnement de mon application.
- Les logs n'affichent que les informations concernant le joueur en cours.
- En passant par XML, je créé simplement un fichier par joueur et par jour.
- Je me suis fait une toute petite classe pour générer ces XML, je n'utilise donc pas les classes plus lourdes propres à PHP.
- La suppression des anciens fichier se fait simplement via un CRON chaque nuit.
- Toutes mes données sont affichées via des feuilles XSL. L'organisation et le filtrage des données est donc réalisé sur le poste client. Pas de traitement supplémentaire via BDD ou PHP
- Sauf erreur de ma part, le système utilisé ne fait aucune différence au sujet du premier point.
- Tu découpes ton architecture en une multitude de fichiers, ce que tu fais virtuellement avec GROUP BY en SQL.
- L'API de log que tu as réalisé peut n'être qu'une interface qui admet plusieurs systèmes de stockage, à la manière de Zend Framework qui propose des API avec une multitude de backends possibles (par exemple pour l'internationalisation, tu peux choisir d'utiliser Gettext, des fichiers CSV, des tableaux PHP, des fichiers INI, etc.)
- La suppression de vieilles entrées se fait très bien avec un Cron et une base de données aussi. Supprimer N (ou N est le nombre d'actif dans le jeu * la quantité moyenne d'action journalisées qu'ils effectuent) entrées dans une seule table selon un critère de date sera très rapide. Il n'aura même pas supprimer par lot (batch) tant qu'il n'aura pas une masse importante d'utilisateurs.
- Et pour le dernier point, c'est effectivement un bel avantage : le tri côté client. Après, ça peut se faire en utilisant Javascript sur la page d'affichage : ce n'est pas plus compliqué d'utiliser un plugin jQuery (pour faire des tableaux triables/filtrables) que d'écrire du XSL et du XPath.
Après, j'ai peut-être loupé quelque chose. Je sais que tu aimes beaucoup XML et XSL, mais as-tu choisi ça par goût de la techno ou par réel intérêt ?
Sephi-Chan