aller au contenu principal
Parcourir la documentation

Générer le kit d’intégration

syncanix generate écrit un répertoire syncanix/ dans votre projet — l’installateur du widget, vos types, les fichiers d’enregistrement et l’exigence de CSP — et ne modifie jamais un fichier que vous avez écrit.

syncanix generate écrit tout ce dont Syncanix a besoin sous forme de code, dans un seul répertoire de votre projet. Il crée de nouveaux fichiers et uniquement de nouveaux fichiers : rien de ce qu’il fait ne peut modifier ce que vous avez écrit, il n’y a donc aucun diff de votre code à relire et rien à annuler.

npx syncanix generate --key pk_live_…

Ce que vous obtenez

Un répertoire, un fichier par sujet, et tout cela en code lisible qui vous appartient :

syncanix/
  index.ts         the one file you import — installs the widget, applies everything below
  widget.ts        installs the widget from code (idempotent, with a teardown)
  types.d.ts       types for window.syncanix, so your editor knows the API
  actions.ts       functions the agent may run on the page
  components.ts    UI the agent may render in the chat
  data-sources.ts  live data the agent may read
  page-actions.ts  the routes and controls from your last scan
  csp.ts           the CSP sources the widget needs, as a value to spread
  identity.ts      your token provider (written only with --idp)

Le fichier barrel est l’élément central : il installe la file de commandes, puis le widget, puis applique tous les enregistrements du répertoire, dans l’ordre qui les rend fonctionnels. Votre application n’importe donc qu’un seul chemin, et rien d’autre.

import './syncanix';

Ces fichiers vous appartiennent et vous pouvez les modifier

Le générateur enregistre un hachage de ce qu’il a écrit. Une nouvelle exécution met à jour les fichiers que vous n’avez pas touchés et laisse ceux que vous avez modifiés, en les signalant plutôt qu’en les écrasant — ainsi, ajouter vos propres actions dans actions.ts ne vous met pas en difficulté lors de la prochaine mise à niveau.

Indiquer à Syncanix qui est le visiteur

Nommez votre fournisseur d’identité et le générateur écrit identity.ts pour lui. Il prend votre fonction de récupération du jeton en argument plutôt que d’aller chercher une variable globale, parce que votre client d’authentification n’est accessible que depuis votre propre code — c’est pourquoi le fichier barrel ne l’appelle délibérément pas, et c’est vous qui le branchez depuis l’endroit où vit ce client.

npx syncanix generate --key pk_live_… --idp auth0
import { connectSyncanixIdentity } from './syncanix/identity';

connectSyncanixIdentity(() => auth0.getAccessTokenSilently());

Les routes et les contrôles proviennent de votre analyse

page-actions.ts indique à l’agent quelles pages il peut atteindre et quels contrôles il peut actionner. Lancez d’abord une analyse et le générateur le remplit pour vous ; sans analyse, il écrit un exemple commenté que vous complétez à la main.

npx syncanix init
npx syncanix generate

Ou laissez la CLI le faire pour vous

Il existe deux façons d’installer le widget, et celle qui vous convient dépend de votre dépôt plutôt que d’une recommandation que nous pourrions faire à votre place.

syncanix integrate
Détecte votre framework et effectue les modifications : l’intégration dans votre HTML, votre Content-Security-Policy, des variables dans .env. Vous approuvez chaque fichier depuis son diff, chaque écrasement est sauvegardé, l’ensemble s’applique en totalité ou pas du tout, et --uninstall remet tout en place.
syncanix generate
Écrit le kit et rien d’autre. Choisissez cette option quand vous ne voulez pas avoir à valider qu’un outil modifie votre dépôt.
syncanix integrate --kit
Les deux : la détection, l’approbation, les modifications de CSP et de .env et la désinstallation — mais le code atterrit dans le kit, et votre HTML n’est pas touché parce que le kit installe le widget depuis le code. Vous ajoutez l’unique import.
npx syncanix integrate --kit

Étapes suivantes