Brevet FR2896059A1 — publié le 20070713

PROCÉDÉ ET DISPOSITIF DE CRÉATION D'UN DOCUMENT HTML EN LIGNE Arrière-plan de l'invention Le domaine technique auquel se rapporte l'invention est celui des outils d'aide à la création des documents de type HTML (HyperText Markup Language). Plus précisément, l'invention concerne un procédé et un dispositif d'aide à la création de documents HTML très simples d'utilisation et dont l'utilisation ne nécessite aucune connaissance de la structure du langage HTML ni d'une quelconque technique de programmation. On connaît déjà des logiciels qui offrent une interface utilisateur graphique évoluée permettant à des utilisateurs non informaticiens de concevoir une page HTML simplement en manipulant des objets graphiques. De façon connue, les documents HTML produits par ces outils sont, traditionnellement, destinés à être rendus accessibles par des tiers. Pour ce faire, et de façon connue, la page HTML ainsi créée doit être hébergée par un serveur web dont l'administration, par exemple du point de vue de la sécurité informatique, requiert des connaissances techniques qui ne sont pas celles d'un utilisateur étranger aux techniques de l'informatique. C'est pourquoi les utilisateurs susmentionnés font généralement appel aux services d'une société spécialisée pour l'administration du serveur web et des documents HTML hébergés par ce serveur. La solution traditionnelle en deux étapes mentionnée ci-dessus, à savoir la conception du document HTML par l'utilisateur, puis la soumission de ce document à une société extérieure pour sa mise en ligne, n'est pas adaptée dès lors que ces documents HTML deviennent complexes. C'est notamment le cas lorsque des documents HTML comprennent des formulaires proposant des champs de saisie de données, puisqu'il faut prévoir, par exemple, un traitement sémantique permettant de valider le type des données saisies. En conséquence, lorsque de tels documents HTML doivent être produits, les utilisateurs novices oublient l'utilisation des logiciels simples à interface graphique connus de l'art antérieur et recourent, pour la conception du document et pour sa mise en ligne, à des sociétés externes. On comprend que cette solution allonge considérablement le temps de développement et de mise en service de ces documents. Objet et résumé de l'invention La présente invention concerne un procédé d'aide à la création en ligne d'un document HTML pouvant être mise en oeuvre dans un dispositif serveur dans un réseau. Ce procédé comporte : - une étape de réception, en provenance d'un dispositif client, d'une requête de création du document, cette requête comportant au moins un paramètre ; - une étape de sélection, en fonction de ce paramètre, d'au moins une 15 brique logicielle de production de code mémorisée dans une bibliothèque accessible par le dispositif serveur, une étape de création d'un arbre XML dont chaque noeud est constitué par au moins un paramètre d'exécution d'une des briques sélectionnées ; 20 -une étape de génération du document HTML à partir de cet arbre XML; et -une étape de mise en ligne rendant ledit document HTML accessible par le dispositif client. Corrélativement, l'invention concerne un dispositif serveur d'aide 25 à la création d'un document HTML en ligne dans un réseau. Ce dispositif comporte : - une bibliothèque comportant au moins une brique logicielle de production de code; - des moyens pour sélectionner au moins une de ces briques, en 30 fonction d'au moins un paramètre compris dans une requête reçue en provenance d'un dispositif client ; - des moyens pour créer un arbre XML dont chaque noeud est constitué par au moins un paramètre d'exécution d'une des briques sélectionnées ; 35 - des moyens pour créer le document HTML à partir de cet arbre XML ; et - des moyens pour mettre en ligne le document HTML de façon à le rendre accessible par le dispositif client. Le procédé et le dispositif d'aide à la création selon l'invention permettent ainsi de faciliter la création de documents HTML complexes par des utilisateurs non informaticiens. De façon pratique, le procédé et le dispositif selon l'invention offrent, à l'utilisateur novice, un certain nombre d'objets graphiques, qui peuvent être manipulés, par une interface simple, comme dans l'art antérieur, pour concevoir le document HTML. Une différence majeure avec l'art antérieur est que, selon l'invention, la création du document se fait par le dispositif serveur, celui-ci étant apte à mettre le document HTML en ligne de façon quasiment instantanée, ce qui facilite grandement sa validation par l'utilisateur novice. On comprend donc que tout l'intérêt de l'invention réside dans la génération rapide du document HTML à partir des requêtes de conception de l'utilisateur. Pour ce faire, le procédé et le dispositif d'aide à la création selon l'invention proposent une étape intermédiaire dans laquelle le document HTML est modélisé sous forme d'un arbre XML dont les noeuds sont constitués par des paramètres d'exécution de briques logicielles aptes, lorsqu'elles sont exécutées, à générer le document HTML. Dans un mode particulier de réalisation, le procédé d'aide à la création selon l'invention comporte au moins : - une étape de réception, en provenance du dispositif client, d'une requête de modification de ce document, cette requête comportant au moins un paramètre ; - une étape de sélection, en fonction de ce paramètre, d'au moins une brique logicielle de production de code dans la bibliothèque ; - une étape d'insertion, dans l'arbre XML, d'au moins un noeud constitué par au moins un paramètre d'exécution d'une des briques Java sélectionnées ; - une étape de génération du document HTML à partir de cet arbre XML modifié ; et - une étape de mise en ligne rendant le document HTML accessible par le dispositif client. Dans un mode particulier de réalisation, le procédé selon l'invention comporte au moins : - une étape de réception, en provenance du dispositif client, d'une requête de modification du document, cette requête comportant au moins un paramètre ; - une étape de suppression, dans l'arbre XML, d'au moins un noeud choisi en fonction de ce paramètre ; -une étape de génération du document HTML à partir de cet arbre XML modifié ; et - une étape de mise en ligne rendant le document HTML accessible par le dispositif client. Ainsi, le procédé selon l'invention est fortement interactif, puisque l'utilisateur peut, après avoir vérifié la première version de son document HTML en ligne, envoyer au serveur selon l'invention des requêtes soit pour ajouter des éléments dans son document, soit pour en supprimer. C'est principalement dans cette phase de modification que la structure intermédiaire sous forme d'arbre trouve son intérêt, puisque le serveur selon l'invention peut, par des techniques connues de manipulation d'arbre, apporter très rapidement les modifications souhaitées sur le document et mettre la version modifiée en ligne pour nouvelle validation. Dans un mode particulier de réalisation, la bibliothèque comporte au moins une brique logicielle de production de code qui permet, lors de l'étape de génération, d'insérer dans le document HTML, un champ de saisie de données, ce champ de saisie étant associé à un traitement de validation sémantique des données. Ainsi, le procédé selon l'invention permet de créer très rapidement un formulaire HTML. Très avantageusement, lorsque ce formulaire est mis en ligne, l'utilisateur peut tester que le champ de saisie est apte à effectuer le contrôle sémantique souhaité sur les données saisies dans ce champ. Dans un mode particulier de réalisation de l'invention, la bibliothèque comporte des briques logicielles aptes à produire un code 35 HTML conforme à des recommandations d'accessibilité numérique. Ainsi, le code HTML produit dans ce mode de réalisation de l'invention est conforme aux recommandations d'accessibilité numérique précitées. L'invention permet ainsi de respecter les recommandations WAI- 5 WCAG (Web Accessibility Initiative, Web Content Accessibility Guidelines) ou ceux de AccessiWeb. A titre d'exemple non limitatif, de telles recommandations prévoient que la navigation dans le document HTML produit peut être effectuée à la voix, chaque label associé à un champ de saisie dans un 10 formulaire pouvant être synthétisé vocalement. Dans un mode particulier de réalisation, les briques logicielles précitées sont des briques de traitement XSLT de production de code Java. Au cours de l'étape de génération du procédé selon l'invention : - on transforme l'arbre XML à l'aide d'une transformation XSLT pour 15 obtenir un fichier JSPX, et on enregistre ce fichier JSPX dans une mémoire du dispositif serveur ; - on compile le fichier JSPX pour obtenir une classe Java ; et - on exécute la classe Java pour obtenir le document HTML. Dans un mode particulier de réalisation, les différentes étapes 20 du procédé d'aide à la création sont déterminées par des instructions de programmes d'ordinateurs. En conséquence, l'invention vise aussi un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en oeuvre dans un dispositif d'aide à la création ou 25 plus généralement dans un ordinateur, ce programme comportant des instructions adaptées à la mise en oeuvre des étapes d'un procédé d'aide à la création tel que décrit ci-dessus. Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de 30 code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions d'un programme d'ordinateur 35 tel que mentionné ci-dessus. Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy disc) ou un disque dur. D'autre part, le support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Les caractéristiques et avantages particuliers du dispositif d'aide à la création sont identiques à ceux du procédé mentionnés ci-dessus et ne seront pas rappelés. Dans un mode particulier de réalisation, le dispositif serveur 20 selon l'invention comporte une machine virtuelle Java apte à exécuter un traitement de contrôle dudit document HTML. Un traitement de contrôle pouvant être utilisé dans l'invention permet en particulier de vérifier la sémantique des données saisies dans un champ de formulaire. 25 Brève description des dessins D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent un exemple de réalisation dépourvu de tout 30 caractère limitatif. Sur les figures : - la figure 1 représente de façon schématique un dispositif serveur de création conforme à l'invention dans un mode particulier de réalisation ; - la figure 2 représente, sous forme d'organigramme, les 35 principales étapes d'un procédé d'aide à la création conforme à l'invention dans un mode particulier de réalisation. Description détaillée d'un mode de réalisation A la figure 1, on a référencé 10 un dispositif serveur d'aide à la création de document HTML conforme à l'invention. Dans l'exemple décrit ici, ce dispositif serveur 10 est constitué par un ordinateur. Il comporte un processeur 11, une mémoire vive 12, une mémoire morte de type ROM 13 et des moyens de communication 14 avec le réseau Internet 1. La mémoire morte ROM mémorise un programme d'ordinateur conforme à l'invention et dont les principales étapes sont données à la figure 2. Le dispositif serveur 10 selon l'invention peut accéder à une première unité de stockage 15 qui comporte une base de données 150 de briques logicielles de production de code B. Dans l'exemple décrit ici, ces briques B sont des briques de traitement de production de code Java. Ces briques logicielles B sont utilisées par le dispositif serveur 10 pour créer un document HTML D en réponse à des requêtes R reçues en provenance d'un dispositif client 20 connecté au réseau Internet 1. Comme il sera décrit plus en détail ci-après, le dispositif serveur 10 selon l'invention utilise, pour créer le document D, un arbre XML T dont chacun des noeuds N correspond aux paramètres d'exécution d'une de ces briques logicielles B. La création et la manipulation de cet arbre XML T s'effectuent dans la mémoire vive 12 du dispositif serveur 10. Une fois créé, le document D est mémorisé dans une deuxième unité de stockage 16 du dispositif serveur 10 selon l'invention. Ce document HTML D peut être consulté pour validation par le dispositif client 20. Il peut également, lorsque ce document est validé, être consulté par un autre dispositif client 30 en réponse à une requête de consultation C. Nous allons maintenant décrire en référence à la figure 2 les principales étapes du procédé de conception de document mis en oeuvre par le dispositif serveur 10. D'une façon générale, le dispositif serveur 10 construit le 35 document HTML D en réponse à des requêtes R reçues en provenance du dispositif client 20. On supposera qu'au cours d'une étape E10 le dispositif serveur 10 reçoit une requête R. Cette requête R comporte au moins un paramètre P. Dans l'exemple décrit ici, on supposera que l'un de ces 5 paramètres P permet de distinguer les requêtes R de création, d'ajout ou de suppression d'éléments dans le document à concevoir. Si la requête R est une requête de création de document, l'étape E10 de réception de requête est suivie par une étape E22 au cours de laquelle le dispositif serveur 10 sélectionne, dans la base de données 10 150, des briques B pour concevoir la première version du document HTML. Les paramètres de cette requête peuvent par exemple permettre d'identifier un modèle de document HTML, celui-ci ayant été choisi par l'utilisateur du dispositif client 20 à partir d'une interface graphique très simple. 15 L'étape E22 de sélection de ces briques est suivie par une étape E32 au cours de laquelle le dispositif serveur 10 crée un arbre XML T à partir des briques logicielles B sélectionnées précédemment. L'étape E32 de création de l'arbre XML T est suivie par une étape E40 de génération du document HTML qui sera décrite 20 ultérieurement. Si la requête R est une requête d'ajout, l'étape E10 de réception de requête est suivie par une étape E24 au cours de laquelle le serveur 10 selon l'invention sélectionne, dans la base de données 150, au moins une brique Java B, en fonction d'un paramètre P de la requête R, 25 correspondant aux éléments à ajouter dans le document HTML D. Cette étape E24 de sélection est suivie par une étape E34 au cours de laquelle le dispositif serveur 10 selon l'invention insère dans l'arbre XML T créé à l'étape [32, un noeud correspondant aux paramètres d'exécution de chacune des briques logicielles B nouvellement 30 sélectionnées. L'étape E34 d'insertion de noeud est suivie par une étape E40 de génération du document HTML qui sera décrite ultérieurement. Lorsque la requête R reçue à l'étape E10 est une requête de suppression, cette étape est suivie par une étape E26 au cours de laquelle 35 le dispositif serveur 10 selon l'invention identifie la brique logicielle correspondant à l'élément du document HTML D qui doit être supprimé. Cette étape E26 d'identification est suivie par une étape E36 de suppression, dans l'arbre XML T, du noeud N correspondant à cette brique. L'étape E36 de suppression du noeud N est suivie par l'étape E40 de génération du document HTML qui va maintenant être décrite. Dans le mode particulier de réalisation décrit ici, cette étape 40 de génération du document HTML comporte quatre étapes E41 à [44. Au cours d'une première étape [41, le dispositif serveur 10 selon l'invention met en oeuvre une transformation XSLT connue de l'homme du métier (eXtensible Style Sheet Language). Cette transformation exécute toutes les briques de traitement de l'arbre XML T. Cette étape E41 de transformation produit un document JSPX (document JSP au format XML) qui peut être enregistré sous forme de fichier dans la deuxième unité de stockage 16 au cours d'une étape [42. Cette étape de stockage est suivie par une étape E43 de compilation du fichier JSPX précité. A cet effet, le dispositif serveur 10 selon l'invention comporte, dans le mode de réalisation décrit ici, un compilateur JSP 18 connu de l'homme du métier. On obtient, à l'issue de cette étape E43 de compilation, une classe Java qui, lorsqu'elle est exécutée (étape [44) permet d'obtenir le document HTML D souhaité. Cette étape E44 d'exécution termine l'étape E40 de génération du document HTML D dans le mode de réalisation décrit ici. Cette étape E40 de génération est suivie par une étape E50 au cours de laquelle le dispositif serveur 10 selon l'invention met le document HTML D en ligne, pour validation par l'utilisateur du dispositif client 20 puis pour consultation par l'utilisateur du dispositif client 30. Dans le mode de réalisation décrit ici, le dispositif serveur 10 comporte en outre une machine virtuelle Java 17 adaptée à exécuter un traitement de contrôle de la sémantique de données saisies dans un champ du document HTML D. En cas d'erreur sémantique, le dispositif serveur 10 envoie un message à l'utilisateur du dispositif client 20 qui peut modifier le document HTML, par l'envoi soit d'une requête R d'ajout, soit d'une requête R de suppression comme décrit précédemment. REVENDICATIONS 1. Procédé d'aide à la création en ligne d'un document HTML (D) pouvant être mis en oeuvre dans un dispositif serveur (10) dans un 5 réseau (1), ce procédé comportant : - une étape (E10) de réception, en provenance d'un dispositif client (20), d'une requête (R) de création dudit document, ladite requête (R) comportant au moins un paramètre (P) ; - une étape (E22) de sélection, en fonction dudit paramètre (P), d'au 10 moins une brique logicielle de production de code (B) mémorisée dans une bibliothèque (150) accessible par ledit dispositif serveur (10), - une étape (E32) de création d'un arbre XML (T) dont chaque noeud est constitué par au moins un paramètre d'exécution d'une desdites briques (B) sélectionnées ; 15 - une étape (E40) de génération dudit document HTML (D) à partir de cet arbre XML (T) ; et - une étape (E50) de mise en ligne rendant ledit document HTML (D) accessible par ledit dispositif client (20). 20 2. Procédé d'aide à la création selon la revendication 1, caractérisé en qu'il comporte au moins : - une étape (E10) de réception, en provenance dudit dispositif client (20), d'une requête (R) de modification dudit document (D), ladite requête (R) comportant au moins un paramètre (P) ; 25 - une étape (E24) de sélection, en fonction dudit paramètre (P), d'au moins une brique logicielle de production de code (B) dans ladite bibliothèque (150) ; - une étape (E34) d'insertion, dans ledit arbre XML (T), d'au moins un noeud (N) constitué par au moins un paramètre d'exécution d'une 30 desdites briques (B) sélectionnées ; - une étape (E40) de génération dudit document HTML (D) à partir de cet arbre XML modifié (T) ; et - une étape (E50) de mise en ligne rendant ledit document HTML (D) accessible par ledit dispositif client (20). 35 3. Procédé d'aide à la création selon la revendication 1 ou 2, caractérisé en qu'il comporte au moins : - une étape (E10) de réception, en provenance dudit dispositif client (20), d'une requête (R) de modification dudit document (D), ladite requête (R) comportant au moins un paramètre (P) ; -une étape (E36) de suppression, dans ledit arbre XML (T), d'au moins un noeud (N) choisi en fonction dudit paramètre (P) ; - une étape ([40) de génération dudit document HTML (D) à partir de cet arbre XML modifié (T) ; et - une étape ([50) de mise en ligne rendant ledit document HTML (D) accessible par ledit dispositif client (20). 4. Procédé d'aide à la création selon l'une quelconque des revendications 1 à 3, dans lequel ladite bibliothèque (150) comporte au moins une brique logicielle de production de code (B) qui permet, lors de ladite étape de génération ([40), d'insérer dans ledit document HTML, un champ de saisie de données, ledit champ de saisie étant associé à un script de validation sémantique desdites données. 5. Procédé d'aide à la création selon l'une quelconque des revendications 1 à 4, dans lequel ladite bibliothèque (150) comporte au moins une des brique logicielle (B) apte à produire un code HTML conforme à des recommandations d'accessibilité numérique. 6. Procédé d'aide à la création selon l'une quelconque des revendications 1 à 5, dans lequel ladite au moins une brique logicielle (B) est une brique de traitement XSLT de production de code Java, caractérisé en ce qu'au cours de ladite étape ([40) de génération : - on transforme (E41) ledit arbre XML (T) à l'aide d'une transformation XSLT pour obtenir un fichier JSPX, et on enregistre (E42) ledit fichier JSPX dans une mémoire (16) dudit dispositif serveur (10) ; - on compile (E43) ledit fichier JSPX pour obtenir une classe Java ; et - on exécute (E44) ladite classe Java pour obtenir ledit document HTML (D). 7. Dispositif serveur d'aide à la création d'un document HTML (D) en ligne dans un réseau (1), ce dispositif comportant :- une bibliothèque (150) comportant au moins une brique logicielle de production de code (B) ; -des moyens pour sélectionner au moins une desdites briques (B), en fonction d'au moins un paramètre compris dans une requête (R) reçue en provenance d'un dispositif client (20) ; - des moyens pour créer un arbre XML (T) dont chaque noeud (N) est constitué par au moins un paramètre d'exécution d'une desdites briques (B) sélectionnées ; - des moyens pour créer ledit document HTML (D) à partir de cet arbre XML (T) ; et - des moyens pour mettre en ligne ledit document HTML de façon à la rendre accessible par ledit dispositif client (20). 8. Dispositif selon la revendication 7, caractérisé en ce qu'il 15 comporte une machine virtuelle Java (17) apte à exécuter un traitement de contrôle dudit document HTML (D). 9. Programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé d'aide à la création selon l'une 20 quelconque des revendications 1 à 6 lorsque ledit programme est exécuté par un ordinateur. 10. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions 25 pour l'exécution des étapes du procédé d'aide à la création selon l'une quelconque des revendications 1 à 6.