Uploader Wordpress en 6 secondes...
2014-09-22 12:01 — WordPress
D'après Wordpress, Wordpress s'installe en 5 minutes environ. Sauf que la plupart du temps, il faut passer de longues minutes à uploader les fichiers qui composent Wordpress (en plus des 5 minutes).
Alors qu'un petit bout de PHP suffit à faire ça en 6 secondes...
Bon l'accroche est un peu racoleuse, mais totalement vraie (chronomètre en main...). Après plusieurs tests, la durée peut varier un peu, à quelques secondes près (sans doute du à un système de cache...)
L'idée est ici de télécharger le fichier zip depuis le dépôt Wordpress, directement sur le serveur, et de le dézipper sur place.
Nous fonctionnons alors entre deux hébergements à haut débit, et non limité par un fournisseur d'accès en ADSL. Selon le même principe qui fait que lorsqu'on installe un plugin en ligne, cela va plus vite que lorsqu'on le fait en local...
Il suffit d’enchainer deux commandes simples: wget et unzip. Notons que cela peut ne pas marcher chez certains hébergeurs qui limitent l'accès à la commande exec que nous allons utiliser. Testé (avec succès) chez OVH.
Créez un fichier php, qui contient ces lignes là:
<?php
// Définir le nom du dossier final
define('PROJET', 'mon-projet');
// Eviter des doublons...
if ( file_exists (PROJET)) {
print 'Ce nom de projet existe déjà: '. PROJET;
exit;
}
// Afficher l'heure de départ
print 'Start: '. date('H:i:s') . '<br>';
// Récupérer la dernière archive en français
exec('wget http://fr.wordpress.org/latest-fr_FR.zip');
print 'Download OK: '. date('H:i:s') . '<br>';
// Dézipper l'archive, dans un dossier wordpress
exec('unzip latest-fr_FR.zip');
// Renommer le dossier du nom de votre projet
rename("wordpress", PROJET);
print 'Unzip OK:'. date('H:i:s') . '<br>';
print '<a href="'. PROJET .'/">Installer</a>';
Uploadez ce fichier en ftp classique, et lancez le.
Les commentaires dans le code expliquent les étapes, c'est assez limpide: téléchargement, dézippage, renommage...
Seule chose à faire, changer le nom du projet. J'ai ajouté une vérification pour éviter d'écraser un projet existant.
Plusieurs lignes ne servent à rien, si ce n'est afficher l'heure pour voir la durée du processus, voir ci dessous...
En idées d'amélioration, nous pourrions :
- Passer par un formulaire pour demander le nom du projet plutôt que de le mettre en constante dans le code... (intéressant si vous êtes formateur et avez souvent des installations wordpress à faire...
- Installer quelques plugins dont vous avez l'habitude dans la foulée
- ...
Allez, sur ce, faut lancer l'installation (en 5 minutes...)