Toute la documentation

Démarrer

  1. 01Pour commencer
  2. 02Installation
  3. 03Suivi

Fonctionnalités

  1. 04Le tableau de bord
  2. 05Objectifs
  3. 06Liens courts
  4. 07Sources et agents IA
  5. 08Rapports par e-mail
  6. 09Vérification planifiée
  7. 10Interrogez votre IA

Référence

  1. 11Configuration
  2. 12API HTTP

Plateformes

  1. 13Serveur autonome
  2. 14PHP
  3. 15WordPress
  4. 16Drupal
  5. 17Craft CMS
  6. 18Python
  7. 19Rails
  8. 20Ruby
  9. 21Go
  10. 22Java
  11. 23.NET
  12. 24Elixir
  13. 25Rust

Confiance

  1. 26Confidentialité

Démarrer

Pour commencer

Runlight est un outil de statistiques web qui s’installe dans votre application. Il faut cinq minutes pour passer de npm install à votre première visite.

Runlight est une bibliothèque qui tourne dans une application que vous avez déjà. Il stocke ce qu’il compte dans votre base de données et sert son tableau de bord depuis votre propre domaine, sous /runlight. Il n’y a donc aucun compte Runlight à créer, et vos données ne passent jamais par un de nos serveurs.

Cette page installe la bibliothèque TypeScript, qui demande une application capable de servir des routes, comme Next.js, Nuxt, SvelteKit, Astro, Remix, Express, NestJS, Fastify, Koa, Hono ou tout autre framework qui gère une Request web. Elle tourne sur Node 22 ou plus récent, Bun, Deno ou Cloudflare Workers.

Runlight est aussi réécrit en PHP, Python, Ruby et Rails, Go, Java, .NET, Elixir et Rust. Chaque version sert le même tableau de bord à partir des mêmes tables, et sa page donne les étapes pour ce langage. Les sites WordPress, Drupal et Craft utilisent une extension qui fait tourner Runlight dans le CMS ou envoie leurs visites à un Runlight que vous faites tourner ailleurs. Pour un seul tableau de bord sur plusieurs sites, ou pour un site dont l’application ne peut pas faire tourner Runlight, utilisez le serveur autonome.

1. Installer

bash

npm install @runlight/sdk better-sqlite3

better-sqlite3 est le pilote SQLite. Pour Postgres, MySQL, MariaDB, Turso, Cloudflare D1 ou le SQLite intégré de Bun, voyez Configuration.

2. Créer l’instance

Créez un fichier et importez-le partout où vous avez besoin de Runlight.

lib/runlight.ts

import { runlight } from "@runlight/sdk";
import { sqlite } from "@runlight/sdk/sqlite";

export const rl = runlight({
  store: sqlite({ path: "./data/runlight.db" }),
  site: { name: "example.com", hostnames: ["example.com"], timezone: "Europe/London" },
});

Les tables sont créées à la première utilisation. Le fichier de base de données vous appartient, alors sauvegardez-le comme n’importe quel autre.

3. Monter les routes

Dans Next.js (App Router), une seule route attrape-tout sert le traceur et le tableau de bord, et reçoit chaque visite.

app/runlight/[[...path]]/route.ts

import { rl } from "@/lib/runlight";

export const { GET, POST, PUT, PATCH, DELETE, OPTIONS } = rl.routes();

Les autres frameworks demandent aussi une ou deux lignes, comme le montre Installation.

4. Ajouter le script

Placez ceci sur chaque page, juste avant </head>.

html

<script defer src="/runlight/s.js"></script>

Le script pèse moins de 2 Ko compressé avec gzip et envoie ses données à votre propre domaine sans poser aucun cookie.

5. Se connecter

Le tableau de bord est privé, alors définissez un long jeton aléatoire dans votre environnement.

bash

RUNLIGHT_TOKEN=a-long-random-string

Ouvrez ensuite /runlight/?token=a-long-random-string une fois. Runlight pose un cookie qui contient une empreinte du jeton (jamais le jeton lui-même) et vous envoie vers le tableau de bord. Sans jeton défini, le tableau de bord n’est ouvert que lorsque NODE_ENV vaut development, comme sous next dev. Partout ailleurs, il répond 503 jusqu’à ce que vous en définissiez un.

Visitez n’importe quelle page de votre site et vous vous verrez apparaître sous « en ce moment » en quelques secondes.

6. Planifier la vérification horaire

Une vérification que vous appelez une fois par heure renouvelle le sel du jour et envoie les rapports par e-mail. Elle supprime aussi les visites qu’un site ne garde plus et fait le total des journées terminées. Vérification planifiée montre comment la mettre en place. Sur Vercel, cela tient en quatre lignes de vercel.json.

Ensuite

  • Suivi couvre les événements personnalisés, les applications monopages, les clics sans code et les réglages de la balise script.
  • Objectifs couvre les conversions et les revenus.
  • Liens courts place des liens sur votre propre domaine et les compte comme des visites.
  • Confidentialité liste exactement ce que Runlight stocke et ce qu’il laisse de côté.