Suite à une question posée par un copain, je réalise que notre système de
cron ainsi que notre système de notation des caches dans spip_caches pose
problème : en effet - pour sauter à la conclusion - ce qui concerne le cache
(ou plus généralement le disque) devrait être géré sur le disque, et ce qui
concerne les données devrait être géré dans la base.
Donc, en gros, si on voulait ne pas avoir de problème de cohérence dans la
situation évoquée ci-dessous, il faudrait que les données de spip_caches
soient gérées à l'intérieur du répertoire CACHE/ (avec une mini base de
données au format qu'on veut, filesystem, texte plat, sqlite...) ; à
l'inverse les crons touchant aux données (statistiques, popularites,
recalcul des rubriques publiées, etc) devraient être notés dans spip_meta,
et non pas dans des fichiers de ecrire/data/
Je vous transfère la discussion ci-dessous (avec permission) :
> Fil,
> On a décidé d'ouvrir un 2e site www.2esite.com
> pour relayer certaines infos hors du cadre de
> www.1site.com.
>J'ai installé 1 nouveau SPIP, mais je pose la
question suivante: est-il possible de "brancher"
le fichier inc-connect.php3 du nouveau SPIP pour> lire la base de 1site.com? Y a-t-il des
> inconvénients ou des problèmes car cela implique2 caches, 2 logs, etc.?
Ce serait l'idéal: ensuite sur seropos.net je
limite les rubriques affichées dans les
squelettes, et pour le visiteur c'est 1 autre
site, mais je garde 1 seule base à gérer,qui
regroupe toutes les infos.Est-ce faisable?
Tu vas me dire que je n'ai qu'à essayer, mais le
> problème c'est que je ne veux pas planter
> 1site.com avec mon test...
réponse
C'est très risqué, au niveau du calcul des stats notamment, tout va pêter...
Si tu débranches certains "cron()", par contre, ça devrait être jouable.
Mais je ne crois pas que ce soit la piste à suivre.Car si c'est sur le même serveur, en jouant habilement des RewriteRules tu
n'auras pas besoin de faire deux SPIP ; un seul SPIP peut répondre
différemment à des sollicitations sur des HOST différents.Si tu tiens (pour telle autre raison) à avoir deux bases de code php
séparées, tu devras en revanche au minimum partager les répertoires IMG/
(pour les logos, les docs joints, et les images), et ecrire/data/
(pour cron).Je pense d'ailleurs que la faiblesse du système actuel de cron est là-dedans
-- trop facile de faire des dégâts. C'est un truc à améliorer je crois --
doubler l'info qui se trouve dans ecrire/data/ avec des valeurs dans
spip_meta, ou ne se baser que sur spip_meta, du moins pour les cron qui
affectent la base.Pour le CACHE/, je ne visualise pas exactement les conséquences ; pour le
forum ça déconnera probablement, si le site 1 essaie d'invalider les caches
du site 2 (après le postage d'un nouveau forum), et les déclare invalidés
bien qu'il n'ait pas réussi à les effacer (puisqu'ils sont dans le site 2).Mais ça doit pouvoir se régler en bidouillant un peu (changer le nom de la
table spip_caches sur un des deux sites, et le nom des metas associés au
vidage du cache).Au total, ça ne me paraît pas viable, alors que l'option un seul site pour
deux HOST est très facile.Mais la question donne à réfléchir.
Est-ce que je peux faire suivre ta question et ma réponse sur la liste ?
-- Fil