> For the complete documentation index, see [llms.txt](https://gitbook.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gitbook.com/docs/documentation/fr/publier/adaptive-content/enabling-adaptive-content/feature-flags.md).

# Flags de fonctionnalités

{% hint style="warning" %}
L'utilisation du contenu adaptatif avec des indicateurs de fonctionnalité nécessite d'ajouter du code à votre application.

Actuellement, l’assistant GitBook ne prend en charge que les configurations basées sur React.
{% endhint %}

GitBook fournit des fonctions d’assistance et des intégrations pour des fournisseurs de services de feature flags populaires comme [**LaunchDarkly**](#launchdarkly) et [**Reflag**](#reflag).

Cela vous permet de lire les feature flags auxquels les utilisateurs ont accès dans votre produit, au fur et à mesure qu’ils lisent votre documentation. C’est utile si vous devez afficher une documentation pour des fonctionnalités qui ne sont disponibles qu’à un groupe de personnes spécifique.

### LaunchDarkly

LaunchDarkly vous permet d’envoyer l’accès aux feature flags sous forme de revendications via le [`launchdarkly-react-client-sdk`](https://launchdarkly.com/docs/sdk/client-side/react/react-web) et le [`@gitbook/adaptive`](broken://spaces/zq8ynchcecIscc4uulgN) package.

Si vous utilisez déjà des feature flags LaunchDarkly dans votre produit, il y a de fortes chances que ce package soit déjà configuré.

Pour transmettre ces feature flags à GitBook sous forme de revendications, suivez ces étapes :

{% stepper %}
{% step %}
**Installez l’intégration LaunchDarkly**

Pour commencer, vous devrez d’abord [installer l’intégration LaunchDarkly](https://app.gitbook.com/integrations/launchdarkly) dans votre site GitBook.
{% endstep %}

{% step %}
**Configurez votre projet et vos clés d’accès**

Ajoutez votre clé de projet et votre jeton d’accès de service depuis vos [paramètres LaunchDarkly](https://app.launchdarkly.com/settings) à la configuration de l’intégration.
{% endstep %}

{% step %}
**Installez et ajoutez l’assistant GitBook à votre application**

Après avoir configuré l’intégration LaunchDarkly, vous devrez installer l’assistant de contenu adaptatif GitBook dans votre application.

```bash
npm install @gitbook/adaptive
```

{% endstep %}

{% step %}
**Configurez votre application**

Vous devrez utiliser le `withLaunchDarkly` assistant avec le SDK React de LaunchDarkly pour transmettre le contexte à GitBook.

<pre class="language-javascript"><code class="lang-javascript">import { render } from 'react-dom';
<strong>import { withLaunchDarkly } from '@gitbook/adaptive';
</strong><strong>import { asyncWithLDProvider, useLDClient } from 'launchdarkly-react-client-sdk';
</strong>import MyApplication from './MyApplication';

function PassFeatureFlagsToGitBookSite() {
<strong>    const ldClient = useLDClient();
</strong>    React.useEffect(() => {
        if (!ldClient) {
            return;
        }
<strong>        return withLaunchDarkly(ldClient);
</strong>    }, [ldClient]);
    return null;
}
(async () => {
    const LDProvider = await asyncWithLDProvider({
        clientSideID: 'client-side-id-123abc',
        context: {
            kind: 'user',
            key: 'user-key-123abc',
            name: 'Sandy Smith',
            email: 'sandy@example.com'
        },
        options: { /* ... */ }
    });
    render(
        &#x3C;LDProvider>
            &#x3C;PassFeatureFlagsToGitBookSite />
            &#x3C;MyApplication />
        &#x3C;/LDProvider>,
        document.getElementById('reactDiv'),
    );
})();
</code></pre>

{% endstep %}

{% step %}
**Vérifiez votre schéma de visiteur**

Un [schéma de visiteur](/docs/documentation/fr/publier/adaptive-content/enabling-adaptive-content.md#set-your-visitor-schema) est requis pour que vos revendications puissent être lues dans votre site publié. L’installation et la configuration de l’intégration LaunchDarkly devraient définir automatiquement votre schéma de visiteur.
{% endstep %}

{% step %}
**Personnalisez votre contenu**

Après avoir défini votre schéma de visiteur, vous êtes prêt à adapter votre expérience de documentation aux utilisateurs qui visitent votre site, en utilisant les feature flags auxquels l’utilisateur a accès.

Toute valeur de feature flag disponible dans LaunchDarkly sera exposée dans le schéma de visiteur sous l’objet `visitor.claims.unsigned.launchdarkly` objet. En savoir plus sur les revendications non signées [ici](/docs/documentation/fr/publier/adaptive-content/enabling-adaptive-content.md#set-an-unsigned-claim).

Allez dans [adapter votre contenu](/docs/documentation/fr/publier/adaptive-content/adapting-your-content.md) pour en savoir plus sur la personnalisation de votre documentation pour vos utilisateurs.
{% endstep %}
{% endstepper %}

### Reflag

Reflag vous permet d’envoyer l’accès aux feature flags sous forme de revendications via le [`@reflag/react-sdk`](https://www.npmjs.com/package/@reflag/react-sdk) et le [`@gitbook/adaptive`](https://github.com/GitbookIO/integrations/tree/main/packages/adaptive) package.

Si vous utilisez déjà des feature flags Reflag dans votre produit, il y a de fortes chances que ce package soit déjà configuré.

Pour transmettre ces feature flags à GitBook sous forme de revendications, suivez ces étapes :

{% stepper %}
{% step %}
**Installez l’intégration Reflag**

Pour commencer, vous devrez d’abord [installer l’intégration Reflag](https://app.gitbook.com/integrations/bucket) dans votre site GitBook.
{% endstep %}

{% step %}
**Configurez votre clé secrète**

Ajoutez votre clé secrète depuis vos [paramètres Reflag](https://app.reflag.com/envs/current/settings/app-environments) à la configuration de l’intégration.
{% endstep %}

{% step %}
**Installez l’assistant GitBook dans votre application**

Après avoir configuré l’intégration Reflag, vous devrez installer l’assistant de contenu adaptatif GitBook dans votre application.

```bash
npm install @gitbook/adaptive
```

{% endstep %}

{% step %}
**Configurez votre application**

Vous devrez utiliser le `withReflag` assistant avec le SDK React Reflag pour transmettre le contexte à GitBook.

<pre class="language-javascript"><code class="lang-javascript"><strong>import { withReflag } from '@gitbook/adaptive';
</strong><strong>import { ReflagProvider, useClient } from '@reflag/react-sdk';
</strong>import MyApplication from './MyApplication';

function PassFeatureFlagsToGitBookSite() {
<strong>    const client = useClient();
</strong>    React.useEffect(() => {
        if (!client) {
            return;
        }
<strong>        return withReflag(client);
</strong>    }, [client]);
    return null;
}
export function Application() {
    const currentUser = useLoggedInUser();
    const appConfig = useAppConfig();
    return (
        &#x3C;ReflagProvider
            publishableKey={appConfig.reflagCom.publishableKey}
            user={{
                id: currentUser.uid,
                email: currentUser.email ?? undefined,
                name: currentUser.displayName ?? '',
            }}
            company={{
                id: currentUser.company.id,
            }}
        >
            &#x3C;PassFeatureFlagsToGitBookSite />
            &#x3C;MyApplication />
        &#x3C;/ReflagProvider>
    );
}
</code></pre>

{% endstep %}

{% step %}
**Vérifiez votre schéma de visiteur**

Un [schéma de visiteur](/docs/documentation/fr/publier/adaptive-content/enabling-adaptive-content.md#set-your-visitor-schema) est requis pour que vos revendications puissent être lues dans votre site publié. L’installation et la configuration de l’intégration Reflag devraient définir automatiquement votre schéma de visiteur.
{% endstep %}

{% step %}
**Personnalisez votre contenu**

Après avoir défini votre schéma de visiteur, vous êtes prêt à adapter votre expérience de documentation aux utilisateurs qui visitent votre site, en utilisant les feature flags auxquels l’utilisateur a accès.

Toute valeur de feature flag disponible dans Reflag sera exposée dans le schéma de visiteur sous l’objet `visitor.claims.unsigned.reflag` objet. En savoir plus sur les revendications non signées [ici](/docs/documentation/fr/publier/adaptive-content/enabling-adaptive-content.md#set-an-unsigned-claim).

Allez dans [adapter votre contenu](/docs/documentation/fr/publier/adaptive-content/adapting-your-content.md) pour en savoir plus sur la personnalisation de votre documentation pour vos utilisateurs.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Les valeurs des feature flags sont évaluées côté client, évitez donc d’utiliser cette méthode pour transmettre des données sensibles ou critiques pour la sécurité.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://gitbook.com/docs/documentation/fr/publier/adaptive-content/enabling-adaptive-content/feature-flags.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
