Glider.png

Le wiki : Accueil - Administrateur - Bureautique - Développeur - Intégrateur - Marketing - Multimédia - Objets numériques - Jeux - We make Hack

Le site : Accueil du site - Annuaire - Blog - Forum - Outils - Utilisateur
Le FTP : Accueil du FTP - Le privatebin : Accueil du privatebin
Le Redmine : Accueil du Redmine

Sommaire

Accueil Utiliser Mediawiki

Because Ideas want to be free.
Mediawiki est un outil de base de connaissance développé à l'origine pour l'encyclopédie Wikipedia.
Les publications sont immédiatement en ligne sans avoir à être validées par une autorité.
Avec Mediawiki la page contient essentiellement le sujet de votre recherche.

Installer ou mettre à jour Mediawiki

Installer ou mettre à jour Mediawiki.
1 Installer Mediawiki rapidement
2 Télécharger Mediawiki
3 Les versions installées
   3.1 Suivi de maintenance
       3.1.1 Résolu - Nuke
       3.1.2 Résolu - DeletePagesForGood
       3.1.3 Résolu - Captcha
       3.1.4 Résolu - banneips
4 Installer Mediawiki
   4.1 Installation simple et rapide
5 Mise à jour de Mediawiki
   5.1 Sauvegarder les dossiers de votre installation Mediawiki
   5.2 Procédure pour la mise à jour de Mediawiki
       5.2.1 Mise à jour de la base de données avec une URL
       5.2.2 Mise à jour de la base de données avec une installation
   5.3 Tester la mise à jour
   5.4 Sur le serveur GNU/Linux
       5.4.1 Vérifier les propriétaires groupes et droits

Gérer et installer des extensions

Gérer et installer des extensions pour Mediawiki.
1 Extensions par défaut
   1.1 Créer des références en bas de page avec l'extension cite
   1.2 Ouvrir un lien dans une nouvelle fenêtre
2 Vérifier les extensions installées
3 Utiliser des extensions complémentaires
   3.1 Ajouter un Bridge entre Mediawiki et Joomla 3.x
       3.1.1 Liste d'articles
       3.1.2 Installer le bridge Joomla! / Mediawiki
           3.1.2.1 Installer Mod-mediawiki login 2.7 0616.zip sur Joomla
           3.1.2.2 Ajouter authjoomlaeasy
           3.1.2.3 Fatal exception of type MWException
   3.2 DeleteHistory
       3.2.1 Mise à jour depuis la version 1.28
   3.3 Ajouter des vidéos
       3.3.1 Afficher une vidéo flottante sur la droite
       3.3.2 Afficher une vidéo dans le contenu
           3.3.2.1 Une autre extension pour la vidéo
   3.4 Ajouter des schémas UML
       3.4.1 PlantUML
       3.4.2 yUML
           3.4.2.1 classdiagram
           3.4.2.2 usecase
           3.4.2.3 classdiagram type="scruffy" scale="125"
   3.5 Ajouter un agenda dans Mediawiki
   3.6 Gérer les catégories de Mediawiki
   3.7 Ajouter une timeline dans une page
   3.8 Afficher les changements de Mediawiki sur un site externe avec RSS
   3.9 Afficher un Flux RSS sur une page Mediawiki
       3.9.1 Télécharger les fichiers de l'extension RSS
       3.9.2 Renseigner le fichier LocalSettings.php
       3.9.3 Créer une page de liens en liste blanche
       3.9.4 Créer un modèle de page
       3.9.5 Afficher un RSS
       3.9.6 Donner un nom de catégorie RSS
           3.9.6.1 Afficher 20 lignes avec l'adresse RSS du forum de Vision du web
           3.9.6.2 Afficher 2 lignes avec l'adresse RSS du forum de Vision du web
   3.10 Citer les sources d'une page
   3.11 Ajouter un système de traduction multilingues
   3.12 Ajouter un script Javascript dans le head
   3.13 Réécrire les url avec htaccess
4 Ecrire une extension
5 Liste des variables globales
6 Liste d'extensions non maintenues
   6.1 Activités récentes - Activity Notify
   6.2 Ajouter une page dans une catégorie

Maintenance et sécurité

Maintenance et sécurité de Mediawiki.
1 Maintenance et sécurité de Mediawiki
   1.1 Scripts de maintenance et scripts SQL pour Mediawiki
   1.2 Sauvegarder la base de données de Mediawiki
