Aller au contenu
TYPEStandard
ÉTAPEProduction
DIFFICULTÉModéré
MÉTIEROnboarder un développeur
POURÉquipes de devs
POURIT entreprise
POURAgences
SERVICESSnapshots
SERVICESConteneurs
SERVICESTerminal
SERVICESFiles
POURQUOI HOODYVoyage temporel par snapshot
POURQUOI HOODYÉconomie des conteneurs
TYPEStandard
ÉTAPEProduction
DIFFICULTÉModéré
MÉTIEROnboarder un développeur
POURÉquipes de devs
POURIT entreprise
POURAgences
SERVICESSnapshots
SERVICESConteneurs
SERVICESTerminal
SERVICESFiles
POURQUOI HOODYVoyage temporel par snapshot
POURQUOI HOODYÉconomie des conteneurs
TYPEStandard
ÉTAPEProduction
DIFFICULTÉModéré
MÉTIEROnboarder un développeur
POURÉquipes de devs
POURIT entreprise
POURAgences
SERVICESSnapshots
SERVICESConteneurs
SERVICESTerminal
SERVICESFiles
POURQUOI HOODYVoyage temporel par snapshot
POURQUOI HOODYÉconomie des conteneurs
TYPEStandard
ÉTAPEProduction
DIFFICULTÉModéré
MÉTIEROnboarder un développeur
POURÉquipes de devs
POURIT entreprise
POURAgences
SERVICESSnapshots
SERVICESConteneurs
SERVICESTerminal
SERVICESFiles
POURQUOI HOODYVoyage temporel par snapshot
POURQUOI HOODYÉconomie des conteneurs
SNAPSHOTS · COPIE DE CONTAINER

Onboarde un développeur avec un lien

Snapshot votre baseline développeur une fois. Ensuite, chaque nouvelle recrue reçoit une URL. Elle clique dessus depuis le laptop qu'elle a, et la voilà dans un conteneur frais qui est un clone de la baseline — codebase, dépendances, env vars, base de données seedée, VSCode dans le navigateur. Coder en cinq minutes. Pas configurer.

Lire la doc snapshots

Comment une URL devient un laptop fonctionnel

Les snapshots Hoody capturent un conteneur entier — fichiers sur disque, comptes utilisateurs, units systemd, base de données seedée. La copie de conteneur clone ce snapshot dans un conteneur frais par développeur. Le lien dans l'email est la route vers ce conteneur frais.

POST /api/v1/containers/[baseline_id]/copy4 ÉTAPES · UN APPEL API
01

Snapshot la baseline une fois

POST .../snapshots

Prenez un snapshot nommé de votre conteneur de référence — aliasez-le dev-baseline. Refaites quand la baseline change.

02

Copy à chaque nouvelle recrue

POST .../copy [ source_snapshot ]

Un appel API clone le snapshot dans un conteneur frais sous le projet du nouveau développeur.

03

Leur URL est le conteneur

alex-laptop.containers.hoody.com

Le conteneur ship avec une URL publique d'office. Collez-la dans Slack. Elle clique. Elle est dedans.

04

Terminal, fichiers, navigateur

ttyd · webview · ssh

hoody_kit allume automatiquement les endpoints terminal, file browser et VSCode-in-browser. Rien à installer sur le laptop.

onboard-alex.sh
# 1. Snapshot la baseline (une fois, refais quand vous upgradez Node)
curl -X POST "$API/api/v1/containers/$BASE/snapshots" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{ "alias": "dev-baseline" }'

# 2. Copie le snapshot dans un conteneur frais pour la nouvelle recrue
curl -X POST "$API/api/v1/containers/$BASE/copy" \
  -H "Authorization: Bearer $TOKEN" \
  -d '{
    "target_project_id": "$ACME",
    "name": "alex-laptop",
    "source_snapshot": "dev-baseline",
    "copy_firewall_rules": true,
    "copy_network_rules": true
  }'

# 3. La réponse porte l'URL du container. Email-la. C'est l'onboarding.
# => https://alex-laptop.containers.hoody.com

Deux POST et une URL. Le snapshot baseline est le contrat ; la copie de conteneur est le constructeur ; le sous-domaine résultant est ce qui atterrit dans l'email de bienvenue. Pas de bastion à provisionner, pas de repo dotfiles à cloner, pas de licence Docker Desktop à négocier.

D'un mur d'étapes à une seule phrase

Le README qui shippait avec chaque repo portait aussi les modes d'échec. La moitié des lignes étaient des contournements pour le laptop que la recrue avait apporté. L'URL est plus courte parce que le laptop n'est plus dans l'image — l'environnement, lui, l'est.

README.md · setup47 ÉTAPES
  • 01Installer Xcode CLI tools
  • 02Installer Homebrew
  • 03brew install node@20 pnpm postgres@15
  • 04Ajouter les lignes PATH au .zshrc
  • 05createdb acme_dev
  • 06Cloner le repo seed-data
  • 07Lancer le loader (25 min)
  • 08Demander dans #devops le .env staging
  • ...39 lignes de plus que vous allez rater
TEMPS MOYEN AU PREMIER COMMITDEUX JOURS
DEVIENT
l'email de bienvenue · v21 LIGNE

TO: alex@acme.com · SUBJECT: BIENVENUE

Bienvenue dans l'équipe. Ouvrez ceci quand vous êtes prêt à coder :

https://alex-laptop.containers.hoody.com

— infra@acme

TEMPS AU PREMIER COMMITCINQ MINUTES
JOUR UN · LE LUNDI D'ALEX

Le README de 47 étapes est maintenant une ligne : ouvrez cette URL.

08:59 — laptop ouvert, lien dans le presse-papier09:04 — premier commit pushé
Premier commit, à la montreCINQ MINUTES · ZÉRO INSTALLATION
0108:59L'URL atterrit dans l'inboxpas de setup laptop
0209:04Premier commit pushéécrire du code, pas configurer
FICHIERSCodebase déjà clonée, branche sur main
DEPSNode, pnpm, Postgres, Redis pré-installés
DONNÉESBase seedée chargée, .env staging injecté

Ce que ça remplace

Chacun de ceux-ci essaie d'amener un environnement fonctionnel sur le laptop d'un nouveau développeur. Chacun coûte du setup, une licence ou de la glue maison. Une URL snapshot ne coûte rien de tout ça — l'environnement tourne déjà.

  • GitHub CodespacesFacturation par siège, devcontainer.json à maintenir
  • DaytonaPlan de contrôle self-hosted à faire tourner
  • CoderTemplates et infrastructure de provisioner à babysitter
  • Setup DevconteneurLicence Docker Desktop + danse VSCode par laptop
  • Développement localDeux jours de brew, paths, demandes de .env dans #devops
  • Docs d'onboarding47 étapes qui dérivent à la minute où quelqu'un upgrade la baseline

Arrêtez de livrer des étapes README. Livrez une URL.

Lis les autres