Les autres solutions et leur défauts

Où nous ont mené les différentes caractéristiques que nous attendions de ManyPage ?

D'abord, nous avons regardé les solutions existantes ou émergentes à l'époque.

Les éditeurs HTML : une solution de dépendance.

Au moment où nous recherchions une solution de développement de sites web, les éditeurs HTML n'étaient pas assez développés et les outils SGML étaient bien trop coûteux. Aujourd'hui, des éditeurs de texte HTML, comme Dreamweaver par exemple, offrent la possibilité d'insérer des objets définis dans leur BDD d'objets, de modifier ces objets dans la BDD et directement de répercuter ces modifications dans toutes les instances des objets insérés. Cette démarche objet est proche de celle que nous avons adoptée. Excepté le faite que si vous commencez à gérer votre site avec un éditeur HTML donné, vous y êtes lié jusqu'au bout du fait des balises spécifiques qu'il insère dans vos pages. Saufs décision explicite de la part du webmaster, nos propres objets restent extérieurs aux pages sources.

SGML, XML... pas encore vraiment disponible

Notre idée était de rajouter de l'information formatée à du HTML basic et de "précompiler" ces fichiers afin de remplacer cette information par un habillage graphique. Nous avons alors utilisé SGML pour mettre en oeuvre cette idée. Les informations ainsi ajoutées étaient par exemple la place du fichier au sein de la hiérarchie du site, ou des options précisant si le menu devait être placé au début ou en fin de page. On peut encore consulter une ancienne description de ces fichiers SGML ou un exemple.

Ce développement présentait deux dˇsavantages :

D'abord, il est très difficile de trouver des éditeurs SGML wysiwyg, faciles à utiliser et bon marché. Et les éditeurs XML ne sont pas encore répandus.

Deuxièmement, à chaque fois que nous voulions changer le design d'un site, nous devions modifier notre interpréteur SGML. Nous avions donc besoin de séparer le parseur de la description de l'habillage. Au final, ManyPage se comporte un peu comme un préprocesseur XLST (XSL Transformation : où XSL signifie Extensible Style Language, c'est à dire les feuilles de style des documents XML).

Bases de données en ligne et sites web dynamiques

On peut aussi considérer une autre approche classique. Elle consiste à mettre toute l'information à destination du site web dans une Base de Donnée et à générer à la volée un nouvelle page pour chaque requête en provenance d'un butineur. Un tel mécanisme présente deux inconvénients :

Forte consommation de ressource machine

Chaque appel à la base de donnée, ainsi que la génération de la page HTML correspondante consomme bien plus de temps de calcul que la seule obtention d'un simple fichier préexistant.

Difficulté d'accès pour les moteurs de recherche : Mauvaise indexation

Une information qui est seulement disponible à travers des scripts CGI ou ASP est mal connue sur le web car elle n'est pas accessible par la plupart des moteurs de recherche. Ce problème d'accès n'implique pas que les moteurs de recherche, mais aussi les utilisateurs. Qui ne s'est jamais retrouvé confronté à un formulaire vide, sans savoir quoi chercher dans la base de donnés, parceque ne sachant rien de son contenu.

Base de donnée comme stockage de l'information à publiée par export.

Une réponse à ces deux aspects consiste à exporter la base de donnée dans un contenu de pages HTML fixes et précalculées. Il reste alors deux questions à traiter.

Formatage fort de l'information

Il est intéressant d'utiliser une telle solution quand l'information est fortement structurée comme dans le cas d'un catalogue de produit ou d'un site d'offres d'emploi par exemple. S'il s'agit de gérer des pages HTML très variables, autant les ranger dans une arborescence de répertoires. Après tout, le système de fichier unix est une sorte de BDD optimisée pour ce type de travail.

Nécessité de gérer une Base de donnée

L'intérêt de gérer une base de donnée est de permettre à l'utilisateur des requêtes complexes, et dans ce cas l'effort en vaut la chandelle. Dans de nombreux autres cas, il est intéressant de ne pas avoir à se soucier de la pénible gestion d'une base de donnée.

Petites apartés

En fait, nous utilisons des bases de données dans certaines parties de nos sites web, et je le recommande dès que l'information est structurée et qu'elle favorise des recherches par requête complexes (ET, OU ...). Mais nous suivons alors systématiquement les deux démarches : nous exportons la base de donnée sous forme de pages HTML fixe pour permettre à l'utilisateurs et aux moteurs de recherche de découvrir le contenu de la base, et nous proposons un module de recherche sur cette base en simple complément.

Par ailleurs il est bon de noter que dans l'optique du tout dynamique (PHP par exemple est une autre solution à la mode, au problème de l'habillage des pages ), il peut être intéressant de mettre en place un proxy cache en frontal de son site web.

En ce qui concerne la manière de décrire l'habillage des pages

En fait le sujet principal de notre outil est de décrire les briques qui constituent un habillage pour transformer des données brutes en riches pages HTML.

C'est en fait le rôle que remplira à merveille la suite XML / XSLT / XSL. Mais aujourd'hui, et cela était d'autant plus vrai au moment ou nous l'avons développé, ManyPage est encore très utile au développement et à la gestion de gros sites web.

Divers projets similaires

WML

Peut etre le projet le plus similaire (et donc rival :-)...

"WML is a free and extensible Webdesigner's off-line HTML generation toolkit for Unix, distributed under the GNU General Public License (GPL v2). It is written in ANSI C and Perl 5, built via a GNU Autoconf based source tree and runs out-of-the-box on all major Unix derivates. It can be used free of charge both in educational and commercial environments."

Jessica and JML

JESSICA: an object-oriented hypermedia publishing processor (R.A. Barta and M.W. Schranz, JESSICA: an object-oriented hypermedia publishing processor. In Computer Networks and ISDN Systems 30(1998), Special Issue on the 7 th Intl. World-Wide Web Conference, Brisbane, Australia, April 1998, 239-249.)

Syndication with JML

WebComposition

H.-W. Gellerson, R. Wicke, and M. Gaedke. WebComposition: An Object-Oriented Support System for the Web Engineering Life Cycle, Computer Networks and ISDN Systems 29(8-13), April 1997

General reflexions

Hypermedia Patterns and Components for Building better Web Information Systems ( Martin Gaedke Telecooperation Office (TecO), University of Karlsruhe...)

Divers

ezpublish, spip, jahia

 

Copyright 1994-2009
Pascal Vuylsteker

Page modifiée le:
2/1/2004

Contact:
<pvk@vuylsteker.net>