Comment partager les mêmes utilisateurs entre 2 sites Joomla!

Qui n'a jamais rêvé de pouvoir partager une seule et unique base de données d'utilisateurs entre deux sites ?

Nous vous proposons ci-après une solution très facile pour atteindre cet objectif.

Pour cela, il faut bien entendu que les deux sites aient leurs bases de données respectives chez le même hébergeur (et s’il y a déjà des utilisateurs existants sur les deux sites, il faut bien entendu gérer cet aspect).

Le but ici est donc d’expliquer comment avoir un site « maître » (au niveau des utilisateurs) et un site « esclave » (qui est autonome, sauf pour les utilisateurs qu’il va lire sur le site maître). La personne qui souhaite une solution complète multi-sites voudra certainement aller plus loin, mais le partage des utilisateurs est déjà un bon départ.

Concrètement, comment procéder ? Il suffit d'exécuter les requêtes suivantes sur la base de données des deux sites (par exemple à l'aide de PHPMyAdmin), en prenant soin bien entendu de remplacer 

  • PrefixSlave par le préfixe des tables du site esclave
  • PrefixMaster par le préfixe des tables du site maître
  • dbMaster par le nom de la base de données du site maître

Tout d'abord, on renomme les tables Utilisateurs du site esclave (afin d'avoir une copie de sauvegarde. Alternativement, on pourrait les supprimer) :

RENAME TABLE `PrefixSlave_session` TO `PrefixSlave_session_bak`;
RENAME TABLE `PrefixSlave_users` TO `PrefixSlave_users_bak`;
RENAME TABLE `PrefixSlave_usergroups` TO `PrefixSlave_usergroups_bak`;
RENAME TABLE `PrefixSlave_user_keys` TO `PrefixSlave_user_keys_bak`;
RENAME TABLE `PrefixSlave_user_notes` TO `PrefixSlave_user_notes_bak`;
RENAME TABLE `PrefixSlave_user_profiles` TO `PrefixSlave_user_profiles_bak`;
RENAME TABLE `PrefixSlave_user_usergroup_map` TO `PrefixSlave_user_usergroup_map_bak`;
RENAME TABLE `PrefixSlave_viewlevels` TO `PrefixSlave_viewlevels_bak`;

Ensuite, on crée une "vue" sur le site esclave, qui va faire en sorte qu'il va aller lire les tables Utilisateurs du site maître :

CREATE VIEW PrefixSlave_session AS SELECT * FROM dbMaster.PrefixMaster_session;
CREATE VIEW PrefixSlave_users AS SELECT * FROM dbMaster.PrefixMaster_users;
CREATE VIEW PrefixSlave_usergroups AS SELECT * FROM dbMaster.PrefixMaster_usergroups;
CREATE VIEW PrefixSlave_user_keys AS SELECT * FROM dbMaster.PrefixMaster_user_keys;
CREATE VIEW PrefixSlave_user_notes AS SELECT * FROM dbMaster.PrefixMaster_user_notes;
CREATE VIEW PrefixSlave_user_profiles AS SELECT * FROM dbMaster.PrefixMaster_user_profiles;
CREATE VIEW PrefixSlave_user_usergroup_map AS SELECT * FROM dbMaster.PrefixMaster_user_usergroup_map;
CREATE VIEW PrefixSlave_viewlevels AS SELECT * FROM dbMaster.PrefixMaster_viewlevels;

La boutique

Trucs @ Astuces Joomla! 3Le livre 100 Trucs & Astuces pour Joomla! 3
vous permet de faire les bons choix parmi ceux qui s'offrent à vous lors de la création de votre site web ou lors de l'ajout de fonctionnalités ou d'extension grâce à de simple conseils, de vous simplifier la tâche grâce à des astuces et des mini-tutoriels pour gagner du temps dans la gestion de votre site Joomla!, ainsi que dans l'organisation de sa sécurité, son référencement, ses performances, et bien plus encore.

Toujours plus haut, toujours plus fort

Après avoir partagé les utilisateurs entre 2 sites, en général l’étape suivante est que les utilisateurs demandent à « rester automatiquement connectés » lorsqu’ils passent d’un site à l’autre...

Cela est possible aussi ! Et ce grâce à l’extension Single Sign In for domains :
http://extensions.joomla.org/profile/extension/core-enhancements/multiple-sites/multisites-single-sign-in-for-domains 

Notez cet article:
2
Comment intégrer des cartes responsive design dans...
Comment ne plus envoyer les mots de passe dans vos...

Commentaires

 
Pas encore de commentaire
Déjà inscrit ? Connectez-vous ici
Guest
mercredi 16 août 2017
Si vous souhaitez vous inscrire, veuillez saisir un nom d'utilisateur, mot de passe et nom.

Image Captcha

Sur ce site, nous utilisons des cookies.