Brevet FR3069934A1 — publié le 20190208

SYSTEME INFORMATIQUE POUR LA VISUALISATION DE PARCOURS LOGISTIQUE D'ENTITES DANS LE TEMPS Domaine de l'invention La présente invention concerne le domaine de l'analyse automatique de processus par le traitement de données brutes constituées par une collection d'informations descriptives de tâches isolées, pour calculer des enchaînements récurrents, et fournir des représentations graphiques et des traitements prédictifs. Etat de la technique On connaît dans l'état de la technique la demande de brevet américain U52017068705 décrivant une méthode mise en oeuvre par ordinateur pour l'analyse des données de processus. Le procédé comprend la réception d'une instruction APE (Advanced Process Algebra Execution), dans laquelle l'instruction APE définit une requête d'instances de processus à partir des moyens de stockage, et dans lequel l'instruction APE comprend au moins un opérateur de processus et l'exécution de l'instruction APE et la lecture du processus Instances selon l'instruction APE à partir des moyens de stockage, et fournissant le résultat de la requête pour un traitement ultérieur. On connaît aussi le compte-rendu du colloque 25 International Conference on Advanced Information Systems Engineering (CAiSE) 2017 « Predictive Business Process Monitoring with LSTM Neural Networks », auteurs Niek Tax, Ilya Verenich, Marcello La Rosa, Marlon Dumas. Cet article concerne les réseaux de neurones à 30 longue durée de mémoire à court terme (LSTM) comme une approche pour construire des modèles cohérents et précis pour une vaste gamme de tâches de surveillance prédictive des processus. Tout d'abord, il montre que les LSTM dépassent les techniques existantes pour prédire l'événement suivant, ainsi que son horodatage, d'un parcours en cours d'étude. Ensuite, 5 il montre comment utiliser ces modèles servant à prédire l'activité suivante afin de prévoir la fin d'un parcours. Enfin, il applique la même approche pour prédire le temps restant et montre que cette approche est supérieure à celle des méthodes sur mesure existantes. 10 Inconvénients de l'art antérieur Les solutions de l'art antérieur nécessitent des temps de calcul très long pour l'analyse des données à partir d'un grand nombre de données. Typiquement, pour des fichiers d'entrée de plusieurs téraoctets, le nombre de combinatoires 15 possibles peut nécessiter plusieurs dizaines d'heures de calcul sur un calculateur standard. Les solutions de l'art antérieur nécessitent donc des équipements de calcul surdimensionnés pour permettre à l'utilisateur de procéder aux traitements requis. 20 Par ailleurs, les solutions analytiques proposées dans l'art antérieur nécessitent de recalculer à partir de la totalité des données, sans qu'il ne soit possible de mettre à jour le résultat de manière incrémental. Solution apportée par l'invention L'invention vise à remédier à ses inconvénients par un système informatique permettant à un grand nombre d'utilisateurs d'accéder à des modèles complexes, obtenus par des algorithmes d'apprentissage profond, à partir d'équipements connectés simples. A cet effet l'invention concerne selon son acception la plus générale un système informatique pour la visualisation de parcours à partir du traitement d'au moins une série de données d'entrées comportant une liste de tâches horodatées comprenant l'identifiant d'un objet, l'identifiant d'une action et une information temporelle, ledit système comportant un équipement informatique « utilisateur » connecté 5 exécutant une application de visualisation ainsi qu'au moins un serveur distant exécutant une application de calcul d'un modèle de parcours à partir desdites tables, caractérisé en ce que ledit système comprend : - un serveur d'administration, comportant des 10 moyens de gestion d'une pluralité de comptes d'utilisateur et d'enregistrement, dans le compte de chaque utilisateur, des tables provenant de l'utilisateur ainsi que des données relatives à la configuration spécifique de l'utilisateur et le résultat des traitements effectués sur un serveur de calcul 15 mutualisé - au moins un serveur de calcul mutualisé, comportant un processeur graphique GPU pour exécuter une application d'apprentissage profond à partir des données associées à un utilisateur et à construire un modèle numérique 20 enregistré ensuite dans le compte dudit utilisateur sur l'un au moins desdits serveurs d'administration ou de calcul - l'équipement de l'utilisateur exécutant une application pour commander le calcul, sur l'un desdits serveurs de calcul, d'un état analytique ou prédictif pour la 25 récupération et la visualisation des données correspondant au résultat de ce calcul sur l'interface de l'équipement utilisateur. Avantageusement, le système informatique comporte en outre au moins un serveur CPU de répartition de la charge 30 de calcul entre une pluralité de serveurs de calcul mutualisés. Selon une variante, il comporte des moyens d'anonymisation des identifiants des objets et/ou des identifiants des actions de chaque utilisateur, et 35 d'enregistrement sous une forme chiffrée sur le compte de l'utilisateur des moyens de conversion des données anonymisées, les données traitées par le ou les serveurs de calcul étant exclusivement constituées de données anonymisées. 5 De préférence, ledit chiffrement est réalisé par une fonction de hachage. Description détaillée d'un exemple non limitatif de l'invention La présente invention sera mieux comprise à la 10 lecture de la description détaillée d'un exemple non limitatif de l'invention qui suit, se référant aux dessins annexés où : - la figure 1 représente une vue schématique simplifiée de l'architecture matérielle du système selon l'invention 15 - la figure 2 représente une vue schématique de l'architecture fonctionnelle de la préparation des données - la figure 3 représente une vue schématique de l'architecture fonctionnelle de l'exploitation des données - la figure 4 représente une vue schématique d'un 20 premier exemple de réseau de neurones pour l'apprentissage - la figure 5 représente une vue schématique d'un deuxième exemple de réseau de neurones pour l'apprentissage - la figure 6 représente une vue schématique d'un serveur de calcul 25 - la figure 7 représente une vue schématique détaillée de l'architecture matérielle du système selon l'invention. Architecture matérielle Le système pour la mise en oeuvre de l'invention 30 comprend trois types de ressources principales : - des équipements connectés (1 à 3), pour chacun des utilisateurs - 5 - - un serveur d'administration (100) - un serveur de calcul mutualisé (200) - un serveur de récupération des données (300). Par « serveur », on entend une machine informatique 5 unique, ou un groupe de machines informatiques, ou un serveur virtuel (« cloud » en anglais). Equipement connecté L'équipement connecté (1 à 3) est typiquement un 10 équipement standard tel qu'un téléphone cellulaire, une tablette ou un ordinateur connecté à un réseau informatique, notamment Internet. L'invention ne nécessite pas de modification matérielle de l'équipement connecté (1 à 3). L'accès aux 15 services est réalisé : - soit par l'intermédiaire d'un navigateur permettant de communiquer aux fonctionnalités du serveur d'administration (100) - soit par une application dédiée installée sur 20 l'équipement connecté, pour commander les interactions entre l'équipement connecté et le serveur d'administration (100). L'invention permet de gérer une pluralité d'utilisateur, à partir d'un ou de plusieurs serveurs 25 d'administration mutualisés et d'un ou de plusieurs serveurs de calcul mutualisés. Architecture fonctionnelle La première étape consiste à créer un compte sur le 30 serveur d'administration (100). La création du compte (10) peut être réalisée par l'administrateur directeur, qui fournit alors les informations d'accès à l'utilisateur, notamment un identifiant et un mot de passe ainsi qu'un lien vers l'application ou la page web d'accès au service. La création du compte (10) peut aussi être réalisée 5 par l'ouverture d'une session entre un équipement connecté (1) et le serveur d'administration (100), par une session permettant de créer un identifiant associé à un mot de passe. Un compte peut être associé à une pluralité de parcours, accessible par le même identifiant. 10 La création d'un nouveau compte (10) commande par ailleurs l'affectation d'un espace de stockage (50) spécifique et affecté à l'identifiant correspondant au compte. L'espace de stockage (50) attribué à un identifiant est privé et inaccessible aux autres utilisateurs. Optionnellement, cet 15 espace de stockage (50) est sécurisé et accessible seulement par l'utilisateur disposant du compte associé, à l'exclusion d'un accès par un tiers, y compris par un administrateur. Lors de la création du compte (10), on procède également à un paramétrage autorisant ou interdisant certaines 20 fonctionnalités ou des préférences de l'utilisateur (par exemple langue des messages, ou affichage d'un logo ou personnalisation des interfaces utilisateur). L'identification peut être purement déclarative, ou associée à une procédure sécurisée par exemple par double ou 25 triple identification. L'étape suivante (11) consiste à créer un fichier numérique de configuration (51) d'un parcours se traduisant par un nom, des paramètres définissant la structure des tables qui seront transmises, par exemple : 30 - Nature de l'objet à suivre : par exemple « client », « produit », « tâche »,... - Domaine : par exemple « service », « industrie » qui permettra d'adapter les interfaces utilisateurs. L'étape suivante (12) consiste à enregistrer dans 35 l'espace de stockage dédié (50) un fichier numérique de - 7 - données (52) comprenant une série d'enregistrements numériques horodatés. Cet enregistrement peut être réalisé par transfert depuis l'équipement connecté (1), ou encore par une désignation de l'adresse informatique où sont enregistrées les 5 données considérées pour une importation via une session sécurisée commandée par le serveur d'administration (100). Cette fonctionnalité est réalisée via un connecteur entre le compte de l'utilisateur dans l'équipement connecté (1) et le compte de l'utilisateur sur le serveur 10 d'administration (100), ainsi qu'une tierce application. Structure des données d'entrée (53, 54) Les données d'entrée comprennent des données d'entrée transmises directement (53) ou des données (54) enregistrées sur une ressource distante à laquelle le serveur 15 d'administration (100) peut se connecter. Elles sont constituées par des enregistrements horodatés, par exemple une table, dont la structure est par exemple de type suivant : Id. Evènement Date de début Date de fin (optionnel) EA21313 Arrivée 2017 05 26 14 25 06 2017 05 26 17 14 56 Les enregistrements peuvent comporter en outre des 20 informations sous forme de chaines de caractères ou de nom telles que : - localisation de l'événement - descripteur d'une catégorie d'événement - un coût de l'événement 25 - un commentaire ou une annotation - Ces données peuvent être fournies par un traitement automatique utilisant des capteurs sur un site, ou un fichier de log, ou la sortie d'un logiciel d'ERP, ou encore par une 30 saisie manuelle et plus généralement par tout système de collecte automatique ou manuelle de données horodatées relatives à des évènements. Les données (54) peuvent aussi être issues de systèmes connectés, à partir de l'analyse des signaux échangés 5 lors d'un protocole de communication, par exemple à partir de l'identifiant IMSI dans un protocole de communication GSM, ou les identifiants uniques d'objets connectés transportés dans le protocole de communication de type LORA. Enregistrement des données d'entrée 10 Les données d'entrées sont constituées : - de données d'entrée (53) transférables sur le serveur d'administration et/ou - de données d'entrée (54) accessibles à la volée depuis une ressources externe. 15 L'étape (12) consiste à adapter le format des données d'entrée (53, 54) en fonction de la configuration du fichier de configuration (51), et à enregistrer les données d'entrée (53) sous la forme convertie (55) sur le serveur d'administration (100), les données d'entrée (54) étant 20 conservées sous la forme originelle sur la ressource d'origine, pour permettre une conversion à la volée lors des étapes ultérieures d'apprentissage. L'adaptation consiste à normaliser la structure des données et éventuellement à convertir le format des dates en un format standardisé. 25 Le mode de conversion est enregistré pour permettre le traitement des données transmises ultérieurement. On procède ensuite à une étape de configuration (13) détaillée du parcours par l'analyse des fichiers d'entrée 30 convertis (54, 55) pour établir une liste (56) des évènements identifiés dans les données d'entrée converties (54, 55). Cette liste (56) peut être associée à des informations additionnelles telles que l'origine de l'événement, par exemple « interne » ou « externe » ou un ordonnancement des événements selon une séquence préférée. Cette liste (56) est également enregistrée dans l'espace de stockage du client considéré, dans le fichier de 5 configuration (51) du parcours. Optionnellement, on procède à une étape (14) d'ajout d'informations additionnelles (57) provenant d'une base de données transférées (58) ou de données interrogeables à la volée (59) permettant d'extraire des données en fonction 10 de la nature de l'événement, après conversion et normalisation le cas échéant. Cette solution permet d'automatiser l'ajout des informations additionnelles (57) aux données converties (54, 55) pour enregistrer un fichier enrichi (60) dans le fichier de configuration (51) et de procéder à un 15 enrichissement à la volée du fichier (54) en fonction de la procédure d'ajout susvisée. L'alternative de conversion et d'enrichissement à la volée permet de mettre en oeuvre l'invention en temps réel, 20 alors que l'alternative consistant à enregistrer sur le serveur d'administration des fichiers convertis et enrichis permet de procéder à une analyse en temps différé, notamment pour des usages où les données d'entrées sont rafraîchies en temps différé. 25 Anonymisation des données Les étapes (12) et/ou (14) peuvent comporter en outre un traitement d'anonymisation consistant par exemple à procéder à un hachage de l'identifiant de chaque événement, et à masquer le nom de l'événement, par exemple en substituant un 30 intitulé aléatoire à chaque événement. Génération du modèle - 10 - La figure 3 représente une vue schématique de l'architecture fonctionnelle de l'exploitation des données et de génération du modèle. Les données ainsi préparées sont utilisées, soit en 5 temps réel, soit en différé, pour optionnellement construire un modèle numérique (73) mis en service sous la forme d'un code informatique (80). La première étape (70) de cette opération consiste à calculer le graphe des parcours en fonction des 10 enregistrements (54, 55). Ce calcul est réalisé par l'identification, pour chacun des individus, des transitions entre deux évènements en fonction de l'information horodatage. On enregistre le résultat sous forme d'un graphe orienté numérique (71) dont les sommets correspondent aux 15 évènements, et les arêtes correspondent aux transitions avec l'indication du sens de parcours. Ce graphe numérique (71) est enregistré dans l'espace de stockage associé au compte, et le fichier de configuration (51) est modifié pour prendre en compte l'information relative au calcul d'un nouveau graphe. 20 Compte tenu du grand nombre de calculs à effectuer, ceux-ci sont réalisés sur un serveur de calcul mutualisé. En effet, les calculs portent sur une combinatoire extrêmement importante, pouvant conduire à des traitements nécessitant plusieurs heures de calcul sur un ordinateur usuel. A 25 fortiori, lorsque le serveur est exploité par plusieurs utilisateurs y disposant chacun de leur compte, le temps de calcul dépasse les capacités d'un serveur habituel. Le recours à un serveur dédié au calcul permet au serveur d'administration de commander la sollicitation du 30 serveur de calcul de manière optimale, et enregistrer les graphes numériques dans les comptes des utilisateurs de manière asynchrone. Il notifie dans ce cas l'utilisateur de la disponibilité du graphe numérique après la finalisation du traitement. Le traitement peut également fournir des indicateurs de qualité du graphe numérique obtenu. Le graphe numérique (71) est utilisé lors de l'étape de visualisation (72) en relation avec le fichier de configuration (51) contenant la liste des évènements (56) et 5 les fichiers (54, 55) ainsi que le fichier de données additionnelles (59, 60) pour fournir les données permettant à une application graphique hébergée sur le serveur d'administration (100) pour un accès en mode web via un navigateur, ou une application exécutée sur le terminal (1 à 10 3) de l'utilisateur, de fournir une représentation visuelle. Cette représentation visuelle représentant les flux en fonction du graphe numérique (71), avec des moyens de paramétrage tel que des filtrages ou des ajouts d'informations statistiques (par exemple épaisseur des traits fonction du 15 nombre d'occurrence), et d'extraire des motifs correspondant à des chemins typiques. Par ailleurs, le traitement permet également d'extraire des informations sur des individus et leurs chemins pour les exporter sous forme de table numérique après filtrage 20 des parcours ainsi que certains résumés numériques ou graphiques. Création d'alerte Lorsque la durée de certaines interactions dépasse une valeur de référence ou correspond à une valeur extrême 25 pour la distribution des valeurs observées, le traitement peut aussi générer une alerte sous la forme d'un message généré automatiquement, par exemple sous forme de courriel ou de SMS. Prédiction de parcours Pour exploiter les données à des fins de prédiction 30 de parcours futurs d'un individu en cours de processus, l'utilisateur commande la création d'un modèle exploitant - 12 - l'ensemble des données historiques (54, 55) et des données enrichies (59, 60). Le traitement de ces données étant très lourd, ce traitement n'est pas réalisé sur le serveur d'administration 5 (100) ni sur l'équipement connecté (1 à 3) mais sur un serveur dédié (200) comportant au moins une carte graphique. Ce serveur (200) est mutualisé pour l'ensemble des utilisateurs. Le traitement est basé sur des solutions 10 d'apprentissage profond avec un réseau de neurone à deux niveaux LSTM (long/short term memory) ou de réseaux de neurones récurrents. Il s'agit de systèmes dynamiques constitués d'unités (neurones) interconnectés interagissant non-linéairement, et où il existe au moins un cycle dans la 15 structure. Les unités sont reliées par des arcs (synapses) qui possèdent un poids. La sortie d'un neurone est une combinaison non linéaire de ses entrées. On peut étudier leurs comportements avec la théorie des bifurcations, mais la complexité de cette étude augmente très rapidement avec le 20 nombre de neurones. Le traitement est réparti en deux étapes : - calcul du modèle prédictif - exploitation du modèle prédictif. Structure des réseaux de neurones 25 La figure 4 représente une vue schématique d'un premier exemple de réseau de neurones pour l'apprentissage. Dans l'exemple décrit, l'apprentissage met en oeuvre deux réseaux de neurones distincts de type LSTM (long/short term memory), en fonction de la nature des données à traiter. 30 Le premier réseau est constitué par deux couches et s'applique plus particulièrement aux situations où les données d'entrée ne comportent qu'une seule information temporelle correspondant au début de chaque évènement. - 13 - La première couche d'entrée (400) de 100 neurones est commune aux deux réseaux (410, 420) de la couche suivante ; elle réalise un apprentissage des données pour fournir des données pondérées à la deuxième couche qui est 5 constituée de deux ensembles (410, 420) de 100 neurones chacun. Le premier ensemble (410) est spécialisé pour la prédiction des évènements suivants. Il fournit un indicateur de qualité correspondant à la probabilité de l'événement 10 prédit. Le deuxième ensemble (420) est spécialisé pour la prédiction du début de l'évènement suivant. La figure 5 représente une vue schématique d'un 15 deuxième exemple de réseau de neurones pour l'apprentissage. Le deuxième réseau est constitué par deux couches de type LSTM (long/short term memory), et s'applique plus particulièrement aux situations où les données d'entrée comportent deux informations temporelles correspondant 20 respectivement au début et à la fin de chaque événement. La première couche d'entrée (500) de 100 neurones est commune aux quatre réseaux (510, 520, 530, 540) de la couche suivante ; elle réalise un apprentissage des données pour fournir des données pondérées à la deuxième couche qui 25 est constituée de quatre ensembles (510, 520, 530, 540) de 100 neurones chacun. Le premier ensemble (510) est spécialisé pour la prédiction des évènements suivants. Il fournit un indicateur de qualité correspondant à la probabilité de l'événement 30 prédit. Le deuxième ensemble (520) est spécialisé pour la prédiction de la fin de l'évènement en cours. Le troisième ensemble (530) est spécialisé pour la prédiction du début de l'évènement suivant. - 14 - Le quatrième ensemble (540) est spécialisé pour la prédiction de la fin de l'évènement suivant. Calcul du modèle prédictif Le modèle prédictif est calculé à l'aide de la 5 librairie KERAS (nom commercial) destinée à réaliser une interface vers la librairie TENSORFLOW (nom commercial) écrit en langage Python (nom commercial), permettant d'utiliser des cartes graphiques pour la réalisation des calculs. Exploitation du modèle prédictif 10 Pour l'exploitation des modèles, l'utilisateur commande une requête comportant des paramètres déterminant un point de départ existant ou virtuel dans un processus. Le point de départ est représenté par un parcours partiel, par exemple le parcours en cours d'un individu ou un parcours 15 partiel typique ou d'un intérêt particulier. Pour les deux types de réseaux de neurones susvisés, le traitement est itéré de manière récursive, pour obtenir le parcours complet et le cas échéant la durée totale et le moment de chacun nouvel événement. 20 Afin d'optimiser le temps de calcul de la prédiction, et limiter les échanges entre l'équipement connecté (1 à 3) et le serveur de calcul (200), on exécute les traitements sur un calculateur (200) comportant des cartes 25 graphiques. Ces solutions permettent de réaliser des simulations concernant des parcours en cours, ou de cas virtuels nouveaux, ou encore de gérer automatiquement des alertes. 30 L'exploitation des résultats du serveur de prédiction installé sur le serveur de calcul (200) par l'utilisateur est réalisé par l'intermédiaire d'un serveur - 15 - Flask (nom commercial) écrit en langage Python (nom commercial) constituant l'interface de communication avec l'équipement connecté (1 à 3). Cette communication est réalisée selon un protocole 5 de type API REST (nom commercial). Architecture matériel du serveur de calcul Le serveur de calcul (200) présente une architecture matérielle comprenant une pluralité d'unités de traitement ou coeurs de traitement, ou multi-coeurs (appelées 10 architectures « multi-cores » en terminologie anglo-saxonne), et/ou multi-noeuds. Les unités centrales Central Processing Unit (CPU) multi-coeurs ou les cartes graphiques Graphics Processing Unit (GPU) sont des exemples de telles architectures matérielles. 15 Une carte graphique GPU comprend un grand nombre de processeurs de calcul, typiquement des centaines, le terme d'architecture « many-cores » ou architecture massivement parallèle est alors employé. Initialement dédiées aux calculs relatifs au traitement de données graphiques, stockées sous 20 forme de tableaux de pixels à deux ou trois dimensions, les cartes graphiques GPU sont actuellement utilisées de manière plus générale pour tout type de calcul scientifique nécessitant une grande puissance de calcul et un traitement parallèle des données. 25 Classiquement, la mise en oeuvre d'un traitement de données parallèle sur une architecture parallèle se fait par la conception d'une application de programmation utilisant un langage approprié permettant d'effectuer à la fois du parallélisme de tâches et du parallélisme de données. Les 30 langages OpenMP (Open Multi-Processing, nom commercial), OpenCL (Open Computing Language, nom commercial) ou CUDA (Compute Unified Device Architecture, nom commercial) sont des exemples de langages adaptés à ce type d'application. - 16 - La figure 7 illustre un exemple d'architecture matérielle du serveur (200) Il comprend une machine serveur (201) et un ensemble de quatre dispositifs de calcul (202 à 205). 5 La machine serveur (201) est adaptée à recevoir les instructions d'exécution et à distribuer l'exécution sur l'ensemble de dispositifs de calcul (202 à 205). Les dispositifs de calcul (202 à 205) des cartes graphiques GPU, par exemple des cartes NVIDIA Geforce GTX 1070 10 (nom commercial). Les dispositifs de calcul (202 à 205) sont soit physiquement à l'intérieur de la machine serveur (201), soit à l'intérieur d'autres machines, ou noeuds de calcul, accessibles soit directement, soit via un réseau de communications. 15 Les dispositifs de calcul (202 à 205) sont adaptés à mettre en oeuvre des tâches exécutables transmises par la machine serveur (201). Chaque dispositif de calcul (202 à 205) comporte une ou plusieurs unités de calcul (206 à 208). Chaque unité de calcul (206 à 208) comprend une pluralité d'unités de 20 traitement (209 à 210), ou coeurs de traitement, dans une architecture « multi-coeurs » typiquement 1920 coeurs. La machine serveur (201) comprend au moins un processeur et une mémoire apte à stocker des données et des instructions. En outre, la machine serveur (201) est adaptée à 25 exécuter un programme d'ordinateur comportant des instructions de code mettant en oeuvre un procédé d'optimisation de traitement parallèle de données proposé. Par exemple, un programme mettant en oeuvre le procédé d'optimisation de traitement parallèle de données 30 proposé est codé en un langage de programmation logiciel connu comme le langage Python (nom commercial). Un langage de programmation particulièrement adapté est la librairie TENSORFLOW (nom commercial) interfaçable avec le langage CUDA (nom commercial) et la bibliothèque cuDNN (nom commercial). - 17 - Architecture matérielle du système La figure 7 représente une vue schématique détaillée de l'architecture matérielle du système selon l'invention. 5 Le système comprend plusieurs serveurs qui sont communs à tous les utilisateurs, à savoir un serveur d'administration (100), un serveur de calcul à cartes graphiques (200) et éventuellement un serveur d'acquisition de données (300). 10 Comme indiqué précédemment, chaque utilisateur accède au système par un équipement connecté (1 à 3) communiquant avec les serveurs (100, 200, 300) susvisés. Le serveur d'administration (100) gère les comptes et les espaces de stockage de chacun des utilisateurs, ainsi 15 que l'application d'envoi d'alerte. Chacun des utilisateurs dispose d'un espace de stockage dédié pour l'enregistrement : - des données de configuration générales (50) - des données de configuration pour chacun des parcours 20 (51) - des données des historiques (55) - des données additionnelles (60) - du graphe numérique (71) pour chacun des parcours et des indicateurs de qualité dudit graphe 25 - le modèle numérique (73) prédictif pour chacun des parcours après son calcul sur le serveur de calcul (200). Le serveur d'administration (100) comporte également une mémoire pour l'enregistrement du code 30 informatique de l'application commandant l'exécution soit sur le calculateur local, soit sur une machine virtuelle distante, de la génération du graphe numérique. Le serveur d'administration (100) comporte des moyens pour l'établissement d'un tunnel sécurisé avec le - 18 - serveur de calcul (200) pour l'échange des données nécessaire au calcul d'un graphe numérique ou d'un modèle prédictif et plus généralement les échanges de données avec les différentes ressources informatiques. 5 Les équipements connectés (1 à 3) exécutent une application (600) directement ou via un navigateur. Cette application (600) ne réalise aucun stockage sur l'équipement connecté (1 à 3), toutes les données étant enregistrées sur le serveur d'administration (200). Cela permet un accès par 10 l'utilisateur via un équipement connecté (1 à 3) quelconque, et à sécuriser les données sensibles en évitant un enregistrement permanent sur un équipement connecté (1 à 3) non sécurisé. Cette application (600) communique avec le serveur 15 d'administration (100) pour : - optionnellement, créer un compte, lors de la première utilisation - télécharger sur l'équipement connecté (1 à 3), des données de configuration (50) depuis l'espace de 20 stockage dédié à l'utilisateur sur le serveur d'administration (100) et enregistrer en mémoire vive ces données sans enregistrement dans une mémoire locale permanente - télécharger sur l'équipement connecté (1 à 3), des 25 données de parcours (55, 60), depuis l'espace de stockage dédié à l'utilisateur sur le serveur d'administration (100) ou depuis la ressource externe pour les données de parcours (54, 59) et enregistrer lesdites données en mémoire vive, sans enregistrement 30 dans une mémoire locale permanente, ou un sous- ensemble de ces données (54, 55 ; 59, 60) correspondant par exemple à une plage temporelle limitée ou une série d'identifiants donnée - en phase de configuration, transmettre depuis 35 l'équipement connecté (1 à 3), - 19 - o les données d'entrée hébergées localement (55) o ou le lien vers les données d'entrées (54) hébergées sur une ressource externe - récupérer depuis le serveur d'administration (100) le 5 graphe numérique (71). L'application (600) communique avec le serveur de calcul (200) pour récupérer à la volée sur l'équipement connecté (1 à 3) le résultat du calcul de prédiction (prochain 10 événement, temps de parcours, etc.) et transmettre les instructions de pilotage du calcul du modèle de prédiction. Applications particulières Les données d'entrées peuvent être constituées par 15 les données provenant d'objets connectés, par exemple les téléphones cellulaires de passants dans un espace public, par exemple un hall d'aéroport ou de gare, un pôle commercial, un site urbain, ou un supermarché ou un hôpital. Les données sont captées par des balises recevant les signaux de service, par 20 extraction des données techniques transportées par le protocole de communication, par exemple l'identifiant IMSI, l'horodatage et la puissance du signal. Le système selon l'invention permet d'automatiser l'analyse des déplacements et de réaliser des prédictions de 25 flux de déplacement. Pour des objets connectés, l'identifiant analysé est par exemple l'adresse Mac, REVENDICATIONS1 - Système informatique pour la visualisation de parcours à partir du traitement d'au moins une série de données d'entrées (53, 54) comportant une liste de tâches 5 horodatées comprenant l'identifiant d'un objet, l'identifiant d'une action et une information temporelle, ledit système comportant un équipement informatique « utilisateur » connecté exécutant une application de visualisation ainsi qu'au moins un serveur distant exécutant une application de calcul d'un 10 modèle de parcours à partir desdites tables, caractérisé en ce que ledit système comprend : - un serveur d'administration (100), comportant des moyens de gestion d'une pluralité de comptes d'utilisateur et d'enregistrement, dans le compte de chaque utilisateur, des 15 tables provenant de l'utilisateur ainsi que des données (50, 51) relatives à la configuration spécifique de l'utilisateur et le résultat des traitements effectués sur un serveur de calcul mutualisé - au moins un serveur de calcul mutualisé (200), 20 comportant un processeur graphique GPU (202 à 205) pour exécuter une application d'apprentissage profond à partir des données associées à un utilisateur et pour construire un modèle numérique (73) enregistré ensuite dans le compte dudit utilisateur sur l'un au moins desdits serveurs 25 d'administration (100) ou de calcul (200) - l'équipement de l'utilisateur (1 à 3) exécutant une application (600) pour commander le calcul, sur l'un desdits serveurs de calcul (200), d'un état analytique ou prédictif pour la récupération et la visualisation des données 30 correspondant au résultat de ce calcul sur l'interface de l'équipement utilisateur (1 à 3). 2 - Système informatique pour la visualisation de parcours à partir du traitement d'au moins une série de - 21 - données d'entrées (53, 54) selon la revendication 1 caractérisé en ce qu'il comporte en outre au moins un serveur CPU de répartition de la charge de calcul entre une pluralité de serveurs de calcul mutualisés (200). 3 - Système informatique pour la visualisation de parcours à partir du traitement d'au moins une série de données d'entrées (53, 54) selon la revendication 1 caractérisé en ce qu'il comporte des moyens d'anonymisation des identifiants des objets et/ou des identifiants des actions de chaque utilisateur, et d'enregistrement sous une forme chiffrée sur le compte de l'utilisateur des moyens de conversion des données anonymisées, les données traitées par le ou les serveurs de calcul étant exclusivement constituées de données anonymisées. 4 - Système informatique pour la visualisation de parcours à partir du traitement d'au moins une série de données d'entrées (53, 54) selon la revendication précédente caractérisé en ce ledit chiffrement est réalisé par une fonction de hachage.