Dudu
mercredi 8 novembre 2006 à 21:31
CITATION(wonderclochette @ mercredi 8 novembre 2006, 12h58)

Rien du point de vue de la description/structuration html ne rend le choix de <pre> particulièrement pertinent ou recommandable, évidemment rien ne le rend non plus impertinent ou non recommandable. Et pour cause puisque rien dans cette balise n'apporte de signification particulière au contenu qu'elle inclue. Pourquoi ? Mais parce que c'est une balise de mise en page, une des seules qui soit restée dans la version strict du html (avec <br> par exemple).
L'usage de <pre> repose donc sur un choix, éventuellement tout à fait légitime, de rendu et pas du tout sur un choix de structuration/description pertinente (pour éviter le terme de sémantique

)
Concernant <p> maintenant. C'est sans doute une erreur que de vouloir trop attacher le sens de cette balise à sa traduction comme paragraphe. Du point de vue html <p> est la balise dont la seule signifation est d'arrêter la possibilité d'imbrication de balise block en étant elle même block.
Utiliser <p> c'est dire : ici un contenu structuré comme block et ne justifiant pas d'être lui même scinder en nouvelles unités de type block.
D'autres balises ont cette particularité, les <hn> par exemple, mais dans leur cas il s'agit bien d'une de leurs particularités. Pour <p> c'est carrémént sa signification... ... Et la seule.
Je résume ce point en appelant <p> la balise block atomique.
Tout ça pour dire que dans l'exemple que j'ai donné <p> convient parfaitement. Ce qui n'interdit évidemment pas l'usage d'autres balises suivant les contextes.
Ne fermons tout de même pas le débat par des affirmations "poing-sur-la-table"

Le choix de la balise <pre> est effectivement délicat vu que sa raison d'être implique directement son rendu visuel. De là à affirmer qu'il s'agit d'une balise de mise en page, il y a un pas. Je ne le franchis pas, et force est de constater -tu as d'ailleurs fait ce constat dans ton message- que ces chers messieurs du consortium w3 ne l'ont pas plus franchi.
Pourquoi je ne considère pas <pre> comme une balise purement présentative: parce que l'HTML a par nature l'art de supprimer les espaces et les sauts de lignes, et qu'il existe une balise pour encapsuler un contenu dont les espaces et sauts de lignes doivent être conservés. Ensuite libre à chacun d'appliquer à cette balise la règle CSS
white-space:pre;, ce que les navigateurs font souvent par défaut. Ou bien d'afficher ça autrement (mais là, effectivement l'intérêt serait vraiment limité).
Dans le cas présent, on cherche à baliser du
code preformatté: et bien.. pre et code.
Je vois ça comme ça..
À cela s'ajoute l'obligation d'un <br /> par ligne dans le cas où l'on se sert de <p>. C'est se compliquer la vie inutilement alors qu'on balise un contenu qui par définition est rempli d'indentations et autres sauts de ligne.. dans le cas où l'on ne souhaite pas l'assombrir (le "one-line scripting" est une stratégie d'obfuscation de code).
Pour tenter de finir sur une note moins "guéguerre d'opinions", je dirais en substance:
- que <p> reste un très bon choix néanmoins (mais je préfère <pre> comme on l'aura compris
) - qu'une autre technique courante consiste à considérer les lignes de code comme une liste numérotée. Çà peut se comprendre pour des raisons de lisibilité quand on cite un code en référant à une ligne en particulier, mais je ne suis pas fan de cette technique dans des cas de figure plus généraux. Graphiquement, il faut avouer que ça donne tout de même de bons résultats difficile à avoir avec <p(re)><code> même en bidouillant à fond la CSS: un exemple sur le site de Veerle Pieters
- Molly Holzschlag, loin d'être une débutante en matière de sémantique web, se pose la question. p or pre ?
- S'il n'existait qu'UNE et une seule méthode par cas de figure, ce serait la fête
PS: l'autre signification de <p> est aussi de baliser un paragraphe de texte, mais on m'a peut-être menti 
A+