---
url: 'https://dxpr.com/fr/hc/documentation/apprendre-dxpr-builder/reference/reference-de-configuration'
title: 'Référence de configuration | DXPR'
author:
  name: Jurriaan
  url: 'https://dxpr.com/users/jurriaan'
date: '2026-10-24T14:30:45+00:00'
updated: '2026-10-24T17:19:22+00:00'
copyright: 'Copyright DXPR. All rights reserved.'
type: article
summary: 'DXPR Builder stocke sa configuration dans le système de configuration de Drupal. Cette page répertorie chaque clé déclarée dans config/schema/dxpr_builder.schema.yml avec son type, ses valeurs autorisées et sa valeur par défaut. Elle répertorie aussi la clé status de chaque entité de configuration et les clés de réglages que le code lit sans entrée de schéma. Les noms en gras sont les libellés du formulaire.'
tags:
  - 'Configuration and API'
image: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
published: true
og:
  site_name: DXPR
  updated_time: '2026-10-24T17:19:22+0000'
  'image:alt': 'DXPR, powered by Drupal: AI-powered Drupal for marketers.'
schema:
  '@context': 'https://schema.org'
  '@graph':
    -
      mainEntity: {  }
    -
      '@type': TechArticle
      headline: 'Référence de configuration'
      description: 'DXPR Builder stocke sa configuration dans le système de configuration de Drupal. Cette page répertorie chaque clé déclarée dans config/schema/dxpr_builder.schema.yml avec son type, ses valeurs autorisées et sa valeur par défaut. Elle répertorie aussi la clé status de chaque entité de configuration et les clés de réglages que le code lit sans entrée de schéma. Les noms en gras sont les libellés du formulaire.'
      image:
        '@type': ImageObject
        url: 'https://dxpr.com/themes/custom/dxpr_com/images/dxpr-share-card.jpg'
        width: '1200'
        height: '630'
      datePublished: '2026-10-24T14:30:45+0000'
      dateModified: '2026-10-24T17:19:22+0000'
      author:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
        url: 'https://dxpr.com/'
        logo:
          '@type': ImageObject
          url: 'https://dxpr.com/themes/custom/dxpr_com/dxpr-logo-dark.svg'
          width: '1348'
          height: '501'
      mainEntityOfPage: 'https://dxpr.com/fr/hc/documentation/apprendre-dxpr-builder/reference/reference-de-configuration'
      articleSection: 'Configuration et API'
    -
      '@type': WebPage
      '@id': 'https://dxpr.com/fr/hc/documentation/apprendre-dxpr-builder/reference/reference-de-configuration'
      description: 'DXPR Builder stocke sa configuration dans le système de configuration de Drupal. Cette page répertorie chaque clé déclarée dans config/schema/dxpr_builder.schema.yml avec son type, ses valeurs autorisées et sa valeur par défaut. Elle répertorie aussi la clé status de chaque entité de configuration et les clés de réglages que le code lit sans entrée de schéma. Les noms en gras sont les libellés du formulaire.'
      breadcrumb:
        '@type': BreadcrumbList
        itemListElement:
          -
            '@type': ListItem
            position: 1
            name: Accueil
            item: 'https://dxpr.com/fr'
      publisher:
        '@type': Organization
        '@id': 'https://dxpr.com/#organization'
        name: DXPR
      inLanguage: fr
---
[Centre d’aide](/fr/hc)/[Documentation](/fr/hc/documentation) /[Apprendre DXPR Builder](/fr/hc/documentation/learn-dxpr-builder) /[Référence](/fr/hc/documentation/learn-dxpr-builder/reference) /[Configuration et API](/fr/hc/documentation/learn-dxpr-builder/reference/config-and-api) # Référence de configuration.

 Apprendre DXPR BuilderRéférenceConfiguration et API

   ## Dans ce guide

 Guides associés

- [Saisir votre clé de produit et les réglages du site](/fr/hc/documentation/apprendre-dxpr-builder/administration/parametres-generaux)
- [Pare-feu et résidence des données](/fr/hc/documentation/learn-dxpr-builder/getting-started/behind-a-firewall)
- [Points de terminaison d’API](/fr/hc/documentation/apprendre-dxpr-builder/reference/points-de-terminaison-d-api)

