Skip to content
English

Pistes et chantiers ouverts ​

Ce qui est repéré mais pas encore fait. Un nouveau contributeur peut y trouver par où commencer ; un chantier terminé quitte cette page (et rejoint la chronologie s'il est marquant).

Intégration à Capytale ​

C'est le grand chantier à venir. Ce qui existe : CapyCode s'affiche dans un cadre, et la page hôte peut désactiver Git par postMessage (Intégration dans une page hôte). Ce qui reste à concevoir avec l'équipe Capytale :

  • Sauvegarde de l'activité sur le serveur de Capytale, au lieu du seul navigateur : le Workspace et les instantanés de projet ont été pensés pour cela (une interface de stockage, plusieurs implémentations : IndexedDB, Capytale, lien, ZIP).
  • Identité Git de l'élève : workspace.setAuthor existe, il reste à y brancher l'utilisateur Capytale.
  • Rôles enseignant / élève, activité de départ fournie par l'enseignant.
  • Autres options de la page hôte : terminal, langages ou commandes désactivables (le registre de commandes et les groupes de commandes du terminal le permettent déjà).

Déploiement ​

  • Le .htaccess n'a pas d'effet sur le serveur de Capytale (constaté après le déploiement du 21 octobre) : aucun de ses en-têtes n'apparaît. Probablement AllowOverride None. À demander aux administrateurs : vérifier que le fichier est bien déployé, autoriser AllowOverride FileInfo (avec mod_headers et mod_rewrite), ou reprendre son contenu dans la configuration de l'hôte virtuel. Sans lui, on perd le cache long des fichiers versionnés et les en-têtes de sécurité ; les mises à jour, elles, fonctionnent grâce au service worker.
  • Content-Security-Policy à écrire, d'abord en Content-Security-Policy-Report-Only : les workers Basthon (URL data:, cdn.basthon.fr, WebAssembly) et les sorties graphiques demandent une mise au point en conditions réelles.

Exécution (avec Basthon) ​

  • Interrompre un calcul sans redémarrer le noyau : aujourd'hui, arrêter une boucle infinie arrête le noyau (et perd l'état de la console). À faire dans Basthon.
  • Réutiliser l'instance de noyau : une option de Basthon pour ne pas rejouer les fichiers déjà copiés au redémarrage permettrait d'économiser la relecture de l'instantané (quelques dizaines de millisecondes).
  • Expliquer les erreurs d'exécution : les tracebacks de la console ne passent pas par le traducteur pédagogique, qui ne sert qu'à l'analyse statique.
  • import drawSvg (ancien nom du paquet) : Basthon l'installe sans sa dépendance numpy et l'import échoue ; le test de bout en bout est en test.fixme.
  • Python hors ligne : Pyodide vient de cdn.basthon.fr, et le worker isolé échappe au service worker. Servir un Pyodide local serait possible, au prix de dizaines de mégaoctets.

Défauts connus ​

Aucun pour l'instant. Un défaut repéré sans être corrigé tout de suite s'ajoute ici.

Interface ​

  • Relecture des traductions : hors anglais et français, les dictionnaires sont des traductions automatiques, à faire relire par des locuteurs natifs (leur en-tête le signale).
  • Raccourcis localisés : ils s'affichent « Ctrl+S » dans toutes les langues (« Strg+S » en allemand).
  • Gros composants à découper par responsabilité : ShareModal.vue (~600 lignes), FileExplorer.vue (~575), FindReplaceWidget.vue (~540), SearchPanel.vue, CodeEditor.vue, CommandPalette.vue (~450).

Tests ​

  • Pas de test de bout en bout pour SQL, OCaml, les sorties graphiques ni Git dans l'interface.
  • .claude/skills est un lien symbolique vers .agents/skills : à vérifier si des contributeurs travaillent sous Windows.