A cause de l'évolution de HTML, qui devient de plus en plus un langage de mise en forme, les auteurs de documents HTML font de gros efforts pour produire des pages web attrayantes. Pour ce faire, ils doivent utiliser beaucoup des extensions récentes de HTML. Un effet pervers de ce comportement est qu'il conduit à des documents dont la syntaxe embrouillée est de plus en plus éloignée de l'esprit de SGML : les commandes standard sont " polluées " par des informations de présentation au lieu de refléter la structure du document ; de plus, beaucoup de commandes sont non-standard et dépendent fortement du logiciel client utilisé pour la consultation.
Un autre point négatif est que la complexification de HTML force les auteurs de web à conserver un " look " statique de leurs serveurs : il n'est possible de changer la présentation de l'ensemble du serveur qu'au prix d'une réécriture de tous les sources HTML. L'un des buts des outils que nous avons développés est de séparer le fond de toutes ces informations de présentation. Ils permettent de maintenir de maintenir des serveurs de grande taille et esthétiquement complexes sans les transformer en créations figées.
Pour s'affranchir des contraintes liées aux spécificités des différents logiciels de consultation et aussi de l'évolution de HTML, l'écriture des serveurs que nous développons est faite dans un macro-langage qui permet de spécifier une fois pour toutes les caractéristiques du langage cible. Ainsi la syntaxe HTML est décrite dans les fichiers de configuration du compilateur et, si HTML venait à être remplacé par un autre standard, seuls ces fichiers seraient changés pour effectuer la mise à jour. Par exemple la question des accents est alors réglée plus simplement qu'avec HTML seul. Un dernier confort apporté par de tels outils est l'automatisation complète du multilingue : à partir d'un seul fichier source qui regroupe les différentes traductions d'un document, le compilateur produit les pages web correspondant à chaque langue et les icônes permettant de changer de langue. Le fait de maintenir un seul document source assure que les modifications seront répercutées dans toutes les traductions.
La question de la mise en forme des documents est réglée par un mécanisme de feuilles de styles qui décrivent l'apparence globale du serveur et sont appliquées au moment de la publication. Ainsi quatre ou cinq feuilles de styles permettent de définir l'esthétique du serveur et il suffira de les modifier pour changer totalement son " look ", quelle que soit sa taille.
L'utilisation d'un web en Intranet est souvent liée à la mise à disposition des utilisateurs d'informations déjà existantes mais disponibles sous une autre forme. Ainsi, pour consulter une base de données SQL au travers du web, il suffit d'utiliser un module d'interfaçage (intégré dans nos outils). Cette approche permet par exemple de mettre la base à jour depuis des PC, de l'administrer sous UNIX et de la consulter sur n'importe quelle plate-forme. Dans ce cas, les pages web sont produites au vol par le serveur. Une autre façon de publier de l'information consiste à permettre aux utilisateurs de publier eux-mêmes des documents au travers d'une interface entièrement basée sur le web, au travers d'un gestionnaire de fichiers virtuel (le Virtual File Manager est utilisé à Centrale Lyon pour maintenir des archives de logiciels ainsi que plusieurs serveurs HP à caractère privé).
L'une des idées fondamentales de cette suite est le principe de la séparation des documents finaux et de leurs sources. Ceci présente plusieurs avantages :
Ces outils permettent en outre d'effectuer toutes sortes de vérifications sur les documents : vérification des droits d'accès aux fichiers publiés (niveau UNIX), vérification de la cohérence du serveur (liens internes entre les pages) ainsi qu'une vérification périodique des liens vers l'extérieur (les serveurs pointés existent-ils toujours, les documents n'ont-ils pas disparu ...).