Piwik

De SeRoM - Wiki
Aller à : navigation, rechercher

Ajout du 'tracking script'

Au wiki Mediawiki

Ma première tentative avait été de copier le bout du 'tracking script' dans le fichier de skins: ./mediawiki/skins/MonoBook.php. Ce n'est pas le meilleur endroit, car à chaque mise à jour ce fichier sera écrasé (Sauf si vous avez créé votre petit skin à vous).

Installons plutôt l'extension qui va bien: Piwik_Integration.

On va télécharger et déployer l'extension:

 cd ./extensions/
 wget http://upload.wikimedia.org/ext-dist/Piwik-MW1.18-r91107.tar.gz
 rm Piwik-MW1.18-r91107.tar.gz
 cd Piwik

On édite notre fichier LocalSettings.php pour activer l'extension et définir les deux variables:

  • wgPiwikURL: L'url de votre server Piwik avec le sous répertoire (et se finissant par /)
  • wgPiwikIDSite: L'id piwik de votre site. vous le trouvez dans les script que piwik génère pour vous.
 // Active l'extension Piwik_Integration
 require_once('extensions/Piwik/Piwik.php');
 $wgPiwikURL = "MonDomain.com/piwik_dir/";
 $wgPiwikIDSite = "piwik_idsite";

À une galerie Piwigo

On peut rajouter le javascript dans le fichier footer.tpl. Mais Piwigo recommande de ne pas changer le fichier d'origine mais plutôt d'effectuer les modifications sur une copie du fichier et puis de faire pointer Piwigo dessus.

On prend une copie:

 cp ./themes/default/template/footer.tpl ./template-extension/distributed/samples/my-footer.tpl

On édite la copie:

 vim ./template-extension/distributed/samples/my-footer.tpl

Copiez/collez les lignes de script de piwik entre la ligne 26 et 27. Et entourez le des balises {literal}script{/literal}.

 25 {/foreach}
 26 {/if}
      Add the balise {literal}
        ===>>     Add your script here!     <<===
      Add the balise {/literal}
 27 </div> 
 28 {if isset($debug.QUERIES_LIST)}

Au final on va lier ce nouveau fichier à notre footer. Dans la page d'Administration > Configuration > Templates (modèles)

 Remplaçants (templates modifiés)      Templates d'origine      Paramètre facultatif de l'URL      Thème rattaché
 distributed/samples/my-footer.tpl     footer.tpl               ------                             ------

À un site Joomla

Comme pour Mediawiki, j'ai rajouté le tracking script de Piwik dans le template (skins).

Même remarque que pour le Mediawiki, si vous avez créer votre propre template, cela risque de pauser problème d'écrasement lors d'une mise à jour.

./joomla/templates/myLovelySkin/index.php

 148 </div>
 149 <jdoc:include type="modules" name="debug" />
 
 ...       ===>>      Add your script here!       <<===
 
 164 </body>
 165 </html>

À un site non-dynamique en HTML

J'ai l'habitude de générer mes galeries photos simplement avec gthumb. Cela m'évite la gestion d'un CMS supplémentaire pour lequel il faut tenir à l’œil les mises-à-jour...

Malheureusement, pour chaque photos, cela génère une page html. J'ai donc écrit un petit shell script qui va rajouter le traking script(s'il n'est pas déjà là) à la fin de toutes les pages html d'un dossier.

add-piwik-scipt-to-photo.sh:

 1 #!/bin/bash
 2
 3 PIWIK_SCRIPT_FILE="/home/user/my-scripts/photo/piwik-script.txt"
 4 GALLERY_DIR="/var/www/gallery"
 5 
 6 for page in $(find ${GALLERY_DIR} -name "*\.html"); do
 7     grep -i "<\!-- Piwik -->" ${page} >/dev/null
 8     retcode=$?
 9     if [ ${retcode} != "0" ]; then
10         echo "(+) Adding the Piwik script in ${page}"
11         sed -i -e "/<\/body>/ {
12             h
13             r ${PIWIK_SCRIPT_FILE}
14             g
15             N
16             }" ${page}
17     else
18         echo "(i) Piwik script already detected in ${page} ... skipping"
19     fi
20 done

Mise à jour Automatique

Adapter les droits

On va remettre www-data comme owner de dossier de piwik:

 chown -R www-data:root /var/www/piwik

Install

On lance la mise à jour automatique.

Reset des droits

On défini les droits plus stictes:

 chown -R root:www-data /var/www/piwik
 chown -R www-data:www-data /var/www/piwik/tmp
 chown -R www-data:www-data /var/www/piwik/config
 chmod -R o-rx /var/www/piwik/config