dash-b · Fonctionnalités · Connecter

Une seule voie d'entrée, quoi que vous soyez en train de connecter.

Une base de données que vous gérez, un fichier que vous déposez, un petit script sur votre propre serveur. Ce sont tous des entrées dans la même table, ils sont tous enregistrés de la même façon, et ajouter un nouveau type est une entrée plutôt qu'un nouvel écran.

Ce à quoi vous pouvez vous connecter aujourd'hui

Deux formes, et un fichier

Une base de données, en direct

PostgreSQL, MySQL ou MongoDB. Hôte, port, base de données, utilisateur, mot de passe, TLS activé par défaut. Lecture seule — rien de ce que fait dash-b ne peut écrire dans vos données de production.

Un connecteur sur votre propre serveur

Un seul fichier PHP que vous téléchargez à côté de la base de données. dash-b reçoit une adresse et un secret de signature, et rien d'autre : ni hôte, ni nom d'utilisateur, ni mot de passe. C'est la seule source qui peut écrire, et c'est exactement pourquoi.

Un fichier

Déposez une feuille de calcul ou un CSV sur le tableau et elle devient une vraie table, dont les colonnes sont lues dans le fichier plutôt que devinées par vous. Aucun enregistrement, aucun identifiant, rien à configurer.

Ce qu'il advient d'un mot de passe

Un secret ne vous est jamais montré en retour

Une fois un identifiant stocké, le formulaire qui l'a stocké ne peut plus le représenter. Ce n'est pas un paramètre — c'est un morceau de code distinct de celui qui remplit les formulaires avec les valeurs sauvegardées, séparé à dessein, pour que « afficher la valeur stockée » ne soit pas à un drapeau d'écrire un mot de passe de base de données dans une page qui peut être capturée d'écran, partagée en visioconférence ou lue dans le DOM.

Le connecteur existe pour que le secret le plus fort que vous possédiez ne quitte jamais votre propre serveur.

Vos identifiants de base de données restent dans un fichier de configuration sur la machine qui les avait déjà. dash-b détient une adresse et une signature, et ni l'une ni l'autre n'ouvre votre base de données à quiconque d'autre.

Se connecter à autre chose

Pourquoi il n'y a pas de champ de connexion ici

Connecter un compte — par opposition à une base de données — signifie la page de connexion propre au fournisseur, dans une fenêtre à part, et un courtier qui détient le secret de l'application pour que dash-b ne le détienne jamais et ne voie jamais votre mot de passe.

Cela ne se fait pas à l'intérieur de la page, et ce n'est pas une préférence. Google et Facebook refusent tous deux d'être encadrés, délibérément : un formulaire de connexion affiché dans le document de quelqu'un d'autre est indiscernable d'une page de phishing, et en construire un livrerait un rectangle vide.

Le catalogue est construit pour elles et le mécanisme est en place ; les connexions elles-mêmes ne sont pas encore ouvertes, si bien que le designer ne vous offrira pas un bouton qui échoue après votre choix. Quand elles s'ouvriront, elles arriveront comme des entrées dans la même table que tout ce qui précède.

Deux choses fixées par des tests

Les vérifications qui n'ont pas le droit de régresser

  • Aucun secret n'est rendu en retour. Un test place un marqueur dans chaque champ de chaque fournisseur puis cherche ce marqueur dans la page rendue.
  • Une réponse de connexion n'est crue que lorsque tout la valide — son origine, sa forme, la valeur à usage unique qu'elle doit porter et son ancienneté — et tout cela est vérifié avant d'en lire le moindre champ. Une seule connexion est en cours à la fois, si bien qu'une ancienne ne peut pas recevoir de réponse d'un message ultérieur.

Les deux existent parce que la défaillance qu'ils préviennent est silencieuse : le premier ferait fuiter un mot de passe dans une capture d'écran, et le second permettrait à un lien de connecter le compte de quelqu'un d'autre au vôtre.

Être connecté n'en est que la moitié.

Une tuile peut lire ce que vous connectez. Avec un connecteur, une tuile peut aussi y écrire — un bouton sur le tableau qui ajoute une ligne à votre propre base de données.