Exécuter et partager un Notebook
Exécuter un Notebook sans l'éditeur, puis l'exporter ou l'importer.
📄Description

Un document Notebook est plus qu'une vue d'éditeur. Le même fichier s'exécute depuis la ligne de commande, s'enregistre et voyage sous forme d'un seul fichier portable, et se convertit depuis et vers d'autres formats.

Exécuter sans l'éditeur

notebook(filename) exécute un document sans l'ouvrir : il lit le code de chaque cellule de code, dans l'ordre, et l'évalue dans l'espace de travail de base, exactement comme le ferait l'éditeur. run(filename) sur un fichier .nlx fait de même. C'est ainsi qu'un document s'exécute depuis nelson-cli ou dans un traitement par lots, là où aucun éditeur n'est disponible. Les blocs de texte, les titres, les équations et les contrôles sont ignorés ; seules les cellules de code s'exécutent.

Le conteneur .nlx

Le fichier natif .nlx est un conteneur zip. Il garde la source (document.json), la sortie enregistrée (output.json) et les figures (media/) à part, si bien que la source reste petite et lisible, tandis que les figures enregistrées voyagent avec elle. La page de référence nlx décrit chaque entrée.

La forme texte .m

Un Notebook peut aussi être enregistré comme un script texte .m, où chaque bloc est écrit sous un marqueur %% [kind] (par exemple %% [code] ou %% [text]). Ce fichier s'ouvre dans n'importe quel éditeur de texte et s'exécute comme un script ordinaire. Un fichier .m sans un tel marqueur est traité comme une seule cellule de code et exécuté en entier.

Export et import

Depuis le menu Exporter, un document est écrit en HTML, Markdown, Word (.docx) ou en notebook Jupyter (.ipynb), et Enregistrer comme script écrit la forme texte .m. Ouvrir relit un document .nlx, un script .m ordinaire ou un notebook .ipynb dans l'éditeur.

Vérifier qu'un document s'exécute de bout en bout

Un document est fiable quand il s'exécute depuis un espace de travail vide, dans l'ordre, sans erreur. Comme les cellules partagent l'espace de travail de base, une variable laissée par une session antérieure peut masquer une étape manquante. Pour vérifier, exécutez le document dans une session neuve, par exemple avec nelson-cli et notebook(filename) ; si une cellule échoue, l'exécution s'arrête sur l'erreur. Ce même contrôle convient à un travail d'intégration continue.

L'exemple ci-dessous construit un document .nlx minimal et l'exécute sans l'éditeur.

💡Exemples
Construire un document Notebook (.nlx) et l'exécuter sans éditeur.
% écrit la source d'un document à une cellule
d = [tempdir(), createGUID()];
mkdir(d);
fw = fopen([d, '/document.json'], 'wt');
fwrite(fw, '{"blocks":[{"type":"codecell","props":{"code":"answer = 6 * 7;"}}]}');
fclose(fw);
fw = fopen([d, '/manifest.json'], 'wt');
fwrite(fw, '{"format":"nelson-notebook","version":1}');
fclose(fw);
% l'empaquette comme un conteneur .nlx
nlx = [tempdir(), createGUID(), '.nlx'];
odir = pwd();
cd(d);
zip(nlx, '*.json');
cd(odir);
% l'exécute : la cellule de code est évaluée dans l'espace de travail de base
notebook(nlx);
answer
🔗Voir aussi
Votre premier Notebook NelsonCellules et contrôles d'un Notebooknotebooknlxrun
🕔Historique des versions
Version Description
2.0.0 version initiale
Modifier cette page sur GitHub