Brevet FR2892839A1 — publié le 20070504

La présente invention concerne un procédé et un système de création d'un manuel. L'invention s'applique tout particulièrement au domaine de la création de manuels techniques. Un manuel est constitué d'un document de présentation structurée d'informations décrivant une machine. Dans l'état de la technique, un archiviste désirant réaliser un manuel utilise un entrepôt de données, regroupant des informations classées par type d'information : dessin, texte de procédure de maintenance, description d'une pièce, etc. Un entrepôt de données est un moyen informatique de stockage organisé d'un ensemble de données, ou d'un ensemble de groupes de données où chaque groupe s'identifie à un type de données particulier (maintenance, pièce, etc.). Le stockage est géré soit par un seul logiciel soit par plusieurs logiciels, chacun gérant un groupe de données. Un entrepôt de données comporte généralement une ou plusieurs bases de données dans chacune desquelles les données sont organisées suivant une structure particulière, s'identifiant généralement avec un support technique de stockage. L'archiviste incorpore les informations pertinentes à la réalisation du 20 manuel désiré dans une structure de manuel généralement imposée par l'utilisateur de la machine. Or, chaque information que contient l'entrepôt peut comporter elle-même un rattachement à une autre information de l'entrepôt. Ainsi, un problème de l'état de la technique réside dans le fait que le 25 manuel généré par l'archiviste comporte des rattachements à des informations externes aux manuels, ce qui n'est pas acceptable. L'invention a pour but de remédier à ce problème en proposant un procédé d'assemblage d'au moins une information à assembler dans un fichier numérique qui soit autonome de l'entrepôt de données. 30 A cet effet, l'invention a pour objet un procédé de création d'un manuel à partir d'au moins une information provenant d'un entrepôt global d'informations, chaque information de l'entrepôt global pouvant comporter un rattachement à une autre information de l'entrepôt global, caractérisé en ce qu'il comprend les étapes consistant à : -recopier au moins une information de l'entrepôt global dans le manuel, -parcourir le manuel et, pour chaque rattachement contenu dans une information recopiée : - si l'information rattachée a été recopiée dans le manuel, remplacer ce rattachement par une référence explicite à l'emplacement dans le manuel où elle a été recopiée, - si l'information rattachée n'a pas été recopiée dans le manuel, supprimer le rattachement. Grâce à l'invention, non seulement les rattachements à des informations externes au manuel sont supprimés, mais en outre les rattachements à des informations internes au fichier, c'est-à-dire recopiées dans ce dernier, sont mis à jour. Le fichier obtenu est donc à la fois complet et autonome. Un procédé selon l'invention peut en outre comporter l'une ou plusieurs des caractéristiques suivantes : - il comprend les étapes, préalables à l'étape de recopie d'au moins une information, consistant à insérer, dans le manuel, un rattachement vers chaque information à recopier, parcourir le manuel, lorsqu'un rattachement est trouvé, vérifier que l'information rattachée au manuel existe dans l'entrepôt global, et, si l'information n'existe pas, supprimer le rattachement ; - le manuel est un fichier numérique de type XML ; et - l'étape de recopie comporte la recopie de chaque information rattachée, à la place du rattachement. L'invention a également pour objet un système de création d'un manuel à partir d'au moins une information provenant d'un entrepôt global d'informations, chaque information de l'entrepôt global pouvant comporter un rattachement à une autre information de l'entrepôt global, caractérisé en ce qu'il comprend : - des moyens pour recopier au moins une information de l'entrepôt global dans le manuel, - des moyens pour parcourir le manuel et, pour chaque rattachement contenu dans une information recopiée : - si l'information rattachée a été recopiée dans le manuel, pour remplacer ce rattachement par une référence explicite à l'emplacement dans le manuel où elle a été recopiée, - si l'information rattachée n'a pas été recopiée dans le manuel, supprimer le rattachement ; Un système selon l'invention peut en outre comporter l'une ou plusieurs des caractéristiques suivantes : - il comprend des moyens pour insérer, dans le manuel, un rattachement vers chaque information à recopier, ainsi que des moyens pour parcourir le manuel, lorsqu'un rattachement est trouvé, pour vérifier que l'information rattachée au manuel existe dans l'entrepôt global, et, si l'information n'existe pas, supprimer le rattachement ; - le manuel est un fichier de type XML. L'invention sera mieux comprise à l'aide la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés, parmi lesquels : - la figure 1 est une vue schématique représentant un système de génération d'un manuel selon l'invention ; - la figure 2 est une vue schématique d'un module d'information ; et - la figure 3 est un schéma blocs représentant les étapes d'un procédé de génération d'un manuel mis en oeuvre par le système de la figure 1. Dans la description qui va suivre, les entrepôts de données sont des bases de données. Bien évidemment, l'invention est directement transposable au cas des entrepôts de données. Le système de la figure 1, désigné par la référence générale 10, comprend deux ordinateurs 12, 14 communiquant entre eux par l'intermédiaire d'un réseau informatique 15. L'un des ordinateurs 12 est un serveur de données sur lequel est installé une base de données 16, dite base globale 16, regroupant des informations se rapportant chacune à au moins un élément technique d'au moins une machine. La base de données globale 16 est destinée à être renseignée par un personnel technique 18. Le serveur de données 12 comporte ainsi une interface homme/machine par laquelle ce personnel technique 18 renseigne directement la base globale 16. Le serveur de données 12 est par ailleurs connecté à plusieurs ordinateurs distants 19. Le personnel technique 18 qui n'est pas situé sur le site où se trouve le serveur de données 12 renseigne la base globale 16 à distance, en utilisant ces ordinateurs distants 19. Dans la base globale 16, les informations sont organisées par encapsulation dans un module. En référence à la figure 2, chaque module 20 comprend, d'une part, un contenu 22 constitué d'informations relatives à un ou plusieurs éléments techniques et, d'autre part, un bloc d'identification 24 regroupant des données définissant le module 20. Le bloc d'identification 24 comprend notamment un identifiant 26 du module et une partie, dite partie d'environnement 28, pour chaque élément technique auquel le module 20, c'est-à-dire les informations 22 qu'il contient, se rapporte. Chaque partie d'environnement 28 comporte notamment un identifiant 30 de l'élément technique correspondant, ainsi qu'un identifiant 32 d'un type de manuel dans lequel le contenu peut être inséré, pour l'élément technique correspondant. Les types de manuel sont les suivants : catalogue illustré, guide de maintenance regroupant des tâches de maintenance, manuel de maintenance regroupant l'outillage de maintenance, liste de pièces de rechange. Bien sûr, cette liste n'est pas limitative et d'autres types de manuel peuvent être ajoutés selon les besoins. Le contenu 22 d'un module est soit textuel (description, procédure de maintenance, etc.), soit graphique (dessin technique, schéma blocs, etc.). Ce contenu est structuré. Par exemple, un contenu textuel comporte des indicateurs de parties logiques : chapitre, paragraphe, étape d'une énumération, etc. Le contenu peut être statique, l'information est présente dans le module 20, ou bien dynamique, le contenu comporte un lien 33 vers l'information stockée à l'extérieur du module 20. Pour certains modules de la base globale 16, leur contenu 22 fait référence à un ou plusieurs autres contenus d'autres modules. Cette référence est matérialisée par la présence d'un rattachement 34 à un autre module qui comporte le contenu rattaché. Le rattachement indique un identifiant 26 du module rattaché. En référence de nouveau à la figure 1, l'autre ordinateur 14 est destiné à être utilisé par un archiviste 36 désirant créer un manuel constitué d'un document de présentation structurée d'informations décrivant une machine, comme une rame d'un train. L'ordinateur 14 de l'archiviste comprend des moyens 38 de stockage de données numériques, par exemple un disque dur, ainsi que des moyens de traitement 40 : microprocesseur, mémoire vive, etc., adaptés pour exécuter des logiciels, par exemple enregistrés sur les moyens de stockage 38. Par ailleurs, l'ordinateur 14 est relié à une imprimante 42. Trois composants logiciels 44, 46 et 48 sont installés sur l'ordinateur 14 de l'archiviste 36. Le premier composant logiciel, portant la référence 44, est conçu pour la création d'un fichier d'ébauche de manuel renseignée 50, c'est-à-dire comportant des informations sous forme de rattachements. Le premier composant logiciel 44 comporte une interface/homme machine 44A, grâce à laquelle l'archiviste 36 interagit avec ce composant 44 pour guider ce dernier dans la création de l'ébauche de manuel. Toutes les fonctions détaillées par la suite nécessitant une intervention de l'archiviste 36 utilisent cette interface 44. Le premier composant logiciel 44 comporte tout d'abord une fonction 44B de définition de type de manuel, permettant à l'archiviste 36 d'indiquer le type de manuel qu'il souhaite générer. Par ailleurs, le premier composant logiciel 44 comporte une fonction 44C de récupération d'une liste des modules contenus dans la base globale 16 qui sont rattachés au type de manuel indiqué. Une fonction d'affichage 44D assure l'affichage de la liste des modules récupérés, ainsi que l'affichage d'une structure de l'ébauche, en vis-à-vis de la liste des modules. Cette structure est vierge au lancement de la fonction 44D. Le premier composant logiciel 44 offre l'alternative de créer la structure manuellement ou bien d'importer une structure d'un fichier d'ébauche de manuel déjà créé. Chaque module de la liste est déplaçable vers une partie logique de la structure par cliquer glisser. En d'autres termes, le premier composant logiciel 44 permet la sélection d'un module de l'arborescence et la sélection d'une partie logique dans la structure, où l'archiviste 36 souhaite déposer le module, pour les associer. Le premier composant 44 comporte une fonction 44E de création d'un fichier d'ébauche 50. Dans l'exemple décrit, le fichier 50 est au format XML. II reprend la structure indiquée par l'archiviste 36 complétée par des rattachements aux modules insérés par l'archiviste. Plus précisément, la fonction de création d'un fichier d'ébauche 44E est conçue pour insérer, pour chaque module rattaché par l'archiviste 36, un rattachement au module dans la partie de la structure de l'ébauche associée du fichier 50. Cela signifie qu'une ligne indiquant l'identifiant 26 du module est insérée dans le fichier XML 50. Ainsi, le premier composant 44 produit en sortie un fichier d'ébauche de manuel 50 au format XML comportant des rattachements vers toutes les informations que l'archiviste 20 souhaite que le manuel contienne. Les modules vers lesquels l'ébauche comporte un rattachement sont appelés modules rattachés directement, tandis que les modules qui ne sont rattachés à l'ébauche que par l'intermédiaire d'un ou plusieurs autres modules, par le biais de rattachements 34 entre modules, sont appelés modules rattachés indirectement. Le premier composant logiciel 44 est adapté pour stocker ce fichier de sortie 50 dans les moyens de stockage 38, et pour lancer le second composant logiciel 46 qui va chercher ce fichier 50. Le premier composant logiciel 44 est également conçu pour charger un fichier XML d'ébauche renseignée enregistré préalablement dans les moyens de stockage 38, afin d'être utilisé par le second composant logiciel 46. Le second composant logiciel 46 sert à la préparation à l'édition du manuel. Il attend en entrée un fichier XML d'ébauche de manuel renseignée 50. Dans l'exemple décrit, le composant 46 reprend l'architecture du logiciel libre COCOON (http://cocoon.apache.org), en la paramétrant pour les besoins spécifiques de l'invention. Le composant de préparation à l'édition 46 comprend trois étages consécutifs, c'est-à-dire exécutés dans cet ordre, de traitement du fichier d'ébauche renseignée 50 : un étage de vérification 46A, un étage d'assemblage 46B et un étage de mise en forme 46C. L'étage de vérification 46A est configuré pour parcourir le fichier d'ébauche 50 et vérifier que chaque module rattaché directement à l'ébauche, c'est-à-dire dont cette dernière comporte un rattachement, existe dans la base globale 16. Cet étage 46A est également configuré pour supprimer le rattachement lorsque le module n'existe pas, et pour insérer à la place un message d'erreur. L'étage de vérification 44A est par ailleurs configuré pour vérifier, le cas échéant, le contenu dynamique des modules rattachés. Cela signifie qu'il est apte à vérifier que le lien 33 que comporte un contenu dynamique pointe bien vers une donnée valide. Le second étage d'assemblage 44B est configuré pour réaliser trois opérations. Tout d'abord, il réalise une opération de copie des modules rattachés directement depuis la base globale 16 vers les moyens de stockage 38, dans une base de données intermédiaire 52. Ensuite, il réalise une opération consistant à recopier, pour chaque module rattaché directement, l'information, c'est-à-dire le contenu, que contient le module à la place de son rattachement dans le fichier d'ébauche 50. Enfin, la troisième opération consiste, lorsque l'opération précédente est achevée, à parcourir le fichier d'ébauche 50 pour détecter les rattachements qu'il contient et qui proviennent des rattachements 34 entre modules, c'est-à-dire contenus dans les informations recopiées au cours de l'opération précédente. Si le rattachement 34 pointe vers un module rattaché également directement, ce rattachement 34 est remplacé par une référence à la partie logique de la structure de l'ébauche où a été inséré l'information du module. Si le rattachement 34 pointe vers un module rattaché indirectement, c'est-à-dire que l'archiviste n'a pas inséré dans l'ébauche, le rattachement 34 est supprimé. Le troisième étage de mise en forme 46C est configuré pour mettre en forme l'ébauche vérifiée et assemblée, à l'aide d'une feuille de style 56 associant à chaque partie de structure, de l'ébauche ou bien du contenu recopié, un style dactylographique prédéterminé. Cette feuille de style indique notamment la police, la taille des caractères, le soulignement, etc., à utiliser pour chaque partie logique de l'ensemble du fichier d'ébauche 50 : chapitre, section, paragraphe, note informelle, texte mis en évidence, etc. Ce troisième étage 46C est également conçu pour piloter le troisième composant logiciel. Le troisième composant logiciel porte la référence 48 et est un périphérique d'édition du manuel à partir du fichier d'ébauche 50 fourni en sortie du second composant logiciel de traitement 46. Dans l'exemple décrit, il est propre à assurer la génération d'un document pdf 58 et à enregistrer ce document dans les moyens de stockage 38. Ainsi, ces derniers contiennent les manuels finaux, tels qu'ils sont livrés à leur client respectif. Dans d'autres modes de réalisation, le périphérique d'édition 48 est propre à générer un fichier html, ou Word, etc. Enfin, le troisième composant logiciel 48 comporte une fonction de pilotage de l'imprimante 42 à partir du fichier 58 généré, afin d'obtenir un manuel imprimé. Le procédé de génération d'un manuel représenté sur la figure 3 comporte deux phases principales : une phase d'initialisation 100 du système 10 et une phase de mise en oeuvre 200 de ce système 10. La phase de mise en oeuvre 200 est répétée par l'archiviste 36 pour chaque création d'un nouveau manuel, tandis que la phase d'initialisation 100 est réalisée de manière continue, y compris pendant et suite aux phases de mise en oeuvre 200, par le personnel technique 18, de manière que la base globale 16 comporte les dernières informations disponibles. La phase d'initialisation 100 comprend une première étape 110 consistant à créer la base de données globale 16, et une seconde étape 120 consistant à associer, dans la base globale 16, chaque module avec l'élément technique auquel l'information qu'il contient se rapporte. Au cours de cette étape 120, les modules sont également associés avec au moins un type de manuel. La phase de mise en oeuvre 200 comprend une première étape 202 au cours de laquelle l'archiviste 36 lance le premier composant logiciel 44. Il exécute, au cours d'une étape 204, la fonction 44B pour indiquer au composant logiciel 44 le type de manuel qu'il souhaite créer. Le composant logiciel 44 exécute, au cours d'une étape 206, la fonction 44C de récupération de la liste des modules rattachés au type de manuel indiqué. Puis, au cours d'une étape 208, le composant logiciel 44 exécute la fonction 44D d'affichage d'une structure vierge d'ébauche et de la liste des modules. L'archiviste crée la structure également au cours de cette étape 208. Au cours d'une étape 210, l'archiviste 20 renseigne l'ébauche de manuel en cliquant glissant les modules depuis la liste des modules vers une partie logique de la structure de l'ébauche. L'étape précédente 210 est répétée autant de fois que l'archiviste 20 en a besoin. Lorsque l'archiviste 20 a terminé le renseignement, il commande le composant 44 pour que ce dernier génère, au cours d'une étape 212 réalisée par la fonction 44E, un fichier XML d'ébauche de manuel renseignée 50. Le composant logiciel 44 stocke ce fichier dans les moyens de stockage 38 et lance le second composant logiciel 44 afin d'éditer l'ébauche de manuel 50. L'édition se fait généralement directement à la suite de l'étape 210 de renseignement de l'ébauche. Néanmoins, l'édition peut également intervenir longtemps, parfois plusieurs mois, après que le fichier d'ébauche ait été créé et stocké. C'est le cas par exemple lorsque le client souhaite obtenir une nouvelle version mise à jour de son manuel. L'édition est réalisée par les composants de préparation à l'édition 46 20 et d'édition 48, sans intervention de l'archiviste 36. Ainsi, la phase de mise en oeuvre 200 comprend une étape 214 de vérification du fichier d'ébauche 50, réalisée par l'étage de vérification 46A. Il s'en suit une étape 216 d'assemblage de l'ébauche, réalisée par l'étage d'assemblage 46B. Les trois opérations que cet étage 46B est capable 25 d'effectuer sont réalisées. Ces trois opérations sont représentées sur la figure 3 par les sous-étapes 216A, 216B et 216C. L'étage de mise en forme 46C réalise alors la mise en forme (étape 218) de l'ébauche de manuel à l'aide de la feuille de style 56, préalablement spécifiée par l'archiviste 36. 30 Au cours d'une dernière étape de pilotage 220, le second composant logiciel 46 pilote le troisième composant 48 pour que ce dernier réalise deux opérations. Tout d'abord, il génère (220A) le manuel final au format pdf, à partir du fichier d'ébauche obtenu suite aux traitements effectuées par les différents étages du composant logiciel 46. Le fichier pdf 58, constituant le manuel final, est stocké dans les moyens de stockage 38. Ensuite, le périphérique d'édition 48 pilote (220B), l'imprimante 42 pour imprimer le fichier et obtenir le manuel final imprimé. Le manuel final est autonome de la base globale 16, c'est-à-dire que 5 les informations que l'archiviste 31 souhaitait qu'il contienne ne sont pas liées à cette base 16. Comme cela a été expliqué en référence à la figure 1, le pilotage du périphérique d'édition peut, dans d'autres modes de réalisation, générer le manuel au format html, ou Word, suivant la nature du périphérique 48 utilisé, 10 pour ensuite être imprimé par l'imprimante 42. 11 REVENDICATIONS 1. Procédé de création d'un manuel à partir d'au moins une information provenant d'un entrepôt global d'informations (16) constitué d'un moyen informatique de stockage organisé d'informations, chaque information de l'entrepôt global (16) étant encapsulée dans un module et pouvant comporter un rattachement (34) à un autre module de l'entrepôt global (16), caractérisé en ce qu'il comprend les étapes consistant à : - créer (212) un fichier numérique d'ébauche de manuel, - recopier (216B) l'information d'au moins un module de l'entrepôt global (16) dans le fichier numérique d'ébauche de manuel, - parcourir (216C) le fichier numérique d'ébauche de manuel et, pour chaque rattachement (34) contenu dans une information recopiée : - si l'information du module rattaché a été recopiée dans le fichier numérique d'ébauche de manuel, remplacer ce rattachement par une référence explicite à l'emplacement dans le fichier numérique d'ébauche de manuel où elle a été recopiée, - si l'information du module rattaché n'a pas été recopiée dans le fichier numérique d'ébauche de manuel, supprimer le rattachement, et - éditer (220A) le fichier numérique d'ébauche de manuel pour générer un fichier numérique imprimable. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend les étapes, préalables à l'étape de recopie d'au moins une information, consistant à: - créer (208) une structure informatique d'ébauche de manuel, - insérer (210), dans la structure informatique d'ébauche de manuel, un rattachement vers chaque module dont l'information est à recopier, - créer (212) le fichier numérique d'ébauche de manuel, -parcourir (214) le fichier numérique d'ébauche de manuel et, lorsqu'un rattachement est trouvé, vérifier que le module rattaché au fichier numérique d'ébauche de manuel existe dans l'entrepôt global (16), - si le module n'existe pas, supprimer le rattachement, 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le fichier numérique d'ébauche de manuel est un fichier numérique de type XML. 4. Procédé selon la revendication 2, caractérisé en ce que l'étape de recopie (216B) comporte la recopie de l'information de chaque module rattaché, à la place du rattachement. 5. Système de création d'un manuel à partir d'au moins une information provenant d'un entrepôt global d'informations (16) constitué d'un moyen informatique de stockage organisé d'informations, chaque information de l'entrepôt global (16) étant encapsulée dans un module et pouvant comporter un rattachement (34) à un autre module de l'entrepôt global (16), caractérisé en ce qu'il comprend : - des moyens (44E) de création d'un fichier numérique d'ébauche de manuel, - des moyens (46A) pour recopier l'information d'au moins un module de l'entrepôt global (16) dans le fichier numérique d'ébauche de manuel, - des moyens pour parcourir (46B) le fichier numérique d'ébauche de manuel et, pour chaque rattachement (34) contenu dans une information recopiée : - si l'information du module rattaché a été recopiée dans le fichier numérique d'ébauche de manuel, pour remplacer ce rattachement par une référence explicite à l'emplacement dans le fichier numérique d'ébauche de manuel où elle a été recopiée, - si l'information du module rattaché n'a pas été recopiée dans le fichier numérique d'ébauche de manuel, supprimer le rattachement, et - un périphérique d'édition (48) du fichier numérique d'ébauche de manuel pour générer un fichier numérique imprimable. 6. Système selon la revendication 5, caractérisé en ce qu'il comprend : -des moyens (44D) de création d'une structure informatique d'ébauche de manuel, - des moyens (30D) pour insérer, dans le fichier numérique d'ébauche de manuel, un rattachement vers chaque module dont l'information est à recopier, - des moyens (32A) pour parcourir le fichier numérique débauche de manuel, lorsqu'un rattachement est trouvé, pour vérifier que le module rattachée au fichier numérique débauche de manuel existe dans l'entrepôt global (16), et, si le module n'existe pas, supprimer le rattachement. 7. Système selon la revendication 5 ou 6, caractérisé en ce que le fichier numérique d'ébauche de manuel est un fichier de type XML.