# Référence de configuration des Spaces

Les Spaces sont configurés via le bloc `YAML` situé en haut du fichier **README.md** à la racine du dépôt. Tous les paramètres acceptés sont répertoriés ci-dessous.

**`title`** : _string_ Titre d’affichage de l’espace.

**`emoji`** : _string_ Emoji d'espace (caractère emoji uniquement autorisé).

**`colorFrom`** : _string_ Couleur du dégradé de la vignette (red, yellow, green, blue, indigo, purple, pink, gray).

**`colorTo`** : _string_ Couleur du dégradé de la vignette (red, yellow, green, blue, indigo, purple, pink, gray).

**`sdk`** : _string_ Peut être `gradio`, `docker` ou `static`.

**`python_version`** : _string_ Toute version valide de Python `3.x` ou `3.x.x`. La valeur par défaut est `3.10`.

**`sdk_version`** : _string_ Spécifie la version de Gradio à utiliser. Toutes les versions de Gradio sont prises en charge.

**`suggested_hardware`** : _string_ Spécifie le [matériel](https://huggingface.co/docs/hub/spaces-gpus) recommandé sur lequel cet Espace doit être exécuté. Utile pour les Espaces destinés à être dupliqués par d'autres utilisateurs. La définition de cette valeur n'attribue pas automatiquement un matériel à cet Espace. La valeur doit être un type de matériel valide. Types de matériel actuellement valides :
- CPU : `"cpu-basic"`, `"cpu-upgrade"`
- GPU : `"t4-small"`, `"t4-medium"`, `"l4x1"`, `"l4x4"`,
	`"l40sx1"`, `"l40sx4"`, `"l40sx8"`,
	`"rtx-pro-6000"`, `"rtx-pro-6000x2"`, `"rtx-pro-6000x4"`, `"rtx-pro-6000x8"`,
	`"a10g-small"`, `"a10g-large"`, `"a10g-largex2"`,
	`"a10g-largex4"`, `"a100-large"`, `"a100x4"`, `"a100x8"`

**`suggested_storage`** : _string_ Spécifie le [stockage permanent](https://huggingface.co/docs/hub/spaces-storage) suggéré sur lequel cet Espace doit être exécuté. Utile pour les Espaces destinés à être dupliqués par d'autres utilisateurs. La définition de cette valeur n'attribue pas automatiquement un stockage permanent à cet Espace. La valeur doit être l'une des suivantes : `"small"`, `"medium"` ou `"large"`.
> [!NOTE]
> La fonctionnalité de stockage persistant n'est plus disponible, ce paramètre sera donc ignoré.

**`app_file`** : _string_ Chemin vers votre fichier d'application principal (contenant soit du code Python `gradio`, soit du code html `static`). Le chemin est relatif à la racine du dépôt.

**`app_build_command`** : _string_ Pour les Spaces statiques, commande à exécuter en premier pour générer le HTML à afficher. Exemple : `npm run build`.

Ceci est utilisé en conjonction avec `app_file`, qui pointe vers le fichier d'index compilé : par exemple `app_file: dist/index.html`.

À chaque mise à jour, la commande de build s’exécute dans un Job et la sortie du build est stockée dans `refs/convert/build`, qui est servie par le Space. Consultez un exemple sur https://huggingface.co/spaces/coyotte508/static-vite

**`app_port`** : _int_ Port sur lequel votre application est en cours d'exécution. Utilisé uniquement si `sdk` est `docker`. Le port par défaut est `7860`.

**`base_path`** : _string_ Pour les Spaces non statiques, URL initiale à afficher. Doit commencer par `/`. Pour les Spaces statiques, utilisez `app_file` à la place.

**`fullWidth`** : _boolean_ Indique si votre Space est rendu dans une colonne pleine largeur (lorsque `true`) ou dans une colonne de largeur fixe (c.-à-d. le CSS « container ») à l’intérieur de l’iframe. La valeur par défaut est `true`.

**`header`** : _string_ Peut être `mini` ou `default`. Si `header` est défini sur `mini`, l'espace sera affiché en plein écran avec un en-tête flottant mini.

**`short_description`** : _string_ Une brève description du Space. Elle sera affichée dans la vignette du Space.

**`models`** : _List[string]_ identifiants de modèles HF (comme `openai-community/gpt2` ou `deepset/roberta-base-squad2`) utilisés dans le Space. S'ils ne sont pas spécifiés ici, ils seront analysés automatiquement à partir de votre code.

**`datasets`** : _List[string]_ identifiants des jeux de données HF (comme `mozilla-foundation/common_voice_13_0` ou `oscar-corpus/OSCAR-2109`) utilisés dans le Space. S'ils ne sont pas spécifiés ici, ils seront analysés automatiquement à partir de votre code.

**`tags`** : _List[string]_ Liste de termes qui décrivent la tâche ou le périmètre de votre Space.

**`thumbnail`** : _string_ URL pour définir une miniature personnalisée pour le partage sur les réseaux sociaux.

**`pinned`** : _boolean_ Indique si l'Espace reste en haut de votre profil. Utile si vous avez beaucoup d'Espaces, pour que vous et les autres puissiez voir rapidement votre meilleur Espace.

**`hf_oauth`** : _boolean_ Indique si une application OAuth connectée est associée à cet Espace. Consultez [Ajouter un bouton « Se connecter avec HF » à votre Espace](https://huggingface.co/docs/hub/spaces-oauth) pour plus de détails.

**`hf_oauth_scopes`** : _List[string]_ Portées autorisées de l'application OAuth connectée. `openid` et `profile` sont autorisées par défaut et n'ont pas besoin de ce paramètre. Consultez [Ajouter un bouton Se connecter avec HF à votre espace](https://huggingface.co/docs/hub/spaces-oauth) pour plus de détails.

**`hf_oauth_expiration_minutes`** : _int_ Durée du jeton OAuth, en minutes. La valeur par défaut est de 480 minutes (8 heures). La durée maximale est de 43200 minutes (30 jours). Consultez [Ajouter un bouton Sign-In with HF à votre espace](https://huggingface.co/docs/hub/spaces-oauth) pour plus de détails.

**`hf_oauth_authorized_org`** : _string_ ou _List[string]_ Restreint l'accès OAuth aux membres d'organisations spécifiques. Consultez [Ajouter un bouton Sign-In with HF à votre space](https://huggingface.co/docs/hub/spaces-oauth) pour plus de détails.

**`disable_embedding`** : _boolean_ Indique si l’iframe du Space peut être intégrée dans d’autres sites web. La valeur par défaut est false, c’est-à-dire que les Spaces *peuvent* être intégrés.

**`startup_duration_timeout`** : _string_ Définit un délai d’attente personnalisé pour la durée de démarrage de votre Space. C’est le temps maximal accordé à votre Space pour démarrer avant d’expirer et d’être signalé comme non sain. La valeur par défaut est de 30 minutes, mais toute durée valide (comme `1h`, `30m`) est acceptée.

**`custom_headers`** : _Dict[string, string]_ Définit des en-têtes HTTP personnalisés qui seront ajoutés à toutes les réponses HTTP lors de la diffusion de votre Space. Pour l'instant, seuls les en-têtes [cross-origin-embedder-policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Embedder-Policy) (COEP), [cross-origin-opener-policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Opener-Policy) (COOP) et [cross-origin-resource-policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cross-Origin-Resource-Policy) (CORP) sont autorisés. Ces en-têtes peuvent être utilisés pour configurer un environnement isolé cross-origin et activer des fonctionnalités puissantes comme `SharedArrayBuffer`, par exemple :

```yaml
custom_headers:
  cross-origin-embedder-policy: require-corp
  cross-origin-opener-policy: same-origin
  cross-origin-resource-policy: cross-origin
```

*Remarque :* tous les en-têtes et les valeurs doivent être en minuscules.

**`preload_from_hub`** : _List[string]_ Spécifie une liste de modèles du Hugging Face Hub ou d'autres fichiers volumineux à précharger lors de la construction de votre Space. Cela optimise le temps de démarrage en ayant les fichiers prêts lorsque votre application démarre. C'est particulièrement utile pour les Spaces qui s'appuient sur de grands modèles ou des jeux de données qui, sinon, devraient être téléchargés à l'exécution.

Le format de chaque élément est `"repository_name"` pour télécharger tous les fichiers d'un dépôt, ou `"repository_name file1,file2"` pour télécharger des fichiers spécifiques au sein de ce dépôt. Vous pouvez également spécifier un commit particulier à télécharger en utilisant le format `"repository_name file1,file2 commit_sha256"`.

Exemple d'utilisation :
```yaml
preload_from_hub:
  - warp-ai/wuerstchen-prior text_encoder/model.safetensors,prior/diffusion_pytorch_model.safetensors
  - coqui/XTTS-v1
  - openai-community/gpt2 config.json 11c5a3d5811f50298f278a704980280950aedb10
```
Dans cet exemple, le Space préchargera des fichiers .safetensors spécifiques de `warp-ai/wuerstchen-prior`, le dépôt complet `coqui/XTTS-v1` et une révision spécifique du fichier `config.json` du dépôt `openai-community/gpt2` depuis le Hugging Face Hub au moment de la compilation.

> [!WARNING]
> Les fichiers sont enregistrés dans le cache disque par défaut de `huggingface_hub` `~/.cache/huggingface/hub`. Si votre application les attend ailleurs ou si vous avez modifié votre variable `HF_HOME`, ce préchargement ne suit pas cette configuration pour le moment.

> [!NOTE]
> Le préchargement des dépôts privés n'est pas encore pris en charge.

