Dev Containers

Testing 🟡 Mid

Definition

Specification permettant de definir un environnement de developpement reproductible dans un conteneur Docker. Supporte par VS Code, GitHub Codespaces et JetBrains.

Analogie

Comme un bureau portable pre-equipe : ou que vous alliez, vous retrouvez exactement le meme poste de travail configure.

Exemple de code

// .devcontainer/devcontainer.json
{
  "name": "Node.js Dev",
  "image": "mcr.microsoft.com/devcontainers/node:20",
  "features": {
    "ghcr.io/devcontainers/features/docker-in-docker:2": {}
  },
  "postCreateCommand": "npm ci",
  "customizations": { "vscode": { "extensions": ["dbaeumer.vscode-eslint"] } }
}

Cas d'usage

Pour onboarder un nouveau developpeur en 5 minutes avec un environnement identique a toute l'equipe.

Anti-pattern

Definir un devcontainer trop lourd (IDE complet + tous les services) qui met 10 minutes a demarrer.

Termes lies

#dx#tooling#onboarding