
Utiliser le plugin Slider Revolution sur l'hébergement Pantheon
Slider Revoultion est un plugin très populaire dans la communauté WordPress pour créer des curseurs de contenu dynamiques. Le plugin a quelques problèmes lorsqu'il est utilisé sur l'hébergement Pantheon, en raison de sa structure de fichier non standard. Dans cet article, nous allons voir comment le faire fonctionner correctement dans votre environnement Pantheon.
Le problème
Lors de l'activation, le plugin Slider Revolution tente d'extraire un fichier zip dans le dossier wp-content/plugins/revslider/public/assets
.
Ce dossier est utilisé pour stocker les ressources utilisées lors de l'affichage des sliders, et a également besoin d'un accès en écriture puisque tous les modèles téléchargés seront placés dans ce dossier.
Dans l'environnement d'hébergement Pantheon, le dossier 'plugins' est contrôlé en version par git, et n'a donc normalement pas d'accès en écriture au système de fichiers. Le script d'activation rencontre une erreur lorsqu'il tente d'extraire le fichier zip :
Slider Revolution error : could not unzip into the revslider/public/assets/ folder, please make sure that this folder is writable.
La solution
Afin de faire fonctionner ce plugin correctement, nous devons faire en sorte que le plugin écrive ailleurs, dans un répertoire qui n'est pas contrôlé par la version. Le plugin stocke déjà le contenu de votre slider téléchargé dans le
dossier wp-content/uploads/revslider
. Puisque celui-ci est déjà accessible en écriture, nous voulons lui faire extraire le fichier zip 'assets' à l'intérieur de ce dossier. Nous allons créer un lien symbolique ('symlink') dans le système de fichiers pour y parvenir.
Comme je l'ai mentionné précédemment, Pantheon sépare les fichiers contrôlés par la version (votre code WordPress) des fichiers non contrôlés par la version (les médias téléchargés par l'utilisateur). La structure du répertoire ressemble à ceci :

Comme le montre la figure ci-dessus, il y a un lien symbolique dans le système de fichiers de Pantheon vers le répertoire des téléchargements "files", qui vit en dehors du répertoire "code" contrôlé par la version de git. Ce que nous allons faire est de créer un nouveau lien symbolique pour aller de 'wp-content/plugins/revslider/public/assets' à 'wp-content/uploads/revslider/assets'. Avant de faire quoi que ce soit, vous devez vous assurer que le répertoire 'assets' n'existe pas dans 'wp-content/plugins/revslider/public'. S'il y a déjà du contenu à cet endroit, nous devrons d'abord le supprimer du contrôle de version. Depuis la racine de votre dépôt local, entrez la commande suivante :
git rm -rf --cached wp-content/plugins/revslider/assets mv wp-content/plugins/revslider/assets wp-content/uploads/revslider
Cela supprimera tous les actifs existants du contrôle de version, et les déplacera vers l'endroit où ils se trouveront dans les téléchargements. Maintenant, vous naviguez vers votre copie locale du répertoire 'wp-content/plugins/revslider/public', et entrez la commande suivante et appuyez sur Entrée pour créer le lien symbolique.
ln -s ../../../../../files/revslider/assets/ ./assets
Notez que le lien symbolique ne fonctionnera probablement pas sur votre système local, à moins que vous n'ayez directement répliqué le système de fichiers de Pantheon avec les répertoires 'code' et 'files' comme indiqué ci-dessus.
Ajoutez ce nouveau fichier de lien symbolique à votre dépôt git, validez les changements et poussez-les dans l'environnement de développement de Pantheon (normalement, il s'agit du dépôt git distant "origin") :
git add assets
git commit -m "ajout d'un lien symbolique pour le dossier assets vers 'files/revslider/assets'"
git push origin master
Vous pouvez maintenant tester ceci depuis votre site de développement en activant le plugin Revolution Slider et voir si l'erreur a disparu. De plus, en utilisant l'inspecteur des outils de développement de votre navigateur, assurez-vous qu'aucun des assets revslider ne renvoie d'erreur 404. Pour tester votre lien symbolique, vous pouvez essayer un fichier connu du dossier avec le lien symbolique dans le navigateur, comme par exemple :
http://dev-votre-site.pantheonsite.io/wp-content/plugins/revslider/public/assets/css/settings.css
Si vous voyez le CSS, et que vous n'avez pas vu d'erreurs sur la page du tableau de bord du plugin, votre lien symbolique fonctionne.
Un autre test serait de vous connecter au site de développement avec votre client SFTP, et d'essayer de naviguer vers le dossier 'code/wp-content/public/assets'. S'il va dans le dossier 'files/revslider/assets', c'est qu'il fonctionne.
Vous pouvez maintenant commencer à utiliser ce plugin. Amusez-vous bien à créer vos sliders !