# General Translation Platform: setupProject URL: https://generaltranslation.com/fr/docs/platform/core/reference/gt-class-methods/translation/setup-project.mdx --- title: setupProject description: Prépare les fichiers téléversés pour les workflows de traduction du Project. Référence API pour setupProject. --- Lance le processus de setup d’un Project de traduction à partir de fichiers précédemment téléversés dans General Translation. Cette opération crée un job de setup asynchrone qui analyse les fichiers et les prépare pour les workflows de traduction. ## Vue d’ensemble [#overview] Appelez `setupProject` avec les références de fichiers provenant de [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files), éventuellement accompagnées d’options de configuration. La méthode met soit un job de setup en file d’attente (en renvoyant un `setupJobId`), soit indique que le Project est déjà configuré. ```typescript const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' }); const setupResult = await gt.setupProject(fileRefs, { timeoutMs: 30000 }); if (setupResult.status === 'queued') { console.log(`Setup job created: ${setupResult.setupJobId}`); } else { console.log('Project is already set up'); } ``` Signature : ```typescript setupProject( files: FileReference[], options?: SetupProjectOptions ): Promise ``` *Remarque : `setupProject` nécessite un `apiKey` (ou `devApiKey`) ainsi qu’un `projectId` sur l’instance GT. Vous devez d’abord téléverser les fichiers avec [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files).* ## Fonctionnement [#how-it-works] * **Analyse du fichier.** Le setup analyse le contenu et la structure du fichier afin d’optimiser les workflows de traduction. * **Job asynchrone.** Le job de setup s’exécute de manière asynchrone — surveillez sa progression avec [`checkJobStatus`](/docs/platform/core/reference/gt-class-methods/translation/check-job-status). * **Si nécessaire.** Le setup est généralement requis avant de mettre en file d’attente des jobs de traduction pour de nouveaux Projects. * **Gestion des versions.** Les références de fichiers incluent `branchId` pour la gestion des versions avec prise en charge des branches. ## Paramètres [#parameters] | Paramètre | Description | Type | Facultatif | Par défaut | | --------------------- | ------------------------------------------------------------------------------- | --------------------- | ---------- | ---------- | | [`files`](#files) | Références à des fichiers provenant de fichiers source précédemment téléversés. | `FileReference[]` | Non | — | | [`options`](#options) | Paramètres de la tâche de configuration initiale. | `SetupProjectOptions` | Oui | — | ### `files` [#files] **Type** `FileReference[]` · **Obligatoire** Les références de fichiers renvoyées par [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) : ```typescript type FileReference = { fileId: string; versionId: string; branchId: string; fileName: string; fileFormat: FileFormat; transformFormat?: FileFormat; // format de sortie demandé pour les traductions générées dataFormat?: DataFormat; }; ``` `FileReference` exige `fileName` et `fileFormat` ; `transformFormat` et `dataFormat` sont facultatifs. ### `options` [#options] **Type** `SetupProjectOptions` · **Facultatif** | Champ | Description | Type | Facultatif | | ----------- | ------------------------------------------------------------------------------------------ | ---------- | ---------- | | `force` | Force une nouvelle initialisation en invalidant les traductions mises en cache existantes. | `boolean` | Oui | | `locales` | Paramètres régionaux cibles du Project. | `string[]` | Oui | | `timeoutMs` | Délai d’expiration en millisecondes pour la requête API. | `number` | Oui | ## Retourne [#returns] **Type** `Promise` Renvoie un `SetupProjectResult`, une union de deux variantes : ```typescript type SetupProjectResult = | { setupJobId: string; status: 'queued' } | { status: 'completed' }; ``` * Lorsqu’un setup job est créé, il renvoie la variante `queued` avec un `setupJobId`. * Lorsque le Project est déjà configuré, il renvoie la variante `completed` sans job identifier. | Propriété | Description | Type | | ------------ | -------------------------------------------------------------------------------------------------- | ------------------------- | | `setupJobId` | Identifiant unique du setup job en attente. Présent uniquement sur la variante `queued`. | `string` | | `status` | `'queued'` lorsqu’un setup job a été créé, ou `'completed'` lorsque le Project est déjà configuré. | `'queued' \| 'completed'` | ## Exemples [#examples] ```typescript title="index.ts" import { GT } from 'generaltranslation'; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); // Références de fichiers issues d'un upload précédent const fileRefs = [ { fileId: 'file-123', versionId: 'version-456', branchId: 'branch-789', fileName: 'app.json', fileFormat: 'JSON', }, { fileId: 'file-789', versionId: 'version-012', branchId: 'branch-789', fileName: 'content.md', fileFormat: 'MD', }, ]; const setupResult = await gt.setupProject(fileRefs); if (setupResult.status === 'queued') { console.log(`Setup initiated with job ID: ${setupResult.setupJobId}`); // Surveiller l'état du job (checkJobStatus retourne un tableau plat) const jobStatus = await gt.checkJobStatus([setupResult.setupJobId]); console.log(`Job status: ${jobStatus[0].status}`); } else { console.log('Project is already set up — no setup job needed'); } ``` ## Notes [#notes] * Les fichiers doivent être téléversés avec [`uploadSourceFiles`](/docs/platform/core/reference/gt-class-methods/translation/upload-source-files) avant d’appeler `setupProject`. * L’initialisation du projet analyse le contenu et la structure des fichiers afin d’optimiser les workflows de traduction. * Le job de setup s’exécute de manière asynchrone — suivez sa progression avec [`checkJobStatus`](/docs/platform/core/reference/gt-class-methods/translation/check-job-status). * Cette initialisation est généralement requise avant de placer des tâches de traduction en file d’attente pour de nouveaux Projects. * Les références de fichiers incluent `branchId` pour la gestion des versions avec prise en charge des branches.