FR 2823337 A1 20021011 FR 0104659 A 20010405 La présente invention concerne un procédé de lecture, traitement, transmission et exploitation d'un code à barres. Le procédé peut mettre en oeuvre un lecteur de codes à barres autonome à liaison radio. Elle a des applications dans le domaine de la promotion commerciale, du commerce et plus généralement d'échange de données sur un réseau informatique avec des équipements pouvant traiter des données hypermédia du type texte, image, son et/ou vidéo. Les codes graphiques d'identification du type codes à barres sont connus et largement utilisés du fait de la robustesse de leur lecture et décodage. Plusieurs normes de codage ont été définies aussi bien en ce qui concerne les codes à barres à une dimension qu'à deux dimensions. Ces codes sont lus par des appareils électroniques comportant une tête de lecture optique. Suivant la méthode de balayage des codes à barres et le type de tête de lecture optique mis en oeuvre, on dispose de deux grands types d'appareils : les appareils de lecture à contact qui nécessitent un déplacement physique entre la tête de lecture optique et le support sur lequel est disposé le code à barres et les appareils pouvant fonctionner sans déplacement relatif, le balayage étant obtenu par des procédés mécaniques (miroir tournant par exemple), et/ou électroniques (détecteur matriciel par exemple). Pour ces derniers appareils, diverses technologies peuvent être mises en oeuvre mais dans tous les cas, ce sont des appareils plus complexes et coûteux à réaliser que les appareils du premier type dont le crayon lecteur qui est un des appareils les plus simples à réaliser puisqu'il ne comporte qu'un capteur optique statique et dont le balayage du code à barres pour lecture est réalisé par l'utilisateur. Les crayons lecteurs connus de l'état de la technique sont parfois reliés par un câble électrique à un boîtier électronique externe lui-même relié au clavier d'un ordinateur. Un tel crayon optique n'est donc pas autonome et n'est pas d'un maniement aisé puisqu'un câble le rattache à un équipement informatique. Par ailleurs, ce type de crayon est d'un coût relativement élevé car le capteur optique comporte en outre un élément optique de dureté très élevée, saphir par exemple, qui peut résister aux frottements répétés sur le support comportant le code à barres tout en assurant une adaptation optique. Par ailleurs dans les applications connues, les codes à barres qui sont lus sont essentiellement traités localement. Par exemple dans les applications du type caisse de paiement, les données correspondant aux codes à barres sont traitées soit au niveau de la caisse elle même pour récupérer le prix et, éventuellement, un descriptif de l'article, soit dans un serveur local du site commercial relié à l'ensemble des caisses afin d'assurer également la gestion des stocks. Le but de l'invention est de proposer un procédé dans lequel un réseau informatique reliant des équipements informatiques pouvant exécuter des applications hypermédia met en oeuvre des données provenant de la lecture de codes à barres afin de produire des actions visuelles, auditives et/ou autres, éventuellement interactives, sur un équipement informatique client en relation avec un lecteur de codes à barres. Le terme équipement informatique dans le contexte de l'invention correspond à tout dispositif électronique pouvant traiter des données hypermédia et pouvant être relié au réseau informatique et, par exemple, ordinateur, microordinateur, assistant personnel, téléphone à fonctionnalités WAP, GPRS, UMTS... Grâce à l'invention, l'utilisateur peut lire un code à barres avec un lecteur et peut recevoir quasi instantanément une page d'information concernant l'objet portant le code à barres, sur tout type de support informatique connecté à Internet (microordinateur, assistant numérique, téléphone portable ou autres). L'objet peut être n'importe quel objet de grande consommation (portant alors un code à barres de type EAN ou UPC) ou tout autre type d'objet quelconque et, par exemple : cartes de visite, article de journal, facture, relevé de compte bancaire. Le terme code à barres concerne aussi bien une valeur numérique ou un caractère que plusieurs selon un codage standardisé ou un codage propriétaire (code à barres propriétaire). L'invention concerne donc un procédé de lecture, traitement, transmission et exploitation d'un code à barres dans lequel : - on lit le code à barres avec un lecteur comportant des moyens de lecture optiques produisant des signaux électriques en fonction des barres, - on traite lesdits signaux électriques dans un moyen de traitement électronique pour produire des données numériques et/ou alphanumériques, - on associe aux dites données numériques et/ou alphanumériques un identifiant de lecteur afin de produire une chaîne de données propriétaire, - on transmet la chaîne de données propriétaire à au moins un équipement client comportant au moins un logiciel client et un navigateur hypermédia pour un réseau informatique, ledit logiciel client comportant un module récepteur, un module routeur et un module de gestion de navigateur, le module récepteur réceptionnant la chaîne de données propriétaire, le routeur associant à ladite chaîne de données propriétaire au moins une adresse informatique du réseau informatique, le gestionnaire de navigateur appliquant ladite adresse audit navigateur hypermédia pour exécution d'au moins une page hypermédia dans l'équipement client. Dans divers modes de mise en oeuvre de l'invention, les moyens suivants pouvant être combinés selon toutes les possibilités techniquement possibles sont employés : - lorsqu'un équipement client n'est pas disponible pour réception, on stocke la chaîne de données propriétaire dans une mémoire du lecteur ; - dans le module routeur on associe en outre à la chaîne de données propriétaire au moins une donnée de type d'équipement client, l'adresse informatique dépendant alors du code à barres, de l'identifiant de lecteur et de la donnée de type d'équipement ; - on met en oeuvre une table de correspondance pour associer l'adresse informatique à la chaîne de données propriétaire, éventuellement associée à au moins une donnée de type d'équipement client, la table de correspondance étant située dans un serveur informatique distinct de l'équipement client ; - on met en oeuvre une table de correspondance pour associer l'adresse informatique à la chaîne de données propriétaire, éventuellement associée à au moins une donnée de type d'équipement client, la table de correspondance étant stockée dans l'équipement client ; (on considère également le cas où la table de correspondance est partagée entre l'équipement client et au moins un serveur de routage, et, par exemple au cas où aucune correspondance n'est trouvée dans la table de l'équipement client, un serveur de routage distinct est alors utilisé) - on stocke la table de correspondance dans l'équipement client par sélection selon un critère dans une table de correspondance globale située dans un serveur informatique distinct de l'équipement client, le critère comportant au moins l'identifiant de lecteur ; - l'adresse informatique associée à la chaîne de données propriétaire est celle d'un serveur informatique relayant (proxy ou mandataire) une demande d'informations à un autre serveur informatique ; - on met en oeuvre un moyen de transmission par ondes électromagnétiques en espace libre entre le lecteur et l'équipement client et on met en oeuvre un protocole de communication, ledit protocole permettant au moins de déterminer quels sont les équipements clients pouvant communiquer et, dans le cas où plusieurs équipements seraient opérationnels, ledit protocole permettant de sélectionner au moins un desdits équipements opérationnels ; - les ondes électromagnétiques sont des ondes radiofréquences et/ou lumineuses ; - on code selon un algorithme de codage les données numériques et/ou alphanumériques avant de les associer à l'identifiant de lecteur ; - on met en oeuvre un lecteur qui est un crayon comportant à une extrémité dans un capteur optique une source lumineuse produisant un faisceau lumineux focalisé sur le support et un détecteur optique destiné à recevoir et convertir la lumière réfléchie par le support en signaux électriques, le balayage pour lecture étant obtenu par déplacement du crayon par un organe de préhension d'un utilisateur, le crayon étant autonome et comportant une source d'alimentation électrique interne, un circuit électronique comportant un microcontrôleur ou ASIC (puce électronique dédiée), un module électronique de communication bidirectionnelle radioélectrique selon le protocole Bluetooth 0, un programme de fonctionnement comportant des moyens pour traiter les signaux électriques du détecteur optique, et des moyens d'interfaçage par l'intermédiaire du module de communication assurant au moins la transmission desdits caractères selon ledit protocole audit équipement informatique ; - le crayon comporte un boîtier et le capteur optique est maintenu dans le boîtier de manière à ce que la distance entre l'extrémité du stylo et le capteur soit constante, un canal optique étant réalisé entre ladite extrémité et le capteur ; - le canal optique est de l'air, l'extrémité du crayon étant ouverte ; - le crayon ne comporte pas de pointe de focalisation en matière dure ; - le code à barres est un code à barres propriétaire ; - t'identifiant du lecteur est un numéro unique sur 48 bits d'adresse Bluetooth 0 ; - l'identifiant du lecteur est un numéro de lecteur préprogrammé lors de la fabrication ou programmé ultérieurement ; - le lecteur comporte une source d'alimentation électrique interne, un circuit électronique comportant un microcontrôleur, un module électronique de communication bidirectionnelle radioélectrique selon le protocole Bluetooth 0, un circuit électronique constitué d'un microcontrôleur ou d'un circuit intégré dédié à cet usage (ASIC), ledit circuit électronique pouvant éventuellement comporter le module électronique Bluetooth @, un programme de fonctionnement comportant un algorithme de décodage qui convertit les signaux électriques en provenance du détecteur optique en données alphanumériques ou numériques ou binaires identifiant de manière unique un code à barres, une interface entre le décodeur de code à barres et le module électronique de communication assurant la transmission des informations reconnues par le lecteur et d'autres informations propriétaires, selon ledit protocole à un équipement informatique ; - le lecteur comporte en outre de la mémoire destinée à stocker des données ; - le microcontrôleur est d'un type compris entre 8 et 16 bits, bornes comprises, avec une horloge de fréquence inférieure à 200 kHz ; - la source d'alimentation électrique interne est du type batterie rechargeable et/ou pile électrochimique ; - le lecteur comporte un moyen d'établissement de son alimentation électrique par l'organe de préhension de l'utilisateur ; - le lecteur comporte un moyen de coupure de son alimentation électrique par l'organe de préhension de l'utilisateur ; - le moyen d'établissement de l'alimentation est un interrupteur électromécanique du type bouton-poussoir, la coupure de l'alimentation s'effectue lorsque l'utilisateur cesse d'appuyer sur ledit bouton-poussoir ; - le bouton poussoir est disposé pour que l'utilisateur positionne nécessairement le lecteur (ou crayon) dans une orientation donnée par rapport au code à barres ; - l'orientation donnée est telle que le lecteur (ou crayon) est sensiblement vertical lors de la lecture ; - lorsque le code à barres est lu sans erreur, l'alimentation du capteur optique se coupe mais le module électronique Bluetooth ainsi que ses moyens de contrôle de fonctionnement restent alimentés ; - lorsque le code à barres est lu sans erreur, l'alimentation du capteur optique se coupe mais le module électronique Bluetooth @ ainsi que ses moyens de contrôle de fonctionnement restent alimentés en mode faible consommation jusqu'à ce que toutes les données numériques et/ou alphanumériques et/ou binaires stockées dans la mémoire du crayon soient envoyées aux équipements informatiques clients ; - le lecteur comporte en outre un générateur sonore ; - le programme permet le décodage des codes à barres usuels parmi lesquels ceux de type EAN et UPC ; - le programme permet en outre le décodage des codes à barres selon un codage propriétaire. Le protocole Bluetooth @ correspond à une technologie standard de communication radio à courte portée entre deux équipements. L'interface entre le décodeur de code à barres et le module électronique est un pilote du module de communication Bluetooth @. Le terme équipement client signifie équipement informatique (assistant électronique, ordinateur ou téléphone portable) connu du lecteur. Il s'agit des équipements dont l'adresse Bluetooth (48 bits) est enregistrée dans une mémoire du lecteur. La présente invention sera mieux comprise à la lecture d'exemples de réalisation non limitatifs en relation avec : - les Figures 1 et 2 représentant un crayon lecteur selon deux plans de visualisation, - les Figures 3a, 3b, 3c et 4a, 4b et 4c, représentant les étapes de fonctionnement du crayon, - la Figure 5, représentant schématiquement des moyens de mise en oeuvre du procédé. Sur la Figure 1, un crayon 1 est vu en transparence. A l'intérieur d'un boîtier 10 en matière plastique, un capteur optique 2 est disposé vers une extrémité en relation avec un canal optique 11 ouvert à l'avant dudit crayon 1. Un circuit imprimé 8 comporte un moyen de mise en marche et d'arrêt 3, bouton-poussoir, un module 4 radioélectrique selon le protocole Bluetooth (D, un microcontrôleur 5 comportant de la mémoire morte et de la mémoire vive, la mémoire pouvant être du type ROM, EPROM, EEPROM, RAM, Flash, SRAM et une source d'alimentation électrique 6 sous forme de deux piles ou batteries. Le capteur optique 2, le circuit imprimé 8, l'alimentation 6 sont maintenus en place par des moyens de fixation du boîtier 10. Sur la Figure 2, le crayon précédent est vu selon un plan perpendiculaire au précédent permettant d'observer sur le circuit imprimé 8 un générateur de son 9 et une antenne 7 pour le module radioélectrique 4. L'antenne 7 est ici une antenne de type patch mais elle pourrait aussi être une antenne filaire placée au bout du crayon derrière les piles. Le générateur de son 9 permet d'informer l'utilisateur sur l'état de fonctionnement du crayon. Le capteur optique disposé à une extrémité du lecteur met en oeuvre une optique à réflexion avec diode électroluminescente, par exemple de longueur d'onde 700 nm, et une photodiode. Une lentille asphérique bifurquée ou, dans un une autre forme de réalisation non représentée, un système de fibres optiques, est disposé à l'avant de la diode électroluminescente et de la photodiode afin d'obtenir un point de focalisation unique à l'avant du crayon. Le signal de sortie du capteur optique est un courant généré dans la photodiode et qui est amplifié par un transistor ou un amplificateur opérationnel et qui est converti en une tension binaire pouvant être traitée par le microcontrôleur 5. Une surface noire absorbe la lumière émise par le capteur et, dans ce cas, le courant de sortie est faible, la sortie est à un niveau logique 1. Par contre, en dehors d'une surface noire, la lumière est réfléchie et la tension de sortie est à un niveau logique 0. Contrairement à l'état de la technique, aucune pointe dure n'est mise en oeuvre à l'avant du capteur optique, un simple canal optique réalisé par une ouverture dans le boîtier du crayon assurant la transmission de la lumière et la fixité du point de focalisation. Le lecteur comporte un boîtier 10 et le capteur optique est maintenu dans le boîtier à distance constante de l'extrémité du crayon, un canal optique 11 étant réalisé entre ladite extrémité et le capteur. De préférence, le canal optique est de l'air, l'extrémité du lecteur étant ouverte. Le lecteur à type de crayon de l'invention est simple à réaliser et comporte de préférence un boîtier en matière plastique moulée et met en oeuvre un nombre réduit de pièces. Le circuit électronique du lecteur comporte un programme dans une mémoire morte destiné à décoder des codes à barres du type EAN, UPC et éventuellement des codes à barres spécifiques. De préférence, les codes à barres spécifiques comportent des moyens de correction d'erreur (s). De préférence, les codes à barres spécifiques sont codés de manière à comporter des redondances permettant, au décodage, de corriger des erreurs faites à la lecture dudit code à barres. Ces codes à barres propriétaires sont codés selon le principe des codes correcteur d'erreur classiquement utilisés dans le domaine des télécommunications. Cet exemple de lecteur sous forme de crayon lecteur simplifié et autonome d'un coût réduit permet une mise en oeuvre du procédé dans la vie courante et plus particulièrement en relation avec des moyens informatiques du type hypertexte (hypermédia) sur micro-ordinateur, assistant personnel, téléphone portable ou autres. Toutefois tout type de lecteur comportant les fonctionnalités indiquées peut être mis en oeuvre avec le procédé de l'invention. Dans un mode particulier de réalisation du lecteur, par exemple le crayon décrit, le bouton poussoir est disposé pour que l'utilisateur positionne nécessairement le lecteur dans une orientation donnée par rapport au code à barres. Le bouton poussoir est ainsi disposé pour que organe de préhension de l'utilisateur maintienne le lecteur dans une position donnée pour qu'il puisse appuyer sur le bouton et que la lecture puisse se faire. Cette orientation donnée est telle que le lecteur est sensiblement vertical, c'est à dire sensiblement perpendiculaire par rapport au support du code à barres, lors de la lecture. Dans le cas où l'utilisateur doit balayer manuellement le code à barres, le bouton poussoir est également disposé pour faciliter ledit balayage et, par exemple, pour que l'organe de préhension de l'utilisateur travaille selon les habitudes de balayage utilisées lors de l'écriture manuelle. Sur la Figure 3a, on a représenté un crayon 1 en cours de lecture d'un code à barres 14 sur un objet 13. Dans l'environnement proche pouvant être atteint par les ondes radioélectriques du module 4 sont disposés plusieurs équipements informatiques pouvant potentiellement communiquer par ondes é ! ectromagnétiques se) on ! e protocote Biuetooth @ avec iedit crayon 1. Ces équipements sont un micro-ordinateur 15, un téléphone portable 16 avec des fonctionnalités hypertexte et un assistant personnel 17. Le crayon 1 émet des ondes électromagnétiques 18 à la recherche d'un ou plusieurs équipements de son environnement immédiat 21 pour communication. Dans cet exemple, seul le téléphone 16 est fonctionnel et, sur la Figure 3b répond par des ondes électromagnétiques 19 au crayon 1. Une fois la liaison établie entre l'équipement et le crayon, les données lues par le crayon, sous forme d'ensembles de données numériques ou alphanumériques ou binaires sont transmises par ondes électromagnétiques 20 vers l'équipement 16 comme représenté Figure 3c. La transmission des données est effectuée en temps réel, les données étant transmises au fur et à mesure de leur lecture et décodage ou en temps quasiréel, l'établissement de la communication avec l'équipement ou les équipements de l'environnement s'effectuant avant la transmission, les chaînes de données étant temporairement stockées dans le crayon 1 pendant l'établissement de ladite liaison. Sur les Figures 4a, 4b, 4c, on a représenté un procédé de fonctionnement dans le cas où aucun équipement de l'environnement du crayon n'est initialement actif et disponible pour réception. Dans un tel cas, les données traitées sont stockées dans la mémoire du crayon 1 sous forme de données binaires. Le crayon 1 comporte en outre des moyens pour rechercher périodiquement dans son environnement immédiat des équipements pouvant communiquer selon le protocole Bluetooth 0. Par exemple, Figure 4b, le crayon a été déplacé et son environnement comporte maintenant un micro-ordinateur 22 pouvant communiquer et répondant aux ondes électromagnétiques 18 du crayon par des ondes électromagnétiques 19. Une fois la communication établie entre le crayon et le micro-ordinateur 22, Figure 4c, les données sont transmises du crayon vers ledit micro-ordinateur 22 par ondes électromagnétiques 20. Dans un mode préféré, une fois toutes les données binaires envoyées, l'alimentation électrique du crayon se coupe automatiquement. Le circuit électronique 5 du lecteur est un microcontrôleur ou bien un circuit intégré dédié (ASIC). Il met en oeuvre une horloge de faible fréquence en fonctionnement normal ainsi qu'un mode de veille permettant une faible consommation de courant. La partie du circuit électronique destinée au décodage de codes à barres fonctionne à une fréquence inférieure à 200 kHz limitant la consommation par rapport aux circuits existants. Le programme de décodage permet de lire des codes à barres usuels notamment selon les normes EAN et UPC ainsi que des codes à barres propriétaires. Grâce à la mise en oeuvre d'une liaison Bluetooth @, on peut communiquer avec divers équipements indépendamment du fabriquement desdits équipements à condition seulement qu'ils soient compatibles Bluetooth @ et qu'ils soient dans l'environnement radioélectrique proche du lecteur et équipés du logiciel client. Contrairement aux dispositifs de communication mettant en oeuvre) la lumière infrarouge, il est non directionnel, le lecteur n'ayant pas besoin d'être orienté spécifiquement pour que la communication puisse avoir lieu. Lorsque l'utilisateur met en marche le crayon, les circuits électroniques sont alimentés ainsi que la diode électroluminescente et la photodiode. Pendant la lecture d'un code à barres, le lecteur engage une procédure d'établissement d'une connexion radioélectrique avec les équipements informatiques clients, compatibles Bluetooth (iD, dans l'environnement radioélectrique du lecteur. Deux types de fonctionnement sont alors possibles : - Fonctionnement synchrone (temps réel) (Fig 3) ; Le module de communication Bluetooth @ du lecteur a trouvé un (des) équipement (s) client (s) fonctionnel (s) avec le (s) quel (s) il crée un Piconet dont il est le maître et dont le (s) dit (s) équipement (s) client (s) sont les esclaves. Une fois la connexion établie, pendant la phase de lecture du code à barres, le lecteur envoie les données binaires vers le (s) esclave (s) du Piconet@. Selon ses désirs, l'utilisateur pourrait par exemple faire fonctionner son équipement informatique (l'équipement client et esclave du Piconet (É) de deux manières différentes : A-Dès la réception des données numériques en provenance du lecteur, t'équipement informatique envoie une requête vers un serveur web (toile) qui lui renvoie une page d'information correspondant à l'objet lu. B-Les données numériques en provenance du lecteur, sont stockées dans la mémoire de l'équipement client et un message avertissant de la présence desdites données dans ledit équipement client s'y inscrit. Cela donne la possibilité à l'utilisateur d'aller chercher ultérieurement les informations sur le code à barres stockées dans la mémoire de son équipement informatique. - Fonctionnement asynchrone ou différé (Fig 4) : Dans ce cas, le module Bluetooth (g) du lecteur ne trouve pas d'équipement informatique client fonctionnel dans son environnement radioélectrique, soit parce que ceux-ci sont éteints ou parce qu'ils sont à une distance trop grande du lecteur. Le lecteur enregistre alors en mémoire les données numériques correspondant au code à barres de l'objet qui vient juste d'être lu. Périodiquement, le lecteur essaye une nouvelle fois d'établir une connexion. Ce procédé est répété tant qu'il reste des données binaires dans la mémoire du lecteur. Dès que le lecteur arrive à établir une connexion avec un équipement client, on se retrouve dans le cas du fonctionnement synchrone. Le lecteur comporte de la mémoire et stocke les données numériques dans ladite mémoire lorsqu'un code à barres est lu mais qu'aucun équipement client n'est fonctionnel. L'équipement informatique client contient un programme résident traitant l'ensemble des données binaires en provenance du lecteur et permettant en retour, l'affichage d'une page d'information sur ledit équipement. Sur la Figure 5, le logiciel client est chargé dans l'équipement informatique client et comporte trois modules (récepteur, routeur, gestionnaire de navigateur). Les données en provenance du lecteur permettent la transmission d'une adresse au navigateur hypermédia de l'équipement du client. Le lecteur et son procédé de mise en oeuvre dans un réseau informatique permettent la réalisation d'un système dans lequel un dispositif de lecture de code à barres, de préférence portatif et sans fil, et une infrastructure de communication permet à tout utilisateur d'obtenir de l'information et des services relatifs à une ressource de la vie courante par simple balayage de son code à barres. Il s'agit de mettre en relation, de la manière la plus simple, rapide, économique et naturelle qui soit, une ressource réelle et sa contrepartie virtuelle sur l'Internet. Le système est architecturé autour de quatre composants : . le lecteur de code à barres, . l'équipement client, . le serveur de routage, . le serveur de documents, éventuellement atteint par le biais d'un serveur relais (proxy). Quiconque veut accéder aux informations et services associés à une ressource utilise le lecteur de code à barres pour balayer le code à barres référençant cette ressource. Le lecteur décode alors le code à barres pour produire un identifiant de ressource. Celui-ci est envoyé avec le propre identifiant du lecteur vers l'équipement client, à travers une connexion locale. L'équipement client traite les identifiants reçus pour déterminer l'adresse d'un serveur de documents approprié. Ce serveur tient à disposition les documents hypermédia présentant les informations et services relatifs à la ressource désignée avec le lecteur. L'équipement client peut, pour faciliter sa recherche d'adresse, obtenir des informations supplémentaires de la part du serveur de routage. Les identifiants en provenance du lecteur sont ensuite relayés à travers une connexion distante vers le serveur de documents, dont l'adresse vient d'être déterminée par l'équipement client. Des informations supplémentaires dont l'utilisateur a autorisé la diffusion peuvent à cette étape être transmises par la même voie. Eventuellement, la connexion distante vers le serveur de documents passe par un serveur relais ou proxy, lequel est susceptible de mémoriser la requête et/ou de la traiter à des fins statistiques ou autres, avant de la transmettre intégralement au serveur de documents. Enfin, le serveur de documents traite les données qui lui ont été transmises pour renvoyer à l'équipement client le document hypermédia qui va permettre à l'utilisateur d'accéder aux informations et services qu'il a demandés. L'ensemble de ces étapes tire parti des dernières innovations technologiques dans le domaine des télécommunications pour proposer un service en temps réel ou quasi-réel : seules quelques secondes séparent le balayage du code à barres de la présentation du document hypermédia associé. Le lecteur de code à barres est un équipement matériel capable de décoder un code à barres en signaux électriques puis en données numériques et/ou alphanumériques. Ces données constituent un identifiant de la ressource référencée par le code à barres. Cet identifiant de ressource et un autre identifiant propre au lecteur sont tous deux émis vers l'équipement client à travers une connexion locale. Le lecteur est destiné au grand public et se doit par conséquent d'être suffisamment bon marché. Il peut en revanche être de qualité modeste en comparaison des lecteurs industriels puisque son utilisation est bien moins intensive. Il se décompose en quatre parties principales : un émetteur/récepteur optique, une alimentation, un émetteur local, . un boîtier. La connexion locale est une liaison de communication de courte portée entre deux équipements. Elle peut être sans fil ou non. La distance qui sépare les équipements ne dépasse pas quelques dizaines de mètres. Le câble série (RS-232), les liaisons infrarouge (IrDA) et micro-ondes (Bluetooth@) en sont des exemples. Comprise comme dispositif électronique, la connexion locale désigne un émetteur/récepteur de courte portée, éventuellement commandé par l'intermédiaire de protocoles de communication. L'équipement client est l'élément central du système. L'équipement client est un équipement utilisateur mettant en oeuvre le logiciel client. L'équipement utilisateur est un équipement matériel que possède l'utilisateur. Il peut être de caractéristiques variées, mobile ou non, à condition de disposer des éléments suivants : une connexion locale, une connexion distante, un système d'exploitation avec une interface de programmation documentée, un navigateur hypermédia. Concrètement, un équipement mobile peut être un ordinateur ou un assistant numérique connecté à l'Internet, un téléphone mobile WAP offrant des possibilités de programmation, un terminal GPRS, UMTS ou tout autre équipement satisfaisant aux conditions précédemment énoncées. La connexion distante est une liaison de communication de portée mondiale entre deux équipements. Elle met presque toujours en oeuvre des réseaux globaux, dont l'internet est le meilleur représentant. Dans ce contexte, il peut être envisagé de faire transiter toutes les requêtes par un serveur relais (proxy) déterminé, afin que celui-ci tienne à jour des informations globales concernant l'ensemble des requêtes. Dans tous les cas, les requêtes sont au moins transmises intégralement. Comprise comme dispositif électronique, la connexion distante désigne un émetteur/récepteur réseau, éventuellement commandé par l'intermédiaire de protocoles de communication. Le logiciel client est un logiciel s'exécutant sur tout type d'équipement utilisateur pour remplir les fonctions suivantes : . recevoir les identifiants émis par le lecteur de code à barres à travers la connexion locale, . présenter à l'utilisateur le document hypermédia lui donnant accès aux informations et services relatifs à la ressource désignée par le lecteur. Ce logiciel est dit client car il se comporte comme un client pour le serveur de routage d'une part et pour le serveur de documents dont il doit déterminer l'adresse d'autre part. Il est réalisé comme un programme applicatif, par exemple à l'aide d'un langage de programmation orientée objet tel que C++ ou Java. Il commande l'équipement utilisateur par l'intermédiaire de l'interface de programmation spécifique à cet équipement. L'installation de ce logiciel sur un équipement utilisateur peut nécessiter le téléchargement du programme, l'insertion d'une carte électronique sur laquelle il est implanté (carte à puce pour téléphone mobile, carte d'extension pour ordinateur portable ou assistant numérique) ou toute autre méthode électronique ou informatique. Le logiciel client peut se décomposer en trois modules : un récepteur local, . un routeur, un gestionnaire de navigateur. Le récepteur local est un programme dont le rôle est de rester à l'écoute de la connexion locale. Il réagit à tout message en provenance du lecteur de code à barres en activant le routeur et en lui transmettant les identifiants reçus du lecteur. Ce programme s'exécute tout le temps que le système est activé. En revanche, lorsque aucun message du lecteur n'est en cours de traitement, il est l'unique partie du logiciel client en fonctionnement, ce qui réduit la consommation des ressources de l'équipement utilisateur. Le routeur est un programme recevant du récepteur local l'identifiant de la ressource et l'identifiant du lecteur. Son rôle est d'appliquer à ces identifiants l'algorithme de résolution d'adresse pour tenter de déterminer l'adresse web d'un serveur de documents convenant à la ressource référencée. Si une telle adresse est obtenue, le routeur y adjoint selon une syntaxe définie les deux identifiants précédents, ainsi que certaines informations que l'utilisateur a pu choisir de mettre à disposition sur son équipement (par exemple certaines préférences ou restrictions). L'adresse ainsi complétée localise sans ambiguïté un document hypermédia présentant des informations et services relatifs à la ressource identifiée par le biais du lecteur. Le routeur active alors le gestionnaire de navigateur et lui transmet l'adresse du document. L'algorithme de résolution d'adresse est appliqué aux identifiants de la ressource et du lecteur. Cet algorithme traite d'abord l'identifiant du lecteur. Si l'identifiant est connu, c'est à dire s'il figure dans une table de routage (correspondance) stockée sur l'équipement utilisateur et gérée par le routeur, alors le programme extrait de cette même table les informations de routage concernant le lecteur. La table de routage peut être réalisée avec diverses structures de données ; elle constitue un système très simplifié de gestion de base de données. Les informations de routage peuvent contenir : . un historique des requêtes précédentes avec leur résultat, dont on pourra éventuellement extraire l'adresse d'un serveur de documents ; . une adresse unique de serveur de documents, par exemple dans le cas où le lecteur est exclusivement affilié à ce serveur ou une adresse de serveur relais, par lequel toutes les requêtes à un serveur de documents doivent transiter ; . toute autre information propre au lecteur et utile à la résolution d'adresse. Dans un deuxième temps, l'algorithme de résolution d'adresse traite l'identifiant de la ressource et les informations de routage extraites lors de la première étape. Dans certains cas, ces données sont suffisantes pour produire l'adresse du serveur de documents associé à la ressource référencée. Par exemple, il peut être convenu qu'un identifiant présentant certaines similitudes avec un autre identifiant traité lors d'une requête précédente doit être associé à l'adresse qui fut le résultat de cette requête. S'il n'est pas possible de conclure avec ces seules données, le routeur transmet au serveur de routage l'identifiant du lecteur et celui de la ressource, à travers la connexion distante. Ce serveur retourne au routeur l'adresse du serveur de documents qu'il attend, ainsi éventuellement que l'adresse d'un serveur relais (proxy) associé, et ces adresses sont stockées dans la table de routage. L'algorithme de résolution d'adresse a donc permis de déterminer l'adresse du serveur de documents avec au plus un accès distant au serveur de routage. Notons cependant qu'il peut être nécessaire de rafraîchir périodiquement les informations de routage, par le biais de requêtes supplémentaires transmises au serveur de routage lors de son éventuel accès distant. Dans le cas où l'identifiant du lecteur est inconnu du routeur, le comportement de ce dernier dépend du mode de fonctionnement dans lequel l'utilisateur a placé son équipement client. En mode courant, la procédure de résolution est abandonnée et le message en provenance du lecteur est donc ignoré. Cette situation normale peut par exemple survenir si un message émis par radio par le lecteur d'un utilisateur est reçu par l'équipement client d'un autre utilisateur, qui n'a que faire des intentions de son voisin. Si, par contre, l'utilisateur a placé son équipement client en mode d'accueil d'un nouveau lecteur de code à barres, alors le nouvel identifiant de lecteur est transmis vers le serveur de routage à travers la connexion distante, afin que ce serveur renvoie au routeur les informations de routage propres au nouveau lecteur. Le mode accueil permet donc l'enregistrement d'un nouveau lecteur. Ces informations sont placées dans une nouvelle entrée de la table de routage, et le traitement de la requête par le logiciel client est terminé. Le gestionnaire de navigateur est un programme dont le rôle est de commander au navigateur hypermédia présent sur l'équipement utilisateur de présenter le document hypermédia localisé par l'adresse reçue du routeur. L'utilisateur est alors libre de naviguer à sa guise à partir du document qui lui est présenté. Le gestionnaire de navigateur ne fait que commander l'affichage d'un document au navigateur habituel de l'utilisateur, qui reste parfaitement libre de le configurer à sa convenance. Pour illustrer le mécanisme mis en oeuvre, on peut prendre l'exemple d'un navigateur web à qui le gestionnaire de navigateur va commander la création d'une nouvelle fenêtre pour afficher un document HTML. L'adresse de ce document est fournie au navigateur sous la forme d'une URL conforme au protocole HTTP. Un autre exemple consiste en la restitution sur un téléphone mobile connecté à l'Internet d'un document sonore, localisé par une adresse conforme au protocole WAP. Le serveur de routage est la source d'informations auxiliaire du dispositif Baracodag (dénomination retenue pour l'ensemble des composants, procédés et services liés à l'invention). Le serveur de routage est un logiciel s'exécutant sur un ou plusieurs ordinateurs équipés d'une connexion distante pour remplir les fonctions suivantes : . gérer et tenir à jour les informations de routage propres à chaque lecteur de code à barres ; . gérer et tenir à jour les informations permettant d'associer l'adresse web d'un serveur relais à l'adresse web d'un serveur de documents ; . gérer et tenir à jour les informations permettant d'associer l'adresse web d'un serveur de documents à un identifiant de ressource accompagné d'un identifiant de lecteur ; . gérer et tenir à jour le code des différents programmes composant le logiciel client ; . rester à l'écoute de la connexion distante afin de réagir aux requêtes d'un équipement client en lui transmettant les informations qu'il réclame. Il se comporte donc comme un serveur pour chaque équipement client, les clients pouvant être très nombreux.) t répond aux différentes requêtes du routeur, mais aussi aux demandes d'installation en provenance d'un équipement utilisateur non encore équipé du logiciel client. Le logiciel serveur de routage peut être un logiciel unique s'exécutant sur un ordinateur unique, ou être distribué sur plusieurs ordinateurs. L'organisation en réseau de ces machines peut elle-même mettre en oeuvre diverses architectures : . une architecture hiérarchique, suivant laquelle les machines situées aux noeuds les plus bas détiennent une information locale et se réfèrent aux machines de rang plus élevé pour obtenir une information plus générale ; . une architecture de voisinage, chaque machine étant au même rang que ses voisines et travaillant en coopération avec ces dernières pour accéder à une information largement distribuée ; toute autre architecture jugée efficace pour répartir la charge de traitement et susceptible d'améliorer le temps de réponse aux requêtes. La communication entre le serveur de routage et un équipement client peut employer un protocole propriétaire spécifiquement conçu à cette fin ou bien un protocole public (HTTP ou WAP par exemple). Des protocoles différents peuvent être choisis selon la nature de l'équipement client (ordinateur, assistant numérique, téléphone mobile, etc. ). Le serveur de documents est le dernier élément du système Baracoda@. Le serveur de documents est un logiciel s'exécutant sur un ou plusieurs ordinateurs équipés d'une connexion distante pour remplir les fonctions suivantes : . gérer et tenir à jour un grand nombre de documents hypermédia présentant les informations et services relatifs à certaines ressources ; . rester à l'écoute de la connexion distante afin de réagir aux requêtes d'un navigateur hypermédia en lui transmettant le document qu'il réclame. Les tables de routage stockées sur l'équipement client ou sur le serveur de routage comprennent non seulement les adresses de serveurs de documents mais aussi les adresses de serveurs relais associés aux serveurs de documents. Le composant logiciel"routeur"du"logiciel client"est donc susceptible de fournir au composant"gestionnaire de navigateur" une adresse composée à partir de celle du serveur relais, afin que ce dernier filtre toutes les requêtes à un serveur de documents donné. Le serveur relais ne fait que retransmettre la requête au serveur de documents qui en est le destinataire final. Mais il peut au passage mémoriser qu'une requête a eu lieu et faire un traitement statistique de toutes les requêtes ainsi relayées. Ce service supplémentaire offert à certains serveurs de documents peut constituer une valeur ajoutée pour qui veut connaître la fréquence de consultation à partir de codes à barres, le volume total des requêtes, leur répartition horaire, etc. Le serveur de documents est la propriété d'un tiers souhaitant mettre à disposition les documents relatifs à certaines ressources. Il est mis en oeuvre et administré à la discrétion de celui qui le possède. Par exemple il peut s'agir du serveur d'une entreprise industrielle publiant son catalogue de produits sur l'Internet. Cependant, il doit pour s'intégrer au système Baracoda@ être capable d'interpréter l'adresse que lui transmet le gestionnaire de navigateur par l'intermédiaire du navigateur. Afin de garantir cette compatibilité au moindre coût, l'adresse considérée est dans la plupart des cas conforme à un protocole public. Il peut s'agir par exemple d'une URL HTTP ou WAP. Dans ce cas la mise à niveau d'un serveur web existant ne réclame qu'une adaptation mineure, par exemple la conception d'une seule page de redirection dynamique. REVENDICATIONS 1. Procédé de lecture, traitement, transmission et exploitation d'un code à barres dans lequel : - on lit le code à barres avec un lecteur comportant des moyens de lecture optiques produisant des signaux électriques en fonction des barres, - on traite lesdits signaux électriques dans un moyen de traitement électronique pour produire des données numériques et/ou alphanumériques, - on associe aux dites données numériques et/ou alphanumériques un identifiant de lecteur afin de produire une chaîne de données propriétaire, - on transmet la chaîne de données propriétaire à au moins un équipement client comportant au moins un logiciel client et un navigateur hypermédia pour un réseau informatique, ledit logiciel client comportant un module récepteur, un module routeur et un module de gestion de navigateur, le module récepteur réceptionnant la chaîne de données propriétaire, le routeur associant à ladite chaîne de données propriétaire au moins une adresse informatique du réseau informatique, le gestionnaire de navigateur appliquant ladite adresse audit navigateur hypermédia pour exécution d'au moins une page hypermédia dans l'équipement client. 2. Procédé selon la revendication 1 caractérisé en ce que lorsqu'un équipement client n'est pas disponible pour réception, on stocke la chaîne de données propriétaire dans une mémoire du lecteur. 3. Procédé selon la revendication 1 ou 2 caractérisé en ce que dans le module routeur on associe en outre à la chaîne de données propriétaire au moins une donnée de type d'équipement client, l'adresse informatique dépendant alors du code à barres, de l'identifiant de lecteur et de la donnée de type d'équipement. 4. Procédé selon la revendication 1,2 ou 3 caractérisé en ce qu'on met en oeuvre une table de correspondance pour associer l'adresse informatique à la chaîne de données propriétaire, éventuellement associée à au moins une donnée de type d'équipement client, la table de correspondance étant située dans un serveur informatique distinct de l'équipement client. 5. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que on met en oeuvre une table de correspondance pour associer l'adresse informatique à la chaîne de données propriétaire, éventuellement associée à au moins une donnée de type d'équipement client, la table de correspondance étant stockée dans l'équipement client. 6. Procédé selon la revendication 5 caractérisé en ce que l'on stocke la table de correspondance dans l'équipement client par sélection selon un critère dans une table de correspondance globale située dans un serveur informatique distinct de l'équipement client, le critère comportant au moins l'identifiant de lecteur. 7. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que l'on met en oeuvre un moyen de transmission par ondes électromagnétiques en espace libre entre le lecteur et l'équipement client et en ce que l'on met en oeuvre un protocole de communication, ledit protocole permettant au moins de déterminer quels sont les équipements clients pouvant communiquer et, dans le cas où plusieurs équipements seraient opérationnels, ledit protocole permettant de sélectionner au moins un desdits équipements opérationnels. 8. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que l'on code selon un algorithme de codage les données numériques et/ou alphanumériques avant de les associer à l'identifiant de lecteur. 9. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que l'adresse informatique associée à la chaîne de données propriétaire est celle d'un serveur informatique relayant une demande d'informations à un autre serveur informatique. 10. Procédé selon l'une quelconque des revendications précédentes caractérisé en ce que : - on met en oeuvre un lecteur qui est un crayon (1) comportant à une extrémité dans un capteur (2) optique une source lumineuse produisant un faisceau lumineux focalisé sur le support et un détecteur optique destiné à recevoir et convertir la lumière réfléchie par le support en signaux électriques, le balayage pour lecture étant obtenu par déplacement du crayon par un organe de préhension d'un utilisateur, le crayon étant autonome et comportant une source d'alimentation électrique interne, un circuit électronique comportant un microcontrôleur ou ASIC, un module électronique de communication bidirectionnelle radioélectrique selon le protocole Bluetooth g, un programme de fonctionnement comportant des moyens pour traiter les signaux électriques du détecteur optique, et des moyens d'interfaçage par l'intermédiaire du module de communication assurant au moins la transmission desdits caractères selon ledit protocole audit équipement informatique. 11. Procédé selon la revendication 10, caractérisé en ce que le crayon comporte un boîtier et le capteur optique est maintenu dans le boîtier de manière à ce que la distance entre l'extrémité du stylo et le capteur soit constante, un canal optique étant réalisé entre ladite extrémité et le capteur, et le canal optique est de l'air, l'extrémité du crayon étant ouverte.