1

J'utilise depuis quelque mois l'AJAX dans mes dev de site web. Bien que quelque peu refractaire au début je trouve désormais que cette petite techno (ou plutot empilage de technos) est bien pratique.

Cependant j'ai remarqué il y a peu que l'utilisation d'AJAX me cassait mon code XHTML dans le sens ou celui passait d'un état valide à un état non valide avec des erreurs de syntaxe.

Par exemple il transforme mon entête
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">


en

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.1//EN">
<html>


et mes



en

<br>

Je vois vraiment pas d'où ça peut venir... Une idée?
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

2

Heu... quel est le rapport entre Ajax (qui n'est finalement qu'un buzzword, parlons simplement de JavaScript) et ton code HTML ? L'un n'influe pas sur l'autre sans que tu le demandes explicitement, normalement ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

Justement c'est la question que je me pose. En fait je valide mon code grâce au plugin FF HTML validator. Il s'agit d'une double validation qui passe par le validateur SGML et Tidy. Mon code apparait valide lorsque j'ouvre ma page, mais quand je déclenche un chargement AJAX et que j'utilise l'option "Revalider le corps de la page après execution Javascript" et bien là j'ai les erreurs mentionnées ci-haut.

C'est hyper embêtant car dans le cahier des charges de mon projet j'ai AJAX + code valide...
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

4

tidy modifie l'HTML, pas le validateur. regarde tes options du cote de tidy... mais je vois pas pkoi tu utilises ca dans ton cas.

5

En effet Tidy modifie mes <br /> en <br> et l'analyseur SGML casse mon entête. Dois-je en déduire que mon code est toujours valide et qu'il ne s'agit là que de bugs de la part des analyseurs?
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

6

c koi ton analyzeur? c'est quoi l'html finale que tu as ds le browser... si c pas bon, gicle ces merdes, c tout.
tidy c utile quand tu prends de l'html qq part (utilisateur etc.) pour le resortir d'une facon plus ou moins consistante... et ton analyseur sgml... vois pas l'interet

7

En fait HTML validator c'est un validateur en temps réel, lorsque je navigue une icone en bas de FF m'indique si la page affichée actuelement est valide ou non et dans le dernier cas me donne une liste des erreurs rencontrées.

