Texte

URL

C'est quoi l'extracteur d'URL ?

Tu as un fil d'e-mails de 200 lignes, un export d'un canal Slack, un fichier de log, une transcription du support client, ou quelques notes en markdown — et tu veux toutes les URL qu'il contient, dans l'ordre, dédoublonnées, prêtes à coller ailleurs. Peut-être que tu vérifies sur quels liens un client a cliqué. Peut-être que tu passes un document au peigne fin pour repérer ses références sortantes avant publication. Peut-être que tu donnes les URL en pâture à un crawler. Peu importe : tu n'as pas envie de scroller et de copier-coller 40 fois. Lâche le texte dans le panneau de gauche et le panneau de droite te rend un tableau JSON de toutes les URL trouvées.

L'extraction repose sur une regex simple qui matche http:// et https:// suivi de n'importe quel caractère non blanc. Chaque match est ensuite débarrassé de la ponctuation finale qui ne fait quasiment jamais partie d'une URL (point, virgule, point-virgule, parenthèse ou crochet fermant — ce qui traîne quand une phrase se termine sur un lien) et validé via le constructeur URL. Si le constructeur l'accepte, c'est une vraie URL ; s'il lève, on la jette. Les doublons sont supprimés en conservant l'ordre du document — la première occurrence gagne. L'approche colle à ce que le WHATWG URL Standard appelle « URL parsing » et à la façon dont les regex JavaScript traitent habituellement la détection d'URL.

La sortie est un tableau JSON de chaînes, dans l'ordre où les URL sont apparues. S'il n'y avait aucune URL dans le texte, tu obtiens [] — tableau vide, pas d'erreur, pas de toast. Tout tourne dans ton navigateur. Rien n'est uploadé, rien n'est loggé. La RFC 3986 est la spec sous-jacente qui définit ce qui compte comme une URL valide, et le constructeur URL l'implémente.

Comment utiliser l'extracteur

Trois étapes. Chacune correspond à un bouton de la page.

1

Colle le texte ou charge l'exemple

Mets ton texte dans le panneau de gauche — le corps d'un e-mail, un fichier de log, une transcription, un article, n'importe quoi. Clique Exemple pour charger un cas réaliste : une note d'équipe interne avec quatre URL disséminées. Entrée d'exemple :

Salut l'équipe — merci de revoir la commande sur https://api.shop.example.com/v1/orders/ORD-1001
et jetez aussi un œil au tableau de bord https://admin.shop.example.com/dashboard?tab=orders.
La cliente (Ava Chen) nous a contactés via http://support.shop.example.com/tickets/T-4521 — voir aussi notre doc sur https://docs.shop.example.com/api/orders.

L'extracteur ne capte que les URL <code>http://</code> et <code>https://</code>. Les domaines nus comme <code>shop.example.com</code> sans schéma sont ignorés (ils sont ambigus — ça peut être un nom d'hôte, un nom de fichier, ou juste du texte).

2

Lis le tableau d'URL

Le panneau de droite affiche un tableau JSON d'URL dans l'ordre du document, doublons supprimés. La ponctuation finale qui venait de la phrase environnante est retirée. Chaque URL est validée via le constructeur URL — tout ce qui est mal formé est silencieusement écarté, donc le tableau ne contient que des URL réelles et parsables.

3

Copie ou télécharge

Clique Copier pour envoyer le JSON dans le presse-papiers, ou Télécharger pour le sauver en fichier .json. Minifier compacte le tableau sur une seule ligne si tu en as besoin pour une entrée de log. Utilise Effacer sur l'entrée pour repartir d'un texte vierge.

Quand tu vas vraiment t'en servir

Auditer des tickets de support client

Un client colle un long fil d'e-mails dans un ticket. L'agent (Marco Rivera) doit savoir toutes les URL auxquelles le client fait référence. Mets le corps du mail ici, récupère le tableau, ouvre chacune. Évite la fatigue oculaire du scroll et le risque d'en louper une.

