# Enabled extensions. Most of the extensions are enabled by adding # wfLoadExtension( 'ExtensionName' ); # to LocalSettings.php. Check specific extension documentation for more details. # The following extensions were automatically enabled: wfLoadExtension( 'AbuseFilter' ); wfLoadExtension( 'AntiSpoof' ); wfLoadExtension( 'ApprovedRevs' ); wfLoadExtension( 'CategoryTree' ); wfLoadExtension( 'Cite' ); wfLoadExtension( 'CiteThisPage' ); wfLoadExtension( 'CodeEditor' ); wfLoadExtensions([ 'ConfirmEdit', 'ConfirmEdit/QuestyCaptcha' ]); wfLoadExtension( 'CSS' ); wfLoadExtension( 'Discord' ); wfLoadExtension( 'DiscussionTools' ); wfLoadExtension( 'Echo' ); wfLoadExtension( 'EmbedVideo' ); wfLoadExtension( 'FloatingUI' ); wfLoadExtension( 'FontAwesome' ); wfLoadExtension( 'Gadgets' ); wfLoadExtension( 'ImageMap' ); wfLoadExtension( 'InputBox' ); wfLoadExtension( 'Interwiki' ); wfLoadExtension( 'Linter' ); wfLoadExtension( 'LoginNotify' ); wfLoadExtension( 'Math' ); wfLoadExtension( 'Mermaid' ); wfLoadExtension( 'MobileFrontend' ); wfLoadExtension( 'MultimediaViewer' ); wfLoadExtension( 'Nuke' ); wfLoadExtension( 'OATHAuth' ); wfLoadExtension( 'OpenIDConnect' ); wfLoadExtension( 'PageImages' ); wfLoadExtension( 'ParserFunctions' ); wfLoadExtension( 'PreToClip' ); wfLoadExtension( 'PdfHandler' ); wfLoadExtension( 'PluggableAuth' ); wfLoadExtension( 'Poem' ); wfLoadExtension( 'PortableInfobox' ); wfLoadExtension( 'Purge' ); wfLoadExtension( 'QRLite' ); wfLoadExtension( 'ReplaceText' ); wfLoadExtension( 'RevisionSlider' ); wfLoadExtension( 'Scribunto' ); wfLoadExtension( 'SandboxLink'); wfLoadExtension( 'SecureLinkFixer' ); wfLoadExtension( 'ShortDescription' ); wfLoadExtension( 'SpamBlacklist' ); wfLoadExtension( 'Sudo' ); wfLoadExtension( 'SyntaxHighlight_GeSHi' ); wfLoadExtension( 'TabberNeue' ); wfLoadExtension( 'TemplateData' ); wfLoadExtension( 'TemplateStyles' ); wfLoadExtension( 'TemplateStylesExtender' ); wfLoadExtension( 'Thanks' ); wfLoadExtension( 'TitleBlacklist' ); wfLoadExtension( 'UserMerge' ); wfLoadExtension( 'VisualEditor' ); wfLoadExtension( 'WikiEditor' ); wfLoadExtension( 'WikiSEO' ); # End of automatically generated settings. # Add more configuration options below. // ============================================================================= // REDIS CONFIGURATION // ============================================================================= $wgObjectCaches['redis'] = [ 'class' => 'RedisBagOStuff', 'servers' => [ 'mediawiki-main-redis:6379' ], ]; $wgMainCacheType = 'redis'; $wgSessionCacheType = 'redis'; $wgMainStash = 'redis'; // Optionnel : utiliser Redis pour la JobQueue $wgJobTypeConf['default'] = [ 'class' => 'JobQueueRedis', 'redisServer' => 'mediawiki-main-redis:6379', 'redisConfig' => [], 'claimTTL' => 3600, 'daemonized' => true ]; // ============================================================================= // COOKIEWARNING CONFIGURATION // ============================================================================= wfLoadExtension( 'CookieWarning' ); $wgCookieWarningEnabled = true; $wgCookieWarningGeoIPLookup = 'js'; // ============================================================================= // ECHO (NOTIFICATION) CONFIGURATION // ============================================================================= // ============================================================================= // UPLOADWIZARD CONFIGURATION // ============================================================================= wfLoadExtension( 'UploadWizard' ); $wgExtensionFunctions[] = function() { $GLOBALS['wgUploadNavigationUrl'] = SpecialPage::getTitleFor('UploadWizard')->getLocalURL(); return true; }; // 1) Définir les jeux de licences "travail personnel" et "tiers" $wgUploadWizardConfig['licensing'] = [ 'defaultType' => 'ownwork', // vue par défaut 'ownwork' => [ // Ces identifiants doivent correspondre à des Modèle:… existants 'licenses' => [ 'Cc-by-sa-4.0', 'Cc-by-4.0', 'Cc-zero' ] ], 'thirdparty' => [ 'licenses' => [ 'GFDL', 'Licence-Art-Libre', 'Cc-by-nc-4.0', 'Cc-by-nc-sa-4.0', 'Cc-by-nd-4.0', 'Public-domain', 'Copyright', 'Mojang' ] ] ]; // 2) Champs affichés (facultatif mais pratique) $wgUploadWizardConfig['display'] = [ 'fields' => [ 'description', 'date', 'source', 'author', 'other' ] ]; // 3) Désactiver les campagnes si tu veux d’abord valider le flux par défaut // $wgUploadWizardConfig['autoAdd']['wikitext'] = ""; // laisse vide wfLoadExtension( 'EventLogging' ); $wgEventLoggingBaseUri = '/beacon/event'; $wgEventLoggingServiceUri = '/beacon/intake-analytics'; $wgEventLoggingStreamNames = false; // ============================================================================= // EASYTIMELINE CONFIGURATION // ============================================================================= wfLoadExtension( 'timeline' ); $wgTimelinePloticusCommand = '/usr/bin/ploticus'; $wgTimelinePerlCommand = '/usr/bin/perl'; $wgTimelineFontDirectory = '/usr/share/fonts/truetype/freefont'; // Directory containing FreeSans.ttf. // ============================================================================= // MOBILEFRONTEND CONFIGURATION // ============================================================================= $wgDefaultMobileSkin = 'citizen'; // ============================================================================= // CONFIRMEDIT CONFIGURATION // ============================================================================= $wgCaptchaClass = 'QuestyCaptcha'; // Add your questions in LocalSettings.php using this format: $wgCaptchaQuestions = [ 'Comment se nomme le grade par défaut sur Nefald?' => [ 'maraud', 'Maraud'], 'Quel est le nom de notre communauté?' => [ 'nefald', 'Nefald' ], // You can use variables ]; // ============================================================================= // OPTIMIZED CONFIGURATION FOR CIRRUSSEARCH AND SUGGESTIONS // ============================================================================= // --- Step 1: Load the required extensions. // Elastica must be loaded before CirrusSearch for proper functioning. wfLoadExtension( 'Elastica' ); wfLoadExtension( 'CirrusSearch' ); // --- Step 2: Set CirrusSearch as the default search engine for the wiki. // This ensures that all search queries use CirrusSearch instead of the default MediaWiki search. $wgSearchType = 'CirrusSearch'; // --- Step 3: Define the Elasticsearch host(s). // 'nefald-elasticsearch-main' is the service name from your docker-compose.yml file. // For a high-availability cluster, you would list multiple hosts here: // e.g., $wgCirrusSearchServers = [ 'es-node1', 'es-node2', 'es-node3' ]; $wgCirrusSearchServers = [ 'mediawiki-main-elasticsearch' ]; // --- Step 4: Set a base name for the Elasticsearch index. (Highly Recommended) // Using $wgDBname ensures the Elasticsearch index is uniquely tied to this specific wiki's database. // This is crucial to prevent conflicts if you run multiple wikis on the same Elasticsearch cluster. $wgCirrusSearchIndexBaseName = $wgDBname; // --- Step 5: Enable real-time updates for the search index. // Setting $wgDisableSearchUpdate to `false` ensures that the search index // is updated immediately after a page is saved, edited, or deleted. // Only set to `true` temporarily during large data imports or maintenance activities // to avoid performance overhead during bulk operations. $wgDisableSearchUpdate = false; // --- Step 6: Configure search suggestions (autocomplete) for the search box. // 'content' profile is generally the best choice for most wikis, as it builds // suggestions from page titles and redirects, offering a relevant user experience. $wgCirrusSearchEnableCompletionSuggester = 'content'; // --- Step 7: Define languages for the completion suggester. (Optional) // Specify the languages for which suggestions should be generated. // Example for English and French: $wgCirrusSearchCompletionSuggesterLanguages = [ 'en', 'fr' ]; // --- Step 8: Improve suggestion quality by enabling subphrase matching. (Optional but recommended) // This allows the suggester to match phrases within a title, not just from the beginning. // For example, searching for "search" could suggest "CirrusSearch" or "Advanced Search". $wgCirrusSearchCompletionSuggesterSubphrases = true; // --- Step 9: Set a refresh interval for the suggester index. (Optional) // This controls how often the suggester index is updated. // A value of 600 seconds (10 minutes) is often a good balance for frequently updated wikis. // Adjust based on your wiki's activity and performance needs. $wgCirrusSearchCompletionSuggesterRefreshInterval = 600; // in seconds // ============================================================================= // 3D - STL SUPPORT // ============================================================================= # Extension 3D wfLoadExtension('3D'); # Chemin vers 3d2png $wg3dProcessor = [ '/usr/bin/xvfb-run', '-a', '-s', '-ac -screen 0 1280x1024x24', '/opt/3d2png/3d2png.js' ]; # Configuration optionnelle $wg3dProcessEnviron = [ 'NODE_PATH' => '/opt/3d2png/node_modules' ]; # Taille des miniatures (optionnel) $wgThumbnailMinimumSize = 300; # Multimediaviwer configuration $wgMediaViewerExtensions['stl'] = 'mmv.3d'; // ============================================================================= // TEXTEXTRACTS EXTENSION (requis pour RelatedArticles) // ============================================================================= wfLoadExtension( 'TextExtracts' ); $wgExtractsRemoveClutter = true; $wgExtractsExtendOpenSearchXml = true; // ============================================================================= // RELATEDARTICLES EXTENSION // ============================================================================= wfLoadExtension( 'RelatedArticles' ); // API URL $wgRelatedArticlesUseCirrusSearchApiUrl = '/api.php'; // Configuration spécifique pour Citizen skin $wgRelatedArticlesFooterAllowedSkins = [ 'citizen' ]; // Paramètres d'affichage $wgRelatedArticlesShowInFooter = true; $wgRelatedArticlesCardLimit = 6; $wgRelatedArticlesDescriptionSource = 'textextracts'; // ou 'textextracts' // Force l'activation $wgRelatedArticlesUseCirrusSearch = true; $wgRelatedArticlesLoggingSamplingRate = 0; // ============================================================================= // POPUPS CONFIGURATION // ============================================================================= wfLoadExtension( 'Popups' ); $wgPopupsHideOptInOnPreferencesPage = true; $wgPopupsReferencePreviewsBetaFeature = false; // Attention : Cela peut inclure des éléments non désirés dans l'aperçu (titres, etc.) $wgPopupsTextExtractsIntroOnly = false; // ============================================================================= // DPL3 CONFIGURATION // ============================================================================= wfLoadExtension( 'DynamicPageList4' ); // Autoriser DPL à exécuter les parser functions et à substituer les variables dans ses résultats $dplSettings['functionalRichness'] = 3; // ============================================================================= // DISCORD CONFIGURATION // ============================================================================= // List webhook URLs to send notifications to (string or array containing strings) $wgDiscordWebhookURL = [ "https://discord.com/api/webhooks/1410960243000606752/sh6tgT9a7G4dnDz1rWSxbk9Cam1QUsQE0u3Dz6J78zMRxhruxewLjgiqimjRSsjwKaT9" ]; // ============================================================================= // OPENID CONNECT CONFIGURATION // ============================================================================= $wgPluggableAuth_Config['Se connecter en SSO'] = [ 'plugin' => 'OpenIDConnect', 'data' => [ 'providerURL' => 'https://auth.nefald.fr/application/o/mediawiki-main/', 'clientID' => 'EHCbYIByFjeTIN9uyhgenBsXbtOLwaLfykFsz0NK', 'clientsecret' => 'WS1W0zMmMtr61VGRMVbSx2DHDoDh7k6oHcqYELvN60r8YHFdOkdTAd4nvynji9egqhOTkRdxpWAgMaxfy8I9byKQ0LvEhg63Ll7WNp8W1m7Iw0namMDzGFF6PvHsa1wc', 'scope' => ['openid', 'profile', 'email'], 'authorizationEndpoint' => 'https://auth.nefald.fr/application/o/authorize/', 'tokenEndpoint' => 'https://auth.nefald.fr/application/o/token/', 'userinfoEndpoint' => 'https://auth.nefald.fr/application/o/userinfo/', 'preferred_username' => 'preferred_username', 'migrateUsersByEmail' => true, 'migrateUsersByUserName' => false, ] ]; # Configuration PluggableAuth $wgPluggableAuth_EnableAutoLogin = false; $wgPluggableAuth_EnableLocalLogin = true; $wgPluggableAuth_EnableLocalProperties = false; $wgPluggableAuth_ButtonLabelMessage = 'Se connecter en SSO'; $wgPluggableAuth_PropagateUsernameChanges = false; // LocalisationUpdate (commented out - uncomment if needed) // wfLoadExtension( 'LocalisationUpdate' ); // $wgLocalisationUpdateDirectory = "$IP/cache"; // ============================================================================= // EMAIL CONFIGURATION // ============================================================================= # Mailgun $wgSMTP = array ( 'host' => 'smtp.eu.mailgun.org', 'IDHost' => 'mailing.nefald.fr', 'port' => 587, 'username' => 'mediawiki@mailing.nefald.fr', 'password' => '8f7cbe19338926029ea6f50952c7c833-5a4acb93-f83edd77', 'auth' => true ); // ============================================================================= // APPROVED REVS // ============================================================================= // 1. CHARGER L'EXTENSION D'ABORD wfLoadExtension('ApprovedRevs'); // 2. ESPACES DE NOMS APPROUVABLES $egApprovedRevsEnabledNamespaces = [ NS_MAIN => true, // Espace principal (0) NS_HELP => true, // Espace aide NS_PROJECT => true, // Espace projet NS_TEMPLATE => true // Espace modèles ]; // 3. FORCER L'APPROBATION : pages vides si jamais approuvées //$egApprovedRevsBlankIfUnapproved = true; // 4. DÉSACTIVER L'AUTO-APPROBATION $egApprovedRevsAutomaticApprovals = false; // 5. AFFICHER LE LIEN "Approuver la dernière révision" (pour les sysops) $egApprovedRevsShowApproveLatest = true; // 6. NE PAS AFFICHER DE MESSAGE AUX UTILISATEURS NORMAUX $egApprovedRevsShowNotApprovedMessage = false; // ============================================================================= // PERMISSIONS SYSTEM - DEFAULT GROUP // ============================================================================= // Anonymous users permissions $wgGroupPermissions['*']['read'] = true; $wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['upload'] = false; $wgGroupPermissions['*']['skipcaptcha'] = false; $wgGroupPermissions['*']['createpage'] = false; $wgGroupPermissions['*']['createtalk'] = false; $wgGroupPermissions['*']['createaccount'] = true; $wgGroupPermissions['*']['autocreateaccount'] = true; $wgGroupPermissions['*']['viewlinktolatest'] = false; $wgGroupPermissions['*']['viewapprover'] = false; $wgGroupPermissions['*']['approverevisions'] = false; // Registered users permissions $wgGroupPermissions['user']['move'] = false; $wgGroupPermissions['user']['edit'] = true; $wgGroupPermissions['user']['skipcaptcha'] = false; $wgGroupPermissions['user']['createpage'] = true; $wgGroupPermissions['user']['upload'] = false; $wgGroupPermissions['user']['minoredit'] = true; $wgGroupPermissions['user']['viewlinktolatest'] = false; $wgGroupPermissions['user']['viewapprover'] = false; $wgGroupPermissions['user']['approverevisions'] = false; # Autoconfirmed user $wgAutoConfirmAge = 4 * 24 * 3600; // 4 jours en secondes $wgAutoConfirmCount = 20; // 10 modifications minimum $wgGroupPermissions['autoconfirmed']['upload'] = true; $wgGroupPermissions['autoconfirmed']['autoconfirmed'] = true; $wgGroupPermissions['autoconfirmed']['skipcaptcha'] = false; $wgGroupPermissions['autoconfirmed']['editsemiprotected'] = true; $wgGroupPermissions['autoconfirmed']['viewlinktolatest'] = false; $wgGroupPermissions['autoconfirmed']['viewapprover'] = false; $wgGroupPermissions['autoconfirmed']['approverevisions'] = false; # Bureaucrate user $wgGroupPermissions['bureaucrat']['approverevisions'] = true; $wgGroupPermissions['bureaucrat']['viewlinktolatest'] = true; # Sysop user $wgGroupPermissions['sysop']['viewlinktolatest'] = true; $wgGroupPermissions['sysop']['viewapprover'] = true; $wgGroupPermissions['sysop']['approverevisions'] = true; $wgGroupPermissions['sysop']['skipcaptcha'] = true; $wgGroupPermissions['sysop']['autopatrol'] = true; // Bot user $wgGroupPermissions['bot']['skipcaptcha'] = true; // ============================================================================= // EDITOR GROUP PERMISSIONS - Configuration complète // ============================================================================= // ----------------------------------------------------------------------------- // 1. PERMISSIONS DE BASE - Accès et lecture fondamentaux // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['read'] = true; // Lecture des pages $wgGroupPermissions['editor']['autoconfirmed'] = true; // Statut utilisateur confirmé // ----------------------------------------------------------------------------- // 2. ÉDITION ET CRÉATION - Permissions de contenu // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['edit'] = true; // Éditer les pages $wgGroupPermissions['editor']['createpage'] = true; // Créer nouvelles pages $wgGroupPermissions['editor']['createtalk'] = true; // Créer pages de discussion $wgGroupPermissions['editor']['minoredit'] = true; // Marquer modifications mineures $wgGroupPermissions['editor']['writeapi'] = true; // Utiliser API en écriture $wgGroupPermissions['editor']['viewlinktolatest'] = true; // Voir le lien des révisions $wgGroupPermissions['editor']['viewapprover'] = true; // Voir les révisions approuvées $wgGroupPermissions['editor']['approverevisions'] = false; // Ne pas permettre d'approuver les révisions // ----------------------------------------------------------------------------- // 3. PROTECTION ET NIVEAUX D'ÉDITION - Hiérarchie des restrictions // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['editsemiprotected'] = true; // Éditer pages semi-protégées $wgGroupPermissions['editor']['editprotected'] = false; // Ne pas éditer pages protégées génériques $wgGroupPermissions['editor']['editallprotected'] = false; // Ne pas éditer TOUTES les pages protégées // ----------------------------------------------------------------------------- // 4. DÉPLACEMENT ET RENOMMAGE - Gestion de l'organisation // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['move'] = true; // Déplacer les pages $wgGroupPermissions['editor']['move-subpages'] = true; // Déplacer avec sous-pages // ----------------------------------------------------------------------------- // 5. UPLOAD ET GESTION FICHIERS - Médias et ressources // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['upload'] = true; // Télécharger fichiers $wgGroupPermissions['editor']['reupload'] = true; // Remplacer fichiers existants // ----------------------------------------------------------------------------- // 6. SUPPRESSION ET RESTAURATION - Gestion du cycle de vie // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['delete'] = false; // Ne pas supprimer pages $wgGroupPermissions['editor']['undelete'] = false; // Ne pas restaurer pages supprimées // ----------------------------------------------------------------------------- // 7. MASQUAGE ET SUPPRESSION (OVERSIGHT) - Contrôle total // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['suppressrevision'] = false; // Ne pas masquer révisions (oversight) // ----------------------------------------------------------------------------- // 8. BLOCAGE ET MODÉRATION - Contrôle utilisateurs // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['block'] = false; // Ne pas bloquer utilisateurs // ----------------------------------------------------------------------------- // 9. PATROUILLE ET CONTRÔLE QUALITÉ - Supervision // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['patrol'] = true; // Patrouiller modifications $wgGroupPermissions['editor']['autopatrol'] = true; // Auto-patrouiller ses modifs // ----------------------------------------------------------------------------- // 10. INTERFACE ET SYSTÈME - Personnalisation avancée // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['editinterface'] = false; // Ne pas éditer interface (MediaWiki:*) $wgGroupPermissions['editor']['editsitecss'] = false; // Ne pas éditer CSS du site $wgGroupPermissions['editor']['editsitejs'] = false; // Ne pas éditer JavaScript du site // ----------------------------------------------------------------------------- // 11. GESTION UTILISATEURS - Droits et groupes // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['userrights'] = false; // Ne pas modifier droits utilisateurs // ----------------------------------------------------------------------------- // 12. IMPORT/EXPORT ET FUSION - Gestion données // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['import'] = false; // Ne pas importer pages // ----------------------------------------------------------------------------- // 13. OUTILS TECHNIQUES ET MAINTENANCE - Administration // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['siteadmin'] = false; // Ne pas administration générale // ----------------------------------------------------------------------------- // 14. COMMUNICATION ET PROFIL - Gestion personnelle // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['sendemail'] = true; // Envoyer emails via wiki // ----------------------------------------------------------------------------- // 15. TAGS ET MÉTADONNÉES - Organisation avancée // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['applychangetags'] = true; // Appliquer tags de modification // ----------------------------------------------------------------------------- // 16. SPAM ET FILTRES - Protection anti-abus // ----------------------------------------------------------------------------- $wgGroupPermissions['editor']['skipcaptcha'] = true; // Pas de captcha // Gestion complète des groupes d'utilisateurs $wgAddGroups['editor'] = false; // Ne peut pas ajouter TOUS les groupes $wgRemoveGroups['editor'] = false; // Ne peut pas retirer TOUS les groupes $wgGroupsAddToSelf['editor'] = false; // Ne peut pas s'auto-ajouter de groupes $wgGroupsRemoveFromSelf['editor'] = array(); // Ne peut pas se retirer de groupes // ============================================================================= // OWNER GROUP PERMISSIONS - CONFIGURATION COMPLÈTE ET ORGANISÉE // ============================================================================= // ----------------------------------------------------------------------------- // 1. PERMISSIONS DE BASE - Accès et lecture fondamentaux // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['read'] = true; // Lecture des pages $wgGroupPermissions['owner']['autoconfirmed'] = true; // Statut utilisateur confirmé // ----------------------------------------------------------------------------- // 2. ÉDITION ET CRÉATION - Permissions de contenu // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['edit'] = true; // Éditer les pages $wgGroupPermissions['owner']['createpage'] = true; // Créer nouvelles pages $wgGroupPermissions['owner']['createtalk'] = true; // Créer pages de discussion $wgGroupPermissions['owner']['minoredit'] = true; // Marquer modifications mineures $wgGroupPermissions['owner']['editcontentmodel'] = true; // Changer modèle de contenu $wgGroupPermissions['owner']['writeapi'] = true; // Utiliser API en écriture $wgGroupPermissions['owner']['viewlinktolatest'] = true; // Voir le lien des révisions $wgGroupPermissions['owner']['viewapprover'] = true; // Voir les révisions approuvées $wgGroupPermissions['owner']['approverevisions'] = true; // Approuver les révisions // ----------------------------------------------------------------------------- // 3. PROTECTION ET NIVEAUX D'ÉDITION - Hiérarchie des restrictions // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['editowner'] = true; // Éditer pages protégées 'owner' $wgGroupPermissions['owner']['editbureaucrat'] = true; // Éditer pages protégées 'bureaucrat' $wgGroupPermissions['owner']['editsysop'] = true; // Éditer pages protégées 'sysop' $wgGroupPermissions['owner']['editinterface-admin'] = true; // Éditer pages protégées 'interface-admin' $wgGroupPermissions['owner']['editsemiprotected'] = true; // Éditer pages semi-protégées $wgGroupPermissions['owner']['editprotected'] = true; // Éditer pages protégées génériques $wgGroupPermissions['owner']['editallprotected'] = true; // Éditer TOUTES les pages protégées $wgGroupPermissions['owner']['protect'] = true; // Protéger/déprotéger les pages // ----------------------------------------------------------------------------- // 4. DÉPLACEMENT ET RENOMMAGE - Gestion de l'organisation // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['move'] = true; // Déplacer les pages $wgGroupPermissions['owner']['moveowner'] = true; // Déplacer pages protégées 'owner' $wgGroupPermissions['owner']['move-subpages'] = true; // Déplacer avec sous-pages $wgGroupPermissions['owner']['move-rootuserpages'] = true; // Déplacer pages utilisateur racine $wgGroupPermissions['owner']['move-categorypages'] = true; // Déplacer pages de catégories $wgGroupPermissions['owner']['movefile'] = true; // Déplacer fichiers // ----------------------------------------------------------------------------- // 5. UPLOAD ET GESTION FICHIERS - Médias et ressources // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['upload'] = true; // Télécharger fichiers $wgGroupPermissions['owner']['reupload'] = true; // Remplacer fichiers existants $wgGroupPermissions['owner']['reupload-own'] = true; // Remplacer ses propres fichiers $wgGroupPermissions['owner']['reupload-shared'] = true; // Remplacer fichiers partagés $wgGroupPermissions['owner']['upload_by_url'] = true; // Upload depuis URL // ----------------------------------------------------------------------------- // 6. SUPPRESSION ET RESTAURATION - Gestion du cycle de vie // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['delete'] = true; // Supprimer pages $wgGroupPermissions['owner']['bigdelete'] = true; // Supprimer pages voluminuses $wgGroupPermissions['owner']['deletelogentry'] = true; // Supprimer entrées de journal $wgGroupPermissions['owner']['deleterevision'] = true; // Supprimer révisions spécifiques $wgGroupPermissions['owner']['undelete'] = true; // Restaurer pages supprimées $wgGroupPermissions['owner']['deletedhistory'] = true; // Voir historique supprimé $wgGroupPermissions['owner']['deletedtext'] = true; // Voir texte supprimé $wgGroupPermissions['owner']['browsearchive'] = true; // Parcourir archives // ----------------------------------------------------------------------------- // 7. MASQUAGE ET SUPPRESSION (OVERSIGHT) - Contrôle total // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['suppressrevision'] = true; // Masquer révisions (oversight) $wgGroupPermissions['owner']['suppressionlog'] = true; // Voir journal de masquage $wgGroupPermissions['owner']['viewsuppressed'] = true; // Voir contenu masqué $wgGroupPermissions['owner']['hideuser'] = true; // Masquer nom d'utilisateur $wgGroupPermissions['owner']['suppressredirect'] = true; // Supprimer sans redirection // ----------------------------------------------------------------------------- // 8. BLOCAGE ET MODÉRATION - Contrôle utilisateurs // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['block'] = true; // Bloquer utilisateurs $wgGroupPermissions['owner']['blockemail'] = true; // Bloquer envoi emails $wgGroupPermissions['owner']['ipblock-exempt'] = true; // Exempt de blocage IP $wgGroupPermissions['owner']['proxyunbannable'] = true; // Exempt blocage proxy $wgGroupPermissions['owner']['sudo'] = true; // Impersonate user // ----------------------------------------------------------------------------- // 9. PATROUILLE ET CONTRÔLE QUALITÉ - Supervision // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['patrol'] = true; // Patrouiller modifications $wgGroupPermissions['owner']['autopatrol'] = true; // Auto-patrouiller ses modifs $wgGroupPermissions['owner']['rollback'] = true; // Révocation rapide $wgGroupPermissions['owner']['markbotedits'] = true; // Marquer éditions comme bot // ----------------------------------------------------------------------------- // 10. INTERFACE ET SYSTÈME - Personnalisation avancée // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['editinterface'] = true; // Éditer interface (MediaWiki:*) $wgGroupPermissions['owner']['editsitecss'] = true; // Éditer CSS du site $wgGroupPermissions['owner']['editsitejs'] = true; // Éditer JavaScript du site $wgGroupPermissions['owner']['editusercssjs'] = true; // Éditer CSS/JS utilisateurs $wgGroupPermissions['owner']['editusercss'] = true; // Éditer CSS utilisateurs $wgGroupPermissions['owner']['edituserjs'] = true; // Éditer JS utilisateurs // ----------------------------------------------------------------------------- // 11. GESTION UTILISATEURS - Droits et groupes // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['userrights'] = true; // Modifier droits utilisateurs $wgGroupPermissions['owner']['userrights-interwiki'] = true; // Droits users inter-wiki // ----------------------------------------------------------------------------- // 12. IMPORT/EXPORT ET FUSION - Gestion données // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['import'] = true; // Importer pages $wgGroupPermissions['owner']['importupload'] = true; // Importer via upload $wgGroupPermissions['owner']['mergehistory'] = true; // Fusionner historiques $wgGroupPermissions['owner']['upwizcampaigns'] = true; // Edition de campagne UploadWizard // ----------------------------------------------------------------------------- // 13. OUTILS TECHNIQUES ET MAINTENANCE - Administration // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['siteadmin'] = true; // Administration générale $wgGroupPermissions['owner']['unwatchedpages'] = true; // Voir pages non suivies $wgGroupPermissions['owner']['purge'] = true; // Purger cache pages $wgGroupPermissions['owner']['noratelimit'] = true; // Pas de limite de taux $wgGroupPermissions['owner']['vipsscaler-test'] = true; // Test redimensionnement images // ----------------------------------------------------------------------------- // 14. COMMUNICATION ET PROFIL - Gestion personnelle // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['sendemail'] = true; // Envoyer emails via wiki $wgGroupPermissions['owner']['editmyusercss'] = true; // Éditer son CSS personnel $wgGroupPermissions['owner']['editmyuserjs'] = true; // Éditer son JS personnel $wgGroupPermissions['owner']['viewmywatchlist'] = true; // Voir sa liste de suivi $wgGroupPermissions['owner']['editmywatchlist'] = true; // Modifier sa liste de suivi $wgGroupPermissions['owner']['viewmyprivateinfo'] = true; // Voir ses infos privées $wgGroupPermissions['owner']['editmyprivateinfo'] = true; // Éditer ses infos privées $wgGroupPermissions['owner']['editmyoptions'] = true; // Modifier ses préférences // ----------------------------------------------------------------------------- // 15. TAGS ET MÉTADONNÉES - Organisation avancée // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['applychangetags'] = true; // Appliquer tags de modification $wgGroupPermissions['owner']['changetags'] = true; // Modifier tags existants // ----------------------------------------------------------------------------- // 16. SPAM ET FILTRES - Protection anti-abus // ----------------------------------------------------------------------------- $wgGroupPermissions['owner']['skipcaptcha'] = true; // Pas de captcha $wgGroupPermissions['owner']['abusefilter-view'] = true; // Voir filtres anti-abus $wgGroupPermissions['owner']['abusefilter-log'] = true; // Journal filtres anti-abus $wgGroupPermissions['owner']['override-antispoof'] = true; // Contourner anti-usurpation $wgGroupPermissions['owner']['tboverride'] = true; // Contourner titre blacklist $wgGroupPermissions['owner']['titleblacklistlog'] = true; // Journal liste noire titres $wgGroupPermissions['owner']['spamblacklistlog'] = true; // Journal liste noire spam // ============================================================================= // CONFIGURATION DES GROUPES - Gestion hiérarchique // ============================================================================= // Gestion complète des groupes d'utilisateurs $wgAddGroups['owner'] = true; // Peut ajouter TOUS les groupes $wgRemoveGroups['owner'] = true; // Peut retirer TOUS les groupes $wgGroupsAddToSelf['owner'] = false; // Ne peut pas s'auto-ajouter de groupes $wgGroupsRemoveFromSelf['owner'] = array(); // Ne peut pas se retirer de groupes // ============================================================================= // NIVEAUX DE RESTRICTION - Hiérarchie de protection // ============================================================================= // Définition de tous les niveaux de protection disponibles (du moins au plus restrictif) $wgRestrictionLevels = ['', 'autoconfirmed', 'sysop', 'bureaucrat', 'owner']; // Permissions spécifiques pour éditer chaque niveau de protection $wgGroupPermissions['autoconfirmed']['editautoconfirmed'] = true; // Autoconfirmés peuvent éditer niveau 'autoconfirmed' $wgGroupPermissions['sysop']['editsysop'] = true; // Sysops peuvent éditer niveau 'sysop' $wgGroupPermissions['bureaucrat']['editbureaucrat'] = true; // Bureaucrates peuvent éditer niveau 'bureaucrat' // Interface-admin : permissions spéciales pour pages système MediaWiki:* $wgGroupPermissions['interface-admin']['editinterface-admin'] = true; // Interface-admins peuvent éditer niveau 'interface-admin' # Force refresh des permissions $wgMainCacheType = CACHE_NONE;