Format ouvert

Watchlog

wlog/1.0 application/wlog+json

Un format neutre et durable pour emporter tes séries et tes films où tu veux.

Tes visionnages, tes notes, tes avis : ce sont tes données. Watchlog est un fichier simple, lisible et documenté qui te permet de les sortir d'un service et de les rejouer dans un autre, sans rien perdre en route. On l'a conçu ouvert exprès : n'importe quelle appli de suivi peut l'écrire et le relire.

Ce qui le rend malin

Des identifiants que tout le monde comprend

Chaque œuvre porte ses identifiants externes (TMDB, IMDb, TheTVDB, et pour l'animé MyAnimeList / AniList / Kitsu), jamais un numéro interne. N'importe quel service sait donc retrouver la bonne série ou le bon film.

Un vrai journal, même flou

Les visionnages sont une liste datée. Un revisionnage, c'est une vue de plus ; « je l'ai vu mais je ne sais plus quand », c'est une date à null. Rien n'est inventé, rien n'est perdu.

Des notes qui gardent leur échelle

Une note transporte sa valeur ET son échelle : un 4 sur 5 et un 8 sur 10 cohabitent sans se déformer. Chacun normalise à sa façon.

Extensible sans casser

La richesse propre à un service (émotions, notes d'épisodes…) vit dans un espace `extensions` à son nom. Un autre lecteur l'ignore poliment : le cœur reste universel.

Simple et daté proprement

Du JSON, versionné en tête de fichier, avec des dates en ISO 8601 (UTC). Aucun outil exotique, ça s'ouvre dans n'importe quel éditeur.

À quoi ça ressemble

Un objet en tête (version, générateur, profil), une liste d'œuvres, une liste de listes. Voici un item réduit à l'essentiel :

{
  "format": "wlog/1.0",
  "generator": { "name": "Seenr", "url": "https://seenr.app" },
  "profile": { "handle": "kevin", "locale": "fr" },
  "items": [
    {
      "type": "show",
      "ids": { "tmdb": 1429, "imdb": "tt1355642", "mal": 5114, "anilist": 5114 },
      "title": "Fullmetal Alchemist: Brotherhood",
      "year": 2009,
      "status": "completed",
      "favorite": true,
      "tags": ["anime", "shonen"],
      "rating": { "value": 10, "scale": 10, "rated_at": "2021-02-01T20:00:00Z" },
      "watches": [
        { "season": 1, "episode": 1, "watched_at": "2021-01-05T21:00:00Z" }
      ],
      "season_ratings":  [ { "season": 1, "value": 9,  "scale": 10 } ],
      "episode_ratings": [ { "season": 1, "episode": 5, "value": 10, "scale": 10 } ],
      "extensions": { "seenr": { "emotions": ["😭"] } }
    }
  ],
  "lists": []
}

La spec

Version
wlog/1.0
Type MIME
application/wlog+json

Pour les services qui veulent l'adopter

Watchlog est libre d'usage. Pour l'implémenter, tout est ici :

  • Le schéma JSON, pour valider un fichier automatiquement.
  • Un exemple complet et commenté par le schéma.
  • Seenr en est une implémentation de référence : il exporte ET importe Watchlog.

Essaie-le tout de suite

Seenr parle couramment Watchlog. Récupère ta bibliothèque en un fichier, ou rejoue-en un ici.

Watchlog est un format ouvert, publié pour être réutilisé. Le type MIME n'est pas encore enregistré à l'IANA ; la version fait foi.

Nouvelle version disponible

Une mise à jour de Seenr vient d'être publiée. Recharge pour en profiter.