Qrcode

Les QrCodes sont des codes barres lisibles essentiellement par les téléphones portables et permettent d’échanger avec ceux-ci diverses informations, et en particulier des liens. Ce plugin à pour objet de permettre à spip d’utiliser des QrCodes pour les documents joints mais aussi pour n’importe quelle information via un modèle et un filtre.Les QrCodes c

Voici un exemple de QrCode (utilisant l’api google chart) :

Prérequis

Ce plugin requiert que le répertoire lib soit créé et accessible en écriture à la racine de l’installation de spip pour permettre l’installation de la librairie phpqrcode.

Installation

Comme tous les plugins : décompression dans le répertoire plugins ou via l’interface spip en mode auto.

Utilisation

Avec SPIP2, utilisez la page de configuration CFG pour choisir les différentes options du plugin.

Configuration du plugin QrCode via CFG

Avec SPIP3, cette page est accessible depuis le menu Configuration>Configuration du QrCode ou depuis la page de gestion des plugins.

Vous pouvez mettre automatiquement un QrCode pour chaque document joint à vos articles.

Vous pouvez utiliser la balise :

<qrcode|texte=...|taille=...>

dans un article pour insérer un QrCode contenant le texte que vous désirez. Par exemple :

<qrcode|texte=Votre code de est : 6703DSS>

Pour que vos utilisateurs puissent enregistrer un code sur leur portable sans avoir à le mémoriser.

Vous pouvez aussi utiliser le filtre |qrcode dans vos squelettes. Ce filtre s’applique à une chaine de caractères quelconques et renvoie le tag html <img .../>
du QrCode correspondant. Par exemple, vous pouvez l’utiliser dans un squelette de la façon suivante :

