Présentation de Capybook, une application web gratuite de suivi de lecture que j'ai développée avec Next.js. Du concept à la réalisation, retour sur un side project né d'une frustration de lecteur.

Tu connais cette sensation ? Tu termines un livre incroyable, quelqu'un te recommande trois autres titres dans la foulée, tu te dis "je vais m'en souvenir"… et deux semaines plus tard, tu as tout oublié. Le titre, l'auteur, la personne qui te l'avait conseillé — tout. Ou alors, tu te retrouves en librairie, incapable de te souvenir si tu as déjà lu ce bouquin ou non.
C'est exactement ce qui m'est arrivé. Pendant des mois, j'ai essayé des carnets, des notes sur mon téléphone, des apps existantes. Rien ne collait vraiment. Soit c'était trop complexe, soit il manquait une fonctionnalité essentielle, soit l'interface me donnait envie de fuir.
Alors je me suis dit : et si je construisais mon propre outil ?
Le résultat, c'est Capybook — une app web gratuite de suivi de lecture, pensée par un lecteur, pour les lecteurs.
Capybook en une phrase
Capybook est une application web gratuite qui te permet de suivre tes lectures, organiser ta bibliothèque, noter tes livres et découvrir de nouvelles recommandations — le tout dans une interface simple et agréable.
Concrètement, c'est ton compagnon de lecture numérique. Tu peux y ajouter tous les livres que tu lis, que tu veux lire ou que tu as déjà lus. Tu suis ta progression, tu laisses des avis, tu te fixes des objectifs. Et parce que lire, c'est aussi partager, il y a une dimension communautaire qui rend l'expérience encore plus riche.

Le cœur de Capybook, c'est ta bibliothèque. Tu peux chercher n'importe quel livre grâce à la barre de recherche intégrée et l'ajouter en un clic à ta collection. Les livres sont organisés par statut : en cours de lecture, à lire, terminé.

