> ## 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.

> Connectez ProbeDeck sur iOS ou iPadOS à ClickHouse Cloud ou à un serveur ClickHouse auto-hébergé.

# Connecter ProbeDeck à ClickHouse

export const CommunityMaintainedBadge = () => {
  return <div className="CommunityMaintainedBadge">
            <div className="CommunityMaintainedIcon">
            <svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" fill="currentColor" viewBox="0 0 256 256">
                <path d="M244.8,150.4a8,8,0,0,1-11.2-1.6A51.6,51.6,0,0,0,192,128a8,8,0,0,1-7.37-4.89,8,8,0,0,1,0-6.22A8,8,0,0,1,192,112a24,24,0,1,0-23.24-30,8,8,0,1,1-15.5-4A40,40,0,1,1,219,117.51a67.94,67.94,0,0,1,27.43,21.68A8,8,0,0,1,244.8,150.4ZM190.92,212a8,8,0,1,1-13.84,8,57,57,0,0,0-98.16,0,8,8,0,1,1-13.84-8,72.06,72.06,0,0,1,33.74-29.92,48,48,0,1,1,58.36,0A72.06,72.06,0,0,1,190.92,212ZM128,176a32,32,0,1,0-32-32A32,32,0,0,0,128,176ZM72,120a8,8,0,0,0-8-8A24,24,0,1,1,87.24,82a8,8,0,1,0,15.5-4A40,40,0,1,0,37,117.51,67.94,67.94,0,0,0,9.6,139.19a8,8,0,1,0,12.8,9.61A51.6,51.6,0,0,1,64,128,8,8,0,0,0,72,120Z"></path>
            </svg>
        </div>
            Géré par la communauté
        </div>;
};

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>;
};

<CommunityMaintainedBadge />

ProbeDeck est un client iOS et iPadOS qui permet de vérifier l’état d’un serveur ClickHouse, d’inspecter
les tables `system` et d’exécuter du SQL. Il se connecte à l’interface HTTP de ClickHouse via le réseau de l’appareil
ou par l’intermédiaire d’un bastion SSH ; aucun serveur relais n’est nécessaire.

<div id="before-you-begin">
  ## Avant de commencer
</div>

