«Whois Online» est un plugin d’information sur les visites d’une galerie Piwigo.
Dans PhpWebGallery (version précédente de Piwigo), pour offrir des indications sur les visites observées, j’avais développé un plugin basé sur l’historique des visites de la galerie.
Malheureusement la volumétrie de l’historique croit, et toute requête devient vite pénalisante pour le serveur MySQL.
Pour que le plugin fonctionne, nous devions activer l’historique. Le provider Free s’était empressé de faire la chasse aux historiques en base de données, condamnant ainsi ses clients à ne plus pouvoir afficher ces indications.
Dans une optique radicalement opposée, j’ai donc conçu «Whois Online».
Une petite table, épurée régulièrement, devient donc la clé de voûte du plugin.
La structure (sans entrer dans les détails):
- La session php.
- La première (ou dernière) adresse IP (connue).
- L’identifiant de l’utilisateur.
- Son pseudo.
- La langue utilisée.
- La permanence de ce suivi (‘false’ par défaut).
- Le time() php du dernier accès.
- Les 10 derniers ids utilisés via picture.
- Les 10 derniers ids de catégories présentées via index.
- Les 10 derniers ids de tags présentés par picture.
- Les 10 derniers ids de recherches présentés par picture.
- La date du premier accès connu.
- Les hits sur picture.
- Les hits sur picture/index.
- etc.
À savoir: Un enregistrement global conserve le nombre de hits par minute (10), par tranches de 5 minutes (12), par heures (24), et par jour (14).
À l’activation du plugin, la table est crée si elle n’existe pas déjà.
À la désactivation, la table est supprimée sauf si elle est protégée (Option par défaut, modifiable en configuration).
À chaque visite de l’index ou de picture, (Événements « loc_begin_index » et « loc_begin_picture ») le plugin met à jour la table, prépare les informations, et (suivant les options en configuration) il affiche ou non les éléments d’information.
Les visites (Hits) des pages Comments, Tags, Search, Notification, Identification et autres ne sont pas comptabilisés.
Nous présentons une galerie ne l’oublions pas.
Vous pouvez configurer le plugin en sachant que pendant les 24 premières heures, les informations affichées seront incomplètes (il n’y avait rien avant).
Au-delà de 24h, vous pouvez afficher les informations que vous souhaitez. Vous pouvez ne pas afficher les données par le plugin mais par votre template extension. Voir le template fourni, default.tpl, pour un exemple d’utilisation des variables {$Whois.xxxx}.
À lire l’article : « Whois Online : côté template ».
Vous devez encore savoir que le nombre de hits des images est calculé au départ sur la base des hits connus dans la table images. Par contre pour le total des pages d’index et le total, il s’agit d’estimations (respectivement 70% et 170% du nombre de hits des images).