Raccourcisseur de liens

Transformez n'importe quel lien long en lien court sur le domaine fastols.com/ en quelques secondes, avec un compteur de clics pour chaque lien

Qu'est-ce que l'outil de raccourcissement de liens de Fastols ?

Cet outil transforme n'importe quel lien long en un lien court sur le domaine fastols.com, avec la possibilité de choisir un nom personnalisé et de définir une durée de validité facultative.

Chaque lien court affiche un compteur de clics indiquant le nombre de fois où il a été utilisé après sa création.

Seul le lien que vous soumettez est stocké

Aucun historique de navigation ni donnée personnelle n'est collecté — seulement l'URL raccourcie.

Lien court en un clic

Collez une longue URL et obtenez un lien court fonctionnel instantanément.

Gratuit, sans expiration

Les liens raccourcis n'expirent jamais et il n'y a aucune limite à leur nombre.

Comment raccourcir un lien

Questions fréquentes sur le raccourcissement de liens

Peut-on choisir un nom personnalisé pour le lien court ?

Oui, vous pouvez saisir un nom personnalisé de 30 caractères maximum dans le champ prévu à cet effet ; s'il est laissé vide, un nom est généré automatiquement.

Quelles durées de validité sont disponibles pour un lien raccourci ?

Vous pouvez choisir un lien sans expiration, ou valable 1 jour, 7 jours ou 30 jours.

Le lien long est-il stocké sur le serveur de Fastols ?

Oui, le lien long est enregistré sur le serveur afin que l'outil puisse rediriger les visiteurs vers celui-ci lorsque le lien court est utilisé.

L'outil affiche-t-il le nombre d'utilisations du lien court ?

Oui, un compteur de clics associé au lien court s'affiche après sa création.

Que se passe-t-il une fois la durée de validité du lien écoulée ?

Le lien court cesse de fonctionner à l'issue de la durée définie lors de sa création.

Vous voulez en savoir plus ?

Guide complet : raccourcir un lien gratuitement

Lire le guide complet
document.addEventListener('DOMContentLoaded',function(){ var shell = document.getElementById('toolShell'); var API_BASE = window.FASTOLS_API_BASE || ''; var $url = shell.querySelector('#longUrl'), $alias = shell.querySelector('#customAlias'), $expires = shell.querySelector('#expiresSelect'), $btn = shell.querySelector('#shortenBtn'), $status = shell.querySelector('#shortenStatus'), $resultBox = shell.querySelector('#resultBox'), $shortOut = shell.querySelector('#shortUrlOut'), $copyBtn = shell.querySelector('#copyShortBtn'), $clicksInfo = shell.querySelector('#clicksInfo'); function formatExpiry(iso){ try { var d = new Date(iso); return d.toLocaleString(); } catch (e) { return iso; } } function esc(s){ return (s||'').replace(/&/g,'&').replace(/"/g,'"').replace(//g,'>'); } function setStatus(ok, msg){ $status.style.display = 'block'; $status.style.cssText = 'display:block;margin:2px 0 4px;border-radius:12px;padding:10px 14px;font-size:12.5px;line-height:1.8;border:1.5px solid ' + (ok ? '#16A34A55' : '#DC262655') + ';background:' + (ok ? '#16A34A14' : '#DC262614') + ';color:' + (ok ? '#15803D' : '#2DCC29') + ';'; $status.innerHTML = '' + esc(msg) + ''; } function clearStatus(){ $status.style.display = 'none'; $status.innerHTML = ''; } function shorten(){ var url = ($url.value || '').trim(); var alias = ($alias.value || '').trim(); var expiresDays = $expires ? ($expires.value || '').trim() : ''; if (!url) { setStatus(false, FastolsI18n.t('tool.shorten.errEmpty', 'Veuillez d\'abord saisir un lien.')); return; } clearStatus(); $resultBox.style.display = 'none'; $btn.disabled = true; var origLabel = $btn.textContent; $btn.textContent = FastolsI18n.t('tool.shorten.loading', 'Raccourcissement...'); var payload = { url: url }; if (alias) payload.alias = alias; if (expiresDays) payload.expires_in_days = parseInt(expiresDays, 10); fetch(API_BASE + '/api/shorten', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(payload) }).then(function(res){ return res.json().then(function(data){ return { ok: res.ok, data: data }; }); }).then(function(r){ $btn.disabled = false; $btn.textContent = origLabel; if (!r.ok) { setStatus(false, r.data && r.data.error ? r.data.error : FastolsI18n.t('tool.shorten.errGeneric', 'Une erreur s\'est produite, veuillez réessayer.')); return; } $shortOut.textContent = r.data.short_url; $resultBox.style.display = 'block'; $clicksInfo.textContent = r.data.expires_at ? FastolsI18n.t('tool.shorten.expiresInfo', 'Le lien expire le : {date}').replace('{date}', formatExpiry(r.data.expires_at)) : ''; setStatus(true, FastolsI18n.t('tool.shorten.success', 'Lien court créé avec succès ✓')); }).catch(function(){ $btn.disabled = false; $btn.textContent = origLabel; setStatus(false, FastolsI18n.t('tool.shorten.errNetwork', 'Impossible de contacter le serveur, vérifiez votre connexion et réessayez.')); }); } $btn.addEventListener('click', shorten); $url.addEventListener('keydown', function(e){ if (e.key === 'Enter') shorten(); }); function copyBtnLabelNode(){ for (var i = $copyBtn.childNodes.length - 1; i >= 0; i--) { if ($copyBtn.childNodes[i].nodeType === 3) return $copyBtn.childNodes[i]; } var t = document.createTextNode(''); $copyBtn.appendChild(t); return t; } $copyBtn.addEventListener('click', function(){ var text = $shortOut.textContent; if (!text) return; navigator.clipboard.writeText(text).then(function(){ var labelNode = copyBtnLabelNode(); var orig = labelNode.textContent; $copyBtn.classList.add('is-copied'); labelNode.textContent = FastolsI18n.t('tool.shorten.copied', 'Copié ✓'); setTimeout(function(){ labelNode.textContent = orig; $copyBtn.classList.remove('is-copied'); }, 1500); }); }); });