Aller au contenu
VellumOuvrir Vellum

Du code en 25 langages, directement dans une page.

Un bloc de code délimité dans une page devient une cellule exécutable. Le code reste du Markdown simple ; les sorties, tableaux et graphiques sont enregistrés avec la page. Tout s’exécute dans un bac à sable sur votre appareil.

Une page Vellum avec une cellule JavaScript qui partage un tableau et une cellule SQL qui en fait la somme, à côté du Markdown de la page.
Une page Vellum avec une cellule JavaScript qui partage un tableau et une cellule SQL qui en fait la somme, à côté du Markdown de la page.

Du code qui vit dans vos pages

Écrivez un bloc de code délimité avec un langage, comme sur GitHub ou dans Obsidian. En mode lecture ou partagé, il devient une cellule avec un bouton Exécuter. Le code reste dans le Markdown de la page, qui reste donc portable ; ce qu’une cellule affiche, les tableaux qu’elle renvoie et les graphiques qu’elle dessine sont enregistrés avec la page et réapparaissent quand vous la rouvrez.

```python
import pandas as pd
runs = pd.DataFrame({"month": ["Jan", "Feb", "Mar"], "km": [42, 51, 63]})
runs.describe()
```

25 langages, sur votre appareil

JavaScript, TypeScript, Python, SQL, Lua, Shell (emulated), Ruby, PHP, R, Perl, Go, Rust, C, C++, OCaml, Haskell, Zig, C#, F#, Java, Clojure, Elixir, Erlang, Scheme, Prolog.

Chaque langage se télécharge la première fois que vous l’exécutez (de quelques centaines de kilo-octets pour Lua ou JavaScript à quelques dizaines de mégaoctets pour Rust), puis fonctionne hors ligne. Réglages → Environnements de code les télécharge à l’avance, pour l’avion ou le train.

Le code s’exécute dans un cadre isolé, avec un worker par page et par langage. Il ne peut lire ni l’application, ni vos autres pages, ni le réseau : les cellules n’ont pas accès au réseau sauf si vous l’autorisez pour cette page.

Travaillez comme dans un notebook

Partagez des données entre langages

Les cellules d’une même page peuvent se passer des données d’un langage à l’autre : share(name, value) dans l’une, use(name) dans une autre. Les tableaux arrivent sous forme de tableaux : partagez des lignes depuis JavaScript, puis interrogez-les en SQL.

```js
share("runs", [{ month: "Jan", n: 4 }, { month: "Feb", n: 7 }])
```

```sql
select sum(n) as total from runs;
```

Saisie, fichiers et paquets

Exécuter votre première cellule de code dans Vellum

  1. Ouvrez une page

    Créez une page, ou ouvrez n’importe quelle page existante.

  2. Écrivez un bloc de code

    Tapez trois accents graves et un nom de langage, par exemple ```python, puis votre code, puis trois accents graves pour fermer le bloc.

  3. Exécutez-le

    Passez en mode lecture ou partagé et appuyez sur Exécuter sur la cellule (ou Maj+Entrée dans l’éditeur de cellule). Le langage se télécharge la première fois.

  4. Gardez le résultat

    La sortie est enregistrée avec la page. Ouvrez le menu de cellule pour Tout exécuter, Variables et les autres commandes de notebook.

Dans l’application

Questions

Est-ce que ça remplace Jupyter ?

Pour beaucoup de notebooks, oui : Vellum ouvre et exporte les fichiers .ipynb et conserve les sorties. Il exécute des versions WebAssembly de chaque langage dans le navigateur ; les calculs lourds, les GPU et certains paquets natifs demandent donc toujours Jupyter. Voir Vellum et Jupyter.

Mon code a-t-il accès à Internet ?

Pas sans votre accord. Une cellule qui essaie d’accéder au web demande d’abord (une fois, toujours pour cette page, ou jamais), et chaque requête est journalisée sous la cellule.

Est-ce que ça marche hors ligne ?

Oui. Chaque langage se télécharge une fois, à sa première utilisation, puis reste sur votre appareil. Vous pouvez tous les télécharger à l’avance dans les Réglages.