Open Publication Distribution System

Introduction

Contents

Overview

OPDS Primer

Comments

 

Related Links

OPDS Spec

Atom Format

AtomPub

Web linking

Statut de ce document

Ce document est une introduction à la spécification Open Publishing Distribution System Catalog 1.0. Ce document est informatif plutôt que normatif. Veuillez vous référer à la spécification en cas de conflits entre ce document et la spécification officielle.

Qu'est-ce qu'un catalogue OPDS ?

Les catalogues OPDS permettent l'agrégation, la distribution et la découverte de livres, documents ou n'importe quel contenu numérique par n'importe quel utilisateur, depuis n'importe quelle source, dans n'importe quel format et sur tout type de périphériques. La spécification OPDS se base sur le format de syndication de flux Atom et considère en priorité la simplicité d'implémentation et la rapidité.

La spécification OPDS est continuellement en développement, les idées, suggestions ou commentaires sont les bienvenus sur le groupe dédié.

Flux & Entrées

OPDS emprunte les concepts de flux et d'entrées auprès de la spécification Atom (Atom Spec) :

Atom is an XML-based document format that describes lists of related information known as "feeds". Feeds are composed of a number of items, known as "entries", each with an extensible set of attached metadata. For example, each entry has a title.

Un flux est essentiellement un conteneur d'entrées et en Atom, on peut consommer soit des flux, soit des entrées simples.

En OPDS, on définit deux utilisations des flux:

  1. Flux de Navigation, permettant à un client de naviguer à travers le catalogue
  2. Flux d'Acquisition, où les publications sont repertoriées et peuvent être acquises

Les deux types de flux sont des flux Atom valides et peuvent être utilisées par un lecteur Atom générique.

Les créateurs de catalogues doivent séparer les Flux de Navigation des Flux d'Acquisition: un flux ne peut pas être les deux à la fois.

De la même manière, les entrées peuvent être:

  1. Des Liens du Catalogue, pointant vers d'autres flux et utilisées dans des Flux de Navigation
  2. Des Publications, avec divers métadonnées et un lien d'acquisition et utilisées dans des Flux d'Acquisition

Les Publications sont identifiées par la présence d'un Lien d'Acquisition. L'absence d'un tel lien indique qu'une entrée est un Lien du Catalogue.

Un Lien d'Acquisition est un lien vers une ressource que l'on peut acquérir.

