KompoZer 0.8 + 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

KompoZer 0.8 + HandCoder

Message par Kazé »

Bonjour,

comme je l’ai indiqué dans l’annonce de KompoZer 0.8a4, HandCoder 0.3.x n’est plus compatible avec KompoZer 0.8.
Pour reprendre ce que j’ai écrit précédemment, voilà les principales fonctionnalités de HandCoder 0.3.x :
  1. correction de certains bugs de Nvu
  2. une librairie, partagée avec NsmConText, pour lancer des applications externes
  3. bouton + raccourci clavier pour éditer le document courant dans un éditeur externe
  4. alerte « fichier modifié », qui apparaît quand un document de KompoZer est modifié par une application externe
  5. possibilité de lancer le nettoyeur de balises avant sauvegarde
  6. possibilité de reformatter le code avec Tidy avant sauvegarde
  7. possibilité d’ouvrir et de sauvegarder des fragments de code (x)html, i.e. des documents HTML bien formés mais sans nœud <html>, <head> ni <body>
  8. meilleur support PHP (notamment sous Linux), voire ASP/JSP/Ruby (i.e. les balises <%…%>)
L’un des objectifs de KompoZer 0.8 est d’intégrer toutes les fonctionnalités stables de HandCoder : les deux devront donc évoluer parallèlement, ce qui m’empêche de fournir une version officielle de HandCoder pour l’instant.

KompoZer 0.8a4 intègre d’ores et déjà les points #1 à #4.
:arrow: Voilà une pré-version de HandCoder qui implémente les points #5 et #6 : HandCoder-20090513.xpi
[EDIT] Précision : les points #7 et #8 ne sont pas supportés pour l’instant, on ne peut donc toujours pas ouvrir des fichiers PHP ou des fragments HTML. [/EDIT]

En clair, c’est une version qui permet de confier le reformattage du code HTML à Tidy. Ça ne fonctionnera malheureusement pas sur MacOS X.
  • Image
Il n’y a donc pas encore de support pour les fragments HTML, ni pour les prologues PHP, et encore moins pour les balises courtes <%…%> : tout cela arrivera en son temps, la priorité restant de faire aboutir KompoZer 0.8. Par ailleurs, le point #8 n’a jamais fonctionné correctement (les prologues, en particulier, sont capricieux), il serait donc plus judicieux de reprendre complètement cette partie-là.

J’ouvre ce sujet pour regrouper toutes les questions et suggestions sur HandCoder pour KompoZer 0.8. Les rapports de bugs sont bienvenus, mais pas sur les points #7 et #8, bien évidemment.

Mise à jour : ajout d’une copie d’écran.
Dernière modification par Kazé le 14 mai 2009, 18:41, modifié 2 fois.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

J’en profite pour coller un résumé d’une discussion qu’on a eue sur le reformattage du code…
Il paraît à peu près évident qu’il vaudrait mieux l’intégrer à KompoZer ou à HandCoder plutôt que de le confier à une application externe qui pose tout un tas de problèmes (résultat variable selon la version utilisée, MacOS non supporté, difficulté supplémentaire de paramétrage…). Ainsi que je l’ai signalé dans un autre sujet, j’ai deux options pour remettre le code au carré :
  • intégrer Tidy dans KompoZer : indentation nickel-chrome, tout plein d’options de mise en forme, mais risque de dénaturer le code source (voire de perdre des éléments au passage)
  • bosser sur le sérialiseur XHTML de Gecko : pas d’options de mise en forme mais on est assuré de la fidélité du code (x)HTML. Laurent Jouanneau a proposé un patch long comme le bras pour ça, il faut que je voie si je peux l’implémenter et si ça reste compatible avec les spécificités de KompoZer (PHP notamment)
