Mes Fichiers

Ce plugin fabrique un fichier d’archives contenant les données de personnalisation du site comme le dernier dump de sauvegarde de la base, le(s) dossier(s) des squelettes nommés, le dossier images…

Faire un paquet des données du site

Il est possible d’effectuer une sauvegarde de la base de données avec SPIP, mais les fichiers ne le sont généralement pas.

En plus des données, il est recommandé de faire une copie du répertoire servant de dépôt documentaire, le fameux répertoire IMG/ contenant tous les logos et les documents joints. Par précaution, on peut aussi faire une copie du dossier squelettes/ contenant toute les personnalisations du site ainsi que le fichiers config/mes_options.php. Enfin, le fichier .htaccess ainsi que la sauvegarde de la configuration d’un squelette tel que Sarka-SPIP peuvent être ajoutées à la liste.

Ceci représente, quand elles sont effectuées manuellement, un nombre de manipulations longues et fastidieuses, par ftp, fichier par fichier. Il est donc plus confortable de transporter en une seule archive l’ensemble de ces fichiers, base comprise, que le site peut fabriquer à la demande. C’est le rôle du plugin « mes_fichiers » : faire un paquet des données du site [1].

Utilisation de base

Lorsqu’il est activé, ce plugin propose deux actions principales aux administrateurs du site (ou aux utilisateurs possédant l’autorisation « sauvegarder » sous SPIP 3).

Sauvegarder mes fichiers

Cette option fabrique le fichier « mf2_aaaammjj_hhmmss.zip » dans le dossier tmp/mes_fichiers/. Ce fichier d’archive peut contenir :

  • le fichier config/mes_options.php, s’il existe,
  • le fichier .htaccess lié à la réecriture d’urls, s’il existe,
  • le répertoire IMG/ complet,
  • le répertoire squelettes/ complet, s’il existe,
  • le dernier fichier de sauvegarde de la base créé en utilisant l’interface privée de SPIP ou généré par le plugin « saveauto »,
  • et enfin les répertoires et/ou fichiers rajoutés via le pipeline mes_fichiers_a_sauver par certains plugins comme Saveauto et Sarka-SPIP 3 (tmp/cfg/ en ce qui concerne la sauvegarde de la configuration de Sarka-SPIP par exemple) et ieconfig.

Depuis la version 2.0 pour SPIP 3, il est aussi possible de sauvegarder la base SQLite du site si celui-ci utilise ce format de données.

Il est possible de sélectionner tout ou partie de ces éléments avant de lancer la sauvegarde.
Formulaire de sauvegarde sous SPIP 3

Télécharger une sauvegarde

Cette option liste les fichiers d’archives disponibles, et permet de visualiser leurs constituants et / ou de les télécharger sur le disque local.
Liste des archives sous SPIP 3

Utilisation avancée

Configuration

Le plugin permet de configurer certains paramètres de sauvegarde comme illustré ci-dessous :
Configuration sous SPIP 3

Les paramétrages les plus notables sont :

  • la limite de taille sur les répertoires sauvegardés très utile quand le dossier IMG/ commence à grossir.
  • la possibilité d’activer une sauvegarde automatique de l’ensemble des fichiers / dossiers de personnalisation avec une fréquence réglable en jours.
  • la possibilité d’activer le nettoyage journalier des sauvegardes.
  • l’activation des notifications sur les actions.

Sauvegarde automatique

Dès qu’elle est activée, cette option génère à intervalle régulier une archive contenant l’ensemble des fichiers dont la taille est inférieure au seuil prescrit.

Nettoyage des archives

Dès qu’il est activé, les archives les plus anciennes sont supprimées afin d’éviter de remplir le quota du site. La durée de conservation des archives est paramétrable.

Notifications

Dès qu’elle est activée, cette option notifie au webmestre ainsi qu’à une liste d’adresses configurables l’ensemble des actions manuelles et automatiques.

Évolutions

Le 28 Octobre 2012 : création de la branche 2.0 pour SPIP 3

Notes

