Anthor.Net

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

Tag - Javascript

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.

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

13/08/2009

L'importance de compresser les fichiers statiques

Lorsque j'ai commencé Tarschool, j'ai immédiatement mis en place un système de compression des fichiers. Celui-ci est de deux sortes :

  • Minification des fichiers JS et CSS
  • Compression avec le mode deflate des fichiers JS et CSS

Faciles et rapides à mettre en place, ces solutions permettent souvent d'économiser au minimum 75% de la bande passante utilisé par le serveur en mode normal.

Voici un petit récapitulatif des solutions que nous avons mis en place et de leurs économies associées.

Lire la suite

4/07/2009

Plateau de jeu en 3d isométrique, le retour (1)...

Il y a quelques mois déjà, j'avais mis au point un module de plateau de jeu en 3d isométrique. Mis de côté pour le développement de Tarschool, je n'avais plus du tout mis le nez dedans.

Ayant un peu plus de temps, et parfois le besoin de me changer les idées, il m'arrive désormais de travailler un peu dessus.

Je me suis pour le moment principalement attelé à la création du continent au nord, avec sa côte ouest, et ses 14 villes. Pour le moment seul l'emplacement des villes et des rivières a été terminé. Cette partie représente environ 200 cases de large sur 200 cases de haut. Ce qui fait environ 1/12ème du monde prévu pour le moment.

J'espère très prochainement pouvoir ouvrir ce monde à la visite, mais il reste des optimisations à faire au niveau de l'affichage.

24/10/2008

Slickspeed - Mise à jour

Ajout des librairies YUI 2.6.0, DOMAss 2.7.3, Dojo Query 1.2, Ext 2.2 dans Slickspeed, ce qui donne maintenant 37 librairies utilisables directement, en les combinant.

=> Slickspeed

N'hésitez pas à demander les librairies que j'aurais oublié ou manqué.

- page 1 de 2