Le patch de Laurent n’est applicable que sur Gecko 1.9, or KompoZer 0.8 est encore en Gecko 1.8.
J’envisage donc d’intégrer Tidy dans KompoZer 0.8 bêta, sans l’activer par défaut : il faudrait installer HandCoder pour ça. L’avantage serait de garder un comportement stable sans HandCoder (avec un code HTML pourri, certes), et de laisser les utilisateurs avancés installer HandCoder s’ils veulent activer Tidy. Ça n’est qu’un projet, il faut d’abord que j’évalue le temps que ça prendrait.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
chinon37
Animal mythique
Messages : 5319
Inscription : 21 mars 2005, 10:17

Message par chinon37 »

Question sans doute idiote: on ne peut plus mettre l'icône de Handcoder dans la barre d'outils?

Edit: au temps pour moi :oops: ça m'apprendra à faire joujou avec l'alpha3 et l'alpha4 en même temps :oops: :? c'est l'alpha3 qui n'a pas l'icône, évidemment!!!
C'était bien une question idiote :P
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.
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Bonjour
Dans la série des questions idiotes...
Kazé a écrit :# meilleur support PHP
ne signifie donc pas "édition possible des fichiers .php" ?
Un meilleur support PHP, c'est très bien. Mais s'il n'est pas possible d'ouvrir les fichiers .php, ni par le gestionnaire de sites, ni par > Fichier > Ouvrir :?

Il y a sûrement un truc qui m'échappe.
[Edit]Ou bien fallait-il comprendre:
- ne pas encore parler du tout du point 8 ?
[/Edit]


Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.10) Gecko/2009042513 Ubuntu/8.04 (hardy) Firefox/3.0.10
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Zefling
Tyrannosaurus Rex
Messages : 2577
Inscription : 21 déc. 2004, 03:45

Message par Zefling »

:roll: Il dit qu'il ne marche pas pas et qu'il y a tout à revoir. Donc, ça sera présent, il faut juste patienter.

Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr-FR; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10
Mon blog de dév web ― Thème pour le forum Geckozone ― Le clavier Latin-9 fr sous Windows ― Raccourcis clavier pour Firefox
Debian 8 KDE avec Firefox & Nightly
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Zefling a écrit : ça sera présent, il faut juste patienter.
It's not a bug, it's a feature :oops:

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.10) Gecko/2009042513 Ubuntu/8.04 (hardy) Firefox/3.0.10
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

Désolé, visiblement ne n’ai pas été clair — comme à chaque fois que je tente d’être précis, du reste.
Ymai a écrit : Ou bien fallait-il comprendre:
- ne pas encore parler du tout du point 8 ?
Les points 1 à 4 sont inclus dans KompoZer, les points 5 et 6 dans HandCoder 0.4pre… et les 7 et 8, bah, pour l’instant y’a pas.
Ces deux points fonctionnaient plus ou moins bien dans les versions 0.3.x, je me demande s’il ne faudrait pas les reprendre entièrement plutôt que de les adapter à KompoZer 0.8 en l’état. Je tâche de trouver un moment pour vous faire ça rapidement.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Do-IT
Iguane
Messages : 537
Inscription : 03 juil. 2005, 09:46

Message par Do-IT »

