Plugin Multidomaines 1.x

Ou comment associer un domaine à un secteur...

ATTENTION ! ceci est la version pour Spip 2.
Pour SPIP 3, utilisez la nouvelle version.
Le plug-in Multidomaines permet d’associer un nom de domaine ou un sous-domaine a un secteur spip. Les balises rajoutées permettent de pointer un lien absolu aussi facilement qu’avec les balises originales.

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.

Le plug-in a besoin de Champs Extras 2 pour fonctionner correctement

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.

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)

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 que le 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é à 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_PAGE_ABSOLU exclu, les balises #URL_*_ABSOLU peuvent être utiliser 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é 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 !

Téléchargements

Pour télécharger le plug-in, merci de cliquer sur l’icône en haut de cette page.

  • Version 1.1.0 pour version spip 2.X

Compatibilité

Plugin Bandeau
Squelettes Z

Incompatibilité

Plugin mutualisation
Couteau kiss

Discussion

23 discussions

  • 6

    Bonjour,

    Je viens de relever une incompatibilité de ce plugin avec le plugin couteau kiss.
    il interfère avec la gestion des squelettes par domaine, de façon assez perfide, car pas immédiatement.

    Nat33

    • Bonjour

      Quel version spip exactement ?

    • 2.1.19 je suppose ;)

      tu as des réglages particulier sur le couteaukiss ? je l’utilise pas de mon côté.

    • non rien de tres spécial, je l’ai désactivé, c’est pas grave, au besoin je pourrais copier les réglages dans mes options.
      Je postais pas spécialement pour que ce soit corrigé, mais plutôt si d’autres galèrent en se demandant pourquoi ça ne marche plus alors qu’hier c’était bon...

    • ok très bien

      merci pour le retour
      je vais le rajouter dans les incompatible, non ?

    • Oui je pense que c’est mieux, d’autant que l’on ne s’en rend pas compte immédiatement.

    Répondre à ce message

  • 3
    Sylvain

    J’ai du mal à comprendre le fonctionnement précis, j’imagine qu’on a des fichiers à rajouter à la racine des domaines redirigé au minimum... non ?

    • Bonjour

      Tu es sur quel version spip ? Normalement le plugin suffit et tous se config dedans.

    • Sylvain

      Version 3.0.4, j’ai un peu relu la doc si je comprends bien il faut au préalable configurer les différents domaines pour qu’ils pointent tous sur le domaine principal, c’est bien ça ?

      Et de ce que j’ai compris on peut attribuer un domaine à un secteur. Mais serait-il envisageable d’attribuer uniquement un domaine à un répertoire squelette à utiliser.

      En fait je cherche un moyen d’utiliser des squelettes différents en fonction d’un contenu restreint que je veux afficher ’uniquement une rubrique ou un article par exemple’.

    • Donc tu est pas sur le bon article pour le problème car c’est l’autre article, il y a une erreur de mots clef.

      Ensuite vu ton projet il faut jouer sur les variante de squelettes et donc sans ce plugins

    Répondre à ce message

  • 4

    Salut,

    Vu que la question est toujours en suspens : ce plugin est-il toujours maintenu ?

    Et question subsidiaire : est-il compatible avec Zpip (j’imagine que ça pose problème pour la sélection des répertoires de squelettes en fonction des domaines ...) ; quelqu’un ou l’auteur a-t-il déjà testé ?

    Merci pour ces infos
    ++ P.

    Répondre à ce message

  • 5

    Bonjour,

    Maintenant que SPIP3 est de sortie, j’aurais aimé savoir si un portage était prévus ?
    Merci et bonne continuation.

    Répondre à ce message

  • 1

    Bonjour !
    Tres bon plugin qui me sera tres utile dans le cadre de mon projet. Ceci dit, je suis relativement nouveau (et mauvais !), donc je comprends la theorie, mais en pratique... quels fichiers suis-je suppose mettre lorsque que je cree un repertoire sous-domaine ? Aucun ? Aussi, la redirection des sous-domaines vers un meme repertoire se fait par quel moyen ? Par modif des DNS, vHosts et autres ? Je suis actuellement en local (EasyPHP) et ne sait pas trop comment m’y prendre, et je ne veux pas m’aventurer a modifier les configs sur mon hebergeur avant d’avoir saisi le principe/methodologie :).
    Mes questions n’ont qu’un lien secondaire par rapport au plugin je le concois, mais je trouve malheureusement tres peu d’exemples pratiques pour celui-ci donc cela pourrait surement aider des neophytes de ma trempe d’etre un peu tenu par la main pour les premiers pas avec ce plugin :)

    Merci beaucoup et bonne journee !

    Répondre à ce message

  • 1
    Haqqtiviste

    bonjour

    le portage vers spip 3 sera t il envisagé... ?
    merci

    Répondre à ce message

  • Bonjour, ce plugin existe-t-il toujours ? Et si oui ou est il. Si non, existe-t-il un plugin comparable ?

    Répondre à ce message

  • Ce plugin est génial, attention néanmoins à bien bien composer vos squelettes avant production car après ça sera difficile une fois que Google aura indexé des tonnes de pages avec le contenu provenant des autres sites.
    Il faut donc bien spécifier les secteurs dans vos boucles, faire attention aux mots clés frères si vous utilisez les mots clés. Corriger en premier lieu le robots.txt.html et sitemap.html, qu’on a tendance à oublier et qui laisse indexer des tonnes de contenu ....

    En somme il y a un grand travail sur les squelettes à effectuer. Je pensais en être arrivé à boût y ayant pas mal travaillé, mais avec une dizaine de sites sur le système je remarque plein de soucis d’indexation que je dois corriger au fur et à mesure.
    Du coup je bloque des rubriques avec des redirections 301, idem sur les mots clés avec des conditions en php .... là par exemple je me rend compte qu’il faut que j’y remette le nez une fois de plus (robots.txt et sitemap.xml !!!).
    Par contre si vous êtes carré dès votre premier squelette, même en utilisant des squelettes et structures très variées dans les multisites vous n’aurez aucun problème. Moi de mon côté je banque !! Mais pas de soucis je vais m’en sortir ;-) Rappelez vous la fable de la tortue et du lièvre !!!! Il faut avant tout bien partir !!

    Répondre à ce message

  • 1

    Quelqu’un ou l’auteur du plugin pourrait-il mettre un exemple de squelette utilisant ce plugin ?
    (une seule page suffira...)

    Merci d’avance.

    Eric
    Un utilisateur vraiment intéressé par ce plugin.

    • Voici le début de sommaire.html pour que tu comprennes le principe

      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="#LANG" lang="#LANG" dir="#LANG_DIR">
      <head>
      <BOUCLE_TAG(RUBRIQUES) {id_secteur=#ID_SECTEUR_COURANT} {0,1}>
      <title>[(#TITRE|textebrut)]</title>
      [<meta name="description" content="(#TEXTE|couper{150}|textebrut)" />]
      </BOUCLE_TAG>
      <INCLURE{fond=inc-head}>
      </head>
      
      <body class="page_sommaire">
      <div id="page">
      
      	[(#REM) Entete de la page + titre du site ]
      	<INCLURE{fond=inc-entete}>
      	[(#REM) Contenu principal : derniers articles publies ]
      	
      	[(#REM) Derniers articles ]
      		<B_articles_recents>
      			
      			<BOUCLE_articles(RUBRIQUES) {id_secteur=#ID_SECTEUR_COURANT} {0,1}>
      #TITRE
      </BOUCLE_articles>

    Répondre à ce message

  • 1

    Bonjour
    J’utilise multidomaine et apres un gros travail de retouche des squelettes ces bien efficace, par contre là je me rends compte d’un soucis.
    Lorsque je rentre dans la rubrique http://www.undomaine.com/
    lorsqu’on accède via http://undomaine.com on arrive sur une page du squelette en question mais sans contenu !!
    J’ai bien tenté de faire une redir 301 dans le htaccess >
    RewriteCond %HTTP_HOST !^www\.undomaine\.net
    RewriteRule ^(.*) http://www.undomaine.net [L,R=301]

    ça fonctionne très bien, mais pour un seul domaine !!!

    Du coup je suis bloqué, et je vois pas de solutions !

    • Problème rêgle, j’avais fait une erreur dans mon .htaccess.
      Pou ceux ui sont chercheurs de cette solution :

      dans .HTACCESS (racine du dossier spip) Après RewriteEngine On

      RewriteCond %{HTTP_HOST} ^domaine1\.net$
      RewriteRule ^(.*)  http://www.domaine1.net/$1  [L,R=301]
      RewriteCond %{HTTP_HOST} ^domaine2\.com$
      RewriteRule ^(.*)  http://www.domaine2.com/$1  [L,R=301]

    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 :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

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.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom