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

> Tableau Online met la puissance des données au service de chacun pour permettre des prises de décision plus rapides et plus sûres, où que l’on soit.

# Tableau Online

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

Tableau Online peut se connecter à ClickHouse Cloud ou à un déploiement ClickHouse sur site via l’interface MySQL, à l’aide de la source de données MySQL officielle.

<div id="clickhouse-cloud-setup">
  ## Configuration de ClickHouse Cloud
</div>

<Steps>
  <Step title={<>Sélectionnez <code>Connect your app</code></>} id="select-connect-your-app">
    Après avoir créé votre service ClickHouse Cloud, dans l’écran `Connect your app`, sélectionnez MySQL dans le menu déroulant.

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql1.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=3fee8b16269b6d6db4be00c671931dc6" alt="Écran des identifiants ClickHouse Cloud affichant le menu déroulant de sélection de l’interface MySQL" width="3840" height="2138" data-path="images/_snippets/mysql1.webp" />
    </Frame>
  </Step>

  <Step title="Activer l’interface MySQL" id="enable-mysql-interface">
    Basculez l’interrupteur pour activer l’interface MySQL pour ce service.
    Cela ouvrira le port `3306` pour ce service et affichera un écran de connexion MySQL avec votre nom d’utilisateur MySQL unique.

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql2.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=1f1065226a43c32aee2f841823e97fa7" alt="Interrupteur d’activation de l’interface MySQL ClickHouse Cloud et détails de connexion" width="3840" height="2136" data-path="images/_snippets/mysql2.webp" />
    </Frame>

    Sinon, pour activer l’interface MySQL pour un service existant :
  </Step>

  <Step title={<>Sélectionnez <code>Connect</code></>} id="select-connect">
    Assurez-vous que votre service est à l’état `Running`, puis cliquez sur le service pour lequel vous souhaitez activer l’interface MySQL.
    Sélectionnez "Connect" dans le menu de gauche :

    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql3.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=563cda780487040d6da61f40bb612113" alt="Écran de connexion du service ClickHouse Cloud avec l’option Connect mise en évidence" width="3840" height="2160" data-path="images/_snippets/mysql3.webp" />
    </Frame>
  </Step>

  <Step title={<>Choisissez <code>MySQL</code></>} id="choose-mysql">
    Sélectionnez `MySQL` dans le menu déroulant `Connect With`.

    <div className="ch-image-md">
      <Frame>
        <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql4.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=7e7d9febe22e2d83b4edf27a3f1546ab" alt="Écran de connexion ClickHouse Cloud affichant la sélection de l’option MySQL" width="1326" height="1046" data-path="images/_snippets/mysql4.webp" />
      </Frame>
    </div>
  </Step>

  <Step title="Activer l’interface MySQL" id="enable-mysql-interface-existing-service">
    Basculez l’interrupteur pour activer l’interface MySQL pour ce service.
    Cela ouvrira le port `3306` pour ce service et affichera votre écran de connexion MySQL, avec votre nom d’utilisateur MySQL unique.
  </Step>
</Steps>

<div className="ch-image-md">
  <Frame>
    <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/mysql5.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=fe4db63a9a94f057aa6b57a2be5366a4" alt="Écran de connexion ClickHouse Cloud avec l’interface MySQL activée affichant les détails de connexion" width="1320" height="1520" data-path="images/_snippets/mysql5.webp" />
  </Frame>
</div>

<div id="creating-multiple-mysql-users-in-clickhouse-cloud">
  ## Création d’un utilisateur MySQL `readonly` dans ClickHouse Cloud
</div>

ClickHouse Cloud crée automatiquement un utilisateur `mysql4<subdomain>` qui partage le même mot de passe que l’utilisateur `default`.
La partie `<subdomain>` correspond à la première partie du nom d’hôte de votre instance ClickHouse Cloud.