DXPR Builder stocke sa configuration dans le système de configuration de Drupal. Cette page répertorie chaque clé déclarée dans `config/schema/dxpr_builder.schema.yml` avec son type, ses valeurs autorisées et sa valeur par défaut. Elle répertorie aussi la clé `status` de chaque entité de configuration et les clés de réglages que le code lit sans entrée de schéma. Les noms en gras sont les libellés du formulaire.

Le module ne fournit pas de `config/install/dxpr_builder.settings.yml`. Les valeurs par défaut sont définies par `hook_install()` et les hooks de mise à jour dans `dxpr_builder.install`, ou appliquées dans le code quand une clé manque ; la colonne **Default** indique lequel.

## Réglages généraux

Objet de configuration : `dxpr_builder.settings`

Chemin d’administration : `/admin/dxpr_studio/dxpr_builder/settings`(`src/Form/DxprBuilderSettingsForm.php`)

| Key | Type | Allowed values | Default | Description |
|---|---|---|---|---|
| `json_web_token` | string | A DXPR product key (JWT) | empty | **Product key**, uniquement quand `api_key_storage` vaut `config`. Effacée quand la clé est stockée dans le module Key ; la mise à jour 9026 efface une valeur restée là. |
| `api_key_storage` | string | `config` (**Configuration storage**), `key` (**Key module**) | not set (treated as `config`); `key` after `dxpr_builder_update_9020()` moves an existing key | **Storage method** pour la clé de produit. |
| `key_provider` | string | A Key entity id | empty; update 9020 sets `dxpr_builder_jwt` when it moves an existing key | **Entité Key** détenant la clé de produit quand `api_key_storage` vaut `key`. |
| `bootstrap` | string | `0`, `bs5` | not set (no Bootstrap files loaded) | **Sideload Bootstrap files** : `0` = **None (theme provides Bootstrap)**, `bs5` = **Bootstrap 5**. La mise à jour 8040 réécrit les valeurs supprimées `1` et `bs4` en `bs5`. |
| `cke_stylesset` | string | One `[label]=[element].[class]` entry per line | empty (the editor then uses the styles shipped with DXPR Builder) | **Custom styles** pour l’éditeur de texte, par exemple `Sassy Title=h1.sassy-title`. |
| `editor_assets_source` | integer | `0`, `1`, `2` | not set (`0`) | **Asset source** : `0` = **Cloud**, `1` = **Local (minified)**, `2` = **Local (unminified)**. Le champ n’apparaît que quand une compilation locale existe dans le dossier `dxpr_builder/` du module. Avec `0` enregistré, une telle compilation est quand même utilisée, celle non minifiée en premier. |
| `format_filters` | boolean | `true`, `false` | not set (off) | **Apply text format filters to frontend content**. |
| `media_browser` | string | `''` (**Basic file upload**), `media_library` (**Media Library**), `media_library_acquia_dam` (**Media Library (Acquia DAM)**), or an Entity Browser id | `media_library` when the Media Library module is installed, else `dxpr_builder_media_modal` when `dxpr_builder_media` is installed, else `''` (set by `hook_install()`) | **Browser type** utilisé par les champs d’image. |
| `offset_selector` | string | A CSS selector | `.dxpr-theme-header--sticky, .dxpr-theme-header--fixed` (applied when empty) | **Scroll offset selector** pour les en-têtes fixes. |
| `controls_layout` | string | `element` (**On each element**), `breadcrumb` (**One row**) | `element` (applied when empty) | **Control bars** en mode édition : une barre sur chaque élément, ou une seule ligne au-dessus de l’élément pointé. Un profil et le réglage propre d’un utilisateur le remplacent. Le réglage de l’utilisateur n’est pas de la configuration : il est stocké avec le compte utilisateur (`user.data`, module `dxpr_builder`, nom `controls_layout`). |

### Réglages IA

Stockés dans le même objet `dxpr_builder.settings`.

Chemin d’administration : `/admin/dxpr_studio/dxpr_builder/ai_settings`(`src/Form/DxprBuilderAiSettingsForm.php`)

