Manual:Writing maintenance scripts/fr

La version 1.16 de MediaWiki a introduit la class maintenance pour rendre plus simple l'écriture de lignes de commande pour les scripts de maintenance MediaWiki.

Script exemple
Pour décrire ces csripts de maintenance, nous décrirons les étape d'écriture de helloWorld.php, un script qui ne fait qu'une chose, afficher "Salut, Monde". Ce programme contiendra le minimum de code nécessaire à son lancement ainsi que les en-têtes requises pour les droits d'auteur (pour des d'autres en-têtes possibles, lire en tête de droit d'auteur):

Le programme, malgré sa simplicité, aura déja une option --help et d'autres options de ligne de commande. Une sortie possible:

 $ php helloWorld.php Hello, World! $ php helloWorld.php --help

Usage: php helloWorld.php [--conf|--dbpass|--dbuser|--globals|--help|--quiet|--wiki] conf : Location of LocalSettings.php, if not default dbpass : The password to use for this script dbuser : The DB user to use for this script globals : Output globals at the end of processing for debugging help : Display this help message quiet : Whether to supress non-error output wiki : For specifying the wiki ID Un aperçu:


 * ligne 12
 * Bien sur, si nous écrivons un script de maintenance, nous devons inclure Maintenance.php. Cela permet de ne pas avoir à s'occuper de la mise en place d'Autoloading et similaires. Il est conseillé d'utiliser le chemin complet vers Maintenance.php.


 * Ligne 14
 * Nous écrasons la classe Maintenance, puis dans


 * Ligne 20 et 21
 * utiliser la class Maintenance de façon a lancer la classe HelloWorld, uniquement si le script est utilisé en ligne de commande.

Internally,  loads another file  which autoloads MediaWiki classes and configuration, and then
 * Line 16
 * La fonction execute que nous avons fourni est lancée.

Analyse des option et Argument
Saluer le monde est tout sympathique et très bien, mais nous voulons être capable de saluer également des individus.

To add a command-line option, add a constructor to  that calls  's   and update the   method to use the new option. 's parameters are, so:

Cette fois, à l'exécution, la sortie de  change en fonction des arguments fournis:

 $ php helloWorld.php Hello, World! $ php helloWorld.php --name=Mark Hello, Mark! $ php helloWorld.php --help Usage: php helloWorld.php [--conf|--dbpass|--dbuser|--globals|--help|--name|--quiet|--wiki] …   name : Who to say Hello to