5568 sujets

Sémantique web et HTML

Bonjour,

j'ai lu les tutoriels sur le sujet et j'ai bien compris qu'il n'y avait pas de moteur de validation du code php, comme il y en a pour le html. Mon site est composé que de pages.php car j'ai 3 include dans chaque page et un millier de pages environ.

Dois-je utiliser dans le doctype comme dans votre tutoriel sur les include
<!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" lang="fr">

ou alors le
<!doctype html>
<html lang="fr">
que j'utilise actuellement et qui fonctionne très bien par ailleurs.

Je travaille sur Dreamweaver et quand je change ma page.php en page .html, il me corrige automatiquement les erreurs en particulier de />. Quand je repasse en .php et j'utilise la validation W3c de dreamweaver, de nombreuses erreurs ont été corrigées.

Faut-il le faire ou suis-je complètement à côté de la plaque, ce qui ne m'étonnerait pas Smiley lol !

Merci de répondre à un pauvre ignorant !
Salut Osiris67

Ce qu'il faut comprendre c'est que le validateur ne voit jamais le code PHP de tes fichiers.
Le serveur renvoi du html et le validateur prend en compte le doctype que tu as inclut.

Donc en gros c'est la même chose qu'avec html4 / html5, c'est toi qui décide qu'elles règles tu veux suivre, la partie PHP n'entre pas en ligne de compte.
Merci de ta réponse, car même si j'ai fait un gros site, je ne suis pas du tout spécialisé dans ce domaine. Comme je le reconstruis à l'heure actuelle (il a 8 ans), j'essaie, cette fois-ci, qu'il soit propre !

Comme je suis (du verbe suivre Smiley smile ) les instructions du forum (qui m'apporte beaucoup par ailleurs), je voudrais savoir, comme mes pages commence par <!doctype html>
<html lang="fr">, si le fait que mon validateur de deamweaver me fait une remarque suivante quand j'ai :
<?php include ('act_menu/menu_haut.php'); ?>  

Saw<?. Probable cause. Attempt to use XML processing instruction in HTML. (XML processing instructions are not supported in HTML (HTML5), est normal, même si cela marche ?

Est-ce qu'il faut modifier quelque chose à ce code ?

Merci de vos réponses éclairées.
osiris67 a écrit :
Est-ce qu'il faut modifier quelque chose à ce code ?

Non, mais dire par contre à Dreamweaver que c'est un script PHP et pas une page HTML.

À partir du moment où tu utilises même juste un peu de PHP dans un fichier, c'est un script PHP, et il faut l'indiquer à ton éditeur de code (Dreamweaver ici) si tu veux qu'il t'aide dans la saisie et la correction d'erreurs de ton code PHP. Que ton script PHP produise du HTML, du XML, du texte brut, du CSV ou tout autre format, on s'en fiche en fait.

Du coup pour la validation de tes pages HTML, vu qu'elles n'existent pas à l'état statique (fichier .html qui contient le code complet d'une page et rien que ça), il va falloir valider à partir du code HTML reçu par un client HTTP (ton navigateur par exemple, ou bien le validateur HTML du W3C). Tu ne peux pas faire valider comme HTML un code HTML qui contiendrait des bouts de PHP (que ce soit par Dreamweaver ou par le validateur du W3C).

Je supposes que tu as déjà testé et remarqué la différence entre ton code PHP d'une part, et le code HTML généré que tu peux voir une fois que tu as chargé ta page dans un navigateur? Parce que sinon il faut commencer par là, parce que conceptuellement tu nages dans la choucroute. Smiley cligne