Dans le cadre d’une veille technologique pour un de nos clients publics, nous avons étudié le sujet du tracking e-mail. Il s’agit d’avoir un suivi de la lecture des newsletters envoyés à des tiers. L’article suivant constitue la 2ème partie sur les outils libres du marché.
1. Critères de sélection
Compte tenu du besoin de l’Administration, nous avons retenu les critères suivants dans le choix des outils de tracking :
- Code source ouvert pour permettre un développement complémentaire de l’outil
- Solution entièrement en ligne, hébergée sur un serveur interne et fonctionnant indépendamment de l’éditeur
- Bonne couverture fonctionnelle du besoin de l’Administration qui est de mesurer la fréquentation des URL contenues dans les newsletters.
- Présence d’une API pour permettre l’intégration avec les logiciels existants
2. Lessnmore
2.1. Présentation
Pays d’origine : États-Unis
Licence : BSD
Date de création : 2009
Technologie : PHP / HTML
Site officiel : http://lessnmore.net/
Lessn More est un outil de raccourcissement URL open source créé par Alan HOGAN. développeur web américain basé aux États-Unis. Il est issu du fork ButteredURLs lui même un fork du projet Lessn de Shaun INMAN datant de 2009.
Lessn More est aujourd’hui un projet inactif sur Github. La dernière version majeure remonte à 2010. Seuls trois contributeurs ont participé au projet. Cela s’explique en partie par le peu d’évolution par rapport aux projets précédents. Lessn More existe également en plugin pour WordPress.
Aucun service de support n’est proposé pour Lessn More. Nous n’avons également pas trouvé de sites références qui utilisent Lessn More.
2.2. Fonctionnalités
Les fonctionnalités principales de Lessn More sont :
- La possibilité d’utiliser des URL personnalisées
- Le bookmarklet qui est un marque-page scripté dans le navigateur permettant de convertir rapidement les URL
- Une API qui supporte les mêmes commandes que l’interface Web
- Un choix du mode de génération d’URL dont la possibilité d’éviter les homoglyphes
- Une liste de mots à exclure pour éviter la génération de mots offensants
- La possibilité de pointer plusieurs URL raccourcies vers une même URL d’origine
Un descriptif de l’ensemble des fonctionnalités de Lessn More est disponible sur le site officiel1.
Illustration 1: Interface de Lessn More
L’interface de l’outil est relativement simpliste avec une fenêtre pour générer l’URL (éventuellement partager le nouveau lien sur Twitter en un clic) et une pour afficher les statistiques. Lors de l’installation sur notre machine test, il a été nécessaire de se réauthentifier à chaque changement de fenêtre. Notons que l’outil est uniquement disponible en anglais, cependant il est possible de traduire les fichiers sources HTML/CSS en français.
2.3. Intégration
2.3.1 Installation
L’installation de Lessn More requiert PHP 5.1+, une base de données MySQL (de préférence), PostgreSQL ou SQLite et le module mod_rewrite activé (présent dans Apache). Un fichier .htaccess pour déléguer la gestion des requêtes de redirection au moteur Lessn More est fourni.
L’installation se fait rapidement et facilement en suivant la documentation. La première étape consiste à configurer et renommer le fichier d’exemple proposé /-/config-example.php à /-/config.php. La deuxième étape consiste à modifier la règle RewriteRule dans le fichier .htaccess pour qu’il corresponde à l’adresse du répertoire racine de l’outil.
Dans notre exemple où le répertoire est sur localhost/lessnmore/. Le fichier .htaccess est le suivant :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /lessnmore/index.php?token=$1 [QSA,L]
</IfModule>
Des informations complémentaires sur l’installation de Lessn More sont disponibles sur la page Github2.
2.3.2 API
L’API de Lessn More se compose uniquement de requêtes GET. L’utilisation de la clé API affichée sur la page d’administration est nécessaire pour chaque requête. Les commandes possibles sont :
La génération d’une adresse courte ou l’interrogation d’une adresse longue déjà présente dans la base de données /-/?api=KEY&url=URL
La génération d’une adresse courte personnalisée /-/?api=KEY&url=URL&custom_url=IDENTIFIANT_PERSONNALISE
La requête est aboutie lorsqu’une URL est renvoyée comme réponse. Sinon la réponse affichée est un message d’erreur.
Des informations complémentaires sur l’API de Lessn More sont disponibles sur la page dédiée du site3.
2.4. Conclusion
Lessn More est un outil de redirection d’URL simple et facile à déployer. Il ne dispose pas d’une grande communauté de contributeurs et n’a pas de mise à jour récente. L’interface d’administration est minimale : conversion d’URL et visualisation du nombre de vues par URL. Notons que Lessn More ne prend pas en charge la conversion des URL dans un e-mail. Cette fonction pourra être développée à partir de l’API fourni.
3. YourLS
3.1. Présentation
Pays d’origine : France
Licence : MIT
Date de création : 2009
Technologie : PHP / HTML
Site officiel : http://yourls.org/
YourLS est l’acronyme de Your Own URL Shortener. Il est présenté comme un ensemble de scripts PHP sous licence libre permettant de déployer son propre système de raccourcissement d’URL comme TinyURL ou Bitly. L’objectif affiché est de maitriser ses propres données sans dépendre de tiers. C’est également un moyen d’ajouter son branding à ses URL courtes au lieu d’utiliser les URL publiques utilisées par tout le monde.
YourLS est développé principalement par Ozh RICHARD, un développeur français en PHP et WordPress originaire de Nantes. Le projet sur Github4 est animé par une petite vingtaine de contributeurs assez réactive. La dernière mise à jour majeure remonte à 2014.
Aucun service de support n’est proposé. YourLS est utilisé par de nombreuses organisations notamment :
- l’Organisation de Coopération et de Développement Économique (http://oe.cd)
- la City University of New York (http://cuny.is)
- le groupe Virgin (http://virg.in)
- l’hébergeur Dreamhost (http://dhurl.org)
3.2. Fonctionnalités
Les fonctionnalités principales de YourLS sont :
- La génération d’URL en séquentiel ou de manière personnalisée
- Le bookmarklet qui est un marque-page scripté dans le navigateur permettant de convertir rapidement les URL
- Les statistiques avancées : historique des clics, suivi des URL sources, géolocalisation des visiteurs
- Accès privé ou accès public (tout le monde peut créer des liens raccourcis)
- Catalogue de plus de 200 plugins couvrant des fonctionnalités supplémentaires et la possibilité de développer les siens
- Un API permettant de générer des URL et de faire des requêtes sur les statistiques
- Des fichiers d’exemple pour créer sa propre interface publique
Un descriptif de l’ensemble des fonctionnalités de YourLS est disponible sur le site officiel5.
L’interface de YourLS est relativement simple et intuitive. La page d’accueil affiche directement un tableau avec les URL raccourcies, les URL d’origine, un filtrage et triage des Urls, et enfin un champ de texte pour ajouter rapidement une URL raccourci, il est ensuite possible d’aller dans le détail des statistiques pour chaque URL. L’outil est uniquement disponible en anglais, cependant il est possible de traduire les fichiers HTML/CSS sources en français. L’interface peut également être personnalisée à l’aide d’un plugin tiers6.
Illustration 2: Interface de YourLS
3.3. Intégration
3.3.1 Installation
L’installation de YourLS requiert PHP 5.2+, une base de données MySQL 4.1+ (de préférence), PostgreSQL ou SQLite et le module mod_rewrite activé (présent dans Apache). L’extension PHP CURL est également nécessaire pour utiliser l’API.
L’installation se fait rapidement et facilement en suivant la documentation. La première étape consiste à configurer et renommer le fichier d’exemple proposé /user/config-sample.php à /user/config.php. La deuxième étape consiste à modifier la règle RewriteRule dans le fichier .htaccess pour qu’il corresponde à l’adresse du répertoire racine de l’outil.
Dans notre exemple où le répertoire est sur localhost/yourls/. Le fichier .htaccess est le suivant :
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*$ /yourls/yourls-loader.php [L]
</IfModule>
3.3.3.2 API
L’API de YourLS se compose de requêtes GET et POST. Le token signature ou un couple utilisateur / mot de passe est nécessaire pour toute action. Les demandes possibles sont :
action= « shorturl » : pour générer une URL raccourcie avec optionnellement l’identifiant et le titre souhaités
action= « expand » : pour avoir l’URL d’origine à partir d’une URL raccourcie
action= « url-stats» : pour avoir les statistiques d’une URL raccourcie sous format jsonp, json ou xml
action= « stats» : pour avoir les statistiques globales avec des options de tris et de filtres, sous format jsonp, json ou xml
Ci-dessous, l’exemple d’une requête Javascript utilisant JSQuery pour raccourcir une URL :
var api_url = ‘http://sho.rt/yourls-api.php’;
var response = $.get( api_url, {
username: « your_username »,
password: « your_password »,
action: « shorturl »,
format: « json »,
url: « http://ozh.org/ » },
// callback function that will deal with the
server response function( data) {
// for instance, return short URL
return data.shorturl; } );
3.3.4. Conclusion
YourLS est un outil de redirection d’URL complet et facile à déployer. Il est utilisé par quelques sites de référence et la communauté de contributeurs est relativement active. L’interface d’administration permet de filtrer et trier les statistiques de fréquentation ainsi que d’avoir des historiques sous forme graphique. Notons que YourLS ne prend pas en charge la conversion des URL dans un e-mail. Cette fonction pourra être développée à partir de l’API fourni.