Brevet FR2860082A1 — publié le 20050325

L'invention concerne l'édition d'ouvrages, aussi bien sous forme de documents imprimés que de documents électroniques. Dans le domaine de l'édition, on utilise déjà un processus de fabrication dans lequel, dans une première phase, la partie éditoriale, c'est-à-dire la définition du contenu de l'ouvrage, est exécutée par formation d'un fichier de données structurées contenant surtout des informations de contenu et très peu d'informations relatives à la présentation. Par exemple, un tel fichier est au format XML. Dans une seconde phase, ces données structurées sont soumises à un traitement de présentation qui donne sa forme finale aux données. L'invention concerne cette seconde phase du travail d'édition. Elle s'applique de façon générale à cette phase du processus d'édition, quelle que soit la manière dont elle est exécutée et quels que soient les ouvrages auxquels elle s'applique. Cependant, on décrit l'invention dans le présent mémoire essentiellement en référence à un exemple particulier dans lequel des données structurées au format XML subissent des transformations par utilisation de feuilles de style établies en langage XSL. En outre, on décrit l'invention dans son application à l'édition des manuels scolaires. L'édition de ces types particuliers d'ouvrages est particulièrement complexe, car d'une part ils doivent pouvoir éventuellement être mis à disposition sous diverses formes (imprimée, document électronique sur divers supports), et d'autre part ils doivent avoir plusieurs versions. Plus précisément, ces manuels scolaires doivent d'abord pouvoir éventuellement être mis à disposition sous forme imprimée sur papier, ou sous forme de documents électroniques sur divers supports, par exemple sur ordinateur, sur ordinateur alimenté par'Internet, sur assistant personnel ou même sur téléphone portable. Ensuite, ces manuels scolaires, pour un même contenu général, doivent souvent avoirs plusieurs versions, c'est-à- 2860082 2 dire plusieurs présentations telles que le livre de l'élève, le livre du maître et le livre des parents qui sont différents. C'est dans ce contexte nécessitant une multiplicité de 5 supports et une multiplicité de présentations que l'on décrit l'invention. On sait déjà réaliser des ouvrages par mise de données de contenu au format XML, puis par transformation de ces données par utilisation du langage XSL, à l'aide d'un traitement de transformation XSLT. Ainsi, dans le cas d'ouvrages dont la présentation n'est pas très complexe, mais dont le contenu éditorial est important, par exemple dans le cas de manuels techniques professionnels, les données éditoriales sous forme d'un document XML ont un volume trop important pour être traitées par une seule opération de transformation. En effet, tous les logiciels de transformation XSLT travaillent en mémoire vive, et ils ne peuvent donc pas traiter l'ensemble d'un tel document XML en une seule opération. Il faut se rappeler qu'un document XML a une structure arborescente et que le traitement doit porter sur l'ensemble de l'arbre. Dans le cas de ces fichiers XML trop gros, on éclate donc un gros fichier XML en fichiers XML plus petits, correspondant par exemple chacun à un chapitre. Le traitement de transfor- mation est alors appliqué à chaque chapitre. Plus précisé-ment, ce traitement est réalisé, suivant les spécifications XSL, par association au document initial, sous forme de données éditoriales structurées (XML), d'une feuille de style. Dans le cas de ces manuels techniques professionnels, la feuille de style est le plus souvent la même pour tous les chapitres. Le travail nécessaire à la transformation est donc relativement modéré. En particulier, en cas de nouvelle édition, le travail à exécuter est relativement réduit. Le résultat obtenu est vérifié chapitre par chapitre. Cette façon de procéder s'est malheureusement révélée pratiquement inutilisable dans le cas des manuels scolaires. D'abord, ces manuels ont des présentations bien plus élaborées que celles des manuels techniques professionnels, 2860082 3 notamment parce qu'ils ont une iconographie importante et nécessitent l'incorporation de nombreux documents. En conséquence, jusqu'à présent, on a réalisé le traitement page par page, avec application d'une feuille de style à chaque page. On a conservé un fichier de résultats pour chaque page, en général à un format HTML dans le cas des éditions électroniques. Pour chaque version du manuel (élève, maître, parents), ce travail doit recommencer. L'édition d'un manuel scolaire en plusieur versions et pour divers supports est donc très lourde. En outre, si une nouvelle édition est nécessaire, la presque totalité du travail doit être recommencée page à page, puis vérifiée. Il s'agit d'un travail considérable, qui est même si considérable que jusqu'à présent il n'a pas été réalisé pour l'ensemble des supports et l'ensemble des versions nécessaires. L'invention a donc pour objet l'édition d'ouvrages très élaborés, par exemple de manuels scolaires, qui doivent être disponibles sur divers supports (papier, documents électro- niques aux formats XML, HTML, pour assistant personnel, etc.) et en diverses versions (élève, maître, parents) d'une manière qui organise et optimise suffisamment le travail à exécuter pour que celui-ci puisse être effectivement réalisé. Selon l'invention, cet objet est atteint par un procédé d'édition qui comprend, à partir d'un fichier de données éditoriales structurées, par exemple d'un document XML, une étape préalable de création d'une collection d'opérations de transformation, correspondant à une collection de feuilles de style, applicables chacune à une structure spécifique correspondant à un bloc de données compris entre une partie de page et un petit nombre de pages au maximum, chaque feuille de style pouvant comprendre des opérations itératives et/ou des opérations récurrentes qui peuvent être exécutées en parallèle, en série ou selon toute autre combinaison. Ces opérations de transformation peuvent être relativement élaborées puisqu'elles peuvent comprendre des 2860082 4 opérations itératives ou récurrentes ou d'autres opérations, mais elles s'appliquent à une structure spécifique. Une fois que cette collection d'opérations de transformation, constituant une sorte de boîte à outils qui peut être complétée, modifiée ou mise à jour à volonté, a été constituée, le procédé est tel que, pour chaque ouvrage, les données éditoriales structurées sont découpées en blocs, et une opération de transformation, c'est-à-dire un outil de la collection d'opérations de transformation, est associée à chaque bloc, pour la définition d'une chaîne de traitements comprenant chacun l'association d'un bloc et d'une opération de transformation. Les traitements sont ordonnés en référence aux blocs des données éditoriales structurées. La chaîne de traitements est par exemple sous forme d'un fichier de commandes. Une fois la chaîne précitée réalisée, elle est exécutée, par exemple automatiquement, sous la commande du fichier de commande, et chaque association d'un bloc et d'une opération de transformation donne un résultat partiel, tous les résultats partiels étant mémorisés, de préférence sous forme de fichiers. L'ensemble de ces fichiers de résultats partiels représente le document transformé. Ensuite, le résultat obtenu est vérifié. S'il ne convient pas, il est modifié soit par modification de l'opération de transformation associée, dans la collection d'opérations de transformation, soit par modification de l'association, c'est-à-dire par association au bloc d'une autre opération de transformation, soit éventuellement par modification du découpage en blocs, avant exécution à nouveau des opérations de traitement. Plus précisément, l'invention concerne un procédé de transformation de données éditoriales structurées sous forme de blocs en données intermédiaires associées à des informations de présentation et destinées à subir une phase finale de publication spécifique à un type d'organe de sortie; le procédé comprend une étape préalable qui comprend la préparation d'une collection d'opérations de transformation, puis 2860082 5 pour chaque ouvrage, une première étape de découpage des données éditoriales structurées en blocs de structure relativement homogène, une seconde étape d'association à chaque bloc d'une désignation d'une opération de transformation adaptée à sa structure spécifique et destinée à donner une structure résultante, pour la définition d'une chaîne de traitements comprenant chacun l'association d'un bloc et d'une opération de transformation, les traitements étant ordonnés en référence aux blocs des données éditoriales structurées, et une troisième étape de mémorisation de la chaîne de traitements, puis une quatrième étape d'exécution des traitements successifs de la chaîne et de mémorisation des structures résul- tantes qui constituent ensemble les données intermédiaires, et une cinquième étape de vérification de l'ensemble des structures résultantes, destinée à la détermination du fait que ces structures conviennent ou non, et, si les structures ne conviennent pas, une sixième étape d'exécution d'une modification choisie parmi la modification d'au moins une des opérations de transformation de la collection, la modification d'au moins une des associations, et la modification du découpage d'au moins un bloc de données, et une septième étape d'exécution à nouveau des étapes depuis la quatrième. De préférence, la quatrième étape d'exécution des traitements successifs est exécutée automatiquement. Dans un mode d'exécution très avantageux, le procédé comprend aussi l'association d'un horodatage à chaque opération de transformation et d'un horodatage à chaque bloc, et, lors de l'exécution de la chaîne de traitements, la structure résultante conserve les horodatages du bloc associé et de l'opération de transformation associée, et la structure résultante n'est reconstruite qu'en cas de modification d'un horodatage au moins parmi ceux du bloc associé et de l'opération de transformation associée. 2860082 6 Dans un exemple de réalisation, les données éditoriales structurées sont au format XML, et chaque bloc est un segment de données compris entre des noeuds des données XML. De même, l'ensemble des structures résultantes obtenu après l'exécution des traitements successifs est un document XML. Dans une exécution conviviale du procédé, l'association d'un bloc et d'une opération de transformation est réalisée par désignation d'un bloc, et par sélection d'une opération de transformation sur une liste présentée sur un écran. De préférence, le procédé comporte en outre une phase finale dans laquelle l'ensemble des structures résultantes obtenues subit un traitement supplémentaire pour sa mise sous une forme convenant à l'une des opérations suivantes: l'impression sur papier, la lecture sur ordinateur, la lecture d'un fichier à un format qui peut transiter par Internet, la lecture sur un assistant personnel, la lecture sur un téléphone portable. L'invention concerne aussi un procédé d'édition, qui comprend: des opérations éditoriales de définition du contenu d'un ouvrage par formation d'un fichier de données éditoriales structurées sous forme d'un document XML, l'exécution du procédé précité de transformation de données éditoriales structurées, et une phase finale comprenant la mise à un format qui convient à l'une des opérations suivantes: l'impression sur papier, la lecture sur ordinateur, la lecture d'un fichier à un format qui peut transiter par Internet, la lecture sur un assistant personnel, la lecture sur un téléphone portable. On décrit maintenant plus en détails les principaux aspects du procédé de l'invention. On se rend compte que, compte-tenu du volume consi- dérable de travail nécessaire pour l'édition des manuels scolaires pour lesquels la présentation finale a une impor- tance primordiale, il est impossible d'obtenir un résultat parfait immédiatement, et il est donc indispensable d'exécu- ter le procédé un certain nombre de fois. Etant donné 2860082 7 l'étendue de la tâche exécutée à chaque fois, il est souhaitable de n'exécuter à nouveau que les parties modifiées. A cet effet, la structure en fichiers est très avantageuse. En effet, si l'on associe un horodatage à chaque bloc et un horodatage à chaque opération de transformation, lorsque le procédé est remis en oeuvre et détermine qu'un fichier de résultats a été obtenu avec un bloc et une opération de traitement qui n'ont pas été modifiés, comme le précisent leurs horodatages, le traitement est omis et le procédé réutilise les données de résultat qui n'ont pas été modifiées, sous forme du fichier de résultat partiel. De cette manière, il est facile d'obtenir progressivement la modification du résultat jusqu'au résultat final parfait souhaité. On pourrait envisager de travailler différemment. Ainsi, on pourrait, à partir du document XML initial, délimiter un bloc puis choisir une opération de transformation à appliquer à ce bloc, observer le résultat et le modifier ou le faire évoluer jusqu'à l'obtention du résultat voulu pour ce bloc. Ensuite, un bloc suivant pourrait être délimité et soumis à un tel traitement. En pratique, une telle solution serait inutilisable. En effet, elle nécessiterait, à chaque modification d'une opération de transformation, de reprendre tous les traitements depuis le début, et le travail deviendrait rapidement si considérable qu'il ne pourrait plus être exécuté. A la place, au lieu de modifier une opération de transformation, on pourrait envisager de créer une nouvelle opération de transformation chaque fois qu'une modification se révèle nécessaire. Cependant, dans ce cas, on arrive à un nombre d'opérations de transformation si considérable qu'il n'est pratiquement plus possible d'exécuter le traitement. En effet, le nombre d'opérations de transformation semblables qu'il est possible de choisir devient rapidement si considérable qu'il est presqu'impossible d'effectuer ce choix. C'est pour éviter cette façon de travailler que le procédé de l'invention met en oeuvre une exécution complète du processus à chaque modification d'un outil, de manière 2860082 8 automatique de préférence, et avec un nouveau traitement de préférence des seules opérations modifiées qui peuvent être ainsi désignées et vérifiées séparément. Une opération essentielle selon l'invention est donc la création de la chaîne de traitements obtenue à l'aide des associations formées chacune d'une désignation de bloc et d'une désignation d'une opération de transformation. Cette chaîne peut être simplement représentée par un fichier de commandes. Celui-ci peut être saisi manuellement, mais il est plutôt construit pas à pas. Dans une réalisation particulièrement conviviale, la désignation du bloc et la désignation de l'opération de transformation associée, par exemple présentée sous forme d'une ou plusieurs listes, avec éventuellement la saisie d'un ou plusieurs paramètres, ajoutent automatiquement une partie au fichier de commandes. Ce dernier mode de réalisation particulièrement convivial permet alors la mise en oeuvre des opérations de présentation par des personnes ayant des compétences essentiellement de graphistes, plutôt que par deux personnes ayant l'une des compétences de graphiste et l'autre des compétences d'informaticien. Selon une autre caractéristique avantageuse de l'invention, certaines opérations de transformation au moins peuvent être associées à une étiquette permettant de déter- miner les conditions d'utilisation de l'opération concernée. Par exemple, une étiquette telle que "Bordas" ou "Nathan" permet de définir si l'opération doit être utilisée ou ou dans quelles conditions en fonction d'un éditeur défini. Bien entendu, le procédé selon l'invention peut paraître relativement lourd pour des documents de structure relativement simple ou de faible longueur. A la limite, le procédé est inapproprié dans le cas d'un document qui ne nécessite qu'une simple feuille de style. Cependant, surtout dans sa forme conviviale d'association des opérations de transformation aux blocs, le procédé selon l'invention paraît à l'utilisateur très simple à exécuter et donne un résultat d'excellente qualité. 2860082 9 Les avantages de l'invention sont considérables. Le plus important est sa puissance, car il permet d'exécuter le travail très complexe que constitue l'édition de manuels scolaires en plusieurs versions (élève, maître, parents) pour plusieurs supports (papier, documents électroniques en formats XML, HTML, pour assistant personnel, etc.) à partir d'un même document de données éditoriales structurées et en un temps raisonnable. Une telle réalisation n'a encore été jamais exécutée à cause de l'amplitude de sa tâche. Soit on s'est limité à certaines versions, soit on s'est limité à certains supports. Un autre avantage de l'invention est qu'elle met en oeuvre des technologies ouvertes qui permettent des échanges très simples entre les divers utilisateurs. Par exemple, les données éditoriales structurées sont de préférences sous forme d'un fichier XML. Ce format est déjà largement utilisé dans l'édition. En outre, il existe divers logiciels qui transforment d'autres formats spécifiques à l'édition en fichiers XML. En effet, le format XML est de plus en plus préféré d'une part aux formats propriétaires dont la manipulation n'est pas toujours possible, et d'autre part au format SGML qui est extrêmement complexe et est réservé à des spécialistes. Un document XML est sous forme d'un arbre et il est associé à un document type de document DTD qui en définit les principales caractéristiques. Les opérations de trans- formation mises en oeuvre sont définies en langage XSL qui est lui-même mis en oeuvre par des processeurs XSLT, sous forme de feuilles de style qui, comme les documents XML, ont une structure arborescente. Le traitement d'association d'un document XML et d'une feuille de style XSL donne une nouvelle structure arborescente sous forme d'un autre document XML qui comprend beaucoup plus de données de présentation que le document XML d'origine. Le document XML arborescent résultant peut alors être mis à la forme finale voulue, soit de texte à imprimer sur papier, soit de fichiers HTML ou XML qui peuvent être présentés sur ordinateur ou transmis par Internet, soit sous un format 2860082 10 compatible avec les assistants personnels, soit même sous un format convenant aux téléphones portables (WAP). Une autre caractéristique de l'invention, particulièrement utile dans le cas des manuels scolaires dont une simple page a déjà une structure extrêmement élaborée et peut contenir divers types de documents, est la définition d'opérations de transformation bien ciblées, c'est-à-dire correspondant à une structure spécifique qui correspond à des blocs récurrents dans les données éditoriales. Ces blocs, qui peuvent donc avoir des structures très diverses, subissent un traitement qui est adapté et peut être très élaboré, par exemple itératif, récurrent, etc. avec des opérations conditionnelles telles que, au départ, le traite-ment exact qui va être suivi ne peut pas être déterminé avec certitude (nombre de passages dans une boucle, etc.). L'avantage de ces opérations est que le résultat obtenu a toujours une bonne homogénéité de présentation. Grâce à la collection d'opérations de transformation réalisée dans l'étape préalable et constamment remise à jour, constituant une sorte de boîte à outils, il est possible de réutiliser la plus grande partie du travail effectué pour l'édition d'un ouvrage lors de l'édition ultérieure d'autres ouvrages. L'invention concerne donc plus un outil d'édition d'ouvrages quelconques qu'une simple opération de transformation de données. Bien entendu, diverses modifications peuvent être apportées par l'homme de l'art aux procédés qui viennent d'être décrits uniquement à titre d'exemple non limitatif sans sortir du cadre de l'invention. REVENDICATIONS 1. Procédé de transformation de données éditoriales structurées sous forme de blocs en données intermédiaires associées à des informations de présentation et destinées à subir une phase finale de publication spécifique à un type d'organe de sortie, caractérisé en ce qu'il comprend une étape préalable qui comprend la préparation d'une collection d'opérations de transformation, puis pour chaque ouvrage, une première étape de découpage des données éditoriales structurées en blocs de structure homogène, une seconde étape d'association à chaque bloc d'une désignation d'une opération de transformation adaptée à sa structure spécifique et destinée à donner une structure résultante, pour la définition d'une chaîne de traitements comprenant chacun l'association d'un bloc et d'une opération de transformation, les traitements étant ordonnés en référence aux blocs des données éditoriales structurées, et une troisième étape de mémorisation de la chaîne de traitements, puis une quatrième étape d'exécution des traitements successifs de la chaîne et de mémorisation des structures résultantes qui constituent ensemble les données intermédiaires, et une cinquième étape de vérification de l'ensemble des structures résultantes, destinée à la détermination du fait que ces structures conviennent ou non, et, si les structures ne conviennent pas, une sixième étape d'exécution d'une modification choisie parmi la modification d'au moins une des opérations de transformation de la collection, la modification d'au moins une des associations, et la modification du découpage d'au moins un bloc de données, et une septième étape d'exécution à nouveau des étapes 35 depuis la quatrième. 2860082 12 2. Procédé selon la revendication 1, caractérisé en ce que la quatrième étape d'exécution des traitements successifs est exécutée automatiquement. 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce qu'il comprend aussi l'association d'un horodatage à chaque opération de transformation et d'un horodatage à chaque bloc, et, lors de l'exécution de la chaîne de traitements, la structure résultante conserve les horodatages du bloc associé et de l'opération de transformation associée, et la structure résultante n'est reconstruite qu'en cas de modification d'un horodatage au moins parmi ceux du bloc associé et de l'opération de transformation associée. 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les données éditoriales structurées sont au format XML, et chaque bloc est un segment de données compris entre des noeuds des données XML. 5. Procédé selon la revendication 4, caractérisé en ce que l'ensemble des structures résultantes obtenu après l'exécution des traitements successifs est un document XML. 6. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'association d'un bloc et d'une opération de transformation est réalisée par désignation d'un bloc, et par sélection d'une opération de transformation sur une liste présentée sur un écran. 7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le procédé comporte en outre une phase finale dans laquelle l'ensemble des structures résultantes obtenues subit un traitement supplémen- taire pour sa mise sous une forme convenant à l'une des opérations suivantes: l'impression sur papier, la lecture sur ordinateur, la lecture d'un fichier à un format qui peut transiter par Internet, la lecture sur un assistant personnel, la lecture sur un téléphone portable. 8. Procédé d'édition, caractérisé en ce qu'il comprend: 2860082 13 des opérations éditoriales de définition du contenu d'un ouvrage par formation d'un fichier de données éditoriales structurées sous forme d'un document XML, l'exécution du procédé selon l'une quelconque des 5 revendications précédentes, et une phase finale comprenant la mise sous une forme convenant à l'une des opérations suivantes: l'impression sur papier, la lecture sur ordinateur, la lecture d'un fichier à un format qui peut transiter par Internet, la lecture sur un assistant personnel, la lecture sur un téléphone portable.