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 Démarrage Modes de déploiement

Modes de déploiement

Client-only (navigateur seul) ou full-stack (avec backend FastAPI) : ce que chaque mode permet.

En résumé

Linkr fonctionne selon deux modes. Le mode client-only (navigateur seul) couvre tout ce qui peut être fait sur des fichiers locaux ou des données déjà extraites : design de tableaux de bord, analyses statistiques, alignement de concepts, création de plugins. Le mode full-stack ajoute un backend Python qui débloque la connexion à un entrepôt de données de santé, l’authentification et les permissions, le versioning Git, et l’exécution du code côté serveur. Une seule variable, VITE_API_URL, décide du mode.

Une application, deux modes

Le code frontend — la partie de l’application qui s’exécute dans le navigateur, ce que l’on voit et avec quoi on interagit — est identique dans les deux modes. Ce qui change, c’est où ont lieu le stockage et les calculs : dans le navigateur, ou sur un backend, le serveur qui traite les requêtes et garde les données.

Client-only

Pour découvrir

Tout tourne dans le navigateur. Aucune installation serveur : il suffit d’ouvrir une page web. Idéal pour explorer Linkr et travailler seul·e sur des fichiers locaux.

DuckDB-WASMPyodidewebRIndexedDB

Full-stack

Pour l’équipe

Un backend Python s’ajoute au navigateur : connexion à l’entrepôt de données, comptes et permissions, versioning Git, exécution du code sur le serveur.

FastAPISQLite / PostgreSQLGit

Une seule variable décide du mode

Le mode n’est pas un réglage dans l’interface : il est fixé au moment où l’application est construite, par la variable VITE_API_URL. C’est la seule bascule — voir l’installation locale.

VITE_API_URL=(vide)→ client-only
VITE_API_URL=http://localhost:8000→ full-stack

Le mode client-only

Tout tourne dans le navigateur, grâce à des outils compilés pour le web :

SQL

DuckDB-WASM

Moteur SQL analytique compilé en WebAssembly.

Python

Pyodide

Distribution Python compilée pour le navigateur.

R

webR

R compilé en WebAssembly.

Stockage

IndexedDB + File System Access

Base de données embarquée dans le navigateur, et lecture de gros fichiers locaux sans les recopier.

Linkr est alors déployable comme un site statique sur n’importe quel hébergement (GitLab Pages, GitHub Pages, Netlify, etc.). La démo publique en est un exemple.

Ce que vous pouvez faire

  • Importer des fichiers locaux : CSV, Excel, Parquet, DuckDB.
  • Concevoir et tester des tableaux de bord et des widgets.
  • Faire de l’alignement de concepts (vocabulaires locaux vers SNOMED, LOINC, RxNorm…).
  • Lancer des analyses statistiques intégrées.
  • Écrire et exécuter du Python ou du R dans l’IDE, sur les données chargées.
  • Créer et tester des plugins d’analyse.
  • Sauvegarder son travail via l’export ZIP.

Ce qui demande le mode full-stack

  • Se connecter directement à un entrepôt hospitalier (PostgreSQL, SQL Server, Oracle…).
  • L’authentification, la gestion d’utilisateurs, de rôles et de permissions.
  • Le versioning Git sur un dépôt distant : pour partager, il reste l’export ZIP.
  • L’installation depuis le catalogue : le navigateur n’a pas de client git, le catalogue s’y parcourt mais ne s’y installe pas.
  • Les environnements gérés (uv, renv) et l’exécution sur le serveur.

Le mode full-stack

Ce mode ajoute un backend Python (FastAPI) qui prend en charge tout ce qui ne peut pas, par nature, vivre dans le navigateur :

Connexion aux entrepôts

Interroger directement une base DuckDB, PostgreSQL, SQL Server, Oracle, etc., sur site ou dans un cloud privé.

Authentification et permissions

Utilisateurs, organisations, rôles, avec des droits à trois niveaux : global, workspace, projet.

Stockage centralisé

Une base applicative (SQLite ou PostgreSQL) pour les métadonnées, un dossier de données pour les fichiers volumineux.

Versioning Git

