Principe des QR codes
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

Principe des QR codes



  1. #1
    Loupsio

    Principe des QR codes


    ------

    Bonjour,
    Je ne sais pas si ma question est vraiment approprié ici, mais vu q'il s'agit en quelque sorte d'un "langage" cela doit pouvoir y avoir sa place
    J'aurai aimé avoir des informations sur le fonctionnement des QR codes. Je ne parle pas des informations à destination des anciennes générations qui veulent se mettre a la page (le genre d'information qui représente 99% de ce qu'on trouve sur google a propose des QR code, type " bla bla bla, code barre en 2 dimensions, bla bla bla nécessite un lecteur bla bla bla photos...)
    Je cherche à savoir comment et coder l'information, et comment on pourrait les créer soi même sans un "outil fait exprès"
    Alors avant qu'on me dise "pourquoi chercher à les faire alors qu'il y a des tas de sites qui les font pour toi, type qr-code-generator.com ...", voyez ca comme... pour la beauté de l'exercice, ou simplement par curiosité
    Malheureusement quasiment tout ce que je trouve quand je cherche des infos sur comment faire des QR codes, et sur comment fonctionnent les QR codes, je ne tombe que sur des banalités du type "grâce a ce site faites vos propres QR codes" etc, ce qui n'est absolument pas ce que je cherche

    La seule info intéressante que j'ai trouvé, c'est que visiblement, pour des actions spéciales se "codent" de la sorte
    Code:
    SMSTO:+1123456:This is a SMS stored in a QR Code!
    et donc je suppose que SMSTO suivi des ":" renvoi à l'action utilisé (et donc l'application à laquelle le téléphone va faire appel, ici l'application SMS), derrière les premiers ":" il y a le numéro de téléphone, suivi encore de ":" puis du message
    (en tout cas c'est ce que j'ai cru comprendre en lisant http://goqr.me/qr-codes/type-qr-sms.html)

    Je suis donc à la recherche de 2 choses :
    - Y a t il une liste quelque part de toutes les actions possibles (autres que SMSTO)
    - Comment se code l'info dans le QR? (je suppose qu'il s'agit d'une matrice de "X" carrés de longueur sur "X" carrés de hauteur, et que chaque carré blanc représente 0 (ou 1) et chaque carré noir représente 1 (ou 0)
    mais ca me parait peu de carrés pour représenter des caractères sous forme d'octet

    Merci

    -----
    Dernière modification par Loupsio ; 01/03/2019 à 21h05.

  2. #2
    PA5CAL

    Re : Principe des QR codes

    Bonsoir

    Un QR Code ne « marche » pas, c'est juste un format sous lequel on peut imprimer ou afficher des données facilement lisibles par une machine.

    Il peut s'agir de n'importe quelles données, pas nécessairement d'un code à partir duquel un appareil pourra déclencher une action. En d'autres termes dans l'exemple cité, le « SMSTO: » fait partie du texte représenté par le QR Code.

    Pour déclencher des actions, on utilise généralement un identifiant uniforme de ressource (URI, dont le schéma est décrit par ici) que l'appareil qui lit le QR Code saura (ou pas) prendre en charge. Par exemple, l'URI enregistré dans un QR Code peut être l'URL d'une page web, comme par exemple « https://forums.futura-sciences.com/ » ; un smartphone qui lira ce QR Code lancera généralement son navigateur Internet afin de charger et afficher cette page depuis le site, tandis qu'un lecteur de QR Code destiné à identifier des marchandises ne saura pas traiter ce type d'information.

    Le motif contient bien tous les bits de données (en l'occurrence les caractères du texte) et même plus (on y trouve notamment des informations de version et un code de détection et de correction d'erreurs). Les données peuvent même y être stockées de façon redondante (i.e. plusieurs fois, pour augmenter la probabilité de pouvoir continuer à lire le QR Code en cas d'altération partielle).


    En principe, les spécifications officielles et complètes de ce format ne se trouvent pas directement en clair sur Internet, puisque comme la majorité des normes industrielles (et particulièrement celles basées sur des brevets), l'accès à leur documentation est payant.

    Toutefois, on trouve ça et là des sites qui donnent de véritables informations techniques exploitables au sujet de ce format (e.g.), parfois même des copies pirates des documents officiels (dont je ne donnerai pas les liens compte tenu de l'illégalité de la chose), ainsi que des sources documentées de programmes générateurs (ZXing et autres).

    Comme il apparaît comme assez difficile de réaliser des QR Codes entièrement à la main, il me paraît plus pertinent d'étudier le code open-source d'un de ces générateurs après s'être renseigné dans les grandes lignes sur les principes du format.
    Dernière modification par PA5CAL ; 02/03/2019 à 00h25.

  3. #3
    Loupsio

    Re : Principe des QR codes

    Merci pour ta réponse,

    En principe, les spécifications officielles et complètes de ce format ne se trouvent pas directement en clair sur Internet, puisque comme la majorité des normes industrielles (et particulièrement celles basées sur des brevets), l'accès à leur documentation est payant.
    J'avais cru comprendre qu'a l'inverse du flash code, le QR code était libre
    Citation Envoyé par wikipedia
    En 1999, tout en conservant les droits du brevet, Denso-Wave accorde l'utilisation du code QR avec une licence libre,
    Citation Envoyé par enovanet.fr
    Le format des QRCodes (Asie) et Datamatrix (USA) sont libres.
    Les Flashcodes "français" (Variante de Datamatrix) sont cryptés et propriétaires. Ils ne peuvent être décodés qu’à partir de logiciels fournis par la société MobileTag.
    Et s'il est si compliqué de décoder un QR a partir du binaire, est-ce qu'il existe des outils ou apps qui permettent de littéralement décoder le texte?
    Les apps classiques de QR code ne renvoient que ce qui doit être renvoyé sous forme de texte;
    exemple, si le QR code une fois décrypté possède la phrase "SMSTO:+1123456:This is a SMS stored in a QR Code!"
    l'application smartphone ne nous montrera pas ça, elle ne montrera que ":+1123456 This is a SMS stored in a QR Code!" et interprétera le reste,
    il y a donc du "texte" ecrit dans le QR, qui n'est pas montré à l'utilisateur mais directement interprété,
    De la même façon je me demandais si les sites generateurs de QR ne cachaient pas des info dedans (des sortes de "métadonnées")
    Par exemple, le site fr.qr-code-generator.com propose avec leur version payante d'informer l'utilisateur du nombre de personnes qui ont flashé le QR code qui aura été créé, or pour cela il faut qu'à chaque fois que quelqu'un flash le QR, une partie du QR soit dédiée à joindre une page, et incrémenter une variable de +1 pour dire qu'un individu vient de flasher le QR, mais cette partie n'est pas affichée
    par exemple un QR qui aurait pour but d'afficher "hello world" et que le créateur veuille savoir combien de personnes ont flashés, il faudrait que le QR décodé soit quelque chose du genre : "TEXT:Hello World:REACH:www.siteAAtteindre PourIncrementerLeNombreDeVisit es.com" Or, l'application smartphone ne montrera à l'utilisateur que "Hello World" comme si c'était la seule information contenue dans le QR.
    Est-ce qu'il y a donc moyens (apps ou logiciel) qui nous montrent littéralement ce que dit un QR code, sans que certaines parties soient soit "interprétées" par l'application smartphone et cachées à l'utilisateur?
    Dernière modification par Loupsio ; 02/03/2019 à 13h59.

  4. #4
    yoda1234

    Re : Principe des QR codes

    Je me plante peut-être : Un truc comme ça ?
    Cela vient de là https://lehollandaisvolant.net/tout/tools/
    Là où l'ignorance est un bienfait, c'est de la folie d'être sage (Thomas Gray).

  5. A voir en vidéo sur Futura
  6. #5
    Loupsio

    Re : Principe des QR codes

    J'en ai essayé plusieurs, il me met tout le temps "erreur. décodage impossible"

  7. #6
    PA5CAL

    Re : Principe des QR codes

    Citation Envoyé par Loupsio Voir le message
    J'avais cru comprendre qu'a l'inverse du flash code, le QR code était libre
    « Libre » ne signifie pas une totale liberté d'utilisation (c'est la raison des licences), et encore moins gratuité, particulièrement de la documentation officielle éditée par des organismes qui en font le commerce.

    Citation Envoyé par Loupsio Voir le message
    Et s'il est si compliqué de décoder un QR a partir du binaire, est-ce qu'il existe des outils ou apps qui permettent de littéralement décoder le texte?
    Le texte en question constitue l'intégralité du contenu du QR Code. La valeur et la position des bits/pixels dans le motif résultent quant à eux du format adopté.

    Un outil de lecture de QR Code a pour fonction de lire une image, d'y détecter les trois « yeux » de positionnement, de déterminer le format du motif, d'en extraire retrouver toute ou partie des bits/pixels, de détecter et tenter de corriger les erreurs éventuelles, puis de délivrer le texte du message trouvé. Ce que l'appareil fera ensuite de ce texte est une autre affaire.

    Citation Envoyé par Loupsio Voir le message
    exemple, si le QR code une fois décrypté possède la phrase "SMSTO:+1123456:This is a SMS stored in a QR Code!"
    l'application smartphone ne nous montrera pas ça, elle ne montrera que ":+1123456 This is a SMS stored in a QR Code!" et interprétera le reste,
    il y a donc du "texte" ecrit dans le QR, qui n'est pas montré à l'utilisateur mais directement interprété,
    C'est le problème de l'application du smartphone qui exploite le résultat de la lecture du QR Code, et cela n'a plus rien à voir avec le QR Code lui-même.

    Si je lisais ce même QR Code avec la caméra de mon PC en utilisant un logiciel de lecture standard, celui-ci me présenterais le texte intégral « SMSTO:+1123456:This is a SMS stored in a QR Code! ». D'ailleurs, mon PC serait bien en mal d'envoyer un SMS, puisqu'il ne dispose pas des éléments nécessaires pour le faire.

    Citation Envoyé par Loupsio Voir le message
    De la même façon je me demandais si les sites generateurs de QR ne cachaient pas des info dedans (des sortes de "métadonnées")
    Les informations cachées sont la version, le format particulier choisi et les données de détection et de correction d'erreur. Tout le reste, c'est-à-dire le texte du QR Code, est accessible par un logiciel de lecture standard.

    Si une partie du texte est cachée par une application, c'est parce que son éditeur l'a voulu ainsi. Mais l'utilisation d'un autre logiciel de lecture pourra révéler la partie cachée, en clair si elle est directement lisible, ou bien sous forme chiffrée s'il est prévu qu'elle ne puisse être déchiffrée que par cette application spécifique.

    Le problème que tu soulèves tient au fait que les applications fournies sur les smartphones sont destinées à des usages particuliers qui dépassent la simple lecture d'un QR Code.

  8. #7
    PA5CAL

    Re : Principe des QR codes

    Citation Envoyé par Loupsio Voir le message
    J'en ai essayé plusieurs, il me met tout le temps "erreur. décodage impossible"
    Si d'autres lecteurs produisent également l'erreur, alors cela pourrait signifier que le motif est endommagé, ou bien que le format utilisé pour créer ce QR Code ne correspond pas au standard.
    Dernière modification par PA5CAL ; 02/03/2019 à 15h36.

  9. #8
    PA5CAL

    Re : Principe des QR codes

    Une autre possibilité serait que le texte du QR Code présente des caractères spéciaux (notamment s'il contient une partie chiffrée) et que pour cette raison ces lecteurs ne savent pas l'afficher.

  10. #9
    Loupsio

    Re : Principe des QR codes

    Non j'en ai testé un qui venait du generateur mentionné plus haut, qui disait juste "hello world" (il n'y a donc aucun caractère spécial, du moins pas dans le texte affiché) il marche avec mon telephone (appli android pour QR tout ce qu'il y a de plus classique) mais l'upload sur lehollandaisvolant.net ne le reconnait pas, alors qu'il s'agit directement du png enregistré, et cela ne marche ni avec l'option " a partir d'un fichier" ni "a partir de la webcam", et je l'ai testé a partir de mon pc ainsi qu'a partir de mon telephone, je pense que c'est l'appli du site qui doit avoir un problème,
    Et dans le doute ou cela serait dû au générateur de QR que j'ai utilisé, qui ne serait pas lisible par tout les lecteurs, j'ai googlé directement "QR code", j'ai pris le premier qui venait (avec l'app sur mon tel j'ai pu tester que ce QR marchait bien également (il s'agissait du QR code qui renvoi sur wikipedia) mais quand je le test sur lehollandaisvolant.net le site me renvoi "erreur. décodage impossible"
    j'en ai testé deux-trois autres qui m'ont fait pareil avec le site du hollandaisvollant,

    Si je lisais ce même QR Code avec la caméra de mon PC en utilisant un logiciel de lecture standard, celui-ci me présenterais le texte intégral « SMSTO:+1123456:This is a SMS stored in a QR Code! ».
    Et quel est le logiciel? parce qu emoi si je fait ca avec mon pc (j'utilise QtQr sur Ubuntu) j'obtiens :
    QRCode contains the following SMS message:

    To: +1123456
    Message: This is a SMS stored in a QR Code!
    Bien qu'il ne puisse evidemment pas envoyer de SMS non plus puisu'il s'agit de mon pc , mais aucun logiciel testé ne me donne directement "SMSTO:+1123456:This is a SMS stored in a QR Code!"

  11. #10
    PA5CAL

    Re : Principe des QR codes

    Nom : create-qr-code.png
Affichages : 501
Taille : 448 octets

    J'ai pris le premier lecteur de QR Code qui m'est tombé sous la main (en l'occurrence un outil édité par Jaxo Systems). Je lui ai soumis l'image ci-dessus récupérée sur Internet (qui semble correspondre à ton exemple), et il m'a présenté les informations suivantes :

    Ce code-barre contient :

    SMSTO:+1123456:This is a SMS stored in a QR Code!

    Informations techniques

    QR code version 3-L mask #2, encoded in ALPHANUMERIC., encoded in BYTE.
    QR code is trademarked by Denso Wave, Inc.
    Le problème vient bien de l'application dans la façon qu'elle a d'exploiter le message, et non pas du QR Code en lui-même.
    Dernière modification par PA5CAL ; 02/03/2019 à 17h16.

  12. #11
    PA5CAL

    Re : Principe des QR codes

    J'ai refait le test avec l'application Barcode Scanner (de Cognex) sur un smartphone sous Android, et elle me présente également le texte en entier (« SMSTO:+1123456:This is a SMS stored in a QR Code! »).

    Cette application propose d'exploiter le résultat avec le smartphone dans un second temps, après avoir affiché l'intégralité du message trouvé.
    Dernière modification par PA5CAL ; 02/03/2019 à 18h40.

  13. #12
    Ikhar84
    Animateur Informatique

    Re : Principe des QR codes

    Salut à tous,

    Il faut différencier le qrcode lui même qui n'est qu'un format d'encodage binaire de données (textuelles le plus souvent) en 2D, de ce qui ferait office d'interpreteur au sein de l'application de lecture, comme le dit bien PA5CAL.

    Si tu veux absolument le texte brut, et comprendre la "logique" sous-jascente comme l'a aussi indiqué PA5CAL, il n'y a pas mieux que de regarder le code source ou l'algo d'un lecteur libre. Il y en a plusieurs sur le net...

    Je pense à ZXing ou à des lecteurs en Javascript qui ne manquent pas sur le net.

    Il faut bien sûr quelques prérequis en "programmation".
    J'ai glissé Chef !

  14. #13
    Loupsio

    Re : Principe des QR codes

    J'ai reussi a trouver un logiciel qui renvoi l'integralité, (zbar-tools, celui ci est en ligne de commande contrairement a QtQr, mais il a l'avantage de ne pas interpréter certaines partie du QR)
    Je vais faire un tour du coté code source de ZXing, à la base je voulais m'en créer un personnel, mais tant pis j'irai juste voir par curiosité
    Niveau programmation je suis pas programmeur, mais j'ai quelques notions (Python, Pascal et R principalement)

    Merci à vous

Discussions similaires

  1. Réponses: 27
    Dernier message: 02/06/2013, 21h17
  2. Le principe « d’énergie libre » - Un principe général du vivant ?
    Par invite6754323456711 dans le forum Discussions scientifiques
    Réponses: 18
    Dernier message: 30/01/2013, 20h35
  3. Codes METAR
    Par inviteb29a44e7 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 25/08/2010, 21h05
  4. Vos codes PWM...
    Par MofK dans le forum Électronique
    Réponses: 0
    Dernier message: 13/09/2008, 10h56
  5. Codes de Hamming/BCH
    Par invite4e8412ad dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 01/10/2007, 18h02