Analyse du besoin
Dès mes premiers sites web, j'ai voulu suivre l'audience de mes sites. Même si ces derniers sont peu fréquentés, il est toujours intéressant d'analyser le trafic de son site. Jusqu'à cette extension, je me contentais de copier/coller le code source fourni par la solution dans le footer de mes pages. Mais encore une fois, du fait de mon utilisation d'eZ Publish, il m'a paru intéressant de faire une extension afin de pouvoir rendre commun le fonctionnement de l'affichage du marqueur parmi mes différents sites.
Configuration PHP requise
Aucune contrainte particulière.
Structure du développement
Cette extension contient :
- un opérateur de template : l'opérateur de template permet d'afficher où l'on souhaite le marqueur sur les pages.
- un design : on distingue deux variantes de marqueurs selon que votre soit en HTML ou en XHTML. De plus, chaque variante gère à la fois l'affichage du code HTML et la génération du code JavaScript.
- un module : le module permet de générer le code JavaScript nécessaire à l'affichage du marqueur
- des settings :
- design.ini : déclare l'extension mdxiti comme détentrice d'un design
- module.ini : déclare le module mdxiti pour la génération du code JavaScript lors de l'appel sur l'url /mdxiti/script.js
- site.ini : déclare l'opérateur de template, et autorise les appels sur l'url /mdxiti/script.js pour la génération du code JavaScript
- xiti.ini : configuration nécessaire pour le bon affichage du marqueur
Configurations possibles
La configuration se passe principalement dans le fichier xiti.ini. Voici en détail son contenu :
#Configuration for Xiti
[Availables]
#Availables logos
Logos[]
Logos[default]=hit
Logos[black]=g
Logos[bleu]=bcg
Logos[black_red]=grcg
Logos[yellow]=oco
Logos[red_yellow]=orcr
Logos[red]=rcg
Logos[green]=vcg
#Availables formats
Formats[]
Formats[html]=html
Formats[xhtml]=xhtml
#Current website's configuration
[SiteSettings]
#Logo id picked from Availables::Logos
Logo=
#Format id picket from Availables::Formats
Format=
#Sites' id from Xiti Back-Office
SiteId=
#Xiti uri
LogUri=
#Public url to access to your audience, not required
PublicationUrl=
Utilisation de l'extension
Afin d'activer cette extension, il vous suffit de :
- rajouter l'extension mdxiti dans la liste des extensions chargées par votre siteaccess
- régénérer l'autoload des classes : bin/php/ezpgenerateautoloads.php -e
- appeler l'opérateur de template de la sorte {display_xiti_tag()} dans la zone du site où vous souhaitez afficher le marqueur. Assurez-vous que cette zone soit afficher sur l'ensemble des pages de votre site. Si vous souhaitez personnaliser le nom de la page dans la marqueur, il vous suffit de le passer en paramètre lors de l'appel de l'opérateur.
- vérifier que l'extension fonctionne :
- l'extension défini des balises meta, mais tout dépend de votre méthode pour générer le contenu de la balise head de votre site
- une balise HTML du type <div id="xiti-logo">[...]</div> doit être présente dans votre code source dans la zone où vous avez placé l'appel. Cette balise contient une balise script faisant l'appel sur l'url /mdxiti/script.js
- le logo choisi doit s'afficher sur votre page
Pour information, ce site utilise cette extension, vous pouvez donc vous rendre compte du résultat.
De plus, elle fait appel à la classe detectBots déclarée dans l'extension mddetectbots afin d'afficher ou non le marqueur.
Axes d'améliorations/évolutions
Si vous pensez à d'autres améliorations et évolutions, n'hésitez pas à m'en faire sur la page projet de la plateforme de votre choix dans les ressources listées ci-dessous.