Brevet FR2842623A1 — publié le 20040123

La présente invention concerne un procédé de traduction d'un message d'un premier langage de balisage dans un second langage de balisage. Elle concerne également un procédé inverse de traduction du second langage de balisage dans le premier langage de balisage, ainsi qu'un procédé de génération d'un message dans un second langage de balisage. Corrélativement, elle concerne un dispositif de traduction et un dispositif de traduction inverse adaptés respectivement à mettre en oeuvre les procédés de traduction et de traduction inverse conformes à l'invention. De manière générale, la présente invention s'applique à des documents électroniques destinés à être générés puis transférés par des ordinateurs et autres dispositifs communiquant dans un réseau de communication. On connaît notamment des documents représentés dans un langage de balisage du type langage extensible de balisage ou XML (en anglais "eXtensible Markup Language"). Le langage XML est un langage de balisage, c'est-à-dire un langage qui présente de l'information encadrée par des balises. Chaque bloc d'informations en langage XML est défini entre une balise ouvrante et une balise fermante, les blocs d'informations étant ainsi juxtaposés les uns après les autres dans le document ou imbriqués les uns dans les autres. Sur la base de ce langage de balisage, il existe un langage de balisage perfectionné appelé OML (en anglais "Object Markup Language"), qui permet d'associer à chaque bloc d'informations un traitement par une ou plusieurs stations du réseau de communication. Dans un tel langage, les blocs d'informations sont associés à un attribut d'adressage permettant dans le corps du message d'indiquer pour chaque bloc d'informations la ou les stations du réseau adaptées à traiter les données contenues dans ce bloc. Chaque bloc d'informations est destiné, lors du transfert du message dans un réseau de communication, à être traité par une ou plusieurs stations de ce réseau. Ainsi, un bloc d'informations peut être traité uniquement par la station destinataire du message, ou bien uniquement par une ou plusieurs stations intermédiaires transférant le message entre une station émettrice et la station destinataire, ou encore à la fois par des stations intermédiaires et la station destinataire. A cet effet, les blocs d'informations sont associés à un attribut d'adressage de ces blocs, cet attribut comprenant soit une référence à une station destinataire, soit une référence à une station intermédiaire du réseau de communication ou encore une référence à une station suivante lors de la transmission du message dans le réseau de communication. Une station du réseau de communication peut être référencée soit directement par son adresse électronique (URL) ou encore grâce à la description d'une fonctionnalité mise en couvre sur la station, telle que la capacité de la station à encrypter des données, à mémoriser des données dans une mémoire cache,... L'attribut d'adressage peut également comprendre une référence à n'importe laquelle des stations du réseau de communication destinées à recevoir et retransmettre le message, ou encore à aucune en particulier des stations du réseau de communication. Tel est le cas notamment d'un bloc qui est pointé par un ou plusieurs autres blocs du message et qui n'est destiné à aucune station en particulier du réseau de communication. Parallèlement à ce premier langage de balisage, il existe un langage de balisage perfectionné défini au travers d'un standard W3C. Ce dernier défini notamment la structure d'un document représenté en langage XML. Ainsi, dans la norme SOAP définie par le standard W3C, un message en langage XML est considéré comme un document comprenant des blocs d'informations répartis entre un premier groupe de blocs, correspondant à l'en-tête du document (en anglais "Header') et un second groupe de blocs, correspondant au corps du document (en anglais "Body'). Le premier groupe de blocs est adapté à comporter des blocs adressés à une ou plusieurs stations intermédiaires du réseau de communication, alors que le second groupe est adapté à comporter des blocs adressés à la station destinataire du message dans le réseau de communication. La norme SOAP peut être consultée à l'adresse suivante HTTP://www.w3.org/TR2001 /wd-soai12-20010709. Cette répartition en groupes des blocs d'informations permet, lors du transfert du message dans un réseau de communication, de faciliter le traitement de celui-ci par les différentes stations du réseau, en plaçant notamment en en-tête du document les blocs d'informations destinés à être traités par les stations intermédiaires, et au contraire, dans le corps du message les blocs d'informations destinés à la station destinataire du message. La présente invention a pour but de proposer un procédé de traduction automatique et un procédé de traduction inverse qui autorisent la communication de messages entre deux stations d'un réseau de communication utilisant des langages de balisage différents. A cet effet, elle vise un procédé de traduction d'un message représenté dans un premier langage de balisage comprenant une succession de blocs associés respectivement à un attribut d'adressage des blocs, l'attribut d'adressage étant choisi parmi un ensemble d'attributs comprenant des références à une station destinataire du message dans un réseau de communication, des références à une station intermédiaire du réseau de communication et des références à une station suivante lors de la transmission du message dans le réseau de communication, le procédé étant adapté à traduire le message dans un second langage de balisage comprenant deux groupes de blocs, un premier groupe étant adapté à comporter des blocs adressés à une ou plusieurs stations intermédiaires du réseau de communication et un second groupe étant adapté à comporter des blocs adressés à la station destinataire du réseau de communication. Selon l'invention, ce procédé de traduction comprend les étapes suivantes: sélection d'un premier ensemble de blocs du message associés à un attribut d'adressage comprenant une référence à la station destinataire du réseau de communication; - ajout du premier ensemble de blocs dans le second groupe de blocs; - obtention du nombre de blocs inscrits dans le second groupe de blocs; et - si le nombre de blocs est égal à zéro, ajout audit second groupe de blocs d'un unique bloc choisi parmi un deuxième ensemble de blocs. Grâce au procédé de traduction conforme à l'invention, un message écrit dans un premier langage de balisage, tel que le langage OML, peut être traduit et présenté dans un second langage de balisage conforme aux exigences de la norme SOAP. Grâce à l'invention, le second groupe de blocs formant le corps du message n'est jamais vide et comporte au plus les blocs adressés à la station destinataire du réseau de communication. Selon une caractéristique préférée de l'invention, le procédé de traduction comprend une étape de sélection du deuxième ensemble de blocs parmi les blocs du message associés à un attribut d'adressage comprenant une référence à une station suivante du réseau de communication. Ainsi, l'unique bloc susceptible d'être placé dans le corps du message, lorsque le message ne comporte pas de bloc adressé explicitement à la station destinataire du message, est un bloc adressé à une station suivante du réseau de communication. En pratique, le procédé de traduction comprend les étapes suivantes: classement des blocs du deuxième ensemble en fonction de la taille de ces blocs; - ajout du bloc de plus grande taille au second groupe de blocs si ledit nombre de blocs est égal à zéro; et - ajout des autres blocs dudit deuxième ensemble dans le premier groupe de blocs. Ainsi, le bloc de plus grande taille, comprenant a priori la plus grande quantité d'informations du message, est placé dans le corps du message. Selon un second aspect, la présente invention concerne un procédé de traduction inverse d'un message représenté dans un second langage de balisage comprenant deux groupes de blocs, un premier groupe étant adapté à comporter au moins des blocs adressés à une ou plusieurs stations intermédiaires du réseau de communication et éventuellement des blocs adressés à une station destinataire, et un second groupe étant adapté à comporter des blocs adressés à la station destinataire du réseau de communication, le procédé de traduction inverse étant adapté à traduire le message dans un premier langage de balisage comprenant une succession de blocs associés respectivement à un attribut d'adressage des blocs, l'attribut d'adressage étant choisi parmi un ensemble d'attributs comprenant des références à une station destinataire du message dans un réseau de communication, des références à une station intermédiaire du réseau de communication et des références à une station suivante lors de la transmission du message dans le réseau de communication. Ce procédé de traduction inverse comprend les étapes suivantes: extraction des blocs du premier groupe; - extraction des blocs du second groupe; et - inscription des blocs du premier groupe, puis des blocs du second groupe. Grâce à ce second aspect de l'invention, tout message présenté selon la norme SOAP peut être traduit avant d'être traité. Selon un troisième aspect de l'invention, un procédé de génération d'un message représenté dans un second langage de balisage comprenant deux groupes de blocs, un premier groupe étant adapté à comporter des blocs adressés à une ou plusieurs stations intermédiaires du réseau de communication et un second groupe étant adapté à comporter des blocs adressés à la station destinataire du réseau de communication, comprend les étapes suivantes: - génération d'un message représenté dans un premier langage de balisage comprenant une succession de blocs associés respectivement à un attribut d'adressage des blocs, l'attribut d'adressage étant choisi parmi un ensemble d'attributs comprenant des références à une station destinataire du message dans un réseau de communication, des références à une station intermédiaire du réseau de communication et des références à une station suivante lors de la transmission du message dans le réseau de communication ;et - traduction du message selon le procédé de traduction conforme à l'invention. Ainsi, la génération d'un message en un second langage de balisage, hiérarchisé tel que requis par la norme SOAP, peut être grandement facilitée dès lors qu'il peut être généré directement dans un premier langage de balisage, tel qu'en OML, puis, grâce au procédé de traduction conforme à l'invention, traduit automatiquement dans le second langage de balisage. Corrélativement, la présente invention concerne un dispositif de traduction d'un message représenté dans un premier langage de balisage comprenant une succession de blocs associés respectivement à un attribut d'adressage desdits blocs, ledit l'attribut d'adressage étant choisi parmi un ensemble d'attributs comprenant des références à une station destinataire du message dans un réseau de communication, des références à une station intermédiaire dudit réseau de communication et des références à une station suivante lors de la transmission dudit message dans le réseau de communication, ledit dispositif étant adapté à traduire le message dans un second langage de balisage comprenant deux groupes de blocs, un premier groupe étant adapté à comporter des blocs adressés à une ou plusieurs stations intermédiaires dudit réseau de communication et un second groupe étant adapté à comporter des blocs adressés à ladite station destinataire du réseau de communication. Ce dispositif de traduction comprend: - des moyens de sélection d'un premier ensemble de blocs du message associés à un attribut d'adressage comprenant une référence à ladite station destinataire du réseau de communication; - des moyens d'ajout dudit premier ensemble de blocs dans ledit second groupe de blocs; - des moyens d'obtention du nombre de blocs inscrits dans le second groupe de blocs; et - des moyens d'ajout audit second groupe de blocs d'un unique bloc, choisi parmi un deuxième ensemble de blocs, si ledit nombre de blocs est égalà zéro. Elle concerne également un dispositif de traduction inverse d'un message représenté dans un second langage de balisage comprenant deux groupes de blocs, un premier groupe étant adapté à comporter au moins des blocs adressés à une ou plusieurs stations intermédiaires du réseau de communication et éventuellement des blocs adressés à une station destinataire, et un second groupe étant adapté à comporter des blocs adressés à ladite station destinataire du réseau de communication, ledit dispositif de traduction inverse étant adapté à traduire le message dans un premier langage de balisage comprenant une succession de blocs associés respectivement à un attribut d'adressage desdits blocs, ledit attribut d'adressage étant choisi parmi un ensemble d'attributs comprenant des références à une station destinataire du message dans un réseau de communication, des références à une station intermédiaire dudit réseau de communication et des références à une station suivante lors de la transmission dudit message dans le réseau de communication. Ce dispositif de traduction inverse comprend: - des moyens d'extraction des blocs dudit premier groupe; - des moyens d'extraction des blocs dudit second groupe; et - des moyens d'inscription adaptés à inscrire les blocs dudit premier groupe, puis les blocs dudit second groupe. Ces dispositifs de traduction et de traduction inverse d'un message présentent des caractéristiques et avantages analogues à ceux des procédés de traduction et de traduction inverse conformes à l'invention. La présente invention concerne également un programme d'ordinateur comprenant des portions de code logiciel adaptées à mettre en oeuvre le procédé de traduction et/ou le procédé de traduction inverse et/ou le procédé de génération d'un message lorsque ledit programme est chargé sur un ordinateur. Elle concerne aussi des moyens de stockage d'informations fixes ou partiellement ou totalement amovibles, adaptés à mémoriser des séquences d'instructions du procédé de traduction et/ou du procédé de traduction inverse et/ou du procédé de génération d'un message conformes à l'invention. Dans son application pratique, la présente invention concerne enfin un ordinateur et un réseau de communication comprenant des moyens adaptés à mettre en oeuvre le procédé de traduction et/ou le procédé de traduction inverser et/ou le procédé de génération d'un message conformes à l'invention. D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après. Aux dessins annexés, donnés à titre d'exemples non limitatifs: - les figures la et 1b sont des algorithmes illustrant le procédé de traduction conforme à l'invention; - la figure 2 est un algorithme illustrant un procédé de traduction inverse conforme à l'invention; et - la figure 3 est un schéma-bloc d'un ordinateur adapté à mettre en oeuvre les procédés de traduction et de traduction inverse conformes à la présente invention. On va décrire tout d'abord en référence aux figures la et lb un procédé de traduction d'un message représenté dans un premier langage de balisage conforme à un mode de réalisation de l'invention. Ce premier langage de balisage est caractérisé par le fait que le message est présenté sous la forme d'une succession de blocs, chaque bloc étant associé à un attribut d'adressage. On notera que dans un langage de balisage dans lequel l'information est encadrée par des balises, celles-ci pouvant être hiérarchisées de telle sorte que les blocs d'information sont imbriqués les uns dans les autres, l'attribut d'adressage peut être un attribut associé à une balise qui délimite le bloc d'information proprement dit, mais également être constitué d'une balise parent englobant le bloc d'informations, ou encore d'une balise enfant définie à l'intérieur du bloc d'informations. Un tel langage de balisage peut être par exemple constitué du langage OML dans lequel chaque bloc d'informations peut être associé à un traitement de l'information, l'attribut d'adressage permettant de définir le noeud du réseau adapté à mettre en oeuvre le traitement de l'information. Les attributs d'adressage peuvent être de différents types. En particulier, l'attribut d'adressage peut être constitué d'une référence à une station destinataire du message dans un réseau de communication. Cette référence à la station destinataire du message peut être constituée par l'adresse électronique de la station intermédiaire, définie à l'aide de son URL. Cette référence à une station destinataire peut également être définie grâce à un lexique particulier du langage, tel que par exemple le terme "finaf'. On peut également considérer que lorsque cet attribut est vide, le bloc d'informations est automatiquement destiné à la station destinataire du message. Par ailleurs, un autre type d'attributs d'adressage est constitué des références à une station intermédiaire du réseau de communication. Généralement, ce type de références à une station intermédiaire est constitué par exemple de l'adresse électronique du type URL de la station intermédiaire dans le réseau de communication. Elle peut également être réalisée par la description d'une fonctionnalité, c'est-à-dire par une capacité de traitement de chaque station du réseau de communication. En outre, un troisième type d'attributs d'adressage peut être constitué de références à une station suivante dans le réseau de communication. Par exemple, dans la terminologie définie dans le langage de balisage OML, une référence à la station suivante du réseau peut être donnée par le terme "next". Un quatrième type d'attributs d'adressage peut comprendre une référence à n'importe laquelle des stations du réseau de communication. Le bloc peut ainsi être traité par n'importe laquelle des autres stations du réseau. A titre d'exemple, dans le langage de balisage OML, le terme "an/' peut être utilisé pour définir un tel attribut d'adressage. Enfin, un cinquième type d'attributs d'adressage peut signifier que le bloc n'est destiné à aucune station en particulier du réseau de communication. Dans le langage de balisage OML, le terme "none" peut être utilisé pour définir un tel attribut d'adressage. Ainsi, chaque message représenté dans le premier langage de balisage peut comporter des blocs associés à un attribut d'adressage choisi parmi l'ensemble d'attributs définis ci-dessus. Le message dans un tel langage de balisage peut ainsi être construit de telle sorte que les différents blocs d'informations sont juxtaposés les uns après les autres, dans un ordre quelconque, dès lors que leur attribut d'adressage permet, lors de la transmission du message sur le réseau, leur identification par chaque noeud des blocs devant être traités auxdits noeuds. Le procédé conforme à l'invention est adapté à traduire ce message représenté dans un premier langage de balisage dans un second langage de balisage structuré selon deux groupes de blocs. Un premier groupe de blocs est adapté à comporter des blocs qui sont adressés à une ou plusieurs stations intermédiaires du réseau de communication, alors qu'un second groupe de blocs est adapté à comporter des blocs adressés à la station destinataire du message dans le réseau de communication. Ce second langage de balisage correspond par exemple au langage tel que défini dans la norme SOAP, qui permet de structurer les blocs d'informations en deux groupes, un groupe d'en-tête adapté à comporter les blocs qui sont traités par les stations intermédiaires sur le réseau de communication et un groupe de corps qui comporte les blocs d'informations destinés à la station destinataire du message. Comme bien illustré à la figure la, le procédé de traduction d'un message M comporte tout d'abord les étapes d'initialisation El et E2 permettant d'initialiser les premier et second groupes du second langage de balisage. En pratique, on initialise sous la forme d'une liste vide le premier groupe BH correspondant au groupe d'en-tête du message et sous la forme d'une liste vide le second groupe BB correspondant au groupe de corps du message. Puis une étape E3 de lecture du message est mise en oeuvre afin de lire la succession de blocs composant le message représenté dans le premier langage de balisage. Une étape de sélection E4 est adaptée à extraire un premier ensemble de blocs du message, ces blocs étant associés à un attribut d'adressage qui comprend une référence à la station destinataire du réseau de communication. En pratique, dans cette étape de sélection E4, on vérifie si l'attribut d'adressage adressé à chaque bloc comporte le terme "finaf' ou encore aucune référence. Les blocs ainsi identifiés forment un premier ensemble de blocs BF. Dans une étape d'ajout E5, on ajoute ce premier ensemble de blocs BF dans le second groupe de blocs BB. L'étape de sélection d'un premier ensemble de blocs du message associé à un attribut d'adressage comprenant une référence à la station destinataire se poursuit par une étape de test E6 qui permet de vérifier si on connaît l'adresse de la station destinataire AR. Dans l'affirmative, une étape d'extraction E7 permet d'extraire à proprement dit les blocs d'informations associés à un attribut comprenant l'adresse de la station destinataire AR. Cet ensemble de blocs BR est alors ajouté dans une étape d'ajout E8 au second groupe de blocs BB. A l'issue de cette étape d'ajout E8 ou encore si lors de l'étape de test E6, l'adresse de la station destinataire n'est pas connue, les étapes de sélection E9 et ElO sont mises en oeuvre afin d'extraire un deuxième ensemble de blocs du message, ces blocs étant associés à un attribut d'adressage comprenant une référence à une station suivante dans le réseau de communication. Cet attribut d'adressage peut être identifié par le terme "next'. Dans ce mode de réalisation préférentiel, lors de ces étapes de sélection E9, EIO, on prend en compte un attribut supplémentaire afin de réaliser un tri additionnel parmi ces blocs. En effet, certain des blocs d'informations peuvent être repérés par un attribut particulier, noté "mustUnderstand' en langage XML, indiquant que ce bloc d'informations doit être traité impérativement lors du traitement du document. Par ailleurs, la norme SOAP précise que toutes les stations du réseau de communication doivent comprendre effectivement tous les blocs marqués de cet attribut particulier et qui leur sont adressés avant de pouvoir commencer le traitement du message. Aussi, il est indiqué dans la norme SOAP que ces blocs d'informations marqués de l'attribut "mustUnderstancd' doivent être placés dans l'en-tête du message. Ainsi lors des étapes de sélection E9 et E10, on obtient deux sous25 ensembles, un premier sous-ensemble de blocs associé à la fois à un attribut d'adressage "next' et à un attribut particulier "MU' (BNMU). Un second sousensemble de blocs comprend des blocs du message associé à un attribut d'adressage "next' et ne comportant pas d'attribut particulier "MU'. Ce deuxième sous-ensemble de blocs est noté BNNONNU. Dans une étape d'ajout El 1, le premier sous-ensemble de blocs BNMU est ajouté au premier groupe BH du message, c'est-à-dire à l'en-tête du document représenté dans le second langage de balisage. Dans une étape d'obtention E12, on obtient le nombre de blocs Card (BB) inscrits dans le second groupe de blocs BB, c'est-à-dire le nombre de blocs qui ont été ajoutés dans ce second groupe à l'issue des étapes d'ajout E5 et E8. Si ce nombre de blocs est différent de 0, c'est-à-dire strictement positif, on inscrit le deuxième sous-ensemble de blocs BNNONMU dans le premier groupe de blocs BH, c'est-à-dire que tous les blocs du message associés à l'attribut d'adressage "next" sont ainsi inscrits dans l'entête du document. En effet, si le nombre de blocs inscrit dans le second groupe de blocs BB est différent de 0, c'est-à-dire qu'il existe déjà un bloc dans le corps du message, le procédé de traduction considère que les autres blocs sont destinés aux stations intermédiaires du message. Si à l'issue de l'étape d'obtention E12, le nombre de blocs Card (BB) inscrits dans le corps du message BB est égal à 0, il est nécessaire qu'au moins un bloc soit inscrit dans le corps du message, pour la station destinataire du message. On obtient alors dans une étape de test E13, le nombre de blocs inscrit dans le second sous-ensemble BNNONMU, c'est-à-dire le nombre de blocs associé à l'attribut d'adressage "next" mais ne comportant pas l'attribut particulier "mustUnderstand". Si ce deuxième sous-ensemble est vide, un message d'erreur est adressé à l'opérateur, dès lors qu'il n'existerait pas alors de blocs susceptibles d'être placés dans le corps du message. Sinon, on vérifie dans une étape de test E14 si ce nombre de blocs est égal à 1, dans l'affirmative, une étape d'ajout E15 permet d'inscrire ce bloc unique dans le deuxième groupe BB, c'est-à-dire dans le corps du message. Si à l'issue de l'étape de test E14, le nombre de blocs est différent de 1, c'est-à-dire qu'il existe plusieurs blocs dans le deuxième sousensemble BNNONMU, il est nécessaire de choisir un unique bloc dans ce sousensemble afin d'inscrire celui-ci dans le corps BB du message. Dans ce cas, une étape de calcul E16 permet d'obtenir la taille de chaque bloc du deuxième sous-ensemble BNNONMU. Une étape de classement E17 permet de classer ces blocs par ordre de taille, et par exemple par ordre de taille décroissant. Une étape d'extraction E18 permet d'extraire et d'identifier parmi le deuxième sous-ensemble BNNONMU le bloc de plus grande taille BG. L'étape d'ajout E19 est adaptée à ajouter le bloc de plus grande taille BG au second groupe de blocs BB constituant le corps du message et l'étape d'ajout E13 est alors mise en oeuvre sur les autres blocs du deuxième sous10 ensemble BNNONMU de manière à ajouter ces blocs à l'en- tête du message BH. Une fois ces étapes principales du procédé de traduction réalisées, il peut encore exister d'autres types de blocs dans le message. En particulier, une étape de sélection E20 permet d'identifier un troisième ensemble de blocs du message associé à un attribut d'adressage comprenant une référence à une station intermédiaire du réseau de communication. Ces blocs BI destinés à une station intermédiaire peuvent par exemple inclure directement l'adresse électronique d'une station intermédiaire du réseau de communication. Une étape d'ajout E21 permet d'ajouter ce troisième ensemble de blocs dans le premier groupe de blocs, c'est-à-dire dans l'en-tête du message. De même, une étape de sélection E22 permet d'extraire un quatrième ensemble de blocs associés à un attribut d'adressage comprenant une référence à n'importe laquelle des stations du réseau de communication. Comme décrit précédemment, cet attribut peut être référencé par le terme "any'. Les blocs BNY associés à cet attribut "anj' sont alors ajoutés dans une étape d'ajout E23 également dans le premier groupe de blocs, c'est-à-dire dans l'en-tête BH du message. De même, une étape de sélection E24 permet d'extraire un cinquième ensemble de blocs associés à un attribut d'adressage signifiant que ces blocs ne sont destinés à aucune station en particulier du réseau de communication. Comme décrit précédemment, cet attribut peut être référencé par le terme "none". Les blocs BNO associés à cet attribut "none" sont alors ajoutés dans une étape d'ajout E25 également dans le premier groupe de blocs, c'està-dire dans l'en-tête BH du message. Le procédé de traduction permet ainsi de manière automatique de répartir les blocs inscrits dans un premier langage de balisage entre deux groupes de blocs, l'en-tête et le corps d'un message, afin d'optimiser le transfert de ce message au sein d'un réseau de communication mettant en oeuvre le langage XML selon la norme SOAP. On va décrire à présent, en référence à la figure 2, le procédé de traduction inverse permettant de manière analogue de traduire un message représenté en langage XML et réparti en deux groupes selon la norme SOAP, c'est-à-dire comportant des blocs d'en-tête BE et des blocs de corps BC. De manière générale, ce procédé permet d'extraire les blocs d'en15 tête, d'extraire les blocs de corps puis d'inscrire successivement d'abord les blocs d'en-tête suivis des blocs de corps dans le message représenté ainsi dans un premier langage de balisage. En pratique, une étape d'initialisation E30 permet d'initialiser une liste B. On lit ensuite le message E31 afin d'extraire dans une étape de lecture E32 les blocs en en-tête BE du message. Une étape d'extraction E33 permet parmi ces blocs d'identifier les blocs associés à l'attribut "none" ou " ". Ces blocs BNO sont ensuite ajoutés dans une étape d'inscription E34 dans la liste B, en tête de cette liste. Une étape d'extraction E35 permet ensuite d'extraire les blocs associés à l'attribut d'adressage "next'. Ces blocs BNE sont ainsi destinés à toutes les stations intermédiaires lors de la progression du message au sein du réseau de communication. Ces blocs BNE sont ensuite ajoutés dans une étape d'inscription E36 dans la liste B, à la suite des blocs BNO. Une étape d'extraction E37 permet d'identifier les blocs destinés à des stations intermédiaires, c'est-à-dire les blocs Bi ayant un attribut d'adressage comportant l'adresse d'une station intermédiaire. Ces blocs BI sont ensuite ajoutés dans une étape d'inscription E38 dans la liste B, à la suite des blocs BNE. Enfin, une étape d'extraction E39 permet d'identifier les blocs associés à l'attribut d'adressage "finaf'. Ces blocs BF sont ainsi adressés à la station destinataire du message. Ils sont ensuite ajoutés lors d'une étape d'inscription E40 dans la liste B, à la suite des blocs intermédiaires BI. On vérifie dans une étape de test E41 si l'adresse AR de la station destinataire du message est connue. Dans l'affirmative, on extrait les blocs destinés à la station destinataire du message, c'est-à-dire les blocs BR ayant comme attribut d'adressage l'adresse de la station destinataire. Après cette étape d'extraction E42, on ajoute dans une étape d'inscription E43 ces blocs dans la liste, à la suite des derniers blocs inscrits. Après cette étape d'inscription E43, ou si à l'issue de l'étape E41, l'adresse récepteur AR n'est pas connue, une étape d'extraction E44 est mise en oeuvre afin d'extraire tous les blocs compris dans le corps du message. Ces blocs BC sont ensuite inscrits dans une étape d'inscription E45 dans la liste B, à la suite des blocs précédemment ajoutés à cette liste. Le procédé de traduction inverse est ainsi mis en oeuvre, afin d'inscrire successivement les blocs classés en fonction de leur attribut d'adressage. La lecture du message est ainsi optimisée lors de son passage aux différents noeuds ou stations du réseau de communication. L'utilisation de ces procédés de traduction et de traduction inverse permet de faciliter la communication d'ordinateurs sur un réseau de communication, ces ordinateurs ne mettant pas en oeuvre des langages de balisage identiques. En particulier, il est possible de générer un message dans un second langage de balisage, par exemple dans un langage XML respectant la norme SOAP, en générant tout d'abord un message dans un premier langage de balisage, dans lequel les blocs sont associés à des attributs d'adressage, puis de mettre en oeuvre sur ce message le procédé de traduction afin d'obtenir le message représenté dans le second langage de balisage. Ce procédé de génération facilite ainsi la création de message en langage XML selon la norme SOAP dès lors que l'opérateur n'a pas à se préoccuper de la répartition des blocs entre l'en-tête et le corps du message. Le procédé de traduction permet ensuite, à partir d'un message écrit en langage OML d'effectuer automatiquement cette répartition de manière optimale entre les blocs destinés à l'en-tête du message et les blocs destinés au corps du message. Afin de mettre en oeuvre le procédé de traduction et de traduction inverse d'un message, le dispositif de traduction et de traduction inverse comporte des moyens de sélection adaptés à extraire des blocs d'un message associé à des attributs d'adressage particuliers, et notamment à des attributs comprenant une référence à la station destinataire d'un réseau de communication (terme "finaf' ou encore adresse électronique de la station destinataire) ou bien comprenant une référence "next" à une station suivante du réseau de communication, ainsi que les autres attributs d'adressage et l'attribut particulier "mustUnderstand". A ces moyens d'extraction sont associés des moyens d'ajout adaptés à inscrire des blocs dans un message, répartis entre l'en-tête et le corps du message. Le dispositif de traduction comporte également des moyens d'obtention d'un nombre de blocs inscrits dans le corps du message, ainsi que des moyens de classement permettant de classer des blocs à inscrire en fonction de leur taille. De même le dispositif de traduction inverse comprend des moyens d'extraction permettant de lire l'ensemble des blocs inscrits dans l'entête et dans le corps d'un message, puis des moyens d'inscription permettant d'inscrire ces blocs de manière optimale dans un message représenté dans le premier langage de balisage. Ces dispositifs de traduction et de traduction inverse peuvent être incorporés dans un ordinateur tel qu'illustré à la figure 3. En particulier, les différents moyens de sélection, d'ajout, d'obtention d'un nombre de blocs, de classement de blocs, ou encore d'extraction et d'inscription peuvent être incorporés dans un microprocesseur 100, une mémoire morte 101 (en anglais "Read OnIy Memory' ou ROM) étant adaptée à mémoriser un programme de traduction et/ou de traduction inverse d'un message. Bien entendu, les dispositifs de traduction et de traduction inverse peuvent être mis en oeuvre dans un même ordinateur ou bien dans des stations différentes du réseau de communication. Une mémoire vive 102 (en anglais "Random Access Memory' ou RAM) est adaptée à mémoriser dans des registres les variables modifiées lors de l'exécution du programme de traduction et de traduction inverse. En particulier, la mémoire vive 102 du dispositif de traduction conforme à l'invention est adaptée à mémoriser les premier et second groupes de blocs BH et BB, ainsi que les différents sous-ensembles de blocs BF, BR, BNMU, BN_NON_MU, BG, BI et BNY. De même, la mémoire vive 102 du dispositif de traduction inverse est adaptée à mémoriser la liste B ainsi que les différents sous-ensembles de blocs BNO, BNE, BI, BF, BR et BC. Ce microprocesseur 100 est intégré à un ordinateur 10 qui peut être connecté à différents périphériques ou à d'autres ordinateurs du réseau de communication 1. Cet ordinateur comporte une interface de communication 110 reliée au réseau de communication 1 pour recevoir ou transmettre des messages écrits dans un premier ou un second langage de balisage. L'ordinateur 10 comporte en outre des moyens de stockage de documents, tel qu'un disque dur 106, ou est adapté à coopérer au moyen d'un lecteur de disque 107 (disquettes, disques compacts ou cartes informatiques) avec des moyens de stockage de documents amovibles, tels que des disques 700. Ces moyens de stockage fixes ou amovibles peuvent comporter en outre le code du procédé de traduction ou de traduction inverse conforme à l'invention, qui, une fois lu par le microprocesseur 100, sera stocké dans le disque dur 106. A titre de variante, le programme permettant au dispositif de traduction ou de traduction inverse de mettre en oeuvre l'invention pourra être stocké dans la mémoire morte 101. En seconde variante, le programme pourrait être reçu pour être stocké comme décrit précédemment par l'intermédiaire du réseau de communication 1. L'ordinateur 10 possède également un écran 103 permettant par exemple de servir d'interface avec un opérateur à l'aide du clavier 104 ou de la souris 105 ou de tout autre moyen et d'afficher des données d'un message XML. L'unité centrale 100 (CPU) va exécuter des instructions relatives à la mise en oeuvre de l'invention. Lors de la mise sous tension, les programmes et méthodes relatives à l'invention stockés dans une mémoire non volatile, par exemple la mémoire morte 101, sont transférés dans la mémoire 102 et qui contiendra alors le code exécutable de l'invention ainsi que les variables nécessaires à la mise en oeuvre de l'invention. Le bus de communication 112 permet la communication entre les différents sous-éléments de l'ordinateur 10 ou liés à lui. La représentation du bus 112 n'est pas limitative et notamment le microprocesseur 100 est susceptible de communiquer les instructions à tout sous-élément directement ou par l'intermédiaire d'un autre sous-élément. Bien entendu, de nombreuses modifications peuvent être apportées aux exemples de réalisation décrits précédemment sans sortir du cadre de l'invention. REVENDICATIONS 1. Procédé de traduction d'un message (M) représenté dans un premier langage de balisage comprenant une succession de blocs associés respectivement à un attribut d'adressage desdits blocs, ledit attribut d'adressage étant choisi parmi un ensemble d'attributs comprenant des références à une station destinataire du message dans un réseau de communication, des références à une station intermédiaire dudit réseau de communication et des références à une station suivante lors de la transmission dudit message (M) dans le réseau de communication, ledit procédé étant adapté à traduire le message dans un second langage de balisage comprenant deux groupes de blocs (BH, BB), un premier groupe (BH) étant adapté à comporter des blocs adressés à une ou plusieurs stations intermédiaires dudit réseau de communication et un second groupe (BB) étant adapté à comporter des blocs adressés à ladite station destinataire du réseau de communication, caractérisé en ce qu'il comprend les étapes suivantes: - sélection (E4) d'un premier ensemble de blocs (BF, BR) du message associés à un attribut d'adressage comprenant une référence à ladite station destinataire du réseau de communication; - ajout (E5, E8) dudit premier ensemble de blocs (BF, BR) dans ledit second groupe de blocs (BB); - obtention (E12) du nombre de blocs (Card (BB)) inscrits dans ledit second groupe de blocs (BB); et - si ledit nombre de blocs (Card (BB)) est égal à zéro, ajout (E15, E19) audit second groupe (BB) de blocs d'un unique bloc (BG) choisi parmi un deuxième ensemble de blocs (BN_NON_MU). 2. Procédé de traduction conforme à la revendication 1, caractérisé en ce qu'il comprend une étape de sélection (E9, EIO) dudit deuxième ensemble de blocs (BN_NON_MU) parmi les blocs du message associés à un attribut d'adressage comprenant une référence à une station suivante dudit réseau de communication. 3. Procédé de traduction conforme à l'une des revendications 1 ou 2, caractérisé en ce qu'il comprend les étapes suivantes: - classement (E16, E17) des blocs dudit deuxième ensemble (BNNON MU) en fonction de la taille desdits blocs; - ajout (E19) du bloc de plus grande taille (BG) audit second groupe de blocs (BB) si ledit nombre de blocs (Card (BB)) est égal à zéro; et - ajout (El1, E13) des autres blocs dudit deuxième ensemble (BNNONMU) dans le premier groupe de blocs (BH). 4. Procédé de traduction conforme à l'une des revendications 1 à 3, caractérisé en ce qu'il comprend en outre les étapes suivantes: sélection (E20) d'un troisième ensemble de blocs (BI) du message associés à un attribut d'adressage comprenant une référence à une station intermédiaire du réseau de communication; et - ajout (E21) dudit troisième ensemble de blocs (BI) dans ledit premier groupe de blocs (BH). 5. Procédé de traduction conforme à l'une des revendications 1 à 4, caractérisé en ce qu'il comprend en outre les étapes suivantes: sélection (E22) d'un quatrième ensemble de blocs (BNY) associés respectivement à un attribut d'adressage comprenant une référence à n'importe laquelle des stations du réseau de communication; et - ajout (E23) dudit quatrième ensemble de blocs (BNY) dans le premier groupe de blocs (BH). 6. Procédé de traduction inverse d'un message (M) représenté dans un second langage de balisage comprenant deux groupes de blocs, un premier groupe (BE) étant adapté à comporter au moins des blocs adressés à une ou plusieurs stations intermédiaires du réseau de communication et éventuellement des blocs adressés à une station destinataire, et un second groupe (BC) étant adapté à comporter des blocs adressés à ladite station destinataire du réseau de communication, ledit procédé de traduction inverse étant adapté à traduire le message (M) dans un premier langage de balisage comprenant une succession de blocs associés respectivement à un attribut d'adressage desdits blocs, ledit attribut d'adressage étant choisi parmi un ensemble d'attributs comprenant des références à une station destinataire du message dans un réseau de communication, des références à une station intermédiaire dudit réseau de communication et des références à une station suivante lors de la transmission dudit message dans le réseau de communication, caractérisé en ce qu'il comprend les étapes suivantes: - extraction (E32, E33, E35, E37, E39, E42) des blocs dudit premier groupe (BE); - extraction (E44) des blocs dudit second groupe (BC); et - inscription (E34, E36, E38, E40, E43) des blocs dudit premier groupe (BE), puis des blocs dudit second groupe (BC). 7. Procédé de génération d'un message représenté dans un second langage de balisage comprenant deux groupes de blocs, un premier groupe (BH) étant adapté à comporter des blocs adressés à une ou plusieurs stations intermédiaires dudit réseau de communication et un second groupe (BB) étant adapté à comporter des blocs adressés à la station destinataire du réseau de communication, caractérisé en ce qu'il comprend les étapes suivantes: - génération d'un message (M) représenté dans un premier langage de balisage comprenant une succession de blocs associés respectivement à un attribut d'adressage desdits blocs, ledit attribut d'adressage étant choisi parmi un ensemble d'attributs comprenant des références à une station destinataire du message dans un réseau de communication, des références à une station intermédiaire dudit réseau de communication et des références à une station suivante lors de la transmission dudit message dans le réseau de communication; et traduction dudit message selon le procédé de traduction conforme à l'une des revendications 1 à 5. 8. Dispositif de traduction d'un message (M) représenté dans un premier langage de balisage comprenant une succession de blocs associés respectivement à un attribut d'adressage desdits blocs, ledit attribut d'adressage étant choisi parmi un ensemble d'attributs comprenant des références à une station destinataire du message dans un réseau de communication, des références à une station intermédiaire dudit réseau de communication et des références à une station suivante lors de la transmission dudit message dans le réseau de communication, ledit dispositif étant adapté à traduire le message dans un second langage de balisage comprenant deux groupes de blocs, un premier groupe (BH) étant adapté à comporter des blocs adressés à une ou plusieurs stations intermédiaires dudit réseau de communication et un second groupe (BB) étant adapté à comporter des blocs adressés à ladite station destinataire du réseau de communication, caractérisé en ce qu'il comprend: - des moyens de sélection (100, 101, 102) d'un premier ensemble (BF, BR) de blocs du message associés à un attribut d'adressage comprenant une référence à ladite station destinataire du réseau de communication; - des moyens d'ajout (100, 101, 102) dudit premier ensemble de blocs (BF, BR) dans ledit second groupe de blocs (BB); - des moyens d'obtention (100, 101, 102) du nombre de blocs inscrits dans ledit second groupe de blocs (BB); et - des moyens d'ajout (100, 101, 102) audit second groupe (BB) de blocs d'un unique bloc (BG) choisi parmi un deuxième ensemble de blocs (BNNONMU), si ledit nombre de blocs est égal à zéro. 9. Dispositif de traduction conforme à la revendication 8, caractérisé en ce qu'il comprend des moyens de sélection (100, 101, 102) dudit deuxième ensemble de blocs (BN_NONMU) parmi les blocs du message associés à un attribut d'adressage comprenant une référence à une station suivante dudit réseau de communication. 10. Dispositif de traduction conforme à l'une des revendications 8 ou 9, caractérisé en ce qu'il comprend en outre des moyens de classement (100, 101, 102) des blocs dudit deuxième ensemble en fonction de la taille desdits blocs, lesdits moyens d'ajout étant adaptés à ajouter le bloc (BG) de plus grande taille audit second groupe de bloc (BB) si le nombre de blocs est égal à zéro et à ajouter les autres blocs dudit deuxième ensemble dans le premier groupe de blocs (BH). 11. Dispositif de traduction conforme à l'une des revendications 8 à , caractérisé en ce qu'il comprend des moyens incorporés dans: - un microprocesseur (100); - une mémoire morte (101) adaptée à mémoriser le programme de traduction d'un message; et - une mémoire vive (102) adaptée à mémoriser les variables modifiées lors de l'exécution dudit programme. 12. Dispositif de traduction inverse d'un message représenté dans un second langage de balisage comprenant deux groupes de blocs, un premier groupe (BF) étant adapté à comporter au moins des blocs adressés à une ou plusieurs stations intermédiaires du réseau de communication et éventuellement des blocs adressés à une station destinataire, et un second groupe (BC) étant adapté à comporter des blocs adressés à ladite station destinataire du réseau de communication, ledit dispositif de traduction inverse étant adapté à traduire le message dans un premier langage de balisage comprenant une succession de blocs associés respectivement à un attribut d'adressage desdits blocs, ledit attribut d'adressage étant choisi parmi un ensemble d'attributs comprenant des références à une station destinataire du message dans un réseau de communication, des références à une station intermédiaire dudit réseau de communication et des références à une station suivante lors de la transmission dudit message dans le réseau de communication, caractérisé en ce qu'il comprend: - des moyens d'extraction (100, 101, 102) des blocs dudit premier groupe; - des moyens d'extraction (100, 101, 102) des blocs dudit second groupe; et - des moyens d'inscription (100, 101, 102) adaptés à inscrire les blocs dudit premier groupe, puis les blocs dudit second groupe. 13. Dispositif de traduction inverse conforme à la revendication 12, caractérisé en ce qu'il est incorporé dans: - un microprocesseur (100); une mémoire morte (101) adaptée à mémoriser un programme de traduction inverse d'un message; et - une mémoire vive (102) adaptée à mémoriser dans des registres les variables modifiées lors de l'exécution dudit programme. 14. Ordinateur, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé de traduction d'un message conforme à l'une des revendications 1 à 5. 15. Ordinateur, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé de traduction inverse d'un message conforme à la revendication 6. 16. Ordinateur, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé de génération d'un message conforme à la revendication 7. 17. Réseau de communication, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé de traduction d'un message conforme à l'une des revendications 1 à 5. 18. Réseau de communication, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé de traduction inverse d'un message conforme à la revendication 6. 19. Réseau de communication, caractérisé en ce qu'il comprend des moyens adaptés à mettre en oeuvre le procédé de génération d'un message conforme à la revendication 7. 20. Programme d'ordinateur comprenant des portions de code logiciel adaptées à mettre en oeuvre le procédé de traduction d'un message conforme à l'une des revendications 1 à 5 lorsque ledit programme est chargé sur un ordinateur. 21. Programme d'ordinateur comprenant des portions de code logiciel adaptées à mettre en oeuvre le procédé de traduction inverse conforme à la revendication 6. 22. Programme d'ordinateur comprenant des portions de code logiciel adaptées à mettre en oeuvre le procédé de génération d'un message conforme à la revendication 7 lorsque ledit programme est chargé sur un ordinateur. 23. Moyens de stockage d'informations, fixes ou partiellement ou totalement amovibles, adaptés à mémoriser des séquences d'instructions du procédé de traduction d'un message conforme à l'une des revendications 1 à 5. 24. Moyens de stockage d'informations, fixe ou partiellement ou totalement amovibles, adaptés à mémoriser des séquences d'instructions du procédé de traduction inverse conforme à la revendication 6. 25. Moyens de stockage d'informations, fixes ou partiellement ou totalement amovibles, adaptés à mémoriser des séquences d'instructions du procédé de génération d'un message conforme à la revendication 7.