Code xhtml pour site en français [Résolu/Fermé]

Signaler
Messages postés
170
Date d'inscription
mercredi 16 décembre 2009
Statut
Membre
Dernière intervention
29 juillet 2011
-
Messages postés
18496
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 janvier 2021
-
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.



4 réponses

Messages postés
1094
Date d'inscription
dimanche 3 octobre 2010
Statut
Membre
Dernière intervention
31 mai 2019
162
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
Messages postés
18496
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 janvier 2021
4 249
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.
Messages postés
6
Date d'inscription
dimanche 17 juillet 2011
Statut
Membre
Dernière intervention
17 juillet 2011
1
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
Messages postés
23075
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
19 janvier 2021
2 190
"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 ???
Messages postés
18496
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 janvier 2021
4 249
Les entités HTML ne sont pas nécessaires si on respecte ce que j'ai dis plus haut.
Messages postés
170
Date d'inscription
mercredi 16 décembre 2009
Statut
Membre
Dernière intervention
29 juillet 2011
13
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

Messages postés
18496
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 janvier 2021
4 249
L'UTF-8 est un choix qui fonctionne dans la plupart des cas, c'est un encodage universel.
Il est inutile de transformer des caractères accentués en entités HTML (& + nom + ;)
Messages postés
170
Date d'inscription
mercredi 16 décembre 2009
Statut
Membre
Dernière intervention
29 juillet 2011
13
Merci avion-f16 ça répond à ma question pour utf-8.

Dans le Doctype j'ai mis Strict sans m'occuper de Transitional et Frameset heureusement pour toi, mais j'aimerais savoir quand même... J'ai lu les différences mais sans comprendre quoi que ce soit. Si tu as envi de me vulgariser ça en 2 lignes, ne te gêne surtout pas =o)

Encore merci... je vais mettre en résolu mais je vais venir quand même voir ta réponse plus tard.
Messages postés
18496
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 janvier 2021
4 249
Le XHTML 1.0 existe en trois déclinaisons :

- Strict : comme son nom l'indique, c'est la norme la plus stricte.
Plusieurs balises et attributs jugés obsolètes (dépréciés) ont été retirés.
Les attributs de style (size, bgcolor, face, color, etc) ne sont plus valides.
Les balises <font>, <center>, <u> (et d'autres) disparaissent également.
Leur usage rend le document invalide.
Cette version exige une séparation du style et du code HTML, on est donc obligé d'utiliser le CSS via l'attribut « style », les feuilles externes ou la balise <style>.

https://www.w3schools.com/tags/default.asp
Tu peux voir dans la colonne de droite les variantes dans lesquelles les balises sont acceptées.

- Transitional : permet de conserver certaines balises et attributs obsolètes, avec entre-autres <iframe> et <noframe>.

- Frameset : autorise l'usage de <frame> et <frameset>

https://openweb.eu.org/articles/differentes_dtd
Messages postés
170
Date d'inscription
mercredi 16 décembre 2009
Statut
Membre
Dernière intervention
29 juillet 2011
13
Comme je n'ai aucune balise obsolètes, on oubli transitional et frameset. :D
Merci, ça fait ça de moins à m'occuper.

À propos d'utf-8, je l'ai changé sur toutes mes pages et là tous mes accents étaient des points d'interrogation dans des losanges noirs. Donc j'ai remis iso-8859-1.
Messages postés
18496
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
23 janvier 2021
4 249
Les losanges s'affichent lorsque le fichier est encodé en ISO-8859-1 mais que le navigateur l'affiche en UTF-8 (à cause de la balise meta).

L'encodage de fichier et celui de la meta doivent correspondre.