>_ DevTrendsfr

Langue

Accueil

Langages

Sections

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

Comment un développeur a créé le meilleur hybride Tachiyomi et J2K dans Yokai Reader

Lorsque le projet Tachiyomi original a fermé début 2024, cela a créé un chaos significatif parmi les passionnés de manga et de comics sur Android. Le lecteur open source populaire s'est fragmenté en dizaines de forks. Les utilisateurs ont été confrontés à un choix : Mihon a poursuivi la lignée de l'application de base, TachiyomiJ2K est resté un favori grâce à son interface réfléchie, et TachiyomiSY a développé des filtres de bibliothèque spécifiques.

Le développeur null2264 a adopté une approche différente. Plutôt que de choisir entre les branches ou de tolérer les недостатки de chacune, ils ont décidé de combiner les meilleures fonctionnalités de différents auteurs dans leur propre projet appelé Yokai.

Logo Yokai

Ce qu'est Yokai

Yokai est un lecteur Android gratuit et open source écrit en Kotlin. L'auteur indique clairement dans le dépôt que le projet a été créé pour un usage personnel. Dans son profil, il fait partie d'une collection dite « paranormale » de forks — des expérimentations où il explore de nouvelles technologies, essaie du refactoring et ajoute des fonctionnalités qui ne seraient probablement pas acceptées dans le dépôt principal via une Pull Request.

L'application combine trois branches de développement majeures :

  1. Le cœur et la stabilité de Tachiyomi et de son successeur direct Mihon.
  2. Les solutions d'interface et l'UX de TachiyomiJ2K.
  3. Les filtres de contenu de TachiyomiSY.

Le résultat est cohérent : vous obtenez une fonctionnalité de lecture familière avec des contrôles gestuels pratiques et des mises en page flexibles qui nécessitaient auparavant de chercher dans différentes versions.

Écrans Yokai

Fonctionnalités clés et avantages

Au lieu de copier aveuglément du code, l'auteur a effectué un travail sérieux d'intégration ciblée des fonctionnalités. Voici ce qui se démarque dans l'utilisation pratique.

Interface avancée de J2K

La principale différence entre Yokai et Mihon standard réside dans la gestion de l'écran et de la grille de la bibliothèque. L'application utilise activement les éléments Material Design You :

  • L'écran de la carte manga adapte le schéma de couleurs de l'interface pour correspondre à la couverture.
  • Une barre de recherche flottante aide à filtrer rapidement les titres lors du défilement.
  • Pour les tablettes et les téléphones pliables, il existe un mode double page comme dans un livre imprimé.
  • La barre d'outils inférieure est étendue pour un contrôle confortable à une main sur les grands écrans.
  • Les catégories dans la bibliothèque peuvent être réduites en une seule liste verticale ou déplacées pour un tri manuel.

Lecture locale et fichier ComicInfo.xml

De nombreux utilisateurs utilisent ces lecteurs non seulement pour les catalogues en ligne, mais aussi pour lire les archives CBZ et ZIP locales. Dans Tachiyomi de base, les fichiers dans les dossiers s'affichent souvent avec des noms de chapitres personnalisés ou cassés.

Yokai a ajouté l'analyse du fichier ComicInfo.xml à l'intérieur des archives locales. L'application extrait automatiquement le numéro de chapitre exact, le titre original et les informations du traducteur depuis les métadonnées.

Organisation de la bibliothèque et sauvegardes

L'auteur a corrigé un problème de longue date concernant l'incompatibilité des sauvegardes entre les différents forks. Maintenant, une sauvegarde de Yokai se déploie proprement dans d'autres clients actuels.

Pour la structuration de la bibliothèque, le système de basculement NSFW/SFW a été porté depuis TachiyomiSY. De plus, les catégories dynamiques fonctionnent automatiquement : l'application groupe les titres par tags, statut de suivi ou source.

Synchronisation avec les trackers

Comme le lecteur original, l'intégration avec les services de suivi populaires reste présente :

  • Shikimori
  • AniList
  • MyAnimeList
  • Kitsu
  • MangaUpdates
  • Bangumi

Lorsqu'un chapitre est lu, la progression est automatiquement envoyée à la plateforme sélectionnée.

Aspect technique et état du développement

D'un point de vue code, Yokai est une application Android classique en Kotlin nécessitant Android 6.0 ou supérieur. Le dépôt a CI/CD configuré via GitHub Actions, qui construit à la fois les versions stables et les nightly builds à chaque commit.

Dans la description du dépôt, l'auteur note que l'accent s'est déplacé vers la migration du projet vers une infrastructure plus moderne. Une partie de la base de code est en cours de réécriture pour les bibliothèques Jetpack actuelles et les directives mises à jour d'Android 12+.

Le calendrier des mises à jour est irrégulier : des périodes de haute activité sont suivies de pauses. C'est un projet personnel honnête d'une seule personne, pas un produit d'entreprise avec des délais stricts. Cependant, la licence open source Apache-2.0 permet à quiconque de cloner le dépôt et de soumettre sa propre Pull Request.

À qui ce projet est destiné

L'application sera utile pour plusieurs catégories d'utilisateurs et de développeurs :

  • Les propriétaires de tablettes et d'appareils à grand écran qui regrettent le mode double page dans Mihon standard.
  • Ceux qui préfèrent stocker les comics localement et les cataloguer via ComicInfo.xml.
  • Les développeurs Android intéressés de voir un exemple de refactoring profond et de fusion de bases de code de projets Kotlin open source majeurs.

Résumé

Yokai démontre un bon exemple de la façon dont un fork personnel pour ses propres besoins peut devenir un outil pratique pour la communauté. Le projet n'essaie pas de réinventer la roue ; il prend le meilleur des branches dispersées de l'écosystème Tachiyomi et le conditionne dans une interface soignée.

Si vous cherchiez un lecteur avec une personnalisation flexible de la bibliothèque et le support des tablettes, envisagez de télécharger l'APK depuis la section Releases sur GitHub et de l'essayer.

Projets similaires