| Key | Type | Allowed values | Default | Description |
|---|---|---|---|---|
| `ai_enabled` | boolean | `true`, `false` | `true` when missing; set by update 9008 | **Enable text editing assistant**. |
| `ai_page_enabled` | boolean | `true`, `false` | `true` when missing; set by update 9012 | **Enable page creation assistant**. |
| `ai_image_enabled` | boolean | `true`, `false` | `true` when missing; set by update 9015 | **Enable image generation**. |
| `ai_user_model_selection` | boolean | `true`, `false` | `true` when missing; set by update 9016 | **Allow users to choose model**. Affiché uniquement quand `ai_provider_dxpr` n’est pas installé. |
| `ai_model` | string | `dxai_kavya_m1`, `dxai_kavya_m1_eu`, `dxai_kavya_m1_fast` | `dxai_kavya_m1` (`AiModelConstants::getDefaultModel()`) | **Default model**. Les noms d’API sont `kavya-m1`, `kavya-m1-eu` et `kavya-m1-fast`. Affiché et enregistré uniquement quand `ai_provider_dxpr` n’est pas installé. |
| `ai_provider_selection_mode` | string | `automatic` (**Automatic**), `manual` (**Manual priority**) | `automatic` | **Mode des Service providers**. `manual` utilise l’ordre dans `ai_providers`. Enregistré uniquement quand `ai_provider_dxpr` n’est pas installé. |
| `ai_providers` | sequence of mappings keyed by provider id | Keys: `anthropic`, `gemini`, `mistral`, `openai`, `xai`. Each has `enabled` (boolean), `weight` (integer) and `region` (`enabled` or `disabled`) | empty (the form then lists all five as enabled) | Table de priorité des fournisseurs pour le mode `manual`. `region` est la section du tableau où se trouve la ligne, pas une région géographique. |
| `tone_of_voice_vocabulary` | string | A taxonomy vocabulary id | `ai_tone_of_voice` (vocabulary created by `hook_install()` when Taxonomy is enabled, and by update 9007) | **Tone of voice vocabulary**. La mise à jour 9025 ramène la valeur à `ai_tone_of_voice` quand le vocabulaire enregistré n’existe plus. |
| `enable_taxonomy_tones` | boolean | `true`, `false` | `true` once a tone vocabulary is set | Défini à `true` avec le vocabulaire, par `hook_install()`, les mises à jour ou le formulaire. Pas de champ de formulaire, et aucun code ne le lit. |
| `commands_vocabulary` | string | A taxonomy vocabulary id | `ai_agent_commands` (created by `hook_install()` when Taxonomy is enabled, and by update 9007, only when the key is empty) | **Commands vocabulary**. |
| `enable_taxonomy_commands` | boolean | `true`, `false` | `true` once a commands vocabulary is set | Défini à `true` avec le vocabulaire, par `hook_install()`, la mise à jour 9007 ou le formulaire. Pas de champ de formulaire, et aucun code ne le lit. |
| `ai_output_allowed_domains` | text | Domains one per line (wildcards such as `*.wikipedia.org` allowed); `*` allows all; empty blocks all external URLs | `unsplash.com`, `images.unsplash.com`, `pexels.com`, `images.pexels.com`, `pixabay.com`, `promptahuman.com` (set by `hook_install()` and update 9013) | **Allowed domains**. Décocher **Filter AI output** sur le formulaire enregistre `*`. |
| `ai_output_allowed_tags` | text | HTML tag names one per line | A list of common text, list, table, inline, media and form tags (`div` to `rp`) applied in the form when the key is missing | **Allowed HTML tags** ; les balises non listées perdent leur balisage mais gardent leur texte. |
| `ai_output_stripped_tags` | text | HTML tag names one per line | `script`, `style` | **Blocked tags**, supprimées avec leur contenu. Décocher **Filter AI output** enregistre les `script` et `style` par défaut. |

### Clés lues par le code sans champ de formulaire

Ces clés ne sont pas dans le schéma mais le module les lit depuis `dxpr_builder.settings`. Définissez-les avec `drush config:set` ou une surcharge de configuration dans `settings.php`.

