Brevet FR2939996A1 — publié le 20100618

Plateforme de gestion d'une pluralité d'objets communicants, procédé, produit programme d'ordinateur et moyen de stockage correspondants. 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui des objets communicants. Plus précisément, l'invention concerne une plateforme permettant de gérer une pluralité d'objets communicants, utilisés par une pluralité d'utilisateurs. Par objet communicant (aussi appelé équipement communicant par la suite), on entend tout équipement électronique capable de communiquer, via une connexion sans fil (par exemple Wifi, GPRS, 3G) ou filaire (par exemple ADSL) avec une plateforme (par exemple un serveur Internet). Un objet communicant peut également communiquer directement avec un autre objet communicant. Chaque utilisateur est identifié en tant qu'individu unique, et possède un ou plusieurs objets communicants. Un même objet communicant peut être possédé (et dans ce cas partagé) par un ou plusieurs utilisateurs. 2. ARRIÈRE-PLAN TECHNOLOGIQUE Les plateformes connues à ce jour et s'approchant le plus de l'invention sont les plateformes M2M de gestion à distance d'un parc de machines communicantes. Ces plateformes M2M (� Machine to Machine � en anglais, ou � machine à machine � en français) servent classiquement à gérer un ensemble de modules de radiocommunication possédant chacun une carte SIM. Elles gèrent les communications d'une pluralité de machines communicantes vers un serveur centralisant les données remontées par ces machines communicantes et assurant également le pilotage à distance de ces machines communicantes. Plus globalement, elles permettent le déploiement, l'opération et la maintenance d'un grand nombre de machines communicantes. Un inconvénient majeur de ces plateformes M2M connues est qu'elles s'arrêtent à la gestion bas niveau et générique des machines communicantes, et ne permettent pas de gérer des services (applications) permettant de faire communiquer entre elles des machines hétérogènes, non prévues a priori pour fonctionner ensemble. Par ailleurs, ces plateformes M2M connues ne tiennent pas compte des relations pouvant exister entre les propriétaires des machines communicantes. On connaît également une autre catégorie de plateformes, à savoir les plateformes de réseau social (comme par exemple � Facebook �, marque déposée), qui gèrent les relations entre utilisateurs. Selon le wiki de l'Université Paris Descartes, une plate-forme de réseau social désigne par exemple une plateforme web 2.0 interactive et collaborative offrant les outils permettant, pour des fins amicales ou professionnelles, la rencontre, la mise en relation, la communication, les interactions multiples et plurielles, les échanges et le partage de contenus (vidéos, photos, blogs, messages publics ou privés, liens hypertextes, etc) entre tous les internautes s'y inscrivant et capables de favoriser la construction du réseau social de chacun d'eux. Une communauté virtuelle peut dès lors se tisser autour de la dynamique des échanges et de l'implication des membres. Les plateformes de réseau social, sous leur forme actuelle, sont éloignées du contexte de la présente invention puisqu'elles gèrent les relations entre utilisateurs, mais ne s'occupent pas de leurs objets communicants. 3. OBJECTIFS DE L'INVENTION L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique. Plus précisément, dans au moins un mode de réalisation de l'invention, un objectif est de fournir une plateforme de gestion d'une pluralité d'objets communicants, permettant de faire communiquer entre eux des objets communicants hétérogènes, non faits a priori pour communiquer ensemble. Un autre objectif d'au moins un mode de réalisation de l'invention est de fournir une telle plateforme permettant de faire communiquer entre eux des objets communicants hétérogènes, en tenant compte de relations existant entre les propriétaires de ces objets communicants. Encore un autre objectif d'au moins un mode de réalisation de l'invention est de fournir une telle plateforme qui soit simple à mettre en oeuvre et à moindre coût. Encore un autre objectif d'au moins un mode de réalisation de l'invention est de fournir une telle plateforme qui ne nécessite aucune modification des objets communicants existants. 4. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé une plateforme de gestion d'une pluralité d'objets communicants, ladite plateforme comprenant : - des moyens d'enregistrement des objets communicants ; - des moyens de gestion de comptes utilisateurs, comprenant : * des premiers moyens d'appairage, permettant d'appairer des objets communicants enregistrés à un compte utilisateur donné ; * des deuxièmes moyens d'appairage, permettant d'appairer au moins un service audit compte utilisateur donné ; * des moyens de couplage entre services et objets communicants, permettant de coupler un service donné, appairé à un compte utilisateur donné, avec au moins un objet communicant producteur de données et au moins un objet communicant consommateur de données, choisis parmi un ensemble d'objets communicants possibles comprenant les objets communicants appairés audit compte utilisateur donné ; - des moyens de gestion de communications entre objets communicants, permettant, pour un service donné appairé à un compte utilisateur donné, de faire communiquer, via ledit service donné, le ou les objets communicants producteurs de données et le ou les objets communicants consommateurs de données couplés audit service donné au sein dudit compte utilisateur donné. Ainsi, ce mode de réalisation particulier de l'invention repose sur une approche tout à fait nouvelle et inventive consistant, dans la plateforme de gestion d'objets communicants, à gérer pour chaque utilisateur un compte utilisateur au sein duquel il existe au moins une structure de couplage permettant de faire communiquer entre eux, 25 via un service, des objets communicants appairés à ce compte utilisateur, à savoir : • au moins un objet communicant producteur de données ; et • au moins un objet communicant consommateur de données. De cette manière, la plateforme permet de faire communiquer entre eux des objets communicants, qui peuvent même être de nature différente (c'est-à-dire n'utilisant 30 pas a priori le même protocole de communication) si la plateforme comprend des connecteurs capables de gérer ces différents protocoles de communication. 15 20 La plateforme ne nécessite aucune modification des objets communicants existants. En utilisant à sa guise les services disponibles sur la plateforme, chaque utilisateur dispose ainsi d'une grande liberté pour utiliser et faire communiquer entre eux ses objets communicants (c'est-à-dire ceux appairés à son compte utilisateur). Par objet communicant producteur de données, on entend un objet communicant capable de déclarer, générer et transmettre des données pouvant former des données d'entrée d'un service. Exemples d'objets communicants producteurs de données : alarme de maison, panneau solaire, système de chauffage, capteur de température... Par objet communicant consommateur de données, on entend un objet communicant capable de déclarer, recevoir et traiter des données pouvant être formées des données de sortie d'un service. Exemples d'objets communicants consommateurs de données : cadre photo numérique, télévision, téléphone mobile, ordinateur de bord d'une voiture, système d'éclairage de la maison, système de contrôle de volets roulants... De façon avantageuse, lesdits moyens de gestion de comptes utilisateurs comprennent en outre des troisièmes moyens d'appairage, permettant d'appairer à un compte utilisateur donné d'un utilisateur donné, au moins un autre utilisateur, dit utilisateur ami. Dans lesdits moyens de couplage entre services et objets communicants, ledit ensemble d'objets communicants possibles comprend en outre des premiers objets communicants tiers, appairés chacun au compte utilisateur d'un utilisateur ami dudit utilisateur donné. Ainsi, chaque utilisateur a encore plus de possibilités pour utiliser les services disponibles sur la plateforme. En effet, il peut utiliser ces services pour faire communiquer ses propres objets communicants (c'est-à-dire ceux appairés à son propre compte utilisateur) non seulement entre eux, mais aussi avec les objets communicants de ses � amis � (c'est-à-dire les objets communicants appairés aux comptes utilisateurs de ses � amis �. On entend par � ami � d'un utilisateur donné, un autre utilisateur qui est appairé au compte utilisateur de cet utilisateur donné. En d'autres termes, on tient compte des relations entre les utilisateurs des objets communicants (c'est-à-dire les propriétaires, au sens où les objets communicants sont appairés à leurs comptes utilisateurs), pour déterminer quels objets communicants peuvent communiquer entre eux. Avantageusement, lesdits moyens de gestion de comptes utilisateurs comprennent en outre : * des premiers moyens d'association, permettant d'associer à chaque objet communicant appairé à un compte utilisateur donné, une première information de visibilité prenant une valeur appartenant au groupe comprenant : - une première valeur, indiquant que ledit objet communicant est un objet communicant privé, pouvant être associé à un service uniquement au sein dudit compte utilisateur donné ; - une deuxième valeur, indiquant que ledit objet communicant est un objet communicant partagé, pouvant être associé à un service au sein dudit compte utilisateur donné ou au sein du compte utilisateur d'un utilisateur ami dudit utilisateur donné. Dans lesdits moyens de couplage entre services et objets communicants, lesdits premiers objets communicants tiers comprennent uniquement des objets communicants partagés, appairés chacun au compte utilisateur d'un utilisateur ami dudit utilisateur donné. Ainsi, chaque utilisateur peut décider que seuls certains de ses objets communicants (ceux qui sont � partagés �) peuvent être utilisés par ses � amis �. Selon une caractéristique avantageuse, ledit groupe de valeurs de la première information de visibilité comprend en outre une troisième valeur, indiquant que ledit objet communicant est un objet communicant publique, pouvant être associé à un service au sein de n'importe quel compte utilisateur. Dans lesdits moyens de couplage entre services et objets communicants, ledit ensemble d'objets communicants possibles comprend en outre des deuxièmes objets communicants tiers, qui sont des objets communicants publiques. Ainsi, chaque utilisateur peut décider que certains de ses objets communicants (ceux qui sont � publiques �) peuvent être utilisés par tous les autres utilisateurs de la plateforme, qu'ils soient ou non ses � amis �. De façon avantageuse, lesdits moyens de gestion de comptes utilisateurs comprennent en outre : * des seconds moyens d'association, permettant d'associer à chaque service appairé à un compte utilisateur donné, une seconde information de visibilité prenant une valeur appartenant au groupe comprenant : - une première valeur, indiquant que ledit service est un service privé, non visible lors d'une consultation dudit compte utilisateur donné par un autre utilisateur, y compris un utilisateur ami dudit utilisateur donné ; - une deuxième valeur, indiquant que ledit service est un service partagé, visible lors d'une consultation dudit compte utilisateur donné par un utilisateur ami dudit utilisateur donné ; - une troisième valeur, indiquant que ledit service est un service publique, visible lors d'une consultation dudit compte utilisateur donné par n'importe quel autre utilisateur, ami ou non dudit utilisateur donné. De cette façon, chaque utilisateur peut décider ce que les autres utilisateurs peuvent savoir des services qu'il utilise, chacun de ces services pouvant être invisible (s'il est marqué � privé �), visible seulement par ses amis (s'il est marqué � partagé �) ou visible par tous les utilisateurs (s'il est marqué � publique �). Avantageusement, la plateforme comprend des moyens de gestion de communications entre utilisateurs et objets communicants, permettant, pour un compte utilisateur donné d'un utilisateur donné, de faire communiquer ledit utilisateur donné avec un objet communicant appairé audit compte utilisateur donné. Ainsi, un utilisateur peut par exemple reconfigurer, contrôler ou encore surveiller à distance (par exemple en temps réel) ses objets communicants (c'est-à-dire ceux appairés à son compte utilisateur). Dans un autre mode de réalisation, l'invention concerne un procédé de gestion d'une pluralité d'objets communicants par une plateforme, ce procédé comprenant : - une étape d'enregistrement des objets communicants par la plateforme ; - une étape de gestion de comptes utilisateurs, comprenant : * une première étape d'appairage, permettant d'appairer des objets communicants enregistrés à un compte utilisateur donné ; * une deuxième étape d'appairage, permettant d'appairer au moins un service audit compte utilisateur donné ; * une étape de couplage entre services et objets communicants, permettant de coupler un service donné, appairé à un compte utilisateur donné, avec au moins un objet communicant producteur de données et au moins un objet communicant consommateur de données, choisis parmi un ensemble d'objets communicants possibles comprenant les objets communicants appairés audit compte utilisateur donné ; - une étape de gestion de communications entre objets communicants, permettant, pour un service donné appairé à un compte utilisateur donné, de faire communiquer, via ledit service donné, le ou les objets communicants producteurs de données et le ou les objets communicants consommateurs de données couplés audit service donné au sein dudit compte utilisateur donné. De façon avantageuse, ladite étape de gestion de comptes utilisateurs comprend en outre une troisième étape d'appairage, permettant d'appairer à un compte utilisateur donné d'un utilisateur donné, au moins un autre utilisateur, dit utilisateur ami. Dans ladite étape de couplage entre services et objets communicants, ledit ensemble d'objets communicants possibles comprend en outre des premiers objets communicants tiers, appairés chacun au compte utilisateur d'un utilisateur ami dudit utilisateur donné. Avantageusement, ladite étape de gestion de comptes utilisateurs comprend en outre : * une première étape d'association, permettant d'associer à chaque objet communicant appairé à un compte utilisateur donné, une information de visibilité prenant une valeur appartenant au groupe comprenant : - une première valeur, indiquant que ledit objet communicant est un objet communicant privé, pouvant être associé à un service uniquement au sein dudit compte utilisateur donné ; - une deuxième valeur, indiquant que ledit objet communicant est un objet communicant partagé, pouvant être associé à un service au sein dudit compte utilisateur donné ou au sein du compte utilisateur d'un utilisateur ami dudit utilisateur donné. Dans ladite étape de couplage entre services et objets communicants, lesdits premiers objets communicants tiers comprennent uniquement des objets communicants partagés, appairés chacun au compte utilisateur d'un utilisateur ami dudit utilisateur donné. Avantageusement, ledit groupe de valeurs de l'information de visibilité comprend en outre une troisième valeur, indiquant que ledit objet communicant est un objet communicant publique, pouvant être associé à un service au sein de n'importe quel 15 compte utilisateur. Dans ladite étape de couplage entre services et objets communicants, ledit ensemble d'objets communicants possibles comprend en outre des deuxièmes objets communicants tiers, qui sont des objets communicants publiques. Selon une caractéristique avantageuse, ladite étape de gestion de comptes utilisateurs comprend en outre : * une seconde étape d'association, permettant d'associer à chaque service appairé à un compte utilisateur donné, une seconde information de visibilité prenant une valeur appartenant au groupe comprenant : - une première valeur, indiquant que ledit service est un service privé, non visible lors d'une consultation dudit compte utilisateur donné par un autre utilisateur, y compris un utilisateur ami dudit utilisateur donné ; - une deuxième valeur, indiquant que ledit service est un service partagé, visible lors d'une consultation dudit compte utilisateur donné par un utilisateur ami dudit utilisateur donné. - une troisième valeur, indiquant que ledit service est un service publique, visible lors d'une consultation dudit compte utilisateur 20 25 30 donné par n'importe quel autre utilisateur, ami ou non dudit utilisateur donné. Avantageusement, ledit procédé comprend une étape de gestion de communications entre utilisateurs et objets communicants, permettant, pour un compte utilisateur donné d'un utilisateur donné, de faire communiquer ledit utilisateur donné avec un objet communicant appairé audit compte utilisateur donné. Dans un autre mode de réalisation, l'invention concerne un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur. Ce produit programme d'ordinateur comprend des instructions de code de programme pour la mise en oeuvre du procédé précité (dans l'un quelconque de ses différents modes de réalisation), lorsque ledit programme est exécuté sur un ordinateur. Dans un autre mode de réalisation, l'invention concerne un moyen de stockage lisible par ordinateur, éventuellement totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé précité (dans l'un quelconque de ses différents modes de réalisation). 5. LISTE DES FIGURES D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de 20 la description suivante, donnée à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : - la figure 1 présente un schéma bloc fonctionnel d'une plateforme de gestion d'objets communicants, selon un mode de réalisation particulier de l'invention ; - la figure 2 un exemple de réalisation du coeur compris dans la plateforme de la figure 1 ; - la figure 3 complète la figure 1 en faisant apparaître des bases de données comprises dans la plateforme, selon un mode de réalisation particulier de l'invention ; - la figure 4 illustre un mécanisme d'enregistrement d'un objet communicant par la plateforme de la figure 1 ; 25 30 - la figure 5 illustre un mécanisme d'appairage d'un objet communicant à un compte utilisateur, par la plateforme de la figure 1 ; - la figure 6 illustre un mécanisme d'appairage d'un ami à un compte utilisateur, par la plateforme de la figure 1 ; - la figure 7 illustre un mécanisme de couplage entre un service et des objets communicants, au sein d'un compte utilisateur, par la plateforme de la figure 1 ; - la figure 8 illustre un mécanisme de communication entre objets communicants, via un service, par la plateforme de la figure 1 ; - la figure 9 présente un organigramme d'un procédé de gestion de la plateforme de la figure 1, dans un mode de réalisation particulier de l'invention ; - la figure 10 présente un exemple de structure matérielle de la plateforme dont la figure 1 présente un schéma bloc fonctionnel. 6. DESCRIPTION DÉTAILLÉE Sur toutes les figures du présent document, les éléments et étapes identiques sont désignés par une même référence numérique. La figure 1 présente un schéma bloc fonctionnel d'une plateforme de gestion d'objets communicants, selon un mode de réalisation particulier de l'invention. Dans la suite de la description, les termes � objet communicant� et � équipement communicant � sont utilisés indifféremment. Dans ce mode de réalisation particulier, la plateforme 1 communique : • d'une part avec des premiers utilisateurs 4 disposant de terminaux 13 (par exemple des ordinateurs PC, comprenant un navigateur web) pour un accès par exemple via le réseau Internet 6 ; et • d'autre part avec des équipements communicants 2, 3 utilisés par des seconds utilisateurs 5, pour un accès par exemple via les réseaux Internet et GPRS 7. Parmi ces équipements communicants, on distingue les équipements communicants producteurs de données 2 et les équipements communicants consommateurs de données 3. En pratique, un même équipement peut être à la fois producteur de données et consommateur de données. Un même utilisateur peut faire partie à la fois des premiers 4 et seconds 5 utilisateurs précités. 25 30 5 10 15 20 30 La plateforme 1 comprend différents blocs fonctionnels, à savoir un coeur 14 auquel sont reliés : • un conteneur d'applications 8, comprenant des applications de gestion d'équipements 10 et des services 9. Ces applications 10 et services 9 sont reliés au coeur via des interfaces de programmation (API, pour � Application Programming Interface � en anglais) 19 ; • un conteneur de connecteurs 12, comprenant des connecteurs 18 pour les équipements producteurs 2 et des connecteurs 17 pour les équipements consommateurs 3. Ces connecteurs 17, 18 sont reliés au coeur via des interfaces de programmation (API) 20, 21 ; • un bloc de provisionnement d'équipements 11, permettant de préparer la plateforme à manipuler un équipement se connectant pour la première fois à la plateforme en rajoutant une nouvelle entrée dans la base des équipements et en y renseignant les données indispensables aux autres parties de la plateforme : o l'identité de l'équipement constituée d'un identifiant du modèle (indiquant la nature de l'équipement ù on parle encore de type d'équipement) et d'un numéro de série, o les versions de son � firmware � (aussi appelé microprogramme) et son � software � (aussi appelé logiciel), o son modèle de données, o sa configuration courante. Si le modèle de données n'est pas envoyé par l'équipement, le bloc de provisionnement doit avoir été configuré au préalable par un administrateur qui aura décrit le modèle de données associé au type d'équipement, cette information étant ensuite stockée dans la base de données 110 du bloc de provisionnement 11 (on parle alors de provisionnement manuel par opposition au provisionnement automatique dans le cas où le modèle de données peut être transmis par l'équipement). Ce bloc de provisionnement peut également être utilisé par un administrateur de ce type d'équipements pour le mettre à jour, c'est-à-dire lui envoyer une nouvelle configuration et/ou une nouvelle version du � firmware � ou du � software �. ; • un bloc de gestion des utilisateurs 15, permettant de rajouter un utilisateur dans la base de données des utilisateurs et gérer (ajouter, modifier, supprimer, chercher) les informations de son compte (profil) : équipements de l'utilisateur, équipements de ses amis visibles par lui, services de l'utilisateur, services de ses amis visibles par lui, évènements des équipements et des services de son compte (profil) ; • une interface web 16 (pour les premiers utilisateurs précités 4). Le conteneur d'applications 8 et le conteneur de connecteurs 12 sont par exemple des conteneurs de type OSGI (pour � Open Services Gateway initiative � en anglais), permettant à l'opérateur de la plateforme ou à des acteurs tiers de créer, charger, décharger, démarrer ou éteindre des applications de gestion d'équipements 9, des services 10 ou des connecteurs 17, 18. La plateforme 1 ne nécessite pas d'arrêt du 15 service global pour ce faire. Les services 9 sont des applications à l'écoute des évènements propagés par le coeur (notamment le moteur d'évènements (cf figure 2)) et génèrent eux-mêmes des évènements à destination d'équipements 2, 3 ou d'autres services dont ils peuvent dépendre. Ils utilisent pour cela les APIs référencées 19 de la plateforme. La plateforme 20 peut supporter une infinité de services, dans la limite des capacités physique des serveurs qui la composent. Les connecteurs 17, 18 sont des programmes prenant en charge la communication avec les équipements communicants 2, 3, et notamment qui implémentent le protocole de l'équipement. Ils utilisent les APIs référencées 20, 21 de la 25 plateforme. La plateforme peut supporter une infinité de connecteurs, dans la limite des capacités physique des serveurs qui la composent. Les applications de gestion d'équipements 10, les services 9 et les connecteurs sont par exemple programmés en langage Java. L'interface Web 16 est par exemple réalisée selon une implémentation Java EE (pour "Java Enterprise Edition" en 30 anglais ; anciennement J2EE), et AJAX (pour "Asynchronous JavaScript and XML" en anglais). 10 Les services 9 compris dans le conteneur d'applications 8 sont limités, par la plateforme (à travers les API référencées 19), à l'accès à l'équipement objet d'un événement (appelé équipement sujet), et aux équipements liés par une relation entre leurs propriétaires avec cet équipement sujet. Pour cela, la plateforme fournit le moyen de lister l'ensemble des équipements accessibles par un équipement donné, en fonction des relations entre leurs propriétaires (par exemple : famille, ami, relation de travail). On détaille maintenant, en relation avec la figure 2, un exemple de réalisation du coeur 14 compris dans la plateforme 1 de la figure 1. Le coeur de la plateforme comprend un bloc de logique applicative 141, un bloc de contrôle des droits 142 et un moteur d'évènements 143. Le moteur d'évènements 143 est par exemple réalisé avec l'interface de programmation JMS (pour � Java Message Service � en anglais), avec une implémentation ActiveMQ. Le coeur de la plateforme pilote toutes les opérations essentielles de la plateforme : ajout/suppression/modification/recherche de utilisateurs/équipements/services/moyens de communication (connecteurs), en s'appuyant sur les différents composants prenant en charge ces services (voir figure 1). Il assure les fonctions suivantes : • routage synchrone ou asynchrone des messages d'une entité à une autre (utilisation du moteur d'évènements 143 pour la gestion asynchrone des messages) ; • garantir le respect des droits (par exemple : un service d'un utilisateur A utilisant l'équipement d'un utilisateur B ne peut envoyer un message à l'équipement B que si il existe une relation entre A et B et que B partage son équipement) ; garantir la cohérence des données (une suppression d'un équipement entraîne des modifications dans les bases de données des équipements, des utilisateurs et des services). Une opération du coeur 14 est déclenchée par l'un des trois facteurs suivants : • action utilisateur venant de l'interface web 16 ; • communication à l'initiative d'un équipement 2, 3 ; • évènement déclenché par le moteur d'évènement 143 (par exemple : fonction de réveil sollicitée par un service 9). La figure 3 complète la figure 1 en faisant apparaître des bases de données comprises dans la plateforme, selon un mode de réalisation particulier de l'invention. Plus précisément, chacun des services 9, chacune des applications de gestion d'équipement 10, le bloc de provisionnement d'équipements 11, le moteur d'évènement 143 et le bloc de gestion des utilisateurs 15 possèdent chacun leur propre base de donnée (référencée 90, 100, 110, 140, 150 respectivement). La figure 4 illustre un mécanisme d'enregistrement d'un équipement communicant par la plateforme de la figure 1. Ce mécanisme peut être décomposé comme suit : 1. L'utilisateur 5 allume son équipement 2 (équipement producteur dans cet exemple, mais le même mécanisme s'applique à un équipement consommateur) qui se connecte au réseau GPRS et contacte la plateforme 1 (on suppose que l'adresse URL du connecteur 18 a été fournie à l'équipement 2 par le constructeur/intégrateur de cet équipement). 2. Le connecteur 18 relaie la déclaration de l'équipement 2 et le bloc de provisionnement d'équipements 11 est appelé, via le coeur 14, avec la configuration de l'équipement 2 (y compris le modèle de données, dans le cas où celui-ci est passé par l'équipement 2). 3. Le bloc de provisionnement d'équipements 11 obtient le modèle de données de l'équipement 2 : soit ce modèle est transmis par l'équipement 2 (cas d'un provisionnement automatique), soit le bloc de provisionnement d'équipements 11 retrouve un modèle de données correspondant au type d'équipement dans sa base de données 110 (cas d'un provisionnement manuel). Puis, le bloc de provisionnement d'équipements 11 ajoute une nouvelle entrée, relative à l'équipement 2, dans la base de données des équipements, et y renseigne les données concernant l'équipement 2 (identité de l'équipement, versions de ses � firmware � et � software �, modèle de données, configuration courante). Enfin, le bloc de provisionnement d'équipements 11 appelle l'application 10 en charge de la gestion de ce type d'équipement, si il y en a une. 20 25 30 4. L'application 10 de gestion de l'équipement enregistre l'équipement 2 (et éventuellement, l'application propage des évènements à d'autres équipements et d'autres utilisateurs, pour les informer de cet enregistrement). La figure 5 illustre un mécanisme d'appairage d'un équipement communicant à un compte utilisateur, par la plateforme de la figure 1. Ce mécanisme peut être décomposé comme suit : 1. L'utilisateur 4 se connecte à la plateforme 1 par l'interface web 16, en utilisant un navigateur web sur son ordinateur. 2. Il rajoute un équipement 3 (équipement consommateur dans cet exemple, mais le même mécanisme s'applique à un équipement producteur) à son compte en donnant l'identifiant (ID) de son équipement. 3. Le coeur 14 appelle l'application 10 responsable de la gestion de cet équipement ; cette application 10 génère un code aléatoire et l'envoie à l'équipement 3 via le coeur 14 et le connecteur 17 de l'équipement 3. 4. L'équipement 3 affiche le code généré. 5. L'interface web 16 demande à l'utilisateur 4 de confirmer le code affiché sur l'équipement 3. 6. L'utilisateur 4 entre le code, qui est relayé à l'application 10 en charge de la gestion de l'équipement 3, via le coeur 14. 7. L'application 10 en charge de la gestion de l'équipement 3 appaire l'équipement 3 au compte utilisateur. Le compte utilisateur ainsi modifié est stocké par le bloc de gestion des utilisateurs 15. On présente maintenant une variante du mécanisme d'appairage, dans le cas où l'équipement communicant à appairer ne dispose pas d'écran. En effet, il est assez fréquent qu'un équipement producteur de données (par exemple un panneau solaire), ne dispose pas d'une interface utilisateur. Dans cette variante, le mécanisme peut être décomposé comme suit : 1. L'utilisateur 4 se connecte à la plateforme 1 par l'interface web 16, en utilisant un navigateur web sur son ordinateur. Il est muni d'une carte à gratter comportant le numéro de série de l'équipement 3 et un code qu'il doit découvrir en grattant. 2. Il rajoute un équipement 3 à son compte en donnant l'identifiant (ID) de son équipement, et le code caché. 3. Le coeur 14 appelle l'application 10 responsable de la gestion de cet équipement qui vérifie que le code est bien une signature crytographique valide pour le numéro de série de l'équipement 3, c'est-à-dire, que l'utilisateur possède bien en main la carte à gratter mise en usine dans l'emballage de l'équipement 3, 4. L'application 10 en charge de la gestion de l'équipement 3 appaire l'équipement 3 au compte utilisateur. Le compte utilisateur ainsi modifié est stocké par le bloc de gestion des utilisateurs 15. La figure 6 illustre un mécanisme d'appairage d'un ami à un compte utilisateur, par la plateforme de la figure 1. Ce mécanisme peut être décomposé comme suit : 1. Un utilisateur A souhaite créer une relation entre lui et un autre utilisateur B afin de partager des services et des équipements avec lui (et inversement). 2. L'utilisateur A se connecte à la plateforme 1 par l'interface web 16 et 15 s'authentifie, en utilisant un navigateur web sur son ordinateur. 3. Il recherche l'utilisateur B à l'aide de l'interface web 16 et signale qu'il veut se connecter avec lui. 4. Plus tard, l'utilisateur B se connecte à la plateforme 1 par l'interface web 16 et s'authentifie, en utilisant un navigateur web sur son ordinateur. 20 5. Il voit la demande de l'utilisateur B et l'accepte. 6. Les comptes 60A, 60B des deux utilisateurs A et B sont mis à jour (l'utilisateur B est appairé au compte de l'utilisateur A, et inversement) afin d'inscrire les services partagés et les équipements partagés par chacun des utilisateurs dans le compte de l'autre utilisateur. En revanche, les services privés et les équipements 25 privés de chacun des utilisateurs ne sont pas inscrits dans le compte de l'autre utilisateur. Les notions de service partagé ou privé, et d'équipement partagé ou privé sont décrites par la suite, en relation avec la figure 9. Les comptes utilisateurs 60A, 60B ainsi modifiés sont stockés par le bloc de gestion des utilisateurs 15. 30 7. Plus tard, l'un des deux utilisateurs peut créer un service lui permettant d'utiliser un équipement partagé par l'autre utilisateur (voir description de la figure 7). 10 La figure 7 illustre un mécanisme de couplage entre un service et des équipements communicants, au sein d'un compte utilisateur, par la plateforme de la figure 1. Ce mécanisme peut être décomposé comme suit : 1. L'utilisateur 4 se connecte à la plateforme 1 par l'interface web 16, en utilisant un navigateur web sur son ordinateur. 2. Il cherche puis instancie un service 9 (ce service est alors appairé au compte de l'utilisateur). Ensuite, il couple ce service à (au moins) un de ses équipements producteurs (par exemple un service d'alerte sur un évènement donné) et à (au moins) un de ses équipements récepteurs. L'interface web 16 lui permet d'instancier tous les services disponibles 9 existants sur la plateforme, compatibles avec ses équipements producteurs et consommateurs. Cette notion de compatibilité entre services et équipements, pour un utilisateur donné, est détaillée ci-après. Ce couplage entre un service et des équipements producteur et consommateur est stocké, au sein du compte de l'utilisateur, par le bloc de gestion des utilisateurs 15. Dans un mode de réalisation particulier, et sous réserve que l'utilisateur ait apparié au moins un utilisateur � ami � à son compte, l'utilisateur peut, pour chaque couplage avec un service, choisir les équipements parmi : • les équipements producteurs et consommateurs appairés à son propre compte ; • les équipements producteurs et consommateurs appairés aux comptes de ses � amis � et déclarés � partagés � par ces derniers ; • les équipements producteurs et consommateurs appairés aux comptes de n'importe quels utilisateurs (� amis � ou non) mais déclarés 25 � publiques � par leurs utilisateurs. On détaille maintenant la notion de compatibilité entre services et équipements, pour un utilisateur donné. Le modèle de données associé à un type d'équipement contient une définition des données qu'il peut produire ou consommer, au moyen d'un langage sémantique, comme par exemple RDF (� Resource Description Framework � en 30 anglais). Un dictionnaire sémantique est fourni afin que chaque partenaire puisse implémenter des services ou des équipements, et également enrichir ce dictionnaire. Le 10 15 20 modèle de données définit une liste de triplets (medium, canal/protocole, ensemble de contraintes) pour chaque service et chaque équipement. Exemple pour un équipement consommateur d'images par Internet (connexion ADSL par exemple) et MMS: ( (type:image, canal:MMS, (taille message max:100K, taille _image _max:2.1M, format:jpeg, couleurs min:16bits, couleurs max:24bits�, (type:image, canal:Internet, (format:jpeg, couleurs min:16bits, couleurs max:24bits� ) Le dictionnaire contient la description RDF de � type �, � canal �, � taille_image_max �, � format �, etc. et leurs valeurs possibles. Lors de l'instanciation d'un service par l'utilisateur, l'interface web 16 va demander au coeur 14 de filtrer les services disponibles que l'utilisateur peut utiliser en fonction de la correspondance de chacun d'eux avec chaque équipement du compte (profil) de cet utilisateur. Ainsi, elle ne proposera pas les services qui ne pourraient pas être instanciés parce que les équipements producteurs ou/et consommateurs de données compatibles ne peuvent être trouvés dans le compte (profil) de l'utilisateur. La figure 8 illustre un mécanisme de communication entre équipements communicants, via un service, par la plateforme de la figure 1. Ce mécanisme peut être décomposé comme suit : 1. Un équipement producteur 2 envoie une donnée ou une alerte à la plateforme 1, via son connecteur 18. 2. Le connecteur 18 relaie l'information au coeur 14. 3. Le service 9 à l'écoute de l'équipement producteur 2 (ou du type d'information) est appelé. 4. L'information est décodée par le service 9 qui décide d'afficher un message sur un équipement consommateur précis 3 (conformément au couplage préalablement défini par l'utilisateur et stocké, au sein du compte de l'utilisateur, 30 par le bloc de gestion des utilisateurs 15 (voir figure 7)). Une commande est envoyée au coeur 14. 5. Le coeur 14 utilise le connecteur 17 associé à l'équipement consommateur 3 pour lui faire passer l'information. 6. L'équipement consommateur 3 reçoit et affiche l'information. La figure 9 présente un organigramme d'un procédé de gestion de la plateforme de la figure 1, dans un mode de réalisation particulier de l'invention. Le procédé comprend les étapes suivantes : • enregistrement des objets communicants par la plateforme (étape 91, correspondant au mécanisme de la figure 4) ; • gestion des comptes utilisateurs (étape 92, correspondant aux mécanismes des figures 5 à 7) ; • gestion de communications entre objets communicants via des services (étape 93, correspondant au mécanisme de la figure 8) ; et gestion de communications entre utilisateurs et objets communicants (étape 94), par exemple pour : la découverte des propriétés d'un ou plusieurs objets connectés, la configuration (changement à distance des propriétés d'un ou plusieurs objets) ou encore le contrôle et la surveillance en temps réel (synchrone). L'étape 92 de gestion des comptes utilisateurs comprend elle-même les étapes suivantes, pour chaque compte utilisateur : • appairage d'objets communicants au compte utilisateur (étape 921, correspondant au mécanisme de la figure 5) ; • association d'une valeur de visibilité à chaque objet communicant appairé (étape 922) ; • appairage d'(au moins) un service au compte utilisateur (étape 923) ; • association d'une valeur de visibilité à chaque service appairé (étape 924) ; • appairage d'(au moins) un � ami� au compte utilisateur (étape 925, correspondant au mécanisme de la figure 6) ; • couplage entre un service, au moins un objet communicant producteur et au moins un objet communicant consommateur (étape 926, correspondant au mécanisme de la figure 7). L'étape 922 permet d'associer à chaque objet communicant appairé à un compte 5 utilisateur donné, une information de visibilité prenant une valeur appartenant au groupe comprenant : • une première valeur, indiquant que l'objet communicant est un objet communicant privé, pouvant être associé à un service uniquement au sein du compte utilisateur donné ; • une deuxième valeur, indiquant que l'objet communicant est un objet communicant partagé, pouvant être associé à un service au sein du compte utilisateur donné ou au sein du compte utilisateur d'un utilisateur ami de l'utilisateur donné ; • une troisième valeur, indiquant que l'objet communicant est un objet communicant publique, pouvant être associé à un service au sein de n'importe quel compte utilisateur. Ainsi, lors de l'étape 926 de couplage, l'utilisateur peut choisir des objets communicants parmi ceux qui sont appairés à son propre compte, ceux partagés par des utilisateurs � amis � et ceux déclarés � publiques � par les autres utilisateurs (� amis � 20 ou non). L'étape 924 permet d'associer à chaque service appairé à un compte utilisateur donné, une information de visibilité prenant une valeur appartenant au groupe comprenant : • une première valeur, indiquant que le service est un service privé, non visible 25 lors d'une consultation de ce compte utilisateur donné par un autre utilisateur, y compris un utilisateur ami de cet utilisateur donné ; • une deuxième valeur, indiquant que le service est un service partagé, visible lors d'une consultation de ce compte utilisateur donné par un utilisateur ami de ce utilisateur donné ; 10 15 • une troisième valeur, indiquant que le service est un service publique, visible lors d'une consultation de ce compte utilisateur donné par n'importe quel autre utilisateur, ami ou non de cet utilisateur donné. La figure 10 présente un exemple de structure matérielle de la plateforme dont la figure 1 présente un schéma bloc fonctionnel. Dans cet exemple de structure matérielle, la plateforme 1 comprend une machine serveur 102 et une machine bases de données 101. La machine serveur 102 met en oeuvre tous les blocs fonctionnels de la figure 1, à l'exception de ceux relatifs aux bases de données (ces derniers étant mis en oeuvre par la machine bases de données 101). De manière classique, chacune des deux machines 101, 102 comporte un bus de communication permettant la communication et l'interopérabilité entre : - une unité centrale de traitement (comprenant par exemple un ou plusieurs microprocesseurs) ; une mémoire morte (ROM), pouvant comporter un ou plusieurs programmes qui quand ils sont exécutés permettent à la plateforme 1 de fonctionner comme décrit ci-dessus (c'est-à-dire de mettre en oeuvre le procédé de la figure 7, dont certaines étapes correspondent aux mécanismes détaillés avec les figures 2 à 6) ; - une mémoire vive (RAM), comportant des registres adaptés à enregistrer des variables et paramètres créés et modifiés au cours de l'exécution du ou des programme(s) précité(s). L'unité centrale commande et dirige l'exécution des instructions ou portions de code logiciel du ou des programme(s) précité(s). Lors de la mise sous tension, le ou les programmes qui sont stockés dans la mémoire morte sont transférés dans la mémoire vive qui contiendra alors le code exécutable du ou des programme(s), ainsi que des registres pour mémoriser les variables et paramètres nécessaires à la mise en oeuvre de ce(s) programme(s). On notera que l'invention ne se limite pas à une implantation purement logicielle, sous la forme d'une séquence d'instructions d'un ou plusieurs programmes informatiques, mais qu'elle peut aussi être mise en oeuvre sous forme matérielle ou toute forme mixant une partie matérielle et une partie logicielle. Dans le cas où l'invention est implantée partiellement ou totalement sous forme logicielle, la séquence d'instructions correspondante pourra être stockée dans un moyen de stockage amovible (tel que par exemple une disquette, un CD-ROM ou un DVD-ROM) ou non, ce moyen de stockage étant lisible partiellement ou totalement par un ordinateur ou un microprocesseur. REVENDICATIONS1. Plateforme (1) de gestion d'une pluralité d'objets communicants (2, 3), caractérisée en ce qu'elle comprend : - des moyens (14, 11, 8) d'enregistrement des objets communicants ; - des moyens (14, 15, 16) de gestion de comptes utilisateurs, comprenant : * des premiers moyens d'appairage, permettant d'appairer des objets communicants (2, 3) enregistrés à un compte utilisateur donné ; * des deuxièmes moyens d'appairage, permettant d'appairer au moins un service (9) audit compte utilisateur donné ; * des moyens de couplage entre services et objets communicants, permettant de coupler un service donné, appairé à un compte utilisateur donné, avec au moins un objet communicant producteur de données et au moins un objet communicant consommateur de données, choisis parmi un ensemble d'objets communicants possibles comprenant les objets communicants appairés audit compte utilisateur donné ; - des moyens (14) de gestion de communications entre objets communicants, permettant, pour un service donné (9) appairé à un compte utilisateur donné, de faire communiquer, via ledit service donné, le ou les objets communicants producteurs de données (2) et le ou les objets communicants consommateurs de données (3) couplés audit service donné au sein dudit compte utilisateur donné. 2. Plateforme selon la revendication 1, caractérisée en ce que lesdits moyens (14, 15, 16) de gestion de comptes utilisateurs comprennent en outre : * des troisièmes moyens d'appairage, permettant d'appairer à un compte utilisateur donné (60A) d'un utilisateur donné, au moins un autre 25 utilisateur, dit utilisateur ami ; et en ce que, dans lesdits moyens de couplage entre services et objets communicants, ledit ensemble d'objets communicants possibles comprend en outre des premiers objets communicants tiers, appairés chacun au compte utilisateur (60B) d'un utilisateur ami dudit utilisateur donné. 30 3. Plateforme selon la revendication 2, caractérisée en ce que lesdits moyens (14, 15, 16) de gestion de comptes utilisateurs comprennent en outre : 15 20* des premiers moyens d'association, permettant d'associer à chaque objet communicant appairé à un compte utilisateur donné, une première information de visibilité prenant une valeur appartenant au groupe comprenant : - une première valeur, indiquant que ledit objet communicant est un objet communicant privé, pouvant être associé à un service uniquement au sein dudit compte utilisateur donné ; - une deuxième valeur, indiquant que ledit objet communicant est un objet communicant partagé, pouvant être associé à un service au sein dudit compte utilisateur donné ou au sein du compte utilisateur d'un utilisateur ami dudit utilisateur donné ; et en ce que, dans lesdits moyens de couplage entre services et objets communicants, lesdits premiers objets communicants tiers comprennent uniquement des objets communicants partagés, appairés chacun au compte utilisateur d'un utilisateur ami dudit 15 utilisateur donné. 4. Plateforme selon l'une quelconque des revendications 2 et 3, caractérisée en ce que ledit groupe de valeurs de la première information de visibilité comprend en outre : - une troisième valeur, indiquant que ledit objet communicant est un objet communicant publique, pouvant être associé à un service au sein 20 de n'importe quel compte utilisateur ; et en ce que, dans lesdits moyens de couplage entre services et objets communicants, ledit ensemble d'objets communicants possibles comprend en outre des deuxièmes objets communicants tiers, qui sont des objets communicants publiques. 5. Plateforme selon l'une quelconque des revendications 2 à 4, caractérisée en ce 25 que lesdits moyens (14, 15, 16) de gestion de comptes utilisateurs comprennent en outre : * des seconds moyens d'association, permettant d'associer à chaque service appairé à un compte utilisateur donné, une seconde information de visibilité prenant une valeur appartenant au groupe comprenant : 30 - une première valeur, indiquant que ledit service est un service privé, non visible lors d'une consultation dudit compte utilisateur donné par 10un autre utilisateur, y compris un utilisateur ami dudit utilisateur donné ; - une deuxième valeur, indiquant que ledit service est un service partagé, visible lors d'une consultation dudit compte utilisateur donné par un utilisateur ami dudit utilisateur donné. - une troisième valeur, indiquant que ledit service est un service publique, visible lors d'une consultation dudit compte utilisateur donné par n'importe quel autre utilisateur, ami ou non dudit utilisateur donné. 6. Plateforme selon l'une quelconque des revendications 1 à 5, caractérisée en ce qu'elle comprend des moyens de gestion de communications entre utilisateurs (4) et objets communicants (2, 3), permettant, pour un compte utilisateur donné (60A) d'un utilisateur donné, de faire communiquer ledit utilisateur donné avec un objet communicant appairé audit compte utilisateur donné. 7. Procédé de gestion d'une pluralité d'objets communicants par une plateforme, caractérisé en ce qu'il comprend : - une étape (91) d'enregistrement des objets communicants par la plateforme ; - une étape (92) de gestion de comptes utilisateurs, comprenant : * une première étape d'appairage (921), permettant d'appairer des objets communicants enregistrés à un compte utilisateur donné ; * une deuxième étape d'appairage 9(23), permettant d'appairer au moins un service audit compte utilisateur donné ; * une étape (926) de couplage entre services et objets communicants, permettant de coupler un service donné, appairé à un compte utilisateur donné, avec au moins un objet communicant producteur de données et au moins un objet communicant consommateur de données, choisis parmi un ensemble d'objets communicants possibles comprenant les objets communicants appairés audit compte utilisateur donné ; - une étape (93) de gestion de communications entre objets communicants, 30 permettant, pour un service donné appairé à un compte utilisateur donné, de faire communiquer, via ledit service donné, le ou les objets communicants 25producteurs de données et le ou les objets communicants consommateurs de données couplés audit service donné au sein dudit compte utilisateur donné. 8. Procédé selon la revendication 7, caractérisé en ce que ladite étape (92) de gestion de comptes utilisateurs comprend en outre : * une troisième étape d'appairage (925), permettant d'appairer à un compte utilisateur donné d'un utilisateur donné, au moins un autre utilisateur, dit utilisateur ami ; et en ce que, dans ladite étape de couplage entre services et objets communicants, ledit ensemble d'objets communicants possibles comprend en outre des premiers objets communicants tiers, appairés chacun au compte utilisateur d'un utilisateur ami dudit utilisateur donné. 9. Procédé selon la revendication 8, caractérisé en ce que ladite étape (92) de gestion de comptes utilisateurs comprend en outre : * une première étape d'association (922), permettant d'associer à chaque objet communicant appairé à un compte utilisateur donné, une information de visibilité prenant une valeur appartenant au groupe comprenant : - une première valeur, indiquant que ledit objet communicant est un objet communicant privé, pouvant être associé à un service uniquement au sein dudit compte utilisateur donné ; - une deuxième valeur, indiquant que ledit objet communicant est un objet communicant partagé, pouvant être associé à un service au sein dudit compte utilisateur donné ou au sein du compte utilisateur d'un utilisateur ami dudit utilisateur donné ; et en ce que, dans ladite étape de couplage entre services et objets communicants, lesdits premiers objets communicants tiers comprennent uniquement des objets communicants partagés, appairés chacun au compte utilisateur d'un utilisateur ami dudit utilisateur donné. 10. Procédé selon l'une quelconque des revendications 8 et 9, caractérisé en ce que ledit groupe de valeurs de l'information de visibilité comprend en outre :- une troisième valeur, indiquant que ledit objet communicant est un objet communicant publique, pouvant être associé à un service au sein de n'importe quel compte utilisateur ; et en ce que, dans ladite étape de couplage entre services et objets communicants, ledit 5 ensemble d'objets communicants possibles comprend en outre des deuxièmes objets communicants tiers, qui sont des objets communicants publiques. 11. Procédé selon l'une quelconque des revendications 8 à 10, caractérisée en ce que ladite étape (92) de gestion de comptes utilisateurs comprend en outre : * une seconde étape d'association (924), permettant d'associer à chaque service appairé à un compte utilisateur donné, une seconde information de visibilité prenant une valeur appartenant au groupe comprenant : - une première valeur, indiquant que ledit service est un service privé, non visible lors d'une consultation dudit compte utilisateur donné par un autre utilisateur, y compris un utilisateur ami dudit utilisateur donné ; - une deuxième valeur, indiquant que ledit service est un service partagé, visible lors d'une consultation dudit compte utilisateur donné par un utilisateur ami dudit utilisateur donné. - une troisième valeur, indiquant que ledit service est un service publique, visible lors d'une consultation dudit compte utilisateur donné par n'importe quel autre utilisateur, ami ou non dudit utilisateur donné. 12. Procédé selon l'une quelconque des revendications 7 à 11, caractérisé en ce qu'il comprend une étape (94) de gestion de communications entre utilisateurs et objets 25 communicants, permettant, pour un compte utilisateur donné d'un utilisateur donné, de faire communiquer ledit utilisateur donné avec un objet communicant appairé audit compte utilisateur donné. 13. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par 30 un processeur, caractérisé en ce qu'il comprend des instructions de code de programme 10 15 20pour la mise en oeuvre du procédé selon au moins une des revendications 7 à 12, lorsque ledit programme est exécuté sur un ordinateur. 14. Moyen de stockage lisible par ordinateur, éventuellement totalement ou partiellement amovible, stockant un programme d'ordinateur comprenant un jeu d'instructions exécutables par un ordinateur pour mettre en oeuvre le procédé selon au moins une des revendications 7 à 12.