[Dato] Store all kinds of data with an extremely customizable interface

, ,

Dato for YunoHost

Integration level
Install dato with YunoHost

Overview

Dato is an application that make it easy to generate and modify any type of database entries with a nice UI/UX.

With it, you can create and handle any amount of databases, choose and setup what type of entries to put in them and customize yourself the UI that will let you edit databases entries.

You can think of dato as an app that can replace: address book apps, todo list apps, table sheets to store lists of things… because it’s flexible enough to do all these the way you want it to be done.

The purpose of dato is not to propose a UI specific to some purpose, but something as customizable as possible, so that you can in a few minutes setup any kind of database. However, if you want a more specialized interface to improve the UX for your needs, you can create plugins to extend the default general functionalities.

Dato is a progressive webapp, which means that you can install it from the browser in computer and phones, and use it offline.

Shipped version: 1.5.11

Screenshots

Demo

Official demo

Install dato on YunoHost:

$ yunohost app install dato

Note

I developed this app myself, so any feedback and critique are very welcome. The app’s logic is still a bit complex to get started with, and would definitely benefit from having a little video tutorial, but I didn’t yet have time to create one. But there is an in-app step by step guide.

If you have any issue with the yunohost package, you’re welcome to report them here, and with the app itself you’re even more welcome here. Even direct complaints and requests for improvements :slight_smile:

For more info, you can also check the package readme or directly the documentation of dato itself.

Pour plus d’infos en français c’est ici.

1 Like

Please note that, until the yunohost catalog is updated, the app is shown as Level 1 in the catalog. But installing it will still give you the latest version, which is Level 7, as displayed here and on the github page.


Edit: The issue should be solved, and the app should now be displayed as level 7 in the catalog as well :slight_smile:

2 Likes

Merci beaucoup pour cette app que je découvre. Elle peut rendre de grands services me semble-t-il !

Proposes-tu quelque part une démo avec des “projets” concrets, de façon à découvrir l’étendue des possibilités sans le faire soi-même à tâtons ?

Merci.

Bonjour @jln,
Désolé du délai de réponse un peu long :wink:
Oui effectivement avoir quelques vidéos d’exemple et de tutorial est une chose que je souhaite faire depuis longtemps, mais je n’ai pas encore trouvé le temps.
Je vais essayer de m’y mettre ces jours-ci, si j’arrive à trouver un moment pour ça.
Je met un post ici quand c’est fait. En attendant je suis disponible aussi si tu as des questions ou pour te guider, en messages directs par exemple, ou même en s’appelant si tu le souhaites.

Merci beaucoup pour ta réponse :slight_smile:
Je pense que des captures d’écran seraient déjà un grand “plus”, notamment pour voir ce qu’il est possible de faire en matière de personnalisation de l’affichage des types.

Je vais farfouiller encore un peu par moi-même et saurai revenir vers toi en message direct en cas de question :wink:

Merci encore !

[fr]
Alors… je me suis mis au travail pour faire les tutoriels et présentations de dato.
Les vidéos de tutoriel sont encore en cours, mais voila déjà une petite vidéo de présentation des possibles. Je publierai rapidement aussi les configurations et types correspondant à cette démo (@jln, si tu le souhaites je peux en attendant te les envoyer par mail ou autre).

[en]
As requested, I started working on some demo and tutorial videos to present how to use dato.
Here is a first demo video of the functionalities of the app. More tutorials and examples to be coming soon.

1 Like

Merci pour cette vidéo qui donne à voir des fonctionnalités très intéressantes ! Et merci également pour la proposition d’envoi des configs. Si je trouve le temps de m’y pencher, je t’écrirai pour les récupérer :slight_smile:

Ceci dit, j’ai tenté d’installer l’app, et ça a échoué. Les logs ne sont pas très causants…