2 Sécurité de MediaWiki
   2.1 Manuel de sécurité
       2.1.1 Connaître l'IP d'un utilisateur avec l'extension CheckUser
   2.2 Empêcher et nettoyer le spam
       2.2.1 Combattre le spam sur un wiki mediawiki
       2.2.2 Premières réponses en cas de spam
           2.2.2.1 Bloquer certaines pages en non-modifiable
           2.2.2.2 Interdire l'édition aux utilisateurs anonymes
           2.2.2.3 Exiger une confirmation du mail après une création de compte
           2.2.2.4 Interdire la création de nouveaux utilisateurs
           2.2.2.5 Renommer un utilisateur
           2.2.2.6 Passer le site hors ligne
       2.2.3 Captcha
           2.2.3.1 Faiblesses du captcha
           2.2.3.2 ConfirmEdit
           2.2.3.3 Extension QuestyCaptcha
           2.2.3.4 Extension Google ReCaptcha (NoCaptcha)
           2.2.3.5 Captcha KeyCAPTCHA
           2.2.3.6 Captcha Asirra
       2.2.4 Extensions complémentaires pour réduire le spam
           2.2.4.1 Filtre Abuse
           2.2.4.2 Force Preview
           2.2.4.3 Title Blacklist pour interdire les titres et utilisateurs incohérents
           2.2.4.4 Spam Blacklist
               2.2.4.4.1 Spam Blacklist - Liste noire
               2.2.4.4.2 Spam Blacklist ou wgSpamBlacklistFiles
               2.2.4.4.3 Spam Blacklist - Modifier la Blacklist avec SBHandler
           2.2.4.5 AntiBot
           2.2.4.6 RudeProxyBlock
           2.2.4.7 SimpleAntiSpam
           2.2.4.8 Limiter les publications avec wgRateLimits
           2.2.4.9 TorBlock
           2.2.4.10 Bloquer les robots spammeurs avec wgProxyList
               2.2.4.10.1 Compléter la liste des ip interdites
                   2.2.4.10.1.1 Lenteur depuis mediawiki 1.30
           2.2.4.11 Antispam natif $wgSpamRegex
           2.2.4.12 Bad Behavior - Mauvais comportement
           2.2.4.13 Modérer la publication avec Moderation
           2.2.4.14 Bloquer une plage d'adresses IP avec GlobalBlocking
           2.2.4.15 Gestion du contenu révisé avec FlaggedRevs
           2.2.4.16 Limiter la modification de l'espace de noms principal avec wgNamespaceProtection
           2.2.4.17 Cacher des modifications récentes avec Recent_Changes_Cleanup
       2.2.5 Utiliser des protections DNS
           2.2.5.1 DNS blacklists
           2.2.5.2 DNSBL
               2.2.5.2.1 Sorbs
           2.2.5.3 opm.tornevall.org
           2.2.5.4 dnsbl.httpbl.org
               2.2.5.4.1 Liens complémentaires sur DNSBL
               2.2.5.4.2 Project Honey Pot
       2.2.6 Ne pas afficher les logs de suppression avec wgLogRestrictions
       2.2.7 Filtrage par agent utilisateur
       2.2.8 Nettoyer les spams sur mediawiki
           2.2.8.1 Nettoyer Manuellement
           2.2.8.2 Nettoyer Automatiquement
               2.2.8.2.1 Afficher, lier, supprimer les pages orphelines
               2.2.8.2.2 Supprimer des pages en masse pour un utilisateur avec l'extension Nuke
                   2.2.8.2.2.1 Configurer l'extension Nuke
               2.2.8.2.3 Cleanmediawiki
               2.2.8.2.4 Clean up MediaWiki after a spammer
               2.2.8.2.5 Merger ou supprimer un utilisateur avec l'extension UserMerge
               2.2.8.2.6 Restreindre la consultation des révisions
               2.2.8.2.7 Identifier et supprimer des pages en masse avec SmiteSpam
                   2.2.8.2.7.1 Droit de l'utilisateur pour SmiteSpam
               2.2.8.2.8 Suppression définitive de page avec DeletePagesForGood
                   2.2.8.2.8.1 Droits des utilisateurs
                   2.2.8.2.8.2 Espaces de noms
   2.3 Correctifs pour corriger des difficultés de fonctionnement
       2.3.1 Error CDB
       2.3.2 Erreur lors de la création de miniature
   2.4 Protéger le dossier images
3 Configurer le .htaccess de MediaWiki
   3.1 URL raccourcies
       3.1.1 Mettre en place une URL du type domaine.ext/wiki/Accueil avec le fichier .htaccess
           3.1.1.1 Étape 1 - Renseigner le fichier htaccess
           3.1.1.2 Étape 2 - Renseigner le fichier LocalSetting.php
       3.1.2 Mettre en place une URL du type domaine.ext/wiki/index.php?title=Accueil
           3.1.2.1 Dans le cas ou le wiki est dans un dossier wiki
           3.1.2.2 Dans le cas ou le wiki est à la racine du domaine
   3.2 Surcouche de sécurité Aesecure
       3.2.1 Blocage des mails avec Aesecure
4 Bibliographie

Lire le contenu sur un wiki Mediawiki

Consulter le manuel du lecteur : https://meta.wikimedia.org/wiki/Help:Reader/fr

Utiliser les Pages spéciales

Le lien du menu Pages spéciales apporte de nombreuses fonctionnalités.
A consulter : Consulter les fonctionnalités des pages spéciales.

Écrire avec MediaWiki

Ecrire avec MediaWiki.
1 Ecrire avec MediaWiki
   1.1 Utiliser l'éditeur de texte intégré
   1.2 Utiliser des outils pour écrire en markdown
   1.3 Consulter quelques exemples
2 Présenter votre texte
3 Faire un lien
   3.1 Créer un lien interne vers une page du wiki
   3.2 Créer une redirection vers une nouvelle page
   3.3 Images des liens
   3.4 Lien utilisateur
   3.5 Liens vers les pages spéciales
4 Modifier le menu de gauche
5 Ajouter un texte en notice
6 Insérer des images ou des vignettes
7 Ajouter un fichier dans le contenu d'un article
   7.1 Modifier la description du fichier
   7.2 Autoriser les autres types de fichiers souhaités
8 Créer des catégories
   8.1 Un lien vers une page précise classée dans une catégorie
   8.2 Trier une catégorie
   8.3 Catégoriser les images
9 Mots magiques
   9.1 Date
   9.2 Page
   9.3 Autres options
   9.4 Pi
   9.5 Compléments d'informations sur les mots magiques
   9.6 Compléments d'informations sur les fonctions Parser et String
10 Utiliser un commentaire invisible
11 Créer une liste
12 Créer une liste de définitions
13 Créer une Transclusion
14 Créer un modèle
15 Créer des raccourcis
16 Bibliographie

