Manuel · 10

Instances distantes & headless

Une IllusionDB locale peut travailler directement sur une autre instance – en général votre serveur en ligne. L’interface provient toujours de l’installation locale, mais chaque modification de données arrive immédiatement sur le serveur. Le serveur n’a alors plus besoin de sa propre interface web : son interface d’administration peut être désactivée, de sorte que seule l’API REST continue de tourner comme service headless.

Configurer une connexion

  1. Sur le serveur : dans Paramètres → Mon compte, créez un jeton d’API pour un compte administrateur et copiez-le.
  2. En local : Paramètres → Instances distantes → Nouvelle connexion. Saisissez un nom, l’adresse (p. ex. https://db.example.com) et le jeton. Le jeton est stocké chiffré et n’est plus jamais affiché.
  3. Dans la colonne État, IllusionDB vérifie immédiatement si le serveur est joignable, si le jeton est valide et appartient à un administrateur, et si les deux côtés ont la même version.

Seul un administrateur peut créer et utiliser des connexions distantes.

Basculer entre les instances

Le sélecteur se trouve en haut de la barre latérale : Local ou l’une de vos connexions. Lorsqu’une connexion est active, le sélecteur devient jaune avec la mention LIVE et un bandeau s’affiche au-dessus de chaque page – chaque modification s’applique immédiatement sur le serveur. Il devient rouge si le serveur est injoignable ou utilise une autre version ; mettez alors les deux côtés à la même version.

En mode direct, tout provient du serveur : sources de données, tables, vues, fichiers, scripts, utilisateurs, groupes et permissions. Seuls votre propre connexion, votre compte (mot de passe, vos propres jetons d’API) et la gestion des connexions distantes restent en local. Sur le serveur, vous agissez avec les droits du compte auquel appartient le jeton.

Désactiver l’interface d’administration (headless)

Dans Paramètres → Instances distantes → Interface d’administration, vous pouvez désactiver l’interface web de l’instance sur laquelle vous travaillez – en mode direct, celle du serveur. Ensuite :

  • plus d’interface web, plus de connexion, plus d’assistant de configuration – il n’existe plus de page de connexion contre laquelle tester des mots de passe ;
  • les sessions de navigateur en cours se terminent immédiatement ;
  • l’API REST avec jetons d’API, les points de terminaison de scripts, les tables en lecture publique et /healthz continuent de fonctionner sans changement.

La désactivation n’est possible que si un jeton d’API d’un compte administrateur existe sur cette instance (ou si un MASTER_TOKEN est défini) – sinon plus personne ne pourrait y accéder. Vous pouvez la réactiver à tout moment en local via la connexion : choisissez le serveur dans le sélecteur, puis Paramètres → Instances distantes → Activer l’interface d’administration.

Recours d’urgence et variables d’environnement

Variable / commande Effet
HEADLESS=true Désactive l’interface d’administration de manière fixe, indépendamment du paramètre. Non modifiable depuis l’interface.
MASTER_TOKEN=<au moins 32 caractères> Jeton administrateur supplémentaire provenant uniquement de l’environnement, sans entrée en base. Le chemin de retour si tous les jetons d’API ont disparu : le définir, redémarrer, se connecter en local, réactiver l’interface. À générer p. ex. avec openssl rand -base64 32.
illusiondb -enable-admin Réactive l’interface directement sur le serveur puis se termine ; redémarrez ensuite IllusionDB normalement. Dans le conteneur Docker : docker compose exec illusiondb /app/illusiondb -enable-admin, puis redémarrez le conteneur.