Changer de squelettes comme de chemises

Langage et développement
PHP
Frameworks
Catégorie

| par Teddy Payet

En vue d’un nouvel habillage de mon site (il était temps de changer celui-là !), j’avais besoin de trouver une solution pour tester rapidement ce nouveau squelette sans gêner la version actuelle… Voici ce que j’ai trouvé.

Lisant et participant à la liste des utilisateurs de SPIP, j’ai déjà rencontré cette problématique. Et il en ressort qu’avec SPIP, nous pouvons utiliser le paramètre "var_skel" pour changer le dossier de squelettes.
Mais je n’avais aucune idée de comment faire…

La recherche d’informations

Le réflexe à avoir : une recherche sur Google. Bien m’en a pris.

Les résultats

Premier résultat : "Tester des squelettes" sur spip . blog. Bingo ! C’est la même problématique… Sauf que cet article est un peu ancien par rapport à la version de SPIP : 2.1.x

On continue dans les résultats. SPIPzine… Pareil, trop ancien (SPIP 1.9). Mais cela a le mérite d’être un plugin : "Le switcher de squelettes". Sur le site de SPIP-Contrib, il semble qu’il ne soit pas porté pour SPIP 2.1, ni même pour le moment pour SPIP 3.0.

Bon… Jamais 2 sans 3…

Et j’ai pris le résultat n°4… Allez comprendre pourquoi… La réputation (plus à faire) de Romy, peut-être ? Oui, je pense.

Et j’ai pris la solution de Romy qui me convenait très bien. Même si l’article date de décembre 2006, cela fonctionne encore très bien sur SPIP 2.1.x… Je vous laisse lire son article qui est très accessible. Elle arrive à vous faire comprendre les choses avec une telle simplicité que vous vous demandez pourquoi vous n’aviez pas compris avant. L’art de l’écriture et de la vulgarisation.

Et voilà, j’ai réussi à installer mon paramètre "var_skel" sans aucune difficulté ! (je ne vous donnerai pas les liens pour le vérifier ;-) )

L’histoire ne s’arrête pourtant pas là.
En écrivant ce billet, qui me sert aussi de mémo technique pour plus tard, j’ai fait plus attention au résultat n°3 : Programmer avec SPIP 2.1.
Leur solution est quasiment identiquement à celle de Romy. Mais, c’est le moins qu’on puisse attendre de ce site fédérateur, elle m’apporte une nouvelle vision de la problématique, ou du moins d’un bémol de la solution adoptée jusqu’à aujourd’hui.

Réajustements

le contexte
Avec ma première solution, sur mon serveur, je crée un nom de répertoire directement à la racine de mon site SPIP, là où se trouve généralement le répertoire "squelettes-dist" ou "squelettes" avec le nom que je désire…
Oui, c’est cool, mais si on reprend le développement d’un squelette quelques mois plus tard, ce n’est pas très parlant… On aura peut-être oublié le pourquoi du comment.

le fameux réajustement
"Programmer avec SPIP" m’apporte un nouvel aspect : je peux créer un sous répertoire dans "squelettes" pour mes nouveaux jeux de squelettes.
L’avantage, je reste dans le répertoire de "fonction" ce qui facilite sa compréhension plus tard.

Les remarques

En regardant un peu ce qui se passe sur le serveur, j’ai remarqué que si j’avais renseigné mes dossiers de squelettes dans mon fichier "mes_options.php" mais ne les avais pas créé encore sur le serveur, ils seront créés à l’appel de ma page sur mon site.
C’est un avantage et un inconvénient.

Par la suite, le comportement de SPIP pour ce nouveau dossier est le suivant pour trouver le fichier squelette.xxx dont il a besoin :
- mon dossier squelettes par défaut ;
- répertoire squelettes défini par les plugins (exemple : ZPIP) ;
- squelettes-dist ;
- erreur 404.

Et voilà pour aujourd’hui.