Note
Cette page parle de Google Analytics
Note
Cette page parle aussi de Sphinx
Et donc, pour plus de détails, il peut aussi être utile d'avoir en tête le fonctionnement de Sphinx, notamment sur le templating : sphinx-doc.org/templating.html.
Le code de base :
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-38514290-15', 'ga-beacon.appspot.com'); ga('send', 'pageview');
Donc, la première solution est bien sûr de modifier la page de template principale (normalement, _templates/layout.html ou .templates/layout.html) et d'y ajouter ce code entre deux balises <script type="text/javascript"> et </script>.
Si possible, il faut le mettre à la fin de la page, pour accélérer le chargement.
(Et aussi plus facile à maintenir !) Il suffit de créer un script ga.js contenant le morceau de code précédant, et l'ajouter sur votre site, n'importe où.
Par exemple : ga.js.
Il faut alors l'inclure dans chaque page avec ce code HTML à la fin du fichier (dans <bottom> ou à la fin de <body>) :
<script type="text/javascript" async src="http://perso.crans.org/besson/_static/ga.js"></script>
En plus, la balise async accélèrera le chargement de la page en déférant l'exécution du script. Super !
Pour un exemple, vous pouvez consulter le fichier template de ces pages, layout.html.
Sphinx propose une petite extension pour facilement ajouter le suivi Google Analytics, voir sur cette liste (dans ce dossier sur le dépôt de sphinx-contrib). C'est simple et rapide à utiliser, ça marche bien, et par exemple je m'en sers notamment sur des petits projets Sphinx : infoMP/TPs/solution, infoMP/DSs/solution et infoMP/TDs/solution.