Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Modules & scripting

ycell est extensible de deux façons complémentaires : des modules signés depuis un hub, et du code local que vous écrivez et exécutez immédiatement.

Modules signés (le hub)

Le hub est un catalogue de modules WebAssembly signés et sandboxés : connecteurs (sources de données), actions (effets sortants), fonctions personnalisées et scripts (macros). Chaque module :

  • est signé par le hub et vérifiable hors-ligne,
  • tourne dans un bac à sable à autorité minimale : pas d'accès réseau arbitraire, les accès sortants passent par des permissions explicitement autorisées,
  • déclare ses besoins dans une feuille de permissions que vous approuvez à l'installation.

Vous installez / activez un module depuis Modules ; une fonction activée s'utilise comme une formule (=NS.NAME(...)), un script se lance depuis le gestionnaire.

Hub public, hub privé

Le hub public est ouvert (consommer et publier). Un hub privé (édition entreprise) protège son catalogue interne derrière un jeton d'accès — avec des droits distincts pour installer et pour publier des modules.

Scripting local

Vous pouvez écrire du code et l'exécuter immédiatement sur le classeur vivant, sans serveur ni signature — comme une macro :

  • JavaScript ;
  • Python (chargé à la demande).

Les deux exposent la même API wb (wb.getCell / wb.setCell / wb.listSheets). Le même code est ensuite portable vers un module signé.

Du local au signé (publier)

Le même code JavaScript peut devenir un module WebAssembly signé publié sur le hub. Les fonctions personnalisées sont le cas le plus direct ; un script qui modifie le classeur demande encore une adaptation.