Mediawiki Administration

De wikilivois
Aller à : navigation, rechercher

Mediawiki est un outil de "base de connaissance" (wiki) développé à l'origine pour l'encyclopédie Wikipedia.

Quelques liens:

Administration du wiki

http://meta.wikimedia.org/wiki/LocalSettings.php

Installation

https://www.mediawiki.org/wiki/Manual:Installation_guide

Mise à jour

https://www.mediawiki.org/wiki/Manual:Upgrading/fr

Editer la variable $wgLogo dans LocalSettings.php.

A noter que le logo wiki.png a pour dimension 135 x 135.

Pour modifier la taille d'un logo:

 convert logo1.png -resize 135x135 logo2.png

Gestion des images

  LocalSettings.php
$wgEnableUploads               = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";

Droits du répertoire
Vérifier que le répertoire mediawiki soit accessible en lecture et écriture par apache.

Safe mode

Attention: le safe mode de php empêche la copie des fichiers de tmp vers le répertoire images de mediawiki. Une solution est d'éditer le fichier de configuration apache de la façon suivante:


  Fichier de configuration apache.
<Directory /var/www/wiki.livois.com/wikimedia/images/>
  php_admin_flag safe_mode off
  php_admin_value open_basedir none
</Directory>

Cette solution ne semble plus marcher. L'utilisation du "safe mode" n'est de toutes les façons plus recommandée.

Limiter l'upload

D'autres paramètres permettent de limiter les chargements, selon le type de fichier ou la taille:

  LocalSettings.php
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'doc, 'xls', 'ppt', 'sxw', 'pdf', 'gz' );
$wgCheckFileExtensions = true;
$wgStrictFileExtensions = true;

$wgUploadSizeWarnings = 150000;

Gestion des utilisateurs

http://www.mediawiki.org/wiki/Manual:User_rights

N'autoriser que l'administrateur à créer des comptes:

  LocalSettings.php
$wgGroupPermissions['*']['createaccount'] = false;

Interdire l'édition en anonyme:

  LocalSettings.php
$wgGroupPermissions['*']['edit'] = false;

Ne donner accès aux utilisateurs anonymes qu'à la page d'accueil et deconnexion

  LocalSettings.php
$wgWhitelistRead = array("Accueil", "Special:Userlogin");
$wgGroupPermissions['*']['read'] = false;
$wgGroupPermissions['*']['edit'] = false;

La gestion des accès par groupes

cf extension Group Based Access Control

Sauvegarde

mysqlhotcopy wikidb -p ****** /mnt/backup/01/mysql --allowold -q

A mettre dans un script quotidien ...

Lutte antispam

  • Use $wgSpamRegex to catch typical spam patterns. In my case this were free hosters, attempts to use 1 pixel height fonts or other "stealth" techniques.
  • Require users to create accounts. This is very useful anyway, you wantto be able to contact authors occasionaly the one or other reason.
  • Reduce the value of spamming the wiki by setting $wgNoFollowLinks to true. This is the default since like 1.3, keep it.

Bad behavior

Version 2 of this software is in testing, and it has explicit MediaWiki support.

http://www.homelandstupidity.us/software/bad-behavior/


Layout Customization

http://www.mediawiki.org/wiki/Help:FAQ#Changing_the_Interface

Les feuilles de styles (CSS)

http://meta.wikimedia.org/wiki/Aide:Personnalisation

Editer la feuille de style globale: MediaWiki:Common.css

Pour change la directive pre {, éditer skins/monobook/main.css:

  skins/monobook/main.css
pre {
        margin: 0em 3em 0em 3em;
        padding: 1em;
        border: 1px dashed #2f6fab;
        color: black;
        background-color: #f9f9f9;
        line-height: 1.1em;
}

Personnaliser une feuille de style pour un utilisateur:

  includes/DefaultSettings.php
$wgAllowUserJs=true;
$wgAllowUserCss=true;

Editer ses feuilles de style en éditant la page:
index.php/User=<name>/monobook.css

Modifier la boîte de navigation (Sidebar)

http://meta.wikimedia.org/wiki/Sidebar

Editer la page index.php/MediaWiki:Sidebar (version 1.5.x).

Par défaut, le fichier est de la forme:

* navigation
** mainpage|mainpage
** portal-url|portal
** currentevents-url|currentevents
** recentchanges-url|recentchanges
** randompage-url|randompage
** helppage|help
** sitesupport-url|sitesupport

The toolbox is under the search bar is a dynamic element and cannot be easily customized. (It requires programming in PHP.) If you still want to do so, the best solution is to copy skins/MonoBook.php, creating a new skin. You can then make a custom skin to generate these links in your preferred fashion.

Changer le style Monobook

http://meta.wikimedia.org/wiki/Aide:Personnalisation

L'affichage (display) d'une page Monobook se comprend bien à partir des fichiers:

  • skins/MonoBook.tpl - le template d'une page
  • skins/Monobook.php - l'application du template en php
  • skins/monobook/main.css - comment les éléments des fichiers précédents sont disposés sur une page
Une page est composée de divers élements indiqués par
dans Monobook.tpl:
  • globalWrapper
  • La page de droite est définie par les éléments suivants:
    • colum-content
    • content
    • firstHeading
    • bodyContent
    • siteSub
    • contentSub
  • La menu de gauche est défini par les éléments suivants:
    • column-one
    • p-cactions
    • p-personal
    • p-logo => Logo
    • p-$bar (p-navigation)
    • p-search => Menu rechercher
    • p-tb => Menu boîte à outils

Elargir le menu de gauche

Changer skins/monobook/main.css :

  • colum-content (changer margin)
  skins/monobook/main.css
#column-content {
        width: 100%;
        float: right;
        /*margin: 0 0 .6em -12.2em;*/
        margin: 0 0 .6em -14.2em;
        padding: 0;
}

  • content (changer margin)
  skins/monobook/main.css