Administration de Mediawiki

Changer le mot de passe utilisateur

Récupérer un mot de passe temporaire avec son nom d'utilisateur (login) depuis la page spéciale Special:UserLogin.
Autre méthode pour changer le mot de passe d'un utilisateur : https://wikitech.wikimedia.org/wiki/Password_reset
Special:PasswordReset  permet de renseigner l'utilisateur pour lequel il faut réinitialiser le mot de passe. Un mail lui sera envoyé.
Special:PasswordReset?wpUsername=Exemple.

Protéger une page contre les modifications et le renommage

Les administrateurs peuvent modifier les pages protégées et ont la capacité de protéger et dé-protéger les pages des actions de modification et de renommage. 
Source : https://www.mediawiki.org/wiki/Manual:Administrators/fr

Gérer les droits des utilisateurs

Se connecter avec un compte administrateur pour ajouter ou retirer un groupe pour un utilisateur et pouvoir ainsi modifier ses droits.
Aller sur la page Spécial:Permissions.
Saisir le nom de l'utilisateur pour lequel on souhaite modifier les droits puis cliquer sur le bouton Modification des groupes d'utilisateurs.
Cocher les groupes auquel appartiendra l'utilisateur ou décocher les groupes auxquels il n'appartiendra plus.
Valider en cliquant sur le bouton Enregistrer.

Restreindre les accès

Attention à l'exposition de données confidentielles.
Si vous avez besoin de restrictions d'accès par page ou partiel, il est conseillé d'installer un module de gestion de contenu approprié.
MediaWiki n'a pas été écrit pour fournir des restrictions d'accès par page, et presque tous les hacks ou correctifs promettant de les ajouter auront probablement des failles quelque part.
Consulter la liste des extensions spécifiques pour la gestion des droits utilisateurs : https://www.mediawiki.org/wiki/Category:Page_specific_user_rights_extensions
Ok-ko.png Documentation de Mediawiki sur les droits des utilisateurs (En anglais) : https://www.mediawiki.org/wiki/Manual:User_rights
Ok-ko.png Documentation de Mediawiki sur les droits des utilisateurs (En français) : https://www.mediawiki.org/wiki/Manual:User_rights/fr

Interdire la lecture de toutes les pages aux utilisateurs non enregistrés

Cet exemple empêche l'affichage de toutes les pages qui ne figurent pas dans $wgWhitelistRead aux utilisateurs qui ne ce sont pas identifiés.
# Désactiver la lecture de toutes les pages pour les utilisateurs non enregistrés.
# Mettre '*' à faux ne supprime pas les droits pour les groupes qui des valeurs à vrai avec true !
$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['user']['read'] = true;

Autoriser la lecture de certaines pages à tous les utilisateurs

# Accueil est la page d'accueil du wiki. Spécial:Créer_un_compte est une page pour enregistrer un nouvel utilisateur..
$wgWhitelistRead =  [ "Accueil", "Spécial:Créer_un_compte", "..." ];
Ok.png Exemples pour restreindre l'accès : https://www.mediawiki.org/wiki/Manual:Preventing_access

Interdire la modification de toutes les pages aux utilisateurs non confirmés

# Désactiver le droit de modification pour tout le monde.
$wgGroupPermissions['*']['edit'] = false;
# Désactiver également les utilisateurs. Par défaut, 'user' est autorisé pour la modification même si '*' a été passé à faux avec false.
$wgGroupPermissions['user']['edit'] = false;
# Faire en sorte que les utilisateurs avec une adresse mail confirmée soient dans le groupe.
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
# Cacher le groupe de la liste des utilisateurs.
$wgImplicitGroups[] = 'emailconfirmed';
# Autoriser la modification pour le groupe des utilisateurs confirmés.
$wgGroupPermissions['emailconfirmed']['edit'] = true;

Groupes utilisateurs

