Aller au contenu

Installer le SDK

Afficher en Markdown

Le SDK officiel est @vimine/sdk : TypeScript, ESM, aucune dépendance (il utilise fetch et WebCrypto). Le point d’entrée navigateur pèse environ 7 kB compressé.

Fenêtre de terminal
npm install @vimine/sdk
Import Ce qu’il contient Où
@vimine/sdk Vimine (Se connecter avec Vimine + API membre), publicApi, VimineError, les types navigateur ; Node aussi, avec un stockage à vous
@vimine/sdk/react VimineProvider, useVimine, SignInButton React ≥ 18 (dépendance pair facultative)
@vimine/sdk/server VimineServer (clients confidentiels, client_credentials, sandbox) Node ≥ 18 — jamais dans un navigateur
browser
import { Vimine, publicApi, VimineError } from '@vimine/sdk';
server
import { VimineServer } from '@vimine/sdk/server';
React
import { VimineProvider, useVimine, SignInButton } from '@vimine/sdk/react';
  • Navigateur : fetch, crypto.subtle (WebCrypto) et sessionStorage/localStorage — tous les navigateurs modernes. Les pages doivent être servies en https (ou http://localhost en développement) : WebCrypto n’est pas disponible sur les origines non sécurisées.
  • Node : 18 ou plus récent (fetch et globalThis.crypto natifs).
  • Bundler : n’importe lequel (Vite, webpack, esbuild, …) ou <script type="module"> avec un bundle à vous. Le paquet est uniquement ESM.
  • TypeScript : les types sont inclus ; aucun @types/* à ajouter.
app.js
import { Vimine } from '@vimine/sdk';
const vimine = new Vimine({
clientId: 'vmc_…', // depuis la console Développeurs
redirectUri: 'https://www.example.org/vimine/callback', // enregistrée pour le client
scopes: ['profile:read', 'membership:read']
});
document.querySelector('#sign-in').addEventListener('click', () => vimine.signIn());
callback.js
const result = await vimine.handleRedirect(); // échange le code, enregistre la session
if (result) {
const me = await vimine.me.get();
console.log(`Bonjour ${me.first_name}`);
}

Continuez avec Se connecter avec Vimine pour le flux complet, la session et la déconnexion.