Pour chaque livre en cours, tu peux indiquer où tu en es. C'est satisfaisant de voir sa progression avancer, et ça motive à continuer. Pas de pression, pas de jugement — juste un suivi visuel de ton avancée.
Une fois un livre terminé, tu peux le noter et laisser un avis. Au fil du temps, tu construis un véritable historique de tes lectures avec des statistiques : combien de livres lus ce mois-ci, cette année, quels genres tu préfères…
Pour les plus motivés, Capybook propose des challenges de lecture — des objectifs à atteindre qui rendent la lecture encore plus engageante. Et chaque jour, tu reçois des recommandations personnalisées pour ne jamais être en panne d'inspiration.
La lecture, c'est souvent une activité solitaire, mais partager ses découvertes avec d'autres passionnés, c'est ce qui la rend encore plus riche. Capybook intègre une dimension sociale pour échanger autour de ses lectures.
J'ai testé pas mal d'applications de suivi de lecture. Goodreads est le géant du secteur, mais l'interface est vieillissante et l'expérience utilisateur laisse à désirer. D'autres apps sont jolies mais trop limitées, ou alors bourrées de fonctionnalités inutiles qui noient l'essentiel.
Ce que je voulais, c'était un outil simple, rapide et agréable — un truc que j'aurais envie d'ouvrir pour mettre à jour mes lectures, pas une corvée de plus.
En tant que développeur, il n'y a rien de plus gratifiant que de construire un outil qu'on utilise soi-même au quotidien. Chaque fonctionnalité de Capybook est née d'un besoin réel, d'une frustration personnelle. Pas de feature inutile ajoutée "parce que ça fait bien" — chaque élément a une raison d'être.
C'est aussi le meilleur moyen de progresser techniquement. Quand tu es à la fois le développeur et l'utilisateur, tu ne laisses rien passer. Chaque bug t'agace personnellement, chaque amélioration te fait plaisir.
Tu te demandes peut-être pourquoi la mascotte est un capybara. La réponse est simple : le capybara est l'animal le plus relaxé du règne animal. Il est calme, posé, il prend son temps. C'est exactement l'ambiance que je voulais pour cette app — la lecture, c'est un moment de calme et de détente, pas une course contre la montre.
Et avouons-le, un capybara avec un livre, c'est juste adorable.
Conseil pour les développeurs : construisez pour vous-même
Si tu cherches une idée de side project, commence par un problème que toi tu rencontres au quotidien. Tu seras ton propre testeur le plus exigeant, tu connaîtras parfaitement les besoins, et tu auras la motivation de finir le projet parce que tu veux réellement l'utiliser. C'est la recette des meilleurs side projects.
Section technique
Ce qui suit est destiné aux développeurs curieux. Si le code n'est pas ton truc, tu peux passer directement à la conclusion — Capybook marche très bien sans comprendre ce qu'il y a derrière !
Capybook est construit avec Next.js (App Router), ce qui permet d'avoir une application web performante avec un excellent SEO et une expérience utilisateur fluide. L'app est également une PWA (Progressive Web App), ce qui signifie que tu peux l'installer sur ton téléphone comme une app native.
Le choix de Next.js s'est imposé naturellement : Server Components pour les pages qui n'ont pas besoin d'interactivité côté client, API Routes pour le backend, et le système de routing basé sur le système de fichiers qui simplifie énormément l'architecture.
L'une des fonctionnalités clés, c'est la recherche de livres. L'idée, c'est que tu puisses taper le titre d'un livre et le retrouver instantanément avec sa couverture, son auteur et sa description.
// Exemple simplifié de la recherche de livres
async function searchBooks(query: string) {
const response = await fetch(
`https://www.googleapis.com/books/v1/volumes?q=${encodeURIComponent(query)}&maxResults=10`
);
const data = await response.json();
return data.items?.map((item: GoogleBookItem) => ({
title: item.volumeInfo.title,
author: item.volumeInfo.authors?.join(", "),
cover: item.volumeInfo.imageLinks?.thumbnail,
description: item.volumeInfo.description,
pageCount: item.volumeInfo.pageCount,
})) ?? [];
}Un point sur lequel j'ai beaucoup travaillé, c'est le responsive design. Capybook doit être aussi agréable à utiliser sur téléphone que sur ordinateur — et en pratique, la majorité des utilisateurs l'utilisent sur mobile, souvent pour mettre à jour leur progression juste après une session de lecture.
Le fait d'être une PWA ajoute une couche de confort : l'app s'installe sur l'écran d'accueil, se lance comme une app native et fonctionne même avec une connexion limitée grâce au service worker.
Le plus gros défi a été de trouver le bon équilibre entre simplicité et fonctionnalités. Il est tentant d'ajouter toujours plus de features, mais chaque ajout complexifie l'interface et risque de noyer l'expérience utilisateur. J'ai appris à dire non à certaines idées — même les bonnes — pour garder l'app focalisée sur l'essentiel.
L'autre défi, c'est la gestion des données de livres. Les API de livres ne sont pas parfaites : couvertures manquantes, métadonnées incomplètes, doublons… Il a fallu mettre en place pas mal de logique pour offrir une expérience propre malgré des données parfois chaotiques.
Si tu es lecteur — que tu dévores trois livres par semaine ou que tu en lis un par mois — Capybook est fait pour toi. C'est gratuit, c'est simple, et c'est construit avec amour par quelqu'un qui l'utilise tous les jours.
Pas d'inscription compliquée, pas de publicités intrusives, pas de données revendues. Juste un outil fait pour rendre ta vie de lecteur un peu plus organisée et un peu plus fun.
Raphaël Raclot is a French full stack developer passionate about cybersecurity and modern web technologies. He specializes in React, Next.js, and TypeScript, and shares his discoveries, projects, and insights here.
Learn more about Raphaël
Pourquoi j'ai créé Pixora, un blog de voyage indépendant de mon portfolio, avec Astro et Tailwind CSS. 47 pays, 156 articles, 30 000+ photos et des conseils concrets pour voyageurs.

Découvrez comment les applications et réseaux sociaux exploitent votre système dopaminergique, et les stratégies concrètes pour reprendre le contrôle.

Découvrez les 10 termes de cybersécurité essentiels que tout développeur devrait connaître pour protéger ses applications et données contre les menaces en ligne.