18-12-2012, 01:41 PM
Idem que Djidi, j'utilise le même genre de système pour la prochaine version d'eclerd: 1 BDD pour la "société", contenant les informations du compte entre autres, 1 BDD pour chaque jeu (contenant les informations génériques aux jeux), et 1 BDD pour chaque instance de jeu (aka, chaque planète pour eclerd, ou si c'était ogame, 1BDD par "univers")
Via ce principe, lorsque je veux connecter l'utilisateur sur un serveur de jeu (une planète), je remonte au parent (la BDD de jeu) qui m'identifie. Pour m'identifier, elle-même remonte au parent (la BDD de la société) qui contient les comptes et peut donc m'identifier.
Le résultat effectif est qu'on ne crée qu'un seul compte, depuis le site web d'un jeu auquel on veut jouer, et l'authentification est automatique sur les autres jeux (via la "redirection" vers la BDD de la société).
L'avantage de cette arborescence (qui doit se retrouver dans OAuth) est de séparer les données des comptes des données des jeux: le principe du fourre-tout est à proscrire, car il atteindra vite ses limites (si je fourre tout dans une BDD et que j'ai 25 jeux, avec 10 joueurs/jeu en continue, cela fera 250 connexion en continue sur la même BDD... la limite est souvent entre 10 et 50...)
Autre atout: depuis le compte de jeu (imaginons que j'arrives à me connecter sur le serveur d'une planète de jeu avec les identifiants d'un autre), je ne PEUX PAS remonter au compte parent: je ne pourrai pas me connecter au compte de la société et donc, je ne pourrais pas modifier les données du compte de la société, même si j'ai pu me connecter sur la planète de jeu
Via ce principe, lorsque je veux connecter l'utilisateur sur un serveur de jeu (une planète), je remonte au parent (la BDD de jeu) qui m'identifie. Pour m'identifier, elle-même remonte au parent (la BDD de la société) qui contient les comptes et peut donc m'identifier.
Le résultat effectif est qu'on ne crée qu'un seul compte, depuis le site web d'un jeu auquel on veut jouer, et l'authentification est automatique sur les autres jeux (via la "redirection" vers la BDD de la société).
L'avantage de cette arborescence (qui doit se retrouver dans OAuth) est de séparer les données des comptes des données des jeux: le principe du fourre-tout est à proscrire, car il atteindra vite ses limites (si je fourre tout dans une BDD et que j'ai 25 jeux, avec 10 joueurs/jeu en continue, cela fera 250 connexion en continue sur la même BDD... la limite est souvent entre 10 et 50...)
Autre atout: depuis le compte de jeu (imaginons que j'arrives à me connecter sur le serveur d'une planète de jeu avec les identifiants d'un autre), je ne PEUX PAS remonter au compte parent: je ne pourrai pas me connecter au compte de la société et donc, je ne pourrais pas modifier les données du compte de la société, même si j'ai pu me connecter sur la planète de jeu