Installation
Trois façons d’ajouter Takt à ton site, selon ta stack.
CDN
<script>. Idéal pour un site statique, du HTML, WordPress, Webflow…npm
File d'attente
takt() émis avant que le script soit prêt.CDN (recommandé)
La méthode la plus simple : une seule balise dans le <head>. Le fichier est servi depuis un CDN mondial, mis en cache et versionné.
<script defer src="https://cdn.jsdelivr.net/npm/@vskstudio/takt-core/dist/takt.js" data-domain="exemple.fr"></script> unpkg fonctionne aussi : remplace cdn.jsdelivr.net/npm par unpkg.com.
@vskstudio/[email protected]/dist/takt.js.npm
Si tu as déjà un bundler, installe le package et pilote Takt par code. C’est la voie à privilégier pour les applications à framework.
pnpm add @vskstudio/takt-core
# ou : npm install @vskstudio/takt-core
# ou : yarn add @vskstudio/takt-core
# ou : bun add @vskstudio/takt-core import { init, track } from '@vskstudio/takt-core'
// Une fois, au démarrage de l'app : déclenche le pageview initial,
// câble la navigation SPA et crée l'instance partagée.
init({ domain: 'exemple.fr' })
// Partout ailleurs : émets tes événements.
track('Signup', { props: { plan: 'pro' } }) Toutes les options de init() sont détaillées dans la configuration.
Wrappers de framework
Tu utilises React, Vue, Svelte, Solid, Angular ou Astro ? Plutôt que de piloter le cœur à la main, prends le wrapper dédié — composant, hooks/composables, directive/action et web component inclus, le tout SSR-safe :
- React —
@vskstudio/takt-react(provider, hooks,<TaktEvent>). - Vue —
@vskstudio/takt-vue(composant, composable, directive, plugin). - Svelte —
@vskstudio/takt-svelte(composant, actionuse:taktEvent). - Solid —
@vskstudio/takt-solid(composant, hooks,<TaktEvent>). - Angular —
@vskstudio/takt-angular(provideTakt(), service, directive[taktEvent]). - Astro —
@vskstudio/takt-astro(intégration, composant<Takt />).
Chacun s’appuie sur @vskstudio/takt-core et expose un sous-chemin /element pour le web component <takt-analytics>, utilisable même hors de ton framework.
Côté serveur, Takt s’intègre aussi à PHP : rendu du snippet directement dans ton HTML et envoi d’événements serveur-à-serveur (S2S), via trois packages Composer publiés sur Packagist :
- PHP —
vskstudio/takt-core-php(cœur agnostique :SnippetRenderer+ client S2STakt). - Laravel —
vskstudio/takt-laravel(directive Blade@takt, façadeTakt, config publiable). - Symfony —
vskstudio/takt-symfony(fonction Twigtakt(), serviceTaktautowiré).
File d’attente (appels avant chargement)
Le script étant chargé en defer, il peut ne pas être prêt quand ton code appelle takt(). Ce shim crée une file d’attente : les appels sont stockés puis rejoués une fois le script chargé. Aucun événement n’est perdu.
<script>
window.takt = window.takt || function () { (window.takt.q = window.takt.q || []).push(arguments) }
</script> window.takt(...) immédiatement. Ce shim n'est utile que si tu charges le script de façon personnalisée.