Aller au contenu

Je ne serai jamais validé W3C ?


marcarine

Sujets conseillés

Avant tout, je suis assez nouveau sur le forum, et même si je l'ai déjà beucoup parcouru, j'aimerais poser ici quelques questions pour lesquelles je n'ai pas trouvé de réponse claire. Excusez-moi déjà si je n'utilise pas exactement la terminologie exacte. Je ne suis qu'un amateur, et le web n'est qu'un hobby.

Ne frappez pas :wacko:

D'abord j'aimerais savoir quel est l'intérêt d'être validé W3C, si ce n'est de pouvoir l'annoncer avec un joli logo en bas de page ?

Néanmoins, je me suis demandé ce que vaudrait mes pages dans le validateur, pas trop affreux 33 erreurs la première fois, simples à corriger.

Par contre pour les 21 qui restent, je ne vois pas comment corriger ca

J'utilise un ONBLUR et un ONFOCUS, sans lesquels mon menu fixe du haut ne peut pas fonctionner. (2 erreurs)

Tout mon site est en php et intège pas mal de "modules". Certains modules ont leur propre css, qui donc se retrouvent dans la partie <BODY>. Devrais-je tous les regrouper en un seul fichier à charger au départ dans le <HEAD>?

Enfin j'ai une floppée de messages concernant les &, or je génère automatiquement un fichier avec du php, qui contient bel et bien des & mais lors de l'include ils sont remplacés par le signe & par le serveur apache. (j'aurais peut-être du poster ca dans les topics php).

Reste une erreur répétitive de <hr>, mais là je ne comprends absolument pas mon erreur.

document type does not allow element "HR" here; missing one of "APPLET", "OBJECT", "MAP", "IFRAME", "BUTTON" start-tag.

De même que pour l'erreur

Line 347 column 23: end tag for element "STYLE" which is not open.

document.write('</style>\n')

Voilà c'est tout, mais c'est déjà beaucoup.

Ah oui, l'URL c'est http://www.marcarine.be

Merci

Lien vers le commentaire
Partager sur d’autres sites

Je me réponds à moi-même car juste après avoir posté j'ai essayé de corriger une erreur, depuis: page blanche (ou plutot bleue). après le css, il ne prenait plus rien.

mais voilà c'est corrigé.

Marc

Lien vers le commentaire
Partager sur d’autres sites

D'abord j'aimerais savoir quel est l'intérêt d'être validé W3C, si ce n'est de pouvoir l'annoncer avec un joli logo en bas de page ?

Personnellement si j'essaye de respecter les standards c'est principalement pour essayer de rendre les sites plus accessibles et pour faciliter le travail du développeur qui répondra mon code.

Il faut avouer aussi que certaines balises html comme <font> me donnent des boutons...

Lien vers le commentaire
Partager sur d’autres sites

D'abord j'aimerais savoir quel est l'intérêt d'être validé W3C, si ce n'est de pouvoir l'annoncer avec un joli logo en bas de page ?

Voici, par exemple, une réponse très concrète à ta question :

http://forum.alsacreations.com/topic-1-10809-1.html#p87913

Pour ta première erreur, tu as sans-doute placé ton <hr /> au sein d'un élément qui ne le permet pas (<p>, <hn>, etc.).

Pour ta seconde erreur, je n'ai pas pris le temps de voir le code, mais il faut absolument éviter de placer tes scripts au sein du document :

- premièrement parce qu'il ne s'agit pas de HTML mais de surcouches (ça permettra déjà d'avoir un document HTML propre et valide)

- deuxièmement parce que ça va te faciliter énormément les mises à jour : tu ne modifieras qu'un seul fichier .js au-lieu de revoir toutes tes pages.

Bonne chance ;)

Lien vers le commentaire
Partager sur d’autres sites

Merci, j'ai trouvé le problème du <hr>. Il est en effet à l'intérieur d'une balise <span> qui est donc une balise enligne et pas une balise bloc.

Donc logiquement, si je remplace les span par des div, je ne devrais plus avoir ce problème.

Je mettrai ca en place ce soir

Marc

Lien vers le commentaire
Partager sur d’autres sites

En outre, lorsque tu as un code qui n'est pas valide, tu t'exposes à des problèmes dus au fait que les navigateurs vont devoir en partie "interpréter" ton code avant de l'afficher, et différents navigateurs peuvent très bien interpréter différemment.

Cela peut entraîner des bugs inattendus au niveau de l'affichage, ou encore au niveau du comportement de tes scripts.

Sibelius a raison quand il te conseille de ne pas placer de scripts dans tes documents.

Malheureusement il faut admettre que les sites mélangeant du javascript au code html sont bien plus répandus que ceux qui font ça proprement en faisant bien la séparation.

La bonne méthode consiste à éviter toute présence de code javascript dans ta page, et seulement d'appeler le(s) fichier(s) .js.

Dans ce fichier .js tu peux utiliser des méthodes telles que: getElementsByTagName ou getElementById pour atteindre des éléments présents dans ta page pour pouvoir leur attacher des comportements javascript.

Cette manière de procéder fait partie d'une approche que l'on appelle "javascript non intrusif", je te laisse chercher des infos si le sujet t'intéresse, mais n'hésite pas non plus à poser des questions.

Lien vers le commentaire
Partager sur d’autres sites

Tous mes javascripts sont dans des fichietrs javascripts externes, et la validation ne pose pas de probleme.

Par contre vu que mes pages sont généralement créées avec un assemblage de modules php.

J'ai tout fait pour que chaque module php soit un ensemble complet.

Par exemple le menu du haut est un module complet incluant donc l'appel à son propre fichier css.

et là j'obtiens l'erreur

Line 110, column 67: document type does not allow element "LINK" here .

...heet" type="text/css" href="/inc/menuhori/pro.css">

Et de toute facon, ce menu m'oblige à utiliser le onblur et onfocus.

Je ne serai donc jamais validé W3C, tant qu'internet explorer ne sera pas compatible CSS, ou que je trouve une autre parade.

Lien vers le commentaire
Partager sur d’autres sites

L'important, c'est que le site s'affiche correctement sur la plupart des navigateurs, enfin surtout IE et FF, la plupart des gros sites ne passent pas la validation, et ça ne pose pas de pb... C'est un outil pour mieux construire son site, mais faut pas stresser s'il traine quelques trucs...

Lien vers le commentaire
Partager sur d’autres sites

il faut absolument éviter de placer tes scripts au sein du document :

- premièrement parce qu'il ne s'agit pas de HTML mais de surcouches (ça permettra déjà d'avoir un document HTML propre et valide)

- deuxièmement parce que ça va te faciliter énormément les mises à jour : tu ne modifieras qu'un seul fichier .js au-lieu de revoir toutes tes pages.

<{POST_SNAPBACK}>

Je suppose et j'espère que cela ne concerne pas les

<script type="text/javascript" language="javascript">

parce que, dans ce cas, comment on fait pour les statistiques ?

Lien vers le commentaire
Partager sur d’autres sites

Salut

Je suppose et j'espère que cela ne concerne pas les

<script type="text/javascript" language="javascript">

parce que, dans ce cas, comment on fait pour les statistiques ?

Oui et non: dans une balise script, on peut trouver 2 choses différentes:

- des fonctions

- des appels aux fonctions servant à générer du code

Les fonctions peuvent (doivent ?) être placés dans un fichier externe, et il y a tous les avantages à faire cela. Notamment le fait de centraliser ta fonction (si ton prestataire de stats demande à changer le code de la fonction, tu préfères le faire sur un seul fichier ou sur toutes les pages ?) et également celui de la mise en cache pour les visiteurs, réduisant un tant soi peu la vitesse d'affichage (les petits ruisseaux font les grandes rivières).

Tant qu'à parler validation, JS, et outils de stats, il faut noter que certains outils de stats JS fournissent un code JS qui, lui, va produire de l'HTML invalide. Le validateur ne le voit pas, mais il n'empêche..

**

Pour répondre à la question principale: à quoi çà sert d'être validé w3c, la réponse est assez simple. le w3c est l'organisme qui gère la manière dont l'HTML, le DOM, le CSS etc etc doivent être codés.

Le deal est le suivant:

- les webmasters "devraient" en tenir compte pour écrire leurs pages

- les concepteurs de navigateurs web "devraient" en tenir compte pour que les pages des webmasters apparaissent comme ils l'ont décidé.

Bien sûr, un webmaster peut écrire n'importe quoi; bien sûr un programmeur de navigateur web peut implémenter des fonctions farfelues dans son logiciel. Mais au final, ce sera l'anarchie.

Tu aimerais, toi, que ton code HTML apparaisse n'importe comment parce que le concepteur du navigateur web que tu utilises a décidé de faire les choses autrement qu'à ta façon ? Moi non :blush:

C'est tout l'intérêt d'une norme unique qui gèrerait tout çà: et cette norme c'est le w3c.

Dernier point en revanche: celui de la validation w3c par un robot (souvent l'outil "validator" fourni par le w3c lui-même). Il faut garder à l'esprit que ce n'est qu'un robot très faillible. Une page peut parfaitement ne pas être valide, et se voir attribuer la validation par le robot du w3c. J'aurais bien expliqué pourquoi, mais Monique l'a récemment dit bien mieux que je ne l'aurais fait donc il est plus simple que je te renvoie vers son message :)

valide ne signifie pas conforme

Lien vers le commentaire
Partager sur d’autres sites

Les fonctions peuvent (doivent ?) être placés dans un fichier externe, et il y a tous les avantages à faire cela. Notamment le fait de centraliser ta fonction (si ton prestataire de stats demande à changer le code de la fonction, tu préfères le faire sur un seul fichier ou sur toutes les pages ?)

Pour avoir des statistiques de chaque page, je suis obligée de mettre le code sur chaque page. Pour certains fournisseurs de statistiques il faut même indiquer le nom de la page.

Je ne vois pas comment je peux "centraliser".

Lien vers le commentaire
Partager sur d’autres sites

Je suppose et j'espère que cela ne concerne pas les

<script type="text/javascript" language="javascript">

parce que, dans ce cas, comment on fait pour les statistiques ?

<{POST_SNAPBACK}>

Très simple : on évite les attributs obsolètes et invalides (language) et ça donne :

<script type="text/javascript">tonfichier.js</script>

Lien vers le commentaire
Partager sur d’autres sites

Pardonne ma nullité Sibelius.

Je dois créer un fichier .js (je suppose un fichier .txt à renommer en js ?) et il n'y aura plus de marqueur sur chaque page ? et actuellement, sur chaque page, je mets le nom de la page

mesure("Mesure Pro", "accueil");

mesure("Mesure Pro", "renseignements");

(Ne hurlez pas de désespoir en lisant ma question :D )

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...