Repository navigation
FAQ
Les imports/exports nécessitent la fenêtre Neutralinojs, pas pnpm dev:web. Lancez l’application desktop (pnpm dev ou pnpm desktop:start) ou installez le paquet Windows.
Le paquet peut être non signé : aucun certificat de signature n’est fourni dans le dépôt. Voir Distribution. Ne distribuez pas un paquet non signé comme version officielle pour un établissement.
Installez le Microsoft Edge WebView2 Runtime (Evergreen) depuis Microsoft, puis relancez Sapphire 3. L’installateur affiche un avertissement si le runtime manque.
Trois causes possibles :
- Mauvaise version : le mode exercice n’existe que dans le build actuel, pas dans les anciennes releases.
-
Fichier sans exercice : ouvrez le
.sp3dans un éditeur de texte et cherchez"exercise". S’il est absent, l’exercice n’a pas été enregistré après sa création. - Solution laissée dans le fichier : faites Reset to starter avant d’enregistrer le fichier élève.
Même avec la bonne version, le canvas reste éditable : il n’y a pas encore de mode élève verrouillé. Le panneau Exercise doit s’ouvrir automatiquement.
L’exercice est protégé par un mot de passe. Saisissez-le pour modifier les consignes ou les tests. Le déverrouillage vaut pour la session.
Le mot de passe est une empreinte PBKDF2-SHA256 ; il ne chiffre pas le .sp3. Le fichier reste modifiable dans un éditeur de texte.
Il n’apparaît qu’après un Check dont tous les tests passent. Relancez Check après avoir corrigé le programme.
- Un
.sp3associé est autosauvegardé après chaque modification. - Un document neuf non vierge est protégé par
sapphire3-recovery.sp3dans le répertoire de données persistant, restauré au lancement. - Les enregistrements directs conservent jusqu’à trois
.backup-N.sp3.
Le fichier peut être :
- une version future ou malformée ;
- un JSON avec doublons d’identifiants, géométrie invalide ou carte incohérente ;
- un fichier de plus de 20 Mio.
Les workspaces versions 1 et 2 sont migrés à la lecture. L’import est validé avant remplacement ; en cas d’erreur, le document courant reste intact.
Undo/redo couvre les mutations structurelles (insertion, suppression, édition, transferts). Les déplacements, redimensionnements, textes d’annotation et pliage ne créent pas d’étape dédiée.
Screen, Gauge, ProgressBar, BarChart, Heatmap, LED, RGB LED, XY plot, Oscilloscope, les boutons, les entrées typées et les sélecteurs RGB/RGBA reposent sur des modules cachés et des opérations natives. Leur présence bloque explicitement la transpilation (TRANSPILE_*_UNSUPPORTED). Ils restent simulables. Les widgets de plugin sont des cartes de présentation sans module source ; leurs opérations natives suivent les émetteurs du plugin et le C les refuse.
Non. Un plugin est un manifeste JSON déclaratif .sp3plugin : widgets, opérations natives typées et composites de niveau A. Aucun eval, new Function, import de code tiers, marketplace ou backend distant n’est utilisé. Les opérations natives sont revalidées dans le run borné et le live ; les permissions fichiers, réseau et API native sont déclarées mais refusées. Voir Plugins.
Oui, en JavaScript et Python : les classes sont simulables avec leurs membres public/private, new et this, et le code généré conserve les champs, le constructeur et les méthodes. Le C expérimental les refuse (TRANSPILE_C_UNSUPPORTED). Il n'y a ni héritage ni polymorphisme.
Run live est le mode par défaut : exécution coopérative sans budget total, Pause/Reprise/Stop, vitesse 1 à 100 et entrées appliquées entre deux frames. Run borné précalcule une trace finie avec un budget de pas, utilisée par le debug et les contrats. Le dashboard exporté peut exécuter le vrai live ou rejouer une trace.
Oui. La vitrine reprend les huit langues de l’application, avec l’anglais par défaut. Le choix est mémorisé dans le navigateur et l’arabe passe la page en RTL. Les captures restent en anglais ; les pages techniques de documentation restent en français.
JavaScript et Python sont stables ; la cible C est expérimentale et volontairement restreinte (primitives numériques, booléens, chaînes, fonctions, contrôle, pointeurs, pointeurs de fonction nommés, lambdas sans capture et Print). C++ et Java restent visibles dans le catalogue mais indisponibles.
- Un workspace est un dossier choisi par vous, avec
workspace.sp3,images/etbackups/. - Langue, thème, chemins récents, dernier workspace et raccourcis sont dans le répertoire de données persistant de l’application.
- La copie de récupération y est aussi. Rien de tout cela n’est dans le dossier d’installation.
Oui. C’est un outil d’entraînement, pas un examen surveillé. Le verrou protège l’interface, pas le fichier.
770 tests Node et Python. Voir Architecture.
Sapphire 3 — wiki du projet. Licence MIT. Documentation source : docs/ et abstract/. Dernière mise à jour : 11 novembre 2026.
Sapphire 3
Comprendre
Utiliser
Projet