Skip to main content Help Control Panel

 

support «   Besoin d'aide «  

Yacs multi-sites

PreviousNextIndex

Je cherche à faire un truc tordu qui consisterait à fédérer plusieurs sites Yacs qui sont associés à des domaines différents (www.premier-site.com, www.second-site.com, etc.).

OwnerJmarc
Progress0%
WorkflowSupport request
StatusProblem has been recorded
  • Submission on Jan. 20 2010 by Jmarc

Comme rappelé récemment par Jérémie : "Il y a une technique native dans l'installation de Yacs qui permet de faire partager à 2 [sites/domaines] Yacs la même table d'utilisateurs".

Il suffit pour cela d'aller sur l'un des sites et via le panneau de contrôle > Configuration > Paramètres système > Base de données > Rangement particulier pour les profils d'utilisateur,
lui indiquer les infos nécessaires pour qu'il puisse utiliser la table des utilisateurs d'un autre site Yacs.

C'est cool, on va pouvoir éviter aux membres de multiplier leurs comptes.
Mais si l'on veut aller plus loin que le partage des membres... Par exemple, pouvoir faire une recherche de texte sur l'ensemble des sites Yacs fédérés.

Ou encore, utiliser les mêmes catégories et pouvoir afficher tous les articles des différents sites concernant une de ces catégories.

Ou bien, pouvoir afficher, sur la page d'accueil de chacun des sites, la liste des publications récentes des autres sites (là, des liens RSS croisés entre les sites doivent permettre d'y arriver).

Est-ce qu'il y a déjà des choses de ce genre qui ont été tentées ? Des pistes à suivre ?

Merci d'avance pour vos retours d'expérience, idées et conseils.

 


Jmarc
on Feb. 1 2010

Après avoir étudié les différentes pistes suggérées, je reste très séduit par celle du site miroir statique... J'ouvre un nouveau fil spécifique à la machine à café pour creuser cette idée : Site "miroir" statique


Jmarc
on Jan. 30 2010

J'ai procédé à une expérimentation de la méthode indiquée par Bernard :

" - une seule base de données partagée - une instance de yacs par serveur virtuel géré - chaque instance pointe sur la même base de données, mais peut disposer d'un thème visuel différent - choisir une section différente pour la page d'accueil de chaque site virtuel ... "

