5568 sujets

Sémantique web et HTML

Pages :
Bonjour,

Sur mon site, j'aimerai que la parie du haut (image+ menu) reste toujours visible quand je passe d'une page à l'autre donnant ainsi l'impression que seul le contenu central se recharge. Ce qui est étonnant, c'est que c'est le cas quand je désactive le javascript, mais plus du tout quand celui-ci est réactivé.
Je crois savoir que les balises frame font cela, mais sont-elle toujours valide en XHTML 1.0 ? Donnent elles l'impression que la page se recharge partiellement ou est-ce réellement un rechargement partiel ?
J'ai aussi entendu parler des includes à ce sujet, mais je n'arrive pas à trouver de quoi il s'agit exactement...
Bonjour,

Les frames font effectivement ce que tu cherches: elles ne chargent que le contenu appelé dans le cadre correspondant. Avec un doctype adéquat, c'est tout à fait valide (XHTML1.0 frameset).

Cependant, je ne peux que t'en déconseiller l'utilisation et favoriser plutôt un javascript non-obstrusif, un peu dans le style dans ce que propose koala dans ce post.

Les includes en PHP (ou tout autre langage dynamique) ne correspondent pas à ce que tu recherches: il s'agit simplement d'inclure un fichier dans un autre pour faciliter les mises à jour et la maintenance (par exemple: un header et un pied de page similaire sur toutes les pages).
Dans l'exemple que tu me donne, il n'y pas d'appel serveur pour charger du contenu, il y a juste un affichage/masquage des élément déjà chargé. Moi je voudrais passer d'une page à l'autre sans recharger tous le contenu. Ou au moins en donner l'illusion... Je pourrais faire de l'AJAX mais si javascript n'est pas activé chez le client, ça empêche complètement la navigation.
Pourquoi m'en déconseilles-tu l'utilisation des frames ?
Modifié par mathmax (05 Mar 2007 - 10:51)
Salut,
Benjamin D.C. a écrit :
Cependant, je ne peux que t'en déconseiller l'utilisation et favoriser plutôt un javascript non-obstrusif, un peu dans le style dans ce que propose koala dans ce post.
Pour ma part, je conseille plutôt l'utilisation des frames pour un tel besoin. Elles sont justement faites pour ça. Smiley smile
a écrit :
Pour ma part, je conseille plutôt l'utilisation des frames pour un tel besoin. Elles sont justement faites pour ça.


En les utilisant, on ne recharge vraiment qu'une partie de la page ? Pourquoi fait-on alors de l'AJAX si les frames font la même chose en plus accessible ?
mathmax a écrit :
Pour ma part, je conseille plutôt l'utilisation des frames pour un tel besoin. Elles sont justement faites pour ça.


En les utilisant, on ne recharge vraiment qu'une partie de la page ?Oui. Pour être tout à fait précis, on ne "recharge" pas une partie de la page, on la charge. Smiley smile

mathmax a écrit :
Pourquoi fait-on alors de l'AJAX si les frames font la même chose en plus accessible ?
Ah c'est encore tout à fait autre chose... Ajax s'appuie sur l'objet XMLHttpRequest et s'effectue côté client (comme tout js quoi), la rapidité d'exécution s'en trouve dès lors décuplée! As-tu déjà essayé Google Mail ou Google Calendar? C'est une très belle utilisation de la technologie!
Bonjour,

Ahem.

<tousse />

Faire un choix de technique passablement "lourd" (de conséquences, que ce soit AJAX ou frames) uniquement pour... un effet visuel de cet ordre... est totalement surréaliste Smiley cligne
Laurent Denis a écrit :
Bonjour,

Ahem.

<tousse />

Faire un choix de technique passablement "lourd" (de conséquences, que ce soit AJAX ou frames) uniquement pour... un effet visuel de cet ordre... est totalement surréaliste Smiley cligne
1000 fois d'accord...

Pour en revenir aux frames sinon, autre petite différence au passage: la zone d'affichage du butineur est découpée en plusieurs parties dans lesquelles sont chargées des pages à part entières, ces zones formants des cadres (les frames). Dès lors, tu pourras avoir des barres de défilement pour chacun de ces cadres qui n'agiront naturellement que sur la zone correspondante. Pour ma part, je trouve qu'on y perd pas mal en terme de usability.
Modifié par Benjamin D.C. (05 Mar 2007 - 11:07)
Ah oui les barres de défilements ça me plaie pas trop... Une question : ce site par exemple. Utilise t-il les frames ou autre technologie pour faire que le Header reste toujours visible quand on clique pour passer d'une page à l'autre ?
mathmax a écrit :
Une question : ce site par exemple. Utilise t-il les frames ou autre technologie pour faire que le Header reste toujours visible quand on clique pour passer d'une page à l'autre ?
Attends là je ne suis plus trop sûr de bien te suivre? Le site que tu pointes n'utilise aucune technologie particulière: la page est totalement rechargée à chaque changement de rubrique!
Je sais pas si il y a un chargement total ou non mais en tout cas la partie du haut reste toujours visible quand on passe d'une page à l'autre. Pas comme sur mon site. Comment font-ils cela ?
mathmax a écrit :
Je sais pas si il y a un chargement total ou non mais en tout cas la partie du haut reste toujours visible

