Shlink

Shlink

C'EST QUOI ?

Shlink est un raccourcisseur d'URL que l'on héberge soi-même pour servir ses liens courts sous son propre domaine. Le serveur expose une API REST et une interface en ligne de commande. Par-dessus, un client web officiel gère plusieurs instances depuis un navigateur, à utiliser sur app.shlink.io ou à héberger comme le reste. L'image Docker officielle se configure par variables d'environnement.

POURQUOI C'EST INTÉRESSANT ?

  • Vos liens sous votre domaine : les URLs courtes sortent sous votre nom de domaine, et le mode multi-domaine autorise le même slug sur plusieurs domaines à la fois.
  • API d'abord : l'API REST couvre les opérations courantes, avec des clés à rôles qui restreignent l'accès par domaine. La génération de clés reste réservée à la ligne de commande.
  • Redirections dynamiques : un même lien court renvoie vers des destinations différentes selon la géolocalisation, le type d'appareil ou la langue du visiteur.
  • Statistiques de visites : localisation, navigateur et referrer, avec détection des bots pour écarter le trafic automatisé. Les adresses IP sont anonymisées par défaut.
  • Événements temps réel : les visites se souscrivent via Mercure ou RabbitMQ, de quoi brancher un tableau de bord maison ou un traitement en aval.

CAS D'USAGE

  • Servir les liens d'une campagne sous un domaine de marque plutôt que sous un service tiers.
  • Créer des liens courts depuis un script ou un back-office par appel à l'API REST.
  • Limiter un lien à une plage de dates ou à un nombre de visites pour une opération temporaire.
  • Reprendre l'existant : Shlink importe les liens de services externes comme bit.ly.
  • Classer les liens par tags pour suivre les statistiques campagne par campagne.

Côté installation, il faut PHP 8.4 ou 8.5 avec les extensions json, curl, pdo, intl, gd et gmp ou bcmath, puis une base MySQL, MariaDB, PostgreSQL, Microsoft SQL ou SQLite. Un installeur en ligne de commande guide la configuration, et la première clé d'API se génère avec bin/cli api-key:generate. Le projet est sous licence MIT.