Linkr
Accueil Ressources Outils Documentation Blog Démo
EN
  • Qu'est-ce que Linkr ?
  • Modes de déploiement
  • Démarrage rapide
  • Installation locale
  • Avec Docker
  • Installation manuelle
  • Client-only
  • Votre premier projet
  • Espaces de travail et projets
  • Le pipeline de données
  • Entités et partage
  • Versioning et collaboration
  • Vue d'ensemble
  • Projets
  • Wiki
  • Plugins
  • Membres et rôles
  • Paramètres
  • Schémas
  • Bases de données
  • Sous-bases dérivées
  • Qualité des données
  • Catalogue de données
  • Collections de scripts SQL
  • Pipelines ETL
  • Présentation
  • Projets d'alignement
  • Vue d'ensemble
  • Concepts cibles
  • Éditeur d'alignements
  • Suggestions
  • Évaluation
  • Export
  • Vue d'ensemble
  • Concepts
  • Cohortes
  • Données individuelles
  • Pipeline
  • Jeux de données
  • IDE
  • Applications web
  • Versioning
  • Vue d'ensemble
  • Onglets et widgets
  • Widgets intégrés
  • Widgets d'analyse
  • Cartes de contrôle (SPC)
  • Questionnaires et eCRF
  • Code R et Python
  • Filtres, paramètres et export
  • Vue d'ensemble
  • Mode présentation
  • Exporter un rapport
  • Agents
  • Fournisseurs de modèles
  • Skills
  • Créer du contenu via MCP
  • Import et export
  • Versioning git
  • Catalogue communautaire
  • Publier du contenu
  • Installation en production
  • Configuration
  • Authentification et permissions
  • Fichiers sur le serveur
  • Sauvegarde et restauration
  • Glossaire
  • Raccourcis clavier
  • Notes de version
Documentation Tableaux de bord Code R et Python

Code R et Python

Écrire son propre code R ou Python dans un widget pour produire une sortie sur mesure.

En résumé

Quand aucun widget intégré ne convient, écrivez votre propre code R ou Python directement dans un widget. Le code reçoit votre jeu de données filtré dans une variable dataset, et sa sortie peut être un graphique, une table, une valeur ou du HTML.

Client Disponible en mode client-only — tout fonctionne dans le navigateur, sans backend. Backend Backend (FastAPI) en cours de développement.

Pourquoi un widget de code

Les plugins du catalogue couvrent les analyses courantes, mais vous aurez parfois besoin d’un calcul spécifique : une transformation maison, un graphique avec une bibliothèque précise, un indicateur composite. En choisissant l’onglet Code personnalisé dans la boîte de dialogue Ajouter un widget, vous écrivez exactement ce que vous voulez, sans quitter le tableau de bord.

demo.linkr.interhop.org
Code Python perso.
table_agregee.csv
Code Exécuter
1import matplotlib.pyplot as plt
2
3ax = dataset["age"].hist(bins=20)
4ax.set_xlabel("Âge")
5plt.show()
Aperçu : 358 × 230 px24 × 12 cellules

Âge

Un widget de code : l'éditeur à gauche (Python ou R), l'aperçu du résultat à droite.

Choisir le langage

Dans l’onglet Code personnalisé, choisissez Python ou R. Le langage le plus adapté dépend de votre habitude et de la tâche :

  • Python s’appuie sur l’écosystème pandas / matplotlib pour la manipulation et la visualisation.
  • R convient aux analyses statistiques et aux graphiques ggplot2 / base R.

Pourquoi pas SQL ?

Les widgets de code proposent Python et R, mais pas SQL. Un widget travaille sur un dataset — un fichier, pas une connexion à une base — et une requête SQL n’aurait rien à interroger. Pour du SQL, adressez-vous à la base elle-même depuis les collections de scripts SQL.

Où s'exécute le code

En mode client (sans backend), le code s’exécute dans votre navigateur grâce à des portages WebAssembly : Pyodide pour Python et WebR pour R. Vos données ne quittent pas la machine. Le premier lancement charge l’environnement (quelques secondes) ; les exécutions suivantes sont plus rapides.

En mode serveur, le code s’exécute sur le serveur : c’est lui qui lit le dataset et applique les filtres du tableau de bord, si bien qu’aucune ligne de données n’est envoyée au navigateur. Chaque widget tourne dans son propre processus, donc les widgets d’un même onglet s’exécutent en parallèle. Voyez les modes de déploiement.

Accéder aux données

Votre code reçoit automatiquement le jeu de données du widget, déjà filtré par les filtres actifs du tableau de bord :

  • En Python, la variable dataset est un DataFrame pandas. Les colonnes portent leurs noms lisibles (par ex. dataset["age"]).
  • En R, la variable dataset est un data.frame avec les mêmes colonnes.

Vous n’avez donc qu’à lire dataset et produire votre sortie.

import matplotlib.pyplot as plt

ax = dataset["age"].hist(bins=20)
ax.set_xlabel("Âge")
ax.set_ylabel("Effectif")
plt.show()
library(ggplot2)

ggplot(dataset, aes(x = age)) +
  geom_histogram(bins = 20) +
  labs(x = "Âge", y = "Effectif")

Les filtres s'appliquent avant votre code

Le dataset que reçoit votre code contient déjà le résultat des filtres du tableau de bord. Quand l’utilisateur change un filtre, le widget de code se ré-exécute sur les nouvelles lignes — votre code n’a rien de spécial à faire.

Types de sortie

Le widget affiche ce que votre code produit :

Graphique

Une figure matplotlib / ggplot / base R, rendue en image nette (vectorielle quand c’est possible).

Table

Un DataFrame ou data.frame affiché sous forme de tableau.

Valeur

Un nombre ou un texte imprimé — utile pour un indicateur simple.

HTML

Du HTML brut, pour un rendu personnalisé directement dans le widget.

En cas d’erreur, la sortie standard et les messages d’erreur (stdout / stderr) s’affichent dans le widget pour vous aider à corriger.

Code ponctuel ou plugin réutilisable ?

Un widget de code est idéal pour une analyse ponctuelle, propre à un tableau de bord. S’il se trouve que vous avez besoin du même code d’un projet à l’autre, mieux vaut l’empaqueter en plugin : il devient configurable, partageable et apparaît dans le catalogue. Voir Créer un plugin.

PrécédentQuestionnaires et eCRFSuivantFiltres, paramètres et export

Produit

  • Accueil
  • Démo

Ressources

  • Documentation
  • Ressources
  • Outils
  • Blog

Communauté

  • Code source Framagit
  • Code source Github

À propos

  • InterHop.org
  • Contact

2021–2026 InterHop — CC BY-NC-SA 4.0 (site) · GPLv3 (logiciel)