2021-09-03 17:02:47,237: DEBUG - + ynh_exit_properly
2021-09-03 17:02:47,237: DEBUG - + local exit_code=3
2021-09-03 17:02:47,237: DEBUG - + rm -rf /var/cache/yunohost/download/
2021-09-03 17:02:47,238: DEBUG - + '[' 3 -eq 0 ']'
2021-09-03 17:02:47,238: DEBUG - + trap '' EXIT
2021-09-03 17:02:47,238: DEBUG - + set +o errexit
2021-09-03 17:02:47,239: DEBUG - + set +o nounset
2021-09-03 17:02:47,239: DEBUG - + sleep 0.5
2021-09-03 17:02:47,740: DEBUG - + type -t ynh_clean_setup
2021-09-03 17:02:47,740: DEBUG - + ynh_clean_setup
2021-09-03 17:02:47,740: DEBUG - + ynh_clean_check_starting
2021-09-03 17:02:47,741: DEBUG - + '[' -n '' ']'
2021-09-03 17:02:47,741: DEBUG - + '[' -n '' ']'
2021-09-03 17:02:47,741: DEBUG - + exit 1
2021-09-03 17:02:48,742: ERROR - Impossible d’installer dato : Une erreur est survenue dans le script d’installation de l’application

Bonjour @jln,
C’est étonnant que tu n’arrives pas à installer l’application. Ce serait super si tu arrives à avoir plus de logs, ou si tu peux donner des détails de ta configuration serveur. Le mieux serait de poster une “issue” sur le “repository” github du paquet dato yunohost, comme ça peut-être aussi d’autre personne pourront te conseiller (d’autant plus que ces jours-ci je ne peux pas faire grand chose parce que je n’ai pas accès mon ordinateur pour investiguer le problème).

Cela dit, en attendant la résolution du problème, tu peux utiliser publicdato.eauchat.org, puisque tout ce que tu y fais se passe en local sur ton ordi (le navigateur ne contacte le serveur que pour vérifier si il y’a une mise à jour de l’application).
Et pour être sur de ne pas perdre tes données, tu peux mettre en place manuellement la synchronisation automatique de chaque base de données, vers le serveur de ton choix. Il te suffit par exemple d’installer un serveur couchdb sur ton yunohost.

Mais j’essaye de poster plus de tutoriels et documentation prochainement.

Bonjour !

Je vais poster une issue prochainement :slight_smile:

En attendant, j’ai testé ce que tu suggères. J’ai installé sans problème CouchDB sur mon serveur. Je fais désormais face à deux difficultés :

  • la première est que je perçois mal la différence entre le fait de renseigner l’adresse du serveur CouchDB depuis la page “databases” après un clic sur “edit home databases settings”, et la renseigner depuis la page d’une database particulière, après avoir cliqué sur “edit this database settings”. Ce qui est certain, c’est qui si je me contente de la deuxième “voie”, alors j’ai le message “The database haven’t been set to synchronize with any remote database” qui apparaît lorsque je tente de lancer la synchro. J’ai l’impression qu’il me faut renseigner l’adresse sur les deux pages de configuration pour que la synchro soit effective ;
  • la seconde est plus handicapante, car je ne sais pas comment renseigner l’utilisateur et le mot de passe CouchDB.

Merci :slight_smile:

Edit : je m’auto-réponds. Faut renseigner l’utilisateur et mot de passe sous la forme “classique” https://user:mot_de_passe@serveur.tld/nom_bdd/
Faut penser, dans les réglages de CouchDB, à activer les “CORS” (je découvre…) et à ajouter un utilisateur ayant les droits sur la base.

Donc oui, pour élaborer un peu sur ton auto-réponse, voilà quelques explications.
L’aspect synchronisation n’est pas évident à comprendre, il faudrait le simplifier, et c’est pour ça qu’en installant dato sur ton serveur tu peux choisir que ça se fasse automatiquement, ce qui simplifie pas mal les choses.
L’avantage du manuel est que c’est plus configurable dans les détails, mais c’est inutilement compliqué donc il faut que je travaille dessus.

D’après ton auto-réponse, tu as peut-être déjà compris le principe, mais j’avais écrit les explications qui suivent hier matin et pas pu les envoyer. Je les laisse au cas où sa clarifie un peu plus.

