Présentation du service
Le site lfm.xiffy.nl propose, à partir d’un simple nom d’utilisateur Last.fm, quatre flux RSS distincts : pistes récentes, titres aimés, meilleures pistes et meilleurs artistes. Chaque flux est accessible via une URL préformatée, par exemple
https://lfm.xiffy.nl/thexiffy/toptracks, où thexiffy représente le pseudo Last.fm. En 2025, le service a ajouté un flux « recommended tracks » disponible en format RSS et en JSON compatible SoundiXx.Architecture et génération des flux
Le générateur s’appuie sur du scraping du site officiel de Last.fm, qui a supprimé ses propres flux lors de la refonte de 2017. Le script récupère les pages HTML des sections « recent tracks », « loved tracks », etc., extrait les balises pertinentes (titre, artiste, date) puis les encapsule dans un document RSS 2.0. Aucun JavaScript, aucune police web et aucun tracker ne sont injectés ; le serveur renvoie uniquement du XML brut, ce qui minimise la charge réseau et les vecteurs d’injection.
Les paramètres de période sont codés en chaîne de requête, par exemple ?period=6month pour les six derniers mois. Les valeurs acceptées sont strictement limitées à 7day, 1month, 3month, 6month, 12month ou overall. Cette contrainte empêche les requêtes arbitraires et réduit le risque de surcharge du scraper.
Analyse des limites et risques
Le recours au scraping implique une dépendance directe à la structure HTML de Last.fm. Toute modification du DOM (changement de classe CSS, réorganisation des balises) peut interrompre la chaîne d’extraction, rendant les flux indisponibles jusqu’à une mise à jour du code. De plus, le service ne possède pas d’authentification OAuth officielle ; il ne peut donc pas accéder aux données privées d’un utilisateur sans que celui‑ci divulgue son pseudo publiquement.
Sur le plan de la sécurité, le serveur expose uniquement des URLs publiques, mais il n’y a aucune validation côté client du nom d’utilisateur. Un acteur malveillant pourrait injecter des caractères spéciaux dans le chemin et provoquer une tentative d’accès à des fichiers locaux si le code ne filtre pas correctement les entrées. Le fait que le service ne charge aucun script réduit toutefois la surface d’attaque côté navigateur.
Évolutions récentes
En plus des flux classiques, le service propose désormais des images d’album en tant qu’enclosure lorsqu’une version « large » est disponible. Cette fonctionnalité enrichit le flux RSS en ajoutant un élément <enclosure> contenant l’URL de l’image, ce qui permet aux lecteurs compatibles d’afficher la pochette sans requête supplémentaire. Le format JSON pour les recommandations, accessible via
https://lfm.xiffy.nl/thexiffy/recommended/json, offre une alternative structurée aux agrégateurs qui préfèrent le traitement de données légères plutôt que le parsing XML.