Laureline's Wiki

Laureline's Wiki

Cahier des Charges

Cahier des Charges

Introduction

Virtual Comics Library (abrégé VCL) est une application qui permet de gérer et consulter une bibliothèque de bandes dessinées virtuelles.

Terminologie

  • Volume : Elément le plus petit dans la bibliothèque, Représente son équivalent physique (ensemble de pages reliées). Correspond à un fichier .cb* sur le système de fichiers.
  • Série : Ensemble de volumes et métadonnées associées.
  • Catégorie : Ensemble de catégories et séries.
  • Tag : Méta-information sur une série
  • Catalogue : Ensemble de Catégories et Séries situés dans un même emplacement physique sur un système de fichiers (distant ou local).
  • Bibliothèque : Ensembles de catalogues de l’application. Est spécifique à une installation.

Objectifs

  • Doit permettre de gérer plusieurs catalogues soit sur un système de fichiers local soit situé sur un serveur distant (en utilisant le protocole http)
  • Doit permettre de classer les séries dans un arbre de catégories.
  • Doit permettre d’ajouter des « tags » aux séries
  • Doit permettre de lire un volume
    • Affichage en simple page ou double page
    • Sens de lecture GàD ou DàG
  • Doit permettre de modifier les informations d’une série
  • Doit permettre de créer une série vide
  • Doit permettre d’adapter un fragment de site web en série ou volume
    • Effectue la création à l’aide de plugins
  • Doit fournir une bibliothèque permettant d’abstraire les interactions avec les données.

Modules

  • libVCL : Fournit une bibliothèque d’abstraction des interactions avec les catalogues et leurs objets.
  • Library : Permet la consultation et modification graphique du contenu des catalogues.
  • Reader : Permet la consultation d’un volume. Doit pouvoir être utilisé en standalone
  • Editor : Permet la modification d’un volume. Doit pouvoir être utilisé en standalone.
  • Downloader : Permet le téléchargement d’un site vers un catalogue. Utilisation en ligne de commande possible.

Fonctionnalités

Interface Utilisateur (général)

  • Interface Single Window
  • Utilise des onglets pour la navigation
  • Restore les onglets ouverts lors de la réouverture du programme

Bibliothèque

  • Affiche la liste des Catalogues, Catégories et Volumes dans une TreeView sur la gauche.
  • Affiche une liste des Volumes (si une série est sélectionnée) ou Séries (si une Catégorie est sélectionnée) au centre sous la forme d’une grille de couvertures.
  • Affiche les informations de l’élément sélectionné dans un panneau sur la droite.
  • Permet la gestion (ajout, suppression, déplacement) de Séries, Volumes et Catégories.

Image: Bibliothèque

Liseuse

  • Permet de consulter le contenu d’un Volume
  • Est présenté dans un onglet lancé depuis la Bibliothèque ou en standalone.
  • Affiche les images contenues dans le fichier du volume.
  • Supporte l’affichage en « simple page » ou « double page » en détectant de manière automatique si une image contenant deux pages doit être affichée
  • Gère la lecture Gauche à Droite (Comics) et Droite à Gauche (Mangas)
  • Affiche un tiroir de miniatures qui permet de naviguer dans le Volume

Image: Liseuse

Crawler

  • Permet de télécharger une Série à partir d’un site web n’offrant pas de Catalogue
  • Utilise des Plugins pour reconnaitre les différents sites pris en charge.
  • Les plugins sont chargés à partir de fichiers Javascript à l’aide de Nashorn.
  • Mise à jour automatique des plugins publics à travers de l’API Github

Image: Crawler

libVCL (Bibliothèque d’abstraction)

  • Fournit une API publique pour interagir de manière unifiée aux données
  • Gère le téléchargement et mise en cache des objets distants (catalogues et volumes)

API Publique

API Publique de libVCL

Implémentation

Libraries et Frameworks