Version imprimable du sujet
Cliquez ici pour voir ce sujet dans son format original
Forum TourDeJeu > Programmer > Template & Cache Php


Ecrit par: transgohan Lundi 08 Février 2010 à 12h57
Bonjour à toutes et à tous,

je me suis lancé dans le développement d'un jeu fonctionnant à partir de module. Je développe le noyau au fur et à mesure rajoutant des idées de ci de là (qu'on m'y reprenne pas il me faudra un cahier des charges pour les modules finaux...).

Et j'en viens à me pencher sur les systèmes de cache et de template. Choses que je n'avais jamais vraiment étudié auparavant il faut dire...


Tout d'abord parlons de la mise en cache.
J'ai pu voir que la librairie PEAR proposait une méthode, j'ai pu voir qu'on pouvait se la coder tout seul en se basant sur la date de création des fichiers (et d'autres méthodes plus abouties) et j'ai aussi vu que des librairies étaient disponibles sur le net.

J'en viens donc à me poser une question... Qu'est ce qui différencie toutes ces librairies ? En connaissez vous des plus abouties que d'autres ? Certaines fournissent plus de méthodes pour moins de rapidité ? Plus d'options ?
Certaines mettent en cache un contenu peu importe sa forme alors que d'autres ne mettent en cache qu'une page complète.
Quelle est la librairie de référence dans le domaine selon vous ?


Ensuite du côté des templates.
J'y ai déjà touché un petit peu au travers de Smarty ainsi qu'une autre librairie dont j'ai oublié le nom... Personnellement je ne trouvais pas cela très attrayant, pas tellement pratique (Smarty s'est peut être amélioré ou alors j'étais pas fan de l'écriture peut être).
Mais vu que je me lance dans un projet qui diffère du petit site je préfère envisager les templates comme une aide pour du multi-interface.

Au début je pensais que les templates étaient là pour mettre le PHP d'un côté et le html de l'autre, mais plus j'en apprends plus je me rend compte que nombre de développeur mettent les deux dedans (et ce jusqu'aux requêtes SQL)...
Est-ce en rapport avec le cache qui est disponible dans nombreuses librairies de templates afin de ne pas ré-exécuter les requêtes ?

Enfin, quel librairie de template a selon vous le plus de qualité ? Vaut-il mieux rapidité ou facilité de codage ?

Merci d'avance.
xTG

Ecrit par: Kalan Lundi 08 Février 2010 à 17h32
Bonjour,

pour faire un jeu maintenable et robuste, tu as raison de te poser la question de son architecture.
S'il n'existe assurément pas "LA" bonne solution, je pense tout de même que certains Framework MVC sont bien adapté à ce que nous faisons.
Et dans le monde du PHP, je ne crois pas me tromper en affirmant que Symphony est l'un de ceux les plus utilisés.
Tu trouveras tout le support nécessaire avec une forte communauté (même dans notre microcosme du jeu en ligne alternatif francophone) et une documentation maintenue.

Un tel Framework va non seulement te permettre de séparer la vue (l'affichage) du modèle (données et règles de gestion) mais offre aussi un cadre facilitant grandement le développement en proposant des briques architecturales toutes prêtes et éprouvées.

Alors certes, cela nécessite l'apprentissage; mais si ton projet finit par avoir de l'envergure, que tu étoffes une équipe de développement à termes (sur mon jeu, après 10 ans, nous avons --enfin! :-) -- ouvert l'équipe à de nouveaux développeurs), alors une structure claire et un Framework connu te facilitera l'intégration.

Il existe aussi Copix qui me semble un bon Framework, géré par une équipe francophone mais qui, à mon avis, pèche sur la documentation.


Voilà, bon courage

Ecrit par: transgohan Lundi 08 Février 2010 à 19h38
Je viens de passer deux heures à regarder cet environnement et je dois bien avouer que j'aime vraiment pas...
Référence du domaine ou pas je ne suis pas tourné gestion de projet pour un sou... Installer tout un tintouin pour qu'il te fasse la majorité tout seul je n'apprécie pas trop.
Après je ne dis pas, je comprend facilement pourquoi il peut être apprécié dans le métier. Mais je ne suis qu'un simple codeur qui ne fait du web que dans ses temps libres.

Ma recherche se porterai donc plutôt sur quelque chose de plus soft dira-t-on...
Des frameworks aussi complet et gigantesque ne m'attirent pas car je n'en exploiterai que ce qui dépasse de l'eau.

Je vais aller maintenant jeter un oeil sur Copix. smile.gif

Edit : hum à ce que je vois Copix est du même domaine. Il est basé sur le template et cache de smarty et rajoute sa sauce en gros...

Edit2 : Je viens de regarder bon nombre de comparaison entre système de templates et les deux qui ressortent sont PEAR::HTML_Template_Flexy et Smarty.
Pear propose aussi un système de cache assez simple d'utilisation et qui stocke ce que l'on veut.
Dans les deux cas il est dit qu'ils sont rapides.

Que pourriez-vous me dire à propos de ces deux librairies ?

Ecrit par: JC Second Mardi 09 Février 2010 à 15h57
Salut,

J'utilise Smarty depuis peu sur Valhon, je le trouve à mon goût : rapide et avec beaucoup de fonctions qui font gagner du temps. Il y a des fonctions qui génèrent automatiquement des listes d'options (balise select), des listes radios, etc., à partir d'un tableau de données. Le tout respectant les normes du W3C (XHTML 1.1), ce à quoi je suis très attaché.

J'ai lu sur http://php.developpez.com/comparatifs/templates/ que les templates basés sur PEAR n'étaient pas très performants.

Après, idéalement, un framework MVC (qu'il soit PHP - symfony - ou autre - django sous python est mon favori) mais il faut commencer dès le début du projet avec, autrement la migration est une horreur. J'ai essayé, j'ai arrêté smile.gif

Ecrit par: transgohan Mardi 09 Février 2010 à 16h42
Ce n'est pas le MVC qui m'inquiète. Je m'en occupe déjà.
Mes traitements sont indépendants de l'affichage malgré le fait que je n'utilise pas de template mais des pages PHP utilisées uniquement pour de l'affichage.

Pour les templates PEAR j'ai pu constater aussi.
D'ailleurs leur cache me fait aussi me poser des questions... Après une trentaine d'essai de chargement il se trouve que la moyenne sans cache est plus rapide qu'avec... Et pourtant j'en enlève tout un tintouin avec le chargement du cache... Bon après je suis sur disque dur externe, ça y fait peut être par rapport à un vrai serveur ou si j'utilisai un disque dur fixe (bien qu'apache et mysql soient aussi sur le DD externe...).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)