FR 2762424 A1 19981023 FR 9704782 A 19970417 CARTE A PUCE AVEC COMPTEUR, NOTAMMENT COMPTEUR D'UNITÉ OU DE GRATIFICATIONS, ET PROCÉDÉ DE MISE EN OEUVRE. L'invention a pour objet une carte à puce avec un compteur notamment un compteur d'unité ou de gratifications. Elle a également pour objet un procédé de mise en oeuvre d'une telle carte à puce. Cette carte à puce est dédiée à au moins une application. L'invention est également applicable dans le cas où la carte à puce est du type multi-applications: quand elle peut servir à son porteur à obtenir des services provenant de prestataires de services différents (location de voitures, distribution de boissons, consultation de bases de données). L'invention a pour objet de faciliter la diffusion commerciale des biens ou des services vendus et dont le paiement est effectué, ou accompagné, par la présentation de telles cartes à puce. Une application est l'ensemble des instructions et actions exécutées tant par un microprocesseur de la carte que par celui d'un lecteur de la carte, ou encore par les périphériques qui lui sont fonctionnellement reliés et qui mènent à la délivrance d'un bien ou d'un service. Il est connu, notamment dans la demande de brevet européen EP-A-O 311 495, une carte à puce munie d'un registre ou d'un compteur pour enregistrer l'état d'un crédit disponible pour le paiement avec la carte à puce. Il est en outre enseigné dans ce document de calculer des gratifications qui sont proportionnelles au produit du crédit disponible dans la carte par la durée pendant laquelle ce crédit a été inutilisé. Il est connu depuis d'autres systèmes de gratifications où des points sont attribués comme gratification au porteur de la carte, pas nécessairement d'une manière proportionnelle à un crédit résiduel. Les points sont comptabilisés dans la carte. L'état de la technique connaît donc des cartes à puce munies de différents compteurs: par exemple, un compteur de crédits renseignant sur les unités de paiement disponibles, et/ou un compteur de gratifications comptant les points attribués à la carte à puce. Quand le porteur décide d'acquérir des biens ou services conditionnés par un décompte de points, les points consommés sont déduits dans son compteur de gratifications. Le développement commercial nécessite de connaître la clientèle. Quand on connaît sa clientèle il est plus facile de lui faire des offres promotionnelles. Les offres promotionnelles représentent un certain coût pour un prestataire de services ou un vendeur de biens. Il convient de faire ces offres aux meilleurs clients, ou à des clients choisis. En effet si les offres sont faites d'une manière aléatoire, à quiconque, la fidélisation de la clientèle ne sera pas aussi réussie que si elle s'adressait de préférence à certains clients, triés sur la base de critères nombreux et précis. Hormis le compte des points disponibles dans le compteur de gratifications, il n'est pas actuellement possible de connaître suffisamment précisément le comportement d'un client vis-à-vis de l'achat des biens ou des services proposés par un vendeur pour faire des études de marketing et déterminer avec précision le profil de ce client. L'invention a pour objet de remédier à ce problème en proposant, dans le système d'exploitation des cartes à puces, soit sous forme matérielle, soit sous forme logicielle, la création de un ou plusieurs compteurs auxiliaires dont les cumuls vont prendre en compte les évolutions du compteur de crédit, et/ou du compteur de gratifications, et/ou de certains compteurs auxiliaires, et/ou méme l'occurrence de certains sous-programmes du programme de l'application. En variante, les compteurs d'une application sont même modifiés en fonction d'une autre application. Il devient possible alors, par exemple, de savoir si un client qui dispose d'un nombre donné de points de gratification dans son compteur de gratifications est un client qui achète peu (dans ce cas le solde de son compteur de gratifications correspond à un solde constitué depuis le début de l'existence de sa carte), ou au contraire à un client qui bénéficie souvent des offres promotionnelles. Auquel cas, pour un même solde, il a profité de beaucoup d'offres de services au cours desquels des points ont été décomptés de son compteur de gratifications. L'invention a donc pour objet une carte à puce a microprocesseur munie d'un programme pour exécuter une première application, et d'au moins un premier compteur, caractérisée en ce qu'elle comporte au moins un compteur auxiliaire dont le contenu est modifié par une action sur ce premier compteur ou par le décompte d'actions du programme d'application. L'invention a également pour objet un procédé pour mettre en oeuvre un compteur de gratifications dans une carte à puce comportant au moins un bloc compteur, chaque bloc compteur comportant un compteur de gratifications et au moins un compteur auxiliaire caractérisé en ce qu'il comporte des étapes consistant à - pour chaque compteur de gratifications, définir au moins un compteur auxiliaire associé dont le contenu est apte à être modifié par une action sur le compteur de gratifications correspondant, ou par le décompte d'actions d'un programme d'application; - définir des règles de modification du contenu dudit compteur auxiliaire en fonction de ladite action ou dudit décompte; - modifier le contenu dudit compteur auxiliaire en fonction de chaque action sur un compteur de gratification associé et/ou en fonction de chaque décompte d'actions d'un programme d'application. L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci ne sont données qu'à titre indicatif et nullement limitatif de l'invention. Les figures montrent: - Figure 1: la représentation schématique d'une carte à puce munie d'un dispositif de suivi statistique conforme à l'invention; - Figures 2a à 2d: des étapes essentielles de constitution de compteurs auxiliaires logiciels conformes à l'invention; - Figure 3: une généralisation de la définition des compteurs auxiliaires selon l'invention. La figure 1 montre une représentation schématique d'une carte 1 à puce munie d'un dispositif de suivi statistique selon 1 invention. La carte 1 à puce représentée comporte, dans la puce électronique (un circuit intégré électronique), un microprocesseur 2 en relation avec une mémoire programme 3 par l'intermédiaire d'un bus 4. Ce système comporte d'une manière connue une mémoire de données 5 et une interface 6 d'échanges avec le monde extérieur, un lecteur non représenté. Dans l'exemple représenté l'interface 6 comporte un connecteur électrique relié au bus 4. Il peut cependant s'agir pour l'interface 6 d'une connexion de type hertzien, infrarouge ou autre. La carte à puce 1 comporte, de préférence mais non nécessairement, un compteur 7 de crédits pour contenir une information relative à des unités de consommation disponibles avec la carte. Par exemple les crédits peuvent être des unités de consommation téléphonique dans le cas où la carte 1 est destinée à assurer de tels services. Les unités peuvent également être exprimées sous forme monétaire si la carte 1 est un porte-monnaie électronique. La carte 1 peut comporter selon l'invention un compteur 8 pour compter des gratifications, par exemple du type de celles évoquées ci-dessus. Ces gratifications prennent la forme de points enregistrés sous forme binaire dans le compteur 8. Les compteurs 7 et 8 sont reliés par le bus 4 au microprocesseur 2. La carte à puce de l'invention comporte au moins un de ces deux compteurs 7 ou 8. Eventuellement, elle les comporte tous les deux. Ou même, elle en comporte plusieurs d'au moins un de ces types pour comptabiliser des unités ou des gratifications de types différents. Selon les caractéristiques essentielles de l'invention le système d'exploitation de la carte comporte également au moins un autre compteur, auxiliaire, 9 dont le contenu est modifié par une action sur le compteur 7 de crédits, sur le compteur 8 de gratifications, ou même par l'exécution d'une instruction contenue dans le programme d'application mémorisé dans la mémoire 3. Le compteur auxiliaire 9 décompte dans ce dernier cas le nombre d'exécutions de ces instructions, et s'incrémente d'une unité à chaque fois. On appelle bloc compteur un ou plusieurs compteurs auxiliaires associés à un compteur de gratification et ou à un compteur d'unités dans une application. Dans le cas ou la carte comporte plusieurs compteurs de gratification, l'intérêt est de pouvoir modifier le contenu d'un compteur auxiliaire, non seulement en fonction du contenu d'un premier compteur de gratifications associé à une application, mais également en fonction d'un autre compteur de gratifications, associé à une autre application. Par exemple on créé alors des liens entre plusieurs blocs compteurs (compteur de gratifications + compteurs auxiliaires associés) pour des applications de développement commercial conjoint dites "co branding" dans la littérature anglo-saxonne. Un tel développement commercial conjoint se produit par exemple lorsqu'un nombre x de points de fidélité comptabilisés dans un compteur de gratifications pour une application de consommation de carburant produisent y points dans un compteur de gratifications pour une application de consommation dans une chaîne de restaurants. Dans ce cas, le compteur de gratification de la deuxième application peut être considéré comme un compteur auxiliaire (au sens de l'invention) de la première application. Dans l'exemple représenté, le compteur auxiliaire comporte quatre sous-compteurs: 10 à 13. Les compteurs 10 à 13 représentent respectivement un compteur de visites, un compteur de cumul de gratifications, un compteur de cumul de rédemptions et un compteur de cumul de services. Le compteur 10 de visites comptabilise le nombre de fois où le compteur 7 a été réduit: il compte le nombre des achats. Le compteur 11 de gratifications compte le cumul des points acquis, sans se préoccuper de leur éventuelle déduction. Le compteur 12 de cumul de rédemptions compte, au choix, les points de gratifications consommés, ou le nombre de promotions souscrites, ou même les deux (dans ce cas il est double). Le compteur 13 de cumul de services compte le nombre des utilisations d'un service particulier. Ces compteurs 10-13 peuvent être réalisés sous une forme matérielle. Dans un exemple, ils seront reliés par des connexions de commande 14 à 17 à l'organe dont ces compteurs sont chargés de surveiller l'évolution. On sait réaliser par des circuits de filtrage l'élaboration d'un signal qui viendrait s'additionner dans les compteurs 10 à 13 à chaque sollicitation correspondante. Par exemple, le compteur 7 de crédits est défalqué lors de la consommation des unités de consommation. Une opération de verrouillage du compteur 7, à l'issue de la déduction des unités consommées, peut donc faire apparaître des potentiels particuliers sur certaines bornes de ce compteur 7. I1 suffit alors, avec un circuit de filtrage de type décodeur, d'introduire le signal résultant de ce verrouillage dans le circuit de comptage correspondant (ici le souscompteur de visites 10). De préférence cependant, on préfère organiser les compteurs auxiliaires 10-13 sous une forme logicielle. Les figures 2a à 2d montrent le principe de réalisation de compteurs logiciels préférés de l'invention. I1 est par ailleurs possible de réaliser également le compteur 7 de crédits et le compteur 8 de gratifications sous une forme logicielle. Dans ce cas, ces compteurs comportent d'une part un registre non volatile qui peut être représenté schématiquement par les références 7,8 et 10 à 13 sur la figure 1, et d'autre part par un ensemble d'instructions présentes dans le programme mémorisé dans la mémoire 3. Dans ce cas, les compteurs 10-13 peuvent être du type boulier enregistré en mémoire non volatile. Le compteur 10 de visites, figure 2a, peut par exemple comporter dans sa réalisation logicielle une opération de test 18 mesurant l'évolution du compteur 7 de crédits. Soit le compteur 7 de crédits n'a pas été réduit soit il l'a été. S'il a été réduit, ceci signifie que le client a consommé des unités de consommation au cours d'une visite chez le fournisseur de biens ou de services. Dans ce cas, indépendamment des gratifications qui pourraient lui être accordées et qui correspondraient éventuellement à une proportion de la somme achetée (des unités de consommation dépensées), on va comptabiliser sa visite en augmentant d'une unité le compteur de visite 10. On modifie le contenu du registre 10 pour y ajouter une unité. Ceci est effectué à l'étape 19 dans le cas où le test 18 montre que le compteur de crédits a été diminué. Pour réaliser le test 1ô, il suffit, dans un exemple, au début de la transaction avec la carte à puce de mémoriser dans un des registres du microprocesseur l'état du compteur de crédits et de le comparer, avant la fin de l'opération (par exemple au moment du verrouillage), à l'état de ce compteur de crédits après la transaction. Ainsi, si la transaction n'a pas pu s'exécuter (montant des crédits insuffisant, indisponibilité de la prestation ou encore prestation gratuite), le compteur de crédits à l'issue présentera la même solde que celui qu'il présentait au début. Dans le cas contraire, avant de libérer la carte, le lecteur provoque l'incrémentation du compteur 10 par l'opération 19. S'il n'y a pas de compteur de crédits, on peut tout simplement comptabiliser le nombre de fois où la carte est introduite dans un lecteur. Dans un autre cas, figure 2b, on regardera si le compteur de gratifications a été augmenté dans une étape 20. Le cas échéant, dans une étape 21, on incrémentera le compteur 21 de cumul de gratifications. Dans ce cas, l'incrémentation sera de une ou de n unités selon qu'on voudra connaître le nombre total des gratifications acquises, ou simplement le nombre de fois où elles ont été acquises. Au besoin il y a même deux compteurs 11 pour surveiller ces deux solutions. Dans un troisième cas, figure 2c, au cours d'un test 22 on regardera si, au contraire, le compteur 8 de gratifications a été réduit. Si c'est le cas au cours d'une opération 23 on augmentera le compteur 12 de cumul de rédemptions, d'une unité ou de n unités, ici aussi selon le choix retenu. Les compteurs 10 à 12, de préférence, ne peuvent évoluer que dans un sens. D'une manière plus générale encore, figure 2d, dans un test 24 on cherchera à savoir si une instruction particulière provenant du programme mémorisé dans la mémoire 3 a été mise en oeuvre. On regardera en particulier si un service donné, conditionné par cette instruction, a été utilisé. Un service peut être par exemple une consultation d'un état de compte, une consultation d'un catalogue de produits offerts par le prestataire de services, ou autres. Du seul fait que l'instruction relative à ce service aura été lancée, on incrémentera par une opération 25 le compteur 13 de cumul de services d'une unité. Le test 24 peut par ailleurs être remplacé par un complément de l'instruction lancée et surveillée. En effet cette instruction, qui a pour effet de mettre à la disposition du porteur de la carte à puce un bien ou un service particulier, comporte un code instruction qui peut être complété par un code instruction complémentaire. Ce complément de code instruction peut, une fois entré dans le registre d'instructions du microprocesseur 2, provoquer l'incrémentation du compteur 13. Ce complément de code instruction correspond à cette instruction complémentaire 25. Dans ce cas il n'y a pas à proprement parler de test mais plutôt un fonctionnement obligatoire automatique. I1 est possible d'organiser la surveillance des mouvements des compteurs 7 et 8 de la même façon sans avoir à pratiquer les tests 18, 20 et 22. Dans ce cas, le système d'exploitation de la puce de la carte 1 comporte de préférence les codes instructions correspondants. L'état des compteurs 10 à 13 peut aussi être stocké dans un registre particulier, par exemple un registre 26 de la mémoire 5. De cette façon, à chaque fois que la carte 1 est mise en relation avec un lecteur, ce dernier prend connaissance du profil de consommation du porteur de la carte par lecture préalable de ce registre 26. Ce lecteur peut offrir à ce porteur des services particuliers ou des promotions. I1 est par ailleurs possible de comptabiliser le nombre de fois où le porteur de la carte a été sollicité par des promotions, et le nombre de fois où il les a saisi. On aménagera dans ces conditions des compteurs particuliers dans la carte. Dans le cas des développements commerciaux conjoints, avec au moins deux applications, on réalise dans une carte au moins un bloc compteur affecté à une première application. Selon un des schémas des figures 2a à 2d, on incrémente alors de 1 ou n unités l'un des compteurs de l'autre application (par exemple le compteur de gratifications) quand un compteur de la première application (compteur d'unités, de gratifications, de visites, de cumul de gratifications, de cumul de rédemptions ou de cumul de services) est sollicité. Ceci peut être réalisé avec un circuit spécial. De préférence, quand on met en oeuvre la première application, on peut le réaliser avec une séquence d'instructions du programme de l'autre application (un sous programme de cette autre application) lancée par le programme de cette première application. Plutôt que de modifier le compteur de gratifications de l'autre application, on peut bien entendu aussi modifier tout autre de ses compteurs auxiliaires, voire même le compteur d'unités de cette autre application. Cette manière de faire induit la nécessité, avec l'invention, de pouvoir créer dans la carte à puce d'autres compteurs auxiliaires. Dans ce cas le fonctionnement de ces compteurs ne sera pas figé par le système d'exploitation. Dans ce but, figure 3, on montre comment le programme contenu dans la mémoire 3 permet de mettre en oeuvre un sous-programme de définition des compteurs auxiliaires par une paramétrisation adéquate. La mise en oeuvre de cette paramétrisation nécessite de préférence un protocole de reconnaissance qui l'autorise. Un échange de code secret et de mot de passe particuliers entre le lecteur et la carte permet par exemple une telle reconnaissance. De tels protocoles sont connus dans l'état de la technique. Une fois que la paramétrisation est autorisée, le programme de paramétrisation demande par une étape 27 à l'opérateur la désignation du nom, du label, du compteur auxiliaire. Ce nom de compteur peut être l'un de ceux déjà proposés ci-dessus ou un nouveau nom imaginé par l'opérateur. Le nouveau nom imaginé peut correspondre, en clair, à une opération promotionnelle envisagée. Puis, le programme, au cours d'une étape 28, permet de désigner quel est l'élément surveillé par le compteur auxiliaire qu'on vient de créer. Comme indiqué ci-dessus l'élément surveillé peut être le compteur de gratifications, le compteur de crédits ou bien l'adresse d'une instruction contenue dans le programme mémorisé dans la mémoire 3. Le compteur surveillé peut être également un autre compteur auxiliaire qui vient d'être créé par une paramétrisation précédente ou un compteur d'une autre application. De cette façon, on créé si on le veut un lien entre les compteurs auxiliaires. Au cours d'une opération 29 suivante, les conditions d'incrémentation seront définies. Soit l'incrémentation est définie temporellement (par exemple elle est mensuelle), soit elle se produit tous les 10 évènements ou plus généralement tous les n événements surveilles. Dans ce cas, un compteur intermédiaire compte 10 ou n évènements surveillés intermédiaires avant de comptabiliser une unité dans le compteur auxiliaire concerné. Les conditions d'incrémentation des compteurs auxiliaires peuvent également être liés à la nature des biens ou services achetés. Par exemple on peut décider de compter trois unités de compteur auxiliaire pour des achats supérieurs à 100 unités de consommation et une unité du compteur auxiliaire pour les achats inférieurs à cette valeur. Les conditions d'incrémentation peuvent donc être des scénarios déjà préparés dans le programme de la mémoire 3. Elles peuvent aussi correspondre à des sous programmes téléchargés par le lecteur dans le mémoire 3. De préférence, les compteurs auxiliaires sont protégés. Ils ne sont pas accessibles directement par le lecteur en modification. Ils ne sont accessibles par lui qu'en lecture. Eventuellement, on peut prévoir qu'ils sont accessibles par ce lecteur pour une réinitialisation du fichier compteur 9 global. Au moment de la mise à jour des compteurs, on pourra prévoir de récupérer de l'espace mémoire, notamment dans la mémoire 5, en effaçant des registres ou fichiers compteurs qui ne sont plus utiles. Par exemple, on pourra décider d'effacer des compteurs auxiliaires dans l'ordre chronologique inverse de leur constitution, ou effacer des compteurs auxiliaires désignés. Le fichier compteur 9 est protégé par des conditions d'accès spécifiques pour chaque application. I1 peut s'agir de fonctions système ou de fonctions applicatives. Les conditions d'accès peuvent prendre plusieurs valeurs: accès libre, bloqué, autorisé sous présentation de codes confidentiels, par autorisation externe préalable, etc... De préférence, le système d'exploitation de la carte, ou du lecteur, est capable de produire une ou des signatures afin de valider les modifications réalisées sur le ou les compteurs auxiliaires. Ces signatures peuvent incorporer la date courante de transaction. Un label peut être attribué à un compteur auxiliaire. Ceci permet d'identifier une promotion particulière qui se déroule dans le temps sur une certaine période (par exemple une année). I1 est ainsi possible d'identifier par la suite les promotions périmées, et éventuellement de récupérer les points correspondants pour les attribuer à un nouveau comptage. Ainsi un fournisseur pourra munir ses lecteurs d'un micro-programme accomplissant d'une manière spécifique les instructions 27, 28, 29 de la figure 3 pour créer, dans chacune des cartes qui sont introduites dans ce lecteur, un compteur spécifique approprié à une promotion particulière. Dans ce cas chaque compteur 10 à 13 créé comportera de préférence des indications de date de début de la création et, le cas échéant, de date de fin de la promotion. Au moment d'une mise à jour, on peut se contenter de changer le nom, le label du compteur, de façon à reporter sur une nouvelle opération promotionnelle les points déjà acquis pour une autre opération. On peut modifier les dates des compteurs, par exemple, pour proroger une autre opération. Le label en pratique est mémorisé dans la mémoire 9 à une table de correspondance renseignant d'une part sur les labels et d'autre part sur les adresses, dans la mémoire 9, où sont situés les registres 10 à 13 qui représentent les compteurs associés à ces labels. REVENDICATIONS 1 - Carte à puce à microprocesseur munie d'un premier programme pour exécuter une application et d'au moins un premier compteur caractérisée en ce qu'elle comporte au moins un compteur auxiliaire dont le contenu est modifié par une action sur ce premier compteur ou par le décompte d'actions du premier programme d'application. 2 - Carte selon la revendication 1, caractérisée en ce qu'elle est munie d'un autre programme pour exécuter une autre application, d'un autre compteur associé à cette autre application, et de moyens pour modifier cet autre compteur associé à cette autre application par une action sur un des compteurs de la première application ou par le décompte d'actions du premier programme d'application. 3 - Carte selon la revendication 2, caractérisée en ce que le compteur associé à cette autre application est un compteur de gratifications ou un compteur auxiliaire de cette autre application. 4 - Carte selon l'une des revendications 1 à 3, caractérisée en ce que le premier compteur est un compteur de gratifications et en ce que le compteur auxiliaire comporte un compteur pour comptabiliser des gratifications cumulées. 5 - Carte selon l'une des revendications 1 à 4, caractérisée en ce qu'elle comporte un compteur de crédits et un compteur de gratifications en ce que le compteur auxiliaire comporte un compteur pour comptabiliser le nombre de fois où le compteur de crédits, ou bien le compteur de gratifications, est modifié dans un seul sens donné. 6 - Carte selon la revendication 5, caractérisée en ce que le compteur auxiliaire comporte un compteur pour comptabiliser le nombre de fois où le compteur de gratifications est modifié dans un sens opposé au seul sens donné. 7 - Carte selon l'une des revendications 1 à 6, caractérisée en ce que le compteur auxiliaire comporte un compteur pour comptabiliser le nombre de fois où une instruction du premier programme d'application est mise en oeuvre. 8 - Carte selon l'une des revendications 1 à 7, caractérisée en ce que le compteur auxiliaire ne peut évoluer que dans un sens. 9 - Carte selon l'une des revendications 1 à 8, caractérisée en ce que le compteur auxiliaire est du type boulier, enregistré en mémoire non volatile. 10 - Carte selon l'une des revendications 1 à 9, caractérisée en ce qu'elle comporte un registre (26) pour stocker l'état du ou des compteur auxiliaires. 11 - Carte selon l'une des revendications 1 à 10, caractérisée en ce que le programme pour exécuter une application comporte un sous programme pour définir un compteur auxiliaire. 12 - Carte selon l'une des revendications 1 à 11, caractérisée en ce que le compteur auxiliaire est protégé pour ne pas pouvoir être modifié par un lecteur de la carte à puce. 13 - Carte selon l'une des revendications 1 à 12, caractérisée en ce que le compteur auxiliaire est modifié sous condition, par exemple sous condition de date, sous condition d'état d'un autre compteur, d'un des deux compteurs de crédits ou de gratifications ou même d'un autre compteur auxiliaire. 14 - Procédé pour mettre en oeuvre un compteur de gratifications dans une carte à puce comportant au moins un bloc compteur, chaque bloc compteur comportant un compteur de gratifications. et au moins un compteur auxiliaire (10613) caractérisé en ce qu'il comporte des étapes consistant à - pour chaque compteur (8) de gratifications, définir au moins un compteur (11) auxiliaire associe dont le contenu est apte à être modifié par une action sur le compteur de gratifications correspondant, ou par le décompte d'actions d'un premier programme d'application; - définir des règles (18, 20, 22, 24) de modification du contenu dudit compteur auxiliaire en fonction de ladite action ou dudit décompte; - modifier (19, 21, 23, 25) le contenu dudit compteur auxiliaire en fonction de chaque action sur un compteur de gratification associé et/ou en fonction de chaque décompte d'actions du premier programme d'application. 15 - Procédé selon la revendication 14, caractérisé en ce que - on utilise la carte à puce pour une première application, et - on modifie le contenu du compteur auxiliaire associé à un compteur de gratifications d'une autre application, en fonction d'une action sur le compteur de gratification de la première application ou d'un décompte d'actions du premier programme d'application.