> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connecteurs Snowflake

> Configurez un connecteur Snowflake pour créer des applications orientées données avec Replit Agent.

<Info>
  Le connecteur Snowflake est disponible exclusivement sur le plan **Enterprise**.
</Info>

Les connecteurs d'entrepôt permettent à Replit Agent d'interroger les entrepôts de données de votre organisation. Avec le connecteur Snowflake, les créateurs peuvent concevoir des tableaux de bord, des outils de reporting et des applications de données en langage naturel — aucune expertise SQL requise.

La configuration est un processus unique qui nécessite un administrateur Snowflake et un administrateur d'espace de travail Replit. Une fois configuré, tout membre de l'organisation peut se connecter et commencer à créer avec des données Snowflake.

Ce guide vous guide tout au long de la configuration complète. Trois rôles sont impliqués :

1. **Administrateur de compte Snowflake** — Crée l'intégration OAuth dans Snowflake
2. **Administrateur d'espace de travail Replit** — Configure le connecteur dans Replit
3. **Créateur** — Se connecte et commence à créer

## Créer l'intégration OAuth dans Snowflake

L'administrateur de compte Snowflake crée une intégration de sécurité OAuth qui permet à Replit de s'authentifier avec Snowflake.

### Prérequis

* Rôle `ACCOUNTADMIN` dans Snowflake
* Accès pour exécuter du SQL dans les feuilles de calcul Snowflake

### Exécuter le script de configuration

<Steps>
  <Step title="Se connecter à Snowflake">
    Ouvrez votre compte Snowflake et assurez-vous d'utiliser le rôle `ACCOUNTADMIN`. Vous pouvez le vérifier dans le menu déroulant des rôles dans le coin supérieur droit.
  </Step>

  <Step title="Ouvrir une feuille de calcul SQL">
    Cliquez sur **Feuilles de calcul** dans la barre latérale gauche et créez une nouvelle feuille de calcul.
  </Step>

  <Step title="Exécuter le script d'intégration OAuth">
    Copiez et collez le script SQL suivant et exécutez-le :

    ```sql Create OAuth integration theme={null}
    -- Supprimer l'intégration existante si nécessaire
    DROP INTEGRATION IF EXISTS REPLIT_OAUTH;

    -- Créer l'intégration OAuth pour Replit
    CREATE SECURITY INTEGRATION REPLIT_OAUTH
      TYPE = OAUTH
      ENABLED = TRUE
      OAUTH_CLIENT = CUSTOM
      OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'
      OAUTH_REDIRECT_URI = 'https://replit.com/connectors/oauth/callback'
      OAUTH_ISSUE_REFRESH_TOKENS = TRUE
      OAUTH_REFRESH_TOKEN_VALIDITY = 7776000
      OAUTH_ALLOW_NON_TLS_REDIRECT_URI = FALSE
      BLOCKED_ROLES_LIST = ()
      COMMENT = 'OAuth integration for Replit connector';
    ```

    <Warning>
      L'URI de redirection doit être exactement `https://replit.com/connectors/oauth/callback`. Toute autre valeur provoque une erreur 404 lors de l'authentification.
    </Warning>

    <Note>
      Définir `BLOCKED_ROLES_LIST = ()` garantit qu'aucun rôle n'est bloqué pour utiliser l'intégration. Sans cela, vous pourriez obtenir des erreurs « requête de consentement invalide » ou « rôle bloqué » lors de la connexion.
    </Note>
  </Step>

  <Step title="Récupérer vos identifiants OAuth">
    Exécutez cette requête pour obtenir l'identifiant client et le secret client :

    ```sql Get OAuth credentials theme={null}
    -- Voir les détails de l'intégration
    DESCRIBE INTEGRATION REPLIT_OAUTH;

    -- Obtenir l'identifiant client et le secret
    WITH secrets AS (
      SELECT PARSE_JSON(
        SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('REPLIT_OAUTH')
      ) as creds
    )
    SELECT
      creds:OAUTH_CLIENT_ID::STRING as CLIENT_ID,
      creds:OAUTH_CLIENT_SECRET::STRING as CLIENT_SECRET
    FROM secrets;
    ```

    Copiez l'**identifiant client** et le **secret client** depuis la sortie. Vous en aurez besoin pour l'étape suivante.
  </Step>
</Steps>

## Configurer le connecteur dans Replit

L'administrateur d'espace de travail Replit ajoute les identifiants Snowflake à Replit. Une fois configuré, toute personne de l'organisation peut se connecter.

<Note>
  Cette étape nécessite un plan Enterprise avec accès administrateur.
</Note>

<Steps>
  <Step title="Ouvrir les Intégrations">
    Accédez aux paramètres de votre organisation et sélectionnez l'onglet **Intégrations**.
  </Step>

  <Step title="Ajouter le connecteur Snowflake">
    Cliquez sur **Ajouter un nouveau connecteur** et sélectionnez **Snowflake**.
  </Step>

  <Step title="Entrer les identifiants">
    Fournissez l'**identifiant client** et le **secret client** de l'étape précédente.
  </Step>

  <Step title="Définir la portée">
    Définissez la portée du connecteur sur `refresh_token`.

    <Warning>
      Utilisez uniquement la portée `refresh_token`. D'autres portées comme `session:role-any` ou `session:role:PUBLIC` peuvent provoquer une erreur « portée invalide ».
    </Warning>
  </Step>

  <Step title="Enregistrer">
    Cliquez sur **Enregistrer** pour activer le connecteur.
  </Step>
