En travaux 2.0

Seconde version du plugin « En travaux », pour SPIP 2.0

À utiliser pendant une phase de maintenance, ce plugin affiche une page d’avertissement personnalisable, en lieu et place du site public.

Il suffit d’activer ce plugin pour que toutes les pages du site public soient aussitôt remplacées par un message informant les internautes que le site est en cours de maintenance. Cette mise en service immédiate, sans configuration préalable, est une simplification de la version précédente de ce plugin.

Aperçu de la page « En travaux »

Ce plugin, qui s’adresse aux webmestres, est par exemple utile lors de la migration d’un site collaboratif : il permet de « fermer » temporairement le site de façon à empêcher les contributions (afin de ne pas en perdre), le temps de migrer le site (changer d’hébergement, de droits d’accès, etc.) ou d’intervenir sur les contenus (réparer la base de données, etc.).

Fonctionnement par défaut : le webmestre effectue les travaux

Quand que le plugin est activé, seul(s) le(s) webmestre(s) continue(nt) d’avoir usage du site, afin, évidemment, de lui permettre d’effectuer les opérations de maintenance. Le webmestre (c’est-à-dire l’auteur numéro 1), peut visualiser le site public et, contrairement aux autres auteurs, il accède toujours à l’espace privé. Le cache de SPIP est désactivé.

Cependant le webmestre ne voit pas la page « en travaux ». Pour l’afficher quand même, demander l’URL spip.php?page=en_travaux.

N’oubliez pas de désactiver le plugin lorsque les travaux sont terminés ! Quand le plugin est actif, son logo est affiché sur chaque page du site public : ainsi, vous ne pouvez pas l’oublier.

Dans certains cas, la page de login peut être affectée par les travaux et ne plus fonctionner correctement. Cependant, il est toujours possible de se connecter à l’espace privé via la page spip.php?page=login_sos.

Personnalisations possibles

Cette seconde version du plugin permet de modifier complètement la page — et non plus le message seulement —, ce qui permet, par exemple, d’assortir cette page à la charte graphique du site.
-  Créez un squelette :

  • nommé « en_travaux.html », de préférence dans le répertoire « squelettes » (quelque soit le dossier squelettes alors utilisé) pour la version 2.x du plugin
  • nommé « entravaux.html », dans un dossier nommé « inclure », lui même situé de préférence dans le répertoire « squelettes » (quelque soit le dossier squelettes alors utilisé) pour la version 3.x du plugin.

Pour permettre à d’autres intervenants de participer aux travaux, pour préparer une mise en ligne, par exemple :

-  Par défaut, le webmestre est l’auteur n°1. Depuis SPIP 1.9.2, il est possible de déclarer d’autres webmestres. Par exemple pour déclarer les auteurs 1, 743 et 99 comme webmestres, ajoutez cette ligne dans votre fichier mes_options.php :

define('_ID_WEBMESTRES','1:743:99');

À partir de SPIP 2.1 on peut déclarer un auteur comme webmestre directement depuis sa fiche dans l’espace privé.

-  Pour que tous les contributeurs puissent accéder à l’espace privé et au site public pendant les travaux, il suffit d’ajouter ceci dans votre fichier mes_options.php :

function autoriser_travaux($faire,$quoi,$id,$qui,$opts){
	if ($qui['statut']=='0minirezo' OR $qui['statut']=='1comite')
		return true;
	return false;
}

Le site public restera masqué pour les visiteurs qui n’ont pas l’autorisation.

Discussion

40 discussions

  • Bonjour,
    Après mise à jour en 4.1.5, et site fonctionnant normalement, j’ai essayé le plugin en travaux, j’obtiens le message d’erreur suivant sur la page sommaire :
    dataroot is not configured properly, directory does not exist or is not accessible! Exiting.
    J’arrive à afficher les pages de rubrique ou d’artile en saisissant directement dans la barre d’adresse.
    Des idées ? Merci

    Répondre à ce message

  • Bonjour,

    je cherchais un moyen pour mettre un site client sur son serveur avant mise en production. Mais sous l’hébergeur français Viaduc j’ai une erreur 503 pour le visiteur. Une idée du problème ?

    Répondre à ce message

  • Bonjour,

    Merci et bravo pour cet excellent plugin.

    Je vous suggère de compléter votre article en indiquant que l’utilisateur du plugin dispose d’une boîte de dialogue permettant d’activer la maintenance du site, choisir le statut de l’intervenant et configurer un message temporaire sur toute les pages du site pendant une phase de maintenance.

    1. Activer la maintenance
