multisite quels modules et thèmes spécifiques ?

Bonjour,

Je suis sur le point d’installer pour la première fois un drupal multisite.
J’ai lu les recommandations suivantes : http://drupalfr.org/node/6171 et http://www.dator.fr/installation-multisite-drupal/

J’ai pourtant une question : comment déterminer si un module doit être spécifiques à un site ou non ?

  • l’est-il parce qu’il n’est utilisé que par un seul site ?
  • l’est-il parce que sa configuration est différente pour chaque site ?

Je m’explique par quelques exemples :

  • je souhaite utiliser advanced_help, je le met donc certainement dans le repertoire all/
  • mais pathauto, je souhaite l’utiliser dans tous mes sites, mais avec des réglages différents… que faire ?
  • ubercart ? j’aimerai avoir une console commune à tous les sites. dois je le mettre dans all/ ?
  • facebook for drupal requiert un code api fourni par fb, puis je le mettre dans all/ mais avoir des configs différentes ?
  • et pour taxonomy_image ?

Merci d’avance de vos indications éclairées :)

#

Hello,

Dans le cas où le module est utilisé par plusieurs sites et que la configuration se fait dans Drupal et non pas en éditant un fichier dans le dossier du module, tu peux le mettre dans all/ (pathauto par exemple). Sinon mets-le dans ton_site.tld/.

#

hello,
merci pour ta réponse.
donc si je met un module dont la config se fait dans l’admin de drupal (et non pas avec un fichier) dans le dossier all/modules/ je pourrai le configurer différemment pour chacun de mes sites ?

#

Oui, tant que tu utilises des bases de données ou des tables avec des préfixes différents pour chacun de tes sites. L’état (activé/désactivé) et la configuration des modules sera spécifique à chaque site.

J’ai une instance de Drupal contenant plusieurs sites, et le seul module dupliqué est l’éditeur WYSIWYG qui a été customisé différemment selon les sites (dans le fichier de configuration de l’éditeur).

#

merci beaucoup !!!

#

Tu vas sans doute être confronté à un problème :
Les modules du répertoire module de la racine ou dans site/all/modules sont accessibles partout. En revanche les modules placés dans site/monsite.com/modules ne sont accessibles que pour le seul site : monsite.com. Accessibles mais pas forcément installés. A toi de décider sur quel site tu installes les modules.

MAIS (et c’est important), cette dichotomie ne fonctionne que si les bases sont différentes (si tout pointe vers la même base, l’installation d’un module quelque part l’installe partout). D’où la dernière possibilité : partager certaines bases (mais pas toutes les bases), ce qui requière de bien connaître les bases Drupal pour savoir lesquelles partager. Pour la définition du partage, il te suffit de regarder et définir dans settings.php : c’est très facile et bien expliqué.

DONC pour reprendre ton exemple, il faut des bases séparées si tu veux que pathauto aie des configs différentes.

Le problème de base est qu’il existe une table variables qui enregistre un certain nombre de config (les configs de pathauto ou Ubercart). Cette table-là peut donc difficilement être partagée…ce qui signifie qu’il faut redéfinir les configs pour chacun des sites.

Bref tu t’engage vers qq chose de compliqué…

DRUPALONS.FR : lisez-nous et testez notre générateur de code, ou les flux drupaliens.

#

hello,
merci de ta réponse.

je ne suis pas certain de tout comprendre encore.. mais je garde ta réponse pour mon exploration dans le domaine du multi-site ubercart ;)

quand tu parles de «bases séparées», des tables avec préfixes différents ne suffiraient-elles pas ?

en fait, pour moi les avantages du multisite sont :

  • éviter de faire des MAJ de drupal pour chaque site et donc gagner du temps
  • n’avoir qu’un seul TPEvirtuel (pour la banque) avec Ubercart dans all/

j’ai raison ?

#

Oui, des tables avec préfixe sont suffisantes. Cela revient au même. C’est d’ailleurs recommandé pour si tu veux un jour partager certaines tables.

DRUPALONS.FR : lisez-nous et testez notre générateur de code, ou les flux drupaliens.

#

merci !
j’essaye

Syndiquer le contenu