Problèmes avec HandCoder

Le premier forum francophone sur l'éditeur de pages Web multiplateforme (Linux, Mac OS X, Windows) qui monte… KompoZer, héritier de Nvu, permet de créer vos pages Web graphiquement (wysiwyg) sans aucune connaissance du langage HTML.

Modérateur : chinon37

Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

Mettez-moi en ligne vos pages qui ne passent pas avec HandCoder 0.3.5 svp, je vais tâcher de regarder ce qui cloche.
Do-IT a écrit :Le soucis c'est qu'hc qui lance tidy avec des options par défaut imposées. Il y a toujours moyen de lancer tidy différemment, à la main ou via le menu 'navigateur' mais c'est pour les désespérés.
Si HandCoder passe un certain nombre de paramètres à Tidy, ça n'est pas pour embêter le monde mais parce que c'est nécessaire dans certains cas (notamment pour les fragments html). Malgré tout, si vous voulez tester vos propres paramètres en occultant tous ceux qui sont fixés par HandCoder, le script ci-dessous devrait faire l'affaire (Linux) :

Code : Tout sélectionner

 #!/bin/sh
 for p in $*; do file=$p; done;
 tidy -w 0 -i -raw --write-back yes --doctype strict $file
Enregistrez ce script sous le nom «tidy.sh» (par exemple), rendez-le exécutable, et définissez-le à la place de l'exécutable Tidy dans les options HandCoder. Adaptez la dernière ligne du script pour utiliser vos propres paramètres, évidemment.

J'utilise une version datée du 1er Septembre 2005 sur mon poste Dapper. Chez moi, avec les paramètres par défaut de HandCoder 0.3.5, Tidy ne tranforme pas un document HTML 4.01 Strict en Transitional, même encodé en utf-8.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

je viens de tidyser une page nouvellement créée en html strict, par le plugin TextFX de Notepad++ : le doctype passe en transitionnel, je ruse je ruse, toujours du transitionnel là où je voudrais du strict, ceci :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="fr">
  <head>
    <meta name="generator" content="HTML Tidy for Windows (vers 14 February 2006), see www.w3.org">
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
    <title>
      Ma musique de blues : Lightnin' Hopkins, le bluesman texan, tendre et heureux
    </title>
  </head>
  <body>
    <br>
  </body>
