FR 2872361 A1 20051230 FR 0451330 A 20040625 PROCEDE DE RESERVATION ELECTRONIQUE ET DE VERIFICATION DE RESERVATION POUR DIFFERENTS SITES, SYSTEME ELECTRONIQUE DE RESERVATION ET DE VERIFICATION AUTONOME POUR LA MISE EN UVRE DU PROCEDE. L'invention concerne un procédé de réservation électronique et de vérification de réservation pour différents sites et un système de réservation et de vérification autonome pour la mise en oeuvre du procédé. L'invention s'applique à la gestion informatique de planning de réservation locative pour un ou plusieurs accès. Il peut s'agir par exemple de réservations uniques ou cycliques sur une période fixée permettant à un client de pouvoir disposer d'un local, par exemple une salle de sport, de manière à en disposer selon la réservation faite auprès de l'organisme qui gère les locaux. On ne connaît pas à ce jour de système électronique de réservation et de vérification autonome d'une réservation tant pour des réservations ayant un caractère unique que cyclique. La présente invention a pour but de remédier à ce problème. La présente invention a pour objet un procédé de réservation et de vérification électronique mis en oeuvre par un système de réservation et un système de vérification autonome afin de donner des droits au titulaire d'une réservation, ces droits étant vérifiés par le système de vérification, le procédé comprenant: - la génération par le système de réservation d'un code 25 d'accès porteur d'un message contenant des données correspondant aux propriétés de la réservation, - la communication de ce code d'accès à l'utilisateur ayant demandé une réservation, 0157-PONS API Conseil - la communication du code d'accès par l'utilisateur au système de vérification, - la vérification des droits par décodage du code d'accès, - la gestion d'une base de données comprenant le calendrier de toutes les réservations par le système de réservation, - la mise à jour de la base de donnée à chaque attribution d'un nouveau code d'accès ou d'annulation d'une réservation, le code d'accès annulé étant communiqué au système de réservation. Selon une autre caractéristique, la mise à jour de la base de données consiste pour le système de réservation à enregistrer les propriétés d'une nouvelle réservation ou à annuler les propriétés d'une réservation existante sur communication du code d'annulation correspondant, ce code d'annulation ayant été fourni par le système de vérification sur communication par l'utilisateur de son code d'accès et demande explicite de sa part d'une annulation à l'aide de l'interface du système de vérification. Dans le cas de réservations non cycliques, les propriétés de réservation comportent au moins un instant de départ et une durée. Dans le cas de réservations cycliques, les propriétés 25 de réservation comportent en outre un cycle et un nombre d'occurrence. Les propriétés de réservation (message contenu dans le dit code d'accès) permettent de définir des droits d'accès et en outre peuvent donner la possibilité d'utiliser ou de déclencher automatiquement ou non diverses installations tel que l'éclairage, le chauffage ou tout autre dispositif à commande électrique en supplément au droit d'accès. Les droits d'accès et autres seront dénommés "droits" dans la suite. 0157-PONS API Conseil Selon une autre caractéristique, la génération du code d'accès comporte la compression des données correspondant aux propriétés de la réservation, le calcul d'une donnée de contrôle de validité de ces données, le cryptage du message compressé au moyen d'une fonction de cryptage et d'une clé d'identification du système de vérification de ce code d'accès. Dans le cas d'un message cyclique, on associe au message un numéro de version permettant au système de réservation en cas d'annulation d'une réservation, de réutiliser les mêmes propriétés de réservation pour un autre message que celles de la réservation annulée et de lui adjoindre un numéro de version différent de sorte que le code généré porteur du nouveau message soit différent de celui du message initial. Dans un exemple préféré du code d'accès comporte correspondant aux propriétés d'une donnée de contrôle de cryptage du message au moyen d'une clé d'identification du de réalisation, la génération la compression des données de la réservation, le calcul validité de ces données, le d'une fonction de cryptage et système de vérification. On prévoit en outre dans une variante de modifier la clé d'identification par une combinaison avec une donnée telle que la donnée de contrôle pour les réservations non cycliques, ou que le numéro de version dans le cas d'un message cyclique avec éventuellement dans l'un ou l'autre cas, une donnée correspondant à la période en cours, le code généré ainsi obtenu correspond au message crypté avec cette clé modifiée auquel on concatène la donnée de contrôle ou le numéro de version en clair selon le cas. Un autre objet de la présente invention concerne un système de réservation électronique comportant: - des moyens de génération pour une réservation donnée, d'un code d'accès porteur d'un message contenant des données 35 correspondant aux propriétés de la réservation, 0157-PONS API Conseil des moyens de gestion d'une base de données comprenant le calendrier de toutes les réservations effectuées, - des moyens de mise à jour de la base de données à 5 chaque attribution d'un nouveau code d'accès ou d'annulation d'une réservation, - des moyens d'enregistrement de chaque code d'accès sur un support d'information. Le support peut être un ticket imprimé ou une carte 10 magnétique ou électronique ou une clé USB ou un dispositif émetteur à fréquence vocale de type DTMF. Le système de réservation est réalisé au moyen d'un serveur comprenant un programme pour la génération de code d'accès, la mise à jour de la base de données et l'enregistrement des codes sur les supports d'information, ce serveur comprenant des moyens de connexion à un réseau de communication. L'invention a également pour objet un système de vérification électronique de réservations comprenant des moyens de décodage de code d'accès générés par le système de génération, des moyens de mémorisation des codes d'accès valides et des moyens d'annulation de codes enregistrés, des moyens de génération de codes d'annulation à la demande de l'utilisateur pour chaque code d'accès, ces codes pouvant à leur tour être validés par le système de réservation permettant ainsi la gestion du calendrier, si nécessaire la génération d'une nouvelle version de code. D'autres particularités et avantages de l'invention apparaîtront clairement à la lecture de la description qui est faite ci-après et qui est donnée à titre d'exemple illustratif et non limitatif et en regard des figures sur lesquelles: 0157-PONS API Conseil 2872361 5 - la figure 1, le schéma d'un système de réservation électronique et de vérification, - la figure 2, le schéma détaillé des étapes mises en oeuvre pour la génération d'un code d'accès dans le cas d'une 5 réservation unique c'est- à-dire non périodique, - la figure 3, le schéma détaillé des étapes mises en oeuvre pour la génération d'un code d'accès dans le cas d'une réservation périodique, - la figure 4, le schéma détaillé des étapes mises en oeuvre pour le décodage d'un message dans le cas d'une réservation unique c'est-à-dire non périodique (message court), - la figure 5, le schéma détaillé des étapes mises en oeuvre pour le décodage d'un message dans le cas d'une 15 réservation unique c'est-à- dire périodique (message long). Dans la description qui va suivre, le procédé est appliqué à la réservation de sites S1, S2, ...Sn dédiés à du sport tels que des salles de gymnastique ou que des terrains de tennis ou que des trinquets. Bien entendu l'invention s'applique à la réservation de tout autre site. Le système permettant de mettre en uvre l'invention comporte le système de réservation 1 qui est apte d'une part à gérer le calendrier des réservations et d'autre part à générer les codes d'accès et des systèmes de vérification autonomes 20, 2i, ...2n implantés sur les différents sites pour la vérification des codes d'accès Ci, ...Cn délivrés aux utilisateurs et porteur du message contenant les données correspondant aux propriétés de la réservation. Le système de réservation est réalisé dans cet exemple par un ordinateur 11 de type PC muni de moyens de mémorisation comme par exemple une base de données 12 dans laquelle sont enregistrées les réservations et les clés d'identification K1, K2, Kn des différents sites gérés. 0157-PONS API Conseil 2872361 6 L'ordinateur 11 comporte en outre en mémoire de programme 13, un programme G de gestion de réservation de différents sites et de génération de codes d'accès et également une fonction de cryptage F de type connu. Le programme de gestion G comporte une interface homme-machine se présentant sous la forme d'un affichage à l'écran 14 de fenêtres permettant à un opérateur de sélectionner les choix possibles pour un utilisateur. Chaque code est obtenu à partir de la clé 10 d'identification K1... Kn du système de vérification capable de décoder le message. Ainsi le système de vérification S1,...Sn destiné à vérifier les droits procurés par un code d'accès sera seul capable et de façon autonome de décoder le message contenu dans le code d'accès qui lui est communiqué par l'utilisateur afin de vérifier les propriétés de la réservation. Le système de réservation 1 peut être accessible au public à distance à travers un réseau informatique de type Internet ou intranet par exemple. Dans ce cas chaque utilisateur communique les propriétés de la réservation à travers ce réseau pour obtenir un code d'accès porteur du message contenant les propriétés de la réservation. Dans le cas où le système de réservation n'est pas accessible à distance, l'utilisateur passe par un opérateur qui saisi les propriétés de la réservation directement sur le système 1. Dans les deux cas, l'opérateur (qu'il s'agisse de l'utilisateur ou d'un tiers) sélectionne à partir de l'interface homme-machine du système de réservation 1, les choix concernant la réservation. Le système 1 comporte dans sa base de données le calendrier des réservations existantes pour chaque site et donc les différentes disponibilités. Lorsque les propriétés de la réservation sont acceptées par l'utilisateur, le 0157-PONS API Conseil 2872361 7 système déclenche la génération d'un code d'accès résultant de la solution retenue et qui correspond aux propriétés de la réservation pour cet utilisateur, contenu dans le message formé. Le message est de préférence comprimé pour réduire sa taille de façon classique par une fonction de compression f puis crypté par la fonction de cryptage F avec la clé de cryptage qui correspond précisément à la clé d'identification du site pour lequel la réservation a été faite. Ainsi, seul le système de vérification de ce site pourra vérifier le code d'accès. Le message peut comprendre comme cela est détaillé dans la suite, la tranche horaire choisie, la période, le type de réservation à savoir cyclique ou non cyclique ainsi que le nombre d'heures. Dans le cas où il s'agit d'une réservation unique, non cyclique, seule la tranche horaire et le jour sont renseignés dans le message. Pour préserver la sécurité et l'unicité de chaque code d'accès, on modifie la clé d'identification par une opération logique avec une donnée telle que la donnée de contrôle calculée par le système ou le numéro de version du message et éventuellement la période de réservation. La période peut être une année ou un mois, ceci permettra alors de faire évoluer la clé des mois ou des années. Le code d'accès généré se présente sous la forme d'un code alphanumérique enregistré sur un support 30 de mémorisation. Ce support 30 peut être par exemple un ticket sur lequel est imprimé le code, l'utilisateur qui se présente devant un système de vérification doit pour communiquer le code, saisir le code sur le clavier du système. Le code d'accès peut être enregistré sur un support 30 de type carte magnétique ou carte à puce, la communication au système de vérification se fait alors par insertion de la 0157-PONS API Conseil 2872361 8 carte au système de vérification qui comporte des moyens de lecture adaptée. Le code peut être enregistré sur une clé USB, la communication du code se fait alors par connexion de la clé à un port USB du dispositif de vérification, ce dernier étant en outre équipé d'une interface USB pour communiquer avec la clé. Le système de vérification S1, ...Sn comprend des moyens de traitement et de mémorisation du type circuit intégré CI comportant une unité centrale et des mémoires, mémoires de programme et mémoire de données M1...Mn. Ce circuit intégré Dl, ...Dn permet de réaliser les fonctions de décodeur et de vérification, il comporte à cette fin un programme V, la fonction de décryptage DF, les clés d'identifications. Chaque système de vérification comporte une interface de communication correspondant à l'une ou l'autre des variantes indiquée ci-dessus pour communiquer le code d'accès. Ainsi chaque décodeur possède la ou les clé(s) 20 d'identification du ou des site(s) pour lequel il est chargé de vérifier les ou l'accès et la fonction de décryptage DF associée à la fonction de cryptage F. Dans le cas où le décodeur possède plusieurs clés d'identification, chaque clé correspond à un accès. Le système de vérification est alors raccordé à différents accès sur un même site: différentes gâches électriques par exemple. Bien entendu, le système de réservation effectue une mise à jour de la base de données - à chaque attribution d'un nouveau code d'accès; - à chaque annulation d'une réservation par un code d'annulation communiqué par le système de vérification via l'utilisateur. Chaque système de vérification Sl,...,Sn effectue une mise à jour automatique de la mémoire Ml, ..., Mn contenant les 0157-PONS API Conseil 2872361 9 codes à chaque annulation d'un code d'accès par l'utilisateur. Sur la figure 2 les étapes I à VII illustrent les 5 différentes opérations mises en oeuvre pour le codage du message c'est-à-dire la génération d'un code d'accès lorsque le message dit message court correspond à une réservation unique: I- Données relatives aux propriétés du message à savoir un instant de départ et la durée de l'accès, II- Compression des données, III- Message porteur de l'information concernant la réservation, compressé, IV- Calcul d'une donnée de contrôle par exemple par une opération de "check somme", V- Modification de la clé d'identification par décalage ou opération logique à l'aide de la donnée de contrôle et éventuellement d'une donnée correspondant à la période de la réservation telle que par exemple l'année, le semestre ou le jour de la semaine en cours, VI- Cryptage du message compressé au moyen de la fonction de cryptage et de la clé d'identification modifiée, VII- Code d'accès délivré concaténé à la donnée de contrôle (check somme). Sur la figure 3, les étapes I à VII illustrent les 30 différentes opérations mises en uvre pour le codage du message lorsque le message dit message long correspond à une réservation cyclique: 0157-PONS API Conseil 2872361 10 Les différences par rapport à l'exemple précédent portent sur les données figurant en tant que propriétés de la réservation puisque dans ce cas le message I comprend en outre le cycle et le nombre d'occurrences. En outre dans ce cas la clé d'identification est modifiée par décalage ou opération logique au moyen d'un numéro de version du message (numéro de réservation par exemple) et éventuellement de la période telle que par exemple l'année, le semestre ou le jour de la semaine en cours. Le code délivré à l'utilisateur correspond au message crypté concaténé au numéro de version non crypté de manière à ce que le décodeur puisse retrouver la clé modifiée. Sur les figures 4 et 5 on a illustré les étapes de 15 concernant les opérations de décodage respectif du code d'accès communiqué à un décodeur. La figure 4 illustre les étapes VIII à XIX opérées pour le décodage dans le cas d'un message court: VIII-entrée du code d'accès par l'utilisateur soit en 20 le saisissant soit au moyen du support de mémorisation, IXobtention du message codé avec la donnée de contrôle, X- Obtention de la donnée de contrôle, XI- Obtention du message codé, XII- obtention de la clé modifiée à partir de la clé d'identification enregistrée dans le système de la donnée de contrôle et éventuellement de la période en cours, XIII-décryptage du message, XIV- obtention du message XV- vérification de la cohérence du message avec la donnée de contrôle, 0157-PONS API Conseil XVI- décompression du message, XVII-rejet du message en cas d'incohérence, XVIII- traitement du message, autorisation ou non selon que la réservation est valable ou non. La figure 5 illustre les étapes VIII à XIX du décodage d'un message long. Ces étapes différent dans le contenu des informations résultant de ces étapes mais non dans le principe. IX- séparation du numéro de version et du message codé, 10 X- obtention du numéro de version, XI- obtention du message codé avec la donnée de contrôle, XII- obtention de la clé modifiée à partir de la clé d'identification enregistrée dans le système, du numéro de 15 version et éventuellement de la période en cours. Le programme de gestion G gère en outre un compte en point pour chaque utilisateur. Ce compte est ouvert lors d'une première réservation. Le compte est décrémenté du nombre de points correspondant à la réservation et en fonction du tarif horaire pratiqué par le site concerné par la réservation. De façon pratique pour la vérification du code d'accès l'utilisateur saisit la première fois son code d'accès complet sur le clavier du système de vérification qui procède au décodage pour la vérification des propriétés de la réservation. Lorsque le résultat est accepté, le système enregistre le code d'accès et la clé d'identification ayant servi au cryptage et qu'il a pu calculer. Les fois suivantes, l'utilisateur n'a pas besoin de saisir le code d'accès complet avec la donnée de contrôle (vérification d'intégrité) ou à la donnée relative au numéro de version puisque le code a été enregistré avec la clé d'identification retrouvée, mais seulement le code d'accès. 0157-PONS API Conseil 2872361 12 Selon le procédé, chaque utilisateur ayant effectué une réservation cyclique peut à tout moment annuler cette réservation auprès du système de vérification. Pour cela l'utilisateur saisit sur le clavier du système de vérification le code d'accès complet c'est-à-dire le code généré et le numéro de version. Le système reconnaît de cette façon une demande d'annulation d'une réservation déjà mémorisée et demande une confirmation de l'annulation. Le système pointe l'enregistrement du code d'accès correspondant comme invalide et délivre à chaque nouvelle tentative de saisie de cette version de code annulé le code d'annulation déjà délivré. L'utilisateur peut ensuite communiquer cette information au système de réservation afin de libérer le calendrier correspondant à la réservation et le solde de ses points lui est communiqué. Selon un autre mode de réalisation le système de réservation peut être accessible à distance à travers un réseau de communication tel qu'un réseau Intranet ou Internet. Le programme G permettant de mettre en oeuvre les réservations selon l'invention est implanté sur le serveur 1 connecté par un module de connexion CX classique au réseau de communication. Le système permet ainsi d'effectuer des réservations à distance. Cela permettra directement à l'utilisateur de réserver sans l'intervention d'un opérateur. Dans une variante, le serveur peut être un serveur vocal accessible par le réseau téléphonique. On prévoit alors un détecteur de fréquences vocales via un microphone sur le support d'information pour enregistrer le code d'accès. 0157-PONS API Conseil Le dispositif support d'information pourra être un téléphone mobile par exemple qui sera utilisé pour communiquer le code d'accès au dispositif de vérification. L'utilisateur aura aussi la possibilité de télécharger 5 ses codes sous forme de sonneries sur un serveur vocal ou sur Intranet ou Internet. Dans ce cas les réservations pourront être facturées via un opérateur téléphonique assurant ainsi leur règlement. Dans une autre variante du procédé, il est prévu de 10 prédéfinir plusieurs classes pour les clés d'identification Une classe de clés d'identification normalisée est sélectionnée selon le profil du système de réservation. Chaque classe est définie en fonction du format du contenu du message inclus dans le code d'accès. A l'installation du programme de réservation sur le système, l'opérateur choisit une fois pour toutes, un profil adapté à ses besoins. Par exemple chaque classe normalisée peut correspondre à des tranches horaires d'un certain type: multiple de 24 heures ou d'une heure pour des locations à la journée ou à l'heure, ou/et correspondre à des choix de cycles de réservation différents et/ou contenir des informations supplémentaires tel que droit à l'éclairage ou au chauffage etc. ... La classe sélectionnée permet au système de réservation de générer en conséquence la clé d'identification seulement à la mise en service d'un nouvel accès. Cette clé est ensuite figée. Le programme embarqué sur le système de vérification ne nécessite aucune option d'installation. Il est simplement nécessaire à sa mise en service de paramétrer une fois pour toutes les clés d'identification générée par le système de réservation. Le programme reconnaît alors la classe de cette clé et décode les codes d'accès et en extrait leur message contenu en fonction de cette classe. 0157-PONS API Conseil REVENDICATIONS 1. Procédé de réservation et de vérification électronique mis en oeuvre par un système de réservation et 5 un système de vérification afin de donner des droits au titulaire d'une réservation, ces droits étant vérifiés par le système de vérification, le procédé comprenant: - la génération par le système de réservation d'un code d'accès porteur d'un message contenant des données correspondant aux propriétés de la réservation, le codage du message étant réalisé avec une clé d'identification du système de vérification capable d'effectuer le décodage, - la communication de ce code d'accès à l'utilisateur ayant demandé une réservation, - la communication du code d'accès par l'utilisateur au système de vérification, - la vérification des droits par décodage du code d'accès, - la gestion d'une base de données comprenant le 20 calendrier de toutes les réservations par le système de réservation, la mise à jour de la base de données à chaque attribution d'un nouveau code d'accès ou d'annulation d'une réservation, le code d'annulation étant communiqué au système de réservation. 2. Procédé de réservation électronique mis en oeuvre par un système de réservation selon la revendication 1, caractérisé en ce que la mise à jour de la base de données consiste pour le système de réservation à enregistrer les propriétés d'une nouvelle réservation ou à annuler les propriétés d'une réservation existante sur communication du code d'annulation correspondant, ce code ayant été annulé 0157-PONS API Conseil 2872361 15 également par le système de vérification sur communication par l'utilisateur de son code d'accès et demande explicite. 3. Procédé de réservation électronique mis en uvre par un système de réservation selon la revendication 1 ou 2, caractérisé en ce que les propriétés de réservation comportent au moins un instant de départ et une durée. 4. Procédé de réservation électronique mis en oeuvre par un système de réservation selon la revendication 3, caractérisé en ce que les propriétés de réservation comportent en outre un cycle, le nombre d'occurrence. 5. Procédé de réservation électronique mis en uvre par un système de réservation selon l'une quelconque des revendications précédentes, caractérisé en ce que la génération du code d'accès comporte la compression des données correspondant aux propriétés de la réservation, le calcul d'une données de contrôle de validité de ces données, le cryptage du message compressé au moyen d'une fonction de cryptage et d'une clé d'identification du système de vérification de ce code d'accès. 6. Procédé de réservation électronique mis en uvre par un système de réservation selon l'une quelconque des revendications précédentes, caractérisé en ce dans le cas d'un message cyclique, on associe au message un numéro de version permettant au système de réservation en cas d'annulation d'une réservation de réutiliser les mêmes propriétés de réservation pour un autre message que celles de la réservation annulée et de lui adjoindre un numéro de version différent de sorte que le code généré porteur du nouveau message soit différent de celui du message initial. 0157-PONS API Conseil 7. Procédé de réservation électronique mis en uvre par un système de réservation selon les revendications 5 et 6, caractérisé en ce que la clé d'identification est modifiée par une combinaison avec une donnée telle que la donnée de contrôle pour les réservations non cycliques, ou que le numéro de version dans le cas d'un message cyclique avec éventuellement dans l'un ou l'autre cas, la période en cours, le code généré obtenu correspond au message crypté avec cette clé modifiée auquel on concatène la donnée de contrôle ou le numéro de version en clair. 8. Système de réservation électronique, caractérisé en ce qu'il comprend: - des moyens de génération (11, 13, G) pour une réservation donnée, d'un code d'accès porteur d'un message contenant des données correspondant aux propriétés de la réservation, - des moyens de gestion (11, G) d'une base de données 20 (12) comprenant le calendrier de toutes les réservations effectuées, - des moyens de mise à jour (11, G) de la base de données à chaque attribution d'un nouveau code d'accès ou d'annulation d'une réservation, - des moyens d'enregistrement (11, G) de chaque code d'accès sur un support d'information. 9. Système de réservation électronique selon la revendication 8, caractérisé en ce qu'il est réalisé au moyen d'un serveur (1) comprenant un programme (G) pour la génération de code d'accès, la mise à jour de la base de données et l'enregistrement des codes sur les supports d'information, ce serveur comprenant des moyens de connexion (CX) à un réseau de communication. 0157-PONS API Conseil 2872361 17 10. Système de vérification électronique de réservation selon la revendication 8, caractérisé en ce qu'il comprend des moyens de décodage (Dn) de code d'accès générés par un système de génération, des moyens de mémorisation (Mn) des codes d'accès valides, des moyens d'annulation (V) de codes enregistrés, des moyens de génération (V) de codes d'annulation à la demande de l'utilisateur pour chaque code d'accès, ces codes pouvant à leur tour être validés par le système de réservation permettant ainsi la gestion du calendrier, si nécessaire la génération d'une nouvelle version de code. 0157-PONS API Conseil