Sans hc :
- Le bouton 'Éditeur externe' fonctionne,
- Double clic sur tous les fichiers php (même un fichier html avec l'extension php) > Ouverture avec l'éditeur externe > L'ouverture d'un fichier html se fait dans un nouvel onglet (l'onglet vide ne veut pas)

Avec hc0513 :
- Le bouton 'Éditeur externe' ne fonctionne plus

Code : Tout sélectionner

Error: gHelpers.OpenWith is not a function
Source File: chrome://handcoder/content/editorOverlay.js
Line: 703
Error: uncaught exception: [Exception... "'[JavaScript Error: "gHelpers.OpenWith is not a function" {file: "chrome://handcoder/content/editorOverlay.js" line: 703}]' when calling method: [nsIControllerCommand::doCommand]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: chrome://global/content/globalOverlay.js :: anonymous :: line 156"  data: yes]
Avec ou sans hc :
- Ouvrir un fichier html > Files > Open Files > Ouvrir un php > Ouverture d'une fenêtre système (ouvrir/enregstrer) > Un nouvel onglet se crée et le contenu est grisé
Redhat, CentOs, Mandriva, Ubuntu au boulot. Ubuntu à la maison. Vista et Xp grâce à la vente liée.
Soutenir KompoZer
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Do-IT a écrit : - Ouvrir un fichier html > Files > Open Files > Ouvrir un php > Ouverture d'une fenêtre système (ouvrir/enregstrer) > Un nouvel onglet se crée et le contenu est grisé
Dans mes préférences, j'ai bien coché "Toujours ouvrir dans un nouvel onglet" mais, dans ce cas précis, c'est bien une nouvelle fenêtre qui est utilisée.
Par contre, quand la case est décochée, c'est un nouvel onglet qui est utilisé.
La fonctionnalité marche à l'envers.

Dans la console, trois occurrences du message d'erreur

Code : Tout sélectionner

Erreur : dialog has no properties
Fichier source : chrome://mozapps/content/downloads/unknownContentType.xul
Ligne : 1
à chaque ouverture de fichier.

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.10) Gecko/2009042513 Ubuntu/8.04 (hardy) Firefox/3.0.10
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

Pour tout ce qui a trait au gestionnaire de sites, l’alpha5 devrait améliorer les choses. J’ai jeté un œil au code, il faut de toute façon que je fasse deux ou trois modifications dans ce gestionnaire de sites pour que HandCoder permette d’ouvrir relativement proprement les fichiers *.php sous Linux.
Do-IT a écrit :Avec hc0513 :
- Le bouton 'Éditeur externe' ne fonctionne plus

Code : Tout sélectionner

Error: gHelpers.OpenWith is not a function…
Rhaaaa, si je commence à oublier le nom des objets que je crée moi-même, ça va pas ! :oops:

s/OpenWith/OpenUrlWith/ :arrow: HandCoder-20090514.xpi
En espérant que ça fonctionne mieux… je ne m’explique toujours pas pourquoi la version 0513 a fonctionné chez moi.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Ymai
Tyrannosaurus Rex
Messages : 4220
Inscription : 12 mars 2005, 11:36

Message par Ymai »

Normal qu'il n'y ait pas un bouton "Redémarrer KompoZer" dans le gestionnaire d'Add-ons, après une désinstallation ?

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.0.10) Gecko/2009042513 Ubuntu/8.04 (hardy) Firefox/3.0.10
ymai
« Un enfant de cinq ans comprendrait cela ! Allez me chercher un enfant de cinq ans ! »
Groucho Marx.
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

C’est normal dans la mesure où c’est pareil avec Thunderbird 2 qui utilise le même noyau Gecko 1.8. Dans l’absolu, c’est ballot.

L’autre truc qui est casse-noix c’est que lorsqu’on installe une extension, la fenêtre des modules complémentaires se duplique pour proposer de redémarrer KompoZer. Par ailleurs, la vérification de compatibilité ne fournit aucun message quand on essaye d’installer une extension prévue pour une version non compatible de KompoZer.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Do-IT
Iguane
Messages : 537
Inscription : 03 juil. 2005, 09:46

Message par Do-IT »

Ymai a écrit :Normal qu'il n'y ait pas un bouton "Redémarrer KompoZer" dans le gestionnaire d'Add-ons, après une désinstallation ?
Idem.
Pour l'installation du pack de langue et pour hc, le bouton redémarrage ferme kz mais ne le redémarre quasi jamais (j'ai pas approfondi).

Ok pour le bouton "Éditeur" de hc0514
Redhat, CentOs, Mandriva, Ubuntu au boulot. Ubuntu à la maison. Vista et Xp grâce à la vente liée.
Soutenir KompoZer
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

