Extension:ConfirmAccount
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 |
|
|
|
|
Téléchargements trimestriels | 187 (Ranked 31st) |
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 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 dossierextensions/
.
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.
$wgMakeUserPageFromBio = false;
$wgConfirmAccountRequestFormItems['Biography']['enabled'] = false;
$wgConfirmAccountRequestFormItems['Biography']['minWords'] = 10;
$wgGroupPermissions['sysop']['createaccount'] = false;
Par exemple :
$wgWhitelistRead = [
'Special:RequestAccount',
'Main Page'
];
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
- En tant que bureaucrate (ou autre utilisateur ayant les droits confirmaccount), affichez
Special:ConfirmAccounts
- Cliquez sur Relecture
- 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.
- 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.
- 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
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.
- Extension is not working anymore with mediawiki 1.43; see here
- 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
- Extension:InviteSignup, pour les créations de comptes (en masse) initiées par les administrateurs
- l'extension TwnMainPage offrant un bac à sable où l'utilisateur peut créer un compte sans droits, proposer quelques modifications et demander l'approbation
- Extension:Semantic Signup
- Extension:AcceptTermsOfUse - Allows for enforcing Terms of Use for self-service account creation.
Cette extension est incluse dans les fermes de wikis ou les hôtes suivants et / ou les paquets : Cette liste ne fait pas autorité. Certaines fermes de wikis ou hôtes et / ou paquets peuvent contenir cette extension même s'ils ne sont pas listés ici. Vérifiez toujours cela avec votre ferme de wikis ou votre hôte ou votre paquet avant de confirmer. |