Extension:ConfirmAccount

This page is a translated version of the page Extension:ConfirmAccount and the translation is 100% complete.
Manuel des extensions MediaWiki
ConfirmAccount
État de la version : stable
Implémentation Identité de l'utilisateur , Base de données , Page spéciale
Description Rend obligatoire la demande et l’approbation des comptes.
Auteur(s) Aaron Schulzdiscussion
Politique de compatibilité Versions ponctuelles alignées avec MediaWiki. Le master n'est pas compatible arrière.
MediaWiki >= 1.37.0
Modifie la base
de données
Oui
Tables account_requests
account_credentials
Licence Licence publique générale GNU v2.0 ou supérieur
Téléchargement
README
  • $wgAutoWelcomeNewUsers
  • $wgAccountRequestTypes
  • $wgConfirmAccountNotice
  • $wgConfirmAccountCaptchas
  • $wgConfirmAdminEmailExtraFields
  • $wgConfirmAccountRequestFormItems
  • $wgConfirmAccountContact
  • $wgAccountRequestExts
  • $wgAccountRequestThrottle
  • $wgConfirmAccountFSRepos
  • $wgRejectedAccountMaxAge
  • $wgConfirmAccountSaveInfo
  • $wgConfirmAccountSortkey
  • $wgAutoUserBioText
  • $wgAccountRequestWhileBlocked
  • $wgConfirmAccountRejectAge
  • $wgMakeUserPageFromBio
  • confirmaccount
  • confirmaccount-notify
  • requestips
  • lookupcredentials
Téléchargements trimestriels 167 (Ranked 46th)
Utilisé par les wikis publics 953 (Ranked 279th)
Traduire l’extension ConfirmAccount sur translatewiki.net si elle y est disponible
Problèmes Tâches ouvertes · Signaler un bogue

L’extension ConfirmAccount désactive la création directe des comptes utilisateur et rend obligatoire l’approbation des nouveaux comptes par un bureaucrate. La création directe de compte peut encore être autorisée (si vous souhaitez que les Administrateurs /Bureaucrates puissent le faire directement), en configurant les Manuel:Droits utilisateurs .

L'extension ConfirmEdit peut être utilisée (en même temps que l'extension ConfirmAccount) pour exécuter les Captcha afin d'empêcher d'être innondé par les requêtes (depuis la version 1.39).

Installation

  • Téléchargez et placez le(s) fichier(s) dans un répertoire appelé ConfirmAccount dans votre dossier extensions/.
    Les développeurs et les contributeurs au code doivent à la place installer l'extension à partir de Git en utilisant:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/ConfirmAccount
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php  :
    wfLoadExtension( 'ConfirmAccount' );
    $wgGroupPermissions['*']['createaccount'] = false; // OBLIGATOIRE pour forcer les demandes de compte par cette extension
    $wgGroupPermissions['bureaucrat']['createaccount'] = true; // optionnel pour permettre la création de compte par ce groupe d'utilisateurs de confiance
    
  • Exécutez le script de mise à jour qui va créer automatiquement les tables de base de données dont cette extension a besoin.
  • Configurez ensuite selon les besoins.
  • Assurez-vous que le wiki dispose des droits en écriture sur $wgUploadDirectory .
  • Veuillez prendre note aussi des problèmes connus car ils pourraient affecter votre wiki.
  •   Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.

Configuration

Facultatif

Il existe plusieurs paramètres de configuration pouvant être ajustés dans LocalSettings.php , après wfLoadExtension('ConfirmAccount');.

Voir "config" dans extension.json pour toutes les variables pouvant être initialisées.

Par défaut, l'extension utilise le contenu de la biographie de la personne pour remplir la page utilisateur. Ce comportement peut être désactivé si $wgMakeUserPageFromBio = false;
Pour désactiver la biographie dans le formulaire, définissez $wgConfirmAccountRequestFormItems['Biography']['enabled'] = false;
Par défaut, une biographie de six mots est nécessaire pour que le nouvel utilisateur puisse soumettre le formulaire de requête. Pour préciser ce besoin, par exemple pour 10 mots, définissez $wgConfirmAccountRequestFormItems['Biography']['minWords'] = 10;
Les administrateurs système (sysops) peuvent encore créer des comptes directement, tant que ceci n'est pas désactivé par
$wgGroupPermissions['sysop']['createaccount'] = false;
Si seuls les utilisateurs connectés sont autorisés à voir les pages, assurez-vous d'ajouter la page de demande du compte à $wgWhitelistRead .

