8 points par GN⁺ 2024-07-25 | 1 commentaires | Partager sur WhatsApp
  • Ajoute des fonctionnalités à Notion + Jupyter
    • planification des notebooks, conversion en tableaux de bord et en applications, requêtes SQL qui renvoient les résultats sous forme de data frames, etc.
  • Résout les problèmes des notebooks existants
    • Difficulté de partage : il faut installer Docker + Python pour consulter le travail de l’équipe data
    • Les notebooks sont trop complexes : trop de blocs de code, ce qui nuit à la lisibilité et les rend difficiles à comprendre pour les non-techniciens
    • Même des tâches simples comme les requêtes de base de données, les appels d’API ou la création de graphiques deviennent complexes
  • La réponse apportée par Briefer
    • Résolution du problème de partage
      • déplace les notebooks dans le cloud pour permettre leur planification
      • gestion d’état avec des CRDTs et Yjs, avec prise en compte de l’édition en temps réel
    • Organisation des notebooks
      • design épuré et possibilité d’organiser les blocs en les regroupant
      • possibilité de regrouper les blocs par onglets et de choisir ceux à afficher dans la version publique
      • fournit une fonction de création de tableaux de bord
    • Simplification des tâches simples
      • création de graphiques en un clic, génération de code de graphiques complexes via un assistant IA
      • conversion automatique des résultats de requêtes SQL en data frames, avec possibilité d’interroger des fichiers via DuckDB

Principales fonctionnalités

  • Arborescence de fichiers
    • L’arborescence de fichiers permet de gérer et d’explorer les notebooks
    • Comme dans Notion, on peut choisir une icône pour chaque notebook, réorganiser leur ordre ou en placer un à l’intérieur d’un autre
    • Lorsqu’un notebook est supprimé, une copie est conservée dans la corbeille afin de pouvoir le restaurer si nécessaire
  • Blocs et onglets : les notebooks Briefer sont composés de différents types de blocs
    • Bloc texte : pour ajouter du contexte au notebook
    • Bloc de requête : pour collecter des données depuis des fichiers ou des sources de données connectées comme Postgres, BigQuery, Redshift, Athena, etc.
    • Bloc d’import de fichiers : pour ajouter au notebook des fichiers CSV, XLS ou autres lorsque les données ne sont pas présentes dans une source connectée
    • Bloc Python : pour écrire du code Python afin de manipuler les données, générer des visualisations ou effectuer toute autre tâche souhaitée
    • Bloc d’entrée : pour ajouter au notebook des éléments interactifs comme une saisie de texte ou une liste déroulante
    • Bloc de visualisation : pour créer des visualisations sans écrire de code
    • Après avoir ajouté des blocs à un notebook, il est possible de les regrouper en onglets pour mieux organiser le notebook et faciliter la navigation
  • Fichiers et bases de données
    • Il est possible d’interroger des données depuis des fichiers et des bases de données à l’aide de blocs de requête, sans écrire de wrappers ni de connecteurs
    • Si les données se trouvent dans une base de données, on peut écrire une requête SQL dans un bloc de requête pour récupérer les données nécessaires
    • Si les données se trouvent dans un fichier (CSV, XLSX, Parquet, etc.), il suffit de téléverser ce fichier et de l’interroger avec du SQL standard
    • Il est également possible d’interroger des dataframes avec du SQL standard via les blocs de requête
  • Dataframes automatiques
    • Tous les blocs de requête génèrent automatiquement un dataframe Pandas contenant les résultats de la requête
    • Cela permet de réutiliser ces données dans des blocs Python supplémentaires
    • Par défaut, le dataframe reçoit un nom comme query_1, mais il peut être renommé avec un libellé plus explicite
  • Assistant IA
    • Les blocs SQL et Python intègrent un assistant IA
    • Chaque fois qu’une aide est nécessaire, il suffit de cliquer sur « Modifier avec l’IA » et d’indiquer à l’assistant ce que l’on souhaite faire
    • L’assistant IA génère alors une proposition et affiche un diff que l’on peut tester, accepter ou refuser
    • Dans les blocs Python, l’assistant IA reconnaît les dataframes existants et leurs colonnes
    • Dans les blocs SQL, l’assistant IA connaît déjà les tables et colonnes de la base de données, ce qui lui permet de faire de meilleures propositions et d’aider à écrire correctement des requêtes complexes
    • À chaque erreur, on peut cliquer sur « Corriger avec l’IA » pour laisser l’assistant tenter une correction
  • Planification
    • Il est possible de programmer l’exécution d’un notebook à intervalles définis, par exemple toutes les heures, tous les jours, toutes les semaines ou tous les mois
    • Lors de la création d’une planification, on peut aussi configurer des notifications par e-mail ou via Slack en cas de succès ou d’échec. En cas d’exécution réussie, un fichier PDF contenant la sortie du notebook est également envoyé
  • Instantanés et gestion de versions
    • À chaque publication d’un notebook, son état est automatiquement enregistré, ce qui permet de suivre les changements dans le temps et, si nécessaire, de revenir à une version antérieure
    • Cela permet de suivre les modifications du notebook et de restaurer une version précédente en cas de problème
    • Chaque exécution planifiée réussie crée également un instantané de l’état du notebook à ce moment-là
    • Les instantanés sont utiles pour voir comment les résultats évoluent dans le temps ou pour comparer les sorties de différentes exécutions
  • Du notebook au tableau de bord
    • Il est possible de créer un tableau de bord à partir de la sortie d’un notebook
    • Cela permet de partager les résultats avec d’autres sans inclure de code ou d’explications inutiles, par exemple lorsqu’un important travail de data wrangling est nécessaire avant de tracer les graphiques
    • La vue tableau de bord est aussi utile pour construire des applications de données où les utilisateurs peuvent interagir avec des champs de saisie et des listes déroulantes, sans pour autant exposer le code interne

