>_ DevTrendsfr

Langue

Accueil

Langages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarqué Sécurité
Kotlin

Comment créer votre propre bibliothèque multimédia de zéro : revue de Legado-E

Situation familière : vous voulez lire un livre, regarder une série ou écouter un podcast, mais chaque type de contenu nécessite une application séparée. Et si le contenu est dispersé sur différents sites, votre téléphone se transforme en un tas d'icônes. J'ai récemment découvert le dépôt Luoyacheng/legado-E, qui propose une approche radicale de ce problème.

legado

Qu'est-ce que c'est exactement

Legado-E (ou 阅读Sigma) est un fork du lecteur open source populaire Legado. Si le projet original se concentrait principalement sur les livres, la version Sigma va plus loin. Il s'agit essentiellement d'un « moteur » vide avec un analyseur avancé. Vous lui fournissez des règles (sources), et il transforme le HTML brut de pratiquement n'importe quel site en une interface de lecture ou de lecture propre.

Le projet est écrit en Kotlin et ciblé Android. La fonctionnalité principale ici est que l'application elle-même ne contient aucun contenu. C'est un outil pour ceux qui aiment personnaliser tout selon leurs préférences et qui ne veulent pas dépendre des caprices des plateformes de streaming ou des bibliothèques en ligne.

En quoi Sigma diffère de l'original

Les développeurs n'ont pas réinventé la roue et ont conservé la base Legado 3.0, mais ont ajouté plusieurs éléments qui manquaient vraiment :

  • Multimédia. Il ne s'agit plus seulement de texte. Sigma dispose d'un lecteur audio avec support des paroles et d'un lecteur vidéo qui gère même les danmaku (les commentaires volants superposés à la vidéo).
  • Éditeur de sources amélioré. L'écriture des règles d'analyse de sites est devenue un peu plus facile. Si vous avez déjà essayé de déboguer du regex ou du XPath dans une interface mobile, vous comprendrez pourquoi c'est important.
  • Abonnements flexibles. Le système de mise à jour RSS et de contenu fonctionne plus sûrement ici que dans la version vanilla.

Comment ça fonctionne en pratique

Toute la magie repose sur les « sources » (Book Sources). Vous créez un fichier JSON où vous décrivez comment rechercher un livre sur un site, où se trouve la table des matières, et comment extraire le texte du chapitre.

Curieusement, l'application fournit deux types d'API : via Web et via Content Provider. Cela vous permet, par exemple, de gérer votre bibliothèque à distance ou d'intégrer le lecteur avec d'autres services.

Stack technique sous le capot

Le projet utilise activement les bibliothèques de développement Android standard, mais la liste des dépendances est impressionnante :

  • Jsoup et JsoupXpath — pour l'analyse de l'arbre HTML.
  • Rhino Android — pour l'exécution de scénarios JavaScript à l'intérieur des règles d'analyse.
  • OkHttp — pour les requêtes réseau.
  • LyricViewX — la bibliothèque pour afficher les paroles qui défilent dans le lecteur audio.

Pourquoi les développeurs pourraient trouver cela intéressant

Si vous êtes passionné par l'analyse ou l'automatisation, Legado-E est un excellent terrain d'expérimentation. Au lieu d'écrire votre propre solution pour lire des données depuis une ressource spécifique, vous pouvez simplement écrire une règle pour cette application.

Au fait, le dépôt supporte les thèmes personnalisés et les paramètres typographiques flexibles. Vous pouvez tout modifier : de l'interlignage aux règles de conversion du chinois simplifié en traditionnel (bien que moins pertinent pour le segment russophone, le mécanisme de remplacement de texte « à la volée » via regex est très puissant).

Cela vaut-il la peine d'essayer

Legado-E est un projet spécifique. Il y a une courbe d'apprentissage : vous devrez soit rechercher des listes de sources prêtes en ligne (il y en a beaucoup sur les chaînes Telegram et les forums), soit comprendre vous-même la structure des règles JSON.

Ceux qui l'adoreront certainement :

  1. Ceux qui veulent un « tout-en-un » pour tous les types de contenu dans un seul package.
  2. Ceux qui valorisent la vie privée et l'absence de publicités (l'application est complètement propre).
  3. Les développeurs qui ont besoin d'un client pratique pour leurs serveurs maison ou des sites spécifiques.

L'inconvénient est que la documentation est principalement en chinois, mais l'interface est intuitive et la communauté sur Discord et Telegram est assez réactive. Si vous vous sentez à l'étroit dans les lecteurs réguliers, Sigma mérite définitivement une place sur votre smartphone.

Projets similaires