#content {
        /*margin: 2.8em 0 0 12.2em;*/
        margin: 2.8em 0 0 14.2em;

  • .portlet (style du menu de gauche - changer width)
  skins/monobook/main.css
.portlet {
        border: none;
        margin: 0 0 .5em;
        padding: 0;
        float: none;
        /*width: 11.6em;*/
        width: 14em;
        overflow: hidden;
}

Divers

Mettre le sommaire (TOC) dans le menu de gauche

Merci à Fred de lea-linux qui m'a donné la solution ...

Mettre dans le template, à l'endroit où le TOC doit apparaitre

<div id='new-toc'></div>

Pour le style Monobook, il faut éditer skins/Monobook.php. L'exemple suivant affiche le menu au dessus de la boîte à outils :

  skins/Monobook.php
        <div class="portlet" id='new-toc'></div>
        <div class="portlet" id="p-tb">

Ecrire les fonctions javascript pour récupérer le menu dans un fichier js (myskin.js ici) :

  skins/myskin/myskin.js
function addOnLoadEvent(fnc)
{
  if ( typeof window.addEventListener != "undefined" )
  {
    window.addEventListener( "load", fnc, false );
  }
  else if ( typeof window.attachEvent != "undefined" )
  {
    window.attachEvent( "onload", fnc );
  }
  else
  {
    if ( window.onload != null )
    {
      var oldOnload = window.onload;
      window.onload = function ( e )
      {
        oldOnload( e );
        window[fnc]();
      };
    }
    else window.onload = fnc;
  }
}

function MenuToc()
{
  /* on cherche la table des matieres */
  toc = document.getElementById('toc') ;
  tocdest = document.getElementById('new-toc') ;
  if ((toc != null) && (tocdest != null))
  { /* trouve */
    /* on l'efface de la ou elle est */
    newtoc = toc.parentNode.removeChild(toc) ;
    newtoc.setAttribute("style", "float:none;") ;
    /* on la met la ou l'on le demande */
    tocdest.appendChild(newtoc) ;
  }
}

addOnLoadEvent(MenuToc);

Appeler les fonctions javascript du template (dans les headers <head>) :

  skins/Monobook.php
<script type="text/javascript" src="<?php $this->text('stylepath' ) ?>/myskin/myskin.js"></script>

Mediawiki Hacking

Ecrire une extension

http://meta.wikimedia.org/wiki/Write_your_own_MediaWiki_extension

Pour chaque extension utilisée, il faut rajouter une ligne dans LocalSettings.php:

  LocalSettings.php
require_once("extensions/nom_extension.php");

Ecrire une page spéciale

http://meta.wikimedia.org/wiki/Writing_a_new_special_page

Liste des variables globales

http://meta.wikimedia.org/wiki/Global_variables

  • 1 wgTitle
  • 2 wgLinkCache
  • 3 wgUser
  • 4 wgLang
  • 5 wgOut
  • 6 wgArticlePath
  • 7 many more...

Liste de fonctions

http://svn.wikimedia.org/doc/

Debuggage

http://meta.wikimedia.org/wiki/WgDebugLogFile

Extensions

http://www.mediawiki.org/wiki/Extension_Matrix

http://meta.wikimedia.org/wiki/Category:Mediawiki_Extensions


Liste d'Articles (nouveaux/récents/...)

http://www.mediawiki.org/wiki/Extension:Dynamic_Article_List

Google Analytics

Pour disposer des statistiques des pages vues, le plus simple est d'utiliser Google Analytics

Sauvegarde et Restauration

http://meta.wikimedia.org/wiki/Help:Backup

Sauvegarde

#php /var/www/wiki.livois.com/mediawiki/maintenance/dumpBackup.php --full --output=bzip2:MWbackup.bz2

Restauration

http://meta.wikimedia.org/wiki/Help:Import

Aller dans les pages spéciales en tant que SysOp et importer le fichier .xml des pages à importer.

Copyright

© 2006-2018 Christophe de Livois

Tête de GNU Vous avez l'autorisation de copier, distribuer et/ou modifier ce document suivant les termes de la GNU Free Documentation License, Version 1.2 ou n'importe quelle version ultérieure publiée par la Free Software Foundation; sans section invariante, sans page de garde, sans entête et sans page finale. Pour plus d'informations consulter le site de l'APRIL.