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
  • Installer LibreChat
  • Votre premier projet
  • Linkr dans un EDS
  • 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
  • Obtenir et explorer
  • Mapping
  • Bases de données
  • Sous-bases dérivées
  • Qualité des données
  • Catalogue de données
  • Construire et publier
  • Anonymiser
  • Collections de scripts SQL
  • Pipelines ETL
  • Construire et exécuter
  • Générer les scripts
  • Présentation
  • Projets d'alignement
  • Vue d'ensemble
  • Concepts cibles
  • Éditeur d'alignements
  • Suggestions
  • Agent IA
  • Évaluation
  • Export
  • Vue d'ensemble
  • Bases de données
  • Concepts
  • Cohortes
  • Construire
  • Résultats, SQL et rapport
  • 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
  • Serveur MCP
  • Skills
  • Import et export
  • Versioning git
  • Catalogue communautaire
  • Publier du contenu
  • Installation en production
  • Configuration
  • Connecteurs de bases de données
  • Authentification et permissions
  • Fichiers sur le serveur
  • Sauvegarde et restauration
  • Contribuer au code
  • Glossaire
  • Raccourcis clavier
  • Notes de version
Documentation Administration Connecteurs de bases de données

Connecteurs de bases de données

Ce qu'il faut installer sur le serveur pour se connecter à PostgreSQL, MySQL ou Apache Doris, et comment le préparer sur un serveur sans accès à internet.

En résumé

Pour joindre une base distante, le serveur Linkr s’appuie sur des extensions DuckDB, et pour Apache Doris sur un pilote Python optionnel. L’image Docker contient tout. En installation manuelle, les extensions se téléchargent à la première connexion : sur un serveur sans accès à internet, il faut les installer avant, avec une commande.

Client Non disponible en mode client-only — cette fonctionnalité nécessite un backend. Backend Disponible avec le backend FastAPI.

Ce que demande chaque connecteur

DuckDB est le moteur de requêtes de Linkr. Il se connecte aux autres bases par des extensions — de petits modules qu’il télécharge la première fois qu’il en a besoin, puis garde dans le dossier de données.

MoteurCe qu’il faut sur le serveurImage DockerPorts à ouvrir vers la base
DuckDB, dossier de Parquetrien✓—
SQLiteextension sqlite✓—
PostgreSQLextension postgres✓5432 par défaut
MySQLextension mysql✓3306 par défaut
Apache Dorisextension mysql, et l’extra Python doris pour les gros résultats✓9030 (port de requête du FE) ; 8070 (Arrow Flight SQL) et les BE pour les gros résultats

Les fichiers Excel (.xlsx) importés en mode serveur passent aussi par une extension, excel.

L'extra « postgres » ne sert pas à se connecter à PostgreSQL

L’installation manuelle propose apps/api[dev,postgres]. Cet extra sert à ranger la base applicative de Linkr dans PostgreSQL (voir Configuration). Pour interroger un entrepôt PostgreSQL, il ne faut que l’extension DuckDB postgres.

Avec Docker

Rien à faire : l’image embarque les extensions et le pilote Doris, précisément pour fonctionner sans accès à internet. Il reste à ouvrir, depuis le conteneur de l’API, les ports de la base à joindre.

En installation manuelle

Les extensions DuckDB, sans accès à internet

Sur une machine connectée, la première connexion à une base télécharge l’extension depuis extensions.duckdb.org et personne ne s’en aperçoit. Sur un serveur coupé d’internet — un espace projet d’entrepôt de santé, par exemple — cette première connexion échoue sur une erreur de téléchargement.

Installez-les donc une fois, depuis la racine du dépôt, après avoir installé le backend :

npm run duckdb:extensions

Elles sont rangées dans le dossier de données (LINKR_DATA_DIR, sous _duckdb_ext), là où Linkr les cherche. Si le serveur n’a aucun accès à extensions.duckdb.org, deux solutions :

  • Un miroir : si votre établissement dispose d’un dépôt de type Nexus ou Artifactory, il peut relayer http://extensions.duckdb.org. Indiquez son adresse :

    npm run duckdb:extensions -- --repository https://nexus.exemple.fr/repository/duckdb-extensions
  • Une copie : lancez la commande sur une machine connectée, avec le même système et la même version de DuckDB que le serveur, puis copiez son dossier _duckdb_ext dans le dossier de données du serveur.

Le pilote Arrow Flight SQL pour Apache Doris

Linkr se connecte à Doris par le protocole MySQL, qui suffit pour les comptages et les statistiques. Les résultats volumineux — une extraction de plusieurs millions de lignes — sont en revanche beaucoup plus rapides par Arrow Flight SQL, un protocole conçu pour transférer des données en masse. Il demande un pilote Python, l’extra doris :

pip install -e "apps/api[dev,doris]"

Sans lui, tout fonctionne, mais lentement pour les gros résultats, et la page de la base l’indique : « Le serveur Linkr ne peut pas utiliser Arrow Flight SQL (son extra « doris » n’est pas installé)… ». Arrow Flight SQL demande aussi que le port arrow_flight_sql_port du FE (8070 par défaut) et chaque BE soient joignables depuis le serveur Linkr.

Les extras se combinent : apps/api[dev,postgres,doris].

Pour aller plus loin

  • Bases de données — ajouter une base et configurer sa connexion.
  • Installation manuelle — installer le backend avant les connecteurs.
  • Configuration — les autres réglages d’un serveur en réseau fermé, dont les dépôts de packages.
PrécédentConfigurationSuivantAuthentification et permissions

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) · AGPLv3 (logiciel)