:arrow: HandCoder-20090515.xpi
Je ne sais pas vraiment si ça valait le coup de publier cette version : certes, elle permet d’ouvrir des fichiers PHP et des fragments HTML, mais elle est bien buggée :
  • les prologues PHP sont rarement préservés ;
  • les fragments HTML sont systématiquement encodés en HTML et en ISO-8859-1. Était-ce déjà le cas avec HandCoder 0.3.x ?
Il faudrait aussi que l’arbre DOM s’adapte au contenu, en affichant un nœud <prolog> avant <html> si besoin est, et en masquant <html>, <head> et <body> pour les fragments. Idem pour la barre d’état. La vue "Source" montre le doctype sur les fragments HTML, pas terrible non plus.

Par ailleurs, les fichiers temporaires créés par HandCoder sont visibles dans le gestionnaire de sites. À corriger dans KompoZer 0.8a5.

Il faudrait que je regarde si je ne peux pas implémenter le support des fragments HTML directement dans le noyau de KompoZer. Une façon simple serait de considérer que tous les fichiers avec une extension *.html sont du HTML, et que ceux portant une extension *.xhtml sont du XHTML (Lapalisse n’aurait pas dit mieux) ; je n’aurais qu’à utiliser un marqueur spécifique pour que KompoZer ne sauvegarde que le contenu de <body>. Reste l’épineuse question de l’encodage des caractères…

Un autre aspect gênant, c’est que la version de Tidy qui est sur ma distro (Ubuntu 8.04 LTS), datée du 6/11/2007, n’utilise pas le même format d’arguments que celle que j’utilisais avec HandCoder 0.3.x. J’ai donc dû utiliser

Code : Tout sélectionner

 -i -w 
comme options de formattage pour spécifier que je voulais une indentation automatique sans retour à la ligne forcée, mais je présume que certaines options appliquées automatiquement par KompoZer ne vont pas fonctionner. Voilà une autre bonne raison d’essayer d’inclure Tidy dans KompoZer, même s’il n’est pas utilisé en standard, afin que HandCoder puisse utiliser ce Tidy embarqué plutôt qu’une application externe.

Bref, la seule leçon que je tire de ces quelques heures sur HandCoder, c’est qu’on est encore loin de pouvoir l’inclure dans KompoZer par défaut.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Kazé
Varan
Messages : 1743
Inscription : 10 févr. 2005, 10:26

Message par Kazé »

Hop, déterrage de topic.

Parmi les fonctionnalités de HandCoder que je n’ai pas citées, il y a un truc un peu couillon et spécifique à Linux : sur cette plate-forme, KompoZer est incapable d’ouvrir un fichier portant l’extension *.php, pour une sombre histoire de type MIME — et ce, même s’il s’agit d’un fichier HTML, sans aucun nœud <?php…?> : quand on essaye d’ouvrir un tel fichier, KompoZer refuse catégoriquement et propose de l’ouvrir avec une application externe. Agaçant.

Pour contourner le problème, HandCoder crée un fichier temporaire avec une extension *.html. Pas très élégant (et même carrément honteux) mais efficace.

Un développeur (Vivien Nicolas, pour ne pas le nommer) vient de m’apporter la solution sur un plateau, je vous fais grâce des détails techniques. Je peux désormais ouvrir les fichiers *.php sous Ubuntu, sans HandCoder, et surtout : sans créer de fichier temporaire ! Inutile de préciser que ça sera dispo dans l’alpha5 de KompoZer 0.8.

Moyennant une certaine quantité de travail, HandCoder pourrait être modifié de sorte à utiliser ce mécanisme et ne plus créer de fichier temporaire.
KompoZer lead dev
Ubuntu 10.04 Lucid Lynx — « L'erreur est humaine, mais vraiment foutre la merde nécessite le mot de passe root. »
Répondre

Qui est en ligne ?

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