![]() Alexis Raimbaultfrom Mulhouse Associate, 1900 posts | je reconnais la rapidité de l'accès aux pages statiques. mais je pense que la mise en oeuvre de cette solutions va révéler pas mal de difficultés. lorsque yacs affiche une page, il ne la calcule pas toujours, ou pas entièrement. il possède aussi un cache html. peut être cela vaut le coup de se pencher sur le mécanisme. Et de voir s'il ne peut pas être détourné pour construire les pages statiques ? du coup la maintenance du code yacs serait plus facile. Tu évites de toucher à tous les edit.php. Une autre voie pour effectuer la création des pages statiques serait peut-être de confier cela à un overlay, via sa méthode "remember" appelée à l'enregistrement de la page. Alexis Raimbault webmaster free-lance |
![]() Christophe Battarelfrom Grenoble-Chambery 1044 posts | " Ca signifie que toutes les pages du site statique sont des pages publiques. Ce qui fait donc de yacs un simple outil de construction de site html, complété par le site dynamique pour les autres traitements. Intéressant pour les sites avec peu ou pas de fonctionnalités web 2.0 sinon on est parti pour des allers-retours incessants entre les 2 sites et donc une perte de performances. Enfin, c'est mon avis "à chaud". Christophe Battarel - Société altairis -
|
![]() Jmarcfrom Cannes 821 posts |
" Merci pour ces pistes Alexis, je regarde ça... C'est clair qu'une solution basée sur un overlay, évitant de toucher au code Yacs, serait parfaite |
![]() Jmarcfrom Cannes 821 posts | " Ce qui fait donc de yacs un simple outil de construction de site html, complété par le site dynamique pour les autres traitements. " On peut le voir comme cela... avec l'interet d'avoir une construction collective du site en web 2.0 au lieu d'un webmaster tout seul dans son coin avec son Dreamweaver. " Intéressant pour les sites avec peu ou pas de fonctionnalités web 2.0 sinon on est parti pour des allers-retours incessants entre les 2 sites et donc une perte de performances. " La cible visée correspondant à des sites d'informations construits par une communauté. On peut s'attendre à 10% maximum de visiteurs "actifs" (qui contribuent en web 2.0). Ceux là seront sur le site Yacs au bout de quelques clics et y resteront (pas d'aller retour). Ils se retrouvent dans la situation normale où il n'y a qu'un seul site Yacs. Les autres seront sur le site miroir et y resteront (pas d'aller retour non plus). Ils évitent ainsi de charger le site Yacs. Peut être que je me fais des noeuds au cerveau pour rien et que yacs encaissera la charge sans broncher... (plusieurs dizaines de mlilliers de pages gérées et quelques centaines de visiteurs simultanés... ça donne quoi sur un serveur Yacs ?) |
![]() Christophe Battarelfrom Grenoble-Chambery 1044 posts | Je ne dis pas que c'est de la mast... intellectuelle. Je soulignais juste que cette démarche ne convient pas au fonctionnement standard de yacs, qui est volontairement orienté vers le web 2.0. Donc, à moins de trouver une solution technique simple à implémenter, n'impactant pas le fonctionnement 2.0 de yacs, et paramétrable, il y a peu de chances que ce fonctionnement spécifique soit intégrable dans le coeur de Yacs. En tout cas, la réflexion est intéressante. Concernant la montée en charge de Yacs, Bernard sera plus à même de te répondre puisqu'il l'utilise en production sur une grosse communauté professionnelle, mais je ne pense pas que ce soit un réel problème à condition d'avoir une infrastructure technique suffisante (pas d'hébergement mutualisé par exemple). De plus, comme le dit Alexis, le mécanisme de cache de Yacs permet quand-même d'avoir de très bonnes performances et un fonctionnement proche de ce que tu recherches puisque les pages générées sont mises dans le cache en format html. Christophe Battarel - Société altairis -
|
![]() Alexis Raimbaultfrom Mulhouse Associate, 1900 posts | " (plusieurs dizaines de mlilliers de pages gérées et quelques centaines de visiteurs simultanés... ça donne quoi sur un serveur Yacs ?) " comme dit Tof, cela ne dépend-il pas plus du matériel que du logiciel ? Alexis Raimbault webmaster free-lance |
![]() Jmarcfrom Cannes 821 posts | Alexis : tu as raison. J'aurais dû poser ma question autrement (plus pragmatique). Est-ce que pour tenir une telle charge, il va falloir sortir plusieurs milliers d'euros chaque mois pour s'offrir des machines de folie montées en cluster... Bernard, si tu nous reçois... c'est quoi ton avis ?
|
Site "miroir" statique
Les sites avec des pages html statiques, c'est la préhistoire du web... Et pourtant, c'est imbattable en terme de performance, de capacité de montée en charge et de fiabilité. Mais c'est aussi imbattable en terme de lourdeur de gestion des contenus, tout le contraire de Yacs.
L'idée est tentante de vouloir marier le meilleur des 2 mondes
Principes
On gère les contenus sur un site Yacs normal. Une copie du site est générée sous forme de pages statiques hébergées dans un autre domaine.
Les visiteurs naviguent sur le site statique mais dès qu'ils font appel à une fonctionnalité dynamique, ils sont amenés sur le site Yacs pour réaliser leur travail.
Avantages
- Navigation ultra performante sur le site statique et fiabilité maxi (pas de construction de page .php, pas de base de donnée).
- Charge du serveur Yacs limitée aux seuls membres contributeurs (au moins 90% de charge en moins sur le serveur).
- Maintenance facile du serveur Yacs qui peut être arrêté, upgradé, déplacé, planté et même piraté sans que la consultation du site ne soit perturbée.
Mode d'emploi
On prend un site yacs "normal" installé sur le domaine www .dynamic.com
A chaque fois qu'une page est créée ou modifiée sur le site Yacs, son résultat html (c'est à dire la page html envoyée au surfeur) est copiée sur le domaine /www.static.com/ avec ses pièces jointes (images, fichiers à télécharger).
Dans static.com, on crée les dossiers permettant de copier les pièces jointes en conservant les chemins relatifs identiques au site Yacs :
- /images/article/<id_article>
- /images/article/thumbs/<id_article>
- etc.
Les liens relatifs inclus dans les pages (du genre <a href="/article-6767-titre-de-mon-article"> sont donc valables, que l'on soit sur le domaine dynamic.com ou le domaine static.com.
Seule l'extension du fichier change (.html sur le site static, pas d'extension sur le site dynamic). Cela doit pouvoir se gérer via le .htaccess côté site miroir ou en modifiant l'url rewriting des friendly url du côté site Yacs.
Concernant les liens sur les pages qui pointent vers des fichiers .php (par exemple : <a href="/users/logout.php"... ), on pourrait les rerouter du site miroir vers le site yacs via .htaccess
Si je tape : http://www.dynamic.com/article-12-mon-article , j'affiche la page dans le site Yacs et je continue de me balader dans le site Yacs lorsque je clique sur les liens.
Si je tape : http://www.static.com/article-12-mon-article.html, j'affiche la page du site miroir et je continue de me balader dans le site miroir lorsque je clique sur les liens sauf les liens vers des fichiers .php qui me ramène vers le site Yacs.
Contenus dynamiques
Quant on parle de site dynamique, on peut distinguer 2 types de "dynamisme" :
- la capacité d'une page à se modifier automatiquement en fonction de son environnement défini sur le serveur (par exemple : ajout d'une nouvelle page fille à ajouter dans sa liste ou changement du thème graphique, ...)
- la capacité d'une page à s'adapter automatiquement en fonction du visiteur
Dans le premier cas, à un instant donné, la page est strictement la même pour tous (elle peut donc être statique).
Dans le second cas, à un instant donné, la page est différente lorsqu'elle est affichée par 2 visiteurs différents (elle ne peut donc pas être statique).
En faisant le tour des fonctionnalités de Yacs, on s'aperçoit que la plupart rentrent dans la première catégorie (compatible page statique) :
- cartouche en pied d'article
- news, dernière publications
- panneau nav : menu
- panneau nav, authentification
- panneau nav : boite nav
- extra : profile
- extra : extra
- extra : share
- extra : channels
- extra : twins
- extra : neighbours
- extra : categories
- bookmarklets
- servers
- download
- referrals
Concentrons nous plutot sur celles de la seconde catégorie (incompatible page statique).
Menu en pied d'article
C'est le menu qui affiche les liens modifier la page, etc. lorsque l'utilisateur dispose des droits adéquats.
Lorsque la page est créé ou modifiée par un éditeur, sa version html renvoyée à l'éditeur dispose de ce menu.
On peut tout à fait laisser ce menu sur la page statique envoyée au site miroir. Lorsqu'un visiteur clique sur un lien du menu, il est automatiquement renvoyé sur le yacs (reroutage .php) :
- S'il n'est pas authentifié, le serveur yacs le reroute automatiquement vers la page de connexion.
- S'il est authentifié mais n'a pas les droits suffisants pour éditer cette page, yacs lui signale.
- S'il est authentifié et dispose des droits suffisants pour éditer cette page, il se retrouve sur la page d'édition comme si de rien n'était
Boite tools (outils) du panneau extra
Même principe que pour le pied de l'article.
Clavardage
Pour participer au clavardage et/ou le suivre en temps réel, il faut être sur le site Yacs. Cependant, à chaque nouvelle contribution, la page du site statique est mise à jour.
Panneau de navigation, affichage du user connecté
Cette fonctionnalité n'est pas possible sur le site statique et un mécanisme doit être mis en place pour effacer l'affichage de cette boite.
Peut-être existe t'il une astuce "compatible html" pour retrouver un comportement proche sur le site miroir en utilisant un coocki sur le poste de l'utilisateur ?
Droit de visualisation limité
Lorsque la visibilité d'une page est réduite aux membres connectés ou à certains d'entre eux, la page ne doit pas pouvoir s'afficher aux autres.
Ce filtre ne peut être mis en œuvre sur le site miroir. Toutes ces pages devront donc forcément être visualisées sur le site yacs.
Lors de l'enregistrement de telles pages, une page html de redirection automatique vers la page yacs est créée sur le site miroir pour obliger la consultation de la page sur le site Yacs, seul capable de vérifier l'identité du surfeur.
Nombre de hit
Le comptage et l'affichage du nombre de fois où la page a été vue ne peut pas fonctionner. Il faut donc hiniber l'affichage de ce compteur...
Autres ?...
J'ai surement oublié des fonctionnalités qui vont poser problème avec un tel système. Cependant, on constate que la "compatibilité avec un site statique" n'est pas aussi difficile que ce que l'on pouvait imaginer au départ.
Cela m'encourage à pousser plus en avant l'étude surtout que, dans mon cas, un tel système m'offre une solution parfaite à mon besoin Yacs multi-sites
Tests
Afin de voir si ce principe peut fonctionner, il n'y a plus qu'à faire quelques essais.
Première étape : générer un article statique.
Je pense que cela se passe au niveau du /articles/edit.php
Et qu'il faudra se servir du /articles/view.php...
S'il y en a qui ont des tuyaux / conseils / mise en garde / etc, qu'ils n'hésitent pas à m'en faire profiter












ou est-ce qu'un serveur dédie, correctement dimensionné, à quelques centaines d'euro par mois pourra s'en sortir ? 

