Spip-Clône est un outil pour simplifier l’installation, la configuration et la mise à jour de sites Spip en grandes quantités sur un serveur aux ressources modestes (techniques et humaines).
- Public : Administrateurs de nombreux sites sous Spip sur un même serveur (faut l’admettre, c’est d’un usage plutôt précis !).
Pour le moment, c’est encore au stade plutôt expérimental, mais c’est utilisé en « production » depuis quelques mois. En plus de permettre les mises à jour rapides, chaque site Spip utilise que 2-3 mo pour l’antémémoire (cache) et environs 1 mo pour la base de données (économisant ainsi environs 10 mo de code php et d’images).
L’outil utilise le terme « clône » car une copie centrale (non-utilisée) de Spip est installée et chaque site n’est qu’un clône des fichiers, grâce à des liens symboliques (unix/linux/macosx : commande ln -s
).
Nous vous invitons à tester/commenter l’outil en téléchargeant le code suivant. L’installation a été largement simplifée, mais l’outil exige quand même quelques connaissances techniques, telles que la manipulation de chemin d’accès Unix et une certaine compréhension entre le chemin d’accès sur disque d’un site web et son adresse web.
Fonctionalités disponibles
- Création d’un site à partir d’une copie centrale de Spip
- Propagation de mots-clés (et groupes) à partir d’un site de référence
- Modification par le web à mes_fonctions.php3 et mes_options.php3
L’outil vise à offrir un plus haut niveau d’automatisation, mais pour le moment, c’est où nous en sommes.
Installation
- Décompacter SPIP dans un répertoire quelconque (idéalement dans un répertoire qui n’est pas accessible par le web et dont les fichiers sont en lecture seules). On peut donc imaginer la hiérarchie de fichiers qui suit :
(...)/public_html/
(...)/spip_core/
(...)/spip_core/ecrire/
... etc ...
où « public_html » est le répertoire qui héberge votre site web.
- Télécharger le code (ci-dessous) vers le serveur.
- Décompresser si nécessaire ($ tar zxfv spip_clone-0.x.x.tar.gz
) afin que le répertoire spip_clone soit dans le répertoire du Spip (i.e. au même niveau que le répertoire « écrire »). On obtient donc le résultat suivant :
(...)/public_html/
(...)/public_html/admin/spip_clone/
(...)/public_html/admin/spip_clone/spip_clone.php (etc.)
(...)/spip_core/
(...)/spip_core/ecrire/
... etc ...
On peut se passer du site « admin », mais en installant un SPIP admin, spip-clône pourra propager des mots-clés entre sites et gérer l’accès à l’interface. Sans SPIP admin, il faudra créer un .htaccess
dans le répertoire spip-clône pour restreindre l’accès.
- À l’aide d’un navigateur web, visiter spip_clone.php (www.votre-site.net/spip_clone/spip_clone.php
) pour démarrer sa configuration.
- Ce script demandera où est situé le SPIP « source ». Dans l’exemple de cet article, la source est "
../spip_core/
« ou »/chemin/complet/vers/admin/spip_core/
" (préférable).
- Quant au répertoire de squelettes, il s’agit de créer un répertoire parallèle à
spip_core
où chaque sous-répertoire est un choix de squelette. Par exemple :
(...)/public_html/
(...)/public_html/admin/spip_clone/
(...)/spip_core/
(...)/spip_squels/
(...)/spip_squels/1er_squelette/
(...)/spip_squels/2e_squelette/
(...)/spip_squels/ ... etc ...
Voilà, c’est prêt. Maintenant, l’étape recommandée est de créer pour premier clône le SPIP administratif, c’est à dire, de créer un clône dans le répertoire (...)/public_html/admin/
. Quand c’est prêt, configurer le site via ecrire
comme avec n’importe quel site SPIP, et une fois prêt, les administrateurs de ce site seront les seuls qui pourront créer de nouveaux clônes.
C’est aussi la raison pour laquelle il est recommandé de créer un site « admin » et non d’utiliser un site actif pour référence, à moins que ce site ait un seul administrateur.
Développements futurs
Consulter le Spikini de Spip-Contrib :
- http://www.spip-contrib.net/spikini...
Code source
- Licence : GPL
- Auteur : Mathieu Lutfy (www.bidon.ca)
- Système d’exploitation : Unix, Linux, MacOSX
Discussions par date d’activité
3 discussions
L’idée est très séduisante, mais les explications relatives à l’installation ne sont pas claires et ne semblent pas cohérentes.
Comment est-il possible que « le répertoire spip_clone soit dans le répertoire du Spip » alors que spip_clone doit être accessible sur le web, tandis que spip_core est « idéalement dans un répertoire qui n’est pas accessible par le web ».
En tous cas, malgré de nombreux essais, je n’obtiens aucun résultat.
J’en arrive à me demander si l’auteur n’a pas amélioré son code en oubliant d’adapter les explications (ou bien le contraire) ...
D’avance merci, si quelqu’un a pu utiliser ce sytème et peut donner des explications un peu plus claires et plus précises.
Jac
En effet, il y a un léger problème d’oeuf et la poule avec cette contrib.. voici ce que je conseille :
/admin/
./admin/spip_clone/
./home/mathieu/scripts/spip_core/
./home/mathieu/scripts/spip_squels/
. Chaque entrée dans ce répertoire est un répertoire de squelettes. On peut donc avoirspip_squels/10_premier
,spip_squels/15_second
et ainsi de suite..Du côté de l’admin du serveur Web, je conseille que soit :
- les clônes soient tous dans un sous-répertoire d’un site, tel que foo.net/site1, foo.net/site2, etc.
- ou les clônes soient dans une arborescense utilisant une configuration semblable à :
Pour en revenir au problème d’oeuf et de la poule, c’est que l’on peut re-installer le site « admin » avec spip-clône, pour éviter toute redondance.
mathieu
Merci Mathieu,
Ces explications un peu plus précises m’ont permis de réussir mes premiers clones, que tu peux trouver ici :
- le début d’un sous-site d’un site de centre culturel ;
- un sous-site de support technique du même site.
Dans ce dernier, j’ai repris, dans deux articles, la méthode que j’ai appliquée pour l’installation de spip-clone et la création des premiers clones. J’y mentionne un petit bug que j’ai dû corriger.
Au moment de créer du contenu, je remarque qu’il me manque les icônes des raccourcis typographiques. Sans doute ai-je oublié de mettre ecrire/IMG en 777.
J’aurai sans doute encore des questions. Pour commencer :
En tous cas, bravo et merci pour ton excellent travail. Avec un bon tutoriel, je suis certain qu’il fera beaucoup d’heureux.
Jac
Génial la doc, merci.
- J’ai ajouté la suppression des clônes dans la contrib (version 0.3.2). Par précaution, puisque c’est une opération récursive (i.e. qui s’applique sur tous les sous-répertoires), le script supprime uniquement les fichiers qui sont des liens symboliques et les répertoires vides.
Par conséquent, les documents joints aux articles d’un site ne sont pas supprimés, de même que les fichiers de configuration. Par contre, les permissions sont modifiées de façon à ce que l’on puisse plus facilement les supprimer/télécharger par FTP.
- Au sujet de Spip-Agora : je ne suis pas très familier. Si quelqu’un réussit à modifier Spip-Clône pour que ça fonctionne, je peux toujours inclure les modifications si l’on m’envoie un diff.
mathieu
Ah, j’oubliais : pour faire la mise à jour de la contrib, il suffit d’écraser les anciens fichires. Le script détectera qu’il a été mis à jour et demandera de confirmer la configuration.
Entre la version 0.3.1 et 0.3.2 il n’y a pas eu modification au système de configuration, il faut seulement cliquer sur le bouton valider.
mathieu
Répondre à ce message
Bonjour a vous ...........
je cherche a installer votre contrib pour des test perso.......
ceux ci est un pas a pas pour vous aider a améliorer votre contrib , voir lever des bugs ou dire simplement superbe ça marche.
Allez on y va :
- hebergeur free :
- Création des repertoires
Spip-Clone ; celui ci reçoit la contrib.
a l’interieur :
admin
installer un Spip sur un site quelconque accessible par le Web, disons : /admin/.
spip_clone
écompacter Spip-Clône dans le répertoire de ce site. Il sera donc accessible par /admin/spip_clone/.
spip_core
Décompacter, mais ne pas installer, un Spip sur un répertoire quelconque.
spip_squels
Optionnellement, créer un répertoire de squelettes qui peuvent être fournis par défaut. Par exemple,
Ensuite lancement de :
http://bachant.free.fr/Spip-Clone/
puis
http://bachant.free.fr/Spip-Clone/admin/
puis
http://bachant.free.fr/Spip-Clone/admin/spip_clone/
puis
http://bachant.free.fr/Spip-Clone/admin/spip_clone/spip_clone.php
Tout d’abord :
j’ai les erreurs suivantes :
Notice : Undefined index : conf_spipcore in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 42
Notice : Undefined index : conf_spipsquels in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 43
Notice : Undefined index : conf_mes_fonctions in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 44
Notice : Undefined index : conf_mes_options in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 45
Notice : Undefined index : conf_vhostsbase in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 46
puis lorsque Créer un nouveau site sous SPIP
celles-ci :
arning : opendir(../spip_squels/) : failed to open dir : No such file or directory in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_bazar.php on line 54
Warning : readdir() : supplied argument is not a valid Directory resource in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_bazar.php on line 55
Warning : closedir() : supplied argument is not a valid Directory resource in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_bazar.php on line 66
et je me retrouve la :
Notice : Undefined index : select_squelettes in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/spip_clone.php on line 181
Spip-Clone / Création d’un nouveau clône, étape 2
Warning : file_exists() : Unable to access / in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 623
Warning : mkdir() : Unable to access / in /var/www/free.fr/8/7/bachant/Spip-Clone/admin/spip_clone/inc/inc_clones.php on line 624
Erreur : Le répertoire cible n’existe pas et je n’ai pas le droit de le créer.
EN BREF / AU SECOURS..............
Salut, les avertissement se produisent parce que le répertoire « spip_squels », i.e. là où tu peux entreposer tes squelettes, n’est pas créé (ou le chemin d’accès dans la conf de spip-clône est invalide).
Mais la création du clône comme tel devrait fonctionner.
Je rajouterai dans la prochaine version une option pour ne pas clôner les ficheirs de squelettes.
Bonne chance,
mathieu
p.s. je suis très surchargé en ce moment, je ne peux pas aller plus en détail.
ok je cherche ...........
bon vous pouvez toujours regarder la .........
http ://bachant.free.fr/Spip-Clone/
Répondre à ce message
Problèmes d’installation 0.3.2 sur le serveur mutualisé de ClaraNet.
Je suis un utilisateur Windows qui connais très peu sur Linux.
Mon phpinfo me dit que safe_mode est on (je ne sais pas ce que ça induit).
Organisation :
/LeCheminPerso/public/
Mon espace persotice
Un de mes sites publics (source du clone)spip_clone
Installation de spip_cloneclone
Un de mes sites publics (cible du clone)En lançant l’install, j’ai les messages :
Je lance quand même le paramétrage.
Même Warning en ligne 54, mais Configuration enregistrée.
Dans l’administration, je crée le clone dans
/public/clone/spip/
. Ca a l’air OK. Dans FileZilla, je vois tous les fichiers “liens” de 1k.Mais à l’exécution du nouveau SPIP, impossible d’accèder aux scripts php. Toute url du style
clone.mondomaine.com/spip/article.php?id_article=1
donne :Aucun .htaccess dans le dossier.
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |