QR code sur écran qui ne se scanne pas : causes et solutions — featured illustration
Guides

QR code sur écran qui ne se scanne pas : causes et solutions

5 min de lecture
Créer un QR code

Le code s'affiche en grand sur le moniteur, bien noir, sans aucun doute un QR code, et pourtant votre téléphone garde le viseur ouvert sans rien faire. Le même code sur papier passe du premier coup. Sur un écran, c'est une autre histoire, et elle a presque toujours une explication.

Les écrans échouent comme cible de scan pour des raisons qui n'ont rien à voir avec le code lui-même. Les voici, à peu près dans l'ordre de fréquence des coupables.

La luminosité, dans les deux sens

Trop sombre, et l'appareil photo monte le gain pour compenser, ce qui aplatit le contraste entre modules clairs et sombres jusqu'à ce que le décodeur ne les distingue plus. Poussez l'écran près du maximum, désactivez la luminosité automatique le temps du scan, et coupez tout filtre chaud ou mode nuit.

Trop lumineux est aussi un vrai cas d'échec, avec un mécanisme différent. Une lampe ou une fenêtre derrière vous projette un reflet spéculaire sur la dalle, et si cette tache lumineuse tombe sur l'un des trois carrés de repérage, le décodeur ne démarre jamais. Inclinez l'écran, décalez-vous d'un pas, ou éteignez le plafonnier. Les dalles brillantes sont les pires ici.

Il y a un troisième cas qui piège beaucoup de monde : en mode sombre, certaines pages affichent le code en modules blancs sur fond noir. Beaucoup de lecteurs gèrent les codes inversés, mais pas tous. Forcez la page en mode clair, ou ouvrez l'image du code sur un fond blanc. Si c'est l'appareil photo intégré de votre téléphone qui fait la fine bouche, une application de scan dédiée est en général plus tolérante.

Le code est physiquement plus petit qu'il n'y paraît

Les dimensions en pixels et la taille physique ont cessé de correspondre il y a des années. La même image de 150 pixels s'affiche nettement plus petite sur une dalle d'ordinateur portable haute densité que sur un ancien moniteur à 96 DPI, et un code qui vous semble parfaitement suffisant à 40 cm peut faire moins de trois centimètres de verre réel.

Zoomez le navigateur avec Ctrl ou Cmd et plus, ouvrez l'image dans son propre onglet, ou passez en plein écran. Cinq centimètres sur la dalle, c'est une cible confortable.

Le moiré, ou deux grilles qui se disputent

L'écran dessine votre code à partir d'une grille de pixels. L'appareil photo l'échantillonne avec une autre grille, celle des photosites. Quand ces deux grilles tombent sur un rapport défavorable, elles interfèrent : des bandes ondulées apparaissent, les bords des modules s'adoucissent, et les modules voisins bavent les uns sur les autres.

La solution consiste à changer la géométrie, pas quoi que ce soit à l'écran. Avancez ou reculez de quelques centimètres. Inclinez le téléphone de dix ou quinze degrés hors de la perpendiculaire. Ou agrandissez le code pour que chaque module couvre de nombreux pixels d'écran et de nombreux pixels de capteur, ce qui noie l'interférence. Le moiré ressemble beaucoup à un simple flou de mise au point : si une copie imprimée du même code échoue de la même façon, le problème vient du code et le dépannage du flou est la bonne page.

Les bandes liées au taux de rafraîchissement

La plupart des capteurs de téléphone utilisent un obturateur roulant et lisent l'image ligne par ligne pendant que l'écran, lui, est en train de se redessiner. Un mauvais timing et des bandes sombres défilent dans l'aperçu. Toute image capturée au milieu d'une bande perd une tranche horizontale du code.

Restez immobile deux ou trois secondes au lieu de balayer avec le téléphone, pour que le décodeur reçoive plusieurs images et qu'au moins une tombe propre. Changer de distance suffit parfois à décaler la fréquence de battement. Si le code se trouve dans une vidéo encore en lecture, mettez d'abord la vidéo en pause.

Revêtements mats, protections et filtres de confidentialité

Un traitement antireflet ou un film de protection mat échange les reflets contre une légère douceur : sans conséquence pour lire du texte, limite pour résoudre de petits modules. Un filtre de confidentialité est pire : il coupe fortement la luminosité hors axe, si bien qu'un code impeccable pour la personne assise face au moniteur est sombre et délavé pour un téléphone tenu de biais. Placez-vous bien en face.

Le même problème se pose de l'autre côté. Une protection rayée ou fissurée devant le bloc caméra de votre téléphone diffuse la lumière avant même qu'elle n'atteigne l'objectif.

Objectif gras et distance trop courte

Les traces de doigts sur le verre de l'objectif sont la correction la moins chère de cette liste et l'une des causes les plus fréquentes. Le gras diffuse la lumière, et un écran lumineux la fait fleurir en un voile qui se pose pile sur le code. Essuyez l'objectif avec un chiffon et réessayez avant toute autre chose.

Vérifiez ensuite votre distance. Les appareils photo de téléphone ont une distance minimale de mise au point, et tenir le téléphone à trois ou quatre centimètres de la dalle place le code en deçà : rien ne sera jamais net. Certains téléphones basculent aussi sur un ultra grand-angle moins défini à courte distance. Reculez à 20 ou 30 cm, tenez fermement, et touchez le code sur votre écran pour verrouiller la mise au point si l'appareil continue de chercher. Le reste de la technique est dans comment scanner un QR code.

Et en France ?

Le cas le plus courant en France n'est pas un moniteur de bureau, c'est un billet affiché sur un téléphone : e-billet de train, billet de concert, carte d'embarquement, passage en caisse avec une carte de fidélité. Le contrôleur ou la borne doit lire l'écran que vous tendez.

Trois gestes règlent la plupart des refus : montez la luminosité au maximum avant d'arriver au contrôle, désactivez le mode sombre si l'application l'applique au billet, et retirez un éventuel filtre de confidentialité sur l'écran. Enfin, gardez une capture du billet : elle s'affiche même sans réseau, dans un couloir de gare ou un tunnel.

Quand le code est sur le téléphone que vous tenez

Un téléphone ne peut pas viser son propre écran avec son appareil photo. Ce n'est pas une panne, et insister ne changera rien. Il faut passer par un autre chemin : une capture d'écran décodée par une application, ou un second appareil qui lit l'écran du premier.

Trois contournements. Appuyez longuement sur l'image du code : iOS comme Android détectent les codes dans les images du navigateur et de la visionneuse photo et proposent le lien directement. Ou faites une capture d'écran, ouvrez-la dans votre application photo et utilisez la détection intégrée (Live Text sur iOS, Lens sur Android). Ou enregistrez l'image et passez-la dans un décodeur qui accepte un envoi de fichier : c'est à cela que sert le scan depuis une image. La même approche traite un code arrivé en pièce jointe PDF ou en visuel d'e-mail, puisqu'un lecteur basé sur l'image prend un fichier plutôt qu'un flux caméra.

Si le code refuse aussi de se scanner depuis du papier, la cause est du côté du code, et la liste plus large des codes qui ne scannent pas couvre zones de silence, contraste, impressions abîmées et destinations mortes.

Une dernière chose, à l'intention de celui ou celle qui a mis le code à l'écran. Affichez-le sur au moins 300 pixels de côté, gardez-le sombre sur blanc quel que soit le thème du site, et laissez une marge libre d'au moins quatre modules sur chaque côté. Qui fait cela n'entend jamais « ça ne scanne pas » depuis le fond de la salle.

Partager cet article