Un QR code WiFi contient un nom de réseau, un type de sécurité et un mot de passe dans une seule chaîne scannable. Pointez l'appareil photo d'un téléphone dessus et il propose de rejoindre le réseau, sans que personne n'ait à relever le mot de passe sur un tableau blanc. Image-Charts en génère un à partir d'une seule URL qui porte cht=qr et les identifiants dans chl.
Placez les informations du réseau dans une charge utile WIFI: puis encodez-la en URL et passez-la comme paramètre chl d'un graphique cht=qr ; la réponse est un PNG utilisable partout où une image peut aller.
La charge utile que vous encodez
WIFI:T:WPA;S:Demo;P:hunter2;;
L'URL que vous demandez
https://image-charts.com/chart?cht=qr&chs=300x300&chl=WIFI%3AT%3AWPA%3BS%3ADemo%3BP%3Ahunter2%3B%3B
Le format de charge utile vient de ZXing, la bibliothèque de codes-barres livrée avec les premiers scanners Android, et c'est ce que lisent l'application Appareil photo d'iOS et le scanner Android quand ils proposent de rejoindre un réseau. Les champs sont séparés par des points-virgules, et la charge utile se termine par deux d'entre eux.
| Champ | Signification | Notes |
|---|---|---|
| T: | Type de sécurité | WPA couvre WPA, WPA2 et WPA3. WEP pour un ancien réseau, nopass pour un réseau ouvert. |
| S: | Nom du réseau (SSID) | Exactement tel qu'il est diffusé. Sensible à la casse. |
| P: | Mot de passe | Omettez-le lorsque le type est nopass. |
| H: | Réseau masqué | H:true lorsque le SSID n'est pas diffusé. Omettez-le sinon. |
| ;; | Fin de la charge utile | Deux points-virgules ferment la chaîne. |
Deux passes, dans cet ordre. À l'intérieur de S: et P:, une barre oblique inverse échappe les cinq caractères qui termineraient sinon un champ (barre oblique inverse, point-virgule, virgule, deux-points, guillemet droit), si bien qu'un mot de passe p;ss s'écrit p\;ss. Encodez ensuite l'ensemble de la charge utile une seule fois en URL, parce que ces mêmes points-virgules et deux-points ont un sens dans une chaîne de requête. WIFI:T:WPA;S:Demo;P:hunter2;; devient WIFI%3AT%3AWPA%3BS%3ADemo%3BP%3Ahunter2%3B%3B.
Un réseau invité ouvert n'a besoin d'aucun champ mot de passe. Sa charge utile est WIFI:T:nopass;S:Guest;; et le rendu est identique.
cht, chs et chl sont obligatoires. Le reste détermine la façon dont le code est dessiné.
| Paramètre | Ce qu'il contrôle | Valeurs |
|---|---|---|
| cht=qr | Type de graphique | Obligatoire. |
| chs | Taille en pixels, largeur x hauteur | Obligatoire. Un QR code est carré, c'est donc la largeur qui décide. En dessous de 29 pixels de large, l'API renvoie un carré vide plutôt qu'un code illisible. |
| chl | Les données à encoder | Obligatoire, encodé en URL UTF-8. Une URL plafonne autour de 2 Ko, une charge utile plus longue passe donc par une requête POST. |
| chld | Niveau de correction d'erreur et marge | L est la valeur par défaut, puis M, Q et H, qui récupèrent 7 %, 15 %, 25 % et 30 % d'un code endommagé. La marge est une largeur de bordure comptée en rangées, 4 par défaut, et les graphiques non signés l'élargissent pour que le filigrane reste lisible. |
| icqrf | Couleur de premier plan, RRGGBB ou RRGGBBAA | 000000 par défaut. |
| icqrb | Couleur d'arrière-plan | FFFFFF par défaut. Un canal alpha à 00 le rend transparent. |
| chof | Format de sortie | .png par défaut, .svg pour une sortie vectorielle. |
| choe | Encodage des données | UTF-8, la seule valeur prise en charge. |
Un niveau de correction d'erreur plus élevé survit à un autocollant abîmé ou à un code sur lequel quelqu'un a posé un logo, au prix d'une capacité de données moindre dans le même carré. Une charge utile WiFi est courte, donc H ne vous coûte rien ici.
Le mot de passe se trouve dans l'URL, il voyage donc partout où cette URL voyage : historique du navigateur, journaux serveur, cache CDN et statistiques de la page qui l'intègre. Notre politique de confidentialité couvre ce qui se passe de notre côté. Pour le réseau invité d'un café, c'est justement l'intérêt. Pour un réseau auquel vous tenez, générez le code une fois, gardez l'image et jetez l'URL, ou faites tourner l'API dans votre propre réseau avec Image-Charts On-Premise.
Si les codes sortent d'une tâche planifiée ou d'un outil no-code plutôt que de votre propre code, les intégrations et notre outillage pour agents atteignent la même API sans réécriture.