Bonjour à tous
Je souhaiterai avoir vos avis/recommandations sur la meilleure façon de créer mon application de gestion de produit (le mot produit reste vague car c'est pour mon travail).
Je me débrouille en php, html, mysql, js (jquery) et css.
Ce projet fait partie d'un ensemble plus grand d'applications, accessibles par un "portail".
Cela signifie qu'il y a déjà des éléments en place, notamment la base de données avec la table "utilisateurs" (que je ne peux donc plus modifier).
Voici le projet :
Mes utilisateurs (U1, U2...) sont regroupés par équipes (WP1, WP2..).
Chaque utilisateur utilise(!) un ou des produits (P1, P2...).
Ces produits sont rangés dans des emplacements particuliers (4A01, 2C05... disons un pseudo regex [1-6][A-F][01-99])
La difficulté est que les utilisateurs ne veulent pas que les autres aient accès à leurs produits directement.
Tout le monde peut voir la liste des produits mais seuls les utilisateurs propriétaires des produits peuvent en avoir le détail.
Par propriétaire, j'entends celui qui possède le produit, celui qui l'a rentré dans la base de données, celui qui sait où il est stocké...
Un non-propriétaire ne pourra voir que la liste des produits et à qui il faut se renseigner pour en avoir le détail et la localisation.
Par exemple
U1 a le P1 et P2 qu'il a rangé en 1A01 et 1A02.
U2 a le P3, rangé en 2B06.
du coup tout le monde sait qu'il y a 3 produits (P1-P3) mais si U1 veut le produit P3, il doit se rapprocher de U2 qui lui donnera les infos (ou non ;-) )
difficulté supplémentaire: les utilisateurs travaillent en équipe.
Ainsi U1 peut autoriser U10 et U11 à avoir accès à ses produits (ici P1 et P2)...
Il y aurait donc plusieurs niveau de droits sur chaque produit.
exemple pour P1: admin = U1, autorisé = U10, U11,
tous les autres seraient simple user (voit que le produit existe mais doit solliciter admin et/ou autorisé pour l'accès)
Auriez-vous des conseils sur la façon de coder ça ? d'organiser les relations entre les tables...?
Je voyais un truc du genre
id_produit nom_produit detail_produit localisation_produit quantité_produit admin_produit autorise_produit 1 P1 produit1 1A01 6 U1 U10,U11 2 P3 produit3 2B06 2 U3 null
- Est-ce que je dois créer une table pour que les utilisateurs soient "liés" entre eux ? (par exemple U1 avec U10 et U11 au sein de la même équipe)
- Comment gérer au mieux les multi-users comme dans la case U10,U11 (je peux toujours faire un split puis un foreach... y'a peut-être mieux...)
- Je suis quasi certain que les jointure sql seront mes amis, mais là je ne suis pas encore au point ;-)
Enfin tout cela me permettra en tant qu'administrateur global d'extraire la totalité des produits pour assurer un suivi/état des lieux et éventuellement de mutualiser les produits en doublon.
Merci ;-)
Rod
Partager