Aller au contenu

Créer des environnements

Créez un nouvel environnement en branchant depuis un environnement actif existant. Le processus clone la base source et copie optionnellement les ressources de configuration.


  1. Ouvrez le menu Sélecteur d’environnement dans la barre de navigation du Backend Console.
  2. Cliquez sur + Créer un environnement.
  3. Une boîte de dialogue modale apparaît avec les options de configuration.
  • Brancher depuis : Environnement source. Seuls les environnements active sont disponibles.
  • Nom de l’environnement : Nom unique (ex. staging, feature-auth). Caractères alphanumériques, tirets et underscores uniquement.
  • Full (schéma + données) : Copie complète incluant les données. Pour des tests réalistes.
  • System (schéma seul) : Schéma uniquement (tables, colonnes, index, relations, enums, vues). Pour des environnements vides.

Optionnel, nécessite le rôle ProjectOwner :

  • Fournisseurs de stockage (S3, GCS, Azure, Filestack)
  • Routes gateway et webhooks
  • Config sécurité (CORS, limites de débit)
  • Variables d’environnement

Note : Les fournisseurs d’authentification sont exclus pour des raisons de sécurité.

  1. Cliquez Créer l’environnement.

Modal de création de branche


  1. Validation du nom et de l’état source
  2. Création du dossier d’environnement
  3. Clonage PostgreSQL (Full ou System)
  4. Provisionnement des credentials
  5. Enregistrement de la configuration
  6. Copie des ressources si sélectionnées
  7. Passage au statut active

Rollback automatique en cas d’échec.


mutation BranchEnvironment($input: BranchEnvironmentInput!) {
branchEnvironment(input: $input) {
success
message
environment {
id
name
parentId
parentName
branchMode
branchedAt
status
createdAt
updatedAt
}
}
}

Variables:

{
"input": {
"projectId": "f7e4a264-d659-4719-91e8-c2d74654e529",
"name": "staging",
"sourceEnvironment": "master",
"mode": "full",
"copyFileProviders": true,
"copyGatewayRoutes": true,
"copySecurityConfig": false,
"copyEnvironmentVariables": true
}
}

Réponse:

{
"data": {
"branchEnvironment": {
"success": true,
"message": "Environment created successfully",
"environment": {
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"name": "staging",
"parentId": "master-env-id",
"parentName": "master",
"branchMode": "full",
"branchedAt": "2026-03-08T20:00:00Z",
"status": "active",
"createdAt": "2026-03-08T20:00:00Z",
"updatedAt": "2026-03-08T20:00:05Z"
}
}
}
}
ChampTypeRequisDescription
projectIdStringOuiID du projet
nameStringOuiNom du nouvel environnement
sourceEnvironmentStringOuiEnvironnement source
modeStringOui"full" ou "system"
copyFileProvidersBooleanNonCopier les fournisseurs de stockage
copyGatewayRoutesBooleanNonCopier les routes gateway
copySecurityConfigBooleanNonCopier CORS et limites
copyEnvironmentVariablesBooleanNonCopier les variables
  • Sans drapeaux de copie : accès projet standard.
  • Avec drapeaux : rôle ProjectOwner requis.