J’ai installé sur un hébergement mutualisé OVH un wiki pour Agile Games France (http://agilegamesfr.ayeba.org). J’ai porté mon choix sur le wiki utilisé par Wikipedia : Mediawiki. Afin de faciliter l’inscription de mes camarades de jeux sur le wiki (pour une fois l’expression est appropriée) j’ai choisi de laisser la création de compte libre à tous, en me disant que je restreindrais l’accès une fois la première vague d’inscriptions passées afin d’éviter les inscriptions indésirables (robots et autres…).
La suite ?
J’ai donc oublié ma décision de restreindre après quelques temps… Et comme prévu, j’ai eu le droit à une cinquantaine de comptes indésirables et à un bon millier de pages tout aussi indésirables. La question que je me suis posée alors était :
Comment supprimer des pages en masse avec Mediawiki ?
Il existe un script dans le répertoire maintenance destiné à faire cela : http://www.mediawiki.org/wiki/Manual:DeleteBatch.php
La syntaxe est simple :
php ./maintenance/deleteBatch.php --conf ./LocalSettings.php -r "reason for deletion" ./deleteBatch.txt
Il faut donc constituer un fichier texte comportant la liste des pages à supprimer. Pour cela afficher la liste des pages orphelines :
http://agilegamesfr.ayeba.org/index.php?title=Sp%C3%A9cial:Pages_orphelines&limit=500&offset=0
Copier / Coller cette liste de pages dans votre fichier texte (en prenant soin de retirer les pages que vous ne voulez pas supprimer).
Enregistrer votre fichier : liste-pages-a-supprimer.txt
Vous pouvez à présent poser ce fichier sur votre serveur dans le répertoire /maintenance/
Si vous êtes hébergé chez OVH, assurez-vous de connaitre la version de php qui va être exécuté en ligne de commande (CLI). Pour cela, connectez-vous en ssh sur votre serveur et entrez la commande :
php -v
Si la version retournée est la version 5.3 vous pouvez passer le paragraphe suivant.
Si la version retournée est la version 4.x alors vous devez trouver quelle est la commande vous permettant d’exécuter du php 5. Après de multiples recherches, j’ai fini par trouver 2 commandes (il est possible qu’il vous faille chercher d’autres combinaison en fonction des serveurs sur lequel votre hébergement est installé).
Pour exécuter du php 5.2 :
php.BETA
Pour exécuter du php 5.3 :
php.TEST.5
Pour notre suppression “en masse” (ici, c’est à lire avec l’accent pris par Gad Elmaleh dans le sketch : “qui veut gagner de l’argent en masse”) nous allons utiliser du php 5.3.
Une fois dans le répertoire de votre wiki, la commande recommandée est donc :
php.TEST.5 ./maintenance/deleteBatch.php --conf ./LocalSettings.php -r "spam" liste-pages-a-supprimer.txt
qui ne fonctionnera pas à cause d’une petite subtilité sur les chemins relatifs… il va donc vous falloir entrer le chemin complet pour pouvoir exécuter la commande.
Comment déterminer le chemin complet sur votre serveur ?
echo $PATH
La bonne commande est donc (en remplaçant par votre chemin absolu) :
php.TEST.5 /homez.xx/xxx/agilegamesfr/maintenance/deleteBatch.php --conf /homez.xx/xxx/agilegamesfr/LocalSettings.php -r "spam" liste-pages-a-supprimer.txt
Et voilà… Bonne suppression !
J’aurais pu intitulé cet article : Qui veut supprimer des pages en masse ? mais cela aurait probablement été moins efficace pour le référencement… et donc moins utile pour ceux qui vont rencontrer le même problème que celui que j’ai rencontré…
Comments
2 responses to “Mediawiki supprimer pages OVH”
Quel geek !
Je fais cela sous un faux nom…