SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 77 visiteurs en ce moment

Accueil > Administration et BDD > Multidomaines > Plugin Multidomaines

Plugin Multidomaines

10 juillet 2012 – par Pierre KUHN – 108 commentaires

9 votes

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.

ATTENTION ! Le plugin n’est pas compatible avec la version de Spip 2.0, il nécessite la ressaisie complète des informations.

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

Cela donnera une architecture de dossier comme ceci.

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 :

  1. #URL_SECTEUR
  2. récupère l'URL du secteur de la rubrique du contexte
  3.  
  4. #URL_SECTEUR{#ID_RUBRIQUE}
  5. identique au précèdent
  6.  
  7. #URL_SECTEUR{50}
  8. récupère l'URL du secteur  de la rubrique 50
  9.  
  10. #URL_SECTEUR{#ID_SECTEUR_COURANT}
  11. récupère l'URL de la rubrique correspondant au domaine courant

Télécharger

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 :

  1. #URL_PAGE_ABSOLU{page}
  2. #URL_PAGE_ABSOLU{page,paramètres}
  3.  
  4. #URL_ARTICLE_ABSOLU
  5. #URL_ARTICLE_ABSOLU{id_article}
  6.  
  7. #URL_RUBRIQUE_ABSOLU
  8. #URL_RUBRIQUE_ABSOLU{id_rubrique}
  9.  
  10. #URL_AUTEUR_ABSOLU
  11. #URL_AUTEUR_ABSOLU{id_auteur}
  12.  
  13. #URL_MOT_ABSOLU
  14. #URL_MOT_ABSOLU{id_mot}
  15.  
  16. #URL_BREVE_ABSOLU
  17. #URL_BREVE_ABSOLU{id_breve}
  18.  
  19. #URL_FORUM_ABSOLU
  20. #URL_FORUM_ABSOLU{id_forum}
  21.  
  22. #URL_DOCUMENT_ABSOLU
  23. #URL_DOCUMENT_ABSOLU{id_forum}

Télécharger

#URL_PAGE_ABSOLU exclu, les balises #URL_*_ABSOLU peuvent être utilisées de la même manière que les balises #URL_*.

  1. #URL_MOT_ABSOLU
  2. récupère id_mot dans le contexte
  3.  
  4. #URL_AUTEUR_ABSOLU{1}
  5. récupère l'id_auteur grâce à l'argument 1
  6.  
  7. #URL_ARTICLE_ABSOLU{#ID_ARTICLE}
  8. récupère l'id_article grâce à la balise dynamique placée en argument.

Télécharger

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 :

  1. dans squelettes/md/article.html. {ne laissez pas les squelettes à la racine}
  2. <BOUCLE_article(ARTICLES){id_article}{lang}{0,1}>...</BOUCLE_article>
  3. dans squelettes/exemple.com/article.html
  4. <INCLURE{fond=md/article.html}{id_article}{lang}>
  5. dans squelettes/exemple.es/article.html
  6. <INCLURE{fond=md/article.html}{id_article}{lang=es}>
  7. dans squelettes/exemple.fr/article.html
  8. <INCLURE{fond=md/article.html}{id_article}{lang=fr}>

Télécharger

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.

  1. 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.

  1. Dans un environnement d'exécution où il existe un id_rubrique dans le contexte.
  2. [(#URL_SECTEUR|=={#URL_SECTEUR{#ID_SECTEUR_COURANT}}|non)
  3. #HTTP_HEADER{Status: 301 Moved Permanently}
  4. #HTTP_HEADER{Location:#URL_SECTEUR#SELF}
  5. ]
  6. Attention, var_mode n'est pas transmis !

Télécharger

Avec un squelette basé sur Zcore, on pourrait mettre en place un squelette article.html avec ce contenu :

  1. <BOUCLE_principale_article(ARTICLES){id_article}>
  2.   [(#URL_SECTEUR|=={#URL_SECTEUR{#ID_SECTEUR_COURANT}}|non)
  3.   #HTTP_HEADER{Status: 301 Moved Permanently}
  4.   #HTTP_HEADER{Location:#URL_SECTEUR#SELF}
  5.   ]
  6.   [(#URL_SECTEUR|=={#URL_SECTEUR{#ID_SECTEUR_COURANT}}|oui)
  7.   <INCLURE{fond=structure}{env}{id_rubrique=#ENV{id_rubrique,#ID_RUBRIQUE}}{id_secteur=#ID_SECTEUR}{type=article}{composition=#COMPOSITION} />
  8.   ]
  9. </BOUCLE_principale_article>

Télécharger

Évolutions

-  V2.2.0 : Pour afficher les rubriques de second rands, utiliser le fichier mes_options.php avec : define('_MULTIDOMAINE_RUBRIQUE', '1');
-  V2.3.0 : Rajout de l’utilisation du pipelines pres_liens qui va modifier les urls [->rub333] et [->art2019] avec le bon domaine du secteur. Vous pouvez via le define define('_SECTEUR_URL', '1'); garder les urls courte pour les secteurs et non avoir l’url complète.

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 l’icône en haut de l’article

Compatibilité


Squelettes Z
Correction des liens internes

Incompatibilité


Plugin mutualisation

Voir en ligne : https://plugins.spip.net/multidomaines

Dernière modification de cette page le 1er novembre 2017

Retour en haut de la page
Chargement en cours...

Ça discute par ici

  • PHANTOM (HTML5UP)

    18 juillet – commentaires

    Squelette SPIP pour intégrer le modèle Phantom de HTML5UP. https://html5up.net/phantom Installation A l’activation, le plugin installe aussi les plugins suivants : crayons, favicon, metasplus+, Couleur d’objet, champs extras, SPIP reset centre (...)

  • Cycle2

    7 août 2014 – 119 commentaires

    La seconde version de la librairie Javascript « jQuery Cycle », qui permet de produire des diaporamas, se nomme « Cycle2 » : http://jquery.malsup.com/cycle2/. Voici cette nouvelle librairie mise en plugin pour SPIP. Si vous utilisez déjà « jQuery (...)

  • Galleria (fr)

    16 novembre 2011 – 193 commentaires

    Une galerie d’image qui utilise la librairie javascript Galleria. Description Ce plugin vous permet d’ajouter des galeries d’images à vos articles. La galerie créée utilise la librairie javascript Galleria. Le plugin propose un modèle nommé (...)

  • Une licence pour un article

    18 avril 2007 – 51 commentaires

    Sur une idée originale de erational, voici un plugin permettant de lier une licence à un article.

  • ScolaSPIP 4

    19 janvier 2016 – 371 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)