</Steps>

## Se connecter à Snowflake

Tout membre de l'organisation ayant accès au connecteur peut se connecter. Connectez-vous depuis la page **Intégrations** pour vérifier la connexion avant de l'utiliser avec Agent.

<Steps>
  <Step title="Trouver le connecteur Snowflake">
    Accédez aux **Intégrations** dans Replit. Sous **Connecteurs**, trouvez **Snowflake**.
  </Step>

  <Step title="Cliquer sur Se connecter">
    Cliquez sur **Se connecter** sur le connecteur Snowflake.
  </Step>

  <Step title="Entrer votre identifiant de compte Snowflake">
    L'invite OAuth demande votre identifiant de compte Snowflake.

    Pour trouver votre identifiant de compte, regardez votre URL Snowflake :

    ```
    https://app.snowflake.com/myorg/myaccount
    ```

    Prenez les deux parties après `app.snowflake.com/` et joignez-les avec un tiret :

    ```
    myorg-myaccount
    ```

    <Note>
      L'URL utilise un `/` entre les deux parties, mais l'identifiant de compte utilise un `-` à la place.
    </Note>
  </Step>

  <Step title="S'authentifier">
    Snowflake vous redirige vers la page de connexion. Entrez vos identifiants Snowflake pour terminer le flux OAuth.
  </Step>
</Steps>

## Commencer à créer avec vos données Snowflake

Après la connexion, vous pouvez utiliser le connecteur Snowflake avec Agent de deux manières :

* **Commande slash** — Tapez `/snowflake` dans l'invite pour utiliser le connecteur
* **Langage naturel** — Demandez à Agent d'utiliser vos données Snowflake directement

Voici un exemple d'invite :

```
Construis-moi un tableau de bord avec mes données Snowflake. Montre le chiffre
d'affaires total par région avec un graphique en barres, une courbe de tendance
par trimestre et un tableau des 10 meilleurs clients. Thème sombre, propre et moderne.
```

Agent écrit et exécute des requêtes SQL sur vos données Snowflake et crée une application fonctionnelle.

## Résolution des problèmes

<AccordionGroup>
  <Accordion title="Erreur de requête de consentement invalide ou de rôle bloqué">
    Votre intégration Snowflake peut avoir des rôles bloqués par défaut.

    Vérifiez que votre intégration a été créée avec `BLOCKED_ROLES_LIST = ()`. Si vous l'avez déjà créée sans ce paramètre, exécutez :

    ```sql Fix blocked roles theme={null}
    CREATE OR REPLACE SECURITY INTEGRATION REPLIT_OAUTH
      TYPE = OAUTH
      ENABLED = TRUE
      OAUTH_CLIENT = CUSTOM
      OAUTH_CLIENT_TYPE = 'CONFIDENTIAL'
      OAUTH_REDIRECT_URI = 'https://replit.com/connectors/oauth/callback'
      OAUTH_ISSUE_REFRESH_TOKENS = TRUE
      OAUTH_REFRESH_TOKEN_VALIDITY = 7776000
      OAUTH_ALLOW_NON_TLS_REDIRECT_URI = FALSE
      BLOCKED_ROLES_LIST = ()
      COMMENT = 'OAuth integration for Replit connector';
    ```

    Si l'erreur persiste, vérifiez que votre rôle par défaut n'est pas bloqué :

    ```sql Set default role theme={null}
    ALTER USER "YOUR_USERNAME" SET DEFAULT_ROLE = 'PUBLIC';
    ```
  </Accordion>

  <Accordion title="Erreur 404 lors de l'authentification">
    Vérifiez que l'URI de redirection dans votre intégration Snowflake est exactement :

    ```
    https://replit.com/connectors/oauth/callback
    ```

    Toute incompatibilité provoque une erreur 404 lors du flux OAuth.
  </Accordion>

  <Accordion title="Erreur de portée invalide">
    Assurez-vous que la portée du connecteur dans Replit est définie sur `refresh_token` uniquement. Supprimez toute autre portée comme `session:role-any` ou `session:role:PUBLIC`.
  </Accordion>

  <Accordion title="Erreur de connexion échouée">
    Vérifiez que l'identifiant client et le secret client dans Replit correspondent à ce que Snowflake a généré. Vérifiez à nouveau en exécutant :

    ```sql Verify credentials theme={null}
    WITH secrets AS (
      SELECT PARSE_JSON(
        SYSTEM$SHOW_OAUTH_CLIENT_SECRETS('REPLIT_OAUTH')
      ) as creds
    )
    SELECT
      creds:OAUTH_CLIENT_ID::STRING as CLIENT_ID,
      creds:OAUTH_CLIENT_SECRET::STRING as CLIENT_SECRET
    FROM secrets;
    ```
  </Accordion>
</AccordionGroup>

## Documentation associée

* [Vue d'ensemble des connecteurs d'entrepôt](/fr/connectors/warehouses/overview) — Vue d'ensemble de tous les connecteurs d'entrepôt pris en charge
* [Connecter Databricks](/fr/connectors/warehouses/databricks) — Configuration Databricks étape par étape
* [Gestion de vos connecteurs](/fr/replitai/managing-connectors) — Gestion et configuration des connecteurs
* [Snowflake — Configurer OAuth pour les clients personnalisés](https://docs.snowflake.com/en/user-guide/oauth-custom) — Documentation OAuth de Snowflake
