5160 sujets

Le Bar du forum

Pages :
Salutations,

J'aimerais savoir si ce que je pense est vrai. Voici ce que je pense :

Quand on écrit une page XHTML, on utilise uniquement les balises de contenu (Hx, P, UL, OL, LI, INS, EM, STRONG, BLOCKQUOTE etc). Ensuite, à l'aide de CSS, on peut changer à notre souhait la présentation de cette page XHTML.

Or, dans les quelques exemples de pages que j'ai vu, il n'y en a pas une seul qui peut se passer de div pour placer ses éléments, souvent, dans le but d'afficher la page correctement (j'ai dit "correctement", pas "exactement pareil") sur différents navigateurs.

Ma question est donc la suivante : peut-on faire une jolie page web sans DIV, et qui plus est qui s'affiche sans se casser la gueule sur des navigateurs différents ? si c'est trop dur, on peut laisser tomber IE6 si c'est vraiment lui qui gêne.

Ne me demandez pas de définir le mot "jolie". C'est un joker qui vous pouvez définir à votre souhait.

Pour ceux qui veulent répondre : as-tu un problème avec les DIV ? c'est OK d'utiliser des DIV dans une page XHTML, quand c'est à bon escient.

Je veux répondre : à partir du moment où on met des DIV, c'est forcément pour de la mise en page, et dès qu'on voudra restyler la page, il faudra réécrire le code XHTML si des éléments regroupés dans une div ne doivent plus l'être. Or, le CSS a été créé justement pour éviter de réécrire le code HTML a chaque fois qu'on veut changer la présentation de la page.

Merci pour vos commentaires.
Modifié par ychaouche (08 Feb 2010 - 14:03)
Bonjour,

Il est tout à fait possible de réaliser un site sans div, mais ce n'est pas forcément logique de le faire.

Si la page comporte 10 <p>aragraphes les un sous les autres, ayant le même comportement, il est plus simple et économe de les regrouper dans une <div>ision clairement identifée que de les identifier eux.

L'élément <div> à une utilité en HTML : créer des divisions et c'est comme cela qu'il doit être utilisé, sans forcément tomber dans la divite.
Ca depend, il m'arrive d'articuler mes pages en plusieurs parties comme

<ul>
<li id="header"></li>
<li id="corps"></li>
<li id="pied"></li>
</ul>

je suis divophobe Smiley lol
darkstar2023 a écrit :
Ca depend, il m'arrive d'articuler mes pages en plusieurs parties comme

<ul>
<li id="header"></li>
<li id="corps"></li>
<li id="pied"></li>
</ul>

je suis divophobe Smiley lol


Je le fais à chaque fois que je commence une maquette à zéro. Sauf que j'utilise des OL, non pas que j'habite à Lyon, mais parce que j'ai toujours vu des gens avec d'abord une tête haut, puis le corps au milieu, et les pieds en bas. Je n'ai jamais vu un ordre différent chez les personnes en bonne santé.
Laurie-Anne a écrit :
Bonjour,

Il est tout à fait possible de réaliser un site sans div, mais ce n'est pas forcément logique de le faire.

Si la page comporte 10 <p>aragraphes les un sous les autres, ayant le même comportement, il est plus simple et économe de les regrouper dans une <div>ision clairement identifée que de les identifier eux.

L'élément <div> à une utilité en HTML : créer des divisions et c'est comme cela qu'il doit être utilisé, sans forcément tomber dans la divite.


Je vois ça comme une liste non ordonné de paragraphes, donc UL avec un liste-style : none, les marges et padding à zéro et tout ce qui s'en suit.
darkstar2023 a écrit :
Ca depend, il m'arrive d'articuler mes pages en plusieurs parties comme

<ul>
<li id="header"></li>
<li id="corps"></li>
<li id="pied"></li>
</ul>

je suis divophobe Smiley lol

Ça c'est vraiment du grand n'importe quoi… Smiley sweatdrop
Benjamin D.C. a écrit :
Ça c'est vraiment du grand n'importe quoi… Smiley sweatdrop