| Key | Type | Default when missing | Description |
|---|---|---|---|
| `record_analytics` | boolean | `true` | Envoie les statistiques d’usage de l’éditeur à `tuur.dxpr.com` quand vrai. |
| `notifications` | boolean | `true` | Affiche les notifications DXPR dans l’éditeur quand vrai. |
| `cloud_url` | string | `https://cdn2.dxpr.com/VERSION/` | URL de base du CDN pour les assets de l’éditeur ; `VERSION` est remplacée par la version du module. |
| `license_endpoint` | string | `https://dxpr.com/api/central-user-storage/` | Point de terminaison pour la synchronisation des utilisateurs sous licence. |

## Modèles de page

Objets de configuration : `dxpr_builder.page_template.*`(type d’entité `dxpr_builder_page_template`)

Chemin d’administration : `/admin/dxpr_studio/dxpr_builder/page_template`

| Key | Type | Allowed values | Default | Description |
|---|---|---|---|---|
| `id` | string | Machine name | required | Identifiant. |
| `label` | label | Any text | required | **Label** : nom affiché dans le sélecteur de modèles. |
| `status` | boolean | `true`, `false` | `true` | **Enabled**. L’éditeur ne propose et ne charge que les modèles activés. |
| `category` | text | Any text | empty (the form requires it) | **Category** sous laquelle le modèle est regroupé. |
| `template` | string | DXPR Builder HTML | empty (the form requires it) | **Balisage du Template**. |
| `weight` | integer | Any integer | empty (the editor reads it as `0`) | **Weight** : ordre de tri. |
| `date` | integer | Unix timestamp | set by the edit form on every save | Heure de dernière modification. |
| `image` | string | Base64-encoded image contents | empty | **Image** : miniature. |
| `uuid` | string | UUID | generated | Identifiant universellement unique. |

Le module fournit cinq modèles de page dans `config/install` : `about_me`, `about_us`, `homepage_basic`, `split_content_and_buttons` et `text_columns`.

## Profils d’utilisateur

Objets de configuration : `dxpr_builder.dxpr_builder_profile.*`(type d’entité `dxpr_builder_profile`)

Chemin d’administration : `/admin/dxpr_studio/dxpr_builder/profile`

Sur un nouveau profil, le formulaire coche chaque élément, bloc, affichage de vue, modèle de page activé, modèle d’utilisateur global activé et jeu d’icônes, plus un jeu par défaut de boutons d’éditeur de texte. Les valeurs par défaut ci-dessous sont les valeurs propres de l’entité.

| Key | Type | Allowed values | Default | Description |
|---|---|---|---|---|
| `id` | string | Machine name | required | Identifiant. |
| `label` | label | Any text | required | **Label** : nom du profil. |
| `uuid` | string | UUID | generated | Identifiant universellement unique. |
| `status` | boolean | `true`, `false` | `true` | **User profile enabled**. Les profils désactivés sont ignorés quand les rôles d’un utilisateur sont comparés. |
| `sidebar` | boolean | `true`, `false` | not stored | Clé héritée : déclarée dans le schéma mais jamais exportée par l’entité, donc jamais enregistrée. |
| `dxpr_editor` | boolean | `true`, `false` | `true`; update 8008 set it on existing profiles | **Start editor when page loads**. Quand `false`, les contrôles n’apparaissent qu’après que l’utilisateur a cliqué sur l’icône en forme d’œil sur les contrôles du conteneur principal. |
| `controls_layout` | string | `default` (**Same as the site**), `element` (**On each element**), `breadcrumb` (**One row**) | `default` | **Control bars** en mode édition pour ce profil. Le réglage propre d’un utilisateur le remplace. |
| `weight` | integer | `-10` to `10` in the form | `0` | **Weight** : quand les rôles d’un utilisateur correspondent à plusieurs profils activés, le poids le plus bas l’emporte. |
| `roles` | sequence of strings | Role machine names (the form leaves out `anonymous` and `authenticated`) | empty | **Roles** auxquels le profil s’applique. |
| `elements` | sequence of strings | Element machine names (`az_text`, `az_image`, ...) | empty | Autorisés : **Elements**. |
| `all_elements` | boolean | `true`, `false` | `false` | **Check/Uncheck all Elements**. Quand `true`, chaque élément est autorisé et `elements` est ignoré. |
| `blocks` | sequence of strings | `az_block-<block plugin id>` values | empty | Autorisés : **Blocks**. |
| `all_blocks` | boolean | `true`, `false` | `false` | **Check/Uncheck all Blocks**. Quand `true`, chaque bloc est autorisé, y compris ceux ajoutés plus tard. |
| `views` | sequence of strings | `az_view-<view id>-<display id>` values | empty | Affichages **Views** autorisés. |
| `all_views` | boolean | `true`, `false` | `false` | **Check/Uncheck all Views**. Quand `true`, chaque affichage de vues est autorisé, y compris ceux ajoutés plus tard. |
| `page_templates` | sequence of strings | Page template UUIDs | empty | Autorisés : **Page templates**. |
| `all_page_templates` | boolean | `true`, `false` | `false` | **Check/Uncheck all Page templates**. Quand `true`, chaque modèle de page est autorisé. |
| `user_templates` | sequence of strings | Global user template UUIDs | empty | Autorisés : **Global user templates**. |
| `all_user_templates` | boolean | `true`, `false` | `false` | **Check/Uncheck all Global user templates**. Quand `true`, chaque modèle d’utilisateur global est autorisé. |
| `icon_sets` | sequence of strings | Icon set ids from `*.dxpr_icon_sets.yml` files | empty | Autorisés : **Icon sets**. |
| `all_icon_sets` | boolean | `true`, `false` | not set (counts as `true`) | **Check/Uncheck all Icon sets**. Quand `true` ou manquant, chaque jeu d’icônes est autorisé. |
| `inline_buttons` | sequence of strings | CKEditor 5 button names | empty | **Text editor buttons (inline editing)**. La mise à jour 8036 a migré les noms CKEditor 4 de cette liste et de `modal_buttons`. |
| `modal_buttons` | sequence of strings | CKEditor 5 button names | empty | **Text editor buttons (modal editing)**. |

