5568 sujets

Sémantique web et HTML

Bonjour,

Lorsque je souhaite valider mon css via un lien sur mon site web (http://jigsaw.w3.org/css-validator/check/referer) j'ai cette erreur :

a écrit :
Please, validate your XML document first!

Line 1

Column 1

Content is not allowed in prolog.


Mais mon code passe sans probleme le validateur xhtml et quand je test directement mon code css il ne me detecte aucun problème.

Le site si vous souhaitez zieuter le code (suggestions bienvenue, j'ai rajouté la ligne <?xml version="1.0" encoding="utf-8"?> suite a l'erreur mais ça ne change rien).
Modifié par Tartopom (02 Sep 2005 - 22:25)
Bonjour.

Le validateur css sert à valider les feuilles de styles externes.
Or, le lien pointe sur le site, mais pas sur la feuille de style.

Ce lien marche

http://jigsaw.w3.org/css-validator/validator?uri=http://geekeries.free.fr/style.css



   <p id="footer">Page valide <a href="http://validator.w3.org/check/referer" 
title="Vérifier la validité de cette page">
XHTML 1 Strict</a> et 
<a href="http://jigsaw.w3.org/css-validator/?uri=http://geekeries.free.fr/style.css" 
title="Vérifier la validité de la feuille de styles">
CSS2</a>. Code et Design par <a href="http://zetartopom.free.fr/dotclear/">
Tartopom
</a>.</p>

Modifié par GeorgesM (28 Aug 2005 - 22:58)
pourtant cela marche chez OpenWeb.

Ta solution marche mais j'aimerais que cela soit comme chez OpenWeb ou alors je met un lien relatif "/style.css" car je vx pouvoir changer d'hebergeur sans avoir a modifié le code de mes pages.
Modifié par Tartopom (28 Aug 2005 - 22:53)
Il n'y a pas la déclaration xml, chez OpenWeb

<?xml version="1.0" encoding="utf-8"?>

L'analyseur w3c bloque sur la déclaration.

De toute façon, la première ligne n'est pas indispensable. Il te suffit de l'enlever.
Modifié par GeorgesM (28 Aug 2005 - 23:01)
non, comme dis dans mon premier post, au depart il n'y en avait pas.

Je l'ai rajouté "au cas ou" en espérant que ça marche.
Modifié par Tartopom (28 Aug 2005 - 23:03)
Il y a un problème d'encodage :

Comme c'est un fichier html, free.fr envoie les caractères codés
iso europe.
Or, le document est déclaré utf-8, mais free.fr l'envoie en iso-8859-1
Donc problème.

à cette adresse, on valide bien une copie de la page
http://georgesmarzin.free.fr/test.html


  <meta http-equiv="Content-Type" content="text/HTML; charset=iso-8859-1" />


Je pense que juste aprés, la feuille de style se validera.
Modifié par GeorgesM (28 Aug 2005 - 23:30)
heu question : pk free l'enverrait en iso-8859-1 alors que j'ai bien enregistré le document en utf-8 que je l'ai uploadé en utf-8.

D'ailleurs le validateur xhtml me specifie bien que je suis en utf-8.
Généralement, les fichiers html sont codés iso, et les XML codés utf-8
Avec xhtml, on a un pied dans les deux pots, et c'est délicat. Les erreurs d'affichage d'accents sont légion sur le web.

Pour modifier les parametres par défaut du serveur, il faut créer ou modifier le fichier .httaccess à la racine de la page web.

J'ai tout de même l'impression que le fichier est en iso. Pas en utf-8.
Je pense qu'il est stocké en iso sur le serveur. sinon les accents aurraient eu des problèmes.

J'utilise notepad++ (3.1) qui gère bien les problèmes d'encodages, et surtout les respectes..

http://notepad-plus.sourceforge.net/fr/site.htm
Modifié par GeorgesM (29 Aug 2005 - 00:21)
Tu voudrais dire que malgré que j'ai enregistré le fichier en utf-8 avec signature (sous Notepad2 qui gere les endodages différents), uploadé ce meme fichiers (toujours en utf-8), Free me l'aurait modifié ?
C'est pas free, c'est Apache...

Tu es sur qu'il est bien codé en utf-8?

J'ai vu un truc :
Il y a au moins une ligne qui n'est pas codée correctement :
  <LI><A title=Téléchargements 

Elle apparait avec des carrés après les accents dans notepad.
Il manque les guillemets.

J'ai trouvé ça aussi :
"L'actualit&eacute; 


OK. Je pense que c'est effectivement codé UTF-8, mais il y a quelques bouts de texte codés différemment. C'est quand on utilise plusieurs éditeurs, certains marchent mieux que d'autres...
Modifié par GeorgesM (29 Aug 2005 - 00:49)
T'as essayé en supprimant la BOM de ton fichier ?

Le validateur HTML en parle :
a écrit :
The Unicode Byte-Order Mark (BOM) in UTF-8 encoded files is known to cause problems for some text editors and older browsers. You may want to consider avoiding its use until it is better supported.
Je ne l'utilise pas.

Selon que je lise le source du navigateur ou sa version enregistrée sur disque, j'ai des résultats différents.
Le problème concerne les mots accentués. Il faut les déverminer à la main...


Bon, il n'y a pas d'autre solution :
Ce bout de code doit apparaître dans le fichier .htaccess à la racine
du site
# création 29/08/2005
# révision 29/08/2005
AddType 'text/html; charset=utf-8'html

Il sert à demander à Apache d'envoyer html en utf-8

ça marche !
http://georgesmarzin.free.fr/test.html
Modifié par GeorgesM (29 Aug 2005 - 01:21)
Excusez moi.

En effet, le validateur n'aime pas les bom. J'ai fais un essai avec et sans, et ça marche sans.
Pas avec.
Modifié par GeorgesM (29 Aug 2005 - 01:31)
Bonjour,

En bref :

- ne pas laisser de BOM, qui pose de fréquents problèmes dans les documents (X)HTML. Voir W3C i18n FAQ: Unexpected characters or blank lines (en anglais, et qu'il faudrait traduire en français, comme toute la FAQ i18n d'ailleurs)

- ne pas utiliser de prologue XML dans un document XHTML servi en text/html, sauf nécessité (très rare, liée à un traitement par ailleurs du document en tant que XML) : il ne sert strictement à rien, et fait basculer IE6.0 en mode de rendu quirks (voir cette rapide mise au point). Contrairement à une croyance très répandue, la mention de l'encodage dans le prologue XML d'un doc XHTML text/html n'a aucune raison d'être prise en compte par un agent utilisateur conforme, qui ne doit tenir compte que de l'en-tête HTTP content-type et de la meta équivalente. Voir Spécifier l'encodage des caractères d'un document (X)HTML.
Modifié par Laurent Denis (29 Aug 2005 - 08:05)
GeorgesM a écrit :
Généralement, les fichiers html sont codés iso, et les XML codés utf-8
Avec xhtml, on a un pied dans les deux pots, et c'est délicat. Les erreurs d'affichage d'accents sont légion sur le web.


L'encodage d'un document est totalement indépendant de son format (X)HTML : le choix utf-8 / iso-8859-1 ne tient qu'aux contraintes de contenu textuel, en fait.

Les erreurs effectivement très fréquentes sont dues à trois causes principales :
- l'incohérence entre le charset réel du document et le charset spécifié dans l'en-tête HTTP (prioritaire sur la meta équivalente et sur le prologue XML)
- l'incohérence entre le charset prétendu dans le document et le charset dans lesquel l'outil de production (éditeur HTML par exemple) l'a réellement enregistré (une meta utf-8 n'a aucun effet sur un document réellement encodé en iso-8859-1)
- le recours sur le Web à des documents encodé réellement en windows-1252 et servi comme iso-8859-1 (erreur partiellement récupérée par de nombreux navigateurs sous windows qui traitent en fait par défaut l'iso-8859-1 déclaré comme du windows-1252).
Modifié par Laurent Denis (29 Aug 2005 - 08:24)
Ok merci tout le monde. Il fallait bien supprimer le BOM. J'ai aussi supprimé le prologue xml que j'avais rajouté pour voir si ca changeait qqchose.

Sinon il faut choisir quel encodage pour un fichier .css ?
Modifié par Tartopom (31 Aug 2005 - 21:55)