.NET

Outil de configuration OmniDB

Remarque : l’utilitaire en ligne de commande autonome omnidb-config/ omnidb-config-app/omnidb-config-server décrit sur cette page appartenait à l’ancienne version basée sur Python/Django et ne fait pas partie de la version actuelle. Le binaire unique omnidb-server n’accepte qu’une poignée d’options en ligne de commande : -A/--app (mode application de bureau), -H/--host (adresse d’écoute), -p/--port (port d’écoute), -d/--homedir (choisir le répertoire personnel) et --set-password (définir le mot de passe d’un utilisateur, voir ci-dessous) — toutes décrites dans la section Options en ligne de commande du chapitre Déployer omnidb-server. Il n’existe aucun fichier de configuration. Les tâches de maintenance que proposait l’ancien outil peuvent toujours être effectuées manuellement, comme décrit ci-dessous.

Répertoire personnel

OmniDB stocke tout — la base de données omnidb.db (utilisateurs, connexions et autres données de l’application) et un dossier temp pour les fichiers exportés — dans un unique répertoire personnel. Par défaut, il s’agit de ~/.omnidb/omnidb-app (mode bureau) ou ~/.omnidb/omnidb-server (mode serveur) ; indiquez -d /un/chemin pour en utiliser un autre (le répertoire doit déjà exister). Si le système d’exploitation ne propose aucun magasin de secrets pour la clé de chiffrement des mots de passe enregistrés, ce même répertoire contient aussi cette clé, dans le fichier .connection_secret_key — voir Sécurité et serveur multi-utilisateur. Lorsque vous sauvegardez ou déplacez omnidb.db, emportez aussi ce fichier.

Créer un utilisateur

Il n’existe actuellement aucune option en ligne de commande pour créer un utilisateur sans ouvrir OmniDB. Lors de la première exécution sur un répertoire personnel vide, OmniDB crée automatiquement un superutilisateur par défaut admin — en mode serveur, avec un mot de passe aléatoire affiché une seule fois dans la sortie de journal du serveur (la ligne contenant initial login: admin / …). Connectez-vous avec celui-ci et créez d’autres utilisateurs sous Paramètres > Compte > Gérer les utilisateurs, ou changez le mot de passe sous Paramètres > Mot de passe.

Définir ou réinitialiser un mot de passe

Si le mot de passe initial à usage unique de admin a été perdu (ou si vous voulez définir le vôtre avant la première connexion), vous pouvez définir le mot de passe de n’importe quel utilisateur existant directement dans la base de données de l’application, sans démarrer le serveur :

user@machine:~$ omnidb-server --set-password admin
user@machine:~$ omnidb-server --set-password admin -d /path/to/homedir

Sans -d, c’est le répertoire personnel par défaut du serveur (~/.omnidb/omnidb-server) qui est utilisé. Dans un terminal, le nouveau mot de passe est demandé deux fois, sans être affiché ; sinon, il est lu depuis la première ligne de l’entrée standard, ce qui est pratique dans les scripts :

user@machine:~$ printf '%s\n' "$PW" | omnidb-server --set-password admin

Le mot de passe n’est jamais passé en argument de ligne de commande, il n’apparaît donc ni dans la sortie de ps ni dans l’historique du shell. Il doit comporter au moins 8 caractères, et l’utilisateur doit déjà exister. L’option est refusée avec -A : l’application de bureau se connecte automatiquement et n’a aucun mot de passe à gérer. Elle peut aussi être lancée pendant que le serveur tourne : le nouveau mot de passe est valable immédiatement pour les nouvelles connexions, tandis que les utilisateurs déjà connectés le restent jusqu’à l’expiration de leur session ou au redémarrage du serveur.

Purge (Vacuum)

OmniDB possède une seule base de données SQLite, omnidb.db, qui stocke tous les utilisateurs, connexions et autres données liées à OmniDB. Comme il s’agit d’un simple fichier SQLite, vous pouvez le purger avec n’importe quel client SQLite pendant qu’OmniDB n’est pas en cours d’exécution, par exemple :

user@machine:~$ sqlite3 ~/.omnidb/omnidb-app/omnidb.db 'VACUUM;'

Réinitialiser la base de données

Si vous souhaitez effacer toutes les informations d’OmniDB et obtenir une base de données propre, comme si elle venait d’être installée, quittez OmniDB et supprimez (ou déplacez ailleurs) le fichier omnidb.db du répertoire personnel. Un nouveau fichier vide — avec un nouvel utilisateur par défaut admin (en mode serveur, avec un nouveau mot de passe à usage unique affiché dans le journal) — est créé automatiquement au prochain démarrage d’OmniDB. Utilisez cette opération avec prudence : elle est irréversible.

Supprimer les fichiers temporaires

Les résultats de requêtes exportés (CSV/XLSX/etc.) sont écrits dans le dossier temp du répertoire personnel. Il est possible de supprimer son contenu manuellement à tout moment pendant qu’OmniDB n’est pas en cours d’exécution ; OmniDB le recrée si nécessaire.