Pourquoi multidomaines ?
Multidomaines est un plug-in de mutualisation des données entre plusieurs domaines. Il offre la possibilité de faire plusieurs sites avec les mêmes données et/ou un site internet sur plusieurs domaines différents.
Comment installer Multidomaines ?
Pour pouvoir utiliser Multidomaines, vous devez pouvoir faire pointer plusieurs noms de domaines et/ou sous domaines vers le même dossier. Ceci n’est possible que chez quelques hébergeurs mutualisés. Les hébergements dédiés ne devraient pas avoir de problèmes pour configurer la destination des domaines. Référez-vous à l’assistance de votre hébergeur.
Après avoir installé et activé le plug-in, vous devez simplement configurer les chemins dans la configuration du plug-in. Celle-ci se trouve dans le menu configuration.

- Configuration du plugin
- La page de configuration vous permets de renseigner : l’url et l’adresse des squelettes de chaque sites.
L’URL par défaut
Cette URL sera l’URL utilisée par défaut si le secteur n’a pas de domaine. Elle sera aussi utilisée pour les URL qui ne dépendent pas d’un secteur. (auteur, mot, page).
Dossier squelettes
Il permet de savoir où sont stockés les squelettes. Multidomaines permet de différencier les dossiers des squelettes selon le domaine.
par exemple : pour le domaine www.exemple.org accédé en SSL :
Multidomaines rajoutera dans la liste des chemins des squelettes :
- squelettes/www.exemple.org.443/
- squelettes/www.exemple.443/
- squelettes/exemple.org.443/
- squelettes/exemple.443/
- squelettes/www.exemple.org/
- squelettes/www.exemple/
- squelettes/exemple.org/
- squelettes/exemple/
ainsi vous pouvez séparer des squelettes par nom de domaines et ports de protocole. pour rappel :
- port HTTP standard : 80
- port HTTP sécurisé par SSL : 443 (https)
On peut configuré les squelettes spécifiquement via le formulaire sinon ils seront rechercher comme expliquer au-dessus.
La balise #ID_SECTEUR_COURANT
La balise renvoie l’id du secteur courant si l’URL est associée à au moins un secteur.
!!! Attention : Si au moins deux secteurs ont le même nom de domaine, le résultat de la balise #ID_SECTEUR_COURANT renverra l’id d’un des secteurs de façon arbitraire !!!
La balise #URL_SECTEUR
La balise renvoie l’URL du secteur en cours. Si le secteur n’a pas d’URL, elle renvoie l’URL du site entré dans les options du plug-in.
utilisation :
- #URL_SECTEUR
- récupère l'URL du secteur de la rubrique du contexte
- #URL_SECTEUR{#ID_RUBRIQUE}
- identique au précèdent
- #URL_SECTEUR{50}
- récupère l'URL du secteur de la rubrique 50
- #URL_SECTEUR{#ID_SECTEUR_COURANT}
- récupère l'URL de la rubrique correspondant au domaine courant
Les balises #URL_*_ABSOLU
Les balises fonctionnent comme les balises d’URL de Spip. Elle renvoie l’URL absolue associée à la page demandée.
Il en existe 7 :
- #URL_PAGE_ABSOLU{page}
- #URL_PAGE_ABSOLU{page,paramètres}
- #URL_ARTICLE_ABSOLU
- #URL_ARTICLE_ABSOLU{id_article}
- #URL_RUBRIQUE_ABSOLU
- #URL_RUBRIQUE_ABSOLU{id_rubrique}
- #URL_AUTEUR_ABSOLU
- #URL_AUTEUR_ABSOLU{id_auteur}
- #URL_MOT_ABSOLU
- #URL_MOT_ABSOLU{id_mot}
- #URL_BREVE_ABSOLU
- #URL_BREVE_ABSOLU{id_breve}
- #URL_FORUM_ABSOLU
- #URL_FORUM_ABSOLU{id_forum}
- #URL_DOCUMENT_ABSOLU
- #URL_DOCUMENT_ABSOLU{id_forum}
#URL_PAGE_ABSOLU exclu, les balises #URL_*_ABSOLU peuvent être utilisées de la même manière que les balises #URL_*.
- #URL_MOT_ABSOLU
- récupère id_mot dans le contexte
- #URL_AUTEUR_ABSOLU{1}
- récupère l'id_auteur grâce à l'argument 1
- #URL_ARTICLE_ABSOLU{#ID_ARTICLE}
- récupère l'id_article grâce à la balise dynamique placée en argument.
Multidomaines polyglotte
Actuellement, Multidomaines ne gère pas de domaine par langue.
Voici un début de solution pour pouvoir l’utiliser Multidomaines pour faire du multilinguisme par domaine.
Solution 1 : Les secteurs dédiés
Vous pouvez imposer une langue et un domaine à un secteur. Lier les articles de langue différente, Multidomaines gérera automatiquement le lien entre les domaines grâce à la balise #URL_ARTICLE_ABSOLU.
Solution 2 : Les squelettes contrôleurs
La seconde façon d’imposer la langue serait d’utiliser des squelettes qui contrôleront la langue.
par exemple :
Il existe plusieurs domaines pour le site exemple. exemple.com exemple.es et exemple.fr.
Pour imposer la langue, vous pouvez tirer avantage de la liste des chemins des squelettes. Par exemple :
- dans squelettes/md/article.html. {ne laissez pas les squelettes à la racine}
- <BOUCLE_article(ARTICLES){id_article}{lang}{0,1}>...</BOUCLE_article>
- dans squelettes/exemple.com/article.html
- <INCLURE{fond=md/article.html}{id_article}{lang}>
- dans squelettes/exemple.es/article.html
- <INCLURE{fond=md/article.html}{id_article}{lang=es}>
- dans squelettes/exemple.fr/article.html
- <INCLURE{fond=md/article.html}{id_article}{lang=fr}>
Attention ! Dans ce cas précis, l’utilisation des balises absolue ne sera pas utile. Vous devez utiliser les balises d’URL standard de SPIP en les préfixant de l’URL du site.
- http://www.exemple.fr/#URL_ARTICLE{5}
FAQ
Pourquoi n’avoir pas surchargé les balises d’URL de Spip ?
- Les balises d’URL de SPIP sont des URL relatives. Les balises de Multidomaines sont des URL absolues. Si Multidomaines surchargeait les balises d’URL, le filtre url_absolu pourrait renvoyer des URL invalides à l’instar des squelettes où sont écrit en dur par exemple : #URL_SITE_SPIP/#ID_RUBRIQUE{1}.
Comment vérifier que le secteur est le bon ?
- Dans l’absolu, vous voudriez surement pouvoir réagir si le domaine n’est pas celui attribué au secteur. Pour ça, il existe plusieurs petites solutions.
- Dans un environnement d'exécution où il existe un id_rubrique dans le contexte.
- [(#URL_SECTEUR|=={#URL_SECTEUR{#ID_SECTEUR_COURANT}}|non)
- #HTTP_HEADER{Status: 301 Moved Permanently}
- #HTTP_HEADER{Location:#URL_SECTEUR#SELF}
- ]
- Attention, var_mode n'est pas transmis !
Feuille de route
- Faciliter le domaine par langue.
- Créer la balise #CHEMIN_ABSOLU
- Créer le filtre |vrai_url_absolue
- gérer l’emplacement des répertoires vignettes, images, cache, upload, et autre, ainsi que leurs domaines associés
Fichier exemple
Le plugin intègre un site exemple, vous pouvez repartir de cela, ce dossier sera amélioré par la suite bien sûr.
Téléchargements
Pour télécharger le plug-in, merci de cliquer sur cette icône.
- Version 2.x.x pour version Spip 3.X
Compatibilité
Squelettes Z
Incompatibilité
Plugin mutualisation
Hébergeur incompatible
Ovh : on ne peut pas monter un site avec plusieurs domaines, ovh gère les domaines en alias et donc ça fonctionne pas. Avec des sous domaines cela fonctionne par contre.



Version 2.1.2
Vos commentaires
# Le 19 août 2012 à 15:36, par rubenxela
En réponse à : Plugin Multidomaines 2.x
bravo pour ce plugin dans la continuité de la première mouture. Vraiment très utile ! J’adore ! Merci
# Le 19 août 2012 à 17:14, par Pierre KUHN
En réponse à : Plugin Multidomaines 2.x
Bonjour
Tu as un site où on peut le voir en activité ?
# Le 19 août 2012 à 18:11, par rubenxela
En réponse à : Plugin Multidomaines 2.x
Je ne manquerai pas de te poster l’adresse début septembre lorsque ça sera en release. Là pour le moment vacances ;)
# Le 14 mars à 17:35, par Pierre KUHN
En réponse à : Plugin Multidomaines 2.x
Salut, dit moi tu as fini ton projet ? des retours ?
Répondre à ce message
# Le 30 octobre 2012 à 13:15, par Samuel
En réponse à : Plugin Multidomaines 2.x
Bonjour,
J’ai installé easyphp 5.3.8.1, SPIP 3.0.5 et le plugin multidomaines 2.1.2-dev. Aucun problème lors de l’installation.
J’ai créé 2 alias dans easyphp, « toto » et « toto2013 » pointant tous les deux sur le même dossier spip.
Dans l’espace privé de spip, j’ai créé deux secteurs, toto et toto2013.
Dans mon dossier squelettes, j’ai posé un fichier sommaire.html contenant simplement « bonjour toto » et un dossier toto2013. Dans ce dossier toto2013, j’ai posé un fichier sommaire.html contenant simplement « bonjour toto2013 ».
Dans l’espace privé, dans le plugins multidomaines, j’ai bien les deux secteurs qui apparaissent :
- url par défaut, j’ai http://127.0.0.1:8080/toto
- dossier des secteurs : squelettes
Dans la configuration multidomaine du secteur toto2013 :
- Url du secteur : http://127.0.0.1:8080/toto2013
- Dossiers des squelettes du secteur : squelettes/toto2013
J’ai vidé et désactiver temporairement le cache SPIP.
Malgré cela, peu importe l’alias utilisé, c’est toujours la page « bonjour toto » qui apparait, jamais la page « bonjour toto2013 » ce qui laisse à croire qu’il ne va jamais chercher la page du dossier squelettes/toto2013
Merci de votre aide,
# Le 30 octobre 2012 à 19:05, par Pierre KUHN
En réponse à : Plugin Multidomaines 2.x
Bonsoir
Un screen de ta configuration est possible ?
Répondre à ce message
# Le 12 juillet 2012 à 17:50, par AlainF
En réponse à : Plugin Multidomaines 2.x
Bonjour,
enfin un plugin qui correspond à mes besoins, mais pas de chance ou mauvaise manip sur le site
Dés l’activation du pluging, voici les messages sur la partie ecrire :
Warning: Invalid argument supplied for foreach() in /homez.540/guillot/www/plugins/auto/multidomaines/v2.1.0/multidomaines_options.php on line 8
Fatal error: Call to undefined function cextras_api_upgrade() in /homez.540/guillot/www/plugins/auto/multidomaines/v2.1.0/multidomaines_administrations.php on line 10
Config :
- Hébergement : OVH perso
- SPIP 3.0.2 [19586]
Plugins ::
- Arclite vert 0.9.2 stable ;
- Le Couteau Suisse 1.8.76 - stable
- Menus 1.2.1 - dev
- NivoSlider 2.0.0 - test
- Saisies pour formulaires 1.25.10 - test
- SkelEditor 2.7.2 - test
- Zpip-dist v1 1.7.19 - stable
Seule solution supprimer répertoire du plugin par FTP pour revenir à un état stable.
Merci de m’indiquer comment je peux solutionner ce problème pour tester cette solution.
# Le 12 juillet 2012 à 18:23, par Pierre KUHN
En réponse à : Plugin Multidomaines 2.x
Bonjour
Tu as retirer le plugins complétement ?
Est ce que tu as toujours l’erreur une fois que tu as configurer le formulaire ?
# Le 12 juillet 2012 à 19:17, par AlainF
En réponse à : Plugin Multidomaines 2.x
je n’ai que ces messages d’erreur et aucun accès à l’espace privé, de plus des messages apparaissent sur l’espace public, jusqu’à la suppression du dossier dans plugins/auto/
etrange !!!
# Le 12 juillet 2012 à 19:29, par Pierre KUHN
En réponse à : Plugin Multidomaines 2.x
Est ce que tu vides les caches ?
As tu la bonne version du plugins car je la voit pas sur le serveur ?
Enfin je pense que ovh ne le supporte pas car il tourne très bien sur mes sites.
# Le 13 juillet 2012 à 09:40, par AlainF
En réponse à : Plugin Multidomaines 2.x
Les caches sont vidés avant et même /tmp/ en FTP,
car après je n’ai plus d’accès à l’espace privé et dans l’espace public, le message est : « 500 Internal Server Error »
Pour l’installer, je copie le lien : http://files.spip.org/spip-zone/multidomaines.zip et je le colle dans l’installation de plugins de spip 3.0 et j’active et patatra.
Pour OVH, j’ai fais les modifs sur le htaccess :
SetEnv PHP_VER 5
SetEnv REGISTER_GLOBALS 0
Toujours pas de direction à suivre !!! de mon coté
# Le 13 juillet 2012 à 17:04, par AlainF
En réponse à : Plugin Multidomaines 2.x
Les correctifs sont bons, ils permettent l’installation du plugin sans message d’erreur et le paramétrage dans CFG, je continue...
# Le 24 juillet 2012 à 16:56, par AlainF
En réponse à : Plugin Multidomaines 2.x
Bonjour,
je reviens vers toi pour te poser une question :
je mets quoi dans mon sousdossier /squelettes/www.fuchsia-guillot.com/ ?
par avance, merci
# Le 24 juillet 2012 à 18:15, par Pierre KUHN
En réponse à : Plugin Multidomaines 2.x
Salut
Il faut mettre dedans tous ce qui concerne ce site.
Sur le projet que je dev, j’ai fait cela :
- squelettes/ = pour tous les sites/
- squelettes/www.fuchsia-guillot.com/ = ce qui concerne ce site uniquement
Le plugins lis la dist puis le squelettes et termine par le dossier du site en question.
Répondre à ce message