Ce format de nom d’utilisateur est requis pour assurer la compatibilité avec les outils qui établissent des connexions sécurisées mais n’incluent pas les données [SNI (Server Name Indication)](https://www.cloudflare.com/learning/ssl/what-is-sni) dans leur handshake TLS.
Sans informations SNI, le système ne peut pas effectuer le routage interne correctement ; l’indication de sous-domaine intégrée au nom d’utilisateur fournit donc les informations de routage nécessaires.
Le client de console MySQL est un exemple d’outil qui en a besoin.

<Tip>
  Il est recommandé de créer un nouvel utilisateur MySQL `readonly`.
</Tip>

<Note>
  Pour un nom d’hôte ClickHouse Cloud tel que `foobar.us-east1.aws.clickhouse.cloud`, la partie `<subdomain>` est égale à `foobar`, et un nom d’utilisateur MySQL personnalisé pourrait être `mysql4foobar_team1`.
</Note>

<Steps>
  <Step title="Créer un profil de paramètres `readonly`" id="create-a-custom-settings-user">
    Créez un [profil de paramètres](/docs/fr/reference/statements/create/settings-profile) à appliquer à votre utilisateur `readonly`,
    en définissant le paramètre `readonly` sur `1` :

    ```sql theme={null}
    CREATE SETTINGS PROFILE readonly_profile SETTINGS readonly = 1
    ```
  </Step>

  <Step title="Créer un nouvel utilisateur MySQL `readonly`" id="create-a-readonly-mysql-user">
    [Créez un utilisateur](/docs/fr/reference/statements/create/user) avec un nom respectant ce format :

    ```sql theme={null}
    mysql4<subdomain>_<username>
    ```

    Appliquez `readonly_profile` au nouvel utilisateur et assurez-vous que le mot de passe est au format double SHA1. Par exemple :

    ```sql theme={null}
    CREATE USER mysql4foobar_readonly
    IDENTIFIED WITH double_sha1_password BY 'YourPassword42$'
    SETTINGS PROFILE 'readonly_profile';
    ```
  </Step>

  <Step title="Accorder au nouvel utilisateur les permissions nécessaires pour accéder aux tables souhaitées" id="grant-the-new-user-the-necessary-permissions">
    [Accordez](/docs/fr/reference/statements/grant) au nouvel utilisateur les permissions nécessaires pour interagir avec les tables ou bases de données souhaitées.
    Par exemple, si vous souhaitez accorder l’accès uniquement à `system.query_log` :

    ```sql theme={null}
    GRANT SELECT ON system.query_log TO mysql4foobar_readonly;
    ```

    <Note>
      Pour l’utilisateur `readonly`, veillez à n’accorder que des permissions `SELECT` sur les tables auxquelles vous souhaitez accéder.
    </Note>

    L’utilisateur nouvellement créé peut être utilisé pour se connecter à votre service ClickHouse Cloud via l’interface MySQL.
  </Step>
</Steps>

<div id="troubleshooting-multiple-mysql-users-in-clickhouse-cloud">
  ### Troubleshooting de plusieurs utilisateurs MySQL dans ClickHouse Cloud
</div>

Si vous avez créé un nouvel utilisateur MySQL et que l’erreur suivante s’affiche lorsque vous vous connectez via le client MySQL en CLI :

```
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 54
```

Dans ce cas, assurez-vous que le nom d’utilisateur respecte le format `mysql4<subdomain>_<username>`, comme indiqué ([ci-dessus](#creating-multiple-mysql-users-in-clickhouse-cloud)).

<div id="on-premise-clickhouse-server-setup">
  ## Configuration d’un serveur ClickHouse sur site
</div>

Veuillez consulter [la documentation officielle](/docs/fr/concepts/features/interfaces/mysql)
pour savoir comment configurer un serveur ClickHouse avec l’interface MySQL activée.

Outre l’ajout d’une entrée au `config.xml` du serveur

```xml theme={null}
<clickhouse>
    <mysql_port>9004</mysql_port>
</clickhouse>
```

il est également *nécessaire* d’utiliser
[le chiffrement de mot de passe Double SHA1](/docs/fr/concepts/features/configuration/settings/settings-users#user-namepassword)
pour l’utilisateur qui utilisera l’interface MySQL.

Génération d’un mot de passe aléatoire chiffré en Double SHA1 depuis le shell :

```shell theme={null}
PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
```

Le résultat devrait ressembler à ce qui suit :

```
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4
```

La première ligne correspond au mot de passe généré, et la deuxième au hash que nous pouvons utiliser pour configurer ClickHouse.

Voici un exemple de configuration pour `mysql_user` utilisant le hash généré :

`/etc/clickhouse-server/users.d/mysql_user.xml`

```xml theme={null}
<users>
    <mysql_user>
        <password_double_sha1_hex>fbc958cc745a82188a51f30de69eebfc67c40ee4</password_double_sha1_hex>
        <networks>
            <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
    </mysql_user>
</users>
```

Remplacez l’entrée `password_double_sha1_hex` par votre propre hachage Double SHA1 généré.

De plus, il est recommandé d’utiliser `use_mysql_types_in_show_columns`
pour afficher les types MySQL natifs au lieu de ceux de ClickHouse dans les résultats de la requête `SHOW [FULL] COLUMNS`,
ce qui permet aux outils de BI d’inspecter correctement le schéma de la base de données lors de l’utilisation de connecteurs MySQL.

Par exemple :

`/etc/clickhouse-server/users.d/mysql_user.xml`

```xml theme={null}
<profiles>
    <default>
        <use_mysql_types_in_show_columns>1</use_mysql_types_in_show_columns>
    </default>
</profiles>
```

ou l’affecter à un profil différent plutôt qu’au profil par défaut.

Si le binaire `mysql` est disponible, vous pouvez tester la connexion depuis la ligne de commande.
En utilisant l’exemple de nom d’utilisateur (`mysql_user`) et de mot de passe (`LZOQYnqQN4L/T6L0`) ci-dessus, la ligne de commande serait :

```bash theme={null}
mysql --protocol tcp -h localhost -u mysql_user -P 9004 --password=LZOQYnqQN4L/T6L0
```

```
mysql> show databases;
+--------------------+
| name               |
+--------------------+
| INFORMATION_SCHEMA |
| default            |
| information_schema |
| system             |
+--------------------+
4 rows in set (0.00 sec)
Read 4 rows, 603.00 B in 0.00156 sec., 2564 rows/sec., 377.48 KiB/sec.
```

Enfin, configurez le serveur ClickHouse pour qu’il écoute sur la ou les adresses IP souhaitées. Par exemple, dans `config.xml`, décommentez les lignes suivantes pour écouter sur toutes les adresses :

```bash theme={null}
<listen_host>::</listen_host> 
```

<div id="connecting-tableau-online-to-clickhouse-on-premise-without-ssl">
  ## Connexion de Tableau Online à ClickHouse (sur site sans SSL)
</div>

Connectez-vous à votre site Tableau Cloud et ajoutez une nouvelle source de données publiée.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_01.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=80282e8972fac8925c8e86928f443ff7" alt="Interface de Tableau Online affichant le bouton 'New' pour créer une source de données publiée" border width="1627" height="1024" data-path="images/integrations/data-visualization/tableau_online_01.webp" />

<br />

Sélectionnez "MySQL" dans la liste des connecteurs disponibles.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_02.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=52b155274958a00c95e7ad65c5dc9742" alt="Écran de sélection des connecteurs de Tableau Online avec l'option MySQL mise en évidence" border width="1940" height="1114" data-path="images/integrations/data-visualization/tableau_online_02.webp" />

<br />

Renseignez les informations de connexion recueillies lors de la configuration de ClickHouse.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_03.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=f2dbefab54d05ca84bb59258a5d53de4" alt="Écran de configuration de la connexion MySQL de Tableau Online avec les champs server, port, database et les identifiants" border width="1940" height="1114" data-path="images/integrations/data-visualization/tableau_online_03.webp" />

<br />

Tableau Online inspectera la base de données et affichera la liste des tables disponibles. Faites glisser la table souhaitée vers le canevas à droite. Vous pouvez également cliquer sur "Update Now" pour prévisualiser les données, ainsi qu'affiner les types ou les noms des champs détectés.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_online_04.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=4e8a65ae2ac8e97052ac2f3ca9f087cc" alt="Page de source de données de Tableau Online affichant les tables de la base de données à gauche et le canevas à droite avec une fonctionnalité de glisser-déposer" border width="2277" height="1395" data-path="images/integrations/data-visualization/tableau_online_04.webp" />

<br />

Après cela, il ne vous reste plus qu'à cliquer sur "Publish As" en haut à droite, et vous pourrez utiliser normalement dans Tableau Online le jeu de données nouvellement créé.

N.B. : si vous souhaitez utiliser Tableau Online avec Tableau Desktop et partager des jeux de données ClickHouse entre les deux, veillez à utiliser également dans Tableau Desktop le connecteur MySQL par défaut, en suivant le guide de configuration affiché [ici](https://www.tableau.com/support/drivers) si vous sélectionnez MySQL dans la liste déroulante source de données. Si vous avez un Mac M1, consultez [ce fil de dépannage](https://community.tableau.com/s/question/0D58b0000Ar6OhvCQE/unable-to-install-mysql-driver-for-m1-mac) pour contourner le problème d'installation du pilote.

<div id="connecting-tableau-online-to-clickhouse-cloud-or-on-premise-setup-with-ssl">
  ## Connexion de Tableau Online à ClickHouse (configuration Cloud ou sur site avec SSL)
</div>

Comme il n’est pas possible de fournir les certificats SSL via l’assistant de configuration de connexion MySQL de Tableau Online,
la seule solution consiste à utiliser Tableau Desktop pour configurer la connexion, puis à l’exporter vers Tableau Online. Le processus reste toutefois assez simple.

Lancez Tableau Desktop sur une machine Windows ou Mac, puis sélectionnez "Connect" -> "To a Server" -> "MySQL".
Il sera probablement nécessaire d’installer d’abord le pilote MySQL sur votre machine.
Vous pouvez le faire en suivant le guide de configuration affiché [ici](https://www.tableau.com/support/drivers) après avoir sélectionné MySQL dans la liste déroulante Source de données.
Si vous utilisez un Mac M1, consultez [ce fil de dépannage](https://community.tableau.com/s/question/0D58b0000Ar6OhvCQE/unable-to-install-mysql-driver-for-m1-mac) pour une solution de contournement concernant l’installation du pilote.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_01.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=7481c985675755865ed9cfbff72b658d" alt="Interface de Tableau Desktop affichant le menu Connect avec l’option MySQL mise en évidence" border width="735" height="659" data-path="images/integrations/data-visualization/tableau_desktop_01.webp" />

<br />

<Note>
  Dans l’UI de configuration de la connexion MySQL, assurez-vous que l’option "SSL" est activée.
  Le certificat SSL de ClickHouse Cloud est signé par [Let's Encrypt](https://letsencrypt.org/certificates/).
  Vous pouvez télécharger ce certificat racine [ici](https://letsencrypt.org/certs/isrgrootx1.pem).
</Note>

Saisissez les credentials de votre utilisateur MySQL de l’instance ClickHouse Cloud, ainsi que le chemin vers le certificat racine téléchargé.

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_02.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=b184ffe5c897400fb243499c2e073a4b" alt="Boîte de dialogue de connexion MySQL de Tableau Desktop avec l’option SSL activée et des champs pour le server, le username, le password et le certificat" border width="496" height="567" data-path="images/integrations/data-visualization/tableau_desktop_02.webp" />

<br />

Choisissez les tables souhaitées comme d’habitude (comme dans Tableau Online),
puis sélectionnez "Server" -> "Publish Data Source" -> Tableau Cloud.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_03.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=4b3003df50b1fdf42a6361551bbc1146" alt="Tableau Desktop affichant le menu Server avec l’option Publish Data Source mise en évidence" border width="813" height="321" data-path="images/integrations/data-visualization/tableau_desktop_03.webp" />

<br />

IMPORTANT : vous devez sélectionner "Embedded password" dans les options "Authentication".

<Image size="md" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_04.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=65784dddca1098e0c020249d971bbbdd" alt="Boîte de dialogue de publication de Tableau Desktop affichant les options Authentication avec Embedded password sélectionné" border width="775" height="643" data-path="images/integrations/data-visualization/tableau_desktop_04.webp" />

<br />

En outre, choisissez "Update workbook to use the published data source".

<Image size="sm" img="https://mintcdn.com/private-7c7dfe99/etDiFo_9fGSe5rMN/images/integrations/data-visualization/tableau_desktop_05.webp?fit=max&auto=format&n=etDiFo_9fGSe5rMN&q=85&s=6f889cbb8c8ec6e20a6d078a65513b47" alt="Boîte de dialogue de publication de Tableau Desktop avec l’option 'Update workbook to use the published data source' cochée" border width="373" height="649" data-path="images/integrations/data-visualization/tableau_desktop_05.webp" />

<br />

Enfin, cliquez sur "Publish" et votre source de données avec credentials intégrés s’ouvrira automatiquement dans Tableau Online.

<div id="known-limitations-clickhouse-2311">
  ## Limitations connues (ClickHouse 23.11)
</div>

Toutes les limitations connues ont été résolues dans ClickHouse `23.11`. Si vous rencontrez d'autres incompatibilités, n'hésitez pas à [nous contacter](https://clickhouse.com/company/contact) ou à créer un [nouveau ticket](https://github.com/ClickHouse/ClickHouse/issues).