L’avis de GN⁺

  • Cette plateforme semble utile pour les travaux d’analyse et de visualisation de données au format notebook
  • Basée sur le cloud, elle permet la collaboration en temps réel et, grâce à une interface conviviale et à des fonctions d’organisation, améliore la lisibilité et facilite l’accès aux résultats d’analyse même pour des utilisateurs non techniques, ce qui peut accroître l’efficacité de la collaboration
  • Le fait que l’assistant IA aide à écrire des requêtes SQL et du code Python peut également améliorer la productivité des tâches d’analyse de données. Cela dit, la précision et l’utilité réelles des suggestions de l’IA devront être vérifiées à l’usage
  • Les fonctions de planification et de gestion de versions des notebooks paraissent utiles pour les analyses récurrentes ou le travail collaboratif. Toutefois, cela suppose une infrastructure stable pour fonctionner correctement
  • La possibilité de générer des tableaux de bord afin de partager facilement les résultats d’analyse avec des non-développeurs est aussi un atout. En revanche, on ne sait pas encore quel sera le degré de liberté offert pour la mise en page et le design des tableaux de bord
  • Parmi les plateformes similaires, on trouve Jupyter Notebook, Google Colab ou Deepnote. Il reste à voir quel avantage propre à Briefer permettra de se différencier, par exemple une plus grande simplicité d’usage ou des fonctions de collaboration plus poussées

1 commentaires

 
GN⁺ 2024-07-25
Avis Hacker News
  • Les chefs de produit essaient de faciliter le travail en configurant de simples formules Excel et des graphiques

    • Y compris des tâches comme la prise de captures d’écran
  • Les data engineers réalisent des tâches plus techniques à l’aide de solutions open source comme Superset et dbt

  • Les entreprises essaient souvent de construire elles-mêmes l’UI finale

    • Je me souviens que Pinterest avait open sourcé quelque chose dans ce domaine
  • Je comprends en profondeur à quel point il est difficile de créer des outils de type notebook

    • Il y a des problèmes de collaboration et d’UX
  • Il est difficile de proposer des fonctionnalités à cause des données elles-mêmes et d’un marché très concurrentiel

    • Je me souviens que Popsql n’a pas vraiment prospéré
  • Je félicite Lucas pour son travail, et je suggère d’ajouter un CLI, des connecteurs, du calcul symbolique, un support hors ligne et des namespaces chiffrés

    • Cela vous placerait devant les autres concurrents
    • Vous devez être occupé, mais contactez-moi si vous voulez en discuter
  • J’enseigne beaucoup Python et la data science (pandas, Polars, scikit learn, XGBoost, etc. dans Jupyter)

    • J’enseigne aussi les bonnes pratiques du software engineering
  • Je partage mon expérience selon laquelle la formation résout beaucoup de problèmes

    • Je l’ai encore vérifié récemment chez un client
  • Au lieu de se concentrer sur l’écriture de code adapté aux débutants, je pense qu’il faut écrire du code de niveau expert

    • Les débutants n’aimeront probablement pas ce code
  • Je reçois des critiques sur les réseaux sociaux, mais j’ai des retours positifs de mes étudiants et lecteurs

  • J’ai déjà construit des workflows utilisant des notebooks, des tâches cron et de la persistance d’état

    • Je suis heureux de voir une tentative de résoudre le problème dans son ensemble
  • Félicitations pour le lancement, mais je trouve que le chrome Mac Finder des années 90 dans le GIF de démonstration détourne l’attention

    • Je suggère de mieux organiser l’ensemble sur le plan visuel et sémantique
  • Le support de Python et des blocs de code est intéressant

    • Les notebooks Jupyter peuvent s’exécuter n’importe où
    • Je demande si cela est pris en charge via une installation locale ou en relayant la connexion vers une installation Python locale
    • Je demande si tout le code Python doit s’exécuter sur des serveurs cloud, ce qui empêcherait l’accès à des GPU haute performance
  • Félicitations pour le lancement, et je suis curieux de voir comment cela va évoluer par rapport à des outils existants comme Hex

  • Il est mentionné que cela pourrait aussi être vendu comme outil de collaboration en ligne pour des organisations non techniques

    • Beaucoup de gens veulent un outil plus pratique que Microsoft Access
  • Il est mentionné que cela pourrait être un outil utile pour construire un catalogue de requêtes interne et des tableaux de bord

    • Question sur le support d’un sélecteur dynamique de champs similaire aux « variables » de Grafana
  • Il est mentionné que le premier problème des notebooks est la difficulté du partage

    • Je partage des notebooks avec des PM via des liens GitHub