En Atom cela correspond à une balise link tag associée à une relation (l'attribut rel) commençant par “http://opds-spec.org/acquisition”.

Il existe un certain nombre de scénarios d'acquisition en OPDS:

Une valeur générique est aussi disponible pour les scénarios ne rentrant pas dans un de ces cadres.

Les valeurs associées à l'attribut rel sont:

Scénario d'Acquisition valeur de l'attribut rel
Acquisition Générique http://opds-spec.org/acquisition
Open Access http://opds-spec.org/acquisition/open-access
Achat http://opds-spec.org/acquisition/buy
Prêt http://opds-spec.org/acquisition/borrow
Abonnement http://opds-spec.org/acquisition/subscribe
Aperçu http://opds-spec.org/acquisition/sample

Entrées Complètes

Les créateurs de catalogues OPDS sont encouragés à utiliser de nombreux liens et métadonnées dans la description des publications disponibles. Pour permettre cela tout en évitant de rendre les flux trop lourds, OPDS recommande l'utilisation d'une fonctionnalité introduite dans la spécification AtomPub: les entrées complètes.

Toute publication peut pointer vers un document séparé correspondant à l'entrée complète en utilisant une balise link avec les attributs suivants: rel="alternate" et type="application/atom+xml;type=entry".


  <entry>
    <title>On the Origin of Species</title>
    <id>http://www.example.com/42</id>
    <author>
      <name>Charles Darwin</name>
    </author>
    <updated>2010-01-02T15:27:07Z</updated>
    <link type="application/epub+zip"
             href="http://www.example.com/42.epub" rel="http://opds-spec.org/acquisition/open-access"/>
    <link type="application/atom+xml;type=entry" 
             href="http://www.example.com/42.atom" rel="alternate" title="Entrée Complète"/>
  </entry>

Exemple d'entrée partielle.

Le cas le plus courant est celui des publications disposant d'une très longue description. L'entrée partielle peut se contenter d'afficher une description plus succinte via l'élément summary, alors que l'entrée complète affiche la description entière via l'élément content.

En dehors de la navigation à travers une série de Flux de Navigation, un client peut aussi accéder à des publications via une recherche.

La recherche en OPDS se base sur le format Open Search, via un document séparé de type Open Search Description Document où il est décrit comment procéder à une recherche sur le catalogue.

La recherche est une fonctionnalité optionnelle d'une catalogue OPDS.

Exemples

Paul souhaite acquérir un nouveau livre et utilise un périphérique supportant OPDS.

Il pointe celui-ci vers un catalogue OPDS et récupère une liste des sections disponibles.

Ce catalogue est un Flux de Navigation.

Il choisit une section, par exemple “Sciences”, et obtient une liste des publications disponibles.

Cette liste est un Flux d'Acquisition. La liste est générée à partir des éléments title de chaque entrée du flux.

Il souhaite vérifier si l'un des livres (On the Origin of Species) dispose d'une description. Il choisit le livre et obtient une description complète, la date de publication de l'ouvrage ainsi qu'un lien vers des critiques utilisateurs.

En choisissant la publication, Paul a demandé au système de lecture de vérifier l'entrée de publication, récupérer l'entrée complète et en afficher le contenu.

Après en avoir lu la description, Paul décide d'obtenir le livre en appuyant sur le bouton de téléchargement.

Le Lien d'Acquisition de l'entrée contient l'adresse où le client peut télécharger le livre.

Ce premier scénario décrit un exemple très courant d'utilisation d'OPDS mais il est possible d'imaginer d'autres étapes.

Avant d'obtenir le fichier, Paul aurait pu traverser un nombre n de Flux de Navigation. Par exemple : Livres > Scientifiques > XIXème siècle (Chaque ‘>’ indiquant un lien à suivre)

Un catalogue OPDS peut être vu comme un arbre dont les feuilles sont des Flux d'Acquisition.

Peut être que Paul n'avait pas envie de découvrir quelque chose de nouveau à lire et qu'il souhaite seulement obtenir On the Origin of Species. Il pointe le client vers un catalogue et utilise la fonctionnalité de recherche pour écrire “the origin of species”. Il obtient alors directement des résultats de la part du catalogue: On the Origin of Species, Species of the Origin, Original spätzel cooking. Il ne lui reste plus qu'à choisir le bon ouvrage et le télécharger.

Dans cet exemple, le client utilise un Open Search Description Document pour effectuer une recherche. Le Catalogue répond à la requête en lui envoyant un Flux d'Acquisition.

Cette édition de On the Origin of Species peut aussi ne pas être disponible gratuitement. Le catalogue utiliserait alors une relation d'Achat tout en indiquant un prix dans le Lien d'Acquisition. Au moment d'obtenir le livre, Paul devra d'abord payer pour le livre.

Une entrée peut utiliser de multiples liens d'acquisition. Le catalogue pourrait par exemple proposer un Aperçu via un second lien pointant vers un extrait de l'ouvrage.

Découverte

Les catalogues OPDS peuvent être autmatiquement découverts par un client en suivant simplement un élément link avec comme attribut type=”application/atom+xml;profile=opds-catalog”. D'autres mécanismes sont abordés dans la spécification.

Bots

Certains clients peuvent avoir besoin de récpupérer l'ensemble des entrées d'un catalogue. Le groupe de travail OPDS est conscient de ce type de besoin et propose l'utilisation de flux dédiés à cette tâche.

Se Lancer

Feedbooks dispose d'un catalogue OPDS à l'adresse suivante: http://www.feedbooks.com/catalog

Jetez un coup d'oeil à nos flux et entrées pour des exemples plus avancés d'utilisation d'OPDS.

Pour tester votre propre catalogue, consultez la liste des systèmes de lecture connectés au catalogue de Feedbooks.