Aller au contenu
← Toutes les plateformes

Tutoriel Next.js et frameworks

Un composant web, tous les frameworks

Pas de SDK à installer : un script chargé une fois, une balise dans vos pages. Shadow DOM, aucun conflit de styles.

Ce qu'il vous faut≈ 5 min d'installation

  • Next.js 13+ (App Router ou Pages), React 19, Vue 3 ou Svelte
  • Un domaine déclaré par environnement (production, préproduction)
  • Un compte Vokyt, offre Gratuit comprise

Étape 1 sur 4 · Copier le script

vokyt.cc/tableau-de-bord

Pas à pas

  1. 01

    Préparez Vokyt

    Compte, site, clé publique

    Créez votre compte Vokyt (gratuit), puis ouvrez Tableau de bord → Sites et intégration → Ajouter un site.

    Déclarez tous les domaines où le lecteur s'affichera : votre domaine de production et ceux de prévisualisation (par exemple les URL Vercel). Le lecteur refuse de s'afficher sur un domaine non déclaré : c'est ce qui empêche quelqu'un d'utiliser vos vocaux ailleurs.

    Copiez la ligne de script affichée : elle contient déjà votre clé publique (pk_live_…). Cette clé peut apparaître dans vos pages sans risque.

    html
    <script src="https://vokyt.cc/player.js" data-key="pk_live_…" defer></script>
  2. 02

    Chargez le script une fois

    next/script

    Dans le layout racine, ajoutez le script avec next/script. Les attributs data-* sont transmis tels quels.

    tsx
    import Script from "next/script";
    
    export default function RootLayout({ children }: { children: React.ReactNode }) {
      return (
        <html lang="fr">
          <body>
            {children}
            <Script src="https://vokyt.cc/player.js" data-key="pk_live_…" strategy="afterInteractive" />
          </body>
        </html>
      );
    }
  3. 03

    Déclarez la balise pour TypeScript

    vokyt.d.ts

    Une seule fois dans le projet, pour que TypeScript connaisse <vokyt-player>.

    ts
    import "react";
    declare module "react" {
      namespace JSX {
        interface IntrinsicElements {
          "vokyt-player": React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement> & { note: string };
        }
      }
    }
  4. 04

    Utilisez la balise

    <vokyt-player>

    Placez la balise sous le paragraphe, dans un composant ou dans un fichier MDX.

    Vue : déclarez vokyt-player comme élément personnalisé (compilerOptions.isCustomElement). Svelte l'accepte tel quel.

    tsx
    <vokyt-player note="note_…"></vokyt-player>

Questions fréquentes

Le lecteur ne s'affiche pas, pourquoi ?

Dans 9 cas sur 10, le domaine exact de la page n'est pas déclaré dans Sites et intégration (avec ou sans www, domaine de prévisualisation). Vérifiez aussi que la ligne de script est présente une seule fois et que le vocal est prêt.

Ça marche avec le rendu serveur ?

Oui : la balise est rendue côté serveur, puis le lecteur s'active dans le navigateur. Pour mettre aussi la transcription dans le HTML, appelez GET /v1/notes/{id}/embed avec votre clé secrète dans un composant serveur.

Est-ce que ça ralentit mon site ?

Le lecteur pèse moins de 15 Ko, se charge en différé (defer) et n'utilise aucun cookie. L'audio n'est téléchargé que lorsque le lecteur appuie sur lecture.

Autres plateformes

Prêt à faire entendre votre voix ?

Créez votre compte, enregistrez un premier vocal et suivez les étapes : c'est gratuit pour commencer.