Code xhtml pour site en français

Résolu/Fermé
Sémoua Messages postés 170 Date d'inscription mercredi 16 décembre 2009 Statut Membre Dernière intervention 29 juillet 2011 - 17 juil. 2011 à 00:27
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 - 19 juil. 2011 à 12:56
Bonjour,

le validateur (W3C) me donne une erreur fatale =)

En enlevant les accents aiguë, circonflèxe, grave, cédille... de notre belle langue française dans mon <p>paragraphe<p/>, qui est dans <body> de ma page index.php... le validateur accepte la page et la valide sans aucune faute. Ce qui n'est pas le cas avec les accents.

Donc il doit me manquer quelque chose ici, mais quoi ? ;

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >

Voici le rapport:

Dans ce document XHTML, aucune indication de jeu de caractères n'a pu être trouvée.
En revanche, une balise Meta contenant une indication d'un jeu de caractères a été trouvée (iso-8859-1).
Cette manière d'indiquer le jeu de caractères n'est pas reconnue pour les documents XHTML et ne devrait être
utilisée que par mesure de compatibilite avec HTML.
Veuillez ajouter une déclaration XML avec indication de jeu de caractères au début de votre document
(par ex. <?xml version="1.0" encoding="iso-8859-1"?>,
ou bien faites envoyer par votre serveur une entête HTTP correspondante
(en PHP avec header('Content-Type: text/html; charset=iso-8859-1');).
Par manque d'indication de jeu de caractères, ce document a été traité par fallback avec UTF-8.


À l'avance,merci.



A voir également:

4 réponses

MastercroW Messages postés 1095 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 31 mai 2019 163
Modifié par MastercroW le 17/07/2011 à 00:58
Bonsoir,
Je ne sais pas si va t'être utile mais essaie avec ce corps la proposé par Dreamweaver CS5 :
<!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"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Document sans nom</title> 
</head> 

<body> 
</body> 
</html>
J'espère, que sa va t'aider
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
Modifié par avion-f16 le 17/07/2011 à 01:03
Salut,

Tu peux également utiliser l'attribut lang en plus de xml:lang sur la balise <html>

« En revanche, une balise Meta contenant une indication d'un jeu de caractères a été trouvée (iso-8859-1). Cette manière d'indiquer le jeu de caractères n'est pas reconnue pour les documents XHTML et ne devrait être utilisée que par mesure de compatibilite avec HTML. »
Non, la balise meta servant à indiquer l'encodage est également utilisée en XHTML.
Assures-toi que ton fichier soit également encodé en ISO-8859.

« Veuillez ajouter une déclaration XML avec indication de jeu de caractères au début de votre document 
(par ex. <?xml version="1.0" encoding="iso-8859-1"?>,  
ou bien faites envoyer par votre serveur une entête HTTP correspondante  
(en PHP avec header('Content-Type: text/html; charset=iso-8859-1');). »
La déclaration XML ne doit se faire uniquement si le document est servi en tant que document XML, donc avec « application/xhtml+xml » comme type MIME (Content-type).
La plupart des serveurs servent les fichiers .html, .htm et .php en « text/html », donc c'est inutile.
La méthode PHP proposée est l'équivalent de la balise meta, ceux deux méthodes précisent l'entête HTTP « Content-Type ».

Afin d'éviter les problèmes d'encodage :
1) Détermine l'encodage que tu désires utiliser.
UTF-8, ISO-8859-1 ou ISO-8859-15 sont les plus utilisés
2) Encode tes fichiers dans cet encodage (avec ton éditeur de texte)
3) Indique aux navigateurs l'encodage choisi grâce à :
- La balise meta :
<!-- HTML4 et XHTML --> 
<meta http-equiv="Content-type" content="text/html; charset={...}" /> 
<!-- HTML5 --> 
<meta charset="{...}" />
- Ou bien la méthode PHP :
<?php 
header('Content-type: text/html; charset={...}'); 
?><!DOCTYPE ...
- Ou bien le .htaccess (cf. Google)
- Ou encore la configuration du serveur si tu y as accès

Je t'invite à utiliser le validateur officiel :
http://validator.w3.org/
Les versions francisées ne sont pas les meilleures.
La pensée mène le monde.
0
referencement-google Messages postés 6 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 17 juillet 2011 1
17 juil. 2011 à 05:50
Bonjour

Petite astuce, quand vous écrivez du texte dans un éditeur, apprenez les accents en code et tappé les. Vous êtes ainsi que certain que ça fonctionnera.

Merci
0
bg62 Messages postés 23590 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 15 avril 2024 2 362
17 juil. 2011 à 11:40
"Expert en Référencement Google. Envoyer moi un message privée si vous avez des questions."
ben voyons !!!!
et la charte de CCM tu as pris le temps de la lire ???
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
17 juil. 2011 à 13:15
Les entités HTML ne sont pas nécessaires si on respecte ce que j'ai dis plus haut.
0
Sémoua Messages postés 170 Date d'inscription mercredi 16 décembre 2009 Statut Membre Dernière intervention 29 juillet 2011 13
17 juil. 2011 à 17:17
Salut,

