Brevet FR2827454A1 — publié le 20030117

La présente invention concerne un procédé d'ordonnancement d'un document représenté dans un langage de balisage. Elle concerne également un procédé de traitement d'un tel document. Corrélativement, elle concerne un dispositif d'ordonnancement et un dispositif de traitement adaptés respectivement à mettre en oeuvre les procédés d'ordonnancement et de traitement conformes à l'invention. De manière générale, cette invention s'applique aux réseaux de communication dans lesquels les échanges entre ordinateurs et autres dispositifs communiquant avec le réseau sont réalisés au moyen de transfert de 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. it est défini au travers d'un standard W3C. Ce dernier définit à la fois la structure du document représenté en langage XML et des règles de traitement de ce document. Ainsi, dans la norme SOAP définie par le standard W3C, un document en langage XML est considéré comme un document comprenant des blocs d'information juxtaposés. Une description détaillée de cette norme SOAP peut être consultée sur Internet, à l'adresse suivante : http ://www. w3. orq/TR/2001/WD-soap12-2001 0709 Chaque bloc d'information en langage XML est défini entre une balise ouvrante et une balise fermante, les blocs d'information étant ainsi juxtaposés les uns après les autres dans le document. Lors de la réception d'un document, et notamment lorsque ce document est relativement long, il est intéressant pour le dispositif de traitement de pouvoir traiter ce document au fur et à mesure de sa réception, sans avoir l'intégralité du document en mémoire à un instant donné. Cet aspect est d'autant plus important pour des dispositifs de traitement de petite taille, tel qu'un téléphone mobile ou un assistant numérique personnel, ayant une capacité de mémoire limitée. Dans toute la suite de cette description, on entend par traitement au fur et à mesure d'un document, un traitement de ce document qui peut être réalisé au fur et à mesure de la réception des données constituant ce document, sans devoir mémoriser l'intégralité du document. Ce traitement au fur et à mesure du document est également appelé traitement à la volée ou traitement au fil de l'eau du document. Cependant, les règles de traitement d'un document peuvent empêcher de pouvoir effectuer ce traitement au fur et à mesure. Ainsi, certains des blocs d'information peuvent être repérés par un attribut particulier indiquant que ce bloc doit être traité impérativement lors du traitement du document. Ainsi, le dispositif de traitement devra être adapté à comprendre ce bloc d'information marqué de l'attribut particulier pour pouvoir traiter l'ensemble du document. Par ailleurs, la norme SOAP précise que le dispositif de traitement du document doit comprendre effectivement tous les blocs marqués de cet attribut particulier avant de pouvoir commencer le traitement du document. Aussi, cette règle impose au dispositif de traitement d'effectuer une lecture de l'intégralité du document avant d'en commencer le traitement, pour vérifier sa capacité à pouvoir traiter tous les blocs d'information marqués de l'attribut particulier. Le dispositif de traitement doit donc stocker l'intégralité du document en mémoire afin d'effectuer cette première vérification. Par ailleurs, il est fréquent que dans un document XML certains blocs d'information référencent un ou plusieurs autres blocs d'information, pouvant éventuellement être placés avant ou après dans le document. Dans ce cas, il peut également être nécessaire de mémoriser certains blocs d'information pour permettre le traitement de blocs d'information ultérieurs du document. La présente invention a pour but de résoudre les inconvénients précités et de permettre le traitement au fur et à mesure d'au moins une partie d'un document représenté dans un langage de balisage. A cet effet, la présente invention vise, dans un premier aspect, un procédé d'ordonnancement d'un document représenté dans un langage de balisage, comprenant des blocs d'information juxtaposés. Selon l'invention, ce procédé d'ordonnancement comprend les étapes suivantes : - répartition des blocs d'information en deux groupes, - un premier groupe comprenant des blocs d'information adaptés à être traités au fur et à mesure ; et - un second groupe comprenant les blocs d'information dudit document n'appartenant pas audit premier groupe ; - inscription du second groupe de blocs d'information ; - ajout d'un bloc de marquage ; et - inscription du premier groupe de blocs d'information après ledit bloc de marquage. Le procédé d'ordonnancement permet ainsi de séparer de manière automatique les blocs d'information adaptés à être traités au fur et à mesure des autres blocs d'information. Grâce à l'incorporation d'un bloc de marquage, placé avant les blocs d'information adaptés à être traités au fur et à mesure, il est possible d'indiquer à un dispositif de traitement la présence de tels blocs, ne nécessitant pas de mémoriser ces blocs pour les traiter. Ce procédé d'ordonnancement permet ainsi de réduire la partie du document devant être traitée globalement, et nécessitant ainsi d'être mémorisée, et d'en permettre le traitement d'au moins une partie à la volée. Selon une caractéristique préférée de l'invention, l'étape de répartition comporte les sous-étapes suivantes : - identification d'au moins un bloc d'information associé à un attribut prédéterminé, ledit attribut prédéterminé indiquant le traitement impératif du bloc d'information au moment du traitement dudit document ; et inscription dudit bloc d'information identifié dans ledit second groupe. Grâce à ce procédé d'ordonnancement, l'ensemble des blocs d'information associés à un attribut prédéterminé, indiquant le traitement impératif de ces blocs d'information, sont placés en tête du document de telle sorte que le dispositif de traitement peut vérifier sa capacité à traiter ce type de bloc d'information dès réception du début du document, jusqu'à l'identification du bloc de marquage. Selon une caractéristique avantageuse de l'invention, l'étape de répartition comporte les sous-étapes suivantes : - identification d'un premier bloc d'information référençant un deuxième bloc d'information ; et - inscription du premier bloc d'information dans ledit second groupe si le deuxième bloc d'information appartient audit second groupe. On regroupe ainsi dans le second groupe de blocs d'information, placé en tête du document, l'ensemble des blocs d'information référençant un bloc d'information placé dans ce second groupe. Alternativement, l'étape de répartition du procédé d'ordonnancement conforme à l'invention comporte les sous-étapes suivantes : - identification d'un premier bloc d'information référençant un deuxième bloc d'information ; et - inscription du premier bloc d'information avant le deuxième bloc d'information si le deuxième bloc d'information appartient audit premier groupe. Ici, le premier bloc d'information référençant le deuxième bloc d'information est placé avant ce deuxième bloc d'information de telle sorte que le traitement du document peut s'effectuer au fur et à mesure de la réception des blocs d'information. Selon un autre aspect de l'invention, un procédé de traitement d'un document représenté dans un langage de balisage comprenant des blocs d'information juxtaposés comprend les étapes suivantes : - identification d'un bloc de marquage prédéfini ; et - traitement au fur et à mesure des blocs d'information inscrits après ledit de marquage prédéfini. Ainsi, le procédé de traitement permet de traiter au fur et à mesure une partie d'un document représenté dans un langage de balisage dès l'identification d'un bloc de marquage incorporé lors de l'ordonnancement du document tel que décrit précédemment. Corrélativement, la présente invention concerne un dispositif d'ordonnancement d'un document représenté dans un langage de balisage, comprenant des blocs d'information juxtaposés, comprenant : des moyens de répartition des blocs d'information en deux groupes, - un premier groupe comprenant des blocs d'information adaptés à être traités au fur et à mesure ; et - un second groupe comprenant les blocs d'information dudit document n'appartenant pas audit premier groupe ; des moyens d'inscription du second groupe de blocs d'information ; des moyens d'ajout d'un bloc de marquage ; et des moyens d'inscription du premier groupe de blocs d'information après ledit bloc de marquage. Elle concerne également un dispositif de traitement d'un document représenté dans un langage de balisage comprenant des blocs d'information juxtaposés, comprenant : des moyens d'identification d'un bloc de marquage prédéfini ; et des moyens de traitement adaptés à traiter au fur et à mesure des blocs d'information inscrits après ledit bloc de marquage prédéfini. Ces dispositifs d'ordonnancement et de traitement présentent des avantages et des caractéristiques analogues à ceux des procédés qu'ils mettent en oeuvre. La présente invention s'applique en particulier à tout document représenté en langage XML. Elle concerne également un téléphone mobile, un assistant numérique personnel et plus généralement tout système informatique comportant un dispositif d'ordonnancement et/ou un dispositif de traitement conformes à l'invention. Elle concerne également un support d'information, éventuellement totalement ou partiellement amovible, lisible par un système informatique, contenant des instructions d'un programme d'ordinateur adapté à mettre en oeuvre un procédé d'ordonnancement et/ou un procédé de traitement conformes à l'invention, lorsque ce programme est chargé et exécuté par système informatique. Enfin, elle vise un programme d'ordinateur stocké sur un support d'information, le programme comportant des instructions adaptées à mettre en oeuvre un procédé d'ordonnancement et/ou un procédé de traitement conformes à l'invention, lorsqu'il est chargé et exécuté par un système informatique. Ce téléphone mobile, cet assistant numérique personnel, ce système informatique, ce support d'information et ce programme d'ordinateur présentent des caractéristiques et avantages analogues aux procédés qu'ils mettent en oeuvre. 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 : - la figure 1 est un algorithme illustrant le procédé d'ordonnancement conforme à un mode de réalisation de l'invention ; - la figure 1A est un algorithme illustrant une étape de vérification du procédé d'ordonnancement de la figure 1 ; - la figure 1 B est un algorithme illustrant une étape de tri du procédé d'ordonnancement de la figure 1 ; - les figures 2 à 5 sont des représentations schématiques d'un exemple de document représenté dans un langage de balisage, illustrant l'ordonnancement du document lors de la mise en oeuvre du procédé d'ordonnancement de la figure 1 ; - la figure 6 est un algorithme illustrant un procédé de traitement d'un document conforme à un mode de réalisation de l'invention ; et - la figure 7 illustre schématiquement un système informatique adapté à mettre en oeuvre l'invention. On va décrire tout d'abord en référence à la figure 1 un procédé d'ordonnancement d'un document conforme à un mode de réalisation de l'invention. On considère ici, de manière nullement limitative, un document en langage XML tel que représenté schématiquement à la figure 2. Ce document comprend plusieurs blocs d'information juxtaposés, et ici cinq blocs d'information. En langage XML, chaque bloc d'information est délimité par une balise ouvrante et une balise fermante et comprend un certain nombre de données textuelles. Bien entendu, chaque bloc du document peut également comporter des balises filles, et ceci de manière récursive. Ici, les blocs considérés sont tous situés à un même niveau hiérarchique du document XML de telle sorte qu'ils sont juxtaposés, sans imbrication possible entre les différents blocs. Chaque balise ouvrante d'un bloc d'information du document peut comprendre également un attribut permettant de qualifier cette balise. En particulier, les blocs 1 et 3 sont ici associés à un attribut prédéterminé, adapté à indiquer à un dispositif de traitement que la compréhension et le traitement de ces blocs d'information 1 et 3 sont impératifs lors du traitement du document. En langage XML, un tel attribut est appelé"mustUnderstand", noté dans la suite de la description en abrégé mU. Lorsque cet attribut est associé à la valeur"true", le dispositif de traitement du document doit être capable effectivement de traiter ce bloc d'information, noté bloc mU. En outre, la norme SOAP impose au dispositif de traitement de ne traiter les autres blocs du document que s'il est adapté à traiter tous les blocs associés à l'attribut mU. Par ailleurs, un document en langage XML peut également comporter des blocs d'information référençant d'autres blocs d'information. A titre d'exemple, le bloc 4 référence le bloc 2 alors que le bloc 5 référence le bloc 3. Un premier bloc référence un deuxième bloc lorsque le traitement du premier bloc requiert l'intégralité ou une partie des données du deuxième bloc. Tel est le cas notamment d'un bloc de signature d'une image numérique qui requiert les données représentatives de l'image mémorisées dans un autre bloc, pour calculer la signature. Le document tel qu'illustré à la figure 2 peut constituer un message, généré sur une station serveur ou un ordinateur d'un réseau de communication. Ce message sera ensuite transféré à un dispositif de traitement incorporé par exemple dans un autre ordinateur du réseau de communication, ou encore dans un téléphone mobile ou un assistant numérique personnel, en vue de son traitement. Comme illustré à la figure 1, une première étape d'obtention E10 du message à envoyer est mise en oeuvre sur un ordinateur serveur du réseau de communication. Le message tel qu'illustré à la figure 2 est ainsi généré directement par l'ordinateur serveur du réseau ou bien est récupéré via le réseau de communication à partir d'un autre ordinateur. Ensuite, conformément à l'invention, le procédé d'ordonnancement comporte tout d'abord une étape de répartition EU des blocs d'information en deux groupes. Cette étape de répartition E11 permet de mémoriser dans un premier groupe des blocs d'information adaptés à être traités au fur et à mesure, ou encore à la volée, dès leur réception par le dispositif de traitement. Le second groupe comprend les autres blocs d'information du document, c'est-à-dire les blocs d'information qui ne peuvent pas être traités au fur et à mesure de leur réception mais nécessitent la mémorisation d'au moins un autre bloc d'information pour leur traitement. Dans la suite de la description, le premier groupe comprenant des blocs d'information adaptés à être traités au fur et à mesure sera appelé groupe V et le second groupe, comprenant les autres blocs d'information, sera appelé groupe NV. Ici, dans ce mode de réalisation préféré, l'étape de répartition E11 comporte tout d'abord une étape d'identification E111 des blocs à partir de l'attribut mU décrit précédemment. En pratique, on examine chaque bloc d'information du message et on identifie les blocs d'information associés à un attribut mU. Pour chaque bloc d'information du message, on lit la balise ouvrante définissant le début du bloc d'information. On vérifie si l'attribut"mustUnderstand"existe et s'il est associé à une valeur"true". On identifie ainsi les blocs du message qui sont associés à un attribut mU dont la valeur est"true". Ici, on identifie les blocs 1 et 3 du message tel qu'illustré à la figure 2. Ces blocs d'information 1 et 3 ainsi identifiés sont alors inscrits dans le second groupe NV. La figure 3 illustre cette répartition des blocs d'information du message de la figure 2 à l'issue de l'étape E111. Une étape de vérification E112 est ensuite mise en oeuvre et permet de vérifier les références existantes au sein du message vers des blocs d'information du groupe NV. Cette étape de vérification E112 est illustrée en détail à la figure 1A. En pratique, on identifie un premier bloc d'information référençant un deuxième bloc d'information. Par exemple, on identifie ici le bloc 5 référençant le bloc 3 et le bloc 4 référençant le bloc 2. Si le deuxième bloc d'information appartient au second groupe NV, on inscrit le premier bloc d'information dans ce second groupe NV. Tel est ici le cas du bloc d'information 5 qui référence le bloc d'information 3 appartenant au second groupe NV. Ce bloc d'information 5 est inscrit dans le second groupe NV à la suite des blocs d'information 1 et 3, comme illustré à la figure 4. Comme illustré à la figure 1A, cette étape de vérification est mise en oeuvre sur l'ensemble des blocs d'information mémorisés dans le premier groupe V à l'issue de l'étape d'identification E111. Une étape d'obtention E21 permet d'obtenir le premier bloc d'information du premier groupe V. Une étape de test E22 permet de vérifier si ce premier bloc référence un bloc mémorisé dans le second groupe NV. Dans l'affirmative, une étape de déplacement E23 permet de déplacer le bloc d'information courant dans le second groupe NV. Après cette étape de déplacement E23, on réitère l'étape d'obtention E21 du premier bloc du groupe V afin de réitérer l'ensemble de l'algorithme de vérification dès lors que le second groupe NV a été modifié par l'ajout d'un bloc supplémentaire. Si à l'issue de l'étape de test E22, le premier bloc ne référence pas un bloc mémorisé dans le second groupe NV, on vérifie dans une étape de test E24 s'il existe un autre bloc dans le premier groupe V. Dans l'affirmative, une étape d'obtention E25 permet d'obtenir le bloc suivant mémorisé dans le premier groupe V et on réitère pour ce bloc suivant les étapes E22 à E25. Lorsque tous les blocs du groupe V ont été vérifiés, l'étape de vérification E112 se termine par une réponse négative à l'issue de l'étape de test E24. Après cette étape de vérification E112, une étape de tri E113 est également mise en oeuvre sur l'ensemble des blocs d'information du premier groupe V. Cette étape de tri E113 est illustrée en détail à la figure 1 B. En particulier, lorsqu'on identifie un premier bloc d'information référençant un deuxième bloc d'information dans le premier groupe V, on inscrit ce premier bloc d'information avant le deuxième bloc dans ce premier groupe V. Ici, le bloc 4 référençant le bloc 2 est placé avant le bloc 2 comme illustré à la figure 4. Lors de cette étape de tri EU 3, si on identifie au moins deux blocs d'information se référençant l'un l'autre, directement ou indirectement, ces blocs d'information sont inscrits dans le second groupe NV. En particulier, un tel cas peut se produire lorsque des cycles de références sont détectés, c'est-à-dire par exemple qu'un premier bloc référençant un deuxième bloc et ce deuxième bloc référençant un troisième bloc, le troisième bloc référence lui-même le premier bloc. L'ensemble de ces blocs appartient ainsi à un même cycle et doit être mémorisé pour permettre leur traitement par un dispositif de traitement. Aussi, l'ensemble de ces blocs est transféré dans le second groupe NV. En pratique, comme illustré à la figure 1 B, l'algorithme de tri commence par identifier tous les blocs du premier groupe V ne référençant aucun autre bloc de ce groupe. Pour cela, une étape d'obtention E31 permet d'obtenir le premier bloc d'information du groupe V. On vérifie dans une étape de test E32 si ce premier bloc référence un autre bloc du groupe V. Dans la négative, on marque dans une étape de marquage E33 ce bloc d'une marque égale à 1. Puis on examine dans une étape E34 le bloc suivant, s'il existe, du groupe V. Une étape d'obtention E35 permet d'obtenir ce bloc suivant sur lequel on réitère les étapes E32 à E35. Si à l'issue de l'étape de test E32, le bloc courant réfère un autre bloc, on passe directement au bloc suivant du groupe V, sans marquer ce bloc. A l'issue de ces étapes E31 à E35, on a ainsi identifié tous les blocs ne référençant aucun autre bloc. Ces blocs sont marqués de la marque 1. Lorsque tous les blocs du groupe V ont été examinés, les étapes suivantes de l'algorithme de tri permettent de remonter les chaînes de référence à partir des blocs identifiés précédemment. L'algorithme consiste à marquer chaque bloc du nombre de référencements à parcourir pour aller de ce bloc jusqu'à un bloc ne référençant aucun autre bloc Ainsi, dans une étape d'initialisation E36, on initialise un indice e à la valeur 1 et on associe à un second indice n le nombre de blocs dans le groupe V. Puis dans une étape d'obtention E37, on obtient le premier bloc d'information du groupe V. On vérifie dans une étape de test E38 si ce bloc courant référence un bloc d'information marqué de l'indice e courant. Dans l'affirmative, le bloc courant est lui-même marqué d'une marque égale à e + 1 dans une étape de marquage E39. On vérifie dans une étape de test E40 s'il existe un autre bloc dans le groupe V et on obtient dans une étape d'obtention E41 le bloc suivant. Les étapes E38 à E41 sont alors réitérées sur ce bloc suivant. Si à l'issue de l'étape de test E38, le bloc courant ne réfère pas de bloc marqué e, on considère directement le bloc suivant dans le premier groupe V. Lorsqu'à l'issue de l'étape de test E40, tous les blocs du groupe V ont été examinés, on compare la valeur de l'indice e à une valeur de seuil égale à 2n. Si cette valeur d'indice e est inférieure à 2n, une étape d'incrémentation E43 est mise en oeuvre pour incrémenter d'une unité la valeur de l'indice e et l'ensemble des étapes E37 à E42 sont réitérées sur l'ensemble des blocs d'information du groupe V. Ainsi, ces étapes E37 à E42 permettent de marquer chaque bloc du nombre de référencements. A titre d'exemple, si un bloc B3 référence B2, ce bloc B2 référençant lui-même un bloc B1 qui ne référence rien, alors le bloc B3 est marqué d'un indice égal à 3, le bloc B2 d'un indice égal à 2 et le bloc B1 d'un indice égal à 1. Par ailleurs, cet algorithme de marquage va également marquer les blocs faisant partie d'un cycle d'une marque égale à un nombre élevé. En effet, si un bloc B3 référence un bloc B2 qui référence lui-même un bloc B 1 qui ne référence rien et qu'en outre le bloc B2 référence également le bloc B3, l'algorithme de marquage décrit précédemment va marquer le bloc B1 d'un indice 1, puis marquer le bloc B2 d'un indice 2, puis marquer le bloc B3 d'un indice 3 puis de nouveau marquer le bloc B2 d'un indice 4 puis le bloc B3 d'un indice 5, puis le bloc B2 d'un indice 6. Grâce à l'étape de test E42, on met en oeuvre les étapes de marquage E33 à E41 tant que l'indice e n'a pas atteint la valeur 2n correspondant au double du nombre n de blocs d'information mémorisés dans le groupe V. Ainsi, les blocs faisant partie d'un cycle (c'est-à-dire les blocs se référençant au moins l'un l'autre, directement ou indirectement) seront automatiquement marqués d'un nombre suffisamment élevé, et au moins supérieur au nombre n de blocs d'information mémorisés dans le groupe V. Puis lorsque ces étapes de marquage sont terminées, le tri est effectivement réalisé. Une première étape de transfert E44 permet de déplacer les blocs d'information non marqués dans le second groupe NV. Ces blocs non marqués sont en fait des blocs appartenant à un cycle se référençant directement ou indirectement, sans aucun référencement à d'autres blocs du document. Une seconde étape de transfert E45 est mise en oeuvre pour déplacer l'ensemble des blocs dont l'indice de marquage est strictement supérieur au nombre n de blocs d'information dans le groupe V. On transfert ainsi tous les cycles dans le second groupe NV. Les seuls blocs d'information mémorisés dans le groupe V à l'issue des étapes de transfert E44 et E45 sont des blocs qui ne référencent aucun autre bloc ou qui ne comportent aucun référencement croisé, direct ou indirect, entre deux blocs. Une étape de tri E46 est réalisée sur les blocs du groupe V à partir des marques associées à chaque bloc, par marque décroissante. Les quelques exemples qui suivent illustrent, de manière nullement limitative, la mise en place de cet algorithme de tri sur un ensemble de trois blocs, en fonction des référencements existant entre ces blocs. Exemple 1 : B3 référence B2 et B2 référence 81. Le marquage des blocs est le suivant : - B3 est associé à 3, - B2 est associé à 2, et - B1 est associé à 1. Les blocs B1, B2, B3 restent dans le premier groupe V et sont triés dans l'ordre 83, 82, 81. Exemple 2 : B3 référence B2, B3 référence B1 et B2 référence 81. Le marquage des blocs est le suivant : - B3 est associé à 3, - B2 est associé à 2, et - B1 est associé à 1. Dans ce cas également, l'ensemble des blocs reste dans le premier groupe V et est trié dans l'ordre B3, B2, 81. Exemple 3 : B3 référence B2, B2 référence B1 et B1 référence B3. Ces blocs ne sont pas marqués à l'issue de l'algorithme de marquage, de telle sorte que tous ces blocs sont déplacés dans le second groupe NV, lors de l'étape de transfert E44. Exemple 4 : B3 référence B2, B2 référence B1 et B2 référence B3. Le marquage des blocs est le suivant : - B3 est associé à 5, - B2 est associé à 6, et - B1 est associé à 1. Dans cet exemple, les blocs 83 et B2 sont déplacés dans le second groupe NV à l'issue de l'étape de transfert E45, le bloc 81 étant maintenu dans le premier groupe V. On obtient ainsi à l'issue de cette étape de répartition E11 un document réparti en deux groupes de blocs d'information V et NV, tel qu'illustré à la figure 4, entre ceux pouvant être traités au fur et à mesure et ceux ne pouvant pas être traités au fur et à mesure. Dans un mode préféré de l'invention, l'étape de répartition E11 peut en outre comporter une étape de vérification E114 de l'action de chaque bloc sur l'état interne d'un dispositif de traitement. En pratique, on vérifie pour l'ensemble des blocs d'information mémorisés dans le second groupe NV, et plus particulièrement les blocs d'information associés à l'attribut mU, si le traitement de ces blocs d'information est susceptible de modifier l'état interne du système informatique incorporant un dispositif de traitement du document. Cette vérification peut être faite à l'aide d'une table mémorisant le nom des balises ouvrantes de chaque bloc et leur capacité à modifier ou non l'état interne du dispositif de traitement. Si aucun de ces blocs d'information n'est adapté à modifier l'état interne du système informatique, on transfert cet ensemble de blocs d'information du second groupe NV dans le premier groupe V. Ces blocs d'information sont au préalables triés selon le même algorithme de tri que celui décrit précédemment en référence à la figure 1B. L'ensemble de ces blocs est alors inséré au début du premier groupe V à l'issue de l'étape de vérification E114. De même, si un seul bloc du second groupe NV correspond à un traitement susceptible de modifier l'état interne du système informatique incorporant le dispositif de traitement du message, et que ce bloc ne fait référence à aucun autre bloc du second groupe NV, l'ensemble des blocs d'information du groupe NV peut également être transféré de ce second groupe NV dans le premier groupe V. Au préalable, les blocs d'information du groupe NV sont triés, comme décrit précédemment en référence à la figure 1 B. Le bloc dont le traitement est susceptible de modifier l'état interne du système informatique est placé à la fin de ce second groupe NV, puis l'ensemble des blocs de ce second groupe NV est inséré au début du premier groupe V, à l'issue de l'étape de vérification E114. Cette étape de vérification E114 permet ainsi de placer les blocs d'information dans le premier groupe V si tout au plus un de ces blocs d'information est susceptible de modifier l'état interne du système informatique. On peut en effet traiter ces blocs d'information et arrêter le traitement de l'ensemble du message si l'un de ces blocs d'information n'est pas compris du dispositif de traitement, sans pour autant avoir modifié l'état interne du système informatique, de telle sorte qu'à l'interruption de la procédure de traitement du message, ce dernier apparaît ne pas avoir été traité par le dispositif de traitement. L'ensemble de ces étapes de répartition des blocs permet de placer au maximum les blocs d'information dans le premier groupe V de telle sorte qu'ils peuvent être traités à la volée. Cet algorithme de séparation des blocs d'information permet ainsi de minimiser l'espace mémoire requis pour traiter le message. Après cette répartition, une étape de création E12 est ensuite mise en oeuvre pour générer un nouveau message dans lequel les blocs d'information sont ordonnés conformément au procédé d'ordonnancement de l'invention. Dans ce nouveau message, on inscrit tout d'abord, lors d'une étape d'ajout E13, le second groupe NV de blocs d'information, c'est-à-dire l'ensemble des blocs d'information devant être traités globalement par le dispositif de traitement. Une étape d'ajout E14 est ensuite mise en oeuvre pour insérer un bloc de marquage dans le document formant séparateur entre les deux groupes V et NV. On inscrit ensuite, dans une étape d'ajout E15, le premier groupe V de blocs d'information, directement après le bloc de marquage. Le nouveau message ainsi créé à l'issue du procédé d'ordonnancement conforme à ce mode de réalisation est illustré à la figure 5. Lorsque ce message doit être traité par un dispositif de traitement du réseau, ce message est envoyé dans une étape d'envoi E16. On va décrire à présent, en référence à la figure 6, un procédé de traitement d'un document représenté dans un langage de balisage conforme à l'invention. On va décrire à titre d'exemple le procédé de traitement d'un message tel qu'illustré à la figure 5, c'est-à-dire un message dans lequel les blocs d'information ont été ordonnés conformément au procédé d'ordonnancement de l'invention. Ainsi, une étape de réception E60 est mise en oeuvre afin de réceptionner le début du message à traiter. Une étape de réception E61 d'un premier bloc est ensuite mise en oeuvre afin d'examiner les blocs d'information un à un. On vérifie tout d'abord dans une étape de test E62 si ce bloc reçu forme la fin du message. Dans la négative, on vérifie dans une seconde étape de test E63 si le bloc d'information reçu est un bloc de marquage prédéfini, indiquant que les blocs d'information situés dans le message après ce bloc de marquage peuvent être traités au fur et à mesure. Dans la négative, l'étape de réception E61 du bloc d'information suivant du message est mise en oeuvre, et ceci de manière récursive tant que le bloc d'information ne correspond pas au bloc de marquage prédéfini. On reçoit ainsi en pratique tous les blocs d'information du second groupe NV placé en tête du message. Ainsi, en référence à la figure 5, on reçoit les blocs 1,3 et 5 du message qui sont mémorisés en vue de leur traitement ultérieur par le dispositif de traitement. Lorsque le bloc reçu est le bloc de marquage prédéfini, c'est-à-dire ici le bloc séparateur placé entre les groupes NV et V, une étape de traitement E64 permet de traiter les blocs d'information mémorisés par le dispositif de traitement. Ainsi, l'ensemble des blocs reçus précédemment correspondant au groupe NV des blocs d'information, est traité globalement, de manière classique par un dispositif de traitement d'un document XML. En particulier, l'ensemble de ces blocs d'information est parcouru une première fois par le dispositif de traitement afin de vérifier si ce dernier est adapté à traiter tous les blocs d'information portant l'attribut"mustUndersand". Si un ou plusieurs de blocs d'information portant l'attribut MU n'est pas compris par le dispositif de traitement, le traitement de l'ensemble du message est arrêté et généralement, un message d'erreur est adressé à l'ordinateur ayant envoyé le message. Sinon, l'ensemble des blocs du second groupe NV est traité de manière globale par le dispositif de traitement. Puis, conformément à l'invention, dès lors que l'identification du bloc de marquage prédéfini a été faite à l'étape de test E63, une étape de traitement E65 est mise oeuvre pour traiter au fur et à mesure les blocs d'information inscrits après ce bloc de marquage prédéfini. Ici, on traite ainsi l'ensemble des blocs 4 et 2, dans l'ordre dans lequel ils ont étés mémorisés dans le premier groupe V du message tel qu'illustré à la figure 5. La fin du message est ainsi traitée au fil de l'eau, au fur et à mesure de la réception des blocs d'information par le dispositif de traitement. Bien entendu, le message reçu peut éventuellement ne pas comporter de bloc de marquage. Tel est le cas notamment si l'ordinateur client ayant généré le message ne met pas en oeuvre l'invention, ou bien encore lorsque tous les blocs d'information sont mémorisés dans le second groupe NV (ou en d'autres termes, le premier groupe V est vide). Dans ce cas, lors du traitement du message, les étapes E61 à E63 sont mises en oeuvre de manière récurrente. Lorsque à l'issue de l'étape de test E62, la fin du message est détectée, une étape de traitement E66 est mise en oeuvre pour traiter de manière globale le message ainsi mémorisé en intégralité. On notera par ailleurs que le bloc de marquage, indiquant que la suite du message peut être traitée au fur et à mesure, n'est pas un bloc associé à l'attribut"mustUnderstand". Ainsi, un dispositif de traitement ne mettant pas en oeuvre le procédé de traitement conforme à l'invention est quand même capable de traiter le message envoyé par un ordinateur serveur mettant en oeuvre l'invention, dans lequel un bloc de marquage a été inséré entre les deux groupes V et NV. Il lui suffit d'ignorer le bloc de marquage. Ce procédé de traitement d'un document XML peut avantageusement être mis en oeuvre directement dans un téléphone mobile ou encore dans un assistant numérique personnel tel qu'un agenda communiquant (en anglais PDA ou Personal Digital Assistant). Le dispositif d'ordonnancement du document XML est lui de préférence incorporé dans une station d'un réseau de communication adapté à communiquer avec un téléphone mobile ou un assistant numérique personnel. Grâce à l'incorporation d'un bloc de marquage indiquant la présence de blocs d'information pouvant être traités au fil de l'eau dans le message, le dispositif de traitement peut traiter de longs messages, sans requérir un espace mémoire important pour mémoriser l'intégralité du message. L'un ou l'autre de ces systèmes informatiques adaptés à mettre en oeuvre les procédés d'ordonnancement et/ou de traitement conformes à l'invention est illustré schématiquement à la figure 7. Le dispositif d'ordonnancement d'une part et le dispositif de traitement d'autre part peuvent être incorporés dans un microprocesseur 100, une mémoire morte 101 (en anglais''Read Only Memory" ou ROM) comprenant un programme pour ordonnancer un document ou traiter des documents, et une mémoire vive 102 (en anglais"Random Access Memory"ou RAM) comportant des registres adaptés à mémoriser des variables modifiées au cours de l'exécution du programme. En particulier, la mémoire vive 102 du dispositif d'ordonnancement est adaptée à mémoriser tous les blocs du message ainsi que les indices e et n nécessaires au tri des blocs d'information dans le premier groupe V. De même, la mémoire vive 102 du dispositif de traitement est suffisante pour mémoriser tous les blocs d'information reçus avant la réception du bloc de marquage indiquant la possibilité de traiter les blocs suivants au fur et à mesure de leur réception, sans avoir à les mémoriser. Ce microprocesseur 100 est intégré à un ordinateur 10 qui peut être connecté à différents périphériques ou bien incorporé dans un téléphone mobile. Cet ordinateur 10 comporte une interface de communication 110 reliée au réseau de communication 1 pour recevoir ou transmettre des documents telles que des messages écrits en langage XML. L'ordinateur 10 comporte en outre des moyens de stockage de documents, tels 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é d'ordonnancement ou de traitement 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 d'ordonnancement ou de traitement de mettre en oeuvre l'invention pourra être stocké dans la mémoire morte 101 (ROM). En seconde variante, le programme pourra ê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 du document XML après son traitement. L'unité centrale100 (CPU) va exécuter les 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 vive 102 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 des 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 à l'exemple de réalisation décrit précédemment sans sortir du cadre de l'invention. Ainsi, bien que le procédé d'ordonnancement décrit précédemment soit mis en oeuvre sur un document déjà représenté en langage XML, ce procédé d'ordonnancement peut également être mis en oeuvre pour générer un document en langage XML, lors même de sa création. En outre, l'association de l'attribut mU à un bloc d'information peut être faite non seulement, comme décrit dans le mode de réalisation, au travers d'un attribut associé à une balise ouvrante définissant le bloc d'information, mais également grâce à une balise incluse dans le bloc d'information ou encore grâce à une balise englobante, dans laquelle est inclus le bloc d'information. REVENDICATIONS 1. Procédé d'ordonnancement d'un document représenté dans un langage de balisage, comprenant des blocs d'information juxtaposés, caractérisé en ce qu'il comprend les étapes suivantes : - répartition (E11) des blocs d'information en deux groupes, - un premier groupe (V) comprenant des blocs d'information adaptés à être traités au fur et à mesure ; et - un second groupe (NV) comprenant les blocs d'information dudit document n'appartenant pas audit premier groupe (V) ; - inscription (E13) du second groupe (NV) de blocs d'information ; ajout (E14) d'un bloc de marquage ; et - inscription (E15) du premier groupe (V) de blocs d'information après ledit bloc de marquage. 2. Procédé d'ordonnancement conforme à la revendication 1, caractérisé en ce que l'étape de répartition comporte les sous-étapes suivantes : - identification (E111) d'au moins un bloc d'information associé à un attribut prédéterminé (mU), ledit attribut prédéterminé (mU) indiquant le traitement impératif du bloc d'information au moment du traitement dudit document ; et - inscription (E111) dudit bloc d'information identifié dans ledit second groupe (NV). 3. Procédé d'ordonnancement conforme à la revendication 2 caractérisé en ce que l'étape de répartition comporte en outre les étapes suivantes : vérification (E114) pour l'ensemble des blocs d'information associés audit attribut prédéterminé (mU) si le traitement desdits blocs d'information est adapté à modifier l'état interne d'un système informatique incorporant un dispositif de traitement dudit document ; et - transfert (E114) dudit ensemble des blocs d'information associés audit attribut prédéterminé (mU) dudit second groupe (NV) dans ledit premier groupe (V) si le traitement d'au plus un desdits blocs d'information est adapté à modifier l'état interne dudit système informatique. 4. Procédé d'ordonnancement conforme à l'une des revendications 1 à 3, caractérisé en ce que l'étape de répartition comporte les sous-étapes suivantes : - identification (E112) d'un premier bloc d'information référençant un deuxième bloc d'information ; et - inscription (E112) du premier bloc d'information dans ledit second groupe (NV) si le deuxième bloc d'information appartient audit second groupe (NV). 5. Procédé d'ordonnancement conforme à l'une des revendications 1 à 3, caractérisé en ce que l'étape de répartition comporte les sous-étapes suivantes : identification (EU 3) d'un premier bloc d'information référençant un deuxième bloc d'information ; et - inscription (E113) du premier bloc d'information avant le deuxième bloc d'information si le deuxième bloc d'information appartient audit premier groupe (V). 6. Procédé d'ordonnancement conforme à l'une des revendications 1 à 5, caractérisé en ce que l'étape de répartition comporte les sous-étapes suivantes : - identification (E113) d'au moins deux blocs d'information se référençant l'un l'autre, directement ou indirectement ; et - inscription (E113) desdits blocs d'information dans ledit second groupe (NV). 7. Procédé de traitement d'un document représenté dans un langage de balisage comprenant des blocs d'information juxtaposés, caractérisé en ce qu'il comprend les étapes suivantes : - identification (E63) d'un bloc de marquage prédéfini ; et - traitement (E65) au fur et à mesure des blocs d'information inscrits après ledit bloc de marquage prédéfini. 8. Procédé de traitement d'un document conforme à la revendication 7, caractérisé en ce qu'il comprend les étapes suivantes : - mémorisation (E61) des blocs d'information du document inscrits avant un bloc de marquage prédéfini ; - identification (E63) du bloc de marquage prédéfini ; - traitement (E64) des blocs d'information mémorisés ; et - traitement (E65) au fur et à mesure des blocs d'information inscrits après ledit bloc de marquage prédéfini. 9. Dispositif d'ordonnancement d'un document représenté dans un langage de balisage, comprenant des blocs d'information juxtaposés, caractérisé en ce qu'il comprend : des moyens de répartition (100,101, 102) des blocs d'information en deux groupes, - un premier groupe (V) comprenant des blocs d'information adaptés à être traités au fur et à mesure ; et - un second groupe (NV) comprenant les blocs d'information dudit document n'appartenant pas audit premier groupe ; des moyens d'inscription (100,101, 102) du second groupe (NV) de blocs d'information ; des moyens d'ajout (100,101, 102) d'un bloc de marquage ; et des moyens d'inscription (100,101, 102) du premier groupe (V) de blocs d'information après ledit bloc de marquage. 10. Dispositif d'ordonnancement conforme à la revendication 9, caractérisé en ce que les moyens de répartition (100,101, 102) comprennent : des moyens d'identification (100,101, 102) d'au moins un bloc d'information associé à un attribut prédéterminé (mU), ledit attribut prédéterminé (mU) indiquant le traitement impératif du bloc d'information au moment du traitement dudit document ; et des moyens d'inscription (100,101, 102) dudit bloc d'information identifié dans ledit second groupe (NV). 11. Dispositif d'ordonnancement conforme à la revendication 10, caractérisé en ce que les moyens de répartition (100,101, 102) comprennent en outre : des moyens de vérification (100,101, 102) pour l'ensemble des blocs d'information associés audit attribut prédéterminé (100,101, 102) si le traitement desdits blocs d'information est adapté à modifier l'état interne d'un système informatique incorporant un dispositif de traitement dudit document ; et des moyens de transfert (100,101, 102) dudit ensemble des blocs d'information associés audit attribut prédéterminé (MU) dudit second groupe (NV) dans ledit premier groupe (V), si le traitement d'au plus un desdits blocs d'information est adapté à modifier l'état interne dudit système informatique. 12. Dispositif d'ordonnancement conforme à l'une des revendications 9 à 11, caractérisé en ce que les moyens de répartition comprennent : des moyens d'identification (100,101, 102) d'un premier bloc d'information référençant un deuxième bloc d'information ; et des moyens d'inscription (100,101, 102) adaptés à inscrire le premier bloc d'information dans ledit second groupe (NV) si le deuxième bloc d'information appartient audit second groupe (NV) ou adaptés à inscrire le premier bloc d'information avant le deuxième bloc d'information si le deuxième bloc d'information appartient audit premier groupe (V). 13. Utilisation d'un dispositif d'ordonnancement conforme à l'une des revendications 9 à 12, pour générer un document représenté dans un langage de balisage. 14. Utilisation d'un dispositif d'ordonnancement conforme à l'une des revendications 9 à 12, pour modifier l'ordre des blocs d'information représenté dans un langage de balisage. 15. Utilisation d'un dispositif d'ordonnancement conforme à l'une des revendications 9 à 12, pour ordonnancer un document en langage XML. 16. Dispositif de traitement d'un document représenté dans un langage de balisage comprenant des blocs d'information juxtaposés, caractérisé en ce qu'il comprend : des moyens d'identification (100,101, 102) d'un bloc de marquage prédéfini ; et des moyens de traitement (100,101, 102) adaptés à traiter au fur et à mesure des blocs d'information inscrits après ledit bloc de marquage prédéfini. 17. Dispositif de traitement d'un document conforme à la revendication 16, caractérisé en ce qu'il comprend en outre : des moyens de mémorisation (100,101, 102) des blocs d'information du document inscrits avant un bloc de marquage prédéfini. 18. Utilisation du dispositif de traitement conforme à l'une des revendications 16 ou 17, pour traiter un document en langage XML. 19. Dispositif d'ordonnancement conforme à l'une des revendications 9 à 12, caractérisé en ce qu'il est incorporé dans : un microprocesseur (100) ; une mémoire morte (101) adaptée à mémoriser un programme d'ordonnancement d'un document ; et une mémoire vive (102) comportant des registres adaptés à mémoriser les variables modifiées lors de l'exécution dudit programme. 20. Dispositif de traitement conforme à l'une des revendications 16 ou 17, caractérisé en ce qu'il est incorporé dans : un microprocesseur (100) ; une mémoire morte (101) adaptée à mémoriser un programme de traitement d'un document ; et une mémoire vive (102) comportant des registres adaptés à mémoriser les variables modifiées lors de l'exécution dudit programme. 21. Téléphone mobile, caractérisé en ce qu'il comporte un dispositif d'ordonnancement conforme à l'une des revendications 9 à 12. 22. Assistant numérique personnel, caractérisé en ce qu'il comporte un dispositif d'ordonnancement conforme à l'une des revendications 9 à 12. 23. Système informatique, caractérisé en ce qu'il comporte un dispositif d'ordonnancement conforme à l'une des revendications 9 à 12. 24. Téléphone mobile, caractérisé en ce qu'il comporte un dispositif de traitement conforme à l'une des revendications 16 ou 17. 25. Assistant numérique personnel, caractérisé en ce qu'il comporte un dispositif de traitement conforme à l'une des revendications 16 ou 17. 26. Système informatique, caractérisé en ce qu'il comporte un dispositif de traitement conforme à l'une des revendications 16 ou 17. 27. Support d'information, éventuellement totalement ou partiellement amovible, lisible par un système informatique, caractérisé en ce qu'il contient des instructions d'un programme d'ordinateur adapté à mettre en oeuvre un procédé d'ordonnancement conforme à l'une des revendications 1 à 6, lorsque ce programme est chargé et exécuté par un système informatique. 28. Support d'information, éventuellement totalement ou partiellement amovible, lisible par un système informatique, caractérisé en ce qu'il contient des instructions d'un programme d'ordinateur adapté à mettre en oeuvre un procédé de traitement conforme à l'une des revendications 7 ou 8, lorsque ce programme est chargé et exécuté par un système informatique. 29. Programme d'ordinateur stocké sur un support d'information, ledit programme comportant des instructions adaptées à mettre en oeuvre un procédé d'ordonnancement conforme à l'une des revendications 1 à 6, lorsqu'il est chargé et exécuté par un système informatique. 30. Programme d'ordinateur stocké sur un support d'information, ledit programme comportant des instructions adaptées à mettre en oeuvre un procédé de traitement conforme à l'une des revendications 7 ou 8, lorsqu'il est chargé et exécuté par un système informatique.