Skip to content
English

Glossaire ​

Le vocabulaire du projet, tel qu'il est employé dans le code et dans cette documentation.

TermeSens
BasthonEnsemble de noyaux d'exécution pédagogiques (Python, SQL, OCaml…) pour le navigateur, publiés sur npm (@basthon/kernel-*). CapyCode les utilise tels quels.
CapytalePlateforme d'activités de programmation de l'Éducation nationale, qui intègre CapyCode dans un cadre : c'est la page hôte.
CommandeAction de l'IDE décrite une fois (Command, src/commands/catalog.ts) ; menus, palette et raccourcis en dérivent. À ne pas confondre avec une commande du terminal (ShellCommand).
ConsoleUn onglet du panneau inférieur : un terminal, un prompt ou une sortie graphique (store console).
Console Python, promptL'interpréteur interactif d'un langage (>>>), un par langage. C'est là que le bouton ▶ laisse l'état final du programme, et là que bascule python tapé seul dans le terminal.
Extension intégréeFonctionnalité optionnelle ou langage secondaire (linter, git, formatter, outline, sql, ocaml) déclarée dans src/services/extensions/, installable ou désactivable depuis le panneau Extensions (Ctrl+Maj+X).
Faux noyauFakeKernel (tests/helpers/fake-kernel.ts) : imitation du contrat Basthon pour les tests Vitest.
Instantané (de projet)ProjectSnapshot : fichiers texte et, au choix, une partie de l'historique Git, dans un format versionné. C'est le contenu d'un lien de partage.
Instantané Pyodide (snapshot)Copie de la mémoire de Pyodide juste après son chargement, gardée par Basthon dans IndexedDB (basthon-python3) ; un noyau redémarre en ~1 s au lieu de ~4 s. Sans rapport avec l'instantané de projet.
KernelSessionAu plus un noyau démarré, plus le routage de ses événements vers une console (src/services/runtime.ts). Une par prompt et une par terminal.
LangageLanguageSupport déclaré dans src/languages/ : extensions, coloration, exécution, analyse, formatage, plan.
LightningFSSystème de fichiers dans IndexedDB (@isomorphic-git/lightning-fs), celui qu'attend isomorphic-git. Base capycode-fs.
Lien de partageURL dont le fragment #capycode=… contient un instantané compressé (fflate + Base64URL). Le fragment n'est jamais envoyé au serveur.
Lot (batch)Série d'écritures dont les notifications sont regroupées en une seule à la fin (vfs.batch, gitService.batch, workspace.batch).
NoyauInterpréteur d'un langage fourni par Basthon (python3, sql, ocaml), qui tourne dans un worker isolé. Un noyau neuf est démarré pour chaque exécution d'un programme.
Origine opaqueOrigine d'un worker lancé depuis une URL data: : il ne partage rien (IndexedDB, localStorage, cookies) avec la page. C'est ce qui isole le code de l'élève.
Page hôtePage qui affiche CapyCode dans une <iframe> et peut le régler par postMessage (store embedding).
PréludeCode évalué avant un script Python pour reproduire python <script> <args> : répertoire courant, sys.argv, sys.path, __file__ (pythonScriptPrelude).
Projet de départmain.py et un premier commit, créés à la toute première visite (src/services/project/defaults.ts).
RuffAnalyseur et formateur Python, en WebAssembly (@astral-sh/ruff-wasm-web), chargé au premier fichier Python.
ServiceModule de logique sans Vue ni store (src/services/), testable sous Node.
Service workersrc/sw.ts : rend l'application utilisable hors ligne et gère la mise à jour des fichiers en cache.
ShellCommandUne commande du terminal (ls, git, python…) : exécution, aide et complétion au même endroit.
StoreÉtat réactif Pinia (src/stores/), affiché par les composants ; s'abonne aux notifications des services.
TerminalContextCe que reçoit une commande du terminal : le projet, le répertoire courant, les E/S, le Python de la session. Jamais un store.
VFSVirtualFileSystem (src/services/vfs.ts) : le système de fichiers du workspace et ses notifications (onChange).
WorkspaceLe projet de l'élève sous /workspace : son système de fichiers et son dépôt Git (/workspace/.git), réunis par la classe Workspace.