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 :

Site de ballades


Sujet :

Schéma

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut Site de ballades
    Bonjour,

    Je développe depuis deux ans un site cependant, je l'ai construit de façon empirique (au fur et à mesure de l'acquisition des compétences) et il se révèle que la modélisation est très mauvaise.

    Faute avouée à demi pardonnée, c'est ce que l'on dit ...

    Bref, je me suis concentré pour essayer de modéliser en merise l'ensemble du site. Par la suite, je m'occuperai de tout réinjecter dans la nouvelle modélisation avec un ETL comme FME.

    Il faudra bien évidemment modifier le code du site en profondeur (requêtes...). Pour autant, cela me permettra par la suite de gagner du temps donc je me lance !

    Mise en situation du site et besoins :

    Il s'agit d'un site internet qui me permet de raconter nos sorties nature et de proposer différents articles :

    1) des balades (à pied, à vélo...). Une balade est attachée à un département et peut être attachée ou pas à une trace GPS. Un dossier photo lui est inféodé.
    2) des périples (à pied à vélo). un périple est attaché à un secteur et peut être ou pas attaché à un trace GPS. Un dossier photo lui est inféodé.
    3) des tests de matériel. Un test de matériel est attaché à une catégorie. Un dossier photo lui est inféodé.
    4) des news. Un dossier photo lui est inféodé.

    Ces quatre premiers modules peuvent être commentés. Seul un utilisateur enregistré peut commenter. Un utilisateur peut commenter un message ne lui appartenant pas. (récursivité) Il peut aussi modifier et supprimer son message. Si l'administrateur supprime l'article, les commentaires associés sont supprimés.
    Les utilisateurs enregistrés ont accès a ces quatre modules et peuvent proposer à l'administrateur des contributions. Les contributions doivent être validées par l'administrateur alors que les contributions de l'administrateur sont automatiquement validées. Pour les photos, chaque utilisateur n'a accès qu'a ses photos et non celles des autres contributeurs.

    5) Livre d'or. Un utilisateur enregistré ou non peut commenter le livre d'or.
    6) Faq. Une question FAQ est attachée à une catégorie. Un dossier photo lui est inféodé.
    7) L'entretien du vélo. L'article est attaché à une catégorie. L'article fait référence a une difficulté et à une durée. Un dossier photo lui est inféodé.
    8) Questions généralistes. Module simple sans relation spécifique. Un dossier photo lui est inféodé.
    9) Partenaires.Module simple sans relation spécifique. Un dossier photo lui est inféodé.
    10)Liens. Module simple sans relation spécifique. Un dossier photo lui est inféodé.


    MCD :



    Morceaux ou j'ai des doutes :

    J'ai des doutes sur la table "commentaire". Car avec la façon que je procède, j'ai effectivement qu'une table mais il y a des clés étrangères qui ne seront pas remplies car un commentaire est associé à un type de contenu.
    Pouvez-vous me guider sur ce point .

    L'autre souci est de laisser l'accès à un utilisateur a la création de balades, de périples d'entretien et de tests de matériels. Comment procéder sinon ajouter l'id_user et laisser l'accès seulement aux modules autorisés ? D'autre par comment gérer le fait de valider la contribution avant qu'elle apparaisse sur le site ?

    Si vous voyez d'autres soucis, merci de m'aider

    Par avance un grand merci aux personnes qui donneront de leur temps pour me guider dans cette étape importante.

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Comme je n'ai pas le temps d'analyser ton MCD en détail, juste quelques détails...

    1) Dans un MCD, on ne représente pas les clés étrangères qui n'apparaîtront qu'à partir de la génération du MLD.
    => Supprimer par exemple la propriété "departement" dans l'entité type "balade".

    2) Il semble manquer une entité type pour les utilisateurs !
    => Je vois "id_user" dans l'entité type "balade" mais pas d'association justifiant cette clé étrangère, qui, comme celle précédemment signalée, ne doit pas être représentée dans le MCD.

    3) Un mot clé ne peut-il être associé à plusieurs balades ?
    => Si c'est le cas, ajouter une entité type pour les mots clés et l'associer à l'entité type "balade".

    4) Dans votre schéma, un commentaire est associé obligatoirement à la fois à une balade, à un périple, à une news et à un test matériel.
    => Il y a donc un problème de modélisation qui sera résolu grâce à mon point 5...

    5) Il y a des propriétés communes aux balades, aux périples, aux news et aux tests.
    => Vous devriez rassembler les propriétés communes dans une entité type générale et spécialiser ensuite dans des entités types filles les propriétés spécifiques. C'est de la modélisation d'héritage (ou de généralisation / spécialisation). À vous de trouver le bon vocabulaire pour nommer vos entités types mères et filles (et probablement petites filles). Il n'y aura plus alors qu'à associer les commentaires à l'entité type mère au lieu de vos 4 associations actuelles !

    6) Vous avez 4 entités types qui se morfondent toutes seules dans la partie droite de votre MCD !
    => En principe, il est très rare d'avoir des entités sans la moindre association avec au moins une autre !

    C'est tout pour le moment... comme on dit dans une émission célèbre !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Bonsoir,

    Un grand merci pour ce début d'analyse

    Concernant le point 1, effectivement le champ "département" n'a rien à faire dans la table "balade". C'est une étourderie.

    Pour le point 2, id_user provient d'une session qui est gérée par le forum de mon site Internet (forum français fsb2). Je n'ai donc pas réellement de lien avec la table user que je n'ai pas conçu mais sur laquelle je peux compter à n'importe quel moment.

    Pour le point 3, effectivement un mot clé peut en théorie être utilisé par plusieurs balades. Cependant, il s'agit là des mots clés qui seront utilisés pour le référencement via la balise META. L'utilisateur décide donc d'ajouter les mots clés qui conviennent le mieux en les tapants.

    Pour le point 4, effectivement, je savais qu'il y avait un gros souci, je vais donc étudier le point 5 car je n'ai pas encore tout saisi. Pour autant, la relation pourrait passer en 0,1 au lieu de 1,1 et en ajoutant un champ "type_commentaire" mais je pense que ce n'est pas pour autant la panacée ?

    Pour le point 6, j'ai effectivement quatre morceaux qui sont "sans amis". Pour autant, je n'ai pas encore trouvé à quoi les rattacher si ce n'est que ces entités pourraient être rattachées à la table "user" qui n'est pas dans la même base (base du forum) (cf point 2).

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Bonjour,

    Je viens de réflechir et modifier le mcd (cf. PJ) en créant une entité "article". Cette entité mère est ensuite rattachée aux entités filles comme "balades, périples..."

    Cependant avec une liaison [1,1]-[1,1] entre mère et fille, les clés étrangères viennent s'accumuler dans l'entité mère.

    Pouvez-vous me guider sur ce point ?

    J'ai aussi rattaché les autres entités mais du coup, il devient possible de commenter par exemple la "faq" (ce qui n'est pas forcément gênant en soi).

    Merci pour vos éclaircissements

  5. #5
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Tu as mal compris l'héritage des données !

    Les cardinalités ne sont pas 1,1 - 1,1 mais 1,1 - 0,1. Et plus précisément (1,1) - 0,1 ! C'est à dire qu'on fait une identification relative.

    Règles de gestion :
    Un périple est un article et un article peut être un périple.
    Une balade est un article et un article peut être une balade.
    Une news est un article et un article peut être une news.
    Un test est un article et un article peut être un test.

    MCD :

    periple -(1,1)----Etre----0,1- article
    balade -(1,1)----Etre----0,1------|
    news -(1,1)----Etre----0,1--------|
    test -(1,1)----Etre----0,1----------|

    Tables :
    article (id_article...)
    periple (per_id_article...)
    balade (bal_id_article...)
    news (nws_id_article...)
    test (tst_id_article...)

    => L'identifiant des tables filles est aussi clé étrangère référençant l'identifiant de la table mère.

    Dans le MCD, les entités types filles n'ont en fait pas d'identifiant propre puisqu'elles récupéreront celui de l'entité mère lors du passage au MLD.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Bonjour et merci,

    Cependant, est-ce qu'analyse SI est capable de gérer ce système ? car en mettant

    periple -(1,1)----Etre----0,1- article
    balade -(1,1)----Etre----0,1------|
    news -(1,1)----Etre----0,1--------|
    test -(1,1)----Etre----0,1----------|

    et en enlevant l'id_periple de sa table, je ne peux construire le MLD car le logiciel me dit qu'il manque l'identifiant.

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Analyse SI est malheureusement très incomplet, surtout qu'il a été abandonné par son auteur original et je ne sais pas si une communauté a repris ce logiciel qui était pourtant prometteur.

    Dans le domaine gratuit, il y a Open Modelsphere qui est plus complet, même si cette histoire d'entité type fille sans identifiant est également un peu délicate à gérer. fsmrel avait donné la manip dans un de ses messages. Fais une recherche dans le forum.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Analyse SI a été repris par une communauté et à été amélioré mais je pense qu'on touche à ses limites dans ce cas présent.

    N'y à t-il pas un moyen, une autre modélisation qu'analyse SI pourrait gérer ?

  9. #9
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Un petit coup de main svp

Discussions similaires

  1. Créer un site web - en quel langage ?
    Par Thierry92 dans le forum Débuter
    Réponses: 95
    Dernier message: Hier, 12h11
  2. Avec quel éditeur concevez-vous vos site web ?
    Par Marc-xhtml dans le forum Outils
    Réponses: 263
    Dernier message: 06/05/2009, 14h43
  3. Check Url pour savoir si erreur 404 ou si le site existe
    Par Clément[Delphi] dans le forum Composants VCL
    Réponses: 2
    Dernier message: 07/08/2002, 13h49

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