5568 sujets

Sémantique web et HTML

Bonjour à tous,

Je fais face à une erreur de validation W3C sur un site internet, et je fais appel à votre expérience.

La seule erreur vient de la balise BASE, définissant ma base des URLs relatives(site multi-domaines, et je n'ai pas la main sur les DNS).(Spec W3C en EN, Spec W3C en FR, page W3SCHOOL).


Voilà un extrait du code - simplifié - en question :


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<base href="http://www.xxx.ch/" />
<link rel="stylesheet" type="text/css" href="http://www.xxx.com/css/xxx.css" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
etc...


L'erreur retournée par le validateur W3C est la suivante :

a écrit :
<base href="http://www.xxx.ch/" />

The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).


La question est la suivante : pourquoi le validateur me refuse la validation ? Smiley confus
La balise est valide, et est correctement placée et fermée.

Merci pour vos avis !

NB: Je sais que la validation W3C n'est pas un objectif en soit, mais cette erreur étant la seule relevée, il serait dommage de passer à côté d'un site W3C valid Smiley cligne
Modifié par SqTH (14 Jul 2010 - 16:13)
Sans la page en ligne c'est difficile à dire. Perso je ne vois pas pourquoi utiliser cette meta, il suffit d'indiquer dans une variable php l'url de base du site. Smiley cligne
Bonjour,

Aucun problème avec ton bout de code (la seule erreur est l'absence de <title></title> dans le head).

Le problème est ailleurs.
Bonjour et merci pour vos réponses !

Effectivement je pourrai régler le problème en PHP, mais ma question était le pourquoi de la non-validation, et non le comment de la redirection Smiley smile

Je doute que le problème soit ailleurs. Lorsque je supprime la ligne de code, le document est W3C Valid.

La page en question est la home du site http://www.bonhote.ch/

Validation W3C de la homepage

Curieux non ? Le validateur n'aime pas cette balise.
Placée ailleurs, la balise génère davantage d'erreurs.

Comme je l'ai dit plus haut, ma question est de savoir pourquoi il refuse la balise si elle est spécifiée comme valide dans les spécifications. Un détail m'a échappé ?

Merci Smiley smile

NB: le site peut subir des perturbations au moments où je vous parle
Laurie-Anne a écrit :
Bonjour,

Aucun problème avec ton bout de code (la seule erreur est l'absence de <title></title> dans le head).

Le problème est ailleurs.


Aha j'avais zappé le <title>. C'est sûrement ça le problème. Smiley smile
Je me sens stupide Smiley smile ça m'apprendra à regarder le code PHP et non le code généré.

Joomla génère une BASE en plus de ma BASE, voilà l'origine de mon problème.

  <base href="http://www.bonhote.ch/" />
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  <meta name="robots" content="index, follow" />
  <meta name="keywords" content="Banque Bonhôte SA, banque, Neuchâtel, banque privée, private banking, investement, asset management, private banking, wealth structuring, gestion institutionnelle, gestion privée, ingénierie patrimoniale, private anleger," />
  <meta name="description" content="La Banque Bonhôte and Cie SA offre à ses clients les atouts d'une banque privée de longue tradition. Sa stratégie d'innovation active optimise la performance et la fiscalité du patrimoine de nos clients suisses et internationaux." />
  <meta name="generator" content="Joomla! 1.5 - Open Source Content Management" />
...
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<base href="http://www.bonhote.ch/" />


Merci pour votre aide !