HandCoder

Edition avancée du code HTML, support Tidy et ASP/JSP/PHP pour Nvu et KompoZer.


Fonctionnalités

HandCoder

Édition avancée du code HTML

  • liez Nvu à votre éditeur préféré : ConTEXT, PSPad, SciTE, Vim, Emacs...
  • HandCoder surveille les modifications, ce qui permet d'éditer une page simultanément en WYSIWYG et en mode texte
Tidy

code Nvu » <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html>
<head>

  <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">

  <title>test</title>
</head>

<body>

<div id="top">
<p>This is an example page.</p>
</div>

<div id="page">
<ol>

  <li>first item</li>

  <li>second item</li>

  <li>third item</li>

</ol>
</div>

<div id="footer">
<p>This is why I've developped HandCoder!</p>
</div>

</body>
</html>

code Tidy » <!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>
      test
    </title>
  </head>
  <body>
    <div id="top">
      <p>
        This is an example page.
      </p>
    </div>
    <div id="page">
      <ol>
        <li>
          first item
        </li>
        <li>
          second item
        </li>
        <li>
          third item
        </li>
      </ol>
    </div>
    <div id="footer">
      <p>
        This is why I've developped HandCoder!
      </p>
    </div>
  </body>
</html>

Reformattage automatique du code

  • laissez html Tidy indenter et nettoyer proprement votre code
  • remplacez les <br /> par des CR/LF dans les éléments <pre>
  • remplacez les URLs locales (file:///) par des URLs relatives
tag-asp.gif tag-jsp.gif tag-php.gif

Meilleur support PHP

  • édition WYSIWYG de fragments HTML (sans que Nvu ne rajoute les en-têtes HTML...)
  • possibilité d'inclure un prologue avant le DOCTYPE (authentification, etc.)
  • ouverture de fichiers *.php sous Linux, fenêtre "Insérer du code PHP" retaillable, et autres petites corrections ;-)
  • expérimental : support des balises courtes ASP/JSP (encore en développement)

Nota :


Installation

La localisation de HandCoder n'est malheureusement pas possible pour l'instant, c'est une limite de Nvu. En attendant, plusieurs packages sont proposés :

en-US fr-FR de-DE

Pour installer l'extension :

Ne pas installer cette extension sous Firefox !


Changelog


Roadmap


FAQ

Pourquoi Nvu reformatte-t'il mon code ?

Ceci est lié au mode de fonctionnement de Nvu, plus précisément à la façon dont le code HTML est sérialisé ; aller sur le blog de l'auteur ou sur le forum GeckoZone (ici et ) pour plus d'informations.

Personnellement j'utilise htmlTidy (que je déclare comme un éditeur HTML dans NsmConText, et comme "compilateur" HTML dans SciTE) pour "remettre mon code d'aplomb" avec mes options préférées : indentation, encodage, etc.

Je pense que ce reformattage de code n'est réellement gênant que pour le contenu des attributs : par exemple, <img src="<?php getImage() ?>"> ou <img src="{image}"> sont reformattés avec des entités, ce qui rend un template HTML inutilisable par un serveur PHP ; ce point est en cours de développement par l'auteur de Nvu.

Comment fonctionne Tidy ?

Tidy est un utilitaire libre en ligne de commande, créé intialement par Dave Raggett ; il est très utilisé pour reformatter du code HTML ou XML, ainsi que pour convertir des pages HTML en XHTML. Il est disponible pour Windaube, MacOS X, Linux et la plupart des systèmes.

Il dispose de très nombreuses options de configuration ; en tout état de cause, il permet de reformatter le code HTML bien mieux que ce qu'on pourrait faire "à la main".

HandCoder permet de lancer Tidy soit manuellement (F7), soit automatiquement (à chaque sauvegarde ou à chaque édition avec un éditeur externe). Dans les blocs <pre>, les balises <br /> sont remplacées par des fins de lignes (CR/LF).

Pourquoi Nvu modifie-t'il mon code PHP ?

Parce qu'il reformatte le code.

Nvu ne permet pas d'éditer des pages HTML qui contiennent du code PHP avant le DOCTYPE (le code PHP est déplacé dans le corps du document HTML), ce qui empêche d'utiliser des start-session ou d'éditer des templates PHP proprement. Nvu ne permet pas non plus d'éditer des pages ASP ou JSP, car les balises <%...%> ne sont pas supportées (non-conformes XML).

Nvu ne permet pas non plus d'éditer des fragments de code HTML : si on éditer avec Nvu un document qui ne contient aucune balise <html>, <head> ou <body>, Nvu inclut le fragment dans une page HTML vierge.

Nvu reste utilisable pour une utilisation basique du PHP, typiquement pour inclure des fragments de page (bannière, menus, etc.) dans un document avec un <?php include('menu.tpl'); ?>, ou pour réaliser des templates de code. Attention, par défaut, Nvu reformatte systématiquement le contenu des attributs HTML ; depuis la version 1.0 de Nvu, il y a une préférence avancée pour ne plus reformatter les attributs.

Comment fonctionne le support ASP/JSP/PHP ?

HandCoder dispose d'une fonctionnalité expérimentale, qui lui permet d'éditer sans les corrompre la plupart des fichiers asp, jsp ou php avec Nvu, y compris un squelette PHP du type :

<?php [... code PHP ...] ?>
<!DOCTYPE ... >
<html> [... page HTML ...] </html>

Cette fonctionnalité est encore en test, il faut modifier une préférence cachée pour l'activer ; voir ce message pour plus d'informations.

Principe de fonctionnement :

  • pour un squelette de page, le code précédent le DOCTYPE est sauvegardé dans un fichier temporaire, puis refusionné avec la page courante lors de la sauvegarde ; 
  • pour un fragment de page, tout le code est inclus dans une page HTML temporaire, puis extrait du <body> lors de la sauvegarde ;
  • les balises courtes (<?...?> ou <%...%>) sont transformées en balises compatibles XML pour l'édition (<?php...?>) ;
  • dans le cas d'un fichier ASP ou JSP, ces balises sont à nouveau transformées en balises courtes <%...%> lors de la sauvegarde.

Nota : quelque soit l'éditeur, si le code PHP devient complexe, il est fortement déconseillé de mélanger du code HTML et PHP dans une même page, car c'est vite très difficile à maintenir : l'utilisation de moteurs de templates tels que Smarty (le top du top) ou FastTemplates (très simple), pour séparer le code PHP de la présentation HTML, est très largement préférable.

Attention, HandCoder ne garantit pas à 100% que Nvu ne déteriorera pas votre document PHP.

Est-il possible d'utiliser Nvu pour publier un script PHP sur son serveur web, sans ouvrir le script avec Nvu... qui le modifie plus que dangereusement ?

En l'état, non. Personnellement j'utilise encore FileZilla ou gFTP pour la publication. Pour MacOS X, CyberDuck semble être un très bon client FTP.

Sinon, une application de synchronisation comme SiteCopy ou FTPsync.pl est une alternative intéressante ; le top serait un équivalent JavaScript qu'il serait possible d'inclure comme extension.

Je lance Firefox sur un fichier PHP mais ça ne fonctionne pas.

La prévisualisation HTTP est activée si, dans les paramètres du site, une addresse http est renseignée ; on peut alors visualiser un fichier html ou php avec une adresse http://monsite/mapage.html au lieu de file://C:/[...]/mapage.html ou ftp://monsite/mapage.html.

Free Counter last update:
2005-08-31