FR 2898422 A1 20070914 FR 0602101 A 20060309 SYSTEME DE COLLECTE ET DE GESTION DE DONNEES COMPLEXES PERMETTANT DE GENERER DES DOCUMENTS GRAPHIQUES AUTO-ALIMENTES D'AIDE A LA PRISE DE DECISION La présente invention est relative à un système de collecte et de gestion de données complexes permettant de générer des documents graphiques auto-alimentés d'aide à la prise de décision. Avec l'émergence des nouveaux moyens de communication et de diffusion de l'information et l'invention de nouveaux médias et supports de l'information, la récupération, l'utilisation, la modification, l'analyse et le partage de l'information deviennent de plus en plus complexes. De nombreuses sources d'informations sont disponibles, une présentation variable de l'information est offerte, des médias différents peuvent permettre de récupérer de l'information. L'information pertinente peut elle-même être noyée dans un flot d'informations qui n'ont qu'un intérêt limité. L'information a souvent maintenant une durée de vie limitée et évolue au cours du temps. Un exemple illustrant cette caractéristique est l'information disponible sur un site Internet. Le contenu évolue constamment dans le temps : l'information d'hier n'est pas toujours ou n'est plus disponible le lendemain, elle a été remplacée par d'autres nouvelles. L'information utile est d'autre part souvent mêlée ou incorporée à d'autres sujets, quand elle n'est pas noyée dans de la publicité. Le partage de l'information reste très symbolique : la plupart du temps, les utilisateurs partagent une référence au média hébergeant l'information, ce qui n'assure pas qu'ils accèdent à la même information au cours du temps. Il est par ailleurs très difficile d'analyser facilement des informations provenant de différents médias ou sources de données. Cependant, les besoins premiers de l'utilisateur sont très simples : il s'agit de recueillir des données d'où qu'elles viennent, puis de les analyser, les exploiter, et ce le plus simplement et le intuitivement possible. Le partage de l'information et la possibilité de sa diffusion sont les besoins secondaires. Ils permettent d'enrichir les sources de données, de créer une communauté de partage de l'information. Pour récupérer de l'information et obtenir une analyse de celle-ci, le client n'a actuellement à sa disposition que des solutions incomplètes, souvent dépendantes dl'un secteur d'activité et d'un fournisseur (et donc limitées à l'information fournie par celui-ci). Le client n'est que rarement le propriétaire de l'information, il ne peut qu'occasionnellement la modifier ou la transformer pour ses propres besoins d'analyse ou la croiser facilement avec d'autres sources d'information. De plus, cette problématique de gestion et d'analyse de l'information est actuellement toujours envisagée en une multitude d'étapes avec différents produits centrés sur chacune des étapes. Cette décomposition logique ne fait que rendre plus improbable, plus complexe et plus coûteuse une solution complète de gestion de l'information. Cette décomposition est souvent représentée sous forme d'une chaîne, composée des grandes étapes suivantes : - l'extraction, la transformation et le chargement des données ; - la mise en place d'entrepôts de données à l'échelle d'une société ou au niveau d'un département d'entreprise ; - l'exploitation, l'analyse des données, l'extraction et la découverte de connaissance à partir d'une base ; - les applications de création, de partage et de diffusion de rapport et le 20 décisionnel. L'art antérieur permet d'identifier différents acteurs présents aux différents stades de la chaîne de traitement de l'information : - l'extraction, la transformation et le chargement des données : cette première étape consiste en la récupération des données. Il s'agit en 25 général d'un outil informatique destiné à extraire des données de diverses sources (bases de données de production, différents types de fichiers, Internet, etc.), à les transformer et à les charger dans un entrepôt de données ; - La mise en place d'entrepôts de données : 30 les entrepôts de données généraux ou départementaux sont des infrastructures permettant de stocker des entrepôts de données. L'entrepôt global est complètement centralisé et regroupe des informations venant de l'ensemble de l'entreprise, afin d'en donner une vision la plus globale possible. L'entrepôt départemental est plus centré sur un secteur, une fonction ou un des domaines d'activité de l'entreprise ; - L'exploitation, l'analyse de donnée, l'extraction et la découverte de connaissance à partir d'une base : l'exploitation et l'analyse de données correspondent à l'utilisation des données afin de créer des indicateurs résumant les propriétés principales des données et à la représentation des données ou de leurs indicateurs sous une forme compréhensible et intelligible à l'utilisateur et ceci le plus souvent graphiquement. L'extraction et la découverte de connaissance fournissent des outils de classification, de segmentation, ou d'autres outils ou méthodes statistiques permettant de regrouper les individus d'une population en différents groupes ayant des comportements voisins ; - Les applications de création, de partage et de diffusion de rapport et le décisionnel: ce sont des systèmes interprétant des données complexes qui aident à la prise de décision. Les données sont analysées selon différentes hiérarchies ou dimensions (type de clientèle, répartition géographique, périodes de l'année par exemple). Dans la création d'une chaîne de traitement de l'information, différents produits peuvent être utilisés pour parvenir à répondre au besoin. Ces différentes solutions, provenant souvent de différents fournisseurs, sont souvent complexes à mettre en oeuvre. L'interopérabilité entre les différentes applications est un problème souvent crucial. Si les informations proviennent de différents secteurs d'activité, le rapprochement et l'agrégation des données doivent souvent faire intervenir une tierce application chargée de maintenir un référentiel stable où vont s'insérer les données. De par les coûts induits, ces solutions sont destinées tout d'abord à des entreprises de taille moyenne au minimum. Rien n'est actuellement offert au particulier, ou à la petite ou moyenne entreprise. La présente invention résout le problème exposé ci-dessus. Elle concerne un système de collecte et de gestion de données complexes permettant de générer des documents graphiques auto-contenus et/ou auto-alimentés d'aide à la prise de décision, caractérisé en ce qu'il comporte : - un moteur de gestion de données universel destiné à : o créer une base de données relationnelle, destinée à mémoriser un ensemble d'informations à analyser, notamment à base de tables, type de tables (soit table de faits, soit table de référence), clés, colonnes, relations entre tables ; o transmettre automatiquement à la base de données relationnelle l'ensemble des informations à analyser en définissant d'une part des sources de données, des synchronisations entre une source de données déterminée et une table de base déterminée de la base de données relationnelle, et d'autre part en spécifiant un horaire d'alimentation, c'est-à-dire un horaire de transmission des informations. Les sources de données peuvent provenir notamment de fichiers textes, pages au format HTML (langage de programmation utilisé pour créer des documents hypertexte), bases de données, et plus généralement de tout autre contenant de données, du moment qu'une fonction de localisation permette d'isoler la donnée pertinente à récupérer. Le système comporte en outre des moyens de traitement informatique, permettant la mise en oeuvre d'un modèle de graphique étendu, destinés à : - générer des documents graphiques d'aide à la prise de décision en mettant en oeuvre des axes d'information spécifiques, notamment un contexte de représentation graphique, une hiérarchie des informations, un type de visualisation associée au contexte de représentation graphique ; -introduire l'ensemble des informations à analyser dans les documents graphiques d'aide à la prise de décision, par l'inclusion des informations à analyser dans le document graphique d'aide à la prise de décision ou par l'inclusion des moyens d'accès aux informations à analyser. Le moteur de gestion de données universel et le modèle de graphique étendu sont deux procédés permettant de gérer l'ensemble de la chaîne de traitement de l'information. Leur conjugaison permet de définir le concept de document auto-alimenté, ou document vivant, auto-contenu . Le moteur de gestion de données universel permet d'une part la création de la base de données relationnelle stockant l'ensemble des informations à analyser (à base de tables, types de table [soit table de fait, soit table de référence, soit table hiérarchique', clés, colonnes, et relation entre tables). A cette spécification des données ont été rajoutés les concepts de colonnes descripteurs de tables, et la notion de lien hiérarchique entre tables permettant d'une part une édition/mise à jour simplifiée, immédiate et compréhensible pour l'utilisateur, ainsi que l'exploitation de la plus grande partie des schéma de données existants. D'autre part le moteur de gestion de données permet l'alimentation automatique de la base de données, par la définition de sources de données, de synchronisation entre une source de données et une table de la base, ainsi que la spécification d'un horaire d'alimentation. Les sources de données peuvent provenir de différentes origines : fichiers textes, page HTML, base de données, etc... Il est simplement nécessaire de connaître un locateur de l'information recherché, ce locateur étant spécifique à chaque type de source de donnée. Le moteur de gestion de données travaille sur un contexte de gestion de données. Ce contexte est défini par trois ensembles d'informations. Le premier ensemble est constitué par la liste et la description des tables sur lequel il travaille. La description d'une table correspond à l'information nécessaire à la création de la table dans la base de donnée, information à laquelle se rajoute le type de table. Une table est soit une table de référence, c'est-à-dire qu'une ou plusieurs colonnes de la table forment un index permettant d'identifier une et une seule ligne de la table, soit une table de fait. Une table de référence contient obligatoirement une ou plusieurs colonnes formant ce que l'on appelle le descripteur de la table. Lorsqu'un lien simple existe entre deux tables, il est complètement défini par la donnée d'un nornbre fixé de colonnes de la première table auquel correspond un nombre fixé de colonnes de la seconde table. Lorsqu'un lien hiérarchique est défini, il existe une table maîtresse et des tables référencées, ce qui implique que la table maîtresse contient au moins une colonne, appelée colonne hiérarchique, dont le contenu correspond au nom des tables référencées. Dans le cas d'un lien simple où la première table est une table de référence et la seconde est une table de fait, il est alors possible de substituer les colonnes intervenant dans le lien par le descripteur de la table de référence lors de l'édition de la table de fait. Dans le cas où une table de fait est l'objet de deux liens simples vers deux tables de fait et que toutes les colonnes de la table sont réparties dans les deux liens, l'édition de cette table peut être effectué symétriquement par la visualisation d'une des lignes d'une des deux tables û représentée par son descripteur - et de la liste des lignes de la seconde table û représentées aussi par leurs descripteurs - en relation avec la ligne de la première table. Dans le cas d'un lien hiérarchique, lors de l'édition de la table maîtresse il est possible de remplacer la ou les colonne(s) hiérarchique(s) par un formulaire d'édition des tables référencées. Le second ensemble contient la liste des sources de données utilisées. Une source de donnée est constituée d'une liste de quadruplets. Chaque quadruplet contient le type de données (texte donné au format du langage de définition de données SQL, HTML, etc), la spécification de l'accès à la source (le nom du fichier texte, la localisation de la page Web, la spécification d'une base de données, etc), le locateur ou fonction de location des données et ses paramètres (s'il s'agît d'un fichier, la donnée des lignes et colonnes de départ et de fin permet de savoir quelle est la chaîne de texte à extraire ; s'il s'agit d'un type de données SQL, la spécification de la requête permet de connaître toutes les colonnes à extraire de la base ; s'il s'agit d'une page HTML, la spécification des balises HTML sous une forme hiérarchique permet de spécifier la donnée à récupérer : par exemple Root[0]:html[0]:body[OI:c enterl0]:tablel0]:Text[Ol permet de récupérer le premier élément de texte de la première table d'un document HTML), le type de transformation à effectuer sur les données avant l'insertion dans la base de données. Le troisième ensemble contient la liste des synchronisations. Une synchronisation établit un lien entre une table et un certain nombre de colonnes de cette table du contexte de gestion de données et un même nombre de quadruplets de sources de données, tout ceci selon un planning donné. Aux dates d'échéance du planning, les données des quadruplets sont récupérées d'où qu'elles viennent et sont insérées dans la table associée à la synchronisation. Le contexte de gestion de données est stocké dans un fichier appelé schéma de données universel permettant de recréer ex-nihilo la base de données ainsi que de l'alimenter automatiquement au cours du temps. Le mécanisme général du graphique étendu repose sur l'utilisation de trois axes de visualisation. Le premier axe est le contexte du rendu qui spécifie l'intervalle temporel û ou tout autre axe de mesure -, le type de synchronisation entre les composants du graphique, ainsi que le positionnement courant dans la population d'individus étudiée. Le type de synchronisation entre composants graphiques correspond par exemple à la nécessité de remettre à la même échelle sur un même graphique des données n'ayant pas la même mesure (par exemple la représentation cle la taille et du poids d'un groupe de personnes sur un même graphique). Dans ce cas une synchronisation homothétique sera utilisée en ramenant à la même échelle les différentes séries de données, désignées plus loin comme triplets du graphique. Dans d'autre cas une synchronisation en valeur réelle sera utilisée (aucune transformation n'est effectuée, les données sont représentées en utilisant la même échelle). D'autres types de synchronisation sont possibles comme par exemple une synchronisation homothétique avec la même valeur de départ pour l'ensemble des séries représentées, ou la synchronisation basée sur les données. Celle-ci va rechercher le plus grand intervalle de temps pour lequel des données sont renseignées à l'intérieur de l'intervalle temporel du graphique étendu, et substituer cet intervalle à intervalle temporel du graphique. La population étudiée est constituée d'individus, et des regroupements ou groupes d'individus sont définis au sein de la population. Des sur-ensembles d'individus sont aussi définis et ils sont basés sur des collections de regroupements d'individus. Le positionnement courant dans la population est défini par la sélection d'un individu (l'individu courant), d'un regroupement auquel appartient l'individu (le groupe courant) ainsi que d'au moins un sur-ensemble auquel appartient ce dernier regroupement. Le second axe définit les données, les informations visualisées. Les informations visualisées sont décrites par des triplets spécifiant l'individu ou le groupe d'individus visualisé, l'attribut ou l'indicateur qualifiant l'individu ou le groupe d'individus, le traitement de l'attribut ou de l'indicateur effectué au sein du graphique. Par exemple un triplet sera constitué par la spécification de l'individu Dupond Jacques , par l'attribut poids listant les valeurs du poids de Jacques Dupond à différentes dates, et par une représentation sous forme de courbe. La modification du contexte du rendu laissera ce triplet inchangé. Si par contre le triplet est constitué par l'individu itérateur , l'attribut poids et une représentation sous forme de courbe, toute modification du contexte du rendu changeant l'individu courant affichera alors la courbe de poids de l'individu courant. Enfin, si le triplet est constitué par le groupe itérateur , l'attribut poids et une représentation sous forme de courbe, le graphique affichera l'ensemble des courbes du poids des individus appartenant au groupe courant. Ces triplets sont les composants du graphique. Pour chaque triplet, une ou plusieurs requêtes vers la base de données sont associée au triplet. S'il s'agit d'un attribut une unique requête est nécessaire par individu. S'il s'agit d'un indicateur, il peut être nécessaire d'utiliser plusieurs requêtes vers la base de données. Ces requêtes sont appelées les requêtes associées au triplet. Le troisième axe permet de définir le type de visualisation des données. L'utilisateur souhaite en effet souvent représenter les données soit sous forme d'un tableau, soit sous forme d'un dessin. Il est donc distingué différents types de graphiques étendus. Les graphiques tableau et les graphiques dessin sont par exemple deux types de graphiques. Pour chaque triplet faisant partie d'un graphique étendu de type dessin est associé un type de rendu : Ce rendu est par exemple une courbe, un histogramme, une ligne de tendance, etc. Pour un graphique tableau, les triplets du graphique seront représentés par des valeurs de l'attribut ou de l'indicateur lié aux bornes de l'intervalle temporel du graphique (par exemple la valeur de début, la valeur de fin, l'écart entre les valeurs de début et fin en pourcentage, etc). Si le graphique tableau ne contient qu'un seul triplet basé sur un individu ou l'individu itérateur , il présentera toutes les valeurs incluses dans l'intervalle temporel du graphique pour l'attribut ou l'indicateur de l'unique triplet du graphique. Ce modèle permet d'obtenir une visualisation des données la plus large possible ainsi que l'exploration de celle-ci par la modification du contexte du rendu. Les notions de regroupement et sur-ensemble permettent par ailleurs l'introduction d'informations automatiquement agrégées. Pour un graphique donné, l'ensemble des requêtes associées aux triplets constituant le graphique permet de définir toutes les tables nécessaires à la visualisation du graphique. Cet ensemble de tables est appelé le contexte relationnel de données du graphique. Pour un graphique et un contexte donnés, l'ensemble des triplets contenus dans le graphique permet de définir le sous-ensemble des données strictement nécessaire à l'obtention du rendu. Ce sous-ensemble de données est appelé les données du graphique. Un rapport est un document constitué d'un ensemble de graphiques. Par extension, l'ensemble de données constitué par le regroupement des données de tous les graphiques du rapport est appelé les données du rapport. De même l'ensemble des contextes relationnels de données des graphiques du rapport est appelé le contexte relationnel de données du rapport. Les rapports auto-contenus et auto-alimentés Lorsque qu'un rapport contient les données du rapport, ce rapport est appelé rapport auto-contenu. En effet les données étant présentes dans le rapport, aucun accès à la base de données n'est nécessaire pour visualiser l'ensemble des graphiques du rapport. Lorsque qu'un rapport contient un contexte de gestion de données et que toutes les tables du contexte relationnel de données du rapport sont contenues dans le contexte de gestion de données, le rapport est appelé rapport auto-alimenté. Dans cette hypothèse, il est en effet possible de récupérer l'ensemble des données nécessaires pour visualiser tous les graphiques du rapport. Pour utiliser et analyser des données complexes et disséminées l'utilisation de rapports auto-contenus permet à l'utilisateur d'appréhender rapidement et de se concentrer sur l'analyse des données. Si le rapport est auto-alimenté, il peut de plus se constituer facilement une base de données, s'assurer de sa mise à jour, sans avoir à gérer la complexité de gestion de la chaîne de l'information. L'échange de l'information est facilité par la matérialisation des données et de leur analyse sous forme de rapports auto-contenus. Les rapports auto-contenus permettent aussi la visualisation de l'analyse de l'information sans avoir à posséder une infrastructure de stockage ou de gestion de données. Les données sont en effet contenues dans le rapport et le format de visualisation des graphiques étendus permet la création des rendus graphiques. Il est seulement nécessaire que l'application de visualisation inclue le moteur de gestion de données universel et l'exploitation du modèle graphique étendu. Cette gestion facilitée de l'information s'adapte particulièrement bien à l'environnement d'un particulier ou à une petite structure. Sa richesse fonctionnelle lui permet aussi de répondre aux besoins d'entreprises importantes. REVENDICATIONS 1. Système de collecte et de gestion de données complexes permettant de générer des documents graphiques auto-contenus et/ou auto-alimentés d'aide à la prise de décision, caractérisé en ce qu'il comporte : - un moteur de gestion de données universel destiné à : o créer une base de données relationnelle, destinée à mémoriser un ensemble d'informations à analyser, notamment à base de tables, types de table, clés, colonnes, relations entre tables ; c transmettre automatiquement à la base de données relationnelle l'ensemble des informations à analyser en définissant des sources de données, des synchronisations entre une source de données et une table de la base, des horaires d'alimentation, les sources de données provenant notamment de fichiers textes, pages au format HTML, bases de données ; - des moyens de traitement informatique destinés à : o générer des documents graphiques d'aide à la prise de décision en mettant en oeuvre des axes d'information spécifiques, notamment un contexte de représentation graphique, une hiérarchie des informations, un type de visualisation associée au contexte de représentation graphique ; o introduire l'ensemble des informations à analyser dans les documents graphiques d'aide à la prise de décision, par l'inclusion des informations à analyser dans le document graphique d'aide à la prise de décision ou par l'inclusion des moyens d'accès aux informations à analyser. 25