Informatique
Développement Notes / Domino et Doctype HTML

Table des matières

Introduction

En conception Web, lorsque l'on sépare fond et forme et que l'on use massivement des CSS, on se retrouve très rapidement confronté au mode de rendu (voir à ce sujet le document de référence[1]). Ce document a pour but d'indiquer comment être maitre du doctype renvoyé par une application Lotus Notes/Domino.

Des pages Web d'une telle application sont générées principallement par 3 types d'éléments de structure :

Il est possible de personnaliser le HTML renvoyé par une vue[2] en utilisant un Formulaire nommé de manière particulière, aussi nous traitrons ensemble Vues et Formulaires. A noter que le système de $$viewtemplate fonctionne aussi pour les Navigateurs.


Agents

Le texte renvoyé par un agent avant la balise <html> sera traité comme des entêtes HTTP. Renvoyer un doctype ne pose cependant pas de problème.

Exemple :

Print |Content-Type: text/html; charset=UTF-8

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
            "http://www.w3.org/TR/html4/strict.dtd">

<html lang="fr">

<head>
|

Vues et Formulaires

Malheureusement, aucun mécanisme n'existe avant Domino... R6.5.3 ! Incroyable mais vrai... Voici donc les solutions qui se présentent au concepteur :

Domino < R6

Comme dis ci-dessus, pas d'alternatives sinon appeler "Joe la débrouille".

Un exemple de manipulation était proposé sur le très bon blog DarkBlog, mais malheureusement ce site est maintenant hors ligne et visiblement aucun mirroir n'a été créé... On retrouve cependant une sauvegarde sur archive.org : Génération de pages web Lotus Notes conformes aux standards du W3C - darkBlog !
Attention : comme spécifié en commentaire, cette astuce ne fonctionne plus à partir de Domino 6.5 !
Pour mémoire l'URL de l'article original : http://darkmag.net/darkBlog/index.php?2004/01/06/4-generation-de-pages-web-lotus-notes-conformes-aux-standards-du-w3c.

Domino R6 >= 6.0.5 ou R6.5 >= 6.5.3

Domino R6 renvoit un doctype HTML 4.01 transitionnal sans URL. A partir de la version 6.0.5 et 6.5.3 (voir les documents officiels IBM[3]) il existe une variable notes.ini DominoCompleteDoctype qui peut prendre plusieurs valeurs :

0 (default) (existing behavior) = <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

1 = <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd ">

2 = <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " http://www.w3.org/TR/html4/strict.dtd ">

Le choix est mince (pas de Doctype HTML Strict avec URL) et s'applique évidemment à l'ensemble du serveur...

Domino R7 >= 7.0.2

A partir de la version 7.0.2 de Notes/Domino, un champ spécial $$HTMLFrontMatter peut être utilisé dans les formulaires. La valeur de ce champ sera renvoyée comme le doctype, comme indiqué dans les release notes du produit :

Custom <!DOCTYPE> declaration
Users can now specify a custom declaration on a per form basis. When the field $$HTMLFrontMatter is present on a form, its contents will be placed in the generated HTML, ahead of the <html> tag, and the web server will not generate anything there automatically.

Références


Création le 15/07/2007
Dernière mise à jour le 12/10/2014

Un oubli, une erreur, une suggestion ? Rendez-vous sur le dépôt GitHub !