## Modèles d’utilisateur

Objets de configuration : `dxpr_builder.user_template.*`(type d’entité `dxpr_builder_user_template`)

Chemin d’administration : `/admin/dxpr_studio/dxpr_builder/user_templates`

| Key | Type | Allowed values | Default | Description |
|---|---|---|---|---|
| `id` | string | Machine name | required | Identifiant. |
| `label` | label | Any text | required | **Label** : nom du modèle. |
| `status` | boolean | `true`, `false` | `true` | Pas de champ de formulaire. Seuls les modèles activés peuvent être chargés dans l’éditeur ou copiés dans un modèle de page. |
| `type` | string | The `data-azb` element type the template was saved from, for example `section`, `row`, `az_block`, `az_view`, or `custom` | `custom` | **Type**. La mise à jour 9021 le remplit depuis le balisage ; les valeurs `az_block_*` et `az_view_*` se réduisent à `az_block` et `az_view`. |
| `template` | string | DXPR Builder HTML | empty | **Balisage du Template**. La mise à jour 8013 a déplacé les modèles d’utilisateur d’une table de base de données vers la configuration. |
| `uid` | integer | User id | required in the form | **UID** : le propriétaire. |
| `global` | boolean | `true`, `false` | `true` (the editor’s save request sends its own value) | **Global** : `true` rend le modèle disponible pour tous les utilisateurs (selon les profils) ; `false` le garde privé au propriétaire. |
| `image` | string | Base64-encoded image contents | empty | **Image** : miniature. |
| `uuid` | string | UUID | generated | Identifiant universellement unique. |

## Exporter la configuration

Exportez toute la configuration DXPR Builder :

```bash
drush config:export

```

Cela exporte les réglages, les profils, les modèles de page et les modèles d’utilisateur comme fichiers YAML dans le répertoire de synchronisation de la configuration. Quand `api_key_storage` vaut `key`, la clé de produit ne fait pas partie de `dxpr_builder.settings`. Elle vit dans l’entité Key sélectionnée et suit le fournisseur propre de cette clé, comme la configuration, un fichier ou une variable d’environnement.

## Et ensuite ?

- [Réglages généraux](/fr/hc/documentation/apprendre-dxpr-builder/administration/parametres-generaux) : le formulaire des réglages
- [Pare-feu et résidence des données](/fr/hc/documentation/learn-dxpr-builder/getting-started/behind-a-firewall) : les clés qui contrôlent les connexions sortantes
- [Points de terminaison d’API](/fr/hc/documentation/apprendre-dxpr-builder/reference/points-de-terminaison-d-api) : les routes qui lisent cette configuration