</html>
devient ceci :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
  <head>
    <meta name="generator" content="HTML Tidy for Windows (vers 14 February 2006), see www.w3.org">
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> etc..... tout le reste est pareil jusqu'à la fin
</html>
je me méfiais de Tidy par Handcoder par rapport à ce que vous disiez plus haut, de guerre lasse , je laisse tomber, fais "Annuler" pour retrouver mon strict, retourne dans Kpz et retidyse quand même par Hc (f7) et retourne dans Notepad++ : mon code est bien sage-indenté (il l'était déjà, en fait), tout en strict... :shock: y pourrait pas y avoir une logique dans le comportement de Tidy? Oui, elle y est forcément, si je pouvais apprendre à le lancer uniquement par lignes de commande...
Kaze a écrit :Chez moi, avec les paramètres par défaut de HandCoder 0.3.5, Tidy ne tranforme pas un document HTML 4.01 Strict en Transitional, même encodé en utf-8.
ben, chez moi, ça dépend, une fois oui une fois non (tout d'un coup un doute : est-ce que ça ne me serait jamais arrivé que par Notepad++ jamais par Hc? Est-ce une question raisonnable?)
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

Dans les paramètres que HandCoder passe à Tidy, il y a justement le paramètre « doctype » qui permet de forcer Tidy à conserver le doctype strict (le cas échéant). On peut le vérifier dans la console JS d'ailleurs. Donc en toute rigueur, un document qui passerait de Strict à Transitionnal serait le fait de Tidy, non de HandCoder. Pour vous ça en revient au même et je le comprends bien, mais pas pour moi.
Mongo Bob a écrit :y pourrait pas y avoir une logique dans le comportement de Tidy? Oui, elle y est forcément, si je pouvais apprendre à le lancer uniquement par lignes de commande...
Tidy est capricieux. Il est en perpétuel développement depuis son passage à SourceForge, donc son comportement évolue au fil des jours, et on ne trouve plus de version binaire «standard» hormis l'original de Dave Ragett (la fameuse version du 4 août 2000).
Pour le lancer en ligne de commande, c'est assez facile. Sous Windows™ pour débuter le plus simple est de se faire un répertoire de test avec une copie de tidy.exe et quelques fichiers HTML bien pourris. On ouvre une invite de commande (Menu Démarrer > Exécuter > cmd), on se place dans le répertoire de test, et on peut essayer diverses options, par exemple :

Code : Tout sélectionner

 tidy -w 0 -i -raw --doctype strict test.html
Sans l'argument --write-back, le document corrigé par Tidy est affiché dans l'invite de commande.
PS : pour la liste des arguments disponibles, voir http://tidy.sourceforge.net/docs/quickref.html
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

merci pour toutes les infos, si on peut agir sur les params de Tidy, on peut résoudre notre problème, déjà tu m'as fait comprendre que je pouvais corriger le pb de passage de strict en transitionnel dans Notepad++/plugin text FX "Html tidy clean document wrap" que j'utilise d'habitude.
J'ai copié les params de Hc : "--doctype,strict," pour les coller dans TIDYCFG, qui est le fichier-texte des params de config de Tidy dans NPPTextFX du dossier plugins de Notepad++.
En fait c'est pas coller : il faut changer la syntaxe en "doctype:strict" et rajouter cette ligne dans TIDYCFG pour l'option Tidy qui m'intéresse, à savoir "[TiDy clean Document - wrap]" et ben ça marche : plus de transitionnnel!
Si ni Tidy/Hc ni Tidy/Notepad++ ne me changent mon strict en transitionnel, de quoi pourrais-je me plaindre encore?
Avec les infos que tu donnes, faut que je me penche sur la question posée au début de ce topic et tenter d'y pallier, merci à bientôt
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

Je confirme que Tidy transforme

Code : Tout sélectionner

    <li>
        <a id="adeux" href="#">2</a>
    </li>
en

Code : Tout sélectionner

    <li>
        <a id="adeux" href="#" name="adeux">2</a> 
    </li>
mais en quoi est-ce gênant finalement ?
Au pire, si vraiment tu ne veux pas d'attribut «name» sur tes liens, tu peux mettre les attributs ID dans <li> plutôt que dans <a>.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

Kaze a écrit :tu peux mettre les attributs ID dans <li> plutôt que dans <a>.
exact. Je crois que j'y avais même pas pensé. :cry: Oui mais si mon <a> n'est pas dans un <li>? Je me dém... Ah, bon.
Sinon, c'est cause que je croyais que <name> était déprécié et je vois maintenant qu'il n'en est rien en allant voir la spécification html du W3C, donc MB un peu à l'ouest.
C'est simplement à la rigueur, dirais-je pour me rattraper lamentablement, que ce <name> est superflu, que je ne veux pas créer d'ancre là, mais un lien, ce qui est tout le contraire. Bon je vais styler mes <li> au lieu de mes <a>, de toute façon, je suis tellement content d'avoir forcé Tidy/Notepad++ à garder mon strict.
Pour info : j'ai tenté "write-back:no" dans les param de Tidy/Notepad++ pour bloquer la création du <name>, ça marche pas. A bientôt...
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

Mongo Bob a écrit :C'est simplement à la rigueur, dirais-je pour me rattraper lamentablement, que ce <name> est superflu, que je ne veux pas créer d'ancre là, mais un lien, ce qui est tout le contraire.
Certes, cet attribut «name» est superflu, mais il ne change rien : à partir du moment où tu définis un ID, tu définis une ancre. Et ce, pas seulement sur un élément <a>.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

Je modifie quelques mots dans le texte de ma page dans Notepad++, j'enregistre et retour dans Kpz : la page Kpz devient totalement noire, message "Kpz doit fermer", ce qu'il fait, je rouvre Kpz et contrôle : la modif de texte est bien passée. Je n'ai rien dans la console js.
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

KompoZer plante chaque fois que tu fais une modif dans Notepad++ ?!?
Si ça ne se produit qu'avec une seule page, merci de la mettre en ligne.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

Kaze a écrit :KompoZer plante chaque fois que tu fais une modif dans Notepad++ ?!?
mais non, pas à chaque fois, j'ai fait d'autres modifs dans cette page sans plantage avant et après celui-ci, j'ai bien vu ta demande de mettre en ligne les pages qui posent problème, mais ceci n'est pas répétitif et n'arrive pas toujours dans la même page.
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
chinon37
Animal mythique
Messages : 5319
Inscription : 21 mars 2005, 10:17

Message par chinon37 »

si je peux mettre mon grain de sel :oops:
Je fais sans arrêt la navette entre Notepad++ et KpZ (ce soir une cinquantaine de fois) et jamais de plantage
Préferez Kompozer 0.8 à Nvu
Défendons nos valeurs, adhérons à l'APRIL
La Démocratie, c'est quand on frappe à votre porte à 6h00 du matin, et que c'est le laitier.
Mongo Bob
Varan
Messages : 1903
Inscription : 10 sept. 2005, 01:51

Message par Mongo Bob »

comme moi, et une fois sur 50, ça plante! j'ai pas dit que c'était la catastrophe, d'ailleurs...
Win:Kpz version 0.7.10 (20070831)
Ubuntu:Kpz v 20090206
2 tutos :
http://josar.free.fr/index.html
http://info.sio2.be/kpz/
1 nécessité :
http://www.geckozone.org/forum/viewtopic.php?t=51228
Do-IT
Iguane
Messages : 537
Inscription : 03 juil. 2005, 09:46

Message par Do-IT »

Kaze a écrit :Do-IT, au secours !
...Mettez-moi en ligne vos pages qui ne passent pas avec HandCoder.
Trop désolé pour le retard, je suis stressé en ce moment.

Pour facilité mon passage à l'utf-8, je veux utiliser les caractères spéciaux html4. (Outils > Préférences > Avancées)
Ca me facilitera également l'édition avec un éditeur externe. (L'histoire des fichiers php utf-8 qui ne sont pas reconnus en utf-8 à cause du caractère de démarrage, ... Faudra se remettre dans le bain.)

Tidy sur demande uniquement.
Nouveau fichier

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta
 content="text/html; charset=ISO-8859-1"
 http-equiv="content-type"><title>test3</title></head>
<body>&&eacute;"'(-&egrave;_&ccedil;&agrave;)=</body></html>
Dans l'editeur externe (notepad++)

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><meta
 content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>test3</title></head><body>&&eacute;"'(-&egrave;_&ccedil;&agrave;)=</body></html>
Un coup de tidy avec les paramètres par defauts.
Dans l'onglet source ca ne bouge pas, dieu seul sait pourquoi j'ai toujours mes caractères html alors qu'ils ont réellement disparu du fichier source.
Dans l'éditeur externe

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta name="generator" content="HTML Tidy for Windows (vers 12 April 2005), see www.w3.org">
    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
    <title>
      test3
    </title>
  </head>
  <body>
    &é"'(-è_çà)=
  </body>
</html>
Voilà pourquoi je dis que je ne peux pas passer à l'étape suivant utf-8. En prévision de php bien sûr.
Prochaine étape, tester le script linux avec mes paramètres. Je pourrai savoir la totalité des paramètres par defauts de tidy (surtout ceux qu'on ne voie pas) ?

[hs]Tu as eu mon mp ?
Redhat, CentOs, Mandriva, Ubuntu au boulot. Ubuntu à la maison. Vista et Xp grâce à la vente liée.
Soutenir KompoZer
Do-IT
Iguane
Messages : 537
Inscription : 03 juil. 2005, 09:46

Message par Do-IT »

La vengeance de la mémoire dans la peau. Episode 1. Episode 2.

Episode 3 : Test du script en ligne de commande

Code : Tout sélectionner

for p in $*; do file=$p; done;
/root/web/bin/tidy --keep-time yes --indent yes --wrap 120 --fix-uri no --doctype strict --write-back yes $file
Forcement, sans char-encoding raw ça me plaît beaucoup plus.
Je pourrai savoir la totalité des paramètres par défauts de tidy (surtout ceux qu'on ne voie pas) ?
Réponse dans la console, ce sont des paramètres dynamiques mais utiles quand même.

Ah, j'ai oublié l'épisode 0.

[hs2]Kaze, as-tu eu mon message ?
Redhat, CentOs, Mandriva, Ubuntu au boulot. Ubuntu à la maison. Vista et Xp grâce à la vente liée.
Soutenir KompoZer
Invité

Message par Invité »

En ligne de commande ca fonctionne correctement.
./tidy.sh fichier.html

Code : Tout sélectionner

#!/bin/sh 
for p in $*; do file=$p; done;
tidy --keep-time yes --indent yes --wrap 120 --fix-uri no --doctype strict --write-back yes $file
Mais quand j'appelle tidy.sh a partir de kompozer via F7, j'ai un doute dur le passage des options, surtout sur le nom du fichier.

Code : Tout sélectionner

hcFileIO: started application '/home/rudi/web/soft/tidy/tidy.sh' with 10 params: ',--char-encoding,raw,--fix-uri,no,--doctype,transitional,--write-back,yes,/home/rudi/web/inshare/index.html'
Evidemment le code n'est pas indenté.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.8) Gecko/20070914 Mandriva/2.0.0.8-1mdv2008.0 (2008.0) Firefox/2.0.0.8
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 4 invités