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 toutes les personnalisations du site ainsi que le fichier config/mes_options.php, 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
  • Le 19 février 2022 : création de la branche 3 pour SPIP 4.1 utilisant le plugin Archiviste

Footnotes

[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

27 discussions

  • 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.

    Reply to this message

  • 6

    Bonjour,

    Lors de l’utilisation de Mes fichiers 2 avec Spip 2.1.2 j’obtiens ce message :
    PCLZIP_ERR_WRITE_OPEN_FAIL (-1) : Unable to open temporary file ’pclzip-4c961f9eb50ac.gz’ in binary write mode

    Le fichier zip qui se créé est non lisible (sa taille est de 37 octets)

    Merci d’avance pour votre aide

    • Pour contourner le problème, j’ai commenté la ligne 58 du fichier : inc/mes_fichiers_sauver.php

      /*,PCLZIP_OPT_ADD_TEMP_FILE_ON*/

      Je ne sais pas si cela a un impact négatif sur le traitement des fichiers

    • A priori, PCLZIP_OPT_ADD_TEMP_FILE_ON est utiliser pour réduire l’utilisation de la mémoire,

      si la liste des fichiers à sauvegarder est longue, cela risque fortement de ralentir le serveur...

    • Klelugi,

      Faut pas enlever cette ligne car elle permet de traiter des zips de grande taille. Sans elle ton zip pourra parfois tomber en timeout d’exécution.

      A priori tu as un surement un problème de droits.

    • Merci pour ce retour Eric,

      En fait, je viens de faire comme ça :

      Modifier le fichier : ecrire/inc/pclzip.php ligne 66

      define( ’PCLZIP_TEMPORARY_DIR’, ’/chemin_absolu/ndd/www/tmp/’ );

      avec le chemin absolu du serveur depuis le root, et là plus de problèmes de droits

    • Je confirme la nécessité de commenter la ligne 54 de inc/mes_fichiers_sauver.php tel que plus bas pour que cela fonctionne.

      		$erreur = $mes_fichiers->create(
      			$liste,
      			PCLZIP_OPT_COMMENT,serialize($comment),
      			PCLZIP_OPT_REMOVE_PATH, $remove_path);/**,
      			PCLZIP_OPT_ADD_TEMP_FILE_ON);*/

      SPIP 2.1.6 [16885]
      Mes Fichiers 2 : Version : 1.0.1 [42383]

      Cordialement

    • Je confirme que ça ne vient pas du plugin !
      C’est un souci de serveur.

      Si tu zippes des gros fichier tu risques de voir le traitement se finir en erreur.

    Reply to this message

  • Coucou Eric,

    Souhaitant installer ce super plugin sur un site en SPIP 2.0.10 - Sarka 3.0.3 (oui, je sais, j’ai quelques versions de retard), ça ne marche pas.

    La version ci-dessus nécessite SPIP en version 2.1.0 minimum.

    Te serait-il possible de laisser une version zip pour Spip 2.0.x ?

    N.B. : la version 0.2 [36834] que Christophe avait retrouvée ne fonctionne pas (on voit bien "Mes fichiers dans la maintenance mais cette page est vide).

    Merci beaucoup d’avance.

    Reply to this message

  • 2

    Bonjour,

    Les options “Tout cocher” et “Tout décocher” ne fonctionnent plus.

    -  Spip 2.1.1
    -  Mes_fichiers_2 36834
    -  Spip_Bonux 39094 ( pas exactement la dernière mais récente)
    -  IE et FFX

    Il suffit de cocher chaque ligne individuellement

    Merci

    • Salut CdChar,

      Si si, les options fonctionnent toujours, je viens de tester. Par contre, il existe maintenant une configuration interdisant de sélectionner un item dans la taille est supérieure à un max. Peut-être est ce cela ?

    • Bonjour Eric,

      En effet

      Merci

    Reply to this message

  • 5

    Helas.......

    Je viens de rajouter le plugin “Bandeau”,
    vous savez, celui qui donne une interface privée professionnelle a SPIP.

    Mais helas, mes_fichiers_2 a disparu !!! ?
    Incompatibilité, bug de mon install, ou..

    YannX

    PS pourrait-on rajouter (plus facilement accessible en aide) la commande exec= correspondante ?
    je crois qu’il y a une discussion en-cours sur la DTD plugin....

    • Bonjour, est ce que tu as la bonnes version du plugin ? A savoir la 0.3.1.

    • Merci de ta reponse, mais alors là ???
      Heu....... ?
      -  SPIP 2.1.0 [15608]
      -  Bandeau 2.1 : 1.1.4 [40130]
      -  Mes fichiers 2 : 0.2 [36824]
      tous deux derniers rechargés de ce jour,
      après ton message !!!
      J’ai verifié les plugin.xml......

      Cette version 0.3.1 se trouverait où ?
      Merci
      Yx

    • Des corrections sur mes_fichiers_ on été faites cette aprés midi donc disponible a 18h.
      la version de mes fichiers sera la 1.0.0

    • Je viens de rechercher les changeset (avec google)
      Effectivement je trouve les 36851 / 37106 / 37117 sur le site
      (ce qui me permet de remercier déjà sur le @prefix@ )

      et qui ne figurent pas dans mon zip télécharge en plusieurs reprises sur mon HDisk !
      Donc j’attends ce soir....

      Merci
      Yx

      PS dans le meme ordre d’idées, je n’arrive pas a avoir la MàJ auto par le CS
      j’aurais une m. dans mon install ?? Wamp ?
      malgré toutes mes M@J (avec effacement du sous-répertoire avant rechargement !!)

    • Le CS ne charge le plugin que si le zip a été effectuer, comme pour le chargeur auto de spip en fait. et le dernier commit est http://zone.spip.org/trac/spip-zone/changeset/40387 pour le plugiins mes_fichiers_2

    Reply to this message

  • 1
    Petarel

    Bonjour et d’abord un immense merci pour ce plugin très efficace qui nous simplifie vraiment la vie et évite les sauvegardes trop espacées.

    Je suis en train d’installer un site qui doit ensuite être géré par les collègues.

    J’ai installé « mes fichiers » pour que la personne chargée des sauvegardes puisse les effectuer régulièrement. Mais je lui ai donné des droits d’administrateur restreint car je ne peux prendre le risque de lui donner de quoi « restaurer » ou supprimer une base pour le moment.

    Je gère les droits avec les plugins « autorité » et « accès restreint ». Le tout avec SAKA 3.0.3 et SPIP 2.0.10.

    Or je n’arrive pas à lui donner accès à « mes fichiers ». Elle peut faire une « sauvegarde de la base » (via SPIP), mais pas du reste ni télécharger le résultat de ces sauvegardes.

    Y a-t-il une possibilité de résoudre ce problème et lui donner des droits pour faire apparaître « Mes fichiers » ?
    Merci !

    Pétarel

    • Petarel

      Un début de piste : pb dans le plugin “autorité”...
      Dans la configuration, à “qui peut effectuer les sauvegardes ?”, je sélectionne “tous les administrateurs y compris restreints”, j’enregistre.... et ça réaffiche “administrateurs complets”...

      Je fonce donc sur le forum de ce plugin...
      Mais si l’un d’entre vous a une suggestion...

    Reply to this message

  • Salut,

    J’ai un site mutualisé. Dans ma config (qui fonctionne), ce plugin ne trouve pas le repertoire de squelette.

    Afin de le trouver, j’ai du faire une modif (fichier inc/mes_fichiers_utils.php lignes 24 à 29)

    if (strlen($GLOBALS['dossier_squelettes']))
            foreach (explode(':', $GLOBALS['dossier_squelettes']) as $_dir) {
                    $dir = ($_dir[0] == '/' ? '' : _DIR_RACINE) . $_dir . '/';
                    if (@is_dir($_dir))
                            $liste[] = $_dir;
            }

    en fait je zap la commande $dir = ($_dir[0] == '/' ? '' : _DIR_RACINE) . $_dir . '/';
    qui chez moi me fait trouver une ligne ../../sites/thom.jed.st/squelettes
    au lieu de ../sites/thom.jed.st/squelettes qui est le bon répertoire !!

    Je ne sais pas si ca viens de chez moi où je rajoute le _DIR_RACINE (fonctionnel mais peut être non nécéssaire) au dossier squelettes ou alors si c’est une erreur du plugin.

    SI le _DIR_RACINE n’est aps nécéssaire d’être connu par le dossier squellette, il faudrait faire un test pour les 2 cas! si celui-ci est nécéssaire, alors il sera déjà dans le chemin $GLOBALS[’dossier_squelettes’] alors il faut en enlever l’ajout dans le plugin!

    suis-je clair???

    Reply to this message

  • 2
    Manu_TJ

    Chouette plugin mais difficile à utiliser pour un site un peu ancien : près de 1Go dans IMG, la page de constitution du zip aboutit sur une page blanche et le zip créé est inexploitable (fichier corrompu).
    Bon je sais, plus facile à écrire qu’à faire mais n’est il pas possible d’envisager le même fonctionnement que sur certains forums : avant de lancer l’opération, on entre un nombre de fichiers (ex : 250) et la page boucle sur elle-même jusqu’à la fin (donc tous les 250 fichiers).
    L’avantage de ce fonctionnement serait de ne pas écrouler le serveur et s’il tient le choc, de ne pas tomber à time out.

    • Salut Manu_TJ,

      La dernière version de Mes Fichiers 2 permet de donner une limite à la taille des fichiers traités. C’est dans un formulaire CFG propre au plugin. Ce n’est pas la panacée mais ça permet au moins d’éviter de planter.

      De toute façon, le plugin n’est pas fait pour sauvegarder des Giga-octets de données.

    • Manu_TJ

      Je n’avais pas vu qu’il était possible de procéder à un paramétrage. Merci pour cette précision.

    Reply to this message

  • A savoir que pour un site mutualisé le zip peut inclure le mes_options.php à la base de l’installation, du coup si le plugin est mis à disposition des administrateurs des sites hébergés ils obtiennent des informations critiques...

    Reply to this message

  • non: j y vais de ce pas ! merci

    Reply to this message

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom