[SPIP Zone] [Spip-zone-commit] r28611 - in /_plugins_/_stable_/en_travaux: ./ exec/ lang/

Le 12 mai 2009 23:30, <cedric@yterium.com> a écrit :

Author: cedric@yterium.com
Date: Tue May 12 23:30:41 2009
New Revision: 28611

Log:
En travaux 2.0, la veangeance
Application du 10e commandement (KISS) :

  • suppression du panneau de configuration
  • lorsqu’un admin active le plugin, le site passe en travaux pour tous les autres utilisateurs : c’est le squelette en_travaux, personalisable, qui est applique pour tous les visiteurs
  • lorque l’admin desactive le plugin, le site redevient disponible

Cette variante permet a l’administrateur de verifier que le site public fonctionne avant de le remettre en service

je viens de passer un cas qui peut poser probleme : je suis l’admin , j’active, je teste mon ste pdt que les autres sont bloques , par erreur, ou pour diverses raisons je me retrouve deconnecte, comment faire pour desactiver la page de login etant elle meme desactivee ?


Arnaud

Le 13 mai 2009 00:59, Arnaud Ventre <ventrea@gmail.com> a écrit :

Le 12 mai 2009 23:30, <cedric@yterium.com> a écrit :

Author: cedric@yterium.com
Date: Tue May 12 23:30:41 2009
New Revision: 28611

Log:
En travaux 2.0, la veangeance
Application du 10e commandement (KISS) :

  • suppression du panneau de configuration
  • lorsqu’un admin active le plugin, le site passe en travaux pour tous les autres utilisateurs : c’est le squelette en_travaux, personalisable, qui est applique pour tous les visiteurs
  • lorque l’admin desactive le plugin, le site redevient disponible

Cette variante permet a l’administrateur de verifier que le site public fonctionne avant de le remettre en service

je viens de passer un cas qui peut poser probleme : je suis l’admin , j’active, je teste mon ste pdt que les autres sont bloques , par erreur, ou pour diverses raisons je me retrouve deconnecte, comment faire pour desactiver la page de login etant elle meme desactivee ?

on peut le resoudre en autorisant la page de login a tout le monde

j’ai teste rapido avec un truc comme le diff ci-dessous (c’est un peu lourd car j’active les differents squelettes de login donc dépendant de la page et de son eventuelle personalisation) :
Index: en_travaux_options.php

— en_travaux_options.php (révision 28612)
+++ en_travaux_options.php (copie de travail)
@@ -23,8 +23,9 @@
*/
function entravaux_styliser($flux){
if (isset($GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]) AND $GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]){

  • if (!$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›]
  • OR $GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]!=$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›]){
  • $page_exclues=array(‹ login ›,‹ formulaires/login ›,‹ formulaires/menu_lang ›);
  • if (!in_array($flux[‹ args ›][‹ fond ›],$page_exclues ) && (!$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›]
  • OR $GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]!=$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›])){
    $ext = $flux[‹ args ›][‹ ext ›];
    $fond = find_in_path(‹ en_travaux.html ›);
    $flux[‹ data ›] = substr($fond, 0, - strlen(« .$ext »));

au passage ça m’a permis de detecter un autre cas tordu : si un auteur est loggue dans /ecrire et qu’un admin active en travaux ça fait tres bizarre : les parties squelettes de /ecrire affiche en travaux.

sur ce il est tard …
a+

Arnaud

Le 13 mai 09 à 02:37, Arnaud Ventre a écrit :

Le 13 mai 2009 00:59, Arnaud Ventre <ventrea@gmail.com> a écrit :

Le 12 mai 2009 23:30, <cedric@yterium.com> a écrit :

Author: cedric@yterium.com
Date: Tue May 12 23:30:41 2009
New Revision: 28611

Log:
En travaux 2.0, la veangeance
Application du 10e commandement (KISS) :

  • suppression du panneau de configuration
  • lorsqu’un admin active le plugin, le site passe en travaux pour tous les autres utilisateurs : c’est le squelette en_travaux, personalisable, qui est applique pour tous les visiteurs
  • lorque l’admin desactive le plugin, le site redevient disponible

Cette variante permet a l’administrateur de verifier que le site public fonctionne avant de le remettre en service

je viens de passer un cas qui peut poser probleme : je suis l’admin , j’active, je teste mon ste pdt que les autres sont bloques , par erreur, ou pour diverses raisons je me retrouve deconnecte, comment faire pour desactiver la page de login etant elle meme desactivee ?

on peut le resoudre en autorisant la page de login a tout le monde

j’ai teste rapido avec un truc comme le diff ci-dessous (c’est un peu lourd car j’active les differents squelettes de login donc dépendant de la page et de son eventuelle personalisation) :
Index: en_travaux_options.php

— en_travaux_options.php (révision 28612)
+++ en_travaux_options.php (copie de travail)
@@ -23,8 +23,9 @@
*/
function entravaux_styliser($flux){
if (isset($GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]) AND $GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]){

  • if (!$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›]
  • OR $GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]!=$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›]){
  • $page_exclues=array(‹ login ›,‹ formulaires/login ›,‹ formulaires/menu_lang ›);
  • if (!in_array($flux[‹ args ›][‹ fond ›],$page_exclues ) && (!$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›]
  • OR $GLOBALS[‹ meta ›][‹ entravaux_id_auteur ›]!=$GLOBALS[‹ visiteur_session ›][‹ id_auteur ›])){
    $ext = $flux[‹ args ›][‹ ext ›];
    $fond = find_in_path(‹ en_travaux.html ›);
    $flux[‹ data ›] = substr($fond, 0, - strlen(« .$ext »));

au passage ça m’a permis de detecter un autre cas tordu : si un auteur est loggue dans /ecrire et qu’un admin active en travaux ça fait tres bizarre : les parties squelettes de /ecrire affiche en travaux.

Oui, et je crois que en_travaux va aussi fermer l’espace privé, car il n’est pas raisonnable de laisser des contributeurs travailler dans ecrire/ si on fait des travaux …
Par contre, je me demandais si ne pas sécuriser l’utilisation du plugin en ne permettant son usage qu’aux seuls webmestres, et, deuxième point, si ne pas laisser le site visible par tous les webmestres ?

Cédric

Oui, et je crois que en_travaux va aussi fermer l'espace privé, car il n'est
pas raisonnable de laisser des contributeurs travailler dans ecrire/ si on
fait des travaux ...

Hu hu... sauf si justement les travaux consistent à ... préparer des
textes dans l'espace privé.

-- Fil

2009/5/13 Fil <fil@rezo.net>

Oui, et je crois que en_travaux va aussi fermer l’espace privé, car il n’est
pas raisonnable de laisser des contributeurs travailler dans ecrire/ si on
fait des travaux …

Hu hu… sauf si justement les travaux consistent à … préparer des
textes dans l’espace privé.

Ben là je ne vois pas l’intérêt. Préparer des textes dans l’espace privé, on peut déjà le faire de manière totalement transparente à l’égard du site public… ???


Etienne Brackers.
http://www.loiseau2nuit.net

| Jay Leno - « Don’t forget Mother’s Day. Or as they call it in Beverly Hills, Dad’s Third Wife Day. »

La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »

De : L’oiseau2nuit [mailto:l.oiseau2nuit@gmail.com]
Envoyé : mercredi 13 mai 2009 09:59
À : Fil
Cc : cedric.morin@yterium.com; SPIP liste Zone
Objet : Re: [SPIP Zone] [Spip-zone-commit] r28611 - in /plugins/stable/en_travaux: ./ exec/ lang/

2009/5/13 Fil <fil@rezo.net>

Oui, et je crois que en_travaux va aussi fermer l’espace privé, car il n’est
pas raisonnable de laisser des contributeurs travailler dans ecrire/ si on
fait des travaux …

Hu hu… sauf si justement les travaux consistent à … préparer des
textes dans l’espace privé.

Ben là je ne vois pas l’intérêt. Préparer des textes dans l’espace privé, on peut déjà le faire de manière totalement transparente à l’égard du site public… ???


Etienne Brackers.
http://www.loiseau2nuit.net

| Jay Leno - « Don’t forget Mother’s Day. Or as they call it in Beverly Hills, Dad’s Third Wife Day. »

Le 13 mai 2009 09:58, L’oiseau2nuit <l.oiseau2nuit@gmail.com> a écrit :

2009/5/13 Fil <fil@rezo.net>

Oui, et je crois que en_travaux va aussi fermer l’espace privé, car il n’est
pas raisonnable de laisser des contributeurs travailler dans ecrire/ si on
fait des travaux …

Hu hu… sauf si justement les travaux consistent à … préparer des
textes dans l’espace privé.

Ben là je ne vois pas l’intérêt. Préparer des textes dans l’espace privé, on peut déjà le faire de manière totalement transparente à l’égard du site public… ???

En effet le plugin initial a été créé pour permettre de désactiver l’accès au site pendant la modif de composants (mise à jour de squelettes par exemple).

Le commit de ce matin de Cedric semble résoudre les principaux cas à problème; le fait d’étendre l’accès à tous les webmestres est une bonne idée ça simplifie la logique de coupure.

a+

Arnaud

Le 13 mai 2009 10:02, Samy Rabih <samy.rabih@free.fr> a écrit :

La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »

il y a la date de publication pour gérer ça …


Arnaud

2009/5/13 Arnaud Ventre <ventrea@gmail.com>

Le 13 mai 2009 10:02, Samy Rabih <samy.rabih@free.fr> a écrit :

La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »

il y a la date de publication pour gérer ça …

J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?


Etienne Brackers.
http://www.loiseau2nuit.net

| Charles Kuralt - « You can find your way across this country using burger joints the way a navigator uses stars. »

J'allais le dire. tu programmes tous tes articles pour qu'ils passent "en
ligne" tel jour à telle heure et le tour est joué, non ?

Euh ben vous faites ce que vous voulez ; c'est juste que du coup ce
plugin ne me servira pas :stuck_out_tongue:

-- Fil

Le 13 mai 2009 10:31, Fil <fil@rezo.net> a écrit :

J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en
ligne » tel jour à telle heure et le tour est joué, non ?

Euh ben vous faites ce que vous voulez ; c’est juste que du coup ce
plugin ne me servira pas :stuck_out_tongue:

Le pb est qu’il y a différents cas d’utilisation possible et du coup c’est moins kiss :wink:


Arnaud

2009/5/13 L’oiseau2nuit <l.oiseau2nuit@gmail.com>

2009/5/13 Arnaud Ventre <ventrea@gmail.com>

Le 13 mai 2009 10:02, Samy Rabih <samy.rabih@free.fr> a écrit :

La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »

il y a la date de publication pour gérer ça …
J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?

Je ne suis pas d’accord :
je monte des squelettes dont j’aimerais tester l’affichage avec les infos « comme si c’était en prod »
J’ai besoin de ces données au moment du montage des squelettes.
C’est également indispensable pour qu’un client me dise : « C’est bon, on ouvre les vannes »

De plus, n’étant pas medium, je ne peux pas prévoir exactement l’heure d’ouverture du site.

Vous avez une autre solution pour faire ça ?

.Gilles

Gilles VINCENT a écrit :

2009/5/13 L'oiseau2nuit <l.oiseau2nuit@gmail.com il y a la date de publication pour gérer ça ...
        J'allais le dire. tu programmes tous tes articles pour qu'ils
        passent "en ligne" tel jour à telle heure et le tour est joué, non ?

je monte des squelettes dont j'aimerais tester l'affichage avec les infos "comme si c'était en prod"

La date de publication nécessite un squelette sur mesure
donc c'est ok pour un fonctionnement "normal" du site.

Mais pour un test avant lancement, ça ne me semble pas ok
de devoir surcharger les squelettes avec quelquechose
qui ne servira plus jamais.

C'est un peu la même différence qu'entre "configuration" et "administration"
dans les nouveaux menus de la partie privée.

JL

Le 13 mai 09 à 13:17, Gilles VINCENT a écrit :

2009/5/13 L’oiseau2nuit <l.oiseau2nuit@gmail.com>

2009/5/13 Arnaud Ventre <ventrea@gmail.com>

Le 13 mai 2009 10:02, Samy Rabih <samy.rabih@free.fr> a écrit :

La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »

il y a la date de publication pour gérer ça …
J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?

Je ne suis pas d’accord :
je monte des squelettes dont j’aimerais tester l’affichage avec les infos « comme si c’était en prod »
J’ai besoin de ces données au moment du montage des squelettes.
C’est également indispensable pour qu’un client me dise : « C’est bon, on ouvre les vannes »

De plus, n’étant pas medium, je ne peux pas prévoir exactement l’heure d’ouverture du site.

Vous avez une autre solution pour faire ça ?

oui, un site de preprod.
Le but du plugin ‹ en travaux › n’est a priori pas de faire une page d’attente qui dure des semaines pendant que tu produis ton site.
Pour ça le mieux est encore de travailler à côté et de ne basculer en prod que quand c’est validé.

Maintenant, pour répondre à ton besoin, ou à celui de fil,
tout repose sur

function autoriser_travaux_dist(){
return autoriser(‹ webmestre ›);
}

Il suffit de changer l’autorisation pour un test sur statut au moins redacteur par exemple, pour que tous les contributeurs de l’espace privé puissent contribuer et voir l’espace privé aussi bien que public. Lequel restera masqué pour les visiteurs qui n’ont pas l’autorisation.

Le KISS c’est donc :

  • une interface minimale qui répond à 80% des besoins,
  • la possibilité d’étendre l’usage a peu de frais.

Typiquement, ceux qui le voudront pourront ajouter un panneau de configuration qui permet de définir les droits minimaux pour voir le site en travaux.

Cédric

Cedric, pardon pour le doublon.

2009/5/13 L’oiseau2nuit <l.oiseau2nuit@gmail.com>

2009/5/13 cedric.morin@yterium.com <cedric.morin@yterium.com>

Le 13 mai 09 à 13:17, Gilles VINCENT a écrit :

2009/5/13 L’oiseau2nuit <l.oiseau2nuit@gmail.com>

2009/5/13 Arnaud Ventre <ventrea@gmail.com>

Le 13 mai 2009 10:02, Samy Rabih <samy.rabih@free.fr> a écrit :

La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »

il y a la date de publication pour gérer ça …
J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?

Je ne suis pas d’accord :
je monte des squelettes dont j’aimerais tester l’affichage avec les infos « comme si c’était en prod »
J’ai besoin de ces données au moment du montage des squelettes.
C’est également indispensable pour qu’un client me dise : « C’est bon, on ouvre les vannes »

De plus, n’étant pas medium, je ne peux pas prévoir exactement l’heure d’ouverture du site.

Vous avez une autre solution pour faire ça ?

oui, un site de preprod.
Le but du plugin ‹ en travaux › n’est a priori pas de faire une page d’attente qui dure des semaines pendant que tu produis ton site.
Pour ça le mieux est encore de travailler à côté et de ne basculer en prod que quand c’est validé.

Maintenant, pour répondre à ton besoin, ou à celui de fil,
tout repose sur

function autoriser_travaux_dist(){
return autoriser(‹ webmestre ›);
}

Il suffit de changer l’autorisation pour un test sur statut au moins redacteur par exemple, pour que tous les contributeurs de l’espace privé puissent contribuer et voir l’espace privé aussi bien que public. Lequel restera masqué pour les visiteurs qui n’ont pas l’autorisation.

Le KISS c’est donc :

  • une interface minimale qui répond à 80% des besoins,
  • la possibilité d’étendre l’usage a peu de frais.

Typiquement, ceux qui le voudront pourront ajouter un panneau de configuration qui permet de définir les droits minimaux pour voir le site en travaux.

Cédric

2 questions :

  • KISS c’est mignon sur le papier, mais dans les faits, c’est quoi ?

  • Et le &var_mode=preview dans tout ça (pour les articles en attente s’entend) ??? Enfin je veux dire, les besoins tels que Gilles et Fil les formalisent sont déjà couverts pas le plugin (fermez le site pour : les visiteurs / tout le monde). En quoi est-il nécéssaire de ré-inventer la roue dans ce cas ? Je vois pas ce qui vous pose problème là…


Etienne Brackers.
http://www.loiseau2nuit.net

| Charles Kuralt - « You can find your way across this country using burger joints the way a navigator uses stars. »

.Gilles

2009/5/13 L’oiseau2nuit <l.oiseau2nuit@gmail.com>

2009/5/13 cedric.morin@yterium.com <cedric.morin@yterium.com>

2009/5/13 L’oiseau2nuit <l.oiseau2nuit@gmail.com>

2009/5/13 Arnaud Ventre <ventrea@gmail.com>

Le 13 mai 2009 10:02, Samy Rabih <samy.rabih@free.fr> a écrit :

La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »

il y a la date de publication pour gérer ça …
J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?

Je ne suis pas d’accord :
je monte des squelettes dont j’aimerais tester l’affichage avec les infos « comme si c’était en prod »
J’ai besoin de ces données au moment du montage des squelettes.
C’est également indispensable pour qu’un client me dise : « C’est bon, on ouvre les vannes »

De plus, n’étant pas medium, je ne peux pas prévoir exactement l’heure d’ouverture du site.

Vous avez une autre solution pour faire ça ?

oui, un site de preprod.
Le but du plugin ‹ en travaux › n’est a priori pas de faire une page d’attente qui dure des semaines pendant que tu produis ton site.
Pour ça le mieux est encore de travailler à côté et de ne basculer en prod que quand c’est validé.

2 questions :

  • KISS c’est mignon sur le papier, mais dans les faits, c’est quoi ?

Keep It Stupid, Simple
http://fr.wikipedia.org/wiki/Principe_KISS

  • Et le &var_mode=preview dans tout ça (pour les articles en attente s’entend) ??? Enfin je veux dire, les besoins tels que Gilles et Fil les formalisent sont déjà couverts pas le plugin (fermez le site pour : les visiteurs / tout le monde). En quoi est-il nécéssaire de ré-inventer la roue dans ce cas ? Je vois pas ce qui vous pose problème là…

Je suis d’accord avec Cedric pour le mode « préprod » sur un serveur à part (d’ailleurs c’est ce que j’ai toujours fait).
En fait le plugin me semble indispensable le plus pertinent dans 2 cas seulement :

  • La mise en ligne d’une modif (plugin, look, contenu, etc…) qui ne justifie pas de déplacer / réinstaller le site, mais juste de le fermer quelques heures.
  • La phase de validation : j’ai déjà eu quelques surprises sur des hébergeurs poussifs ou mal configurés. Par exemple un site sous 2.0 qui n’écrit rien dans les dossiers de tmp/ (en fait il écrit mais ne supprime pasi) – donc un cache mal géré, des problèmes de session, etc… Si j’avais utilisé « travaux » à ce moment là, je ne me serais pas fait taper sur les doigts parceque ma mise à jour a déclenché plein de warning.
    J’ai aussi eu des plugin qui me supprimaient, sur ce site, la balise #INTRODUCTION :wink: Ca aurait fait plus « clean » que ces bugs n’apparaissent qu’en interne.

Sinon utiliser le plugin « accès restreint » est effectivement une possibilité pour déconnecter provisoirement un site. Mais il me semble que ce n’est pas son usage d’origine. D’où l’intérêt du bouton « ON/OFF » du plugin travaux.

.Gilles


A+
Arnaud

Le 13 mai 09 à 13:17, Gilles VINCENT <gilles.vincent@gmail.com> a écrit :

2009/5/13 L’oiseau2nuit <l.oiseau2nuit@gmail.com>

2009/5/13 Arnaud Ventre <ventrea@gmail.com>

Le 13 mai 2009 10:02, Samy Rabih <samy.rabih@free.fr> a écrit :

La subtilité c’est que tu peux vouloir mettre en ligne d’avance des articles sans que rien ne s’affiche sur le site pro, genre « je prépare 100 articles que je mets ‘en ligne’ et je débloque le mode ‘en travaux’ quand tout est prêt »

il y a la date de publication pour gérer ça …
J’allais le dire. tu programmes tous tes articles pour qu’ils passent « en ligne » tel jour à telle heure et le tour est joué, non ?

Je ne suis pas d’accord :
je monte des squelettes dont j’aimerais tester l’affichage avec les infos « comme si c’était en prod »
J’ai besoin de ces données au moment du montage des squelettes.
C’est également indispensable pour qu’un client me dise : « C’est bon, on ouvre les vannes »

De plus, n’étant pas medium, je ne peux pas prévoir exactement l’heure d’ouverture du site.

Vous avez une autre solution pour faire ça ?

.Gilles

Oui un site de preprod :-p