Effectivement, cela marche bien et c'est très impressionnant de voir un même article s'afficher avec 2 thèmes différents en fonction du domaine où l'on est lorsque l'on appelle la page (on oublie ainsi qu'elle a été créé sur un autre site, par une autre communauté).

Par contre, gros problème sur les pièces jointes qui sont stockées physiquement dans le dossier image du site d'où elles ont été chargées. Du coup, les autres sites ne peuvent afficher la pièce jointe car ils vont la chercher dans leur dossier image à eux

Sinon, j'ai ajouté une page dans la doc pour synthétiser les enseignements et idées glanées dans ce fil : Installation multi-site

Alexis Raimbault - on Feb. 1 2010

Jmarc : comme quoi rien ne vaut les tests ! et on aura la même chose pour les fichiers.

dans la bdd, peut être en stockant la valeur du domaine au moment de l'enregistrement de l'image on peut raccrocher les wagons ?

 




Alexis Raimbault webmaster free-lance

Bernard Paques
on Jan. 25 2010
Je découvre ce fil très intéressant, et vous dévoile une autre possibilité de yacs, qui existe depuis assez longtemps. Sur la page d'accueil d'un site vous pouvez choisir de faire afficher le contenu d'une section particulière.

Dans le cas de serveur assez proches, une stratégie organisée autour d'une seule base de données peut donc être mise en place comme suit :

- une seule base de données partagée

- une instance de yacs par serveur virtuel géré

- chaque instance pointe sur la même base de données, mais peut disposer d'un thème visuel différent, voire de règles de configuration spécifiques

- choisir une section différente pour la page d'accueil de chaque site virtuel

- les onglets de navigation, les catégories, les usagers sont partagés entre tous les sites

Pour une poignée de sites, c'est facile à faire en tout cas.
Jmarc - on Jan. 25 2010

Bernard : Whaou ! C'est trop fort cette astuce... hail

Je suppose qu'avec un nom de domaine pointant sur chaque installation Yacs, on obtient des url de site différentes pour chacun.

Le coup des onglets de navigation communs à tous les sites m'arrange moins. Il n'y aurait pas une astuce pour que chaque site puisse disposer de "ses onglets" uniquement ?

Si je ne m'abuse, un article créé sur un site, s'il est accédé d'un autre site via son id, apparaitra dans cet autre site de manière complètement intégrée (c'est à dire avec le thème de l'autre site et pas avec son thème "d'origine").
ça, en terme de partage de contenu entre communauté, j'osais même pas y rêver...

En tout cas, cette nouvelle piste est très prometteuse !

 

Alexis Raimbault - on Jan. 26 2010

Bernard Paques : mais cela ne génère-t-il pas du "duplicate content" ?




Alexis Raimbault webmaster free-lance

J.Juraver
on Jan. 24 2010

Exactement !
Et c'est pourquoi le fait de tagguer chaque serveur pour catégoriser les contenus ultérieurement ne me semble pas accessoire... : Etiquettage des serveurs RSS externes




Je ne m'attarde pas, j'ai mon yacs en double file...

Yacs on my blog | Suivez le blog Yacs | Yacs Showroom | Plugin Firefox de recherche dans Yetanoz |

Jmarc
on Jan. 24 2010

Est-ce qu'il est possible de "mélanger" les infos qui proviennent de plusieurs flux de syndication ?

Je m'explique : sur le site "fédérateur", je souhaiterais afficher dans une même liste triée par date, les dernières contributions des autres sites mélangés.

parce que si je les affiche dans des listes différentes et qu'il y a 50 sites, c'est fastidieux de parcourir les 50 listes afin de repérer les dernières contribution du jour

Agnès Rambaud - on Jan. 24 2010
Jmarc : quand tu crées un serveur pour récupérer le flux rss, tu choisis dans quelle section tu vas les afficher.

Il suffit de créer une section pour ton cas, et d'y assigner l'ensemble des flux que tu veux rapatrier. Cette assignation se fait donc à la création du serveur, dans les options (panneau de contrôle, sur la liste des modules, dans le panneau extra, tu choisis : servers, puis "ajouter un serveur").


Agnès
Il n'y a pas de problèmes, que des solutions.

Alexis Raimbault
on Jan. 23 2010

yacs a nativement un cache. Je ne connais pas ses performances, ni quand yacs décide de le mettre à jour. Je pense qu'il faut que tu demandes au leader (Bernard) pour avoir une bonne piste.




Alexis Raimbault webmaster free-lance

Alexis Raimbault
on Jan. 23 2010

l'intégration d'un contenu syndiqué est maintenant ultra simple avec le CY [newsfeeds=<url>]. Voir CY page widgets.




Alexis Raimbault webmaster free-lance
Jmarc - on Jan. 23 2010

Alexis : effectivement, difficile d'imaginer plus simple !

Je reviens (lourd, le mec ?) sur l'idée d'avoir des sites avec des pages statiques générées par un site yacs unique servant de fédérateur... avec le constat suivant :

Exemple d'un site d'info "légèrement web 2.0" (juste les commentaires des articles et le remplissage des fiches est possible, en direct, par la communauté).
Sur 1500 visiteurs par jours, au maximum 15 interviennent dynamiquement sur le site.

Si ce site était plus largement web 2.0 (avec des forums, des wiki, des rédaction d'article, bref, un site yacs quoi), on peut espérer qu'il y ait 10 fois plus de contributeurs soit un total de 150 sur les 1500 visiteurs.

Au final, cela ne fait que 10% des visiteurs. Dans 90% des cas, le serveur travaille inutilement à "dynamiser" les pages (récupérer le contenu en cache dans la base de données, adapter l'affichage de la page en fonction des droits de l'utilisateur sur cette page, etc...).

Avec cette version "miroir" du site (statique), on diviserait donc par 10 la charge du serveur Yacs

 

 


J.Juraver
on Jan. 22 2010

Dans les cas où un sous-domaine est une redirection transparente vers l'extérieur.




Je ne m'attarde pas, j'ai mon yacs en double file...

Yacs on my blog | Suivez le blog Yacs | Yacs Showroom | Plugin Firefox de recherche dans Yetanoz |
Agnès Rambaud - on Jan. 22 2010
J.Juraver : OK. Moi je pensais à un "vrai" sous-domaine, sans redirection, du type http://monsoudomaine.domaine.com. Ici, pas de frame, pas de redirection, pas de problème de référencement. Il suffit d'avoir le domaine principal, et de faire pointer le sous-domaine vers le répertoire "monsousdomaine", enregistré dans l'arborescence www du domaine principal.


Agnès
Il n'y a pas de problèmes, que des solutions.

Agnès Rambaud
on Jan. 22 2010
Bon, j'ai failli poser la question hier, puis je me suis ravisée, mais là, vous y avez droit.

Alors Jmarc, qu'est-ce que tu entends par "fédérer" ? Concrêtement je veux dire ? Qu'est-ce que tu attends de l'affichage sur le site fédérateur ?

Parce que depuis le début, je me demande si tu as exploré - et mis de côté - les possibilités offertes par la syndication...


Agnès
Il n'y a pas de problèmes, que des solutions.


Agnès
Il n'y a pas de problèmes, que des solutions.
Jmarc - on Jan. 22 2010

Agnès : Par "fédérer" des sites yacs, j'entends :

  • des comptes de membre communs aux sites (un seul compte, une seule page profil)
  • une recherche multi-site capable de lister les résultat du site en cours mais également ceux trouvés dans les autres sites
  • A partir d'un site, pouvoir avoir la liste des nouveautés des autres sites (articles, commentaires). La syndication, que je n'ai pas encore étudié de près, semble y répondre nativement.
  • A partir d'un article, pouvoir lister les articles des autres sites qui font référence à cet article (rubrique "voir aussi")
  • insérer, par code yacs, le résumé d'un article d'un site B dans le corps d'un article d'un site A.
  • pouvoir ré-utiliser des images d'un site dans un autre site (une duplication de cette image sur le deuxième site est envisageable)

L'idée est de pouvoir décupler les possibilités des différentes communautés en construisant une "communauté de communautés".

Tout cela est décrit plus complètement dans un cahier des charges que je suis en train de finaliser...


Jmarc
on Jan. 21 2010
" c'est plus yacs ça, c'est dreamweaver !? "

Certes... j'avoue que j'ai un peu honte de proposer une telle chose pendant que d'autre s'évertuent à nous développer un yacs au top de la révolution dynamique du web 2.0 Embarassed

" une autre piste en intervenant directement sur MySQL ? de manière à ce que les bdd se synchronisent de manière transparente et automatique pour les # serveurs yacs. "

C'est une nouvelle piste intéressante qui présente l'avantage de ne rien devoir toucher dans Yacs... J'y médite.


Alexis Raimbault
on Jan. 21 2010

c'est plus yacs ça, c'est dreamweaver !?

Pour la solution de "fédérer des yacs", peut être une autre piste est en intervenant directement sur MySQL ? de manière à ce que les bdd se synchronisent de manière transparente et automatique pour les # serveurs yacs.




Alexis Raimbault webmaster free-lance

Jmarc
on Jan. 21 2010

Le beurre et l'argent du beurre...

En repensant au dilemme posé par Alexis entre :

  • un seul site Yacs avec un mécanisme pour le compartimenter en plusieurs sites virtuels
  • plusieurs sites Yacs avec un mécanisme pour pouvoir fédérer les contenus

Il m'est venue une idée à cheval entre ces deux options.

Pourquoi ne pas avoir un site yacs unique dont certaines sections correspondent aux sites virtuels et... la génération, en parallèle, de vrais sites statiques vers lesquels pointent les différents noms de domaine.

Je m'explique.
Lorsque je vais sur mon-site-principal.com, je me retrouve dans mon site Yacs sur lequel j'ai une section "Premier site" et une section "Second site". J'accède en création et en modification au contenu des différentes sections de façon habituelle.

Chaque fois qu'une page est enregistrée, un process crée, en plus, une page html statique qui correspond au contenu de la page sans les contenus dynamiques (pas de lien Modifier cette page en bas de l'article, ni mon nom de membre dans le panneau de navigation, par exemple). Cette page est enregistrée sur mon serveur dans le dossier "/premier-site/" ou "/second-site/" selon la section où elle a été créée.

Il ne reste plus faire pointer mes noms de domaines www.premier-site.com et www.second-site.com vers les dossiers physiques correspondants, sur mon serveur.

Coté surfeur, lorsque je me pointe sur www.premier-site.com, je tombe sur des pages statiques (le top pour les performances et la robustesse du site) qui comportent toutes un lien Modifier qui pointe vers leur équivalent sur le site Yacs (www.mon-site-principal.com/articles/edit.php?id=12345).
En cliquant dessus, je me retrouve dans Yacs avec toutes les possibilités de mise à jour.

Avantages :

  • des sites statiques performants et robustes, capables d'encaisser de très nombreuses visites 
  • autant de domaines sur autant de serveurs que l'on veut (et pas de CMS à installer ni maintenir) 
  • un site Yacs unique à maintenir pour gérer tous les contenus et capable de fédérer ces derniers

Inconvénients :

  • certaines fonctions dynamiques inutilisables sur les sites "miroirs" statiques (genre l'affichage de la liste des membres connectés) 
  • il faut se reconnecter avec son compte à chaque fois que l'on revient sur le site yacs pour modifier un article, écrire un commentaire, voter, etc. (mais il doit y avoir des astuces pour arriver à éviter cela) 
  • des process assez complexes à développer pour générer et maintenir les pages statiques (par exemple, lorsque l'on déplace une page, il faut recréer toutes les pages qui ont ou avaient des sommaires pointant vers la page en question. Et je ne vous parle pas du jour où le thème est modifié...
  • la fonction Recherche doit être modifiée pour pouvoir renvoyer les résultats vers les pages statiques 
  • sûrement d'autres impacts gênants que je n'ai pas encore identifié

Pour l'instant, dans mon cas à moi, les inconvénients ne sont pas bloquant et les avantages... parfaits !

Si vous pensez à d'autres difficultés posées par un tel système... N'hésitez pas à m'en faire part


Alexis Raimbault
on Jan. 21 2010

j'ai repensé depuis :

je suis pas sur que la redirection fonctionne : en mode rewrite Yacs ne fabrique pas ces url de section comme si elle était un répertoire avec leurs pages articles dedans. Donc avec une redirection je crains qu'on ne puisse afficher autre chose que dans la page de la section. à tester.

Par contre avec le .htaccess on devrait y arriver. On fait pointer tous les domaines à la raçine de yacs, et on réécrit les url vers les sections mère de chaque "sous domaine" en effaçant le nom et l'id de cette section de l'url. Les autres pages restent avec le traitement normal.

l'effet de cette config et que l'on peut parcourir l'intégralité du site via un nom de domaine ou un autre (même si on garde une cohérence des liens affichés, mais en tapant directement les url ça marcherait)

d'où un gros pb d'indexation : autant de "duplicate content" que de domaines utilisés. Tu devrais solliciter Thierry sur cette question.

Niveau fonctionnalité, il ne serait pas possible d'utiliser les mécanismes facilitant de type page de couverture, boite extra, gadget... pour chaque "page d'accueil". Néanmoins on peut imiter ce fonctionnement sur une section.




Alexis Raimbault webmaster free-lance

J.Juraver
on Jan. 21 2010

C'est assez facile sur hébergement mutualisé digne de ce nom. Moi je fais ça spécialement sur un hébergement nuxit :

  • Installation d'un yacs dans un répertoire dédié de l'hébergement physique (peu importe le nom de domaine principal obtenu avec l'achat de leurs divers pack)
  • Achats de plusieurs noms de domaine chez un bon registrar (gandi pour ne pas le nommer)
  • Redirection de chaque url vers les serveurs DNS de nuxit
  • Dans le management de nuxit, création d'une prise en charge DNS pour chaque domaine, puis création d'un hôte virtuel pour faire pointer chacun vers un dossier spécifique
  • Lors de l'étape précédente, il faut indiquer un répertoire physique de l'hébergement, et depuis le chemin path to root : bien simple, il suffit pour éviter tout problème de diriger vers www/autre_repertoire/yacs/sections/view.php&id=xxx (numéro de section)

Vu que ton hébergeur physique prend en charge les DNS du domaine, c'est totalement transparent pour tes visiteurs

C'est bien pour une dizaine de yacs. Au-delà, mieux vaut se tourner vers une solution de partage de certaines tables bases de données si tu veux mutualiser des données.

Une chose qui pourrait être ludique et utile : tenter le coup avec plusieurs yacs situés dans nos hébergement respectifs.




Je ne m'attarde pas, j'ai mon yacs en double file...

Yacs on my blog | Suivez le blog Yacs | Yacs Showroom | Plugin Firefox de recherche dans Yetanoz |
Jmarc - on Jan. 21 2010

J.Juraver : Super ! merci jérémie pour la méthode détaillée. Je vais pouvoir procéder à des tests.

Lorsque tu parle de limiter cela à une dizaine de Yacs, tu penses que cela génère des problèmes de charge au delà ? Même s'il s'agit d'un serveur dédié ?


J.Juraver
on Jan. 20 2010

Assez juste. Je pense que c'est ce que je ferais à long terme dans le cas d'une gestion multi-domaines massive, sauf cahier des charges plus spécifique et/ou trop de contenu qui ferait souffrir la base de donnée commune (comme dans le cas de milliers de yacs si j'étais skyblog par exemple...)

Hop hop, des tuto pour essayer en local :

On peut même avoir un header différent pour chaque section (tuto en cours d'élaboration)




Je ne m'attarde pas, j'ai mon yacs en double file...

Yacs on my blog | Suivez le blog Yacs | Yacs Showroom | Plugin Firefox de recherche dans Yetanoz |

Alexis Raimbault
on Jan. 20 2010

Et pourquoi faire plusieurs sites yacs du coup ?

Pourquoi pas un seul site, mais avec des templates différents pour chaque section mère ?

Si tu as des noms de domaines différents, tu peux faire des redirections, ou peut-être un traitement spécial dans le .htaccess

En tout cas se poser la question : est-il plus facile de cloisonner un yacs que d'en fusionner plusieurs ?




Alexis Raimbault webmaster free-lance
Jmarc - on Jan. 20 2010

"

Et pourquoi faire plusieurs sites yacs du coup ?

Pourquoi pas un seul site, mais avec des templates différents pour chaque section mère ? "

C'est clairement une solution séduisante

Mais quand tu parles de redirection, je ne vois pas trop concrètement où cela se situe afin que toutes les pages d'une section mère adopte l'url du domaine "qui va bien"... Tu peux développer ?

Quand à ta question : est-il plus facile de cloisonner un yacs que d'en fusionner plusieurs ?... J'ai le sentiment qu'il est plus difficile d'en fédérer plusieurs que de cloisonner mais j'avoue que j'ai du mal à évaluer la difficulté de chacune de ces 2 options


J.Juraver
on Jan. 20 2010

Si ces sites sont tous sur le même hébergement (et surtout le même serveur sql), c'est assez facile : tu crées ta base de données et tu installes tous tes yacs sur cet hébergement en leur demandant de s'alimenter à cette base lors de l'installation, et de préférence tu les fais tous tourner avec la même version.

Le problème c'est que ce seront vraiment des clones, un article publié sur l'un le sera sur l'autre. Duplicate content à la clef...

Sûrement une bonne idée de suggestion de fonction : ajouter à l'installation de yacs la possibilité de choisir la table de données qui soit commune à un autre yacs, pas seulement celle des usagers




Je ne m'attarde pas, j'ai mon yacs en double file...

Yacs on my blog | Suivez le blog Yacs | Yacs Showroom | Plugin Firefox de recherche dans Yetanoz |

PreviousNextIndex