Recettes

Des exemples prêts à adapter pour les besoins les plus courants.

Mesurer la lecture dans Google Analytics ou Matomo

Avec le SDK navigateur, envoyez les événements de lecture à votre outil d’audience. Rien ne transite par Liseuse PDF.

audience.js
const lecteur = Liseuse.integrer("#numero", { src: lienSigne });
lecteur.on("pret", e => gtag("event", "liseuse_ouverture", { pages: e.pages }));
lecteur.on("page", e => gtag("event", "liseuse_page", { page: e.page }));
lecteur.on("fin", () => gtag("event", "liseuse_fin"));

// Matomo : _paq.push(["trackEvent", "Liseuse", "page", String(e.page)]);

Annoncer chaque numéro dans votre newsletter

Abonnez un webhook à numero.publie et créez la campagne dans votre outil d’e-mailing avec la couverture et la page publique reçues. Sans code : un scénario Zapier ou Make « Webhook » → « Brevo / Mailchimp : créer une campagne ». Le bloc HTML prêt à coller est aussi sur la fiche de chaque numéro.

webhook.mjs
app.post("/liseuse/webhook", express.raw({ type: "application/json" }), async (req, res) => {
  const evt = LiseusePDF.verifierWebhook(req.body, req.get("Liseuse-Signature"), process.env.LISEUSE_SECRET_WEBHOOK);
  if (evt.type === "numero.publie") await creerCampagne(evt.donnees.titre, evt.donnees.page_publique);
  res.sendStatus(204);
});

Couper l’accès à la fin d’un abonnement

Créez les liens avec reference = l’identifiant de l’abonné, puis révoquez-les quand l’abonnement prend fin.

functions.php
// WooCommerce Subscriptions
add_action('woocommerce_subscription_status_expired', function ($subscription) {
    (new LiseusePDF(getenv('LISEUSE_CLE_API')))->revoquerLiens('wc-' . $subscription->get_customer_id());
});

Proposer le réabonnement en fin de lecture

offre.js
lecteur.on("fin", () => document.querySelector("#offre-reabonnement").hidden = false);

Publier depuis votre chaîne de production

À la sortie du PDF imprimeur, un script publie le numéro et le place dans la bonne publication. Avec remplace, une version corrigée remplace la précédente sans changer les liens déjà envoyés.

publier.sh
python3 - <<'PY'
from liseuse_pdf import LiseusePDF
import os
l = LiseusePDF(os.environ["LISEUSE_CLE_API"])
print(l.publier("BAT/escales-13.pdf", "Escales n°13", publication="escales", parution="2026-11")["numero"]["page_publique"])
PY

Afficher vos numéros sur votre site

Le plus simple est la vitrine. Pour une mise en page à vous, lisez GET /publications côté serveur (mettez la réponse en cache quelques minutes) et affichez les couvertures et les pages publiques.