Guide pratique du CLI Bokeh sur Ubuntu : visualisez vos données

Introduction

Dans cet article, nous explorerons le potentiel de l’interface en ligne de commande de Bokeh sous Ubuntu, une bibliothèque Python réputée pour concevoir des visualisations percutantes. Du rendu autonome sous forme de pages HTML ou de flux JSON jusqu’au déploiement de dashboards réactifs avec le serveur intégré, découvrez comment exploiter ses sous-commandes incontournables à travers des exemples concrets.

1. Déploiement de Bokeh et diagnostic de l’environnement (bokeh info)

Avant de manipuler l’outil, mettons à jour l’index des dépôts locaux puis procédons à l’installation des paquets nécessaires via APT.

Mise à jour des dépôts et installation de python3-bokeh

L’utilitaire bokeh info offre un inventaire détaillé de la configuration courante : versions de l’interpréteur Python, de Bokeh lui-même ainsi que des dépendances système critiques.
⚙️ [Sous-commandes fondamentales]

info : Affiche l’état du système, les bibliothèques installées et les variables d’environnement actives.
serve : Lance le serveur Bokeh capable d’héberger des tableaux de bord interactifs en temps réel.
html : Compile un script Python pour produire une page HTML autonome consultable hors ligne.
json : Transforme la scène graphique et ses jeux de données en une structure JSON sérialisée.
secret : Génère une clé cryptographique aléatoire servant à sécuriser les sessions web de l’application.

Vérification de la configuration avec bokeh info

2. Générer une page web statique autonome (bokeh html)

Commençons par préparer un espace de travail dédié à nos expérimentations à l’aide de l’instruction mkdir -p ~/bokeh-demo && cd ~/bokeh-demo.

Création et accès au dossier de travail

Rédigeons ensuite un premier script Python nommé plot_sample.py qui définit un nuage de points (Scatter plot).

Génération du fichier Python pour le graphique

L’appel bokeh html plot_sample.py prend en charge la compilation de votre code afin de produire un document HTML prêt à l’emploi dans n’importe quel navigateur.

Exportation du tracé en document HTML

Pour valider la création du fichier plot_sample.html et vérifier son volume sur le disque, exécutons ls -lh plot_sample.html.

Contrôle du fichier généré avec ls

3. Exporter l’arborescence graphique et les données en JSON (bokeh json)

La directive bokeh json plot_sample.py > plot_output.json extrait l’ensemble des descripteurs graphiques et des séries de données du script pour les consigner sous forme sérialisée.
Ce format est particulièrement utile pour alimenter des architectures découplées ou s’interfacer directement avec un client web exploitant la bibliothèque JavaScript BokehJS.

Sérialisation du tracé vers un fichier JSON

Inspectons les premières lignes du fichier avec head -n 20 plot_output.json afin de valider la conformité du schéma produit.
Cette étape permet de passer en revue les identifiants d’objets racine, les moteurs de rendu associés ainsi que la définition des sources de données.

Inspection du contenu JSON généré

4. Héberger un tableau de bord interactif en direct (bokeh serve)

Concevons à présent une application interactive pour illustrer le fonctionnement du serveur applicatif avec le fichier server_app.py.
L’appel curdoc().add_root() rattache dynamiquement notre courbe au document actif de la session utilisateur.

Création du script applicatif pour bokeh serve

La commande timeout 5s bokeh serve server_app.py --port 5006 --allow-websocket-origin="*" initialise le serveur web Bokeh afin d’exécuter le programme de façon dynamique.
Le paramètre --port 5006 affecte le port d’écoute réseau, tandis que --allow-websocket-origin="*" autorise les échanges bidirectionnels via WebSocket nécessaires aux interactions client-serveur.

Démarrage du serveur web Bokeh

Vous disposez désormais des bases nécessaires pour maîtriser le CLI de Bokeh sous Ubuntu et valoriser vos jeux de données.
Il ne vous reste plus qu’à combiner ces différentes fonctionnalités pour concevoir des visualisations riches et des dashboards interactifs parfaitement adaptés à vos besoins.