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.

Ceci est écrit comme un tutoriel étape par étape

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
 * Of course, if we're going to write a maintenance script, we have to include Maintenance.php. This takes care of setting up Autoloading and the like.  It is best to use the full path to Maintenance.php.


 * Line 14
 * We override Maintenance class and then, in


 * Line 20 & 21
 * tell the Maintenance class to run the script using the HelloWorld class, only if being executed from the command line.


 * Line 15
 * The execute function that we've provided is executed.

Option and Argument Parsing
Greeting the world is all well and good, but we want to be able to greet individuals, too.

To add an option, add a constructor with a call addOption and update the execute</tt> method to use the new option. addOption's parameters are $name, $description, $required = false, $withArg = false, $shortName = false:

This time, when executed, the output of the helloWorld.php</tt> script changes depending on the argument provided:

<pre style="overflow:auto;"> $ 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