Publié par : Taz-G | mai 12, 2008

F1

Quand on conçoit un logiciel, il peut être plus ou moins important de rédiger et fournir une documentation avec. Souvent, le menu “aide” renvoie vers le site Internet de l’éditeur, là où la documentation peut être lue online. L’avantage, c’est qu’on est certain que la documentation est correctement mise à jour. L’inconvénient, c’est que sans connexion Internet ou si le site est en panne, on est privés d’informations capitales.

Help KeyPersonnellement je suis encore habitué à pouvoir accéder à la documentation du logiciel sans utiliser de connexion Internet. Les Inconvénients de cette disponibilité locale sont que ce fichier prend de la place (inutile ?) sur le disque et, si une mise à jour est disponible, c’est tout le contenu informatif qui devra à nouveau être téléchargé.

Dans ce deuxième cas, il faut se poser la question du format du document. Très classiquement, c’est à un document PDF imprimable qu’on peut s’attendre. Mais non moins classiquement, c’est un fichier d’aide HTML avec sa fameuse interface de recherche par mot clé et d’index qui s’ouvrira.

Malheureusement en cherchant un peu j’ai appris que ces fichiers sont en fait des fichiers compilés pour Windows. Pour les créer il faut d’ailleurs utiliser des logiciels de la firme, même s’ils sont téléchargeables gratuitement. Ca ne pose aucun problème tant que le logiciel n’est destiné qu’à tourner sous Windows, mais dans les autres cas il faut entretenir plusieurs versions du module d’aide, à inclure directement dans le logiciel… Ca demande du temps de développement qu’on ne peut pas toujours se permettre, ça gonfle la taille du logiciel, etc.

De fait, suite à une auto-discussion sur un forum (j’ai toujours l’art de poser des questions dont moi seul peux répondre, faut pas s’inquiéter), j’aimerais re-soulever de façon anecdotique les limitations de l’interpréteur HTML du langage de programmation Java (je parle version 1.4.2, voire 1.5, non testé sur supérieures)

  • Ne pensez pas pouvoir faire de l’XHTML. L’utilisation de balises auto-fermantes (comme <br />) se traduira par l’impression du caractère “>” même si la balise sera interprétée. Déclarer le fichier HTML comme étant de l’XML ne changera rien… Java s’attend à recevoir de l’HTML tout court.
     
  • Si vous essayez de définir le codage de la page HTML (<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />) avant la déclaration de la feuille de style (<link rel=stylesheet type="text/css" href="../style.css">), cette dernière sera ignorée pour une raison obscure (pas de style c’est moche).

Ce ne sont que deux gros défauts trouvés en 5 minutes… imaginez la suite.

En bref pour l’exemple, si vous avez une version online de votre documentation réalisée sous respect des standards du Web, vous êtes désignés volontaires pour fabriquer une deuxième version non standard (douleur)… maintenir ainsi deux versions risque de demander beaucoup d’efforts.

(Source originale de moi-même)

Déprimant… Par contre pour une utilisation des balises HTML basiques (sans style CSS, là où la connaissance des balises de mise en forme n’est pas du luxe), Java permet dans ses composants graphiques JLabel d’injecter un peu d’HTML. C’est bon à souligner quand on sait que ce comportement est activé par défaut et que les résultats obtenus peuvent surprendre (c’est tout à fait normal en fait) si le cas n’a pas été géré. Pour désactiver l’interprétation automatique de l’HTML dans un JLabel, on peut :

  • Echapper systématiquement tout le contenu d’un JLabel de ses caractères HTML (la librairie commons de Jakarta fera très bien l’affaire). Le hic c’est que si le texte ne commence pas par <html> , le résultat risque d’être drôle, donc il faut rajouter systématiquement ces balises même si on n’en a pas besoin.
     
  • Désactiver l’option pour le composant avec la méthode putClientProperty("html.disable", Boolean.TRUE);

Pour conclure, si la mise en forme est un vrai casse tête de compatibilité dans le domaine du web (sauf si tout le monde respectait les standards), elle est, encore à l’heure actuelle, un vrai casse tête d’utilisation dans la programmation pure. Je parle bien sur ici d’un simple label, mais les layout de mise en page, en Java, ne sont pas simples à maîtriser non plus.

Enfin… si tu ne trouves pas ton bonheur avec F1, press ANY key.

Press Any Key


Répondre

Votre réponse :

Catégories