Donc la première chose à comprendre c’est que pour chaque base de donnée que tu crée dans dato et veut synchroniser, tu dois créer une base de donnée dans couchdb. Puis, tu dois rajouter son url dans l’entrée créée dans dato. (L’url à entrer sera quelque-chose comme https://toncouchdb.tld/nomdeladatabase.)

Si la base de donnée créée sur couchdb n’est pas publique, il faudra que dans dato, tu renseigne le nom d’un utilisateur de ton serveur couchdb autorisé à accéder à cette base de donnée.

Le plus simple pour gérer couchdb est sans doute d’utiliser fauxton, l’interface graphique qui est accessible à https://toncouchdb.tld/_utils (si je me souviens bien).
Dans les options des bases de données, sur fauxton, tu peux choisir quels utilisateurs sont autorisés à y accéder.
Il faudra donc créer un utilisateur dans couchdb, tu peux jeter un œil dans leur doc pour voir comment faire, mais en gros il faut rajouter une entrée à la base de donnée _users.
Alternativement, tu peux utiliser le compte admin de couchdb pour synchroniser dans dato, ça devrait marcher, mais c’est pas idéal sans doute.

Une autre chose à faire sera de créer une base de donnée en plus dans couchdb pour synchroniser la base de donnée principale de dato (qui est au final une base de donnée comme une autre, sauf qu’elle contient les configurations de databases, types…). C’est l’url de cette base de donnée que tu dois renseigner quand tu clique sur “edit home database settings”.

Voilà, tout ça est automatisé par dato si tu l’installe et le relie à couchdb, donc c’est plus pratique. À voir donc pourquoi l’installation ne fonctionnait pas pour toi.

Une remarque par rapport à comment tu as renseigné le mot de passe dans l’url. Je te déconseille de le faire comme ça parce que ton login et mot de passe seront stockés dans la base de donnée principale de dato celle pour laquelle tu choisis la synchronisation dans “edit home database settings”. L’option un peu mieux et de ne pas renseigner le mot de passe et utilisateur dans la configuration de ta base de donnée, puis quand tu ouvres la base de donnée cliquer sur l’icône de synchronisation (vers le haut à droite), et débloquer la synchronisation en entrant ton login. Tu peux choisir là de devoir entrer manuellement le login à chaque fois ou que le navigateur s’en souvienne et synchronise automatiquement.

J’espère que ces explications et clarifications sont à peu près compréhensibles :wink:
Je reste dispo si t’as des questions/problèmes.

Un grand merci pour tes explications très claires :slight_smile: J’étais arrivé à comprendre ce fonctionnement par moi-même mais c’est toujours mieux de voir les choses ainsi formalisée, et ton texte servira à d’autres :+1:

L’installation de dato a finalement fonctionné (je ne sais pas trop pourquoi. Je crois que le seul truc que j’ai modifié, c’était le mot de passe admin de CouchDB, dont j’ai viré les caractères spéciaux. Mais ça nécessitera des investigations), en revanche, en activant l’autosync, je ne parviens pas à grand chose car l’accès à la page /users/ me mène vers une page grise, vide. J’ai ouvert une issue à ce sujet.

[FR]

Suite à la requête de @jln, voici donc quelques ressources pour apprendre à utiliser dato.
Quelques vidéos de tutoriel et démo sont maintenant disponibles sur la chaîne peertube: datotutos@video.eauchat.org.

Des exemples de configurations ici.

Et pour plus d’infos et ressources vous pouvez également consulter la documentation.


[EN]

Followin @jln’s request, here are some resources to learn how to use dato.
Some tutorial and demo videos are now available on the following peertube channel: datotutos@video.eauchat.org.

Some examples configurations here.

And for more info, you can have a look at the documentation.

1 Like

Un grand merci !!

Dato fait partie des rares applications qui m’enthousiasment énormément sans que je sache très précisément ce que je peux en faire, et comment elles pourraient intégrer ma pratique quotidienne :yum:

Y a-t-il un moyen de contribuer (à la hauteur de mes faibles moyens) en alimentant une FAQ par exemple ? Si oui, où/comment verrais-tu cela ? (je crois que Framagit doit permettre ce genre de truc non ?)

1 Like

Merci à toi pour ton intérêt pour dato :slight_smile:

Côté utilisation, pour moi l’app me sert vraiment beaucoup pour pouvoir organiser des données que j’ai, surtout des choses que je veux garder dans le temps, et pouvoir accéder facilement, ou processer de diverses manières. De la liste de citations, aux contenus à montrer sur un site, en passant par les recettes de cuisine, et plein d’autres choses encore. Vu que l’app marche offline et sur le téléphone, c’est assez pratique.

Pour ce qui est des contributions, voilà une liste de choses qui pourraient être très utiles:

  1. utiliser l’application, reporter les bugs et faire des suggestions d’améliorations (en postant des issues sur framagit)
    Les rapports de bugs que tu as rempli ces derniers jours étaient très utile. Merci.
  2. pour les personnes qui savent un peu coder, contribuer au développement, proposer des patchs…
  3. améliorer la documentation: si des choses ne sont pas claires sur le site, ou pourraient être mieux formulées, plus concises ou plus détaillées, toute contribution est bienvenue (c’est facile à faire, les contenus du site sont sur le répertoire dato, dossier wiki (donc il suffit de proposer des changements en passant par git ou l’interface framagit)
    Si un FAQ te semble utile, fais une proposition et je l’inclurai.
  4. traduire dato: idéalement ce serait super que dato soit traduit dans d’autres langues, mais au préalable il y’a du travail à faire dans le code pour permettre d’avoir diverses langues. Personnellement je n’ai pas initié de travail dans cette direction, parce que traduire prends beaucoup de temps, et je n’ai pas la disponibilité pour le faire (d’autant que c’est un travail constant, qu’il faut continuer avec le développement de l’application). Si il y a plus d’utilisateurs, ça pourra devenir utile et supporté par la communauté peut-être. En tout cas, si des personnes sont motivées, je peux essayer de travailler un peu sur le code pour implémenter ça.
  5. parler de l’application, la diffuser: avoir plus de gens qui utilisent dato permettrait aussi d’impliquer plus de gens dans son développement, et les contributions à tous les points précédents, ce qui permettrait de l’améliorer beaucoup sans doute, avec plus d’intelligence collective
  6. pour moi aussi avoir des retours de vive voix et pouvoir avoir des conversations avec les personnes qui utilisent dato m’est très utile, parce que ça m’aide à comprendre plus profondément pourquoi les gens aiment l’application, et donc à orienter le développement dans cette direction.
  7. j’allais presque l’oublier, mais les donations sont aussi bienvenues, dato est hébergé sur un serveur autogéré qui n’existe que grâce au temps et aux contributions libres des personnes qui l’utilisent et le construisent :slight_smile:
    Contribuer à l’administration système ou légale du serveur est d’ailleurs aussi utile et bienvenu comme c’est raconté sur cette page.

Voilà un peu, c’est peut-être beaucoup plus de détails que tu en demandait, mais bon ça donne une idée :wink:

En tout cas, ne te sens obligé à rien, toute contribution et libre, et rien que de savoir que l’app est appréciée et sert à plus de personnes me fait plaisir et me motive à l’améliorer.

Merci en tout cas pour la question, je reste dispo pour plus de détails :slight_smile:

Merci à nouveau pour cette réponse.

Pour le point 1, j’ai commencé à remonter deux ou trois trucs :wink: Je garde le point 3 dans un coin de ma tête ou plutôt, dans des notes persos. Quand ce sera un peu mieux rédigé, et un peu plus riche, je t’enverrai cela via Framagit.

Le point 5, je compte bien le faire auprès de quelques contacts qui pourraient être intéressés (il faut avouer que le “niveau d’entrée” exige un minimum de connaissance et de familiarité avec quelques notions et outils, ça réduit le champ).

Le point 6, avec plaisir, lorsque j’aurai un peu plus d’expérience avec l’app. Quant au point 7, je veux bien le RIB par messagerie privée !

1 Like