Dans l'installation par défaut les permissions $wgGroupPermissions sont initialisées depuis includes/DefaultSettings.php
Voir le fichier de la version 1.30 stable de Mediawiki : https://phabricator.wikimedia.org/diffusion/MW/browse/REL1_30/includes/DefaultSettings.php
Tous les utilisateurs, les utilisateurs anonymes inclus, sont dans le groupe '*';
Tous les utilisateurs enregistrés se trouvent dans le groupe 'user'.
Héritage
Si un membre appartient à plusieurs groupes, il obtient toutes les permissions de chacun des groupes dont il fait partie.
Ajouter un groupe
Ajouter un groupe et configurer ses droits depuis le fichier LocalSettings.php sur le modèle suivant :
$wgGroupPermissions['group']['right'] = true; /* ou false */
Le nom du groupe ne peut pas contenir d'espaces. Utiliser des - ou _ à la place des espaces.
Utiliser un nom de groupe en minuscule semble éviter des bogues avec certaines extensions.
Les bureaucrates peuvent ajouter ou retirer des utilisateurs dans n'importe quel groupe.
Ajouter des utilisateurs au groupe créé depuis le lien suivant : wiki/index.php?title=Spécial:Permissions
Exemple pour la création du groupe membre
$wgGroupPermissions['membre']['read'] = true;
Créer les trois pages suivantes pour le groupe membre.
MediaWiki:Group-membre (contenu: "Le groupe des membres.")
MediaWiki:Group-membre-member (contenu: "membre") (Sera affiché comme choix de rôle pouvant être ajouté à un utilisateur depuis la page wiki/index.php?title=Spécial:Permissions)
MediaWiki:Grouppage-membre (contenu: La page du groupe des membres.)
Créer les trois pages suivantes pour le groupe JAT :
MediaWiki:Group-jat (Le groupe JAT.)
MediaWiki:Grouppage-jat (La page du groupe Joomla Accessibility Team.)
MediaWiki:Group-jat-member (JAT)
Exemple pour la création du groupe moderateur
Le groupe moderateur peut bloquer les utilisateurs, effacer des pages, ses modifications sont masquées par défaut dans les derniers journaux de modification.
$wgGroupPermissions['moderateur']['bot'] = true;
$wgGroupPermissions['moderateur']['block']  = true;
$wgGroupPermissions['moderateur']['delete'] = true;
Créer les trois pages suivantes pour le groupe moderateur.
MediaWiki:Group-moderateur (contenu: "Le groupe moderateur.")
MediaWiki:Group-moderateur-member (contenu: "Moderateur") (Sera affiché comme choix de rôle pouvant être ajouté à un utilisateur depuis la page wiki/index.php?title=Spécial:Permissions)
MediaWiki:Grouppage-moderateur (contenu: La page du groupe moderateur.)
Exemple pour la création du groupe Write
Cet exemple désactive l'édition et la création de page par défaut. Création d'un groupe nommé "Write" et ajout des droits en écriture.
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['user']['edit'] = false;
$wgGroupPermissions['user']['createpage'] = false;
$wgGroupPermissions['Write']['edit'] = true;
$wgGroupPermissions['Write']['createpage'] = true;
Créer les trois pages suivantes pour le groupe Write.
MediaWiki:Group-Write (contenu: "Le groupe Write.")
MediaWiki:Group-Write-member (contenu: "Write") (Sera affiché comme choix de rôle pouvant être ajouté à un utilisateur depuis la page wiki/index.php?title=Spécial:Permissions)
MediaWiki:Grouppage-Write (contenu: La page du groupe Write.)
Adapter des droits avec $wgAddGroups et $wgRemoveGroups
Retirer par exemple des droits aux utilisateurs bureaucrates depuis le fichier LocalSettings.php
https://www.mediawiki.org/wiki/Manual:$wgAddGroups
https://www.mediawiki.org/wiki/Manual:$wgRemoveGroups

Supprimer les groupes prédéfinis

Mediawiki contient des groupes prédéfinis lors de son installation.
La plupart de ces groupes peuvent être supprimés en désactivant les clés de tableau correspondantes, parmi lesquelles $wgGroupPermissions ['<nom-groupe>'].
Pour supprimer le groupe des Bureaucrates de la liste Spécial:Liste_des_droits_de_groupe les six variables suivantes ne doivent plus être définies.
Désactiver $wgGroupPermissions suffit pour le retirer de la page Spécial:Permissions.
Ce code doit être placé après toutes les lignes require_once qui ajoutent des extensions telles que Extension:Renameuser contenant du code qui donne aux bureaucrates des permissions de groupe par défaut.
unset( $wgGroupPermissions['bureaucrat'] );
unset( $wgRevokePermissions['bureaucrat'] );
unset( $wgAddGroups['bureaucrat'] );
unset( $wgRemoveGroups['bureaucrat'] );
unset( $wgGroupsAddToSelf['bureaucrat'] );
unset( $wgGroupsRemoveFromSelf['bureaucrat'] );
Dans certaines extensions (Flow, Semantic MediaWiki, ...), des droits sont ajoutés lors de l'enregistrement de l'extension ou dans une fonction d'enregistrement.
Dans ce cas, il peut être nécessaire d'utiliser une fonction d'enregistrement dans LocalSettings.php pour supprimer certains groupes d'utilisateurs prédéfinis :
$wgExtensionFunctions[] = function() {
unset( $wgGroupPermissions['oversight'] );
unset( $wgGroupPermissions['flow-bot'] );
}
Note sur le groupe user
Il est actuellement impossible de supprimer le groupe d'utilisateurs, ce groupe n'est pas affecté par le système d'autorisation habituel mais codé en dur dans MediaWiki.
Chaque utilisateur connecté est automatiquement membre de ce groupe.
Droits des groupes
Liste des droits pouvant être appliqués : https://www.mediawiki.org/wiki/Manual:User_rights/fr#Droits_et_groupes
Liste des droits disponibles
Source : https://www.mediawiki.org/wiki/Manual:User_rights/fr#Ajouter_de_nouveaux_droits
Configuration des groupes dans Mediawiki : https://www.mediawiki.org/wiki/Manual:Setting_user_groups_in_MediaWiki
Droits des utilisateurs et groupes : https://www.mediawiki.org/wiki/Help:User_rights_and_groups
Autres exemples de restrictions sur le même principe : https://www.mediawiki.org/wiki/Manual:Preventing_access

Restreindre la consultation d'une page à un groupe