Ouep.

Petits critères qui vont bien:
- Les listes imbriquées c'est utile pour décrire une hiérarchie dans un contenu donné (pas une page ou application web complète). Ça marche bien pour les tables des matières, notamment.
- Si quand tu désactives les styles CSS il y a des puces et des numéros qui trainent partout sans trop qu'on sache pourquoi, c'est qu'il y a des listes en trop...
- Mieux vaut une structure suffisante qu'une structure verbeuse.
Modifié par Florent V. (08 Feb 2010 - 14:43)
Benjamin D.C. a écrit :

Ça c'est vraiment du grand n'importe quoi… Smiley sweatdrop

Can you elaborate on that please ? je trouve ça logique et sémantique. Est-ce que c'est n'importe quoi parce que c'est se casser la tête pour 3 fois rien, ou bien c'est n'importe quoi dans le sens où il n'y pas de sémantique ici ?
ychaouche a écrit :
je trouve ça logique et sémantique

C'est quoi la sémantique HTML, déjà?
Florent V. a écrit :

C'est quoi la sémantique HTML, déjà?

Utiliser OL pour une liste ordonnée, UL pour une liste sans ordre ?
La balise <div> correspond à une division :

Si tu estime que ta page peut être divisé en plusieurs zones, alors il est logique tu es autant de <div> dans ton code html


Les divs sont utiles et il est idiot de vouloir les éviter, ou c'est vraiment pour faire style "oué moi je fais un site sans div et sans table".

C'est le fait que la majorité des sites utilisent effectivement les div à contresens ou à la place d'autres balises plus pertinentes qui font qu'elles aient mauvaises réputation (les divs). (Comme les <table> qui sont utilisés à des fins graphiques et non pour présenter un tableau)


Vous avez déjà vu un site intégré par un développeur ? Ca c'est de la divoïte aigu Smiley cligne
Modifié par Fabious (08 Feb 2010 - 14:50)
Fabious a écrit :
La balise <div> correspond à une division :

Si tu estime que ta page peut être divisé en plusieurs zones, alors il est logique tu es autant de <div> dans ton code html


Les divs sont utiles et il est idiot de vouloir les éviter, ou c'est vraiment pour faire style "oué moi je fais un site sans div et sans table".

C'est le fait que la majorité des sites utilisent effectivement les div à contresens ou à la place d'autres balises plus pertinentes qui font qu'elles aient mauvaises réputation (les divs). (Comme les <table> qui sont utilisés à des fins graphiques et non pour présenter un tableau)


Vous avez déjà vu un site intégré par un développeur ? Ca c'est de la divoïte aigu Smiley cligne


Il faut d'abord me convaincre que plusieurs zones ne forment pas une liste. Je crois que je viens d'identifier mon problème, je vois des listes partout.
Fabious a écrit :
Vous avez déjà vu un site intégré par un développeur ? Ca c'est de la divoïte aigu Smiley cligne
Oui : les miens !... et c'est très mal de généraliser ! Smiley vieux

Sinon : d'accord avec ce que tu as dit (avant la blague Smiley langue )
ychaouche a écrit :
Utiliser OL pour une liste ordonnée, UL pour une liste sans ordre ?

As-tu remarqué que dès que tu peux mettre deux choses à côté, et que ces choses partagent une propriété commune, alors tu peux à loisir décrire cet ensemble comme une liste? Et que, partant de là, absolument tout est une liste?

Par exemple, voici une phrase:
Ceci est une phrase

Cette phrase est une liste ordonnée de mots. Je me propose donc de la coder ainsi:
<ol>
  <li>Ceci</li>
  <li>est</li>
  <li>une</li>
  <li>phrase</li>
</ol>

Mieux, chaque mot est une liste de lettres, là encore ordonnée:
<ol>
  <li>
    <ol>
      <li>C</li>
      <li>e</li>
      <li>c</li>
      <li>i</i>
    </ol>
  </li>
  <li>
    <ol>
      <li>e</li>
      <li>s</li>
      <li>t</i>
    </ol>
  </li>
  <li>
    <ol>
      <li>u</li>
      <li>n</li>
      <li>e</i>
    </ol>
  </li>
  <li>
    <ol>
      <li>p</li>
      <li>h</li>
      <li>r</li>
      <li>a</i>
      <li>s</i>
      <li>e</i>
    </ol>
  </li>
