Skip to main content
L’interface SQL Web (Play) est l’interface de requête intégrée à ClickHouse, accessible depuis le navigateur. Elle est fournie sur n’importe quel port HTTP de ClickHouse au chemin /play (par exemple, http://localhost:8123/play). Elle vous permet d’écrire et d’exécuter des requêtes, d’afficher les résultats sous forme de table ou de graphique, et de partager une requête en copiant son URL. Toute l’interface est contenue dans programs/server/play.html, une page autonome unique servie directement par le binaire ClickHouse, sans framework ni étape de build. La seule exception concerne le rendu des graphiques : la bibliothèque de graphiques uPlot est chargée à la demande depuis un CDN tiers la première fois qu’un résultat est affiché sous forme de graphique. Les graphiques ne sont donc pas disponibles dans les déploiements hors ligne ou soumis à des restrictions de trafic sortant.

Onglets de requête

Les onglets vous permettent de garder plusieurs requêtes côte à côte, au lieu de devoir les gérer dans un seul éditeur ou de vous appuyer sur l’historique du navigateur. Chaque onglet possède son propre texte de requête, son titre, ses paramètres de requête et son dernier résultat. Les paramètres de connexion (URL, utilisateur, mot de passe) restent globaux et sont partagés par tous les onglets.

Quand la barre d’onglets apparaît

La barre d’onglets apparaît dès qu’une requête a été exécutée ou dès qu’il y a plus d’un onglet. Un seul onglet sans résultat a exactement le même aspect que la page avant l’ajout des onglets ; la barre d’onglets ne s’affiche donc pas tant qu’elle n’est pas nécessaire. L’onglet actif se fond visuellement dans la page : son arrière-plan reprend la couleur du hash propre à la requête (la même couleur que l’arrière-plan de la page utilise déjà), avec un dégradé plus saturé en haut dans le thème clair et plus lumineux en haut dans le thème sombre. Les onglets inactifs sont teintés selon le hash du texte de leur propre requête, ce qui permet de distinguer automatiquement les différents onglets par leur couleur.

Créer, fermer et renommer des onglets

  • Créez un nouvel onglet avec le bouton [+] situé à droite des onglets.
  • Fermez un onglet à l’aide de l’icône x sur l’onglet.
  • Les nouveaux onglets reçoivent par défaut les noms Query A, Query B, et ainsi de suite.
  • Cliquez sur le titre de l’onglet actif pour le modifier sur place ; le champ d’édition s’agrandit pour s’adapter au texte.

Passer d’un onglet à l’autre

  • Cliquez sur un onglet inactif pour l’activer.
  • Faites défiler la molette de la souris au-dessus du panneau d’onglets pour changer d’onglet : vers le haut, vous passez à l’onglet de gauche ; vers le bas, à l’onglet de droite (s’ils existent). Le défilement vertical comme horizontal de la molette fonctionne.
La barre d’onglets est fixe horizontalement : elle reste à gauche lors du défilement horizontal de la page, comme le logo ClickHouse en bas, et défile verticalement avec le reste de la page.

Persistance et historique du navigateur

L’espace de travail — les onglets, leurs titres, l’onglet actif, leur ordre et de petits instantanés de résultats — est conservé dans IndexedDB et restauré au rechargement. La persistance fonctionne au mieux : si IndexedDB n’est pas disponible, l’espace de travail revient à un état en mémoire pour la session en cours. Les onglets s’intègrent également à l’API History du navigateur et à l’URL :
  • L’état de l’historique inclut l’onglet actif, de sorte que les boutons précédent et suivant du navigateur permettent de changer d’onglet.
  • Un paramètre tab=<name> est ajouté à l’URL. Au chargement, la chaîne de requête de l’URL et le paramètre tab sont mis en correspondance avec les onglets enregistrés : un onglet existant portant ce nom est réutilisé (et sa requête est remplacée), ou un nouvel onglet est créé si le nom est introuvable ou s’il n’était pas nommé. Cela permet d’ouvrir une URL avec une nouvelle requête tout en conservant vos propres onglets enregistrés.

Limitations

Changer d’onglet pendant l’exécution d’une requête fait perdre l’état d’exécution de cette requête. Seuls les petits résultats sont enregistrés sous forme d’instantané pour pouvoir être restaurés. Un résultat volumineux (dépassant la limite de taille de l’instantané) ou un résultat sous forme d’image n’est pas conservé : après un changement d’onglet ou un rechargement, l’onglet conserve sa requête, mais pas le résultat affiché, et il suffit de relancer la requête pour le régénérer. Cela s’applique aussi bien au résultat d’une seule requête qu’à la sortie combinée d’une exécution « Run all » (plusieurs requêtes).
Dernière modification le 23 juillet 2026