IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Schéma Discussion :

Conception d'une messagerie interne


Sujet :

Schéma

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 25
    Points : 14
    Points
    14
    Par défaut Conception d'une messagerie interne
    Bonjour,

    N'étant pas spécialiste en conception de BDD, j'arrive à un moment où je sèche sur la réalisation d'une messagerie interne.
    Je simplifierai au mieux mon problème.

    Supposons donc que ma BDD comporte trois tables (peu importe les attributs, c'est juste la modélisation qui m'intéresse). La première stock les informations relatives aux comptes administrateurs, la deuxième celles relatives aux comptes utilisateurs (non administrateurs) et la dernière serait donc relatives aux messages.

    Ma question est donc simple à priori : comment relier toutes ces tables entre elles de telle sorte à ce qu'un utilisateur puisse envoyer/recevoir des messages à/d'un autre utilisateur et à/d'un administrateur et où l'administrateur puisse faire de même.
    En d'autres termes, comment faire en sorte que deux tables distinctes puissent "participer" à une même messagerie ?

    D'avance merci à ceux qui se pencheront sur ce sujet.

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 912
    Points
    38 912
    Billets dans le blog
    9
    Par défaut
    bonjour,

    Vous faites malheureusement fausse route en négligeant de mentionner les différents attributs et en parlant déjà de tables.

    En effet, il est très probable que les attributs d'un administrateur ou d'un utilisateur lambda soient les mêmes ou a peu près : identifiant, matricule, nom, prénom, date d'enregistrement, date de naissance etc..., il peuvent donc tous deux être modélisés dans une même entité-type que vous pourrez appeler "utilisateur" par exemple

    Par contre, l'un et l'autre n'ont pas les mêmes rôles dans l'organisation, ils seront donc en relation, à date, avec un ou plusieurs privilèges différents selon qu'ils sont admin ou simple utilisateurs
    Parmi les privilèges vous pouvez définir notamment le droit d'envoi de message. Ceci répondra à votre besoin d'autoriser les admin et les simples utilisateurs à partager la même messagerie

    Exemple :
    Utilisateur 1, type admin, a le droit de créer ou révoquer des utilisateurs, et d'utiliser la messagerie
    Utilisateur 2, type admin, a le droit de créer ou révoquer des utilisateurs mais pas d'utiliser la messagerie
    Utilisateur 3, type non admin, a le droit d'utiliser la messagerie

    Edit : le plus souvent, pour faciliter l'administration, les droits ne sont pas accordés directement aux personnes, mais à des groupes. Les personnes sont ensuite raccrochées au(x) groupe(s) requis

    Exemple de modèle possible pour l'administration des droits et privilèges :

    Nom : MCD_01.png
Affichages : 2252
Taille : 21,0 Ko

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Bonjour escartefigue et merci d'avoir pris le temps de répondre.

    Il semblerait qu'il y ait un malentendu. Je ne cherche en fait pas la façon dont octroyer des droits ou des privilèges à des utilisateurs mais simplement la manière dont devrait être reliées des entités décrivant deux types d'utilisateurs distincts (à savoir admin / utilisateur lambda) à une entité décrivant des messages. En d'autres mots, je souhaiterais établir un schéma où deux types d'utilisateurs participent à une même messagerie.

    Un utilisateur/admin peut envoyer zéro ou plusieurs messages à d'autres utilisateurs/admins et un message n'est envoyé que par un et un seul utilisateur/admin.

    J'aurais peut être dû joindre un exemple dans mon premier message, donc en voici un simplifié (encore une fois, à moins de ne pas avoir bien saisi votre remarque, je suppose que les attributs importent peu).

    Nom : exemple.jpg
Affichages : 1615
Taille : 26,0 Ko

    Encore merci pour l'aide que vous m'apportez.

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 136
    Points : 38 912
    Points
    38 912
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Il vous suffit, a partir du modèle que je vous ai proposé, d'ajouter une entité-type message et de relier cette ET à l'ET utilisateur, via une relation réflexive "emettre"

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2015
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2015
    Messages : 25
    Points : 14
    Points
    14
    Par défaut
    Bonjour / bonsoir,

    Désolé de la réponse tardive.
    En fait ce que vous me proposez est un peu l'idée que j'avais ambitionné de suivre au début mais étant donné que la table d'admins ne recevra qu'un seul type d'admin (voir pour l'instant un unique admin), je n'ai pas jugé utile de créer un système de droits. J'ai donc préféré distinguer simplement les tables et bâtir le système sur cette structure là.
    Est-il tout de même donc possible d'aboutir à quelque chose en gardant mon premier schéma ?

    Cordialement.

Discussions similaires

  1. Réponses: 6
    Dernier message: 09/02/2016, 20h36
  2. [2.x] Entité pour une messagerie interne
    Par tbreton dans le forum Symfony
    Réponses: 9
    Dernier message: 27/11/2011, 12h29
  3. Réponses: 0
    Dernier message: 08/02/2011, 23h01
  4. [MySQL] Créer une messagerie interne
    Par yanng dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/05/2008, 10h34
  5. [Débutant][Conception] Erreur avec une classe interne
    Par Devil Redneck dans le forum Général Java
    Réponses: 5
    Dernier message: 11/06/2004, 15h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo