Pourquoi faire du multi-site ?
Si l’on administre plusieurs sites on doit assurer ces tâches plusieurs fois (mises-à-jour en particulier), cela suppose de se connecter à plusieurs sites, d’effectuer des actions répétitives, cela fait perdre du temps et ajoute des risques d’oubli ou d’erreur.
Pour les fonctionnalité avancées (aller chercher des informations dans la base de données par exemple) chaque site est indépendant des autres et les possibilités sont limitées par sécurité.
Un site qui voudrait avoir plusieurs versions dans des langues différentes ou une fédération qui voudrait décliner une même charte graphique nécessitaient des sites séparés et des opérations répétitives.
Qu’est-ce que le multi-site ?
Il s’agit d’une seule installation Wordpress, une seule base de données mais plusieurs sites.
Un super-administrateur configure le réseau (crée les sites et donne les droits).
Chez les anglophones ce type d’installation est appelée ‘network’.
Dans chaque site des administrateurs peuvent ajouter des utilisateurs, utiliser ou pas les extensions du réseau, ils n’ont pas à gérer les mises-à-jour. Les pages, les articles et les commentaires sont séparés mais comme ils sont stockés dans la même base de données des mutualisations sont possibles même si de base chaque site n’accède qu’à ses propres contenus.
Pour les visiteurs, éditeurs, auteurs ou administrateurs des sites le fonctionnement reste celui d’un Wordpress de base (avec des tâches en moins). Seuls les super-administrateurs ont un menu spécifique pour gérer le réseau et les sites.
L’exemple le plus connu de multi-site est wordpress point com où des millions de sites sont créés dans une même installation (costaude j’imagine) ce qui permet de proposer des sites gratuits et d’en assurer le déploiement à moindre frais.
Deux options à la création : on choisit sous-domaine ou sous-dossiers.
Ces deux modes sont incompatibles et conditionnent le type d’adresse des articles :
Dans le cas des sous-domaines c’est de la forme http://site1.site-principal.com/article
Dans le cas des sous-dossiers c’est : http://site-principal.com/site1/article
Il faut bien comprendre que le wordpress va recevoir des requêtes vers différents sites, ces requêtes doivent être différentes et cependant arriver sur le même serveur.
Souvenons nous que l’url (uniform ressource locator) est composée du protocole suivi de ://, de la localisation de la ressource (composé de nombre pour une adresse IP ou de lettres et signes pour les sous-domaines/domaines) suivie de / et optionnellement du chemin suivi de / et du nom de la ressource.
NB dans le cas des sous-domaine on peut créer le réseau comme ci-dessus puis le faire évoluer vers du multi-domaine http://site1.com/article et http://site2.com/article.
C’est cette possibilité qui permet de cacher aux visiteurs, auteurs, éditeurs des sites qu’ils sont dans un réseau et de donner une visibilité ‘individuelle’ à chaque site.
Ce qu’il faut savoir :
Dans un réseau wordpress, qu’il soit organisé en sous-domaines ou en sous-dossiers, il n’y a qu’une seule installation de Wordpress, une seule base de donnée et un seul hébergement. Dans la base de données de nouvelles tables apparaissent avec un indice (2, 3, 4 etc) qui indique que ces données sont relatives au second, troisième, quatrième site.
Les serveurs Ouvaton sont mutualisés, c’est à dire que la même adresse IP supporte plusieurs sites. Le serveur doit lire dans la requête le (sous-)domaine demandé et la diriger vers le dossier/sous-dossier concerné.
Dans le cas des réseaux utilisant des sous-domaines cela complique les choses et demande une configuration particulière qui est du ressort des admins Ouvaton.
Voici ce qui se passe normalement : le serveur va lire l’url demandée ( site1.com/article2.php par exemple) et déduire que cela concerne l’hébergement ‘site1.com’ et si cet hébergement existe aller chercher la ressource article2.php de cet hébergement.
Voici ce qui doit se passer dans un réseau à sous-domaines : le serveur va lire l’url demandée ( site2.site-principal.com/article.php par exemple) déduire que cela concerne l’hébergement site-principal.com et si cet hébergement existe aller chercher la ressource article.php de cet hébergement.
C’est Wordpress qui, en voyant que l’on demande site2.site-principal.com, va afficher la ressource correspondante dans le contenu de site2. il en irait de même pour site2.com/article.php.
J’ai écrit une page sur mon site pour présenter ces informations et des copies d’écran de la maquette.
Je voulais partager ces connaissances, remercier nos admins Ouvaton (merci Matthieu) car nous sommes arrivés à configurer ce réseau. Des sujets vont peut être apparaitre car il est intéressant de partager des contenus entre les différents sites et cela n’est pas le fonctionnement de base.