Par exemple :

$wgWhitelistRead = [
    'Special:RequestAccount',
    'Main Page'
];
Dans d’autres langues, vous devrez remplacer "Main Page" et "Special:RequestAccount" par leurs noms locaux, par exemple "Hauptseite" et "Spezial:Benutzerkonto_beantragen" pour un wiki en allemand.

Pour catégoriser ensuite les utilisateurs en fonction de leurs intérêts, vous pouvez initialiser MediaWiki:Requestaccount-areas. Cela doit avoir un format tel que :

*Sujet|Page wiki du sujet|texte à ajouter à toutes les biographies des utilisateurs intéressés |texte à ajouter à toutes les biographies des utilisateurs intéressés du groupe0|texte à ajouter à toutes les biographies des utilisateurs intéressés du groupe1|texte à ajouter à toutes les biographies des utilisateurs intéressés du groupe2|...

Ces membres de groupe sont basés sur $wgAccountRequestTypes. Ainsi si 0 est l'index pour les auteurs, alors les auteurs intéressés par un sujet porteront le texte goupe0 attaché à leur biographie. Ceci peut être utile disons, si les utilisateurs peuvent être approuvés soit en tant qu'auteur, soit en tant que contributeur. Les auteurs peuvent avoir category:X auteurs où X est un sujet, tel que mathématiques, et éditeurs peut avoir category:x éditeurs. Vous pouvez avoir autant de groupes que vous voulez mais il en faut au moins un.

Configuration minimale

Pour essayer d'empêcher le pourriel, au lieu des captchas, des listes noires et des filtres; modérez manuellement l'enregistrement de nouveaux utilisateurs avec un Demander un compte plus simple. Ne demander que le nom utilisateur, l'adresse courriel et un bref message. Ajoutez ce qui suit à LocalSettings.php après la ligne require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";.

 $wgMakeUserPageFromBio = false;
 $wgAutoWelcomeNewUsers = false;
 $wgConfirmAccountRequestFormItems = [
 	'UserName'        => [ 'enabled' => true ],
 	'RealName'        => [ 'enabled' => false ],
 	'Biography'       => [ 'enabled' => false, 'minWords' => 50 ],
 	'AreasOfInterest' => [ 'enabled' => false ],
 	'CV'              => [ 'enabled' => false ],
 	'Notes'           => [ 'enabled' => true ],
 	'Links'           => [ 'enabled' => false ],
 	'TermsOfService'  => [ 'enabled' => false ],
 ];

Ajustez éventuellement les messages système : requestaccount-text, requestaccount-notes, requestaccount-ext-text, requestaccount-acc-text .

Utilisation

 
Diagramme d'interaction du processus de création de compte (succès).
 
Special:ConfirmAccounts (formulaire bêta) : confirmation de demande de compte
  1. En tant que bureaucrate (ou autre utilisateur ayant les droits confirmaccount), affichez Special:ConfirmAccounts
  2. Cliquez sur Relecture
  3. Vous verrez le formulaire entier avec les données utilisateur. Relisez soigneusement le formulaire, et procédez à la création du compte ou rejetez la requête.
  4. Si vous choisissez de créer le compte, la biographie de l'utilisateur deviendra sa page utilisateur et celle-ci sera automatiquement créée avec le résumé par défaut de Créer la page utilisateur avec la biographie du nouvel utilisateur.
  5. Une fois le compte créé, les données entrées par l'utilisateur au moment de la demande peuvent être référencées en tapant le nom de l'utilisateur sur Special:UserCredentials
Afin que le bureaucrate soit averti qu'il y a des demandes en attente vous devez définir une adresse courriel ou une liste de diffusion dans LocalSettings.php :
$wgConfirmAccountContact = 'Bureaucrat@domain.com';

Envoyer des notifications par courriel à plusieurs utilisateurs

Cette extension permet d'envoyer des courriels à plusieurs approuveurs qui auront à confirmer que le compte de ces utilisateurs a bien les droits confirmaccount-notify. Ceci vient en complément ou est une alternative au paramètre $wgConfirmAccountContact.

Ceci peut être fait par les bureaucrates par exemple, si vous leur attribuez ce droit en ajoutant ceci dans le fichier LocalSettings.php  :

$wgGroupPermissions['bureaucrat']['confirmaccount-notify'] = true;

Améliorations

Limitation de la fréquence

