Anthor.Net

Blog | jQuery Progression | SlickSpeed | En direct de Twitter | Portfolio | Photographies | Contact

24/01/2010

Pics Engine 3.5 et Google Analytics

Si comme moi vous souhaitez tracker votre galerie PicsEngine, il suffit simplement de modifier deux fichiers.

Dans /admin/inc/gallery.php, il suffit de remplacer la section <body> de Pics Engine par la suivante.

<body>
    <script type="text/javascript">
        var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
        document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
        </script>
        <script type="text/javascript">
        try {
        var pageTracker = _gat._getTracker("UA-XXXXXX-XX"); // Remplacer par votre identifiant.
        pageTracker._setAllowAnchor(true);
        pageTracker._trackPageview();
        } catch(err) {}
    </script>
    <script src="<?php echo $core->getSelf(); ?>admin/?public&amp;action=gallery&amp;redirect_iphone=false" type="text/javascript" charset="utf-8"></script>
</body>

La partie importante de l'opération est l'activation du tracking des ancres dans Google Analytics, le reste du code est le code de tracking proposé de base par Google Analytics. (Cf: Docs GA - _setAllowAnchor )

Dans /admin/library/controller/Controller.Public.php, remplacer la ligne 459

$toWrite .= '<script type="text/javascript" charset="utf-8">function exec(s) { eval(s); } function saveUrl(u) { window.open(u,"_self"); }</script>';

Par :

$toWrite .= '<script type="text/javascript" charset="utf-8">function exec(s) { eval(s); } function saveUrl(u) { window.open(u,"_self"); if(pageTracker){ pageTracker._trackPageview("/" + u); } }</script>';

De cette manière, le code permettant de traquer la page en cours n'est exécuté que si Google Analytics est présent.

Pour voir le script en action, vous pouvez rajouter ce bout de code :

alert("/" + u); /* Renvoi : /#photo=347/album=7 */

Voilà, c'est tout. Pas de grosses modifications. Si cela pouvait être intégré de base, avec une option dans l'admin pour simplement entrer l'identifiant de tracking, ce serait parfait.
Hélas le changement de la barre d'adresse ne semble fonctionner qu'au premier album et à la première photo dans la version actuelle. De même si on arrive pas sur la page d'accueil, le changement d'url ne semble plus fonctionner non plus.
L'auteur du script m'a fourni une version plus récente qui corrige ce problème et avec laquelle le tracking est 100% fonctionnelle. Merci à lui.

A partir de la version 3.5.2 qui devrait sortir prochainement, il n'y aura donc plus de problème pour effectuer vos statistiques. Concernant les mises à jour, pour l'instant, je pense qu'il faudra refaire la manipulation à la main pour le moment.

8/01/2010

Utiliser Zend_Search_Lucene pour créer son propre moteur de recherche!

zf_logo_white.jpg Le Zend Framework contient un composant permettant de créer rapidement et simplement son propre moteur de recherche ! Ce composant nommé Zend_Search_Lucene est un portage, du projet Java du même nom, totalement écrit en PHP5.

Ce composant est autonome et ne demande aucune architecture spécifique. De ce fait il peux servir pour tout nouveau projet ou s'intégrer dans un projet existant. Aucune base de données n'est nécessaire. De plus les index peuvent être utilisés aussi bien avec Zend_Search_Lucene, qu'avec tout autre portage de Lucene (Attention toutefois, tous les encodages ne sont pas supportés !)
Il supporte différents encodages grâce à l'utilisation de différents analyseurs, mais pas l'UTF-8 par défaut, comme PHP me direz-vous :p

Contrairement au reste de la documentation et des autres composants du Zend Framework, le fonctionnement de Zend_Search_Lucene n'est pas des plus explicites.
Dans cet article nous verrons donc, comment utiliser Zend_Search_Lucene pour construire un index, construire les requêtes de recherches et enfin afficher les résultats dans une page. Le tout en UTF-8 bien évidemment.

Lire la suite

18/10/2009

Ajax Queue avec jQuery

En travaillant sur un nouvel outil ce week-end, je me suis rendu compte que l'utilisation des queues en Ajax avec jQuery n'était pas natif.
Il existe quelques pistes à ces adresses, mais rien de vraiment pratique :

Puis j'ai trouvé une version plus intéressante de celui-ci dans le plugin jQuery Autocomplete, néanmoins, même si la fonction ABORT fonctionne correctement, mes appels en queue ne fonctionnaient pas.
J'en ai donc légèrement modifié les sources, en ajoutant un mode DEQUEUE me permettant de lancer la liste d'attente en fin de boucle par exemple.

Grâce à l'utilisation de la variable PORT, on peux ainsi contrôler indépendamment plusieurs queues, ou annuler des requêtes spécifiques, le tout en utilisant la fonction Ajax de jQuery.

Lire la suite

12/10/2009

Bug iGoogle

Vous aussi en ce moment vous avez quelques bugs avec iGoogle ?


6/09/2009

Formatter un fichier Excel avec PHP

Certains clients me demandent parfois des exports en Excel dans leurs back-office. Loin d'être compliqué cet export demande tout de même quelques manipulations.
Rien de bien compliqué néanmoins, puisque une fonction et un header permettent de s'affranchir de cet exercice en moins de temps qu'il n'en faut.

Certes cette méthode affiche un avertissement lors de la première ouverture, mais il faut savoir qu'Excel gère très bien les tableaux. Le fichier s'ouvre donc parfaitement avec les versions XP et 2007.

Lire la suite

- page 1 de 13