.
    2. Quel est le statut nécessaire pour voir le site durant les travaux ?
 Webmestre, Administrateur
, Rédacteur
.
    3. Formuler un message temporaire.

    Cordialement
    FDG


    Répondre à ce message

  • Bjr,
    comment faudrait-il faire pour que le site public reste visible, mais sans que personne (sauf Webmestre) ne puissent poster de commentaires (ne puissent pas modifier la base) ou autre, et que personne sauf webmestre ne puisse accéder au site privé ?
    C’est pour quand on change d’hébergeur, pour que les modifs de la base ne soit pas permises, mais que des simples visiteurs puissent voir le site public le temps que le domaine bascule chez autre hébergeur.

    j’imagine faudrait faire une variante de ça pour que tout le monde puisse voir le site public ?

    function autoriser_travaux($faire,$quoi,$id,$qui,$opts){
    	if ($qui['statut']=='0minirezo' OR $qui['statut']=='1comite')
    		return true;
    	return false;
    }

    Je pourrais bien sûr interdire les commentaires sur le site, mais il y aurait aussi tous les formulaires de contact, un formulaire pour proposer des événements.
    Faudrait-il désactiver ses formulaires pour éviter les problèmes, ou autre solution ?

    merci pour pistes éventuelles.

    Répondre à ce message

  • 1

    Les archives zip ne sont pas disponibles.
    Impossible d’installer le plugin via l’interface privée. La recherche du plugin n’aboutit à rien.
    La page https://plugins.spip.net/entravaux.html mentionne une compatibilité jusque spip1.9 mais pas compatible pour une version supérieure.
    Pourriez-vous y remédier ?
    D’avance merci pour ce beau plugin

    • Ah mince on a un soucis de cache sur le debardeur en charge des paquets depuis git, ça devrait revenir à la normale sous 24h

    Répondre à ce message

  • 5

    Bonjour,

    Meilleurs Vœux !

    Hier, le 02/01/2020 la mise à jour 3.2.2 a été exécutée sans problème.
    Aujourd’hui le 03/01 le site n’affiche plus qu’une page blanche !?
    Le site est sous SPIP 3.2.7, hébergement Ouvaton. Le déplacement du dossier EnTravaux du répertoire /plugins/auto/ vers la racine a désactivé le plugin et réanimé le site.
    Les plugins Agenda et MiniAgenda sont utilisés sur le site.
    Est-ce qu’il y a un paramétrage particulier à faire ?

    Cordialement.

    Norbert

    • Salut Norbert,

      pourrait tu afficher les messages d’erreurs PHP pour me dire ce qu’il en est. Il est possible que la petite mise à jour ai créé un bug d’oublie d’inclusion ou autre,

    • Salut Maïeul,

      En exécutant le index.php sur le serveur (pas possible pour un utilisateur), ça indique l’erreur qui provoque la page blanche :

      PHP Fatal error: Call to undefined function lire_config() in /var/www/vhosts/boxingclublaravoire.fr/httpdocs/plugins/auto/entravaux/v3.2.2/entravaux_options.php on line 17

      Bien cordialement.

      PS Manipulation réalisée et commentée par Mathieu/Ouvaton

    • oki, merci.

      c’est corrigé pour la future version distribuée (a priori peu après minuit). Sinon tu a juste une ligne à modifier,

      https://git.spip.net/plugin/en_travaux/commit/cd29d378a0fefb8d9980bcb9dc6c41dae9dd261c

    • Salut Maïeul,

      Bravo pour ta réactivité !

      Si j’ai bien compris il y a juste la ligne ligne ci-dessous à modifier

      include_spip('inc/config');
    • oui c’est ca. Mais maintenant cela devrait être disponible en zip

    Répondre à ce message

  • 2

    Bonjour,

    Est ce qu’il y à quelqu’un qui a réussi à personnaliser la page en travaux, et qui peut nous expliquer comment il a fait ? ou, nous dire comment rendre la page responsive SVP ?

    • Avez-vous lu l’article présentant le plugin ? Il y a un paragraphe intitulé « Personnalisations possibles » qui explique comment procéder pour personnaliser l’écran « en travaux » et l’adapter à ses besoins ;-))

    • Merci Manu,

      Oui j’ai lu et j’ai appliqué ce qui était indiqué dans le paragraphe ci-dessus : J’ai copié et personnalisé « entravaux.html », je l’ai installé dans un dossier « inclure » et ce dernier dans « squelettes ». J’ai vidé le cache sur le serveur, et le cache de mon navigateur (Ctrl+F5). Mais ! rien ne se passe. J’ai peut être oublié ou mal fait quelque chose ?

    Répondre à ce message

  • 2

    Salut Cédric
    en panique, mise en prod :
    en travaux bloque l’espace privé ! ou plus précisément un conflit (?) entre en travaux et le switcher de skelette et le cache (re ?) mais ma question est : comment désactiver En travaux quand l’accès à l’espace privé est planté en boucle sur le login sos qui ne fait plus rien passer ?
    spip 3.2.3 dernière version en travaux
    merci d’avance !!
    J

    • supprimer le dossier plugin
      ou le renommer
      et attendre que le cache fasse son office
      j’ai vu l’autre msg après dsl !

    • et enfin, si vous ne pouvez plus vous connecter à l’espace privé même après suppression du plugin, renommer le dossier tmp en _tmp par ex et recréer le !
      ça nettoie le cache public et privé, ça m’a bien dépanné....

    Répondre à ce message

  • 8

    Bonjour,

    je n’arrive pas à surcharger la page par défaut ’En travaux’
    J’ai bien créé une page en_travaux.html dans mon dossier ’squelettes’

    En tant que webmestre, je vois bien cette page à l’adresse
    http://exemple.com/spip.php?page=en_travaux

    Mais le visiteur lambda voit toujours la page fournie par le plugin et non ma page chartée

    merci pour votre aide

    • Le plugin est-il bien activé ? Fonctionne-t-il correctement en l’absence de ce squelette personnalisé ?

    • oui le plugin est actif. En tant que webmestre j’ai accès aux pages du site (avec la petite icône « travaux » qui rappelle que le plugin est en marche). En tant que visiteur, la page ’travaux’ par défaut du plugin s’affiche.

    • Solution : dans la dernière version du plugin, 3.1.18, il semblerait que pour surcharger la page par défaut, il faut créer le fichier /squelettes/inclure/entravaux.html

      (donc dans le sous répertoire inclure/ de squelettes/ et entravaux.html sans _ )

      La documentation sur cette page n’est donc plus tout à fait à jour pour la version 3 du plugin...

      A bientôt

    • Effectivement, vu le code au dépôt… Ça semble être une erreur, le répertoire « inclure » ayant vocation à contenir des inclusions, c’est-à-dire des fragments de squelettes, c’est-à-dire pas des pages entières.

    • Effectivement, ça serait plus logique de placer entravaux.html à la racine de squelettes/
      ça serait également bien de pouvoir configurer le nom de cette page dans mes_options.php au cas ou le site possède déjà une page entravaux.html qui n’a rien à voir avec cette fonctionnalité.

      Dernier point, peut on mettre à jour la documentation ? (correction sur la surcharge et compatibilité Spip3)

      Je vais essayer de proposer ces améliorations à la communauté, ça sera un bon début pour participer à Spip

    • Bonjour,

      dans le dépot v3.1.18. Non seulement le fichier en_travaux est dans le repertoire inclure, mais il se nomme entravaux.html et non en_travaux.html !

      Cdlt,

      SPH

    • v3.1.x. Non seulement le fichier en_travaux est dans le répertoire inclure, mais il se nomme entravaux.html et non en_travaux.html !

      Je remonte ce commentaire, car je viens de perdre du temps à mettre en place une page personnalisée qui ne fonctionnait pas et pour cause, la doc n’est pas à jour.

    • J’ai corrigé la doc pour expliquer les différences.

    Répondre à ce message

  • Bonjour,

    Merci pour ce plugin, suite à des avertissements de mon hébergeur pour les ressources du serveur prisent lors des maintenances ; sauvegarde etc. j’ai utilisé ce plugin pour alléger un peu le serveur au moment de mes interventions de maintenance. Je vous invite à voir la différence en image ;

    la première image représente le Cpanel sans activer le plugin « En Travaux » et la deuxième après l’activation du plugin. C’était lors de la sauvegarde de ma base de donnée :

    1- [url=https://www.noelshack.com/2017-51-2-1513719221-avant-activation.png]
    2- [url=https://www.noelshack.com/2017-51-2-1513719355-apres-activation.png]

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom