Nous savons que la force de Joomla! réside dans sa flexibilité et dans l’interconnexion de ses extensions. Chaque composant va ainsi avoir sa spécialité et va pouvoir interagir avec les autres afin de fournir un service complet et cohérent. Prenons un exemple concret avec une billetterie en ligne et le site web « Delta Evasion ».

Comment créer une billeterie en ligne sous Joomla!


Une billetterie en ligne ?

Dans notre cas d’étude nous n’allons pas avoir une billetterie dans le sens classique ; tel qu’un spectacle ou un concert ; mais un billet pour accéder à une activité proposée par le site et qui sera présenté sous la forme d’un bon cadeau.

Tout comme dans une billetterie classique, ce bon ne sera utilisable qu’une seule fois, mais puisque nous sommes en ligne, il est dématérialisé. Il faut donc que ce bon soit unique, qu’il soit lié à une commande, qu’il puisse être personnalisé et surtout que l’on puisse « poinçonner » ce billet électroniquement parlant. Dans notre cas avec « Delta Evasion », il faut que le moniteur puisse valider le coupon facilement et rapidement ; rien de tel que l’utilisation d’un smartphone et d’un QRCode !

créer une billeterie en ligne avec Joomla!

Exemple de bon cadeau (source)

Qui dit « en ligne » dit boutique e-commerce sur notre site Joomla! et pour cela nous installons la solution HikaShop. Cela nous permet de vendre des produits sur le site, de profiter d’un grand nombre de plugins et d’intégrations ; cela nous permet également d’utiliser le logiciel HikaSerial afin de vendre des produits uniques.

Le rôle principal d’HikaSerial est de générer du contenu unique lorsque des produits sont achetés : ce contenu est appelé « serial ».
Afin de pouvoir différencier et regrouper les serials, des « packs » sont utilisés.

Les produits souhaitant avoir du contenu unique sont alors liés à ces packs, lors de la validation de la commande, HikaSerial ira alors piocher dans les serials disponibles du pack et si nécessaire, en générera dynamiquement.

De génération en génération

HikaSerial est une petite boite à outils pour HikaShop, il inclut de base une quinzaine de plugins dont la majorité sont des plugins de génération de serial.

Alors qu’il est tout à fait possible d’importer ou de créer manuellement ses serials afin d’avoir du contenu très spécifique ; il est également possible d’avoir un plugin qui fera le travail à votre place.

Dans les générateurs de base, nous retrouvons le plugin « random » permettant de créer des numéros de série aléatoires respectant un format personnalisable.

parametre HikaSerial

Exemple de configuration du plugin « random »

D’autres générateurs vont permettre de créer des numéros consécutifs, des coupons de réduction pour HikaShop, des codes au format EAN (pour créer des codes barres) et certains peuvent même se connecter à des systèmes externes comme le plugin pour la plateforme « secure e-book ».

Pour le site « Delta Evasion », une génération de sérial aléatoire est utilisée afin d’avoir des codes uniques sans fonctionnalité supplémentaire. Le reste du processus de la billetterie sera via le système de consommation permettant de marquer un sérial comme utilisé.

Consommation en masse

Lorsque l’on fait une billetterie, il y a forcement un moment où l’on va utiliser notre billet et qu’il va être poinçonné, le marquant ainsi comme utilisé et empêchant qu’il ne soit réutilisé.

Dans HikaSerial, le fait d’utiliser un sérial est appelé « consommation » et il existe un type de plugin qui va agir ou interagir avec cette action.


Pour le site « Delta Evasion » ou une billetterie classique, nous ne voulons autoriser que certains utilisateurs à pouvoir valider un billet ; empêchant ainsi que le client ne puisse invalider son billet par erreur en scannant le QRCode. Un plugin de filtre par groupe est ainsi utilisé par le site laissant uniquement le personnel faire la vérification et l’utilisation du billet.

Les plugins de consommation peuvent également exécuter des actions spécifiques une fois le sérial utilisé. Cela peut être le gain de crédit, le changement de groupe utilisateur Joomla, l’ajout d’un produit dans le panier, etc.

Entre la génération et la consommation nous avons le début et la fin de la chaîne ; il est maintenant temps de voir la mise en place et ce qu’il peut se passer entre ces deux moments.

Vous aimez cet article ? Achetez le magazine !

La mise en place

Afin d’éviter de faire des allers-retours, le plus simple est de créer dans un premier temps une configuration de générateur. Les plugins internes d’HikaShop et d’HikaSerial fonctionnent en instance ; un plugin peut avoir plusieurs configurations différentes.

Une fois le générateur en place, nous pouvons créer nos packs. Dans notre cas, les billets pour les différents services proposés vont avoir des visuels différents : il faut donc créer un pack par visuel.
Les éléments importants dans un pack qui va être utilisé pour une billetterie sont d’activer la fonctionnalité de « consommation » et également celle de « web-services ». C’est via le « web-service » qu’il sera possible de faire l’utilisation du sérial avec son smartphone.

reglage HikaSerial

Afin de n’autoriser que certains utilisateurs à faire la validation du billet, nous allons utiliser le plugin « Group filter consumer » qui va permettre de sélectionner les groupes d’utilisateurs Joomla! qui pourront utiliser les sérials des packs choisis.

A partir de ce moment là, notre billetterie est configurée mais il nous reste à créer notre billet !

Billet, mon beau billet

L’un des plugins phares d’HikaSerial est « attach serial », il permet de créer dynamiquement des images et de les inclure dans les e-mails de notification d’HikaShop ou d’en faire des fichiers téléchargeables.

Bien qu’un peu complexe au premier abord, il est très flexible et permet de dessiner dans l’image toutes les informations disponibles dans une commande ; allant du nom de l’utilisateur à l’image du produit en passant par le QRcode d’une URL de votre choix.

La création de votre billet commence par une image que vous devez fournir ; cette image sera la base et déterminera la taille finale, le reste de la configuration permettant de dessiner par dessus votre image pour agrémenter le tout. De base le plugin propose de sélectionner un grand nombre de « tables » et fournit quelques champs tout prêts à l’emploi (comme le prix du produit déjà formaté).


Des tables comme « Commande... » il faut indiquer quel champ vous souhaitez afficher ; pour savoir ce que vous pouvez entrer comme donnée, il faut se pencher du côté de la base de données.

L’interface n’est donc pas des plus intuitives mais elle donne une flexibilité extrême puisque tous les champs des tables peuvent être utilisés ainsi que toutes les données d’une commande, de l’utilisateur, des adresses, des produits et même des options de ces produits.
Dans le cadre de notre billet « Delta Evasion », les options du vol en parapente sont affichées sous forme de texte ; avec des champs personnalisés il est même possible d’afficher du texte spécifique ou même des images.

Finalisation de la billetterie

Afin d’avoir notre poinçonnage avec un smartphone, nous allons ajouter un QRCode sur notre billet et nous savons que grâce au plugin de filtre sur les groupes, seuls les gens autorisés pourront faire la validation des billets.

Pour créer notre QRCode, nous allons ajouter du « texte dynamique » dans notre image et spécifier une URL :

http://VOTRE_SITE/index.php?option=com_hikaserial&ctrl=serial&task=consume&hikaserial[data]={serial.serial_data}&confirmation=1&hikaserial[format]=html

Avec certaines applications smartphones, lorsqu’un QRCode est flashé la page web est automatiquement récupérée afin d’afficher certaines informations ; de ce fait l’utilisateur ne peut pas voir le contenu car le sérial sera directement utilisé.
Le fait d’avoir un paramètre « confirmation » permet de ne pas valider automatiquement le billet lorsque le code est flashé ; une page de confirmation sera affichée afin de demander à l’utilisateur s’il confirme cette action.

Allez plus loin

Avec Joomla, HikaShop et HikaSerial, nous avons pu mettre en place un système de billetterie en ligne assez rapidement et directement intégré avec le reste du site.

En utilisant ces mêmes composants, il est possible de fournir d’autres services. HikaSerial agissant comme un « couteau suisse » via ses différents plugins.


En changeant de générateur pour les sérials il est possible de générer des coupons de réduction pour HikaShop et ainsi vendre des « cartes cadeaux », souvent prisées pour Noël ou les anniversaires.

À propos de l'auteur

Jerome Glatigny

Développeur de HikaMarket (solution multi-vendeur) et HikaSerial (solution de billetterie) pour Joomla!.