Logo Python

Intégrer Piwik à vos projets Django

Django
Piwik
Python


J’utilise Piwik en lieu et place de Google Analytics et cie. Je vais donc vous décrire comment l’intégrer au sein de vos projets Django. Pour cela, vous avez 2 solutions. La première consistera à mettre tout simplement les scripts Piwik dans votre template de base de votre projet base.html. La seconde solution, plus dans l’esprit Django et l’aspect modulaire de celui-ci, consiste en l’installation de l’application django-piwik. C’est de cette dernière dont je vais vous parlez ici même.

Le module django-piwik

Le module django-piwik est un module développé à la base par Raphael Jasjukaitis (alias raphaa). Ce module n’inclue pas l’ensemble des options disponibles par le suivi Piwik. Je me suis donc attelé à ajouter les options proposées. Vous trouverez ma modeste contribution sur mon profil Github. Raphaa ne souhaitant pas modifier son module (selon l’issue Github du dépôt), lorsque vous installez depuis pip via la commande suivante ce module :

$ pip install django-piwik

Cette commande vous installera la version 0.1 de raphaa.

L’installation de ma version

Pip vous permet d’installer un paquet différent du paquet contenu dans pypi. Pour installer un module depuis Github (notamment ma version de django-piwik), vous devez utiliser la commande suivante :

$ pip install git+https://github.com/apapillon/django-piwik.git@0.3#egg=django-piwik

Cette commande vous installera le module dans /usr/local/lib/python3.4/site-package ou dans votre environnent virtuel env/lib/python3.4/site-packages/ (pour la version 3.4 de Python).

Pour l’installation via le fichier requirements.txt, vous devez ajouter la ligne suivante :

Django==1.8.4
git+https://github.com/apapillon/django-piwik.git@0.3

Cette ligne vous installera le tag 0.3 de mon fork Github du module django-piwik.

Utilisation du module

Pour utiliser ce module, vous devez l’ajouter à la variable INSTALLED_APPS et spécifier les variables PIWIK_SITE_ID et PIWIK_URL.

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
...
    'piwik',
)

PIWIK_SITE_ID = 2
PIWIK_URL = 'piwik.perhonen.fr'
PIWIK_SET_DO_NOT_TRACK = True

Au sein du template principale de votre projet (base.html), vous devez demander le chargement de Piwik piwik_tags puis spécifier l’emplacement voulu des scripts avec tracking_code.

{% load piwik_tags %}

<!DOCTYPE html>
<html lang="fr-FR">
<head>
...
</head>
<body>
  <div id="content" class="container">
{% block content %}
{% endblock %}
  </div>
{% tracking_code %}
</body>
</html>

Les options ajoutées

Vous pouvez spécifier les options suivantes dans votre settings.py afin d’activer ou non les options Piwik voulues.

  • PIWIK_SET_DOCUMENT_TITLE demande à préfixer le domaine du site au titre de la page lors du suivi.
  • PIWIK_SET_DO_NOT_TRACK permet la détection côté client de l’option « ne pas suivre ».
  • PIWIK_DISABLE_COOKIES désactive tous les cookies applicatifs pour ce site.
  • PIWIK_WITHOUT_JS désactive l’utilisation des scripts JavaScript pour activer le suivi par image.

Ces options peuvent être définit au sein du fichier settings.py de votre projet mais sont facultatives.

Source: https://pip.pypa.io/en/stable/reference/pip_install/#vcs-support

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.