</ol>


C'est beau, c'est sémantique. Smiley smile

Qu'est-ce que ça nous apprend? Que tout ce qui peut être décrit par le langage comme une liste n'est pas une liste HTML. Que la sémantique HTML doit être plus restrictive afin de ne pas donner dans le grand n'importe quoi.

C'est là qu'on se rapproche d'une définition plus applicable de la sémantique HTML: ce sont les informations utiles (ou potentiellement utiles, dans une limite raisonnable) que l'on donne sur le contenu brut. Dit autrement, il faut que:
- le balisage utilisé ait un intérêt pour un utilisateur (utilisateur humain ou moteur d'indexation...);
- le balisage utilisé ne soit pas gênant pour les utilisateurs.

Ici, dans les cas où les listes sont lues ou rendues visibles (lecteur d'écran, désactivation des styles CSS...), l'information donnée par les listes de la structure viennent parasiter le contenu. Ça donne un rendu visuel bizarre (puces et numéros qui trainent) ou verbeux (lecteur d'écran). Par ailleurs, s'il s'agit de structurer la page, c'est très inefficace, tandis qu'il existe d'autres éléments conçus pour structurer la page: les titres de section.

Conclusion:
- n'imbriquez pas les listes (sauf contenus très spécifiques);
- si vous voulez structurer vos pages, utilisez correctement les titres de section;
- si vous voulez en faire plus encore, regardez du côté de HTML5 et des éléments qui décrivent des sections.
Heyoan a écrit :
c'est très mal de généraliser !

+1000. Genre: les designers qui s'en prennent plein la gueule à longueur de journée à Paris-Web…
Oui je trouve que faire un site sans tables et sans div, qui soit moyennement beau ou beau et qui s'affiche plutôt bien sur les navigateurs graphiques (l'article d'openweb dis que c'est important de faire du web sémantique pour que les utilisateurs de Lynx puisse naviguer sur votre site ???) relève de la prouesse technique.
ychaouche a écrit :

Il faut d'abord me convaincre que plusieurs zones ne forment pas une liste. Je crois que je viens d'identifier mon problème, je vois des listes partout.



Justement ceci est un problème récurrent, si tu y réfléchis bien, TOUT est classable dans une liste (exemple : un texte composé de paragraphe, c'est une liste de paragraphe?)

Il faut faire la différence entre une liste au sens propre du terme, et des éléments "listables" car je le répète TOUT est listable.



edit : j'écrivais pendant le message de Florent Smiley smile
Modifié par Fabious (08 Feb 2010 - 15:00)
ychaouche a écrit :
Je vois ça comme une liste non ordonné de paragraphes, donc UL avec un liste-style : none, les marges et padding à zéro et tout ce qui s'en suit.
Ah wé...

La divite c'est mal, mais ce dont tu souffre c'est pire... On avait pas encore référencé la listite comme maladie grave, je pense qu'on devrait. Quand tu rédire un document sous word, tu mets tous tes paragraphes dans des listes ?



EDIT : Snif, snif, ça sent quand même fort le troll en dessous.
Modifié par Laurie-Anne (08 Feb 2010 - 15:04)
Florent V. a écrit :

As-tu remarqué que dès que tu peux mettre deux choses à côté, et que ces choses partagent une propriété commune, alors tu peux à loisir décrire cet ensemble comme une liste? Et que, partant de là, absolument tout est une liste?


C'est exactement mon problème. Suggères-tu d'utiliser les listes uniquement pour décrire des listes, tout comme il est recommandé de n'utiliser des tableaux que pour afficher des données tabulaires ? c'est dans la même logique ?

Et dans ce cas, que penses-tu de cette pratique courante de décrire le menu du site en tant que liste ?
Pages :