Bonjour,
C'est ce que j'ai voulu faire sur mon site
Passer d'une page à l'autre en ne changeant que le cadre du contenu
Ce qui s'est rapproché le plus pour moi était les includes php dans un gabarit Alsa'S
Dès que la page est en cache sur le navigateur client, ça marche du tonnerre
Juste une remarque sur les <frame> : si le web est un media qui sert à proposer des documents "en ligne" et que ceux-ci sont accessibles via une adresse (URL), cela ne dérange-t-il pas qu'on en masque l'URL via un système de frames qui, outre le fait de ne donner aucun contenu propre à la page, ne facilite pas la navigation dans le site et encore moins le référencement ?

EDIT : une discussion dans le salon général en parle ... Elle pointe notamment sur ce lien : http://www.projetweb.com/labalise/frames_3.php et on y retrouve ce que j'ai dit.
Modifié par Malcolm (05 Mar 2007 - 12:58)
a écrit :
Ce qui s'est rapproché le plus pour moi était les includes php dans un gabarit Alsa'S
Dès que la page est en cache sur le navigateur client, ça marche du tonnerre


Moi j'utilise ASP.net et le site que j'ai pris en exemple aussi. Qu'est ce qu'ils ont fait pour que ça marche chez eux et pas chez moi ? Smiley sweatdrop
mathmax a écrit :
Qu'est ce qu'ils ont fait pour que ça marche chez eux et pas chez moi ? Smiley sweatdrop


Ils n'ont rien fait de particulier. Cela dépend notamment de la connection et du cache du navigateur (et de la qualité de gestion de celui-ci). Ton site produit le même effet de manière aléatoire avec Opera, par exemple.
Modifié par Laurent Denis (05 Mar 2007 - 13:11)
Oui mais eux ça marche à tous les coup avec tous les navigateur. Moi ça ne marche pas ni sur FF, ni sur IE sauf quand je désactive le javascript Smiley eek .
Ils doivent bien faire quelque chose que je ne fais pas...
mathmax a écrit :
Oui mais eux ça marche à tous les coup avec tous les navigateur.


Bah, non. Le changement de page est parfaitement perceptible pour moi sur certains postes Smiley cligne
Au fait, vous ne trouvez pas que le petit flash de changement de page peut avoir son utilité ? Genre signaler à l'utilisateur assoupi qu'il a bien changé de page ? Smiley biggol

Bon ok... (tiens, on n'a pas de petit smiley avec un gus qui prend la porte ?)


Avant de sortir :
Tu as toi-même souligné le fait que si tu désactives Javascript, ça améliorait le temps de chargement et surtout d'affichage de la page. Tu ne crois pas qu'il faut chercher de ce côté là ? Est-ce que SIFR ou un autre des scripts que tu utilises ne serait pas responsable de ces lenteurs ? Partant, certains de ces scripts seraient-ils dispensables ? À toi de déterminer tes priorités (personnellement, je verrais bien du texte HTML simple en Georgia ou à la rigueur en Times pour les textes que tu styles avec SIFR en utilisant une police cursive ouvragée mais difficilement lisible).

En passant (et on s'éloigne du sujet) : tu as un problème avec ton image d'en-tête. Le fond en arc de cercle devrait être une image de fond (attribuée à body, et centrée), tandis que tu peux ne conserver que la partie logo+texte comme image de contenu.
Comme c'est fait actuellement, c'est déjà plus accessible que de tout mettre en image de fond, mais on garde deux problèmes :
- l'image n'est pas centrée ;
- l'image fait 1049px de large en tout, ce qui fera apparaitre une barre de défilement sur toutes les résolutions petites et moyennes (dont l'omniprésent 1024x768).
Administrateur
Florent V. a écrit :
Bon ok... (tiens, on n'a pas de petit smiley avec un gus qui prend la porte ?)

Quelque chose comme ça ?
Smiley dehors

= [ dehors]

= smileys autres / onglet "plus"
Ah, je l'avais loupé ! Je savais bien qu'il se cachait quelque part, pourtant... Smiley rolleyes

/me va prendre rendez-vous chez l'ophtalmo.
Pages :