Skip to content
English

Visite guidée du code ​

Le plus court chemin pour entrer dans le code : partir de l'écran, puis suivre quatre actions de l'élève à travers les couches. Chaque étape nomme le fichier où regarder.

L'écran et ses composants ​

App.vue assemble ces zones ; les fenêtres (ShareModal, AboutModal, InstallModal, FormatDiffModal, CommandPalette) et les dialogues (DialogHost) s'affichent par-dessus. Le détail est dans Interface et composants.

Tout composant suit la même règle : il lit les stores et déclenche leurs actions lui-même, sans recevoir l'état par props depuis App.vue. Pour comprendre un élément de l'écran, ouvrez son composant, puis le store qu'il utilise.

1. Le démarrage ​

À lire : src/main.ts, src/App.vue (partie <script>), src/composables/useProject.ts, src/services/project/defaults.ts.

À retenir : la langue est connue avant le premier rendu, et la page hôte est écoutée avant aussi, pour qu'une interface sans Git s'affiche directement sans Git (Intégration dans une page hôte).

2. L'élève enregistre un fichier (Ctrl+S) ​

Personne n'a « rafraîchi » quoi que ce soit : l'éditeur a écrit, le VFS a prévenu ses abonnés. C'est la règle la plus importante du projet, expliquée dans Stores et synchronisation.

À lire : src/commands/catalog.ts (file.save), src/commands/useKeybindings.ts, src/stores/editor/documents.ts (saveFile), src/services/vfs.ts (onChange, flushChanges), src/stores/git.ts (abonnement au VFS).

3. L'élève exécute son programme (▶ ou Ctrl+Entrée) ​

Le prompt reste ensuite ouvert sur l'état final du programme, comme python -i. Dans le terminal, python main.py suit le même chemin avec la session du terminal, sur un noyau neuf à chaque commande.

À lire : src/stores/runtime.ts (runFile), src/services/runtime.ts (KernelSession, pythonScriptPrelude), src/services/kernels.ts (createKernel), src/stores/console.ts (promptIO), src/components/console/KernelOutput.vue (sorties riches). Le pourquoi est dans Intégration de Basthon.

4. L'élève tape git commit -m "fini" dans le terminal ​

L'interpréteur ne connaît aucun store : il reçoit un TerminalContext. Le panneau Git et le graphe se mettent à jour par la notification du service Git, exactement comme après un clic sur « Commit » dans le panneau.

À lire : src/stores/terminal.ts (execute, context), src/services/terminal/index.ts (executeCommandLine, registre COMMANDS), src/services/terminal/git/, src/services/git/index.ts (mutate, flushChanges). Voir Terminal et Git.

Et ensuite ​

  • Pour modifier quelque chose, cherchez d'abord la recette correspondante.
  • Pour un domaine précis, la page d'architecture correspondante, puis les tests du dossier tests/<domaine>/ : ils décrivent le comportement attendu, en français, en tête de chaque fichier.