API REST

AnarcosyndicalismeBOOK v1.2.57

API REST pour intégrer la bibliothèque dans vos applications mobiles, desktop ou services tiers.

Base URL : http://library.antimilitarism.org/api/

Livres

GET ?endpoint=books

Liste des livres avec pagination et filtres

Paramètres
ParamTypeDescription
pageintNuméro de page (défaut: 1)
limitintRésultats par page (défaut: 20, max: 100)
sortstringrecent, oldest, title, author, popular
categoryintFiltrer par ID catégorie
authorintFiltrer par ID auteur
GET ?endpoint=books&id=X ou &slug=X

Détail d'un livre par ID ou slug

Auteurs

GET ?endpoint=authors

Liste de tous les auteurs

GET ?endpoint=authors&id=X

Détail d'un auteur avec ses livres

Catégories

GET ?endpoint=categories

Liste des catégories

Recherche

GET ?endpoint=search&q=bakounine

Recherche dans les titres, résumés et auteurs (min 2 caractères)

Raccourcis

GET ?endpoint=recent&limit=10

Derniers livres ajoutés

GET ?endpoint=popular&limit=10

Livres les plus consultés

GET ?endpoint=random&limit=1

Livre(s) aléatoire(s)

GET ?endpoint=stats

Statistiques globales (nb livres, auteurs, vues...)

Téléchargement

GET ?endpoint=download&id=X

URLs de téléchargement PDF/EPUB d'un livre

Pages

GET ?endpoint=pages

Liste des pages statiques (à propos, mentions légales...)

GET ?endpoint=pages&slug=a-propos

Contenu d'une page par slug

Feed

GET ?endpoint=feed&limit=20

Flux des derniers ajouts (format JSON, alternative au RSS XML)

Authentification

POST ?endpoint=auth

Connexion - retourne un token Bearer (valide 30 jours)

{"email": "user@example.com", "password": "xxx"}
POST ?endpoint=logout

Déconnexion (header: Authorization: Bearer {token})

Favoris (auth requise)

GET ?endpoint=favorites

Liste des favoris de l'utilisateur

POST ?endpoint=favorites

Ajouter un favori

{"book_id": 123}
DELETE ?endpoint=favorites&book_id=123

Supprimer un favori

Profil (auth requise)

GET ?endpoint=me

Informations du profil utilisateur connecté

PUT ?endpoint=me

Modifier le profil

{"firstname": "Jean", "name": "Dupont"}
Exemple cURL
# Liste des livres
curl "http://library.antimilitarism.org/api/?endpoint=books&limit=5"

# Recherche
curl "http://library.antimilitarism.org/api/?endpoint=search&q=kropotkine"

# Auth
curl -X POST "http://library.antimilitarism.org/api/?endpoint=auth" \
  -H "Content-Type: application/json" \
  -d '{"email":"x@x.com","password":"xxx"}'
Codes d'erreur
200Succès
400Requête invalide
401Non authentifié
404Non trouvé
405Méthode non autorisée
500Erreur serveur
Notes
  • CORS activé pour toutes origines
  • Réponses en JSON UTF-8
  • Token valide 30 jours
  • Header: Authorization: Bearer {token}