Brevet FR2882452A1 — publié le 20060825

La présente invention concerne un support de données et un procédé d'aide au développement d'applications logicielles pour une carte à puce de décodeur numérique de signaux de télévision. Plus précisément, l'invention concerne un support de données lisible par un ordinateur, du type comprenant des données pour le développement d'au moins une application logicielle destinée à être implémentée ou téléchargée au moins temporairement dans un décodeur numérique de signaux de télévision numérique comprenant: un lecteur de carte à puce, un pilote du lecteur de carte à puce, un système d'exploitation comportant au moins une fonction logicielle d'exploitation ayant un accès au pilote, dite fonction d'accès. Les fonctions logicielles d'exploitation ont notamment pour but d'assurer le fonctionnement du décodeur en accédant à différents composants matériels du décodeur. A cet effet, chaque composant matériel est associé à un pilote faisant office d'interface avec le système d'exploitation du décodeur. L'interaction entre le système d'exploitation et le pilote est assuré au moyen des fonctions d'accès. Un lecteur de carte à puce est un composant matériel qui est couramment intégré dans un décodeur numérique mais il n'existe pas nécessairement d'application logicielle le mettant en oeuvre. Les seules applications connues mettant en oeuvre le lecteur de carte à puce d'un décodeur numérique de télévision numérique sont des applications bancaire ou de contrôle d'accès. Ces applications sont des applications propriétaires qui ne peuvent pas être modifiées pour les adapter à des besoins spécifiques d'un utilisateur. Par conséquent, dans l'état de la technique, l'utilisation qui est faite du lecteur de carte à puce est limitée aux exemples précités. Or, on souhaite pouvoir développer des applications logicielles mettant en oeuvre un lecteur de carte à puce de décodeur numérique de signaux de télévision numérique pour d'autres usages. L'invention a pour but de fournir à un utilisateur des moyens pour développer des applications logicielles variées utilisant un lecteur de carte à puce, ceci à l'aide de moyens logiciels simples adaptés à l'environnement logiciel existant. A cet effet, l'invention a pour objet un support de données du type précité, caractérisé en ce qu'il comprend une bibliothèque de fonctions logicielles prédéfinies, au moins une fonction logicielle prédéfinie de cette bibliothèque comportant des moyens d'interaction avec le pilote du lecteur de carte à puce pour permettre le développement d'applications logicielles diverses mettant en oeuvre le lecteur de carte à puce, les moyens d'interaction comportant des instructions d'appel de la fonction d'accès. Ainsi, l'invention fournit un support de données lisible par ordinateur comportant une bibliothèque de fonctions logicielles prédéfinies grâce auxquelles il est possible de développer des applications logicielles diverses utilisant le lecteur de carte à puce pour des usages différents des usages connus. Ces applications sont par exemple des applications de pré-paiement, de fidélisation croisée ou d'identification et de personnalisation. De plus, l'invention tire profit des fonctions logicielles d'accès qui ont un accès au pilote du lecteur de carte à puce pour fournir des fonctions logicielles prédéfinies qui appellent ces fonctions d'accès pour interagir avec ce lecteur de carte à puce. Il suffit ensuite d'utiliser directement les fonctions logicielles prédéfinies de la bibliothèque ayant des moyens d'interaction avec le lecteur de carte à puce pour développer des applications utilisant ce lecteur pour des usages nouveaux. Selon un mode de réalisation particulier, le lecteur de carte à puce est destiné à être mis en oeuvre également par une première application développée par des moyens logiciels distincts des fonctions prédéfinies de la bibliothèque. Par exemple, la première application met en oeuvre le lecteur de carte pour un usage bancaire ou de contrôle d'accès. Un support de données selon l'invention peut en outre comporter l'une ou plusieurs des caractéristiques suivantes: les moyens d'interaction avec le pilote du lecteur de carte à puce de chaque fonction logicielle prédéfinie sont définis de manière à répondre aux exigences de la norme ISO 7816, aux exigences du consortium EMV ou aux exigences du standard italien CNS, CRS ou CIE; le système d'exploitation est adapté pour une gestion de l'interactivité dans le décodeur numérique de signaux de télévision numérique; le système d'exploitation est l'un quelconque des systèmes OpenTV , MediaHighway , MHP , Linux , Windows TV , Liberate ; Les fonctions logicielles prédéfinies de la bibliothèque comportent au moins l'un des éléments de l'ensemble constitué : É de fonctions d'ouverture et/ou de fermeture de sessions de communication entre une carte à puce insérée dans le lecteur et le décodeur numérique; É de fonctions d'initialisation de ces sessions de communication; É de fonctions d'accès en lecture ou écriture à des données stockées dans la carte à puce insérée dans le lecteur; É de fonctions de manipulation de données stockées dans la carte à puce insérée dans le lecteur; É de fonctions d'authentification de la carte insérée dans le lecteur. L'invention a également pour objet un procédé d'aide au développement d'applications logicielles destinées à être implémentées ou téléchargées au moins temporairement dans un décodeur numérique de signaux de télévision numérique comprenant: un lecteur de carte à puce, un pilote du lecteur de carte à puce, un système d'exploitation comportant au moins une fonction logicielle d'exploitation ayant un accès au pilote, dite fonction d'accès, caractérisé en ce qu'on fournit une bibliothèque de fonctions logicielles prédéfinies, au moins une fonction logicielle prédéfinie de cette bibliothèque interagit avec le pilote du lecteur de carte à puce pour permettre le développement d'applications logicielles diverses utilisant le lecteur de carte à puce, l'interaction comportant l'exécution d'instructions d'appel de la fonction logicielle d'accès. Un procédé selon l'invention peut en outre comporter la caractéristique selon laquelle, la bibliothèque de fonctions logicielles prédéfinies comprenant au moins une fonction logicielle de manipulation de données stockées dans une carte à puce insérée dans le lecteur, on définit au moins un objet composite manipulable par cette fonction logicielle et stockable dans la carte à puce. L'invention sera mieux comprise à la lecture de la description qui va suivre donnée uniquement à titre d'exemple et faite en se référant à la figure annexée qui représente schématiquement l'architecture matérielle et logicielle d'un décodeur numérique comprenant une application développée grâce aux fonctions de la bibliothèque du support de l'invention. On considère par la suite un décodeur numérique de signaux de télévision numérique. L'architecture matérielle et logicielle d'un tel décodeur est représentée schématiquement sur la figure. Le décodeur comprend, d'une part, une couche matérielle 10, et d'autre part, une couche logicielle 12. La couche matérielle 10 est constituée de différents éléments, comme par exemple une carte mère, un modem, des ports de connexion, un afficheur à diode électroluminescente, ou un lecteur de carte à puce. Le décodeur comprend par exemple deux lecteurs de carte à puce 14 et 16. Le premier lecteur 14 est mis en oeuvre par une application 15 de contrôle d'accès. Le second lecteur 16 est par exemple mis en oeuvre par une application bancaire 17. La couche logicielle 12 du décodeur numérique comprend tous les éléments applicatifs assurant le fonctionnement du décodeur, notamment le fonctionnement des éléments de la couche matérielle 10. En particulier, la couche logicielle 12 comprend un système d'exploitation 18 comportant une pluralité 20 de fonctions logicielles d'exploitation qui ont notamment pour but d'assurer le fonctionnement du décodeur en accédant aux différents éléments de la couche matérielle 10. A cet effet, chaque composant matériel 14, 16 est associé à un pilote 22, 24 constituant une interface avec le système d'exploitation 18. Les pilotes 22, 24 et le système d'exploitation 18 ne sont pas toujours utilisés par les applications qui mettent en oeuvre les lecteurs de carte. Par exemple, l'application 15 de contrôle d'accès est une application propriétaire de la couche logicielle 12 qui accède directement au premier lecteur 14 sans utiliser les couches logicielles intermédiaires constituées par le système d'exploitation 20. Parmi la pluralité 20 de fonctions logicielles d'exploitation, il existe au moins une fonction logicielle d'exploitation 34 ayant un accès au pilote 24 du lecteur 16 de carte à puce à usage bancaire, dite fonction d'accès. Un exemple de fonction d'accès 34 ayant un accès au pilote 24 est par exemple la fonction connue sous le nom de Device_IO, sous l'environnement MediaHighway 8. Cette fonction, qui concerne les accès de type asynchrone, sert de façon classique pour accéder aux informations de différents éléments du décodeur, tels qu'un port de connexion, le modem, l'afficheur à diode électroluminescente. L'invention a pour but de permettre à un utilisateur de développer des applications logicielles variées utilisant le lecteur de carte à puce 16 en dehors des usages connus. L'invention fournit donc un support de données comportant une bibliothèque de fonctions logicielles prédéfinies 32 pour permettre le développement d'une application logicielle quelconque utilisant le lecteur 16. Au moins une des fonctions logicielles prédéfinies 32 est conçue pour interagir avec le pilote 24 du lecteur 16 de carte à puce à usage bancaire en utilisant des appels de la fonction d'accès 34. Ce support de données peut être un support matériel de stockage, par exemple un CD-ROM, une clé USB, une disquette magnétique ou un disque dur, ou bien un support transmissible tel qu'un signal électrique, optique ou radio. A partir de ces fonctions logicielles prédéfinies 32, un utilisateur peut concevoir une application logicielle 30 qui est implémentée ou téléchargée au moins temporairement dans le décodeur numérique. Grâce à l'invention, il est alors possible de développer des applications diverses qui mettent en oeuvre le lecteur de carte à puce pour un autre usage que les usages connus. Le décodeur numérique représenté sur la figure comprend l'application logicielle 30 développée à l'aide de plusieurs fonctions logicielles prédéfinies 32 de la bibliothèque fournie. Les moyens d'interaction avec le pilote 24 du lecteur de carte à puce 16 de chaque fonction logicielle prédéfinie 32 sont définis de manière à répondre aux exigences de la norme ISO 7816. De façon optionnelle, les moyens d'interaction sont définis de manière à répondre aux exigences du consortium EMV. EMV est une recommandation promue par le consortium EMVCo en application de la norme ISO 7816-4 et suivantes. Les moyens d'interaction peuvent également être définis de manière à répondre au exigences du standard italien CNS (de l'italien Carte Nazionale dei Servizi), CRS (de l'italien Carte Regionale dei Servizi) ou CIE (de l'italien Carte d'ldentita Elettronica). Chaque bibliothèque prédéfinie fournie par l'invention est conçue pour fonctionner avec un système d'exploitation particulier. Plusieurs bibliothèques de fonctions logicielles prédéfinies peuvent donc être prévues pour fonctionner avec plusieurs systèmes d'exploitation, tel que le système OpenTV O, MediaHighway O, MHP O, Linux O, Windows TV O ou Liberate O. Pour simplifier la manipulation de données stockées dans une carte à puce insérée dans le lecteur de carte à puce 16, ces données sont par exemple stockées sous la forme d'objets composites, c'est-à-dire d'objets structurés prédéterminés comportant des donnés de types différents. Grâce à ces objets composites, le travail du développeur est facilité. En effet, les fonctions logicielles prédéfinies 32 de la bibliothèque sont alors conçues pour manipuler ces mêmes objets composites. Parmi les fonctions permettant l'utilisation du lecteur de carte à puce 16 pour des applications autres que les applications prédéterminées, on trouve des fonctions d'ouverture et/ou de fermeture de sessions de communication entre une carte à puce insérée dans le lecteur et le décodeur numérique, des fonctions d'initialisation de ces sessions de communication, des fonctions d'accès en lecture ou en écriture à des données (par exemple des objets composites) stockées dans la carte à puce insérée dans le lecteur, des fonctions de manipulation de ces données, et des fonctions d'authentification de la carte insérée dans le lecteur. Il apparaît clairement qu'un support de données comportant une bibliothèque de fonctions logicielles prédéfinies selon l'invention permet de développer des applications logicielles 30 diverses pour l'utilisation interactive d'un lecteur de carte à puce d'un décodeur numérique. On notera que l'invention permet le développement d'applications logicielles diverses mettant en oeuvre le lecteur de carte à puce et son contenu. REVENDICATIONS 1. Support de données lisible par un ordinateur, du type comprenant des données pour le développement d'au moins une application logicielle (30) destinée à être implémentée ou téléchargée au moins temporairement dans un décodeur numérique de signaux de télévision numérique comprenant: un lecteur (16) de carte à puce, - un pilote (24) du lecteur (16) de carte à puce, - un système d'exploitation (18) comportant au moins une fonction logicielle d'exploitation (34) ayant un accès au pilote (24), dite fonction d'accès (34), caractérisé en ce qu'il comprend une bibliothèque de fonctions logicielles prédéfinies (32), au moins une fonction logicielle prédéfinie (32) de cette bibliothèque comportant des moyens d'interaction avec le pilote (24) du lecteur (16) de carte à puce pour permettre le développement d'applications logicielles diverses mettant en oeuvre le lecteur (16) de carte à puce, les moyens d'interaction comportant des instructions d'appel de la fonction d'accès (34). 2. Support de données selon la revendication 1, dans lequel le lecteur (16) de carte à puce est destiné à être mis en oeuvre également par une première application développée par des moyens logiciels distincts des fonctions prédéfinies de la bibliothèque. 3. Support de données selon la revendication 2, dans lequel la première application met en oeuvre le lecteur de carte pour un usage bancaire ou de contrôle d'accès. 4. Support de données selon l'une quelconque des revendications 1 à 3, dans lequel les moyens d'interaction avec le pilote (24) du lecteur (16) de carte à puce de chaque fonction logicielle prédéfinie sont définis de manière à répondre aux exigences de la norme ISO 7816, aux exigences du consortium EMV ou aux exigences du standard italien CNS, CRS ou CIE. 5. Support de données selon l'une quelconque des revendications 1 à 4, dans lequel le système d'exploitation (18) est adapté pour une gestion de l'interactivité dans le décodeur numérique de signaux de télévision numérique. 6. Support de données selon la revendication 5, dans lequel le système d'exploitation (18) est l'un quelconque des systèmes de l'ensemble constitué par OpenTV , MediaHighway , MHP , Linux , Windows TV , Liberate . 7. Support de données selon l'une quelconque des revendications 1 à 6, dans lequel les fonctions logicielles prédéfinies (32) de la bibliothèque comportent au moins l'un des éléments de l'ensemble constitué : de fonctions d'ouverture et/ou de fermeture de sessions de communication entre une carte à puce insérée dans le lecteur et le décodeur numérique; de fonctions d'initialisation de ces sessions de communication; de fonctions d'accès en lecture ou écriture à des données stockées dans la carte à puce insérée dans le lecteur; de fonctions de manipulation de données stockées dans la carte à puce insérée dans le lecteur; de fonctions d'authentification de la carte insérée dans le lecteur. 8. Procédé d'aide au développement d'applications logicielles destinées à être implémentées ou téléchargées au moins temporairement dans un décodeur numérique de signaux de télévision numérique comprenant: un lecteur (16) de carte à puce, un pilote (24) du lecteur (16) de carte à puce, un système d'exploitation (18) comportant au moins une fonction logicielle d'exploitation (34) ayant un accès au pilote (24), dite fonction d'accès (34), caractérisé en ce qu'on fournit une bibliothèque de fonctions logicielles prédéfinies (32), au moins une fonction logicielle prédéfinie (32) de cette bibliothèque interagit avec le pilote (24) du lecteur (16) de carte à puce pour permettre le développement d'applications logicielles diverses utilisant le lecteur (16) de carte à puce, l'interaction comportant l'exécution d'instructions d'appel de la fonction logicielle d'accès (34). 9. Procédé selon la revendication 8, dans lequel la bibliothèque de fonctions logicielles prédéfinies (32) comprenant au moins une fonction logicielle de manipulation de données stockées dans une carte à puce insérée dans le lecteur (16), on définit au moins un objet composite manipulable par cette fonction logicielle et stockable dans la carte à puce.