- Positron est un IDE de nouvelle génération dédié à la data science que Posit, l’éditeur de RStudio, développe actuellement
- Cet IDE prend en charge nativement R et Python et constitue une plateforme multilingue (polyglot) conçue pour les environnements de data science où plusieurs langages sont utilisés conjointement
- Sur le plan architectural, il repose sur Code OSS de VS Code, offrant un environnement familier et une grande extensibilité, tout en intégrant des fonctions spécialisées pour les data scientists comme les graphiques, variables, aide et explorateur de données
- Grâce au nouveau kernel R Ark et à la prise en charge de la grammaire R via Tree-sitter, il améliore nettement l’exécution du code, l’autocomplétion, le débogage et la navigation dans la documentation, avec même la possibilité de déboguer du code mixte R et C++
- RStudio reste maintenu et pris en charge de manière stable, mais Positron, grâce à son approche multilingue, son extensibilité et son architecture moderne, devrait à long terme devenir un environnement central pour le développement en data science
Présentation de Positron et pourquoi il est nécessaire
- IDE dédié à la data science, il offre une expérience adaptée aux tâches centrées sur l’analyse de données, contrairement aux IDE généralistes de développement logiciel
- Il privilégie une approche code-first plutôt qu’un outil basé sur une interface graphique, afin d’améliorer la productivité et la reproductibilité
- Il dépasse les limites des IDE existants (RStudio, Spyder, MATLAB, etc.), souvent centrés sur un seul langage, pour mieux correspondre aux workflows réels où plusieurs langages sont combinés
Principales caractéristiques
- Prise en charge multilingue : actuellement R et Python, avec une architecture permettant d’étendre le support à d’autres langages
- Interface familière et extensible : structure à 4 panneaux semblable à RStudio (source, console, variables, graphiques), avec l’extensibilité de VS Code
- Moteurs par langage (Language Packs) : Python et R fonctionnent comme des extensions indépendantes, ce qui préserve la stabilité de l’IDE et évite qu’un crash ne bloque l’ensemble de l’application
Ark pour la prise en charge de R
- Ark (An R Kernel) : nouveau kernel Jupyter pour R, offrant exécution du code, autocomplétion, diagnostics et débogage
- La prise en charge de la grammaire R via Tree-sitter a été développée spécialement et peut aussi être utilisée pour la recherche de code sur GitHub ou dans d’autres IDE (Zed, Neovim, etc.)
- Innovation dans le débogueur : possibilité d’entrer directement pas à pas du code R vers du code C++, maximisant l’efficacité du débogage pour le développement de packages basés sur Rcpp/cpp11
Fonctionnalités spécialisées pour la data science
- Explorateur de données (Data Explorer) : va au-delà d’une simple grille en proposant statistiques de synthèse, détection des valeurs manquantes, filtrage multiple et sparklines d’histogrammes
- Panneau des variables (Variables Pane) : exploration possible des noms de variables, types, aperçus et expansion des dictionnaires
- Panneau des graphiques (Plots Pane) : prend en charge l’accumulation et la comparaison de résultats visuels, ainsi que l’export dans divers formats (PNG, SVG, PDF, etc.)
- Panneau d’aide (Help Pane) : en saisissant
? après un nom de fonction, il est possible d’afficher immédiatement la documentation et des exemples, apportant aussi aux utilisateurs Python un avantage apprécié de RStudio
Base technique et architecture
- Contrairement à RStudio, il n’adopte pas une architecture monoprocessus, mais une architecture multicouche basée sur Code OSS de VS Code
- Utilisation de protocoles standard :
- exécution du code → Jupyter Protocol
- assistance au code (autocomplétion, vérification syntaxique) → Language Server Protocol
- débogage → Debug Adapter Protocol
- Cette standardisation permet l’interopérabilité avec divers environnements comme Jupyter Notebook ou Zed IDE
Communauté et extensibilité
- De nombreuses extensions compatibles VS Code sont disponibles via la place de marché Open VSX (à l’exception de GitHub Copilot)
- Les fonctionnalités peuvent être étendues via des extensions comme Quarto, Shiny ou les connexions à des bases de données
- Renforcement de la personnalisation utilisateur avec thème sombre, modification de la disposition, compatibilité avec les raccourcis RStudio, etc.
Relation avec RStudio
- RStudio continue d’être maintenu et pris en charge, avec comme points forts sa stabilité et sa maturité, et restera probablement utilisé par de nombreux utilisateurs pendant encore un certain temps
- Positron constitue une nouvelle option expérimentale et très extensible, qui trace à long terme une voie d’évolution pour les IDE de data science
Pour quels utilisateurs Positron est-il adapté ?
- Utilisateurs de VS Code : s’ils estiment que les fonctionnalités dédiées à la data science sont insuffisantes
- Utilisateurs de JupyterLab et des notebooks : s’ils souhaitent passer à un IDE plus puissant et plus complet
- Utilisateurs de RStudio : s’ils veulent renforcer la personnalisation et l’extensibilité de leur IDE
- Utilisateurs multilingues : s’ils exploitent, en plus de Python et R, Rust, C++, JavaScript, Lua, etc.
- Utilisateurs orientés IA : s’ils recherchent des fonctions d’intégration IA spécialisées pour la data science
Perspectives
- Une intégration avec Posit Workbench et Cloud est prévue, et des fonctions collaboratives (partage en temps réel, partage d’espace de travail) sont également à l’étude
- Le renforcement du support des données volumineuses, ainsi que l’intégration de DuckDB et Arrow, font partie des plans pour améliorer les capacités de traitement de données sur disque
- Grâce à ses atouts que sont le multilinguisme, l’extensibilité et l’usage de protocoles standard, Positron a de fortes chances de s’imposer comme le standard de prochaine génération des IDE de data science
Aucun commentaire pour le moment.