Crawler un export Slack ou Discord

Tu as exporté un canal et tu veux passer toutes les ressources liées à ton link checker ou à ton bot d'archivage. L'export est en JSON ou HTML, mais les URL sont mélangées au texte, aux emoji et aux métadonnées. Colle le tout ici et tu as une liste d'URL propre, prête pour un fetch() en boucle.

Audit de liens avant publication d'un article ou d'une doc

Priya Patel s'apprête à publier un article de 4 000 mots et veut vérifier que chaque lien sortant fonctionne encore. Colle la source markdown, récupère le tableau d'URL, passe-les dans un checker. Les recommandations de Google sur les liens crawlables partent du principe que tes liens fonctionnent — ceux qui sont cassés plombent ton ranking.

Sortir des URL de logs structurés

Les logs applicatifs embarquent souvent des URL dans les messages d'erreur, les traces de requêtes ou les champs referrer. Si tu enquêtes sur un incident et qu'il te faut voir toutes les URL qui ont transité pendant 5 minutes, colle la tranche de log et dédoublonne. Souvent cette liste dédupée est le moyen le plus rapide de repérer l'URL bizarre qui a déclenché la cascade.

Questions courantes

Est-ce que ça attrape ftp:// ou mailto: ou d'autres schémas ?

Non — uniquement http:// et https://. Les liens web sont ce que les gens veulent dire quand ils parlent d'« extraire des URL », et la regex est volontairement serrée pour éviter les faux positifs. Si tu as besoin d'autres schémas, le WHATWG URL Standard les supporte mais la détection devient plus floue (les adresses mailto: ressemblent à du texte, ftp: est rare aujourd'hui). Ouvre une demande de feature si tu as un vrai cas d'usage.

Comment ça gère les liens markdown du genre [texte](https://example.com) ?

Proprement. La regex trouve https://example.com entre les parenthèses et le rognage de ponctuation finale enlève la parenthèse fermante. Tu obtiens donc l'URL nue depuis le markdown, le BBCode, le HTML <a href> et la plupart des syntaxes environnantes sans avoir besoin d'un parser dédié à chaque format.

Les doublons sont-ils gardés ou supprimés ?

Supprimés, en conservant l'ordre de la première occurrence. Si ton texte mentionne https://shop.example.com trois fois, ça apparaît une fois dans la sortie, à la position de la première occurrence. La déduplication est un simple filtre Set — voir MDN sur Set.

Et les URL avec des caractères bizarres — pipes, crochets, parenthèses ?

Les pipes (|) et les crochets sont valides dans une URL mais rares dans la pratique, donc la regex les attrape tant qu'ils ne sont pas précédés d'un blanc. Les crochets et parenthèses fermants tout à la fin d'un match sont rognés parce qu'ils sont bien plus probablement de la ponctuation que partie de l'URL. Si tu as une vraie URL qui se termine par ), le constructeur URL l'acceptera quand même — mais il te faudra ajouter un espace après dans le texte pour que la parenthèse fermante reste collée.

Y a-t-il une limite de taille ?

Oui — 1 Mo. Ça représente plusieurs milliers de pages de texte, largement de quoi couvrir n'importe quel fil d'e-mails, transcription ou tranche de log que tu colles dans la vraie vie. Si tu as un fichier de plusieurs mégas, découpe-le en morceaux ou passe-le d'abord par grep/ripgrep en ligne de commande.

Ça marche hors-ligne ?

Oui. Tout tourne dans ton navigateur — le match regex, la validation d'URL, la déduplication. Le seul trafic réseau, c'est le chargement initial de la page. Une fois la page ouverte, tu peux te déconnecter et l'outil continue de fonctionner. Le constructeur URL est intégré à tous les navigateurs modernes selon l'URL API.

Autres outils URL et texte

Extraire, c'est une opération. Voici ce qui s'enchaîne naturellement :