Outils pour utilisateurs

Outils du site


l_identification

Nous allons chercher un moyen simple pour gérer l'identifiant, mot de passe et email de chaque permanent. Pour cela, nous les déclarons sur le site WordPress principal (FRONT). La table utilisateur de ce site servira de base à toutes les autres applications (donc plus rien à saisir, c'est cool LOL ).

Pour Matomo (analyse)

Pour ne pas se prendre la tête 8-) , on utilise ce plugin WordPress. Il intègre complètement Matomo dans WP.

Pour Dokuwiki (documentation)

Ultra simple ^_^ , on installe cette extension (tout est expliqué dans la page).
Pour les paramètres demandés, on les trouve au début du fichier wp-config.php, dans le répertoire de WordPress.

Pour LimeSurvey (enquêtes)

On utilise aussi une extension :-D . Il faut l'installer comme expliquer ici
Ensuite, rentrer les données du fichier wp-config.php (idem Piwigo) et activer.

Pour Piwigo (galeries de photo)

Pour cela, on va utiliser la configuration locale, section Authentication

Mais tout d'abord, dans la base Piwigo, on crée une vue de la table users de la base principale WordPress :
CREATE VIEW users_view AS SELECT * FROM bd_site_principal.préfixe_users;

Puis on se connecte à Piwigo, on va sur Plugin, puis Gérer, puis Activer l'extension Local Files Editor.
Dans l'onglet Configuration locale, sous /* Dans cette fenêtre, configurer votre galerie Piwigo. */, on intègre le texte :

/* Active l'identification externe et indique la table des utilisateurs WordPress */
$conf['external_authentification'] = true;
$conf['users_table'] = 'users_view';

/* Mapping des champs de Piwigo (1er) vers ceux de WordPress (2ème) */
$conf['user_fields'] = array(
'id' = > 'ID',
'username' = > 'user_login',
'password' = > 'user_pass',
'email' = > 'user_email' );

/* Défini les comptes “Invité”, “Webmaster” et “Modèle pour la création” */
$conf['guest_id'] = 3;
$conf['webmaster_id'] = 4;
$conf['default_user_id'] = 5;

Par contre, bien vérifier que les ID des comptes Invité, Webmaster et Modèle existent dans Wordpress. Sinon, cela va générer une erreur. Pour changer un ID dans WordPress, voici un plugin.

Après tout ça, retour sur Piwigo,aller dans Utilisateurs, puis Gérer, on retrouve tous les utilisateurs du site principal et on peut changer leurs droits, les intégrer à un groupe… :-)

Pour un autre site WordPress

On utilise des vues qui copient les tables users et meta_user de la base principale dans l'autre base WordPress :
CREATE VIEW users_view AS SELECT * FROM bd_site_principal.préfixe_users;
CREATE VIEW usermeta_view AS SELECT * FROM bd_site_principal.préfixe_usermeta;

Puis on ajoute dans le fichier wp-config.php du second site avant /* That's all, stop editing! Happy publishing. */
/* Indique les tables externes “users” et “usermeta” */
define( 'CUSTOM_USER_TABLE', 'users_view' );
define( 'CUSTOM_USER_META_TABLE', 'usermeta_view' );

C'est tout. Enfin, pas totalement ;-) :

Si on souhaite appliquer les mêmes droits entre les 2 sites, il faut que le préfixe de table (du style wp_) soit le même. Ne marchera que pour des rôles identiques (par ex,administrator).

Par contre, si tout nouvel utilisateur ne doit avoir qu'un rôle d'invité sur le site secondaire, il faut que les préfixes de table soient différents; mais surtout ajouter à la main pour l'administrateur du site principal, dans la table usermeta une ligne de la forme :

prefixe_site_secondaire_capabilities puis a:1:{s:13:“administrator”;b:1;} et
prefixe_site_secondaire_user_level puis la même valeur que pour le préfixe primaire.

Sinon, on n’accédera plus à rien 8-O . Ensuite, l'admin peut donner à chaque utilisateur un rôle adapté, tout cela est expliqué ici.

l_identification.txt · Dernière modification: 2020/03/31 19:28 de Jean-luc