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
Workspaceet 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.setAuthorexiste, 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
.htaccessn'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. ProbablementAllowOverride None. À demander aux administrateurs : vérifier que le fichier est bien déployé, autoriserAllowOverride FileInfo(avecmod_headersetmod_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 (URLdata:,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 entest.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/skillsest un lien symbolique vers.agents/skills: à vérifier si des contributeurs travaillent sous Windows.