http://validator.w3.org/ me donne le message suivant:

Sorry, I am unable to validate this document because its content type is application/octet-stream, which is not currently supported by this service.

The Content-Type header is sent by your web server (or web browser if you use the file upload interface) and depends on its configuration. Commonly, web servers will have a mapping of filename extensions (such as ".html") to MIME Content-Type values (such as text/html).

That you received this message can mean that your server is not configured correctly, that your file does not have the correct filename extension, or that you are attempting to validate a file type that we do not support yet. In the latter case you should let us know that you need us to support that content type (please include all relevant details, including the URL to the standards document defining the content type) using the instructions on the Feedback Page.

Mes pages sont sur mon ordi et non sur le serveur de l'hébergeur.
Je ne suis pas bilingue et c'est mon 1er site :s

Avion, tu es trop technique pour moi, aie pitié.
Mastercrow ton code ne marche pas plus que le mien.
Referencement-google j'aime bien ton idée j'ai déjà vu une liste de ces codes, tu en as une pas loin ?... Tu peux me l'envoyer s'il te plaît, je vais m'en foutre une copie sur mon bureau =)

Je vais les écrire et repasser au validator et vous redonne des nouvelles

Merci

0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
17 juil. 2011 à 17:43
L'erreur donnée par le validateur signifie que ta page contient du PHP.
As-tu utilisé la solution par choix de fichier (envoi) ?
Le validateur ne comprend pas le PHP, il faut donc lui donner une page sans celui-ci.

Soit tu indiques une adresse http:// (après avoir mis ton site sur un serveur accessible par Internet) ou bien alors tu utilises l'onglet "Direct Input" qui permet de coller le code source qui tu peux récupérer via ton navigateur.
0
Sémoua Messages postés 170 Date d'inscription mercredi 16 décembre 2009 Statut Membre Dernière intervention 29 juillet 2011 13
17 juil. 2011 à 19:08
je suis sur l'onglet validate by file upload, le fichier est sur mon ordi ... pas sur le web.

J'ai enlevé le code php de index.php, marche pas.

J'ai fait saveas index.php pour index.html et j'ai enlevé le code php...
w3c dit : Sorry! This document can not be checked.
Validome dit : Erreur fatale : Dans la ligne 14 et la colonne 42 du document se trouve un caractère non valable.
Ce caractère n'est pas permis dans le jeu de caractères utilisé (utf-8).

@+
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
17 juil. 2011 à 19:31
Retirer le code PHP n'est pas une solution car du contenu généré par le PHP ne sera pas présent dans le code final.

Soit tu utilises la validation via une URI, soit en faisant un copier/coller du code source affiché par le navigateur Web dans l'onget « Direct Input »
0
Sémoua Messages postés 170 Date d'inscription mercredi 16 décembre 2009 Statut Membre Dernière intervention 29 juillet 2011 13
17 juil. 2011 à 20:19
J'ai retiré le code PHP juste pour tester, il est évident que ce n'est pas la solution =)

Et tu avais raison, le même fichier : en html, il est valide et en php il est invalide.

Via une URI je ne peux pas, pas encore ;o)
Et j'ai fait ton truc via direct input et oOoOoo ça marché et de plus j'ai une note de 100% à la validation du 1er coup... Pour une première je trouve ça FANTASTIQUE... J'ai le sourire fendu jusqu'aux oreilles. C'est peut-être juste la chance du débutant... Il me reste à valider toutes mes pages maintenant.

Un gros merci avion-f16
0
Sémoua Messages postés 170 Date d'inscription mercredi 16 décembre 2009 Statut Membre Dernière intervention 29 juillet 2011 13
17 juil. 2011 à 20:33
Oupsss....

Bon j'ai quand même ce message et je n'y comprends rien à rien !

Notes and Potential Issues

The following notes and warnings highlight missing or conflicting information which caused the validator to perform some guesswork prior to validation, or other things affecting the output below. If the guess or fallback is incorrect, it could make validation results entirely incoherent. It is highly recommended to check these potential issues, and, if necessary, fix them and re-validate the document.

Info Using Direct Input mode: UTF-8 character encoding assumed

Unlike the "by URI" and "by File Upload" modes, the "Direct Input" mode of the validator provides validated content in the form of characters pasted or typed in the validator's form field. This will automatically make the data UTF-8, and therefore the validator does not need to determine the character encoding of your document, and will ignore any charset information specified.

If you notice a discrepancy in detected character encoding between the "Direct Input" mode and other validator modes, this is likely to be the reason. It is neither a bug in the validator, nor in your document.

Tu peux m'expliquer en vulgarisant s'il-te-plaît ? Merci !
0