Pour ignorer les demandes émanant de robots, les paramètres par défaut empêchent les comptes correspondants aux adresses courriel qui ont été rejetées, de redemander un compte pendant une période de temps aléatoire après le rejet. Si vous désirez que les courriels qui ont été rejetés puissent redemander un compte immédiatement après le rejet, ou après un délai d'attente prédéfini (jours, semaines, mois, ou même années suivant le rejet), procédez en deux étapes ainsi :

1) Dans le fichier LocalSettings.php, après la déclaration nécessaire, mettez Rejected-Age à 0 (pour l'expiration immédiate après rejet), ou à la valeur du temps d'attente choisi, en secondes :

wfLoadExtension( 'ConfirmAccount' );
$wgRejectedAccountMaxAge = 0;

2) Ajoutez une ligne au fichier /frontend/specialpages/actions/RequestAccount_body.php tout à la fin de la fonction showForm() qui affiche le formulaire de la demande, afin de forcer la taille juste avant toute nouvelle demande :

code initial :

$out->addWikiMsg( 'requestaccount-footer' );
}

nouveau code :

$out->addWikiMsg( 'requestaccount-footer' );		
# PRUNE
ConfirmAccount::runAutoMaintenance();
}

Lien « Demande de compte »

Si vous voulez ajouter un lien de connexion « Demander un compte », la dernière version de l'extension l'ajoute déjà pour vous. Néanmoins si cela ne fonctionne pas, vous devrez faire la mise à jour avec la version la plus récente de votre branche ConfirmAccount à partir de Git. Par exemple, si vous utilisez MediaWiki 1.35, vous devez rester sur la branche REL1_35 et récupérer les fichiers de Git afin de bénéficier des dernières modifications.

Problèmes connus

  • Si $wgEmailConfirmToEdit = true; est déclaré, les utilisateurs devront confirmer leur courriel deux fois avant de pouvoir modifier. Voir tâche T182337 pour les informations complémentaires.
  • N'initialisez pas ou ne créez pas MediaWiki:Requestaccount-areas/xx où xx est un code de langue, la première partie de chaque ligne est utilisée comme clé de sauvegarde dans la base de données des éléments de compte qui serviront à contrôler les demandeurs.
  • Les anciennes versions de MediaWiki peuvent ne pas afficher le lien vers Special:RequestAccount sur le formulaire ce connexion de l'utilisateur. Vous pouvez modifer MediaWiki:loginprompt pour corriger cela.
  • Si votre client de messagerie perd ses données de courriel avant de les envoyer, les utilisateurs n'obtiendront pas leur mot de passe mais pourront avoir un compte. Puisque personne ne connaît les mots de passe, vous pouvez utiliser Special:ResetPassword pour leur en envoyer de nouveaux.
  • Si seulement quelques personnes consultent la page de confirmation des comptes, le supression aléatoire des anciennes demandes ne se déclenchera pas souvent, et les anciennes demandes rejetées pourront encore exister. Cela empêche les adresses courriel de redemander un compte durant une période inconnue. Vous pouvez ignorer ce comportement et autoriser les demandes supplémentaires immédiates, en forçant la limitation juste avant la soumission d'une nouvelle demande. Voir les instructions ici.
  • Intégration avec l'extension LDAP Authentication
  • [résolu] Captcha : avant la version 1.39, le Captcha n'était pas validé (voir tâche T168783), il n'y avait qu'un patch spécifique pour hCaptcha (voir Topic:W449yd63slfossl2#flow-post-w457lxnfmrb51gct).

Dysfonctionnements

Les courriels de notification n'arrivent pas à être envoyés

Si vous êtes en train de tester, notez qu'un utilisateur doit d'abord confirmer son adresse courriel via le lien qui lui a été envoyé, et ensuite le courriel sera envoyé au bureaucrate pour confirmer le compte.

Assurez-vous que les paramètres liés à l'extension sont introduits après la ligne require_once. Pas avant, sinon l'extension ne voit pas ces paramètres et ils échouent sans rien provoquer. Par exemple.

wfLoadExtension( 'ConfirmAccount' );
$wgConfirmAccountContact = "admin@example.com";

Notez également que lorsque vous utilisez le paramètre « confirmaccount-notify », chaque utilisateur du groupe (par exemple sysop) ne recevra pas d'avis à moins que ses Options des courriels dans Special:Preferences n'autorisent « Autoriser les autres utilisateurs à m’envoyer des courriels » et qu'il ait confirmé son adresse courriel dans le même formulaire.

Voir aussi