Push, pull et branches sur des dépôts GitLab ou GitHub, intégrés à l'application.

Partage

Projets, plugins et données partagés entre les utilisateurs d'un même workspace.

Exécution serveur

Terminal, notebooks Python et R sur des processus persistants, environnements de paquets par projet, widgets exécutés côté serveur.

Catalogue communautaire

Installer et mettre à jour des contenus publiés (bases, projets, alignements) directement depuis l'application.

L’architecture frontend reste la même : le même code React, les mêmes pages. Une abstraction interne fait pointer les opérations soit vers DuckDB-WASM + IndexedDB (client-only), soit vers le backend FastAPI (full-stack).

Un mode récent, à éprouver

Le mode full-stack est fonctionnel de bout en bout : toutes les entités de Linkr (projets, bases, jeux de données, tableaux de bord, alignements, pipelines…) sont portées côté serveur, et un déploiement Docker complet est fourni. Il reste néanmoins jeune : il a été moins éprouvé en conditions réelles que le mode client-only. Pour un déploiement institutionnel, prévoyez une phase de test et des sauvegardes du dossier de données.

Quelles fonctionnalités dans quel mode ?

Fonctionnalité Client-only Full-stack
Données
Import de fichiers locaux (CSV, Excel, Parquet, DuckDB)
Connexion à un entrepôt (PostgreSQL, SQL Server, Oracle…) —
Qualité des données, pipelines ETL
Export / import ZIP
Analyse
Tableaux de bord et widgets
Analyses intégrées (Tableau descriptif, Constructeur de graphiques, Indicateur clé…)
Alignement de concepts
Cohort builder sur fichiers chargés directement sur l'entrepôt
Vue patient-level (trajectoires individuelles) sur fichiers chargés
Code
IDE Python / R Pyodide / webR, dans le navigateur processus serveur persistants
Terminal (Bash, Python, R) —
Environnements de paquets gérés (uv, renv) —
Création et test de plugins
Collaboration
Versioning Git (push / pull / branches sur un dépôt distant) —
Catalogue communautaire Parcourir seulement parcourir et installer
Authentification, utilisateurs, organisations, rôles —
Partage de projets, plugins et données entre utilisateurs —

Chaque page de documentation précise son périmètre via un badge Client et Backend placé sous le résumé.

Où vivent les données ?

C’est la différence la plus concrète entre les deux modes, et celle qui a le plus de conséquences pratiques.

Client-only

Dans votre navigateur

Tout est stocké dans IndexedDB, propre à ce navigateur et à ce profil. Rien ne part vers un serveur. Vider les données de site efface le contenu de Linkr — l’export ZIP est votre seule sauvegarde.

Full-stack

Sur le serveur

Les métadonnées vont dans la base applicative (SQLite ou PostgreSQL), les fichiers volumineux dans un dossier dédié (LINKR_DATA_DIR). C’est ce dossier que l’on sauvegarde, et que l’on retrouve depuis n’importe quel navigateur après connexion.

En mode serveur, le navigateur ne charge ni DuckDB-WASM ni IndexedDB : les requêtes SQL, les statistiques et le code partent au backend. C’est ce qui permet de travailler sur des volumes qu’un navigateur ne pourrait pas tenir.

Comment choisir ?

Vous voulez essayer Linkr sans rien installer — directement sur la démo en ligne.

Client-only

Vous concevez des tableaux de bord, faites des analyses ou de l’alignement de concepts, seul·e, sur des extractions.

Client-only

Vous devez interroger directement l’entrepôt de votre hôpital (PostgreSQL, SQL Server, Oracle…).

Full-stack

Vous travaillez à plusieurs, avec authentification, permissions et stockage partagé.

Full-stack

Vous avez besoin de versionner sur GitLab ou GitHub depuis l’application.

Full-stack

Pour aller plus loin

  • Démarrage rapide — essayer Linkr en ligne en deux minutes, sans rien installer.
  • Installation locale — lancer Linkr sur sa machine, dans l’un ou l’autre mode.
  • Votre premier projet — un parcours guidé de bout en bout.
PrécédentQu'est-ce que Linkr ?SuivantDémarrage rapide

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)