JeuWeb - Crée ton jeu par navigateur
[Résolu][HTML] Avant il y avait les frames... - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu][HTML] Avant il y avait les frames... (/showthread.php?tid=3766)



[Résolu][HTML] Avant il y avait les frames... - Ter Rowan - 05-03-2009

Bonjour j'ai une solution à mon problème mais je souhaitais savoir si vous aviez quelque chose de plus pertinent à me proposer.

Je réfléchis à l'organisation de pages statiques (aide, background, etc...)
Mais je voudrais gérer un gabarit (header, footer, menu, etc...)

Il y a quelques décénies, j'aurais utilisé des frames toutes bêtes et découper ma page en autant de .html que nécessaire.

Maintenant, je pense le faire via des include de fichiers php

mais voilà, je me dis include de fichier php =

1) calcul serveur en plus (bon pas long, certes mais calcul quand même)

2) pas de "vraies" pages web de contenu.html autonomes (au sens pas de balise <head><body> etc... puisque ces balises seraient contenues dans le header et le footer)


Y a t il une manière "pure html" de réaliser cela (évidemment compatible w3c et tout le toutim, pas de bidouille) ?

une autre solution serait peut être de créer des pages html de contenu avec une inclusion d'un fichier javascript (commun à toutes les pages) qui générerait les header / footer / menu etc... mais je ne sais pas si c'est plus pertinent/simple/performant

Edit : outre correction d'orthographe, avec javascript je ne suis plus du tout pur html


RE: [HTML] Avant il y avait les frames... - Zamentur - 05-03-2009

Citation :mais voilà, je me dis include de fichier php =

1) calcul serveur en plus (bon pas long, certes mais calcul quand même)

2) pas de "vraies" pages web de contenu.html autonomes (au sens pas de balise <head><body> etc... puisque ces balises seraient contenues dans le header et le footer)
Ben
1) tu peux mettre en cache ton header et ton footer si il est statique
2) Tu peux créer des .html avec php et ainsi éviter de recalculer si c'est inutile.

Sinon tu peux aussi utiliser XSLT ainsi tu as des pages statiques qui utiliseront le même gabarit xslt, tu n'aura plus qu'à fournir le html. Seul hic certains navigateur ne le comprennent pas (comme ie6 je crois)

Enfin, comme le dit oxman, les frames sont valide en xhtml transitional normalement...

Personnellement je me serais orienté vers du php mis en cache avec un système de template représentatnt globalement la page( et non le modèle header footer etc...)


RE: [HTML] Avant il y avait les frames... - Ter Rowan - 05-03-2009

arf je n'ai pas choisi la facilité, je suis en XHTML 1.0 Strict

deux hics pour le xslt, le premier celui que tu décris, le deuxième, c'est que je n'ai pas du tout envie de m'y mettre, j'ai essayé plusieurs fois et ça me donne des boutons ^^

effectivement je pense que le "php" générant des html est probablement la solution finale que j'envisagerai, à voir...

par contre, je ne comprends pas ton histoire de cache ?

en tout cas merci à tous les deux


RE: [HTML] Avant il y avait les frames... - Roworll - 05-03-2009

Citation :Seul hic certains navigateur ne le comprennent pas (comme ie6 je crois)
Le support XSLT à partir d'IE6 est correct.
Même chose pour Firefox 1.5+, Opera 9.1+ et Safari 3+.
Ca fonctionne aussi sous Chrome.

Niveau avantage, il y en a quelques un
- Les feuilles XSL se mettent en cache de manière classique
- Plus besoin de bouffer des ressources serveurs pour mettre la page en forme, tout est fait sur le client
- Même le serveur SQL peut être soulagé de quelques fonctions d'aggrégation, XSL pouvant en prendre une part à sa charge.

Un exemple simple : A partir de ça, XSL fait ça

Après, effectivement, c'est une autre manière de travailler et un peu d'apprentissage en plus.


RE: [HTML] Avant il y avait les frames... - Zamentur - 08-03-2009

Autant pour moi et merci de la correction!

Pour ce qui est de la mise en cache, le principe est simple, quand on sait qu'une page php va changer peu et être demander plusieurs fois durant ce "non changement" on peut enregistrer le résultat de la page dans un fichier statique (un .html par exemple)

Ainsi quand on demande la page, si il s'avère qu'on l'a déjà calculé, on ne le refait pas et on balance direct le fichier .html enregistré!

Il existe des codes tout fait pour faire çà mais sinon tu peux faire çà de façon très rapide avec ob_start()
et avec file_put_contents()

Maintenant si tu fais juste 2 ou 3 include et que du statique, ne t'embêtes pas! Car il n'y aura presqu'aucun calcul!
Mais si tu fait des boucles, des accès en bdd etc çà vaut le coup.

Enfin bref d'après ce que tu décris, faire direct en php c'est ok et çà fera pas beaucoup plus travaillé qu'une page statique!


RE: [HTML] Avant il y avait les frames... - Ter Rowan - 08-03-2009

ok ! merci à tous pour votre aide