# 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;
Principaux journaux publics — Nefald
Affichage combiné de tous les journaux disponibles sur Nefald.
Vous pouvez personnaliser l’affichage en sélectionnant le type de journal, le nom d’utilisateur ou la page concernée (ces deux derniers étant sensibles à la casse).