Lorsque je charge ma page (qui est écrite en XHTML dans les règles de l'art avec une entête complète et des balises bien fermées) il me dit qu'elle est valide, et lorsque je clique sur un lien qui charge une page dans une div (grâce à l'AJAX) il me dit qu'elle est toujours valide car le plugin ne réagis que si on refresh une page ou si on en change mais ne détecte pas les changement de div du à l'AJAX. C'est pourquoi il existe une fonction qui revalide le code sur demande en prenant en compte l'éxécution du Javascript (donc en prenant en compte le nouveau code de la page avec la div changée), et là mon code n'est plus valide et contient des erreurs comme répertoriées au ./1

Voilà.

PS: [HS] C'est moi où on est en 2010 sur Yaronet? (voir bas de la page)


» yN ©2010 - Aide / Charte
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

8

Bah, <br>, c'est du HTML valide, mais pas de l'XHTML valide. Tidy nettoie ça comme du HTML apparemment, pas comme du XHTML.

De même, tu ne peux pas utiliser un analyseur de SGML sur de l'XHTML, l'XHTML est du XML, pas du SGML. (Le HTML est du SGML, en revanche, du moins jusqu'à la version 4.01.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

XML est pas un subset de SGML?

10

Kevin Kofler (./8) :
Bah, <br>, c'est du HTML valide, mais pas de l'XHTML valide. Tidy nettoie ça comme du HTML apparemment, pas comme du XHTML.

De même, tu ne peux pas utiliser un analyseur de SGML sur de l'XHTML, l'XHTML est du XML, pas du SGML. (Le HTML est du SGML, en revanche, du moins jusqu'à la version 4.01.)


Pour Tidy peut-être quoique là il est juste là en tant qu'analyseur et non en qualité de nettoyeur. Pour l'analyseur SGML je me suis fait la reflexion, cependant pourquoi pour des pages en XHTML il me dit que le code est valide quand il l'est?

J'avoue qu'il y a un loup... :/
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

11

sinon, pkoi tu te fais chier avec ca? j'veux dire, si tu ecris tes pages en xhtml, t'as juste besoin de lancer une validation w3c une fois que ton site est fini et hop, c oki.
Enfin, j'ai l'impression que tu en fais un peu trop avec ton tidy etc.

12

./9 > à quelques détails près oui (je ne sais plus quels sont ces détails, je sais qu'il y en a, enfin en général ça intervient pas)
mais même si ces détails n'interviennent pas, comme le SGML permet beaucoup plus de choses, ça ne sert pas à grand chose d'utiliser un validateur SGML pour vérifier du XML...
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

13

beh en fait, j'ai pas reussi a trouver une reference qui parlerait du fait que ce n'est pas vrai (XML !inclus SGML) (bon, j'ai pas cherche super lgtps non plus...)

14

Nan mais c'est vraiment des conneries du genre charset, quelque chose comme ça...

edit : en fait après vérification la spec XML dit que les documents XML valides sont tous des documents SGML valides ; mais en même temps si je me souviens bien l'utilisation des namespaces donne des documents qui ne respectent pas vraiment la spec XML de base (or maintenant c'est ça le modèle standard de document XML)

il me semble que ça donne des trucs qui ne respectent pas une DTD, parce que dans "xmlns:tralala=http://truc", du point de vue SGML, l'ensemble "xmlns:tralala" est un nom d'attribut (qui devrait donc être déclaré dans la DTD), alors que du point de vue XML namespaces c'est une déclaration... (et donc tralala n'est pas censé être connu d'avance, c'est juste une variable)
et des trucs qui ne respectent pas une DTD, en SGML, ça s'appelle des documents non valides ^^

c'est sans doute ça qui m'avait laissé le souvenir que « document XML correct » =/=> « document SGML correct »
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

15

nEUrOO (./11) :
sinon, pkoi tu te fais chier avec ca? j'veux dire, si tu ecris tes pages en xhtml, t'as juste besoin de lancer une validation w3c une fois que ton site est fini et hop, c oki.
Enfin, j'ai l'impression que tu en fais un peu trop avec ton tidy etc.


Bah en fait le but c'est de pas me faire ch... justement en n'allant pas à chaque fois sur le site du w3c et en faisant du copier-coller de mon code. Ce plugin me permet justement de me faciliter la vie de ce côté là.

On s'éloigne du problème sinon, la vrai question c'est est-ce que l'AJAX peut influencer sur des paramètres au point de bousiller le code (comme on l'a vu au ./1) ou alors est-ce que c'est un de mes analyseurs (ou les deux) qui me nique mon code et me renvoit donc qu'il n'est pas valide?
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

16

Ben même si tu veux pas utiliser systématiquement le validateur W3C, tu peux faire quelques tests avec, tu verras bien si ton plugin te raconte de la merde ou pas ^^
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

17

nEUrOO (./9) :
XML est pas un subset de SGML?

Non.
En SGML, <br /> est à interpréter comme <br>&gt;. Les navigateurs courants ne sont pas conformes au SGML à cause entre autre de la compatibilité XHTML. sick (Mais certains sont stricts et votre site va donner n'importe quoi dans ces navigateurs si vous mettez de l'XHTML dans un document déclaré comme HTML.)
http://www.cs.tut.fi/~jkorpela/html/empty.html
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

JoNas (./15) :
On s'éloigne du problème sinon, la vrai question c'est est-ce que l'AJAX peut influencer sur des paramètres au point de bousiller le code (comme on l'a vu au ./1) ou alors est-ce que c'est un de mes analyseurs (ou les deux) qui me nique mon code et me renvoit donc qu'il n'est pas valide?

Nan, mais le probleme c pas Ajax ou quoique ce soit, c'est juste le fait que tu utilises tidy qui te change ton xhtml en html (et c'est le BUT de tidy). Donc si tu veux pas ca, beh tu retires ce plugin qui a l'air moisi et tu fais ta validation w3c une fois que ton site est fini.... a la main (ou en utilisant des outils speciaux pour ca).

19

Mouais t'as raison ça viens du plugin, j'vais essayer d'en trouver un mieux qui m'upload mon code vers w3c en arrière plan ou un truc du genre. C'est dommage parce qu'il était bien utile...
avatar
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."

Benj Edwards - Why History Needs Software Piracy

- - -
Achat ou échange: topic de mes recherches Meilleur smiley = #helico# Obligatory XKCD

20

perso, j'utilise HTML-validator associé à la dev-tools, et c'est nikel pour validé mes sites
Ancien pseudo : lolo

21

ah oui, et aussi... faire de la validatioin comme ca a la volee, c'est pas genial pour les perfs (meme si tidy est assez rapide).
et puis, pour faire de l'(x)html, autant utiliser html purifier