SPIP-Contrib

SPIP-Contrib

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

278 Plugins, 195 contribs sur SPIP-Zone, 106 visiteurs en ce moment

Accueil > Administration et BDD > Multidomaines > Plugin Multidomaines 2.x

Plugin Multidomaines 2.x

10 juillet 2012 – par Pierre KUHN – 14 commentaires

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

PNG - 55.9 ko
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 :

  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

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}

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

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}>

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 !

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.

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

Retour en haut de la page

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

    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,

    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

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • GIS 4

    11 août 2012 – 300 commentaires

    Présentation et nouveautés La version 4 de GIS abandonne la libraire Mapstraction au profit de Leaflet. Cette librairie permet de s’affranchir des librairies propriétaires tout en gardant les mêmes fonctionnalités, elle propose même de nouvelles (...)

  • Plugin Contacts & Organisations

    4 janvier 2010 – 175 commentaires

    Ce plugin ajoute à SPIP des fonctionnalités de gestionnaire de contacts. Distingue les personnes morales (organisations) des personnes physiques (contacts) en conservant tous les attributs des auteurs SPIP. En conjonction avec le plugin (...)

  • Less is more

    30 décembre 2009 – 11 commentaires

    Un thème sobre en 2 colonnes sur fond blanc et des couleurs de polices avec plusieurs ton de gris. Mise en page avec une largeur fixe alignée à gauche de 960px (660px pour la colonne principale et 240px pour la colonne de gauche.) Présentation (...)

  • ScolaSPIP pour SPIP3

    21 mai 2012 – 213 commentaires

    Un plugin-squelette personnalisable pour sites Web d’établissements scolaires

  • La Fabrique

    20 avril 2012 – 138 commentaires

    La Fabrique est un outil pour webmestres ou développeurs qui souhaitent créer des plugins. La Fabrique est capable de générer le code source minimal d’un plugin pour SPIP 3 (elle accélère donc le démarrage d’un plugin) et peut s’occuper également de (...)