Chtite question de Templates VS bête tableau en PHP. - PHP - Programmation
Marsh Posté le 18-04-2003 à 15:40:41
bah, alors, elle inspire personne ma question ? Pourtant je la trouve intéressante...
Marsh Posté le 18-04-2003 à 15:43:26
jai des fichiers de langue de type ...
FR.inc.php
hello = bonjour
DE.inc.php
hello = Guten Tag
que je parse pr remplir un tableau $trad
selon la langue chargée :
$trad["hello"] = "bonjour" ou "Guten Tag";
apres ds le code ...
<td><?=$trad["hello"]?></td>
et un systeme (+ou-) perso de templates pr separer le html pr le monsieur du design
Marsh Posté le 18-04-2003 à 15:49:20
voui, voui, c'est bien à ça que je pensais justement. Mais moi ce qui m'intéresse particulièrement, c'est justement le système du template plus ou moin perso. Dans le cadre d'un forum le plus rapide possible, ne vaut-il pas mieux laisser les :
du HTML... puis d'un coup <?php echo $langue[motx] etc... ?> ... Du HTML
plutôt que justement de faire appel à un système de templates (sachant que concernant le graphisme, tout est sous forme de CSS déjà (ou presque tout) et que tout est modifiable déjà via la feuille de style, et même via un formulaire qui modifie la feuille de style) ?
Marsh Posté le 18-04-2003 à 15:57:48
y manque pas du texte ?
edit : ... oui HTML <?= ... ?> HTML sera le plus rapide ...
Marsh Posté le 18-04-2003 à 16:05:51
tableaux tableaux tableaux
c'est encore le meilleur compromis vitesse / maintenabilité / modification
perso je parse des tableaux générés via la BDD c'est achement rapide
(3 tableaux pour environ 350 entrées, tout ça fois 2 pour FR / US)
ça marche du tonnerre !
Marsh Posté le 18-04-2003 à 16:55:49
Merci bien à tous les deux. Vous confirmez ce que je pensais déjà. Je vais donc pouvoir continuer sereinnement mon chti forum.
Marsh Posté le 18-04-2003 à 18:20:57
J'utilise aussi ce genre de tableau sur mon forum, les templates, j'ai testé, et c'est bien lourd
Marsh Posté le 18-04-2003 à 21:40:37
J'utilise habituellement une table pour faire ça :
|
Puis une fonction : (ici, en ASP)
Code :
|
Inconvénient :
- Plus lent qu'un fichier de traduction.
Avantages :
- Evite de se trinballer en include un fichier de traduction qui peut être monstrueux. Sur un site qui utilise cette méthode, il fait 12 Mo ! - Du coup on l'a chargé en variable d'application, ce qui évite de le rechercher à chaque page. Par contre, on est obligé de redémarrer le site à chaque mise à jour des libellés : intervention manuelle sur le serveur -
- Gère autant de langues et de labels qu'on veut sans avoir à faire attention à quoique ce soit.
- Administrable via une interface d'administration.
- Pas besoin de toucher au code ni d'uploader des fichiers pour mettre à jour les libellés.
- Si un texte n'est pas traduit, alors on affiche son code, ce qui permet, pendant les phases de développement et de test, de voir rapidement un oubli de traduction.
- Une fois en prod, au lieu de retourner le code, on peut utiliser une traduction "standard", mettons que si l'anglais est la langue pas défaut, on peut récupérer le libellé anglais. En //, on peut loguer l'erreur ou envoyer un mail à une personne en fonction de la langue, pour la prévenir qu'un libellé n'est pas traduit.
- Permet de changer à chaud les libellés.
Marsh Posté le 18-04-2003 à 22:23:03
Très intéressant ton commentaire, je t'en remercie.
Pour mon forum par contre, j'évite autant que possible d'utiliser la BDD et je vais procéder par des includes.
Par contre, comme tu l'as souligné, pas question de se retrouver au final avec un fichier langue.php de plusieurs megas.
Pour cela, je fais plusieurs fichiers langues dans un dossier avec deux types de fichiers : les fichiers commun.php qui utilisent des mots se retrouvant dans toutes les pages et en plus un fichier par page pour les expressions spécifiques à chaque page.
En tout cas, un grand merci pour ton aide. Il est certain que dans le cadre d'un site dynamique, j'aurais procédé comme tu le conseille. Mais pour un forum ou je cherche à tout alléger au maximum, ce n'est pas possible. Pour te donner une idée de mon travail, tout ce qui concerne les caractéristiques graphique et de mise en page sont générées une fois pour toutes via php dans des feuilles de style. Les profils des users sont également générés une fois pour toutes. Comme tu peux le voir, dès que qqc peut se passer d'une BDD, je le fais. On verra au final ce qui en résultera.
A +
Marsh Posté le 19-04-2003 à 00:06:04
Skylight a écrit : Il est ou ton forum ? |
pas encore opérationnel, mais il avance...
Dès qu'il sera suffisamment fonctionnel, je vous fais signe. Pas de problème. d'ici quelques semaines j'imagine. J'ai fait tout ce qui est XHTML, génération des CSS via PHP, les profils, les tables, etc...
Là j'en suis aux langues/templates + tout ce qui touche à la sécu...
Un point important :
Le forum que je prépare pourra être inclus dans une cellule d'un tableau, car toutes les CSS sont en relative et ce comporte pas de balise body.
C'est très pratique je trouve si on veut l'inclure dans un site après.
Marsh Posté le 19-04-2003 à 00:07:10
Quand tu parles de génération de CSS, celà veut dire que tu créé un FICHIER de css par utilisateur (et une fois suffit, selon tes dires) ?
Marsh Posté le 19-04-2003 à 00:09:55
Non, l'apparence du forum est décidée par l'admin. Je vais pas recreer un phpbb ou équivalent super lourd, ni un CSS par user. Faut pas déconner quand même.
Par contre, TOUTE la charte graphique repose entièrement sur les CSS, et l'admin a à sa dispo. un formulaire qui lui permet de tout changer sans que cela affecte la BDD ou même les fichiers PHP.
Par contre pour le profil de chaque user, je cré un fichier par user que je n'ai qu'à inclure. Cela limite énormément l'accès à la BDD.
Marsh Posté le 19-04-2003 à 00:11:57
Héhé, au final, faut voir
Moi, toutes les informations d'un membre sont dans un n-uplet de la table users ...
Une requete, et j'ai tout. Reste plus qu'a inclure le CSS par défaut .. (et oui, moi je peux pas appliquer ton système vu que mon forum gère les multiforums, donc personnalisation en fichiers impossible)
Marsh Posté le 19-04-2003 à 00:15:49
Skylight a écrit : Héhé, au final, faut voir |
Tu peux parfaitement avoir un CSS par forum. C'est pas compliqué. D'ailleurs, pour mon forum, j'aurais pu proposer une liste de CSS dispos ou permettre à l'admin de sauver son CSS dans une liste de CSS sans faire intervenir la BDD.
oopss edit :
Pour la 2° partie de ta réponse, c'est clair que ma soluce est impossible. trop de membres.
Marsh Posté le 19-04-2003 à 00:20:48
J'étais en train de me dire ...
Car un fichier par user, ca ferait énornement de fichiers sur ton serveur
Marsh Posté le 18-04-2003 à 15:26:03
Voili, voilà... Je continue toujours vaillamment et patiemment mon forum qui commence à prendre forme.
J'en suis actuellement au stade où je prévois la possibilité aux possesseur du forum de pouvoir changer les différents textes présents (genre : vous avez 2 nouveaux messages), ou même karrément la langue.
Evidemment, la première chose à laquelle on pense dans ce cas là, ce sont les templates. Oui, mais voilà... Après quelques petites recherches, il apparait que c'est pas tip-top en matière de perfs. Or, je recherche avant tout les perfs justement.
Je ne me suis pas fais chier à générer une fois pour toutes mes CSS via PHP + les profils des users pour foutre en place un systeme de templates hypra-lourd.
Donc, je me dis bêtement que la solution la plus rapide serait sans doute un bête tableau dans une page incluse du style :
$langue = array("vous avez","un","des","nouveau","nouveaux","message","messages" etc...
Puis dans la page :
echo $langue[1],$langue[2] etc...
Qu'en pensez vous ?
Message édité par Hermes le Messager le 18-04-2003 à 15:41:40