Versionnement du CDN
Chaque ressource d’embed est servie depuis un chemin d’alias majeur :
https://cdn.kaleidr.com/embed/v1/kaleidr.js ← the loader (façade)
https://cdn.kaleidr.com/embed/v1/chat.js ← chat bundle
https://cdn.kaleidr.com/embed/v1/viewer.js ← viewer loader
https://cdn.kaleidr.com/embed/v1/editor.js ← editor bundle
https://cdn.kaleidr.com/embed/v1/tile.js ← tile loader
Vous épinglez kaleidr.js ; il demande ensuite la version v1 de chaque bundle produit.
Ce qu’est réellement v1
v1est un alias de contrat majeur, pas un build épinglé. Aucun chemin de patch ni de content-hash n’existe sous/embed/v1/*. Le fichier servi par cette URL est le build v1 actuel, publié sur place ; il n’existe pas de/embed/v1.2.3/…que vous puissiez épingler.- Les correctifs rétrocompatibles sont publiés sous
/embed/v1/— vous les recevez automatiquement. Cela inclut les ajouts de comportement (nouveaux événements SSE stables, nouvelles méthodes de handle) — la règle de compatibilité veut que les clients ignorent les ajouts wire inconnus et que les méthodes de handle non prises en charge soient des no-op avec avertissement. - Une modification wire/postMessage incompatible est publiée dans une nouvelle version majeure à côté de v1 :
/embed/v2/kaleidr.js(+/embed/v2/<product>.js). Votre URLv1épinglée continue de fonctionner sans changement ; migrez selon votre propre calendrier en modifiant le chemin.
Le contrat SSE wire est versionné de la même manière sous
/inference-api/b2b/v1/* — un v2 n’apparaît que pour une modification incompatible
du stream.
Mise en cache
Les bundles sont servis avec Cache-Control: public, max-age=300 et chaque
publication invalide la distribution CloudFront — la propagation réelle est donc de
~1 à 5 minutes en périphérie, plus jusqu’à 300 s supplémentaires pour un
navigateur ayant déjà mis en cache le fichier précédent. C’est rapide pour les correctifs ;
c’est aussi pourquoi vous ne devez pas fingerprint ni conserver ces
fichiers longtemps en cache localement sans plan pour les remplacer.
Auto-hébergement
Pointer uniquement kaleidr.js vers votre propre origine ne vous isole pas
du CDN de Kaleidr — le loader continue de récupérer les bundles lazy
(chat.js, editor.js, viewer.js, tile.js) depuis
cdn.kaleidr.com au moment du montage. Pour un auto-hébergement complet, remplacez la base du loader
et répliquez les cinq fichiers dans {origin}/embed/v1/ :
<script>window.__KALEIDR_EMBED_BASE__ = 'https://cdn.example.com';</script>
<script src="https://cdn.example.com/embed/v1/kaleidr.js"></script>
Si votre embed communique également avec la platform API ou un tile CDN privé,
remplacez chacun indépendamment — consultez
api-base,
viewer-base et
tile-base.