my_memo : projet étape 2/3
par
, 17/09/2019 à 21h58 (696 Affichages)
Bonjour à toutes et à tous !
Petit rappel : Comment stocker des memos personnels dans une base ?
Ca commence ici : par la modélisation en base
my_memo projet etape 1/3
Et ça aboutit à ce schéma de la base de données :
1) La base de données
15 tables tout de même.
A) Les 5 tables préfixées en a sont remplies par moi, administratrice plénipotentiaire auto-proclamée démocratiquement , et alimenterons des listes déroulantes.
a_category_tag => Domicile, Famille, Finances, Loisirs, Santé, Travail, _Autre
a_relative => nomenclature des liens que peuvent entretenir des personnes ou des animaux avec l'utilisateur, sera de plus en plus large sur suggestion sérieuse des utilisateurs
a_class => Activité, Evénement, Fait, Mode de vie, Pensée, Projet, _Autre
a_priority => Très important (10), Important (8), Assez important (6), Peu important (4), Sans grand intérêt (2)
a_tempo => Futur, Passé, Permanent, Présent, Récurrent
B) Les 3 tables indispensables (inner join) pour constituer un memo
cur_user
cur_memo
l_cur_memo_tag
C) Les 7 tables optionnelles
Si le memo convoque une image (une maxi par memo) alors 2 tables
left join sur l_cur_memo_cur_image
inner join sur cur_image
Si le memo convoque une personne ou un animal alors 3 tables
left join sur cur_person (son identité)
inner join sur a_relative => le type de lien entre cur_person et l'utilisateurinner join sur l_cur_memo_cur_person
Si le memo convoque une chose alors 2 tables
left join sur cur_thing (son identification)
inner join sur l_cur_memo_cur_thing
2) Choix de l'ergonomie pour la présentation des memos à l'utilisateur
Prenons maintenant le problème par l'autre extrême, nous verrons les formulaires qui dialoguent avec la base en dernier, dans la partie 3.
Comment présenter les infos principales de toute une vie, parfois longue, de manière simple et personnelle.
Après réflexion, j'en suis venue à cette option :
https://jqueryui.com/accordion/
L'utilisateur connecté arriverait sur les 7 catégories de tag fermées bien sûr.
Et en ouvrant par exemple... santé, il trouverait tous ses memos liés à sa santé, dans l'ordre d'importance qu'il aura choisi auparavant.
Avec le cas échéant les images, les choses ou les personnes concernées...
Ajoutons à cela un moteur de recherche, au cas où l'approche par thématique ne soit pas la plus pratique pour tel memo...
Et on a quelque chose qui devrait être bien pratique à l'arrivée.
De plus, j'ai décidé que si l'utilisateur ne fait que se connecter pour consulter ses memos, cela me paraît plus propre de limiter les échanges avec la base de données. Autrement dit, le script exploite un fichier json pour permettre au navigateur client de fournir toute son ergonomie souple et claire. Nous verrons donc seulement à l'étape 3 comment, en cas d'écriture en base, re-générer le json.
Comme je ne compte pas raconter ma vie privée ici, enfin, pas toute , je vais prendre pour exemple que je pourrai publier sans rougir la vie de quelqu'un que j'aime bien (via Wikipedia)... disons, Jodie Foster.
Les grandes lignes de la vie de Jodie
3) Développement de la vue finale memo.html pour Jodie Foster, et donc, sans connexion
to be continued...