[(#URL_SITE|qrcode)]

pour permettre à vos visiteurs de visiter votre site depuis leur téléphone portable.

Le filtre admet deux paramètres optionnels :

  • la taille des éléments du qrcode (entre 1 et 10 pixels),
  • le type de correction d’erreur : L (7%) , M (15%), Q (25%) ou H (30%)

Par exemple, on peut l’utiliser dans un squelette :

[(#URL_SITE|qrcode{3,H})]

En savoir plus sur les Qrcodes

D’après Wikipedia, les Qrcodes sont limités en tailles à environ 4000 caractères européens, un peu plus de 7000 caractères numériques

Crédits

Ce plugin utilise la bibliothèque : Librairie phpqrcode, distribuée sous licence LGPL.

Discussion

26 discussions

  • Bonjour,
    Est-ce qu’il est possbile de générer un QrCode de type EPC ?
    https://fr.wikipedia.org/wiki/QR_code_EPC
    Cela permet de fournir toutes les infos pour un paiements SEPA..

    Merci,
    Jul

    Répondre à ce message

  • Bonjour,
    Je suis en train d’intégrer cet outil à mes sites mais je rencontre un petit pépin.

    J’essai de générer un qr_code d’une url avec des paramétres (avec & comme séparateur), voici mon code :

    [(#SET{token,blabla})]                                [(#URL_PAGE{carte_adherent,id_auteur=#ID_AUTEUR}|parametre_url{token,#GET{token}}|url_absolue|qrcode{3,H})]

    Une fois que je scanne le Qr Code avec mon tél, je constate que les séparateurs & dans l’url sont remplacés par leur html (&), cela a pour conséquence que les variables ne sont pas interprétées.
    Voici le résultat du Qr code décodé :

    https://mon.site.fr/spip.php?page=carte_adherent&amp;id_auteur=&amp;token=blabla

    En testant ma balise #ENV, voici le résultat :
    -  page=> carte_adherent
    -  amp ;id_auteur=> 1
    -  amp ;token=> blabla

    Est-ce que quelqu’un aurait une idée ?

    Merci.
    JuL

    Répondre à ce message

  • 1

    Bonjour,

    Ce plugin peut-il être combiné avec le plugin raccourcisseur d’URL pour obtenir des QRcode plus simple ? (4787)

    Merci d’avance,

    Cordialement,

    Hervé

    • Dans SPIP, tu as déjà urldusite/idarticle qui fonctionne.

      Par exemple le lien vers cet article est 3614.

      As-tu vraiment besoin de plus comme raccourcisseur d’URL ?

    Répondre à ce message

  • 2

    Bonjour,
    J’ai peut être pas tout compris.
    Je voudrais mettre le lien de l’article en qrcode automatiquement.
    <qrcode|texte=#URL_ARTICLE>

    Comment faire ?
    Merci d’avance.

    • <qrcode|texte=#URL_ARTICLE> appelle le modèle qrcode.html en lui passant le paramètre texte=#URL_ARTICLE . Mais #URL_ARTICLE n’est pas calculé dans le champ texte d’un article. Pour que #URL_ARTICLE soit calculé, il faut le mettre dans un squelette, par exemple dans article.html mais dans ce cas, il faut utiliser l’autre syntaxe, celle des squelettes :
      [(#URL_ARTICLE|qrcode{3,H})].

      Si c’est trop compliqué, dans l’immédiat, vous pouvez probablement indiquer l’URL de l’article dans le paramètre texte mais ce n’est as propre ni pérenne.

      <qrcode|texte=https://contrib.spip.net/Qrcode>

    • @suske est-.ce qu’on pourrait pas passerr au modèle qrcode un paramère url_article qui produirait automatiquement l’url de l’article courant ?

    Répondre à ce message

  • Bonjour,

    Le QRcode inclus dans une page article pour lui lier un fichier PDF, renvoie systématiquement vers https://www.spip.net, avec par exemple :
    <qrcode|texte=https://www.lettonie-francija.fr/IMG/pdf/atmostas_baltija-paroles.pdf>

    Comment faire pour que celui-ci prenne réellement en compte l’adresse du PDF ?

    je n’ai pas trouvé de réponse dans les précédents forums.

    Merci de vos solutions.

    Répondre à ce message

  • Hello,

    Le paramètre |taille=x ne fonctionne absolument pas.

    Une idée ?

    Merci.

    Répondre à ce message

  • Bonjour
    le modèle

    <qrcode|article=12>

    me renvoie vers spip.net ! ?

    Répondre à ce message

  • Bonjour

    J’ai plusieurs questions :

    1° Dans un article, que faut-il ajouter après <qrcode| pour que cela renvoie directement vers l’url d’un site Internet

    2° Est-il possible de créer un QR code correspondant à une carte de visite ? Si oui, comment ?

    Répondre à ce message

  • 4

    Bonjour,

    Qrcode permet l’utilisation de codes QR. Si j’ai bien compris cela passe par l’intermediaire d’un service Google. Y a-t-il la possibilite d’employer a la place un service vraiment ouvert/libre ?

    • Je cite la documentation : « Voici un exemple de QrCode (utilisant l’api google chart) » :

    • Le plugin utilise une bibliothèque qui ne dépend pas de Google. L’exemple montre juste une utilisation possible avec une api de chez eux.

    • merci, pour ta reponse.me voila rassure.et prchainement, un nouvel utilisateur

    • Merci pour la reponse. Je vais alors l’utiliser sans crainte.

    Répondre à ce message

  • Ces Qrcodes genre « Grand Deuil » ne me conviennent pas, je veux en changer la couleur.

    Allez on y va (à moins qu’un CSS y suffise ? ).

    -  On ouvre (spip 3) plugins/qrcode_v1/lib/qrcode.php.
    vers la ligne 988 on trouve :

     $col[1] = ImageColorAllocate($base_image,0,0,0);

    C’est ce fameux noir.
    Et on change pour sa couleur préférée (en RVB)

     $col[1] = ImageColorAllocate($base_image,133,117,0);

    Ce n’est pas tout car qrcode_v1 a son propre cache image.

    -  vider le cache image.
    Supprimer le contenu de local/cache-qrcode/


    C’est tout et cela donne ça sur mon site.

    Répondre à ce message

  • QRcode et accès restreint.
    C’est super la mise en place automatique des QRCode par le squelette, mais si on a a un accés restreint (plugin du même nom) ?
    Il serait dommage que sur ces pages privées le code apparaisse.
    J’ai donc mis en place une application des boucles complètes
    <Bn>...<//Bn>
    , comme çà :

    <!-- QRcode  (que pour les articles publics)-->
    <B_prive1>
    		<BOUCLE_prive1(ARTICLES) {id_article}{id_secteur=3}>
    <!-- si c'est privé on fait rien -->
                    </BOUCLE_prive1> 
     <!-- on fait rien encore-->			
    </B_prive1>
    <!-- là on est dans l'alternative: l'article n'est pas privé, on fait-->
    		          
     				[(#URL_ARTICLE|url_absolue|qrcode{3,M})]
     				Flasher pour voir cette page "[(#TITRE)]" sur votre mobile 
                                              
    <//B_prive1><!-- on en a fini notez le // ->
    <!--  finQRcode  -->

    où le secteur 3 est le secteur déclaré comme privé.
    (excusez, le code ne se formate pas bien, débrouillez-vous !

    Si ça peut servir ?
    (je peux pas vous montrer, puisque vous n’avez pas accès à la partie privée du site, mais ça marche)

    Pour le reste c’est dans mon message ci-dessous.

    Répondre à ce message

  • QRcode avec une URL Absolue dans le squelette.

    -  #URL_ARTICLE renvoie une adresse relative qui ne marchera pas sur un smartphone.
    -  Heureusement il y a les filtres spip et notamment |url_absolue .

    Il suffira donc d’écrire :

    [(#URL_ARTICLE|url_absolue|qrcode3,M)]

    Voilà.
    un exemple en vrai (en bas d’article).

    Répondre à ce message

  • Bonjour
    Est ce que ce plugin sera décliné pour SPIP3 ? Je le trouvait bien pratique mais il n’est pas encore compatible avec la nouvelle version de SPIP.
    Merci

    Répondre à ce message

  • 1

    Après avoir lu les différents commentaires j’ai bien avancé par contre j’ai un petit souci.
    -  1/ J’ai installé normalement et sans PB le plugin
    -  2/ je l’ai configuré ds CFG en activer les QRcode sur l’ajout des documents joints.
    -  3/ j’ai indiqué la classe CSS etc tout marche.

    Mon pb est ici : quand je joints un document il me fait appraitre un code QR mais celui renvoie une URL fausse à savoir :
    http://URL_site/SPIP2/IMG/fichier.extension

    Mon problème c’est ce SPIP2 qui n’apparait nule part dans mon arborescence sur le server ?
    Moi c’est http://URL_site/CIDJ/IMG/fichier.extension

    Sur le serveur j’ai un répertoire www.dans lequel est installé SPIP.

    • J’ai fini par trouver.
      Erreur de configuration dans les configuration du site et notamment « Adresse (URL) du site public »
      Si jamais ca rrive à d’autres.

    Répondre à ce message

  • Bonjour,

    Est-ce que quelqu’un travaille sur l’adaptation de ce plugin à SPIP 3.0 ?
    Comme vous vous en doutez, je suis très impatient de retrouver mes QRcodes sur mon site fraichement migré.

    Cordialement

    Répondre à ce message

  • 5

    Quand je navigue sur http://mon.site/spip.php?page=qrcode, j’ai l’erreur suivante :

    Warning : require_once(//lib/phpqrcode/qrlib.php) [function.require-once] : failed to open stream : No such file or directory in /home/.../public_html/spip/plugins/auto/qrcode/qrcode_fonctions.php on line 16

    Fatal error : require_once() [function.require] : Failed opening required ’//lib/phpqrcode/qrlib.php’ (include_path=’. :/usr/lib/php :/usr/local/lib/php’) in /home/.../public_html/spip/plugins/auto/qrcode/qrcode_fonctions.php on line 16

    Que se passe-t-il ?

    • Il ne te manquerait pas une lib ?

      Ce plugin requiert que le répertoire lib soit créé et accessible en écriture à la racine de l’installation de spip pour permettre l’installation de la librairie phpqrcode.

    • La lib phpqrcode est bien installée et le fichier qrlib.php est bien présent là où il devrait être.

    • La ligne de code fautive est :
      require_once(find_in_path('lib/phpqrcode/qrlib.php')) ;
      vu ton message d’erreur, find_in_path (fonction du core de spip) retourne : //lib/phpqrcode/qrlib.php, la présence des 2 slash à la place de .. ou d’un chemin valide vers qrlib.php, me laisse penser que c’est un bug de spip ou de ta configuration de spip (le plus probable).

    • J’ai peut être une piste. Il semblerait que la variable _DIR_RACINE ne soit pas initialisée du tout. Savez-vous où ça se trouve dans la configuration SPIP ?

    • A défaut de meilleure solution, j’ai retiré l’appel à la fonction find_in_path dans /home/.../public_html/spip/plugins/auto/qrcode/qrcode_fonctions.php pour obtenir la nouvelle ligne de code :
      require_once(’/lib/phpqrcode/qrlib.php’) ;
      Ce n’est pas idéal mais ça fonctionne.

      Si quelqu’un a une idée sur la raison du non-fonctionnement de la fonction find_in_path , je suis preneur.

      Merci à tous.

    Répondre à ce message

  • Lorsque je navigue sur http://mon.site/spip.php?page=qrcode, j’ai l’erreur suivante :

    Warning : require_once(//lib/phpqrcode/qrlib.php) [function.require-once] : failed to open stream : No such file or directory in /home/cftceads/public_html/spip/plugins/auto/qrcode/qrcode_fonctions.php on line 16

    Fatal error : require_once() [function.require] : Failed opening required ’//lib/phpqrcode/qrlib.php’ (include_path=’. :/usr/lib/php :/usr/local/lib/php’) in /home/cftceads/public_html/spip/plugins/auto/qrcode/qrcode_fonctions.php on line 16

    Que se passe-t-il ?

    Répondre à ce message

  • Bon article ! Après c’est vrai que les français ont un petit temps de retard avec l’utilisation des QR codes... je connais un site qui permet de générer des QR codes et suivre les statistiques : http://codactiv.com/generateur-qr-code.html c’est pas mal fait je trouve !

    Répondre à ce message

  • Bonsoir !
    Merveilleux plugin.
    Toutefois,
    (#URL_ARTICLE
    renvoie l’adresse relative de l’article :
    spip.php ?article342
    or, il me faudrait l’adresse absolue :
    mondomaine.fr/spip.php ?article342
    J’ai essayé :
    [(#URL_ARTICLE|url_absolue|qr_code)]
    mais ça ne marche pas.
    Qq1 a-t-il une idée ?

    Répondre à ce message

  • Bonjour,

    J’ai installé le plugin QRcode et jquery_ui ainsi que dans la lib.
    J’ai bien un QR qui s’affiche dans ma page (même 2 car je test :) )

    (#URL_ARTICLE
    (#URL_DOCUMENT

    Mais quand je mets mon tel devant il ne se passe rien.
    Pourtant j’ai test la page (spip.php ?page=qrcode ?) et ca marche tres bien.

    Une idée ce que je loupe ??

    Mercii
    joachim

    Répondre à ce message

  • Hello

    J’utilise depuis peu qrcode sur Art-logic sous l’icône en pied de page à droite. J’envoie un texte différent à chaque fois et malgré une config placée à 3px /cube, j’obtiens une image de dimension différente. Je suis obligé d’en forcé la dimension pour que cela ne déborde pas de la mediabox. Y a-t-il une solution ? Merci de vos retours.

    Répondre à ce message

  • Une combinaison avec le plugin Coordonnées pour créer des cartes de visite complètes est-il envisageable ?

    de même avec le plugin Contacts & Organisations ?

    Merci d’avance

    Répondre à ce message

  • unFanDeQRCode

    Merci, chapeau bas, cela fonctionne à merveille !
    Merci pour le dévouement que tu déploies pour tes projets.
    Je t’adore, je t’embrasse !

    Répondre à ce message

  • 15
    unFanDeQRCode

    Salut à tous, ce plugin me plait beaucoup mais y a une chose que je n’ai pas saisie dans la lecture du descriptif ci-haut :
    -  fournit-il un moyen de générer automatiquement le qrcode d’un document en pièce jointe ?

    Je l’ai installé et je ne vois rien de plus qu’avant.
    Y a t-il quelque chose à activer outre le plugin ?

    • oui et non :

      • oui : si tu modifie ton squelette [(#URL_DOCUMENT|qrcode)] généra le qrcode
      • non : si tu ne modifie pas ton squelette (il faudrait modifier le modele qrcode pour qu’il accepte un paramètre docid= )
    • unFanDeQRCode

      Ce serait fantastique via une IHM de pouvoir activer l’automatisation de la génération de qrcode sur les documents joints, voir plus tard sur les articles, les rubriques et sous-rubriques.

      Et pour chaque article, rubrique, sous-rubrique et document joint, la possibilité via un bouton bascule de ne pas prendre en compte le qrcode.

      L’usage des smartphones s’intensifie de jour en jour. Cela serait un très bon moyen de simplifier l’accès à la lecture des pages de nos sites spip sur les équipements mobiles de dernière génération.

      Merci d’avoir répondu rapidement.

    • le svn est mis à jour (le paquet bientôt) les documents joints peuvent vraiment avoir leur qrcode (il faut configurer via CFG)

    • unFanDeQRCode

      J’ai bien identifié l’ajout du champ dans cfg\qrcode :
      « Identifiant CSS du conteneur commun des documents joints : »

      mais en pratique, cela devrait changer quoi ? A quoi doit-on s’attendre exactement ?

    • bin tu mets l’identifiants CSS du conteneur html des documents joints (sur un spip nu 2.1.8 : #documents_joints)
      et tu coches : Utiliser les QRcode pour permettre les téléchargements des documents joints
      et ça ajoute un qrcode (via jquery) devant chaque documents joints

    • unFanDeQRCode

      bon je suis paramétreur spip au niveau 1 donc je ne sais que manipuler spip qu’avec les ihm fournies grâce aux plugins.
      j’ai cherché la notion de « spip nu » sans succès et fait un gros effort pour lire la doc de base de spip.
      Je crois avoir identifié le fichier squelettes-dist\inc-documents.html qui gère l’inclusion des documents joints car le fichier squelettes-dist\article.html en fait mention à un endroit bien entouré par les objets html que je perçois dans la page web spip.php ?article=37 en modification dans la console administrateur.
      Dans la balise , la div qui suit se présente ainsi :

      div class=« menu » id=« documents_joints »

      l’identifiant #documents_joints est bien en place, à moins que ce soit dans le fichier css que sa définition soit manquante ou incomplète.
      Bref pour le moment je végète.
      Idée ?

    • unFanDeQRCode

      je viens de m’apercevoir que j’ai dans le répertoire lib
      la bilbio jquery-ui-1.8.9
      est-ce suffisant ?

    • unFanDeQRCode

      oui c’est la bonne version de jquery pour la version 2.1.8 !
      j’ai fait une copie dans le dossier squelettes du fichier squelettes-dist\inc-documents.html
      et je suis prêt pour modifier cette copie dont j’ai compris qu’elle serait prise en compte au dépend de l’originale.

    • Normalement, tu ne devrais pas avoir à modifier ce fichier. Si tu as coché les options précitées et mis l’identifiant css du conteneur commun des documents joints (je ne vois pas comment appeler ce <div> autrement) ça devrait, via jquery, te mettre un qrcode à coté de chaque url, si ça ne le fait pas : tu viens de trouver un bug ;-)

    • unFanDeQRCode

      quand tu dis « mis l’identifiant css du conteneur commun des documents joints »,
      en fait j’ai seulement coché !

      et là pour tester le remplissage du champ « Identifiant CSS du conteneur commun des documents joints : » j’ai fourni la valeur : « mesDocumentsJoints »

      Dans les deux cas de figure, lors de l’ajout d’un pdf à un article dans sa zone « DOCUMENTS », aucun qrcode n’est visible.

      Sinon l’article de test est proposé à l’évaluation, j’ai déjà deux pdf en documents joints et 6 images dans la zone PORTFOLIO et un encart dans la zone ENCART

    • unFanDeQRCode

      Au cas où j’ai supprimé qrcode, vidé les caches spip et navigateur web, réinstallé qrcode et ajouté un document à un article : résultat Il ne se passe toujours rien.

    • et tu l’as péché où cette valeur « mesDocumentsJoints » ?

      Il faut que ce soit l’identifiant de la class CSS (précédé de . ) ou l’id html (précédé de # ) du DIV qui englobe les documents joints dans le code CSS+HTML de la page qui les contient.

    • On y est presque !!!

      J’ai saisi #documents_joints dans le champ « Identifiant CSS du conteneur commun des documents joints : »

      en publication seulement, pas en prévisualisation, les qrcodes apparaissent bien au dessus des icones des documents joints. Bravo !!

      Cependant lorsqu’avec mon androphone et l’application ScanLife (compétence maintes fois démontrées), je cible un qrcode, il trouve une information qui semble être erronée car il manquerait un slash entre http://monServeur/spip et le répertoire IMG/nomFIchier.pdf donc l’appli du phone ouvre dans le navigateur web l’url :
      http://monServeur/spipIMG/nomFIchier.pdf et apache me renvoie une erreur comme quoi il ne trouve pas le fichier sur le serveur.

    • unFanDeQRCode

      découverte revérifiée sur plusieurs qrcodes avec succès !
      un slash est bien manquant.

    • ok, je viens de corriger sur le svn, plus qu’à attendre que qrcode soit ré-empaqueté (quelques heures).

    Répondre à ce message

  • 4

    J’ai pris la nouvelle version qui télécharge phpqrcode, pas de bugs à l’install, mais pas de qrcode non plus

    une question subsidiaire : (#URL_ARTICLE est il fonctionnel ?

    Répondre à ce message

  • 1

    Attention, je signale un petit soucis sur le plugin sur l’appel de la librairie qrcode. Le plugin installe dans lib un dossier qrcode alors que le plugin recherche un dossier phpqrcode. Donc on ne peut jamais installer le plugin. Pour ma part j’ai choisi de modifier le nom du dossier dans lib pour ne pas toucher au code du plugin. En tout cas grand merci pour ce plugin qui va m’être extrêmement utile.

    • En fait, c’est que la librairie téléchargée n’’est pas la bonne ... (mea culpa)
      Attendez demain soir la génération du nouveau paquet

      PS : je ne sais pas pourquoi, mais depuis aujourd’hui, chez moi spip installe les librairies dans plugins/auto ... je dois les redéplacer dans lib/ pour que cela fonctionne.

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom