Tester un nouveau jeu de squelettes directement sur un site existant, de façon transparente pour les internautes, ça vous tente ?
Essayer var_skel
, c’est l’adopter !
Il est rare qu’un site soit refondu plus d’une fois par an. J’ai donc choisi les années pour nommer les répertoires squelettes. Par exemple : je crée la prochaine version d’un site dans le répertoire 2012, pendant qu’il continue de tourner avec les squelettes 2008 et que les précédents sont conservés dans les répertoires 2006 et 2003 [1] [2].
Ceci est possible grâce à un bout de code de Fil, chopé au vol je ne sais plus où, mais il y a déjà longtemps (en mai 2006), ensuite amélioré avec la complicité de Cédric avant d’être ajouté à ma trousse :
# choix du squelette tetue.net/?var_skel=toto
# tetue.net/?var_skel= pour revenir au normal
$liste_skels = array(
'2001',
'2002',
'2003',
'2004',
'2005',
'2006',
'2007',
'2008',
'2009',
'2010',
'2011',
'2012',
'2013',
'2014',
'2015',
'2016',
'test'
);
if (isset($_GET['var_skel'])) {
if (in_array($_GET['var_skel'],$liste_skels))
setcookie('skel', $_COOKIE['skel'] = $_GET['var_skel'], NULL, '/');
else
setcookie('skel', $_COOKIE['skel'] = '', time()-3600*24, '/');
}
if (isset($_COOKIE['skel']) AND in_array($_COOKIE['skel'],$liste_skels) AND is_dir(_DIR_RACINE.$_COOKIE['skel']))
$dossier_squelettes = $_COOKIE['skel'];
Remarquez qu’il est très simple d’y ajouter autant de répertoires squelettes annuels que nécessaire.
Mise en service
- Nommez vos répertoires squelettes par année, par exemple : « 2008 » et « 2012 »
- Désignez le jeu de squelettes à utiliser par défaut, par exemple :
$GLOBALS['dossier_squelettes'] = '2008';
dans votre fichier/config/mes_options.php
(s’il n’existe pas, créez-le) - Copiez à la suite le code ci-dessus (ou installez ma trousse à têtue)
- Videz le cache de votre site SPIP
- Passez la variable
?var_skel=2012
dans l’URL du site public pour le prévisualiser avec les squelettes 2012. Épatant, n’est-ce pas ? - Passez la variable
?var_skel=
pour revenir à la vue normale
Qui voit quoi ?
- Les internautes continuent de voir le site avec les squelettes déclarés, de façon totalement transparente — soit, dans notre exemple, avec les squelettes « 2008 ».
- Seule la personne qui a saisit l’URL modifiée avec un
var_skel
voit le site différemment — soit, dans notre exemple, avec les squelettes « 2012 » —, sans incidence aucune pour les autres.
En tant que webmestre, il m’est très utile de pouvoir essayer de nouveaux squelettes directement sur un site en fonctionnement. Cela permet, autre avantage appréciable, d’y travailler à plusieurs en même temps :
- les rédacteurs et administrateurs continuent de produire et gérer les contenus dans leur environnement habituel,
- pendant que je programme et teste les améliorations à venir en situation réelle, qu’il s’agisse de menues évolutions ou d’une refonte générale.
C’est vraiment chouette !
Un squelette SPIP n’est pas un thème graphique !
Et le switcher ? me demande-t-on alors... Le switcher de squelettes est un plugin SPIP qui affiche la liste des squelettes disponibles, sur le site public, sous la forme d’un menu select qui permet de basculer instantanément le site d’un jeu de squelettes à un autre.
Je n’ai pas besoin d’un tel menu pour choisir le squelette à tester et je ne comprends pas quel peut être l’intérêt pour l’internaute de tester différents squelettes.
Car, attention, un squelette SPIP n’est pas un thème graphique : il détermine avant tout le fonctionnement d’un site, pas seulement son apparence ! Essayer un autre squelette, soit un autre fonctionnement, sur la même base de données, ça revient parfois à changer complètement de site : pourquoi déstabiliser l’internaute avec ça ? Changer ainsi de squelette intéresse le webmestre, éventuellement les administrateurs du site, mais certainement pas les internautes, auxquels on proposera plutôt un switcher de thèmes graphiques. Encore que... quel intérêt pour l’internaute ??
Vos commentaires
1. Le 5 mars 2010 à 11:59, par Maïeul
En réponse à : Testez plusieurs squelettes avec « var_skel »
A titre personnel, j’ai activé le switcher de thème (via les modif de cerdic sur zen garden) sur mon site de schtroumpfs. L’interêt n’est pas tellement pour l’internaute mais pour la personne qui veut tester collezion avec différent thème.
2. Le 5 mars 2010 à 12:01, par Romy Têtue
En réponse à : Testez plusieurs squelettes avec « var_skel »
Oui, c’est bien ce que je dis : pourquoi donc embêter les internautes avec ça ???
3. Le 5 mars 2010 à 15:15, par Soon7
En réponse à : Testez plusieurs squelettes avec « var_skel »
Hello,
Cette astuce est très intéressante. Fonctionne t elle toujours en Spip 2.0 ?
4. Le 5 mars 2010 à 15:28, par Romy Têtue
En réponse à : Testez plusieurs squelettes avec « var_skel »
Soon7 : oui évidemment ! Et même que c’est diffusé prêt à l’emploi dans ma trousse à têtue pour SPIP 2.0 et supérieures :-)
5. Le 7 mars 2010 à 16:55, par baroug
En réponse à : Testez plusieurs squelettes avec « var_skel »
L’intérêt, ça n’est pas, si on aime pas le thème actif, d’en choisir un autre qu’on préférerait ?
6. Le 8 mars 2010 à 10:46, par Dom
En réponse à : Testez plusieurs squelettes avec « var_skel »
L’intérêt du style-switcher me semble être de proposer différentes versions en fonction du public. Je l’utilise avec deux versions : normal et mal-voyant, charte à grosses polices et forts contrastes.
7. Le 8 mars 2010 à 11:39, par Maïeul
En réponse à : Testez plusieurs squelettes avec « var_skel »
Je ne vois pas en quoi cela « embête » l’internaute. Il est libre de l’utiliser ou non ...
8. Le 8 mars 2010 à 12:39, par Romy Têtue
En réponse à : Testez plusieurs squelettes avec « var_skel »
@Dom : ah, voilà une utilisation bien intéressante ! et tu parles bien d’un switcher de styles ;-)
@Maïeul : tomber sur des erreurs 404, comme j’ai pu l’expérimenter en switchant de squelettes sur d’autres sites, parce que telle page existe dans tel squelette mais pas dans tel autre — et c’est bien normal, puisque c’est à ça que servent les squelettes —, je trouve pour le moins embêtant, vi.
9. Le 8 mars 2010 à 16:45, par Maïeul
En réponse à : Testez plusieurs squelettes avec « var_skel »
A h mais je parlais de switcher les thèmes, pas les squelettes ;)
10. Le 10 mars 2010 à 14:14, par Stéphane Deschamps
En réponse à : Testez plusieurs squelettes avec « var_skel »
En fait moi j’utilise le switcher parce que c’est moins laborieux que de bricoler l’URL. Je l’ai réglé de sorte que seuls les admins le voient.
11. Le 8 juin 2010 à 11:32, par Marc VALLETEAU de MOULLIAC
En réponse à : Testez plusieurs squelettes avec « var_skel »
Très très bon « plugin » que cette panoplie d’outils performants, merci Romy ... avec un petit bémol (peut-être dû à une méconnaissance, de ma part, d’un mécanisme compliqué) : l’utilisation de var_skel (idée géniale !!) n’est pas possible, semble-t-il, sur un site mutualisé (en spip 2.0.10) ...
Par contre, totalement opérationnel sur un site « normal » ... Encore merci.
12. Le 6 octobre 2010 à 15:23, par Firouz
En réponse à : Testez plusieurs squelettes avec « var_skel »
Bonjour,
Est ce que ce système marche avec des « plugins » de squelettes
Ex 01 : plugin - squelettes ’sarkaspip’ (diverses versions par exemple 1.2, 1.3 etc)
Ex 02 ; plugin - squelette EVA
etc.
Et dans le cas positif comment on fait avec le fichier option.php
Je n’ai plus le temps ou on me laisse pas le temps, de faire les squelettes « brut de brut » ce qui est assez long, je travaille directement sur les plugins ?
13. Le 29 octobre 2010 à 13:05, par Blog informatique
En réponse à : Testez plusieurs squelettes avec « var_skel »
Bonjour,
Merci pour toutes ces informations.
Laiza
14. Le 3 janvier 2011 à 09:26, par boutique gay
En réponse à : Testez plusieurs squelettes avec « var_skel »
Je me demandais si, comme pour d autres cms, on pouvait faire de spip une boutique en ligne.
15. Le 7 février 2011 à 14:09, par JLuc
En réponse à : Testez plusieurs squelettes avec « var_skel »
Cette astuce est super, mais elle ne marche plus lorsque le couteau_kiss est installé, car celui ci force la valeur de $dossier_squelette, mais si la saisie n’est pas renseignée...
16. Le 4 avril 2011 à 03:52, par Med
En réponse à : Testez plusieurs squelettes avec « var_skel »
En effet, si c’était compatible avec le plugin couteau-KISS, ça serait parfait :)
17. Le 13 mai 2011 à 14:27, par Filnug
En réponse à : Testez plusieurs squelettes avec « var_skel »
@Med
effectivement, le couteau kiss pose problème. Même désinstallé via « step », le script dans mes_options.php ne fonctionne pas !!!
18. Le 23 août 2011 à 17:56, par cmd-R
En réponse à : Testez plusieurs squelettes avec « var_skel »
Merci à ce post et aux commentaires qui m’ont permis de découvrir que le plugin Couteau KISS empêche toute utilisation de ce genre de code dans mes_option.php :
La seule solution est de désactiver le plugin dans la gestion des plugins. Dommage…
19. Le 22 décembre 2011 à 17:40, par Suske
En réponse à : Testez plusieurs squelettes avec « var_skel »
L’interface du « Couteau Kiss » est très explicite :
Quand les réglages sont satisfaisants, il suffit donc de procéder à cette copie avant de désactiver le Couteau Kiss...
20. Le 22 décembre 2011 à 18:19, par Suske
En réponse à : Testez plusieurs squelettes avec « var_skel »
Après quelques recherches au sujet de la mutualisation, je découvre que mutualisation/mutualiser.php propose une constante
En répercutant cette info dans le code proposé par Tetue, ça donne :
Et c’est parti :-)
21. Le 16 février 2012 à 21:37, par Suske
En réponse à : Testez plusieurs squelettes avec « var_skel »
On m’interroge sur la mise en oeuvre...
Donc :
La seule différence par rapport au code proposé par tetue : « _DIR_SITE . » permet d’ajouter la partie du path qui détermine l’endroit où se trouvent les fichiers de votre site mutualisé...
22. Le 19 février 2012 à 11:55, par Manu
En réponse à : Testez plusieurs squelettes avec « var_skel »
Bonjour,
Dans le cadre d’une ferme à SPIP, j’applique la méthode décrite ici et complétée par Suske pour tester plusieurs squelettes. Ça fonctionne au poil. Enfin, presque !
Il y a en effet un problème résiduel dans la mesure où les fichiers de langues personnalisés, par ex :
sites/monsite_mutualise/mondossier_squelettes/lang/local_fr.php
ne sont pas pris en compte...
Une idée du pourquoi ?
PS : je précise que si je sors du contexte de var_skel, c’est-à-dire, si je courcicuite le fichiers mes_options.php et que je renomme mon dossier de test en « squelettes », le fichier de langue est bien pris en compte
23. Le 29 février 2012 à 16:24, par Stéphane Deschamps
En réponse à : Testez plusieurs squelettes avec « var_skel »
Romy,
J’ai décidé il y a un moment de me passer du switcher pour appliquer ta méthode, et il y a juste un truc qui m’embêtait, c’est que quand tu attaques une URL en
?var_skel=machin
il faut rafraîchir la page :J’ai donc rajouté une petite modification dans le code que j’utilise en local pour avoir l’affichage immédiat :
... en espérant que ça n’introduise pas de trou de sécu.
24. Le 19 octobre 2012 à 18:00, par Fil
En réponse à : Testez plusieurs squelettes avec « var_skel »
à propos de var_skel on peut aussi l’utiliser pour modifier la base de données utilisée ; il faut pour cela aller bidouiller
config/connect.php
de la manière suivante :Répondre à cet article
Suivre les commentaires :
| 