[1Et comme il s’agit de données, les plugins du dossier plugins/ ne sont pas pris en compte, considérant qu’ils font partie du système d’une part et qu’ils font bien souvent l’objet d’une offre de sauvegarde mutualisée sur la zone, d’autre part.

Discussion

26 discussions

  • 3
    lagrenouille

    Bonjour
    nous avons mis ce plugin dans la mutualisation de PIC
    suite à des test dans plusieurs sites mutualisés, le plugin fonctionne parfois bien et parfois pas du tout..
    il y a ce message
    « Aucune sauvegarde disponible au téléchargement. »

    Nous cherchons, mais nous n’avons pas encore trouvé la faille

    Si vous avez une idée, merci

    • lagrenouille

      Suite du feuilleton
      au téléchargement le fichier
      mf2_20181124_084730.zip.part ne fini pas le boulot

      le fichier zip à donc reste à zéro octet

      je confirme que c’est le seul qui me fait ça
      tout autre téléchargement de fichier archivé se décompresse sans problème..

    • lagrenouille

      bon, mauvaise écriture
      j’ai fait un site en local et j’ai testé le plugin
      nickel
      dont, c’est dans les nombreuses conf de notre mutu spip,
      désolé du bruit

    • lagrenouille

      résolu.

      Nous avons nginx comme proxy

      dans le fichier « mes_fichiers_telecharger.php » du plugin, la redirection à la fin est supprimé

      // redirige_par_entete(generer_url_ecrire(’mes_fichiers’, ’etat=ok_tele’, true)) ;

    Répondre à ce message

  • 1
    stéphane

    Bonsoir,

    j’ai pu lire que le plugin stocké les sauvegarde dans le répertoire ./tmp/mes fichiers

    a priori via les lignes de code suivante

    // Repertoire de stockage des archives creees
    if (!defined('_DIR_MES_FICHIERS')) define('_DIR_MES_FICHIERS', _DIR_TMP . 'mes_fichiers/');
    define('PCLZIP_TEMPORARY_DIR', _DIR_TMP)

    ma question est comment modifié les lignes pour pouvoir envoyé les sauvegardes dans le répertoire /data situé a la racine du serveur alors que spip est dans un répertoire

    merci pour votre aide

    • Bonjour,

      A priori (je n’ai pas testé), en définissant dans mes_options.php
      (ou mieux mes_fonctions.php , car il ne serait utilisé qu’en privé ) :
      define('_DIR_MES_FICHIERS', ' le chemin accessible que l'on veut !/');.

      YannX
      http://spippourlesnusl.fr

      PS je me demandais pourquoi les divers connect....php n’y sont pas proposés, dans ../plugins/auto/mes_fichiers/v2.0.16/formulaires/mes_fichiers_sauver.html
      non plus que le (futur) paquet plugins_site.xml (cf. Lister les pugins nécessaires !

    Répondre à ce message

  • 2

    Bonjour,

    Très bien la sauvegarde mais comment faire la restauration ?

    Celle de la base de données OK mais tous les autres fichiers (rubriques, sous-rubriques, articles, img, etc.) ?

    Je ne trouve pas comment faire…

    • il n’y pas de fichier rubriques/articles etc, c’est en BDD. J’imagine que vous voulez parler des logos et des documents. Et bien normalement, il suffit de les mettres dans le dossier IMG.

    • OK merci ;-)

    Répondre à ce message

  • Bonjour,
    J’ai eu un problème avec un serveur où des liens symboliques ont été installés dans le répertoire IMG. Ce qui fait que ce problème ne doit affecter quasiment personne...

    Dans mon cas les certains liens symboliques pointent vers des zones communes ce qui a fait que les tailles calculées étaient aberrantes.

    En regardant dans la doc php on voit que la fonction « is_dir » suit les liens symboliques, c’est à dire qu’elle ne les voit pas.

    La sauvegarde devrait suivre le principe annoncé par le module pclzip qu’elle utilise c’est à dire ignorer les liens symboliques. Pour cela il faut tester les liens symboliques avant les répertoires (ce que pclzip oublie de faire).

    Pour mes_fichiers il a suffit de modifier la fonction mes_fichiers_dirsize (dans inc/mes_fichiers_utils) en rajoutant un test :

                    // Get list of directories or filesizes
                    $path = $queue[$i] . $entry;
    if (!is_link($path)) { //ignorer les liens symboliques
                    if (is_dir($path)) {
                        $path .= DIRECTORY_SEPARATOR;
                        $subdirs[] = $path;
                    } elseif (is_file($path)) {
                        $size += filesize($path);
                    }
                }
    }

    Pour pclzip (dans le core de spip) il m’a fallu changer l’ordre des tests dans la fonction privFileDescrExpand (/ecrire/inc/pclzip.php) de façon à tester les liens en premier.

    Jean-Daniel

    Répondre à ce message

  • Bonjour,

    Env : SPIP 3.0.16 - Mes Fichiers 2.0.12 stable

    Ce plugin est exactement ce que recherchais !

    L’installation s’est douroulée sans problème et le backup distant exécuté comme prévu.

    Le problème se pose au téléchargement : alors que l’archive annonce une taille de 155,5 MB, la version téléchargée localement ne fait que 257 bytes et est corrompue ! Voir la copie d’écran en piéce jointe...

    J’ajoute que le test a été effectué sous OSX Lion avec les browsers Firefox, Chrome et Safari.

    Une idée ?

    Répondre à ce message

  • 2
    Sylvain

    Bonjour,

    je test le plugin actuellement tout marche plutôt pas mal par contre le bouton « télécharger » ne fonctionne pas du tout ? C’est normal ?

    ++ Sylvain

    • Bonjour,

      Non, il n’est pas normal que le bouton télécharger ne fonctionne pas et je n’est jamais eu ce type problème jusqu’alors.
      Quelle version du plugin utilises-tu ? Sur quelle version de SPIP ?

    • Sylvain

      C’est la version 1.0.5 du plugin (la seule proposée dans les listes d’installation de la page plugin sur la branche 2.1) j’ai testé initialement en ligne sur un SPIP 2.1.2, puis en local sur un 2.1.11 et un 2.1.21.

    Répondre à ce message

  • 5

    Bonjour

    Ce plugin me semble très intéressant, mais impossible de l’installer sur mes sites en version 2.1.12 de spiip. Au moment de l’installation, il m’est demandé de créer un répertoire /lib, je suppose à la racine du site. Ce que je fais. Quand je relance l’installation, celle-ci se déroule normalement, sauf que « Mes fichiers » n’apparaît nulle part dans ma liste des plugins, et que le répertoire /lib ne contient rien.

    Comment faire ?

    Merci d’avance.

    • Salut Bcolo,

      Ce plugin ne nécessite aucune librairie pour fonctionner. Je ne vois pas vraiment quel est le souci que tu peux avoir. Avec quel outil installes-tu le plugin ?

    • J’ai essayé en auto depuis l’admin. Puis j’ai refait une tentative en installant le plugin directement par ftp, et là ça a marché.

      Le répertoire /lib est demandé au moment de l’installation. Et après vérification, j’ai bien un dossier mes_fichiers créé dans /lib à la racine du site.

    • Bonjour

      Tu as charger la mauvaise version via le chargeur automatique manifestement.
      Je pense que dans le dossier lib/ tu as un paquet.xml et pas un plugins.xml

    • Bcolo,

      Il serait intéressant aussi que tu mettes à jour ta version de SPIP en 2.1.19 pour combler les failles de sécu a minima et que tu fasses aussi une mise à jour de tes plugins.
      Ce problème de chargement du plugin dans le dossier lib/ est pas nouveau et devrait être corrigé avec des versions à jour... enfin j’espère. En tout cas, il n’existe plus avec SPIP 3.

    • OK, merci beaucoup pour ces précisions. Effectivement je vais passer dans les prochains jours à SPIP 3. Sinon, très bon plugin, très utile.

    Répondre à ce message

  • 1
    Jean-Louis

    J’aide un webmestre d’établissement

    Au démarrage de son SPIP 3.0.5 Sarka, il a les erreurs suivantes :

    7 Erreur(s) dans le squelette Numéro message squelette boucle Ligne
    1 Erreur SQL 1146
    La table ’w0341705u.v2_petitions’ n’existe pas
    SELECT * FROM spip_petitions LIMIT 1
    / /
    2 Erreur SQL 1146
    La table ’w0341705u.v2_depots’ n’existe pas
    SELECT * FROM spip_depots LIMIT 1
    / /
    3 Erreur SQL 1146
    La table ’w0341705u.v2_plugins’ n’existe pas
    SELECT * FROM spip_plugins LIMIT 1
    / /
    4 Erreur SQL 1146
    La table ’w0341705u.v2_paquets’ n’existe pas
    SELECT * FROM spip_paquets LIMIT 1
    / /
    5 Erreur SQL 1146
    La table ’w0341705u.v2_mots_liens’ n’existe pas
    SELECT * FROM spip_mots_liens LIMIT 1
    / /
    6 Erreur SQL 1146
    La table ’w0341705u.v2_depots_plugins’ n’existe pas
    SELECT * FROM spip_depots_plugins LIMIT 1
    / /
    7 Erreur SQL 1146
    La table ’w0341705u.v2_urls’ n’existe pas
    SELECT * FROM spip_urls LIMIT 1

    Comment résoudre son problème

    Effectivement les tables ne sont pas présentes

    Répondre à ce message

  • 1

    Bonjour,
    J’utilise Spip2.1.11 et sarka 3.1.0 avec MesFichiers2.
    J’obtiens ce message lorsque je choisis le répetoire /IMg :

    Error 500 - Internal server error
    Un problème inattendu est survenu.
    Veuillez réessayer ultérieurement.

    Si je choisi tous les autres répertoires, c’est Ok...
    C’est un problème du serveur ?
    Comment remédier au problème..?

    • Bonjour,

      Mon problème n’est toujours pas résolu...
      Je réalise mes sauvegardes avec ce plugin mais je suis obligé d’exclure le dossier /IMG sinon j’ai le message ci-dessus...
      Si quelqu’un a une piste car là je ne vois pas trop d’où cela proviens....

      Merci pour votre aide...

    Répondre à ce message

  • 10

    Que faire pour ne pas avoir le message suivant ?

    « Fatal error : Call to undefined function typo() in /home/collec34/public_html/plugins/auto/mes_fichiers_2/notifications/mes_fichiers_sauver.php on line 25 »

    Sous SPIP 2.1.8 avec Sarka-SPIP 3.0.4
    sur www.collectifdondorganes.org

    Merci d’avance.

    • Bonjour Pipeti,

      Je dirais que tu devrais vérifier la cohérence de tes plugins entre eux et avec la version SPIP que tu utilises.

    • Bonjour Eric,
      J’ai fait et en principe tout est à jour...
      Spip, Sarka, et les différents plugins...
      Je voulais tester ce mode de sauvegarde qui me parait plus complet donc intéressant...
      Tu as toujours un accès en administrateur sur notre site, si tu veux vérifier...
      Cordialement et merci encore pour ton aide...

    • J’ai vidé ton cache et j’ai essayé : je n’ai pas de message d’erreur.

    • Merci encore pour ton aide Eric,
      Je n’ai pas pensé à ce cache...
      Mais j’ai essayé juste derrière toi et ... même message !,
      alors j’ai à nouveau vidé le cache et réessayé encore et là OK ça marche...
      Cela veut-il dire qu’il faut vider le cache avant chaque sauvegarde ?
      Dans le cas des sauvegardes périodiques, je crains que l’on ne soit donc pas sûr du bon fonctionnement ...

    • Je n’ai pas essayé de créer un zip avec le répertoire IMG/ par contre. Qu’as tu sélectionné dans ton zip ?

    • J’ai sélectionné Tout !

    • Moi aussi et ça marche !

    • erreur typo() : résolue..../bof !

      Comme d’autres, j’avais une erreur (approximativement) :

      Fatal error : Call to undefined function typo() in ...

      sur deux configurations de nouveaux sites (en 2.1.11...)
      lorsque je voulais utiliser mes_fichiers_2.
      (pour etre précis, l’un en Wamp+XDebug local, l’autre sur OVH)

      Par hasard, j’ai installé Mediathèque (grace a Step), et....
      du coup, ? ? ? ? çà marche !!

      Hope to help
      Yx

    • Erreur, cela ne marche.... pas toujours ??
      j’ai parlé trop vite !!

      A nouveau :

      plugins/auto/mes_fichiers_2/notifications/mes_fichiers_sauver.php on line 26

      après avoir « fait ».. juste le temps de créer deux articles, avec leurs logos !?

      (tentative de sauvegarder IMG et le dump, fait juste avant !!).

      Comme j’ai bien des sauvegardes présentes,
      ne serait-ce un problème de « timeout » ??

    • Je pense que http://zone.spip.org/trac/spip-zone/changeset/54568 doit clore ce débat. Je suis également tombé dessus à l’instant.

    Répondre à ce message

Ajouter un commentaire

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

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

Dernière modification de cette page le 1er novembre 2017