# Limiter la consultation d'une page à un ou plusieurs groupes avec l'extension PrivatePageProtection.
# Créer un dossier extensions/PrivatePageProtection
# Ajouter les trois fichier : https://phabricator.wikimedia.org/diffusion/SVN/browse/trunk/extensions/PrivatePageProtection/
# Activer l'extension depuis le fichier LocalSettings.php en ajoutant la ligne suivante :
require_once "$IP/extensions/PrivatePageProtection/PrivatePageProtection.php";
# Vérifier que l'extension est bien appliquée depuis la page Spécial:Version
# De préférence, le nom des groupes doit être créé en minuscules.
# (Vérifier si les majuscules sont acceptées.)
# Ajouter la ligne suivante au début d'un article pour limiter l'accès au groupe sysop.
{{#allow-groups:sysop}}
# Ajouter la ligne suivante au début d'un article pour limiter l'accès aux groupes autoconfirmed et emailconfirmed. 
{{#allow-groups:autoconfirmed|emailconfirmed}}
# Source : https://www.mediawiki.org/wiki/Extension:PrivatePageProtection
# Créer les trois pages suivantes pour le groupe JAT :
MediaWiki:Group-jat (Le groupe JAT.)
MediaWiki:Grouppage-jat (La page du groupe Joomla Accessibility Team)
MediaWiki:Group-jat-member (JAT)

# Ajouter un groupe utilisateur dans le fichier LocalSettings.php
# jat : Joomla Accessibility Team.
$wgGroupPermissions['jat']['read'] = true;

# Ajouter sur les pages à protéger :
{{#allow-groups:jat}}

# Ajouter l'utilisateur au groupe JAT depuis les pages spéciales.

# Suite à la réinstallation du wiki à neuf, et de l'import des pages avec l'option de Mediawiki, la protection ne fonctionnait plus.
# J'ai espacé l'autorisation en laissant une ligne vide avant et après la commande {{#allow-groups:jat}} ce qui a permis à l'autorisation de fonctionner.
# Il est également possible qu'il fallait réactualiser l'enregistrement de cette page en faisant une modification, pas sur, j'avais du déjà tenter de faire une simple modification.
# Problème résolu ainsi, la protection fonctionne pour les pages du groupe jat de la Joomla Accessibility Team.

{{#allow-groups:jat}}
{{Transclusion_Entete}}

Restreindre l'accès à l'espace de noms principal avec Lockdown

Spécifier pour chaque page spéciale les groupes d'utilisateurs ayant accès.
Manuel Mediawiki : https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Lockdown
Tutoriel : http://www.vulgumtechus.com/Bloquer_l%27acc%C3%A8s_%C3%A0_certaines_pages_de_MediaWiki
Télécharger l’extension : https://www.mediawiki.org/wiki/Special:ExtensionDistributor/Lockdown
Ajouter l'extension dans le dossier /extensions/Lockdown
# Installation en ligne de commande :
cd /var/www/wiki.visionduweb.fr/extensions
sudo wget https://extdist.wmflabs.org/dist/extensions/Lockdown-REL1_32-6ebcb04.tar.gz
sudo tar -xzf Lockdown-REL1_32-6ebcb04.tar.gz
sudo chown -R www-data:www-data Lockdown
sudo rm Lockdown-REL1_32-6ebcb04.tar.gz
Ajouter les lignes suivantes dans le fichier LocalSetting.php pour activer l'extension.
# Protéger l'accès à certaines pages spéciales.
wfLoadExtension( 'Lockdown' );
# Ne pas autoriser l'accès aux modifications récentes.
$wgSpecialPageLockdown['Recentchanges'] = [ 'user' ];
Vérifier que l'extension est bien installée et prise en compte en visitant la page Spécial:Version (Rubrique Extensions installées/Divers).
Exemples de blocages à ajouter dans le fichier LocalSetting.php
# Ne pas autoriser l'accès aux modifications récentes.
$wgSpecialPageLockdown['Recentchanges'] = [ 'user' ];
# Autres exemples.
Blocage de la Page spéciale pour tous les visiteurs de la catégorie user -> $wgSpecialPageLockdown['Specialpages'] = array('user');
Blocage de l'Export pour tous les visiteurs de la catégorie user -> $wgSpecialPageLockdown['Export'] = array('user');
Blocage des Statistiques pour tous les visiteurs de la catégorie user -> $wgSpecialPageLockdown['Statistics'] = array('user');
Blocage de Spécial:Version pour tous les visiteurs de la catégorie user -> $wgSpecialPageLockdown['Version'] = array('user');
Blocage de l'historique pour tous les articles et pour tous les visiteurs de la catégorie user -> $wgActionLockdown['history'] = [ 'user' ];
blocage de la page spéciale Pages les plus modifiées prendre Mostrevision et ajouter $wgSpecialPageLockdown['Mostrevision'] = array('user');

Changer le graphisme de MediaWiki

Changer le graphisme de Mediawiki.
1 Changer le graphisme de Mediawiki
   1.1 Ajouter un favicon
   1.2 Changer l'image des logos de MediaWiki
   1.3 Changer le skin - template - de Mediawiki
   1.4 Modifier l'apparence
   1.5 Créer des onglets
       1.5.1 Cadre à onglets
       1.5.2 Feuillets

API Mediawiki

Exemples d'utilisation de l'API de Mediawiki

Manuel de l'API de Mediawiki pour aider à son utilisation : https://wiki.visionduweb.fr/api.php

Action Query

# Afficher les 10 premières réponses du nom des catégories qui commencent par la lettre J :
https://wiki.visionduweb.fr/api.php?action=query&list=allcategories&acprefix=J

Action Parse

Résultat de l'API Mediawiki avec l'action parse sur la page d'Accueil.
Ouvrir le lien dans une nouvelle fenêtre : Parser la page d'Accueil.
Parser la page au format json : https://wiki.visionduweb.fr/api.php?format=xml&action=parse&format=json&page=Accueil&prop=text

Bibliographie API Mediawiki

API:Watchlist feed : https://www.mediawiki.org/wiki/API:Watchlist_feed
API:Feedrecentchanges : https://www.mediawiki.org/wiki/API:Feedrecentchanges - api.php?hidebots=1&urlversion=1&days=7&limit=50&action=feedrecentchanges&feedformat=atom
API sandbox : https://en.wikipedia.org/wiki/Special:ApiSandbox#action=feedwatchlist
La page d'accueil pour l'API Mediawiki : https://www.mediawiki.org/wiki/API:Main_page
Aide de l'API de MediaWiki : https://wiki.medimust.com/api.php?action=help&recursivesubmodules=1
Les commandes pour parser avec l'API de Mediawiki : https://www.mediawiki.org/wiki/API:Parsing_wikitext
Hook into Wikipedia information using PHP and the MediaWiki API : https://www.ibm.com/developerworks/library/x-phpwikipedia/index.html

Désactiver la création des comptes utilisateurs depuis l'API

# Ajouter dans le fichier LocalSettings.php :
# Désactiver la création des comptes utilisateurs depuis l'API :
$wgAPIModules['createaccount'] = 'ApiDisabled';

Extension TextExtracts

A tester : Installer l'extension TextExtracts :
https://www.mediawiki.org/wiki/Extension:TextExtracts
Résultat de l'API Mediawiki avec l'action query sur la page d'Accueil.
Parser la page d'Accueil.

Fonctionnalités pour la maintenance du contenu

Identifier les informations propres à une page

https://wiki.visionduweb.fr/index.php?title=Les_skins_pour_MediaWiki&action=info

Identifier les pages qui pointent vers une page

https://wiki.visionduweb.fr/index.php?hidelinks=1&hideredirs=1&hidetrans=1&title=Spécial%3APages_liées%2FLes_skins_pour_MediaWiki

Récupérer le contenu d'une page de Mediawiki

Récupérer les informations d'une page Mediawiki

# Ajouter à la fin d'une adresse URL Mediawiki :
&action=info
https://wiki.visionduweb.fr/index.php?title=Accueil_Utiliser_MediaWiki&action=info

Récupérer le HTML d'une page sans le skin

Récupérer le HTML d’une page sans le skin qui entoure chaque page avec "action=render" dans l’URL, par exemple :
https://wiki.visionduweb.fr/index.php?title=Accueil_Utiliser_MediaWiki&action=render

Récupérer le Wiki code d’une page sans le skin

Récupérer le HTML d’une page sans le skin qui entoure chaque page avec "action=render" dans l’URL, par exemple :
https://wiki.visionduweb.fr/index.php?title=Accueil_Utiliser_MediaWiki&action=raw

Exporter le sommaire de Mediawiki sur une page PHP

Ajouter le code suivant dans le fichier tcpdf/examples/1-creer-le-sommaire.php :
<?php
require_once('tcpdf_include.php');

// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Vision du web');
$pdf->SetTitle('Export du wiki');
$pdf->SetSubject('Tutoriel');
$pdf->SetKeywords('Wiki, PDF, Tutoriel');


// Récupérer l'URL de provenance.
$URL=$_SERVER["HTTP_REFERER"];

// Curl de l'URL pour récupérer le code HTML.
$wikipediaURL = "$URL";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $wikipediaURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Vision du web (wiki.visionduweb.fr)');
$resultat = curl_exec ($ch);
curl_close($ch);

// Récupérer le titre dans la variable title.
preg_match("~<title>(.*)</title>~", $resultat, $match );
$title = strip_tags($match[1]);
$html = $title;
// Simplifier le titre.
$title = str_replace (' — Wiki. Analyse, Communication, Développement, Hacking.',,$title);


// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE." - $title ", PDF_HEADER_STRING);

// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, , PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, , PDF_FONT_SIZE_DATA));

// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);

// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);

// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);

// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/fra.php')) {
	require_once(dirname(__FILE__).'/lang/fra.php');
	$pdf->setLanguageArray($l);
}

// ---------------------------------------------------------
// set font
$pdf->SetFont('dejavusans', , 10);
// Ajouter une page.
$pdf->AddPage();
// ---------------------------------------------------------

// La variable $title permet de créer le lien racine du domaine, pour les liens du sommaire.
// Remplacer certains caractères pour permettre aux liens du sommaire de fonctionner.
// espace à remplacer par _
// ' à remplacer par .27
// é à remplacer par .C3.A9
// è à remplacer par .C3.A8
// ê à remplacer par .C3.AA
// î à remplacer par .C3.AE
$lien_racine = str_replace(" ","_",$title);
$lien_racine = str_replace("'",".27",$lien_racine);
$lien_racine = str_replace("é",".C3.A9",$lien_racine);
$lien_racine = str_replace("è",".C3.A8",$lien_racine);
$lien_racine = str_replace("ê",".C3.AA",$lien_racine);
$lien_racine = str_replace("î",".C3.AE",$lien_racine);

// Afficher le titre de la page de Mediawiki.
$html = "<h1><a href=\"https://wiki.visionduweb.fr/index.php?title=".$lien_racine."\" target=\"_".$lien_racine."\">".$title."</a></h1>";

$html .= "Cette page peut être exportée dans sa dernière version depuis le wiki vers un document PDF pour permettre la consultation du contenu tout en étant déconnecté du réseau.";

// Récupérer les variables du sommaire.
$new = new DOMDocument();
@$new->loadHtml("$resultat");
$xpath = new DOMXPath($new);
//$domExemple = $xpath->query("//ul/li[@class='toclevel-1 tocsection-1']");
//$domExemple = $xpath->query("//span[@class='tocnumber'] | //span[@class='toctext']");
$toctext = $xpath->query("//span[@class='toctext']");
$tocnumber = $xpath->query("//span[@class='tocnumber']");

// Afficher le sommaire avec un tableau HTML.
$html = $html . "<h2>Sommaire</h2>";
$html = $html . "<table border=\"0\">";
$html = $html . "<tr>";
$html = $html . "<td width=\"13%\">";

// Affiche les numéros.
$i = 0;
foreach ($tocnumber as $number) {
$result[$i++] = $number->nodeValue;
$html = $html . "<br/>" . $number->nodeValue;
}

$html = $html . "</td>";
$html = $html . "<td width=\"87%\">";

// Affiche les lignes.
$i = 0;
foreach ($toctext as $text) {
$result[$i++] = $text->nodeValue;
// $html = $html . "<br/>" . $text->nodeValue;

// La variable $text->nodeValue permet de créer les liens du sommaire à partir du simple texte retourné.
// Remplacer certains caractères pour permettre aux liens du sommaire de fonctionner.
// espace à remplacer par _
// ' à remplacer par .27
// é à remplacer par .C3.A9
// è à remplacer par .C3.A8
// ê à remplacer par .C3.AA
// î à remplacer par .C3.AE
$lien_sommaire = str_replace(" ","_",$text->nodeValue);
$lien_sommaire = str_replace("'",".27",$lien_sommaire);
$lien_sommaire = str_replace("é",".C3.A9",$lien_sommaire);
$lien_sommaire = str_replace("è",".C3.A8",$lien_sommaire);
$lien_sommaire = str_replace("ê",".C3.AA",$lien_sommaire);
$lien_sommaire = str_replace("î",".C3.AE",$lien_sommaire);

// Afficher les chapitres et sous chapitres.
$html = $html . "<br/>.$text->nodeValue.";
// Afficher les chapitres avec un texte sans le lien.
//$html = $html . "<br/>" . "$text->nodeValue";
}

$html = $html . "</td>";
$html = $html . "</tr>";
$html = $html . "</table>";
// Fermeture de la table du sommaire.

// Ecrire le PDF.
$pdf->writeHTML($html, true, false, true, false, );

// Close and output PDF document.
$pdf->Output("Sommaire-$lien_racine.pdf", 'I');
$pdf_string = $pdf->Output("Sommaire-$lien_racine.pdf", 'S');
file_put_contents("./pdf/Sommaire-$lien_racine.pdf", $pdf_string);
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date dans le passé

Référencement SEO

Configurer la balise image OpenGraph

OpenGraphMeta

Page de l'extension : https://www.mediawiki.org/wiki/Extension:OpenGraphMeta
Télécharger l'extension : https://www.mediawiki.org/wiki/Special:ExtensionDistributor/OpenGraphMeta
Lien direct pour la version stable : https://extdist.wmflabs.org/dist/extensions/OpenGraphMeta-REL1_34-0a61e8e.tar.gz
# Se positionner dans le dossier extensions de Mediawiki :
cd extensions/
sudo wget https://extdist.wmflabs.org/dist/extensions/OpenGraphMeta-REL1_34-0a61e8e.tar.gz
sudo tar -xzvf OpenGraphMeta-REL1_34-0a61e8e.tar.gz
sudo chown -R www-data. OpenGraphMeta/
# Activer l'extension depuis LocalSettings.php :
# OpenGraph.
wfLoadExtension( 'OpenGraphMeta' );
# Charger une image qui va servir par défaut dans Mediawiki : https://www.visionduweb.fr/images/structure/glider.png
# Créer un code d'insertion d'image pour charger et afficher rapidement une image dans Mediawiki : [[Fichier:glider.png]]
Glider.png
# Définir pour chaque article l'image OpenGraph qui sera utilisée avec le code suivant {{#setmainimage:glider.png}}
# Ce code doit être appelé avec la commande "File:", pour afficher l'image avec sa taille d'origine dans la page : [[File:{{#setmainimage:glider.png}}]].
# Il est possible de positionner cette image en tant que vignette : [[File:{{#setmainimage:glider.png}}|thumb|right|...]].
# Il est possible de cacher l'image de la page avec un code CSS, mais, le code HTML OpenGraph sera bien chargé : <span style="display:none;">[[File:{{#setmainimage:glider.png}}]]</span>
...
# Exemple avec ce code image OpenGraph: [[File:{{#setmainimage:glider.png|thumb|...}}]]
# L'image affichée sur la droite sera l'image Opengraph de référence pour cette page.
# Le code Opengraph affiché entre les balises HTML <head> et </head> sera :
<meta property="og:image" content="https://wiki.visionduweb.fr/images/7/79/Glider.png"/>
# L'extension est parfaitement fonctionnelle !
# Pour afficher l'image Opengraph pour toutes les pages partagées, le code suivant qui permet de cacher l'image depuis la page concernée, devra être affiché en haut de chaque page :
<span style="display:none;">[[File:{{#setmainimage:glider.png}}]]</span>
# Pour ne pas avoir a ajouter ce code sur plus de 300 articles, je l'ajoute une seule fois dans la transclusion de mon entête.

PageImages

Sur la discussion de l'extension, il est proposé par un utilisateur de Mediawiki qui rencontre le même problème, d'utiliser l'extension suivante.
Extension: PageImages sélectionnerait automatiquement la meilleure image pour le partage.
https://www.mediawiki.org/wiki/Extension:PageImages

SemanticMetaTags

https://github.com/SemanticMediaWiki/SemanticMetaTags/blob/master/README.md

rel nofollow

MediaWiki configuré par défaut ajoute rel="nofollow" aux liens externes présents dans les pages pour indiquer que les liens sont fournis par l'utilisateur et peuvent contenir du spam.
Ajouter rel="nofollow" sur l'ensemble des liens externes est assez lourd et n'est pas une méthode de contrôle du spam.
Utiliser rel="nofollow" empêche que les liens connus et inconnus des utilisateurs du wiki puissent bénéficier d'un meilleur page rank.
Les liens publiés ne devraient donc pas être référencés directement. Les moteurs de recherche populaires tels que Google respectent cet attribut.

Activer le référencement des liens de votre wiki

Certains utilisateurs ou robots cherchent à poster des liens exclusivement sur des wiki ayant désactivés l'attribut rel="nofollow" pour profiter de leur pagerank.
Activer le référencement des liens de façon large avec $wgNoFollowLinks.
Activer le référencement des liens de façon ciblée avec per-namespace en utilisant $wgNoFollowNsExceptions "variable de configuration".

Liens complémentaires NoIndexHistory et rel nofollow

En complément, voir : NoIndexHistory : http://web.archive.org/web/20061207155806/http://wiki.chongqed.org/NoIndexHistory
En complément, voir : https://meta.wikimedia.org/wiki/Nofollow
En complément, voir : https://www.mediawiki.org/wiki/Manual:Costs_and_benefits_of_using_nofollow
En complément, voir : https://www.mediawiki.org/wiki/Manual:Nofollow

Référencement naturel avec Mediawiki

Le lien suivant explique notamment comment ajouter les balises META sur MediaWiki.
Source : http://www.memodev.com/wiki/Mediawiki#Comment_optimiser_Mediawiki_pour_le_r.C3.A9f.C3.A9rencement_naturel_.3F

Le fichier robots.txt pour Mediawiki

User-agent: *
Disallow: /index.php?diff=
Disallow: /index.php?oldid=
Disallow: /index.php?title=Help
Disallow: /index.php?title=Image
Disallow: /index.php?title=MediaWiki
Disallow: /index.php?title=Special:
Disallow: /index.php?title=Template
Disallow: /skins/
Disallow: /index.php?title=Special%3A
Disallow: /index.php?title=Sp%C3%A9cial:
Disallow: /index.php?title=Sp%C3%A9cial%3A

Crawl-delay: 120
Ajouter le code __NOINDEX__ dans une page de wiki semblerait être fiable pour interdire l'indexation de la page.
Source : https://www.mediawiki.org/wiki/Manual:Robots.txt/fr#Emp%C3%AAcher_l'exploration_des_pages_qui_ne_sont_pas_des_articles
Source : https://www.mediawiki.org/wiki/Manual:Robots.txt

Créer un bot

Source : https://www.mediawiki.org/wiki/Manual:Creating_a_bot

Traduction de Mediawiki

Dans la Base de données sont stockés des fichiers de langue

l10n_cache-lc_value.bin

Contient la valeur suivante :
s:57:"Suivez les dernières modifications du wiki dans ce flux.";
Comment remplacer cette valeur ?
Dans mes essais, la nouvelle valeur n'est pas prise en compte, quand j'enregistre le fichier dans un Type BLOB.

Bibliographie

Les ressources pour utiliser Mediawiki

Introduction : https://wiki-valley.com/wiki/MediaWiki_logiciel_open_source_et_gratuit
Ok-ko.png Exemples de composants installés ou de manipulation par Jltryoen : http://www.jltryoen.fr/wiki/MediaWiki
Configuration de votre Wiki : Source : https://fr.wikibooks.org/wiki/MediaWiki_pour_d%C3%A9butants/Configuration_de_votre_wiki
Media Wiki pour débutants : Source : https://fr.wikibooks.org/wiki/MediaWiki_pour_d%C3%A9butants
Wiki utilisation : Source : http://wiki.kogite.fr/index.php/MediaWiki_utilisation
Vulgumtechus Mediawiki : http://www.vulgumtechus.com/MediaWiki
Bananeatomic : https://wiki.bananeatomic.fr
Adaptez MediaWiki dans votre langue

Support Mediawiki

S'inscrire à la liste de diffusion francophone de Mediawiki : https://intern.wikimedia.ch/lists/listinfo/mediawiki-fr
Le mail de la liste de diffusion : mediawiki-fr@wikimedia.ch
La liste de diffusion semble peu utilisée, un second lien pour le support : https://www.mediawiki.org/wiki/Project:Support_desk
Consulter le Guide de l'utilisateur, en français pour plus d’informations sur l'utilisation de ce logiciel de wiki.
Liste de discussion sur les distributions de Mediawiki
Adaptez Mediawiki dans votre langue
Liste des paramètres de configuration, en français
MediaWiki FAQ en anglais.
MediaWiki FAQ en français.
FAQ : Installation et configuration de Mediawiki
Administration du système

Devenir développeur de Mediawiki

Bogue tracker Phabricator de wikimedia : https://phabricator.wikimedia.org
Devenir développeur de Mediawiki : https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker/fr

Retour sur expériences de l'utilisation de MediaWiki

Ok.png Exemples de sites réalisés avec Mediawiki : https://www.mediawiki.org/wiki/Sites_using_MediaWiki/fr

NAVIGATION

PARTICIPER ET PARTAGER

Bienvenue sur le wiki de Vision du Web.
De nombreuses pages sont partagées sur ce wiki.
Créer un compte utilisateur pour participer sur le wiki.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Utiliser la recherche interne du wiki pour trouver votre contenu.
La page de discussion de VisionDuWeb vous permet de poser une question.
Utiliser la recherche interne du site pour chercher dans tout le contenu.
Ce contenu ne doit pas servir à nuire à autrui ou à un système informatique.
Protéger votre système Linux ou Windows en lisant la page dédié à la sécurité.
Améliorer le contenu des pages avec vos propositions depuis l'onglet discussion.

SOUTENIR CE WIKI

Soutenir le wiki avec un don en monnaie numérique :
AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Gagner des Altcoins - Miner des Altcoins.