Brevet FR2860618A1 — publié le 20050408

PROCEDE DE TRAITEMENT D'ELEMENTS D'INFORMATION NUMERIQUES COLLECTES, SYSTEME ET PROGRAMME POUR LA MISE EN OEUVRE DU PROCEDE La présente invention concerne le domaine du traitement d'éléments d'information numériques collectés, pour effectuer ensuite la diffusion de données déterminées à partir de ces éléments d'information. Une préoccupation majeure de nombreuses entreprises est de pouvoir utiliser de façon efficace et automatisée les informations dont elles disposent. Ces informations sont généralement disponibles sous des formes hétérogènes. En effet, ces informations peuvent faire partie de bases de données, ou encore être disponibles sur un site Web, ou sur des réseaux Intranet ou Extranet. Elles peuvent également figurer dans des documents sous des formats variés, tels des messages électroniques (email, SMS), des documents PDF, Word, Quark, etc. La diffusion de ces informations nécessite généralement au préalable un traitement de ces divers éléments. Le traitement peut comprendre des opérations relatives à une extraction de contenus, à une homogénéisation de la présentation des différents contenus indépendamment de leur provenance et enfin à la détermination du contenu de données d'information à envoyer. Ces données sont ensuite diffusées, en fonction de règles de diffusion définies, à des personnes désignées, qui en assureront l'exploitation. Ces personnes peuvent être par exemple des employés de l'entreprise d'où émane l'information, ou encore des abonnés d'un service basé sur des informations fournies par cette entreprise. II existe des solutions permettant le traitement automatisé d'éléments d'information de nature et d'origine diverses collectés depuis les différentes sources possibles. Certaines de ces solutions, quand elles reçoivent un nouvel élément d'information numérique, en déterminent le format, puis les transforment en un élément d'information associé dans un format rationalisé. Elles élaborent ensuite le contenu d'une ou plusieurs données d'information, lesquelles sont délivrées à un ou plusieurs destinataires dans des conditions de fréquence, de format, de fourniture déterminées. Le format rationalisé peut être par exemple de type XML ("Extensible Markup Language"). Selon ces solutions, lorsqu'un document est reçu, le type de document (par exemple, Quark marque de la société Quark, Inc.) est reconnu parmi une liste de types prédéfinie (par exemple, Quark, PDF et Word marque de la société Microsoft Corporation). Puis pour chaque partie d'information du document associée à un jeu de balises propre au type du document et définissant la mise en forme de cette partie, on effectue une transformation en XML. Cette transformation XML est réalisée en affectant à la partie d'information considérée un jeu de balises XML définissant une mise en forme correspondante de la partie d'information. Le jeu de balises XML est déterminé à l'aide d'une table de correspondance de style prédéfinie, fournissant pour chaque balise du type du document reçu, dans le cas présent pour chaque balise de Quark, une balise XML correspondante. A titre d'exemple, on considère un document comprenant un paragraphe de la forme: "XXXXXXX" , avec la présence du jeu de balises autour de la partie d'information comprenant le texte " XXXXXXX" et les deux feuilles de style "italiques" et "bold" associées, signifiant que le texte est en italiques et gras. Ce jeu de balises signifie que la partie d'information telle qu'elle apparaît dans le document de type Q présente les caractéristiques d'un titre tel que défini pour un document de type Q, Q faisant partie de la liste de type prédéfinie (par exemple, ces caractéristiques sont: écriture en majuscules, encadré, centré sur la feuille). La table de correspondance de style associe par exemple à un jeu de balises , du type Q, un jeu de balises XML , signifiant que dans le document XML, la partie d'information associée sera un titre, et sera par exemple en gras, majuscule et souligné. Cette table de correspondance de style prédéfinie peut être fixe, ou au contraire être personnalisée en fonction des choix de l'entité utilisant la solution. 2860618 3 Ces solutions requièrent préalablement, pour chaque type d'éléments d'information traité, d'établir une table de correspondance de style. D'autre part, pour un type d'éléments d'information donné (ici Quark), la liste doit permettre la correspondance XML pour toutes les balises existantes utilisées dans les documents de type Quark. Ces solutions requièrent donc un travail important de configuration pour la prise en compte de chaque nouveau format. Les solutions existantes présentent l'inconvénient de ne pouvoir traiter de façon satisfaisante, voire de rejeter, les éléments d'information collectés dont le contenu ne se présente pas sous la forme d'une succession de parties d'information, chacune associée à un jeu de balises propre au type du document et définissant la mise en forme de la partie d'information considérée, avec chaque jeu de balises connu dans la table de correspondance de style associée, ce qui peut se produire dans plusieurs cas de figure. Un premier cas correspond à la présence d'erreurs, soit dans les jeux de balises figurant dans l'élément d'information que l'on traite, soit dans la table de correspondance de style. Un second cas correspond à une non-exhaustivité des tables de correspondance, se traduisant par le fait qu'à une balise d'un élément d'information reçu n'est affectée aucune balise XML. Ce cas peut se produire notamment lors de mises en services de nouvelles versions de types d'éléments d'information. Un troisième cas correspond à la présence de parties d'information non associées à des balises en définissant la mise en forme. Or ce cas se rencontre de plus en plus fréquemment, les auteurs des éléments d'informations collectés se contentant de fournir des informations sous une forme brute. L'invention vise une solution de traitement d'informations qui soit moins affectée que les solutions de l'art antérieur, par les limitations citées ci-dessus. Ainsi suivant un premier aspect, l'invention propose un procédé de traitement d'éléments d'information numériques collectés, pour la diffusion de données déterminées à partir de ces éléments d'information, comprenant les étapes suivantes: - on extrait successivement d'une représentation binaire d'un élément d'information collecté, des blocs de données, dans leur ordre d'apparition dans ladite représentation binaire; - on numérote ces blocs de façon croissante; - on affecte un balisage XML à chaque bloc, le balisage XML d'au moins un bloc étant déterminé à partir d'une table de correspondance de blocs prédéfinie fournissant un balisage XML en fonction d'au moins le numéro dudit bloc; - on obtient l'élément d'information traité sous format XML. î 0 Le procédé selon l'invention permet ainsi la transforn?àtion en XML d'un élément d'information reçu dont le contenu ne se présente pas nécessairement sous une forme délimitée par des balises propres au type du document pour définir la mise en forme de parties du document, chaque jeu de balises étant répertorié dans une table de correspondance de style associée. Un tel procédé est beaucoup moins sensible aux problèmes créés, par des balises erronées, absentes ou inconnues dans les solutions de l'art antérieur. Par ailleurs, les solutions de l'art antérieur réalisent préalablement une étape d'identification du type d'un nouvel élément d'information collecté. Cette identification se base généralement sur l'extension, telle que ".doc" ou ".pdf', associée à l'élément d'information collecté. La correspondance entre balises du type de l'élément collecté et balises XML ne peut avoir lieu qu'une fois le type identifié. Or lorsque cette extension manque ou est erronée, le type ne peut être déterminé et l'élément d'information ne peut être traité. Avantageusement le procédé selon l'invention comporte une étape d'identification. Cette étape d'identification comprend la recherche, dans la représentation binaire de l'élément d'information, d'une séquence binaire parmi un ensemble de séquences binaires préétablies associées respectivement aux types figurant dans une liste de types pré-établie, qui sont les types d'éléments d'information traités selon le procédé de l'invention. Une telle identification permet de reconnaître le type d'un élément d'information, même avec une extension manquante ou erronée. Suivant un second aspect, l'invention propose un procédé pour fournir des données d'information à une pluralité de destinataires, à partir d'éléments d'information numériques collectés, et selon lequel: - on transforme un élément d'information traité sous format XML en au moins une donnée à diffuser en fonction de règles de diffusion définissant au moins un format de sortie, un support de diffusion, un contenu de diffusion extrait de l'élément d'information traité sous format XML et au moins un destinataire associés; - et on diffuse la donnée à diffuser en fonction desdites règles de diffusion. Suivant un troisième aspect, l'invention propose un système de traitement d'éléments d'information numériques collectés pour la diffusion de données déterminées à partir de ces éléments d'information, comprenant des moyens pour mettre en oeuvre un procédé suivant le premier aspect de l'invention. Suivant un quatrième aspect, l'invention propose un système pour fournir des données d'information à une pluralité de destinataires, à partir d'éléments d'information numériques collectés, comportant des moyens pour mettre en oeuvre un procédé suivant le deuxième aspect de l'invention. Suivant un cinquième aspect, l'invention propose un programme d'ordinateur à installer dans un dispositif informatique pour le traitement d'éléments d'information numériques collectés pour la diffusion de données déterminées à partir de ces éléments d'information, comprenant des instructions pour mettre en oeuvre un procédé suivant le premier aspect de l'invention. Suivant un sixième aspect, l'invention propose un programme d'ordinateur à installer dans un dispositif informatique pour la fourniture de données d'information à une pluralité de destinataires, à partir d'éléments d'information numériques collectés, comportant des instructions pour mettre en oeuvre un procédé selon le deuxième aspect de l'invention. D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs en référence à la figure unique représentant une plateforme de fourniture d'éléments d'information mettant en oeuvre un procédé selon l'invention. La figure unique représente une plateforme 1 de fourniture d'éléments d'information à des destinataires respectifs désignés. Sur la plateforme 1 sont collectés des éléments d'information numériques El provenant de plusieurs sources SI, S2, ..., SN. Des éléments El peuvent avoir été mis à disposition, par les sources respectives, de la plate-forme 1, qui dispose alors de moyens pour les récupérer. D'autres éléments El peuvent également être envoyés à la plate-forme 1 par ces sources. Ces sources sont associées à des clients utilisateurs de la plateforme 1. Par exemple, certaines des sources peuvent être des entreprises, d'autres peuvent être des départements distincts d'une même entreprise utilisatrice de la plateforme 1. Ainsi, par exemple une des entités utilisatrices du service de fourniture d'éléments d'information rendu par la plateforme 1 est une entreprise E. A cette entreprise E, les sources SI, S2 et S3, qui sont des départements respectifs de l'entreprise E sont associées, dans le cas représenté sur la figure unique. Les éléments d'information collectés El et pouvant être traités par la plate-forme 1 peuvent être de types variés. Il peut s'agir de messages électroniques de formats divers, par exemple email ou SMS ("Short Message Service") de fichiers Word, Excel (marque de la société Microsoft Corporation), Quark ou autres, d'extraits de bases de données etc. Suivant les configurations de plate-forme, la provenance des éléments d'information peut être retrouvée à partir de l'élément d'information luimême, ce qui permet de réaliser un traitement différencié des éléments E1, ou ne peut pas être retrouvée. Dans ce dernier cas, le traitement des éléments El sera indépendant de sa provenance. L'ensemble des types Ti d'information gérés par la plateforme 1 est identifié par une liste de types préétablis Li. A chaque type Ti de la liste LI, est associée une séquence binaire unique identifiant le type. La plateforme 1 comprend un module de réception 3 qui collecte les éléments d'information El destinés à la plateforme 1, et leur associe respectivement leur représentation binaire. Un module d'identification 4 recherche dans la représentation binaire d'un nouvel élément d'information collecté El, la présence ou non, d'une des séquences binaires associées aux types Ti figurant dans la liste Li. Au cas où aucune de ces séquences n'est détectée, le nouvel élément El est identifié comme ne correspondant pas à un type de la liste LI et n'est pas traité ou est traité comme un élément d'information constitué uniquement de blocs de nature de texte ou d'image, comme décrit ci- dessous. Si une séquence est détectée, le type du nouvel élément E; est le type Tk associé à cette séquence binaire détectée. Une fois le type d'élément identifié, un module de transformation 5 extrait de la représentation binaire de l'élément d'information El, différents blocs de données de fond, dans leur ordre d'apparition. Les blocs de données de fond sont extraits de l'élément d'information, et la nature de chaque bloc est définie par exemple, de la façon suivante: un ensemble de données binaires successives encadrées par un jeu de balises de style définissant la mise en forme de l'ensemble de données binaires, et tel que le jeu de balises figure dans une table de correspondance de style LS, qui pour le type Ti de l'élément d'information considéré, fournit la correspondance entre les balises standard de Ti et les balises XML, est un bloc, dit balisé; - un ensemble de données binaires successives correspondant à des données alphanumériques est un bloc, dit de texte (la correspondance est établie, à partir d'un dictionnaire des données alphanumériques comportant la conversion en représentation binaire de ces données) ; - un ensemble de données binaires successives correspondant à des données non alphanumériques est un bloc, dit d'image. Puis le module de transformation 5 numérote de façon croissante en partant de 1, chaque bloc, pris dans l'ordre d'apparition des blocs dans l'élément d'information. La plate-forme 1 dispose en outre d'une table de correspondance de blocs Lb, qui définit une balise XML en fonction d'un numéro de bloc. Cette balise XML représente un élément de la DTD ("Document Type Description") standard, et affecte ainsi au bloc une position dans la structure hiérarchique XML de document retenue. Dans un mode de réalisation, cette table de correspondance de blocs Lb peut fournir une balise XML en fonction du numéro de blocs et d'autres paramètres tels que la nature du bloc (texte, image), la nature du bloc précédent etc. La table de correspondance de blocs Lb peut être unique, ou au contraire varier en fonction des choix des entreprises utilisatrices de la plateforme 1. Dans ce dernier cas, il peut y avoir autant de tables que de choix différents et la table de correspondance retenue pour un élément d'information El sera déterminée en fonction de la source de cet élément d'information, ou du groupe dont fait partie cette source (dans le cas d'une entreprise avec plusieurs sources). Le module de transformation 5 affecte un jeu de balises XML à chaque bloc de données de fond extrait. Ce balisage XML est effectué à partir de la table de correspondance de style Ls pour un bloc balisé, à partir de la table de correspondance de blocs Lb pour un bloc de nature texte ou image. Le document XML E2 ainsi obtenu est ensuite enregistré dans une base 6 d'enregistrement des messages normalisés. Par ailleurs, lorsqu'un nouveau type d'éléments d'information Ti+1 est ajouté à la liste LI, une phase d'apprentissage est réalisée sur une pluralité d'éléments d'information de ce nouveau type, afin de déterminer la séquence binaire de taille minimum figurant dans tous ces éléments d'information. Cette séquence est ensuite comparée à celles figurant déjà dans la liste Li. Si elle n'est semblable à aucune de celles-ci, la séquence nouvellement déterminée est la séquence associée au type Tj+1 dans la liste LI et permet ainsi son identification. Sinon, le processus de détermination d'une séquence minimum et unique est renouvelé pour le nouveau Ti+1, et pour le type associé à la séquence semblable dans la liste Li. Chaque entité utilisatrice de la plateforme 1 a préalablement défini l'utilisation devant être faite des informations contenues dans les documents XML la concernant. Les règles d'utilisation associées sont stockées dans une base d'abonnement 8 de la plateforme 1. Ces règles définissent en fonction de la source, ou du groupe de sources appartenant à une même entreprise, en fonction éventuellement du type de l'élément d'information collecté E1 dont est issu un document XML E2, et en fonction d'autres critères (heure d'arrivée, taille de l'élément d'information collecté, etc.), un contenu d'une donnée à diffuser E3, défini par des balises XML choisies. Le contenu d'une donnée à diffuser E3 sera constitué de certains des blocs associés à ces balises XML choisies du document XML E2. Les règles d'utilisation définissent également un voire plusieurs formats de diffusion et un voire plusieurs supports de diffusion sur lesquels sera transmise la donnée E3 ainsi définie, ainsi qu'un ou plusieurs destinataires. Un module de constitution des données à diffuser 7 génère ainsi à partir d'un document XML E2 issu d'un élément collecté E1, la ou les données à diffuser E3, avec un contenu et un format respectifs conformes aux règles de diffusion s'appliquant. Les données à diffuser ainsi constituées E3 sont ensuite transmises par un module d'émission 9 aux destinataires respectifs définis, en appliquant éventuellement des règles de diffusion supplémentaires, par exemple relatives à une heure d'envoi, etc. Ainsi, à titre d'exemple un élément d'information E1 provenant d'un centre de traitement d'incidents d'une entreprise, pourra donner lieu à : - un document XML structuré E2 sous la forme titre/sous-titre/corps de texte stocké dans la base 6; - l'envoi immédiat d'un SMS E31 à une équipe dirigeante de l'entreprise, comportant le titre; - l'envoi d'un e-mail E32 comportant le titre et le sous-titre à un 30 éventail de personnes désignées; - l'envoi au gestionnaire du site d'un document HTML E33 comportant le titre, le sous-titre et le corps de texte, pour mise en place sur Intranet lors d'une prochaine mise à jour. On notera qu'un même document XML E2 pourra donner lieu en fonction des règles définies par l'entité concernée, à plusieurs types de données à diffuser (E31, ..., E3p), associés à p profils de diffusion définis par des contenus, supports de diffusion et destinataires (et éventuellement autres modalités de diffusion) respectifs. On notera que le module de constitution des données à diffuser 7 peut également constituer des données à diffuser automatiquement à des destinataires suite à la réception d'un élément d'information (mode PUSH), mais peut également envoyer une donnée à diffuser en réponse à une requête (mode PULL) portant sur l'envoi d'une telle donnée. Par exemple, un commercial souhaitant connaître la quantité d'un produit en stock par site de stockage en temps réel pourra envoyer le numéro de série du produit par SMS, soit au système d'information de son entreprise, soit à la plateforme 1, suivant la configuration des systèmes respectifs. Ceci suscitera la collecte au niveau de la plateforme 1 d'un élément d'information correspondant El par site (obtenu par requête de la plateforme, ou encore par l'envoi par chaque site selon la configuration retenue). Si les règles de diffusion le permettent, le commercial pourra alors recevoir par un ou plusieurs SMS, par exemple, les données demandées. Ainsi, une plateforme selon l'invention permet un traitement automatisé fiable des informations en provenance de diverses sources et disponibles sous divers formats, d'une entreprise, en minimisant le risque de non traitement d'éléments d'information collectés en raison de tâches de préconfiguration incomplètes ou du fait de la réception d'éléments d'information sous forme brute, non balisée. Elle permet en outre de prendre aisément en compte de nouveaux types d'éléments d'information collectés, ainsi que de nouvelles règles de diffusion portant sur l'apport d'un nouveau format ou support de diffusion. REVENDICATIONS 1. Procédé de traitement d'éléments d'information numériques collectés (E1), pour la diffusion de données déterminées à partir de ces éléments d'information, comprenant les étapes suivantes - on extrait successivement d'une représentation binaire d'un élément d'information collecté, des blocs de données, dans leur ordre d'apparition dans ladite représentation binaire; - on numérote ces blocs de façon croissante; - on affecte un balisage XML à chaque bloc, le balisage XML d'au moins un bloc étant déterminé à partir d'une table de correspondance de blocs prédéfinie (Lb) fournissant un balisage XML en fonction d'au moins le numéro dudit bloc; on obtient l'élément d'information traité sous format XML (E2). 2. Procédé selon la revendication 1, caractérisé en ce qu'on identifie préalablement le type (Ti) de chaque élément d'information collecté parmi une liste (LI) de types pré-établie. 3. Procédé selon la revendication 2 caractérisé en ce que la table de correspondance de blocs (Lb) fournit le balisage XML en fonction en outre d'au moins le type (Ti) de l'élément d'information collecté. 4. Procédé selon la revendication 2 ou la revendication 3, caractérisé en ce que lorsqu'un bloc de données comporte un jeu de balises définissant un style du bloc associé au type (Ti) de l'élément d'information collecté dont ledit bloc est extrait, et qu'une table de correspondance de styles (Le) prédéfinie fournit un balisage XML en fonction d'au moins le jeu de balises, ledit balisage XML est affecté audit bloc de données. 5. Procédé selon l'une quelconque des revendications 2 à 4, caractérisé en ce que l'étape d'identification comprend la recherche, dans la représentation binaire de l'élément d'information (El), d'une séquence binaire parmi un ensemble de séquences binaires préétablies associées respectivement aux types (Ti) de la liste (L) de types pré-établie. 6. Procédé selon la revendication 5, caractérisé en ce que l'introduction d'un nouveau type (T;+1) d'éléments d'information dans la liste de types préétablie (LI) comprend une étape d'apprentissage réalisée sur une pluralité d'éléments d'information du nouveau type, pour définir une séquence binaire à partir des représentations binaires de ladite pluralité d'éléments d'information du nouveau type, et ladite séquence binaire fait partie de chacune desdites représentations binaires et identifie de façon unique le nouveau type dans la liste de type préétablie enrichie du nouveau type. 7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce qu'un bloc de données extrait est un bloc de données comportant un jeu de balises définissant la mise en forme du bloc, ou un bloc de données de texte, ou un bloc de données d'image. 8. Procédé selon la revendication 7, caractérisé en ce que le balisage XML affecté aux blocs de données de texte et d'image est déterminé à partir de la table de correspondance de blocs (Lb). 9. Procédé selon la revendication 8 caractérisé en ce que le balisage XML fourni par la table de correspondance de blocs est en outre fonction d'au moins la nature des données du blocs. 10. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que la table de correspondance de blocs (Lb) dépend en outre du fournisseur (Si) de l'élément d'information ou d'un groupe (E) auquel appartient ledit fournisseur. 11. Procédé selon l'une quelconque des revendications précédentes, comprenant en outre une étape d'archivage d'éléments d'information traités sous format XML (E2). 12. Procédé pour fournir des données d'information à une pluralité de destinataires, à partir d'éléments d'information numériques collectés, comportant un procédé de traitement selon l'une quelconque des revendications précédentes et selon lequel: - on transforme un élément d'information traité sous format XML (E2) 15 en au moins une donnée à diffuser (E3) en fonction de règles de diffusion définissant au moins un format de sortie, un support de diffusion, un contenu de diffusion extrait de l'élément d'information traité sous format XML et au moins un destinataire associés; - et on diffuse la donnée à diffuser en fonction desdites règles de 20 diffusion. 13. Système de traitement d'éléments d'information numériques collectés (E1), pour la diffusion de données (E3) déterminées à partir de ces éléments d'information, comprenant des moyens pour mettre en oeuvre les étapes d'un procédé selon l'une quelconque des revendications 1 à 11. 14. Système pour fournir des données d'information à une pluralité de destinataires, à partir d'éléments d'information numériques collectés, comportant: - un système de traitement selon la revendication 13; - des moyens pour transformer un élément d'information traité sous format XML (E2) en au moins une donnée à diffuser (E3) en fonction de règles de diffusion définissant au moins un format de sortie, un support de diffusion, un contenu de diffusion extrait de l'élément d'information traité sous format 5 XML et au moins un destinataire associés; - et des moyens pour diffuser la donnée à diffuser en fonction desdites règles de diffusion. 15. Programme d'ordinateur à installer dans un dispositif informatique pour le traitement d'éléments d'information numériques collectés (El), pour la diffusion de données (E3) déterminées à partir de ces éléments d'information, comprenant des instructions pour mettre en oeuvre un procédé selon l'une quelconque des revendications 1 à 11. 16. Programme d'ordinateur à installer dans un dispositif informatique pour la fourniture de données d'information à une pluralité de destinataires, à partir d'éléments d'information numériques collectés, comportant des instructions pour mettre en oeuvre un procédé selon la revendication 12.