* Installez [ProbeDeck depuis l’App Store](https://apps.apple.com/app/id6791261174).
* Utilisez iOS ou iPadOS 17.0 ou une version ultérieure.
* Autorisez l’appareil à accéder au point de terminaison HTTP ou HTTPS de ClickHouse via son réseau, un VPN ou un
  bastion SSH.
* Créez un utilisateur ClickHouse ayant accès aux bases de données que vous souhaitez interroger.
* Accordez à l’utilisateur l’accès `SELECT` aux tables `system` pertinentes pour la supervision.

| ProbeDeck                   | ClickHouse Cloud | ClickHouse auto-hébergé                    | Remarques                                                                                                                                                      |
| --------------------------- | ---------------- | ------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1.1.7 ou version ultérieure | Service actuel   | Aucune version minimale du serveur imposée | Utilise l’interface HTTP(S). Testez la connexion et vérifiez chaque section de supervision en fonction de la version de votre serveur et de vos autorisations. |

Certaines sections de supervision dépendent de tables de logs facultatives ou de tables système plus récentes. Par exemple,
`system.server_settings`, que ProbeDeck utilise pour la limite de mémoire configurée, nécessite ClickHouse
23.3 ou une version ultérieure. ProbeDeck indique qu’une section concernée est limitée lorsque sa source n’est pas disponible.

<div id="how-it-works">
  ## Fonctionnement
</div>

1. ProbeDeck envoie des requêtes SQL au point de terminaison HTTP(S) de ClickHouse.
2. Il lit les données de monitoring dans les tables `system` à l’aide de l’utilisateur ClickHouse configuré.
3. L’application affiche les résultats des requêtes et les vues de monitoring sur l’appareil. Un bastion SSH peut acheminer la
   même connexion HTTP(S) lorsque le point de terminaison n’est pas directement accessible depuis l’appareil.

<div id="connect-to-clickhouse-cloud">
  ## Se connecter à ClickHouse Cloud
</div>

<Steps>
  <Step title="Récupérer les informations de connexion au service" id="gather-cloud-details">
    Dans la console ClickHouse Cloud, ouvrez votre service, sélectionnez **Connect**, puis choisissez **HTTPS**.

    Pour vous connecter à ClickHouse via HTTP(S), vous avez besoin des informations suivantes :

    | Paramètre(s)              | Description                                                                                                                                    |
    | ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
    | `HOST` and `PORT`         | En général, le port est 8443 lors de l’utilisation de TLS, ou 8123 sans TLS.                                                                   |
    | `DATABASE NAME`           | Par défaut, une base de données nommée `default` est disponible ; utilisez le nom de la base de données à laquelle vous voulez vous connecter. |
    | `USERNAME` and `PASSWORD` | Par défaut, le nom d’utilisateur est `default`. Utilisez le nom d’utilisateur adapté à votre cas d’usage.                                      |

    Les informations de votre service ClickHouse Cloud sont disponibles dans la console ClickHouse Cloud.
    Sélectionnez un service, puis cliquez sur **Connect** :

    <div className="ch-image-md">
      <Frame>
        <img src="https://mintcdn.com/private-7c7dfe99/EDr8ydtGBgFPOQea/images/_snippets/cloud-connect-button.webp?fit=max&auto=format&n=EDr8ydtGBgFPOQea&q=85&s=97d6a020a443f1b365b017488b39d0c8" alt="Bouton Connect du service ClickHouse Cloud" width="998" height="932" data-path="images/_snippets/cloud-connect-button.webp" />
      </Frame>
    </div>

    Choisissez **HTTPS**. Les détails de connexion s’affichent dans un exemple de commande `curl`.

    <div className="ch-image-md">
      <Frame>
        <img src="https://mintcdn.com/private-7c7dfe99/EDr8ydtGBgFPOQea/images/_snippets/connection-details-https.webp?fit=max&auto=format&n=EDr8ydtGBgFPOQea&q=85&s=80369fc90cd1ac3108fe455f2426c19a" alt="Détails de connexion HTTPS ClickHouse Cloud" width="1320" height="1184" data-path="images/_snippets/connection-details-https.webp" />
      </Frame>
    </div>

    Si vous utilisez ClickHouse autogéré, les détails de connexion sont définis par votre administrateur ClickHouse.
  </Step>

  <Step title="Ajouter la connexion dans ProbeDeck" id="add-cloud-connection">
    1. Dans l’écran **Connections**, appuyez sur **+**.
    2. Saisissez un nom de connexion et l’hôte sans `https://`.
    3. Définissez **Port** sur `8443` et activez **TLS**.
    4. Saisissez le nom d’utilisateur et le mot de passe de la base de données indiqués dans la boîte de dialogue **Connect**. Le nom de la base de données est
       facultatif.
    5. Appuyez sur **Test Connection**. Après une vérification réussie, ProbeDeck affiche la version du serveur et le temps d’aller-retour.
    6. Appuyez sur **Save**.

    ProbeDeck authentifie les requêtes SQL envoyées au point de terminaison de service à l’aide de ces identifiants de base de données.
    ClickHouse Cloud utilise les clés au niveau de l’organisation de la page **API Keys** pour les points de terminaison de Cloud API et de Query API. Le processus de connexion SQL de ProbeDeck n’utilise pas ces clés.

    <Image img="https://mintcdn.com/private-7c7dfe99/-GwTwl23hJZldEaZ/images/integrations/sql-clients/probedeck-add-connection.png?fit=max&auto=format&n=-GwTwl23hJZldEaZ&q=85&s=ced2eba375eed25880131fd1be03bf23" size="sm" border alt="Formulaire de connexion ProbeDeck configuré pour HTTPS sur le port 8443 avec un nom d’utilisateur ClickHouse" width="1320" height="2160" data-path="images/integrations/sql-clients/probedeck-add-connection.png" />
  </Step>
</Steps>

<div id="connect-to-self-hosted-clickhouse">
  ## Se connecter à une instance ClickHouse auto-hébergée
</div>

<Steps>
  <Step title="Choisir le point de terminaison HTTP" id="choose-self-hosted-endpoint">
    Utilisez le port `8123` pour l’interface HTTP non chiffrée par défaut. Pour HTTPS, activez **TLS** et utilisez le
    port configuré sur votre serveur ; `8443` est un choix courant.

    <Note>
      Les ports `9000` et `9440` sont utilisés par le protocole natif de ClickHouse. ProbeDeck utilise l’interface HTTP(S) :
      saisissez donc le port HTTP du serveur.
    </Note>
  </Step>

  <Step title="Ajouter et tester la connexion" id="add-self-hosted-connection">
    1. Dans l’écran **Connections**, appuyez sur **+**.
    2. Saisissez l’hôte du serveur sans schéma d’URL.
    3. Définissez le port HTTP(S) et l’option TLS.
    4. Saisissez le nom d’utilisateur ClickHouse, le mot de passe et, éventuellement, la base de données.
    5. Appuyez sur **Test Connection**, puis sur **Save**.

    Pour un serveur sur le réseau local, iOS peut demander l’autorisation d’accéder au réseau local. Connectez d’abord l’appareil à
    son VPN lorsque le point de terminaison n’est accessible que depuis un réseau d’entreprise.
  </Step>
</Steps>

<div id="connect-through-an-ssh-bastion">
  ## Se connecter via un bastion SSH
</div>

Activez **SSH Tunnel** dans le formulaire de connexion et renseignez :

1. L’hôte du bastion et le port SSH (`22` par défaut).
2. Le nom d’utilisateur SSH.
3. Un mot de passe SSH ou une clé privée.

ProbeDeck ouvre un canal SSH `direct-tcpip` entre le bastion, l’hôte ClickHouse et le port
HTTP(S) indiqués dans la section **Server**. Lors de la première connexion, comparez l’empreinte
SHA-256 de la clé d’hôte du bastion avec la valeur fournie par l’administrateur du serveur avant de l’accepter.

<div id="configure-authentication-and-tls">
  ## Configurer l’authentification et TLS
</div>

ProbeDeck envoie le nom d’utilisateur et le mot de passe de la base de données dans les en-têtes de requête
`X-ClickHouse-User` et `X-ClickHouse-Key`. Il ne place pas les identifiants dans l’URL.

Pour le TLS mutuel, activez **TLS Client Certificate** et importez un fichier PKCS#12 (`.p12`) contenant
le certificat client et la clé privée, puis saisissez sa phrase secrète.

Lorsqu’un point de terminaison auto-hébergé présente un certificat auto-signé ou un certificat émis par une
CA privée, ProbeDeck affiche son empreinte SHA-256, son émetteur, son sujet et sa période de validité. Comparez
l’empreinte à la valeur fournie par l’administrateur du serveur avant de l’accepter. ProbeDeck associe cette
décision à la connexion ; tout changement de certificat interrompt la connexion jusqu’à ce que vous le vérifiiez.

ProbeDeck stocke les secrets de connexion et les clés importées dans le trousseau iOS de l’appareil.

<div id="monitor-clickhouse">
  ## Surveiller ClickHouse
</div>

Ouvrez la connexion enregistrée et sélectionnez **Monitor**. Le tableau de bord récapitule les sources suivantes :

| Domaine                                                 | Source ClickHouse                                                         |
| ------------------------------------------------------- | ------------------------------------------------------------------------- |
| Requêtes en cours, temps écoulé, mémoire et lignes lues | `system.processes`                                                        |
| État de la réplication et file d’attente                | `system.replicas`, `system.replication_queue`                             |
| Disques, parts et merges                                | `system.disks`, `system.parts`, `system.merges`                           |
| Mutations                                               | `system.mutations`                                                        |
| Métriques de la mémoire et du serveur                   | `system.metrics`, `system.asynchronous_metrics`, `system.server_settings` |
| Débits historiques des requêtes et des disques          | `system.metric_log`, `system.asynchronous_metric_log`                     |

<Image img="https://mintcdn.com/private-7c7dfe99/-GwTwl23hJZldEaZ/images/integrations/sql-clients/probedeck-dashboard.png?fit=max&auto=format&n=-GwTwl23hJZldEaZ&q=85&s=e139ac9115a93bbcbca9d344d8c94534" size="sm" border alt="Tableau de bord de surveillance ProbeDeck affichant les requêtes en cours, la réplication, les disques, les parts, les mutations, les merges, le débit de requêtes et la mémoire" width="1320" height="2868" data-path="images/integrations/sql-clients/probedeck-dashboard.png" />

Cliquez sur **Running queries** pour trier les requêtes actives par temps écoulé et examiner la mémoire et les lignes lues.

<Image img="https://mintcdn.com/private-7c7dfe99/-GwTwl23hJZldEaZ/images/integrations/sql-clients/probedeck-running-queries.png?fit=max&auto=format&n=-GwTwl23hJZldEaZ&q=85&s=b9e6312428cebde1a446e469a702dde4" size="sm" border alt="Liste des requêtes en cours de ProbeDeck triée par temps écoulé" width="1320" height="2868" data-path="images/integrations/sql-clients/probedeck-running-queries.png" />

<div id="query-the-uk-property-price-dataset">
  ## Interroger le jeu de données UK Property Price
</div>

Cet exemple utilise le [jeu de données UK Property Price](/docs/fr/get-started/sample-datasets/uk-price-paid).
Chargez le jeu de données dans `uk_price_paid`, puis :

1. Ouvrez la connexion et sélectionnez **Data**.
2. Ouvrez l’éditeur SQL.
3. Exécutez cette requête en lecture seule et limitée :

```sql theme={null}
SELECT
    town,
    count() AS sales,
    round(avg(price)) AS average_price
FROM uk_price_paid
GROUP BY town
ORDER BY sales DESC
LIMIT 10
```

Le résultat doit contenir dix villes, avec leur nombre de transactions et leur prix moyen.

<div id="known-limits">
  ## Limites connues
</div>

* ProbeDeck fonctionne sous iOS et iPadOS 17.0 ou version ultérieure.
* Les utilisateurs de la version gratuite peuvent enregistrer une seule connexion à la fois. Sa suppression libère l’emplacement ; ProbeDeck Pro permet
  d’enregistrer un nombre illimité de connexions.
* Il prend en charge l’interface HTTP(S) de ClickHouse, mais pas le protocole natif.
* ProbeDeck charge les résultats SQL par pages de 200 lignes et limite chaque requête à 10 000 lignes. Utilisez une
  clause `WHERE` sélective et `LIMIT` pour les grandes tables.
* La visibilité dans Monitoring dépend des privilèges de l’utilisateur ClickHouse et des tables de logs facultatives.
* L’appareil doit pouvoir atteindre le point de terminaison via son réseau, un VPN ou le tunnel SSH intégré.
* Monitoring et le SQL en lecture seule ne nécessitent aucun achat intégré. `KILL QUERY`, `KILL MUTATION`,
  les instructions d’écriture et DDL, ainsi que d’autres actions opérationnelles, nécessitent ProbeDeck Pro.

<div id="troubleshooting">
  ## Résolution des problèmes
</div>

<Accordion title="Échec de l'authentification">
  Copiez à nouveau le nom d'utilisateur et le mot de passe de la base de données. Pour le point de terminaison du service ClickHouse Cloud, utilisez les
  identifiants de la base de données figurant dans la boîte de dialogue **Connect** du service. Ne les remplacez pas par une clé au niveau de l'organisation
  provenant de la page **API Keys** de ClickHouse Cloud.
</Accordion>

<Accordion title="La connexion a été refusée ou a expiré">
  Vérifiez que l'appareil peut atteindre l'hôte et le port HTTP(S). Vérifiez la liste d'accès IP Cloud, le VPN,
  le pare-feu et le mappage des ports. N'utilisez pas les ports du protocole natif `9000` ou `9440`.
</Accordion>

<Accordion title="Monitoring indique des autorisations limitées">
  L'utilisateur ClickHouse ne peut pas lire une ou plusieurs tables `system` requises. Demandez à l'administrateur du serveur
  les privilèges `SELECT` minimaux requis pour les sections de monitoring que vous prévoyez d'utiliser, puis reconnectez-vous.
</Accordion>

<Accordion title="L'empreinte TLS a changé">
  Demandez à l'administrateur du serveur de confirmer la rotation du certificat avant d'accepter la nouvelle
  empreinte. Une modification inattendue peut indiquer un point de terminaison différent ou un chemin d'interception TLS.
</Accordion>

<div id="next-steps">
  ## Étapes suivantes
</div>

* Consultez le [site web de ProbeDeck](https://probedeck.app) pour plus d’informations sur le produit.
* Consultez la [documentation de l’interface HTTP de ClickHouse](/docs/fr/concepts/features/interfaces/http) pour configurer le serveur.
