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

PHP & Base de données Discussion :

Grand site portail, une ou plusieures bases de données ?


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut Grand site portail, une ou plusieures bases de données ?
    bonjour à tous, moi, je conçois un grand site portail, d'un pays, et on voit tout dedans, e-commerce, tchat, petites annonces, forum,... avec plusieurs rubriques à la clé.
    je voulais séparer les rubriques comme de mini-site, donc chaque rubrique possède sa propre interface d'administration et son fichier de configuration. Mon petit problème est qu'il y a une partie espace membre: une fois connecté sur une rubrique, le membre est connecté sur toutes les autres rubriques, exactement comme Yahoo!

    questions:
    - faut il utiliser une seule base de données pour tout le site? MySQL est-il assez grand pour supporter un grand site? puisque si MySQL est assez grand pour supporter un site comme Yahoo!, alors mon problème est résolu
    - si on utilisera plusieurs bases, doit-on utiliser une base commune pour les utilisateurs, et une gestion des utilisateurs à part? à noter qu'il y a des fonctionnalités dans les rubriques qui sont liés à ces utilisateurs

    merci d'avance pour vos réponses

  2. #2
    Membre émérite Avatar de SirDarken
    Profil pro
    Développeur Web
    Inscrit en
    Février 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Services de proximité

    Informations forums :
    Inscription : Février 2004
    Messages : 897
    Points : 2 276
    Points
    2 276
    Par défaut
    Concrétement si tu utilise une ou plusieurs bases d'un même serveur, je voie pas pourquoi ne pas tout faire dans 1 seule base.

    Aprés je pense que c'est au niveau conception que tu peux je dirai découper ton application, sépare tout le coté "gestion client" et "gestion site", enfin il faudrai détailler plus les fonctionnalitées de ce que tu veux faire.

    Personnellement je ferai comme suit:

    -Base client : gère l'identification, les services clients, leur proposition (leurs sites ou autres)
    -Base site : gère ton site, les rubriques, le contenu ect.

    -Panneau d'administration transferant vers la base site les porpositions de la base client aprés vérification de ta part (ou de l'admin).
    Déja ca te permet de couper leprojet en deux, et si ta un souci coté client ca te casse pas le reste.

    Aprés voila si j'ai mal compris ta réquête hésite pas à en dire plus.
    Règles du club -> Cliquez-ici
    FAQ Hardware -> Cliquez-ici
    Vous avez résolu votre souci ->
    F1 et Google sont vos amis.

  3. #3
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme le dit SirDarken, si toutes tes bases sont sur le meme serveur, en terme de performance ca ne va pas changer grand chose d'en faire un grosse et plusieurs petites.
    Ca peut changer la donne en termes de taille de base, mais avant d'atteindre la taille maximale tu as du temps.

    Pour info, Yahoo annonce avoir 1 petabyte de données et 1000 serveurs et ils utilisent Postgres.
    Quand tu en seras la, previens nous.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  4. #4
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut
    je veux vraiment dire une très grande site, peut-être pas comme Yahoo! pour la taille, mais pour les fonctionnalités oui, il y a assez de similitudes. Donc, je ré-explique mon soucis:
    Sachant que :
    1/le site possède des rubriques
    2/chaque rubrique est assez grande et possède des sous-rubriques
    3/une sous rubrique est considéré comme un site, par exemple un site sur l'automobile, genre http://www.turbo.br/
    4/chaque rubrique possède sa propre interface d'administration
    5/il faut gérer les connexions des utilisateurs sur tout le site, façon yahoo!, c'est-à-dire, l'utilisateur se connecte une seule fois sur un rubrique et il est alors connecté sur un site tout entier, encore genre Yahoo!, tu te connectes une seule fois sur Yahoo!Sports et tu peux est connectée sur tout Yahoo, que ce soit finances, jeux, mail, .fr, ou .com

    Ma question est: est-ce qu'il faut utiliser une plusieurs bases de données pour ce genre de site, en particulier pour les connexions utilisateurs communes? puisque déjà, il y a possibilité de mettre les rubriques dans de sous-domaines

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Que les tables soient dans la meme base ou dans des bases differentes c'est juste question de la facon dont tu aimes organiser tes données.
    Au niveau des fonctionnalités ca ne change rien.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut
    j'ai l'impression d'être mal compris, le problème est la gestion des utilisateurs connectés, et je ne vois pas pour l'instant la relation entre l'organisation des données.
    -si j'utiliserai plusieurs bases de données, il faut donc soit;
    a/que chaque rubrique se connecte à deux bases de données: une connection pour les fonctionnalités propres à la rubrique et qui n'a pas de relations avec l'utilisateur connecté
    b/une connection pour les fonctionnalités liées à l'utilisateur connecté, qui utilise en même temps, les tables propres à la rubrique

    si il n'y a pas de gestions d'utilisateurs, il y a pas de problèmes si j'utilise une ou plusieurs bases, je le sais

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    ouaip enfin yahoo ils ont choisi openid ! ...
    http://openid.yahoo.com/
    http://www.google.fr/search?hl=fr&q=openid&meta=

    a plus

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    que chaque rubrique se connecte à deux bases de données
    tu peux utiliser toutes les bases du serveur avec une seule connexion.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut
    la question n'est pas si je peux utiliser une Connection pour toutes les bases du serveur, bien sûr que je le peux, mais , quelle est la solution pour gérer les sessions d'utilisateurs si il y a un risque que le site soit repartis en plusieurs sites avec plusieurs sous-domaines en tenant compte qu'il n'y aura pas de connexions utilisateurs à chaque fois.

    kaymak a compris la question, mais est-ce qu'OpenId résout les problèmes que l'utilisateur connecté a droit d'écrire dans le forum d'une rubrique ou que seulement il est connecté et c'est tout?

    merci d'avance

  10. #10
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut
    mais OpenId est il paramétrable? je ne le connais pas encore assez, mais j'ai l'impression que question confidentialité, c'est limite

  11. #11
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut
    et d'après ce que je lit actuellement, openid est en fait une liaison de compte, si tu as un compte yahoo, tu le lie à openid et ensuite si tu te connectes à yahoo, alors tu es aussi connecté sur tous les sites utilisant openid, c'est à peu près ça?

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    la question n'est pas si je peux utiliser une Connection pour toutes les bases du serveur
    Ce n'est pas de ma faute si tu parles de base de donnée, de performance mysql et de taille de base depuis le début comme étant ton problème.

    Si la question est finalement la propagation de session a travers plusieurs sites, tu peux tres bien faire une gestion des sessions sur la base de donnée commune.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    openid c'est comme une grosse base de données couplée à un webservice. Je me suis pas interessé dans le détail à ce projet, mais l'idée c'est de dire qu'un compte utilisateur sur un site A ou B, c'est à peu ou prou la même chose. Donc on peut centraliser tout cela.

    C'est a ce moment qu'intervient openid puisqu'il centralise tout cela.

    Après pour l'implémentation je n'en ai strictement aucune idée....

    et d'après ce que je lit actuellement, openid est en fait une liaison de compte, si tu as un compte yahoo, tu le lie à openid et ensuite si tu te connectes à yahoo, alors tu es aussi connecté sur tous les sites utilisant openid, c'est à peu près ça?
    Oui c'est le but du projet.

    mais est-ce qu'OpenId résout les problèmes que l'utilisateur connecté a droit d'écrire dans le forum d'une rubrique ou que seulement il est connecté et c'est tout?
    Non certainement pas, cela relève de ton domaine métier.

    Maintenant si j'ai cité l'exemple c'est parce que derrière j'imagine qu'ils ont mis en place un webservice commun à tous les sites de yahoo qui permet de gérer l'identification d'un utilisateur.
    Bref ils ont du découpler à fond l'utilisateur de l'ensemble de leurs applications.
    Ce que tu souhaites faire.

    Après a savoir si tu dois utiliser une ou plusieurs bases de données pour une question de performance.Amha, cette question importe peu. Car mysql possède des solutions de clustering et permet donc de monter en capacité de manière très importante.

    La question qui t'importe c'est comment mes sites vont interagir, être déployé. Si mes sites doivent être indépendant physiquement, cela aura des impacts sur ce fameux service des utilisateurs.
    Par contre si tous mes sites peuvent être contenus sur la même machine, ou cluster, ton service sera peut être disposé autrement, ne serait ce que pour profiter d'un gain de performances, d'une simplification de l'application.
    Bref, il me semble que tu dois dessiner ton service en fonction de ton besoin. Soit tu utiliseras une seule base de données pour tous tes sites, soit plusieurs, pour les raisons suscités en exemple. Ou bien peut être décideras tu d'utiliser des webservices pour complètement découpler les différents sites tout en assurant un suivit intègre du compte utilisateur.

    Y'à le choix, la question est de savoir ce qui est vraiment nécessaire.

    Du moins c'est ce que j'en pense.

    bye

  14. #14
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut
    si on n'utilise pas openid, si les bases seront separées pour chaque sous-rubrique, comment gérer au max les sessions des utilisateurs, et comment gérer les fonctionnalités reliés aux utilisateurs authentifiés: en utilisant la variable $_SESSION ou en intégrant les sessions dans la base de donnée?

  15. #15
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Points : 2 284
    Points
    2 284
    Par défaut
    Si tu utilises un service centralisé pour gérer tes utilisateurs, il me semble qu'une base de données ne serait pas de mal pour gérer les sessions et leur durée de vie..

  16. #16
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut
    donc entre une table utilisateur pour chaque rubrique( donc pour deux rubriques, deux tables utilisateurs), et une table utilisateur pour le site en entier, quelle solution prendre? c'est-à-dire séparer le site en plusieurs sites suivant les rubriques existants (maintenance plus facile), ou ne pas le séparer

    j'essaye en même temps, tout en attendant les réponses de votre part. Merci.

Discussions similaires

  1. Site web : une ou plusieurs base de données ?
    Par Evocatii dans le forum MySQL
    Réponses: 6
    Dernier message: 29/09/2010, 13h58
  2. Réponses: 1
    Dernier message: 21/04/2008, 12h06
  3. Réponses: 4
    Dernier message: 11/01/2008, 12h18
  4. Une ou plusieurs Base ?
    Par MarcAnto dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 07/09/2007, 11h58
  5. Limiter la taille d'une ou plusieurs bases de données
    Par Thierry8 dans le forum Administration
    Réponses: 7
    Dernier message: 12/03/2006, 23h51

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