Je ne connaissais pas beaucoup le service Bit.ly pour raccourcir les URL, surtout parce que je ne lui avais pas donné sa chance et que j'utilisais TinyUrl depuis belle lurette. Quand j'ai vu qu'ils offraient un service de statistiques sur les clicks des liens publiés et que le tout pouvait se compiler et garder une trace dans son profil (enregistrement gratuit), j'ai songé à faire le saut à ce service. Côté statistiques, remarquez que vous pouvez les consulter pour n'importe quel lien Bit.ly en ajoutant un + à la fin de l'URL, et ce, sans même être connecté. Par exemple, pour l'adresse http://bit.ly/c6aFUo, on y accédera par http://bit.ly/c6aFUo+.
L'autre avantage, moins important, est que l'URL simplifié est plus court que celui de TinyUrl (11 lettres pour le domaine versus 6 caractères pour Bit.ly), ce qui donne un léger avantage d'espace pour les messages sur Twitter.
Pour raccourcir un URL, on peut le faire manuellement à partir de la page d'accueil. Pour le faire par programmation, il vous faudra obtenir une clé d'utilisation. Créez votre compte, connectez-vous et rendez-vous à cet URL pour obtenir votre clé personnalisée.
Tout comme pour l'API de TinyURL, vous devrez composer un URL en passant les paramètres et options par GET. Comme un exemple vaut 1000 mots, voici du code PHP détaillé qui permet de faire appel à l'API de Bit.ly à l'aide de CURL.
$longUrl = 'http://code18.blogspot.com';Si vous préférez la simplicité de file_get_contents() pour remplacer CURL (advenant que l'extension ne soit pas installée), ça fonctionne tout aussi bien :
$apiUrl = 'http://api.bit.ly';
$version = 'v3';
$action = 'shorten';
$login = 'code18';
$apiKey = 'votre_cle_ici';
$format = 'txt'; // objet json aussi disponible
$callback = ''; // a utiliser avec jsonp
$parameters = "login=$login&apiKey=$apiKey&longUrl=$longUrl&format=$format&callback=$callback";
$ch = curl_init("$apiUrl/$version/$action?$parameters");
curl_setopt($ch, CURLOPT_NOBODY, False);
curl_setopt($ch, CURLOPT_HEADER, False);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, True);
$shortUrl = curl_exec($ch);
echo $shortUrl;
$shortUrl = file_get_contents("$apiUrl/$version/$action?$parameters");Pour plus de détails, consultez la documentation de l'API de Bit.ly. En passant, l'extension de domaine .ly est pour la Libye, un pays d'Afrique du Nord.