Extension:ConfirmAccount

This page is a translated version of the page Extension:ConfirmAccount and the translation is 100% complete.
Other languages:
Deutsch • ‎English • ‎dansk • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎中文 • ‎日本語
Manuel des extensions MediaWiki
OOjs UI icon advanced.svg
ConfirmAccount
État de la version : stable
ConfirmAccounts.png
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 Schulztalk
MediaWiki 1.23+
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
Traduisez l’extension ConfirmAccount sur translatewiki.net
Vérifiez la matrice des utilisations et des versions.
Problèmes Tâches ouvertes · Signalez 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 comptes peut toutefois être réactivée (si vous voulez que les sysops ou bureaucrates puissent les créer directement) en configurant les droits utilisateur.

L’extension ConfirmEdit peut être utilisée (en conjonction avec l’extension ConfirmAccount) afin d’utiliser des captchas pour bloquer les flux continus de demandes.

Installation

  • Téléchargez et placez le(s) fichiers (s) dans un répertoire appelé ConfirmAccount dans votre dossier extensions/.
  • Ajoutez le code suivant à la fin de votre fichier LocalSettings.php :
    require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";
    
  • Exécutez le script de mise à jour qui va créer automatiquement les tables de base de données dont cette extension a besoin.
  • Assurez-vous que le wiki dispose des droits en écriture sur $wgUploadDirectory.
  •   Fait – Accédez à Special:Version sur votre wiki pour vérifier que l'extension a bien été installée.


Configuration

Facultatif

Il existe quelques paramètres de configuration uqi peuvent être ajustés dans LocalSettings.php (après la ligne require_once qui inclut ConfirmAccount.php). Voir ConfirmAccount.config.php pour toutes les variables pouvant être initialisées. Les valeurs par défaut sont dans ConfirmAccount.config.php,(mais vous ne devez pas modifier ce fichier).

For example, to set the person's bio as their userpage, set $wgMakeUserPageFromBio = true.

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, modifiez $wgConfirmAccountRequestFormItems['Biography']['minWords'] dans LocalSettings.php, par exemple sur 10 mots :
$wgConfirmAccountRequestFormItems['Biography']['minWords'] = 10;

Pour désactiver la biographie, mettez $wgConfirmAccountRequestFormItems ['Biography']['enabled'] à false :

$wgConfirmAccountRequestFormItems['Biography']['enabled'] = false;
Les administrateurs système (sysops) peuvent encore créer des comptes directement. Pour empêcher cela, ajoutez au fichier LocalSettings.php :
$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 = array( '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 être 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';

Sending notification email to multiple users

This extension allows sending emails to multiple approvers to confirm the account if these users have the confirmaccount-notify permission. This is in addition/alternative to the $wgConfirmAccountContact setting.

This can be achieved (for instance for bureaucrats) by providing them this permission by adding the following to 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 LocalSettings.php, après la déclaration nécessaire, mettez Rejected-Age à 0 (pour expiration immédiate après rejet), ou donnez la valeur du temps d'attente que vous aurez choisi en secondes :

require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";
$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 » ajouter ceci au fichier LocalSettings.php :

$wgHooks['PersonalUrls'][] = 'onPersonalUrls';

function onPersonalUrls( array &$personal_urls, Title $title, SkinTemplate $skin  ) {
    // Add a link to Special:RequestAccount if a link exists for login
    if ( isset( $personal_urls['login'] ) || isset( $personal_urls['anonlogin'] ) ) {
            $personal_urls['createaccount'] = array(
                'text' => wfMessage( 'requestaccount' )->text(),
                'href' => SpecialPage::getTitleFor( 'RequestAccount' )->getFullURL()
            );
    }
    return true;
}

ainsi que le texte « Demander un compte » sur la page MediaWiki:Requestaccount.

Problèmes connus

  • N'initialisez pas $wgGroupPermissions['*']['createaccount'] à true dans LocalSettings, car cela va réécraser la demande de connexion et autorisera les utilisateurs à se connecter sans confirmer.
  • 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 Extension:Password Reset ou 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

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.

require_once "$IP/extensions/ConfirmAccount/ConfirmAccount.php";
$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

Références