Projets
Un projet décrit l’environnement de développement — image, features, extensions, dépôts et commandes de cycle de vie.
Un projet est le modèle d’un environnement de développement. Il définit tout ce qu’une sandbox doit contenir : l’image Docker de base, les features devcontainer, les extensions de l’IDE, les dépôts à cloner et les commandes de cycle de vie à lancer.
Chaque sandbox et chaque tâche part d’un projet. Plusieurs sandboxes peuvent partager le même projet — chaque membre a sa propre machine isolée.
| Champ | Description |
|---|---|
image | Image Docker de base (p. ex. mcr.microsoft.com/devcontainers/base:ubuntu-22.04) |
features | Features devcontainer à installer (Node.js, Docker-in-Docker, Python, etc.) |
vscodeExtensions | Identifiants d’extensions de l’IDE (Open VSX) à préinstaller |
repositories | Dépôts GitHub à cloner dans /workspace/ au premier démarrage |
postCreateCommand | Commande shell lancée une fois, après la création de la sandbox |
postStartCommand | Commande shell lancée à chaque démarrage de la sandbox |
forwardPorts | Ports à exposer (facultatif — les ports sont aussi ouverts à la demande) |
Les projets sont compatibles avec la spécification devcontainer. Si votre projet a déjà un .devcontainer/devcontainer.json, vous pouvez en importer les réglages directement dans la configuration du projet Spunto.
Les features sont installées par les scripts d’installation OCI officiels — le mécanisme défini par la spécification Dev Container.
Chaque modification d’un projet crée un instantané de version immuable. Le numéro de la version courante est affiché dans la barre latérale sous la forme v{n}.
Une sandbox lancée sur une version plus ancienne du projet l’indique. La reconstruire (POST .../sandboxes/:id/rebuild) la recrée à la version courante du projet.
L’historique complet des versions se consulte depuis la page du projet, et toute version précédente peut y être restaurée. Restaurer crée une nouvelle version — rien n’est modifié en place.
Si vous connectez une GitHub App, Spunto peut :
- Cloner des dépôts privés dans les sandboxes avec des clés de déploiement SSH propres à chaque projet (en lecture seule par défaut)
- Injecter
GITHUB_TOKENet configurer~/.git-credentialspour les remotes HTTPS - Écrire vos credentials git personnels (clé SSH enregistrée sur votre compte GitHub) pour
git push