Les trois schémas
Chaque schéma est un court morceau de texte que le téléphone sait transmettre à la bonne application. mailto: ouvre l’application de messagerie, tel: ouvre le composeur et sms: ouvre l’application de messages, avec le destinataire et parfois le message déjà remplis.
Les numéros de téléphone fonctionnent mieux au format international avec un signe plus et l’indicatif du pays, comme +15035550123, pour que le code fonctionne pour les visiteurs d’autres pays.
- mailto:hello@example.com?subject=Order%20question&body=Hi (RFC 6068)
- tel:+15035550123 (RFC 3966)
- sms:+15035550123?body=Hello (RFC 5724)
- SMSTO:+15035550123:Hello (ancienne convention, encore largement lue)
- MATMSG:TO:hello@example.com;SUB:Hi;BODY:Hello;; (ancienne convention pour l’e-mail)
Encoder le texte du message
Les objets et corps de message des liens mailto et sms doivent être encodés en pourcentage : une espace devient %20 et une esperluette dans le texte devient %26. Des caractères non encodés peuvent couper le message ou casser le lien.
Les plateformes n’ont pas toujours interprété de la même façon le paramètre body de sms, ce qui explique en partie que l’ancienne forme SMSTO: reste courante dans les générateurs de QR. Tester sur iPhone et sur Android avant d’imprimer est la vérification fiable.
Ce que ces codes ne peuvent pas faire
Un QR code ne peut ni envoyer un e-mail, ni envoyer un SMS, ni passer un appel de lui-même. Il ouvre seulement l’application avec les champs remplis, et la personne qui scanne décide d’appuyer ou non sur envoyer ou appeler.
Comme le destinataire est visible avant l’envoi, il faut vérifier qu’il correspond à ce qu’on attend. Un code qui préremplit un message vers un numéro surtaxé ou une adresse inconnue est un signal d’alerte.