SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 349 visiteurs en ce moment

Accueil > Optimisation et performances > Nettoyer la médiathèque > Nettoyer la médiathèque

Nettoyer la médiathèque

28 mai 2014 – par Teddy Payet – 56 commentaires

18 votes

Ce plugin est intéressant dans l’un des cas suivants :

  1. Vous avez un site SPIP avec une version inférieure à la 1.9.2 et vous voulez le monter de version ;
  2. Vous avez un site depuis une version inférieure à SPIP 1.9.2 ;
  3. Vous voulez faire le ménage des logos et des documents orphelins dans votre répertoire /IMG.

Dans tous les cas, ce plugin déplacera les fichiers obsolètes dans un sous-répertoire IMG/orphelins. A vous de décider de leur sort par la suite ;-)

Préambule

Les captures d’écran présentes dans cet article sont faites à partir d’un site sous SPIP 3.0. De plus, je vous donnerai le mode d’accès aux pages selon le menu de la partie privée de SPIP 3.0.
La version 0.9.3 du plugin fonctionne aussi sous SPIP 2.1. L’apparence de l’interface diffère donc mais reste sur le même principe de fonctionnement.

Installation du plugin

Le plugin est repertorié dans le dépôt proposé par défaut : « SPIP-Zone - Plugins ». Aussi, il est installable depuis la page Gestion des plugins, onglet Ajouter des plugins si vous avez activé ce dépôt.
En cas de besoin, référez-vous à l’article dédié à ce sujet sur spip.net.

Fonctionnalités

Le plugin fonctionnera par tâches de fond. En clair, vous n’avez quasiment rien à faire pour que le plugin fonctionne après son activation. Vous pouvez déterminer dans quelle tranche horaire les tâches de fond doivent se lancer.
Avant de parler des fonctions en elles-mêmes, nous allons aborder les principes de base et la configuration du plugin pour ne pas avoir de surprise.
Ce plugin fonctionne aussi sur les sites SPIP où le core est mutualisé. Merci à Pierre KUHN pour les tests.

Principe de base des tâches de fond
Le plugin lancera les tâches de fond (cf. cron) toutes les 5h. Si vous n’avez fait qu’activer le plugin sans le configurer, pour des raisons de performances du site, une sécurité est mise en place en vérifiant que nous sommes bien entre minuit (0h) et 6h du matin.

Configuration
Pour accéder à la page de configuration, aller sur "Configuration > Gestion des plugins", puis chercher le plugin :

Cliquer sur la petite icône à droite du bloc. Vous serez redirigé sur la page http://example.org/ecrire/?exec=configurer_medias_nettoyage.

Sur cette page, vous pouvez activer les tranches horaires (recommandé) ou laisser le plugin se lancer régulièrement durant la journée.
Les tranches horaires, d’un pas de 6 heures, sont les suivantes :

  • 0h à 6h ;
  • 6h à 12h ;
  • 12h à 18h ;
  • 18h à minuit.

Tâche de fond #1 : Déplacer les répertoires obsolètes
Il arrive parfois qu’on récupère de très vieux sites internet qui traînent de vieilles coquilles. Dans les [versions <IMG//> http://www.spip.net/fr_article3567.html], SPIP stockait dans le répertoire IMG/ les répertoires pour les icônes et les répertoires de cache. Ces répertoires sont obsolètes à partir de la version SPIP 1.9.2
Cette fonction va déplacer tous les répertoires commençant par "cache-" ou par "icones", de même pour les fichiers "cache-xxx" (après vérification qu’ils ne soient pas de vrais documents enregistrés en base de données) dans le répertoire IMG/orphelins/.

Tâche de fond #2 : Réparer les documents mal classés
Comme il a été dit en début de cet article, il arrive parfois que l’on récupère un vieux site. Il arrivait que pour des raisons de droits d’accès aux sous-répertoires que SPIP enregistre directement les documents dans le répertoire IMG/ au lieu de le mettre dans le répertoire correspondant à son extension. Exemple : IMG/jpg_monfichier.jpg au lieu de IMG/jpg/monfichier.jpg.
Cette tâche de fond va déplacer et renommer ce fichier selon la mécanique native de SPIP. Cela fait, il met à jour le lien du document dans la base de données.
Cette fonction reprend en grande partie le code issu de cet outil sur la zone : http://zone.spip.org/trac/spip-zone/browser/_outils_/repare_doc.html

Tâche de fond #3 : Déplacer tous les documents orphelins
Un document orphelin dans ce plugin est un document physique qui n’est plus référencé en base de données (cf. la boucle DOCUMENTS de SPIP). Alors, ce document sera déplacé dans le répertoire des orphelins (pour rappel : IMG/orphelins/). Il respectera le chemin d’accès du fichier initial.
Exemple : IMG/jpg/monfichier.jpg n’est plus référencé en base de données. Il sera déplacé dans IMG/orphelins/jpg/monfichier.jpg. En clair, si votre fichier était dans un sous répertoire de IMG/, il sera déplacé dans le même sous-répertoire dans IMG/orphelins/. De même, s’il était à la racine de IMG/, il se retrouvera à la racine IMG/orphelins/.
Cette fonction, la principale des 3 tâches de ce plugin, s’occupe de déplacer tous les documents orphelins. Il respectera la hiérarchie du fichier originel (cf. l’exemple donné au paragraphe précédent.)
A noter ici que le plugin prend en compte aussi les logos se référants à un objet qui n’est plus enregistré dans la base de données. Ces derniers seront des logos orphelins.

Il ne touchera pas aux répertoires qui ne font pas références aux documents de SPIP. Par exemple, le plugin Article PDF (actuellement en version 0.4.5) crée un sous répertoire dans IMG/ pour y enregistrer les pdf des articles demandés par le visiteur.
Le plugin "Nettoyer la médiathèque" ne touchera ni à ce répertoire, ni à ses fichiers.

Interface d’utilisation

En plus de ces tâches de fond, le plugin offre quelques pages pour consulter le contenu du répertoire IMG/. Il ne listera pas les documents qui sont stockés dans la base de données, SPIP le fait déjà très bien avec la page http://example.org/ecrire/?exec=documents

Tableau de bord - Documents
Après activation du plugin, vous aurez accès dans le menu "Édition" au tableau de bord des documents. (Édition > Tableau de bord - Documents).
Accessible par : http://example.org/ecrire/?exec=medias_tabbord

Ce tableau de bord donnera des informations techniques sur les documents, à savoir leur nombre et leur taille en octets :

  • en base de données :
    • Tous les documents ;
    • Les documents non-distants ;
    • Les documents sans fichiers physiques.
  • Répertoire IMG/ :
    • Tous les fichiers ;
    • Fichiers dans les répertoires d’extensions ;
    • Fichiers orphelins avec extensions (sauf logos), c’est-à-dire les fichiers non référencés en base de données ;
    • Répertoires à la racine.
  • Les logos dans IMG/ :
    • Logos des objets de SPIP ;
    • Logos en mode "on" ;
    • Logos en mode "off".
  • Répertoire IMG/orphelins :
    • Tous les fichiers ;
    • Répertoires à la racine.

Dans les différents tableaux, la version actuelle du plugin 0.9.3 ne donne pas le poids des répertoires.

Dans la colonne de gauche, vous aurez accès à des pages correspondantes à ce tableau. Elles vous donneront plus d’informations.

Répertoire IMG/
Accessible par : http://example.org/ecrire/?exec=medias_rep_img

Cette page listera les répertoires présents dans IMG/. On y trouvera leur nom et leur date de création.
Pour avoir les fichiers contenus dans IMG/, je vous invite à consulter la page fournie par SPIP. http://example.org/ecrire/?exec=documents

Les logos dans IMG/
Accessible par : http://example.org/ecrire/?exec=medias_logos_img

Cette page listera dans un tableau les logos présents dans IMG/.
Ce tableau contient 3 colonnes :

  • Le nom et la prévisualisation du logo ;
  • Infos techniques : l’extension, la taille en octets et les dimensions en pixels ;
  • La date de création.

Vous pourrez cliquer sur la prévisualisation ou le nom du fichier pour avoir une vue plus grande du fichier.

Les logos de SPIP possèdent des "modes" : on (le logo normal) et off (le logo de survol). Au dessus du tableau, vous pouvez cliquer sur le mode désiré du logo et le tableau affichera les logos correspondants à votre sélection.

Documents orphelins
Accessible par : http://example.org/ecrire/?exec=medias_rep_orphelins

Cette page possède 2 tableaux :

  • la liste des documents ;
  • la liste des répertoires (comme sur la page des répertoires de IMG/).

On reprend le même type d’informations que pour le tableau des logos pour la liste des documents.
Lorsque le fichier est une image, une prévisualisation sera présente. Le nom est cliquable pour pouvoir accéder au fichier et ainsi le télécharger.

Todo

Voici une petite liste d’évolutions et/ou de choses à faire sur le plugin :
-  vérifier si l’objet d’un logo est toujours en base de données, si le logo n’est pas orphelin donc z82917 ;
-  ajouter un bouton supprimer le fichier orphelin 83009 ;
-  ajouter un bouton supprimer le répertoire (sous condition qu’il n’y a pas de fichiers dans le répertoire) ;
-  ajouter un bouton pour importer le fichier dans la table spip_documents ;
-  ajouter un bouton "vider le répertoire orphelins".

Voir en ligne : http://plugins.spip.net/medias_nettoyage

Dernière modification de cette page le 5 avril 2015

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 29 mars à 18:35, par jeanmarie En réponse à : Nettoyer la médiathèque

    Salut,

    petite question : est-ce que le plugin est compatible avec le plugin hash_documents ?

    Dans la ta tâche n°2, il est indiqué : « Cette tâche de fond va déplacer et renommer ce fichier selon la mécanique native de SPIP. » Or, avec hash_documents, l’arborescence est différente (IMG/jpg/a/b/c/fichier.jpg).
    Est-ce qu’il va le prendre en compte et ne pas tout redéplacer ?

    Merci

    • Le 29 mars à 22:17, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Salut,

      Désolé de la réponse un peu tardive, je ne reçois pas les alertes de contrib…

      Je n’ai pas testé avec ce plugin. Mais il semble que le plugin met à jour les répertoires et les documents avec leur nouvelle « adresse ». De ce fait, en théorie, oui, cela devrait être compatible…

      J’ai un doute tout de même du fait de la profondeur… En effet, il me semble que Nettoyer la médiathèque ne va pas à plus d’un niveau de profondeur dans IMG/.

      Mais je n’ai aucune certitude. Il faudrait tester…

    Répondre à ce message

  • Le 7 mars à 19:44, par fat78 En réponse à : Nettoyer la médiathèque

    Bonsoir,
    je voudrais alléger des sites qui contiennent beaucoup de vidéos qui ne sont pas indexées en bdd car plus grandes que les 10Mo autorisées pour les documents téléchargeables par spip.
    Je les avais donc chargées par ftp dans les bons répertoires IMG/mp4 IMG/m4v etc. et insérés dans les articles en y écrivant directement les balises « video » de html5 avec les url des vidéos en clair. Ors il y en a plein qui sont orphelines.
    Ma question, simple : si j’utilise votre plugin pour faire le ménage, va-t-il identifier que mes vidéos orphelines ou bien il va considérer que toutes mes vidéos insérés directement par leur code html sont orphelines, et donc les déplacer ? Vous comprenez l’intérêt de ma question avant de lancer le plugin ...
    Merci d’avance.

    • Le 7 mars à 19:52, par Maïeul En réponse à : Nettoyer la médiathèque

      Je doute que le plugin de Teddy fasse cela, mais je lui laisse le soin de répondre.

      En revanche je vous signale au cas où deux choses pour éviter de se retrouver à l’avenir dans une telle situation :
      -  la limite de taille au téléchargement est définie par l’hébergeur, dans la configuration php, pas par SPIP. Voyez avec lui si vous pouvez changer le réglage.
      -  SPIP permet dans tous les cas de contourner cette limite : en mettant le fichier via ftp dans tmp/upload, il est ensuite possible d’envoyer le fichier depuis « le serveur » (voir le lien dans le formulaire d’ajout de fichier). Ce qui permet ensuite de le mettre en base et d’utiliser proprement les modèles de SPIP, ce qui plutôt une bonne chose.

    • Le 7 mars à 20:32, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Bonjour,

      En effet, le plugin regarde les fichiers présents dans chaque répertoire d’extensions (et je dis bien répertoire d’extensions) et les compare à ce qui est enregistré en base de données dans spip_documents. Si le fichier n’y est pas alors il est considéré comme orphelin.

      Donc, dans votre cas, les vidéos que vous avez mis dans IMG/mp4 et IMG/m4v seront considérées comme orphelines.

      Et je rejoins Maïeul sur la méthode d’insertion dans SPIP de documents plus lourds que la limite de chargement des fichiers par l’hébergeur (ou php).
      Est-ce que vous pourriez indiquer (entre les balises <code>) le code que vous utilisez pour l’insertion de vos vidéos s’il vous plaît ?
      On pourrait imaginer (par forcément dans ce plugin) un script qui analyse les champs de type texte de la base de données pour y détecter les liens IMG/ext/nom_fichier.ext pour une comparaison avec spip_documents et le contenu du répertoire IMG/… :-)
      Et selon le résultat, on l’importe dans la base de données pour ne pas les perdre par le plugin « Nettoyer la médiathèque ».

    • Le 7 mars à 20:45, par fat78 En réponse à : Nettoyer la médiathèque

      Merci pour cette rapide réponse.
      J’en tiendrai compte dans l’avenir mais ... le mal est fait !
      Donc en passant par tmp/upload j’aurai mes vidéos indexée dans la bdd sous la forme docxx, si je comprends bien.
      Néanmoins, je ne vois pas comment insérer une vidéo conforme à html5 en utilisant les liens spip de type docxx puisqu’il faut écrire une balise du type

      <video controls title="..." style="...">
      <source src="http://site/IMG/m4v/fichier.m4v">
      <source src="http://site/IMG/webm/fichier.webm">
      </video>

      pour diffuser au moins deux types de fichiers (voire plus) afin d’afficher la vidéo sur un maximum de supports.

    • Le 7 mars à 20:49, par Maïeul En réponse à : Nettoyer la médiathèque

      C’est justement l’intérêt de l’emploi d’un modele spip : tu peux toi même le transformer. http://www.spip.net/fr_article3454.html

      Cela étant pour les vidéos (que je connais très mal), il existe deja des choses qui font un peu près cela. Regarde par exemple ici http://contrib.spip.net/Plugin-video-HTML5

    • Le 7 mars à 20:55, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Re,

      En fait, on peut imaginer, du moment que les documents sont bien stockés dans la BDD, un modèle où on passerait l’identifiant du document en paramètre.

      Un exemple :

      • IMG/m4v/fichier.m4v est le document 1234 ;
      • IMG/webm/fichier.webm est le document 1235 ;
      • Si on a toujours les mêmes formats de vidéos, on insère le modèle <video> dans le corps du texte de l’article ;
      • On lui passe les paramètres suivants : <video|m4v=1234|webm=1235>

      Et dans le fichier modeles/video.html :

      1. <video controls title="..." style="...">
      2. <BOUCLE_m4v (DOCUMENTS) {id_document=#ENV{m4v}} {si #ENV{m4v}}>
      3. <source src="[(#FICHIER)]">
      4. </BOUCLE_m4v>
      5. <BOUCLE_webm (DOCUMENTS) {id_document=#ENV{webm}} {si #ENV{webm}}>
      6. <source src="[(#FICHIER)]">
      7. </BOUCLE_webm>
      8. </video>

      Télécharger

    • Le 8 mars à 11:09, par fat78 En réponse à : Nettoyer la médiathèque

      Merci, intéressant le plugin video-html5, je vais regarder ça de plus près et l’adapter à un usage plus large (plus de deux formats, affichage « responsive » qui s’adapte à la taille du lecteur). Problème identique pour les fichiers audio.
      Evidement, quand on commence à gérer un site on a pas à l’esprit qu’on va générer des « déchets » ...
      Mais, comme je disais plus haut, le mal est fait.
      Donc il ne me reste plus qu’à trier manuellement quelque milliers de fichiers.
       ;-(

    • Le 8 mars à 11:33, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Bonjour,

      On pourrait faire évoluer le plugin Vidéo HTML5 pour que le « alt » puisse prendre en compte plusieurs id de documents. Cela faciliterait les choses pour avoir plus de versions d’une vidéo.

      Pour ce qui est de tes « déchets », comme je te l’ai dit, on peut imaginer un script qui détecte les documents orphelins (bon… mon plugin le fait déjà). Mais il faut surtout avoir un « bouton » qui puisse ré-importer le document orphelin comme documents SPIP.
      Ça fait parti de ma todo sur ce plugin.

      Mais ce qui serait intéressant, c’est lorsqu’on est sur un article, on détecte la présence d’un lien http://monsite.tld/IMG/ext/fichier.ext et à partir de là, plusieurs possibilités :

      • Si le document est référencé dans spip_documents, on indique le numéro de document qui devrait être utilisé ;
      • Le document n’est pas dans spip_documents mais présent dans IMG/ext du site, alors on propose l’importation de ce document dans spip_documents. Et de ce fait, on revient dans le cas précédent.

    Répondre à ce message

  • Le 4 janvier à 21:41, par Vincent En réponse à : Nettoyer la médiathèque

    Alors, quelques temps plus tard…
    Bonne année 2016 !
    J’ai changé d’hébergeur en passant de Free à Gandi. Je vais tenter de nouveau ce prometteur plugin.
    Fonctionne-t-il avec le plugin Albums ? Puisque une image peut ne pas être associée à une page, mais seulement à un album (sans être pour autant orphelin)… ?

    Merci !
    Vincent

    • Le 4 janvier à 21:43, par Vincent En réponse à : Nettoyer la médiathèque

      En l’occurence : Albums-3 3.3.14 : http://contrib.spip.net/Albums-3
      Et pour être complet : Nettoyer la médiathèque 0.11.1
      Spip 3.0.19 [22089]

    • Le 12 janvier à 12:06, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Bonjour,

      Voici ce qui est dit dans le paragraphe « Tâche de fond #3 : Déplacer tous les documents orphelins »

      Un document orphelin dans ce plugin est un document physique qui n’est plus référencé en base de données (cf. la boucle DOCUMENTS de SPIP).

      Donc, pour répondre à ta question, oui cela marche avec le plugin Albums si ce dernier alimente la table spip_documents

      Amicalement

    • Le 12 janvier à 16:49, par Vincent En réponse à : Nettoyer la médiathèque

      Donc, ça devrait être bon. :-) Merci Teddy !

    Répondre à ce message

  • Le 26 août 2015 à 09:11, par chantoine En réponse à : Nettoyer la médiathèque

    (feuille de route)

    Bonjour,

    Plugin intéressant... mais a priori il nettoie aussi ma feuille de route (fichier feuillederoute.php) :-)

    Christophe

    Répondre à ce message

  • Le 4 août 2015 à 21:35, par Vincent En réponse à : Nettoyer la médiathèque

    Bonjour,

    Plug-in super utile quand, comment moi, on a un site qui n’a pas connu une petit ménage depuis 2005…
    Malheureusement, ça ne marche pas chez moi :
    SPIP 3.0.19 ;
    Nettoyer la médiathèque 0.11.1 ;
    Saisies 2.2.1 ;
    Le tout hébergé chez Free.
    La seule chose qui fonctionne est le décompte en base de données (voir PJ) : un idée ?
    Merci en tout cas.
    Vincent

    PNG - 244.8 ko
    • Le 5 août 2015 à 19:26, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Bonjour,

      Avez-vous un message d’alerte dans les logs ?
      L’hébergement chez Free étant un peu particulier, il faudrait activer les logs pour que je puisse en savoir plus sur le problème.

      Teddy

    • Le 5 août 2015 à 20:01, par Vincent En réponse à : Nettoyer la médiathèque

      Bonjour,

      Merci pour cette réponse, mais je n’ai aucune idée de ce que sont ces logs et comment les activer…
       :-(

      Vincent

    • Le 5 août 2015 à 20:06, par Teddy Payet En réponse à : Nettoyer la médiathèque

      D’accord.

      On va commencer par le début. Comment avez-vous ajouté cette variable personnalisée sur votre site ?

    • Le 5 août 2015 à 20:26, par Vincent En réponse à : Nettoyer la médiathèque

       :-) Je ne suis pas sûr de comprendre cette question… mais je crois avoir compris la précédente : on parle des logs qui sont dans /temp/log/ ?
      spip.log et mysql.log sont pleins de « Pub:ERREUR : Table ’monsite.spip_visites_temp’ doesn’t exist - SELECT COUNT(DISTINCT ip) AS visites FROM `monsite`.spip_visites_temp »

    • Le 5 août 2015 à 20:38, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Pardon… Je me suis mélangé dans les « forums ». Ce que je voulais dire était :
      Comment avez-vous installé le plugin ?

      Et oui, les logs se trouvent dans tmp/log/ en SPIP 3.x. Il semble que vous ayez accès par ftp à votre site.
      Donc, en suivant cet article, http://www.spip.net/fr_article4453.html ajoutez les lignes suivantes dans votre fichier config/mes_options.php :

      1. $GLOBALS['taille_des_logs'] = 500;
      2. define('_MAX_LOG', 500000);
      3. define('_LOG_FILELINE',true);
      4. define('_LOG_FILTRE_GRAVITE',8);
      5. define('_DEBUG_AUTORISER', true);
      6. define('_DEBUG_SLOW_QUERIES', true);

      Télécharger

      Puis, aller dans l’espace privé, survoler sur « Maintenance », cliquer sur « Liste des travaux ».
      Rechercher « medias_deplacer_obsoletes » et cliquer sur « Exécuter maintenant ».
      Laisser faire… Puis regarder dans tmp/log/ le fichier medias_nettoyage.log et me dire ce qui s’y passe.
      S’il n’existe pas, c’est que le problème vient d’ailleurs…

    • Le 5 août 2015 à 20:55, par Vincent En réponse à : Nettoyer la médiathèque

      Merci !

      Alors arrivé à l’étape « Exécuter maintenant » , j’ai ce message d’erreur :
      Fatal error : Call to undefined function date_format() in /mnt/111/sdb/f/9/monsite/plugins/auto/medias_nettoyage_v0/genie/medias_deplacer_obsoletes.php on line 60

      Et vérification faite, je n’ai pas de fichier medias_nettoyage.log dans tmp/log/
      C’est grave docteur ?

    • Le 5 août 2015 à 20:57, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Je crois avoir trouvé… Chez Free, la fonction PHP glob est désactivée. De ce fait, le plugin medias_nettoyage ne peut fonctionner chez Free.fr en l’état actuel.
      cf. http://www.developpez.net/forums/d1103965/php/langage/fonctions/remplacer-fonction-glob-chez-free/

    • Le 5 août 2015 à 21:02, par Vincent En réponse à : Nettoyer la médiathèque

      Arghh. Dommage, dommage.
      Merci en tout cas pour cette aide, c’est vraiment très gentil.
      Espérons pour le futur. ;-)
      Bonne continuation.
      Vincent

    Répondre à ce message

  • Le 1er juin 2015 à 10:14, par Vince En réponse à : Nettoyer la médiathèque

    Quand j’essaie d’activer le plug-in, j’ai ce message d’erreur :
    « • Le plugin Nettoyer la médiathèque dépend de SAISIES [1.20. ;] »

    Une idée ?
    Sous spip 3.0 (PHP Version 5.1.3RC4-dev)
    Merci ! (ce plug-in est une idée géniale !)

    • Le 1er juin 2015 à 10:16, par Maïeul En réponse à : Nettoyer la médiathèque

      installer et activer aussi le plugin saisies.

    • Le 1er juin 2015 à 10:16, par Vince En réponse à : Nettoyer la médiathèque

      Zut, dans mon copier-coller, le début a sauté, et ça commençait par :

      « Bonjour !
      Chouette plug-in, mais… je n’arrive pas à l’installer. »
       :-)

    • Le 1er juin 2015 à 10:24, par Vince En réponse à : Nettoyer la médiathèque

      Ah, ah, ah… :-)
      Bah oui, merci, suis-je bête, c’était assez clair.
      Et ça marche effectivement avec le pug-in Saisies installé.
      Merci !

    • Le 1er juin 2015 à 10:27, par Maïeul En réponse à : Nettoyer la médiathèque

      note que si tu utilise le système d’installation automatique des plugins de SPIP 3.0, il t’installe aussi les dépendances automatiquement.

    • Le 1er juin 2015 à 12:52, par Vince En réponse à : Nettoyer la médiathèque

      Merci, j’aimerai bien, mais hébergé par Free, la fonction « Ajouter un dépôt » ne marche pas, hélas.

    Répondre à ce message

  • Le 13 novembre 2014 à 17:07, par mrskater En réponse à : Nettoyer la médiathèque

    Bonjour Teddy !
    ton plugin a l’air super mais il ne marche pas chez moi. L’installation se pas bien j’ai accès au tableau de bord, les fichiers orphelins sont bien dénombrés mais ils ne sont pas déplacés dans le dossier « orphelins ». J’ai vérifié les droits en écriture du dossier... spip est à jour.
    As-tu une idée d’où peut venir le problème ? Est-ce qu’il y a des conflits avec d’autres plugins ?

    Merci par avance.
    Mathieu.

    • Le 13 novembre 2014 à 17:20, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Bonjour,

      Merci. ;-)

      Quelle est la version du plugin ? Et SPIP ? PHP ?
      Le plugin fonctionne par CRON. Si tu ne l’as pas configuré (cf. http://example.org/ecrire/?exec=configurer_medias_nettoyage), on est dans la tranche horaire par défaut.
      En soit, la mécanique de rangement se lancera normalement entre 00h et 06h du matin. C’est pour éviter d’éventuels ralentissements. Donc en soit, le rangement n’est pas immédiat après activation.

      Essaies d’augmenter tes logs pendant 1 jour ou 2 pour voir ce qu’il se passe. cf. http://www.spip.net/fr_article4453.html

      <?php
      define('_LOG_FILELINE',true);
      define('_LOG_FILTRE_GRAVITE',8);
      ?>

      Tu pourrais avoir plus d’infos à partir de là sur ce qui se passe.

    • Le 3 décembre 2014 à 12:41, par mrskater En réponse à : Nettoyer la médiathèque

      Sur un des deux sites ça fonctionne après avoir passé la fréquence à « Régulièrement dans la journée ». Pour l’autre je penche pour un problème de mémoire insuffisante. Je checke ça avec l’hébergeur.

      Merci Teddy !

    Répondre à ce message

  • Le 6 juin 2014 à 22:59, par DD En réponse à : Nettoyer la médiathèque

    Super plugin qui fait gagner des megas d’espace.

    La page exec=medias_logos_img liste tous les logos (orphelins ou non).
    Y a-t-il une méthode pour supprimer les orphelins ?

    Merci
    dd

    • Le 9 juin 2014 à 18:45, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Bonjour,

      J’ai rajouté en bas de l’article une TODO qui prend en compte la suppression des fichiers depuis l’espace privé. Mais initialement, pour supprimer un ou plusieurs fichiers/répertoires, il faut passer par le ftp. Ainsi, on est bien sûr que c’est le choix du webmestre et pas une erreur manipulation (ou presque).

      Par la suite, je vais rajouter un contrôle sur les logos. Si l’objet n’existe plus, alors il n’y a pas de raison pour que le logo dudit objet soit encore sur le serveur.

    • Le 15 juin 2014 à 01:48, par DD En réponse à : Nettoyer la médiathèque

      Hello,
      Je n’avais pas vu que les administrateurs non webmestres pouvaient accéder au tableau de bord des documents.

      Sinon maintenant je vois bien un bouton « supprimer le document » dans le tableau mais le lien est :
      /ecrire/ ?exec=medias_rep_orphelins&action=supprimer_orphelins&arg=../IMG/orphelins/arton104.jpg&hash=ef86e5510c0e1074fca5461fca6&redirect=.%2F%3Fexec%3Dmedias_rep_orphelins%26amp%3Bvar_mode%3Drecalcul

      et la réponse est :

      Erreur...
      Fichier supprimer_orphelins introuvable

      dd

    • Le 15 juin 2014 à 18:44, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Bonjour,

      Un gros oups pour la fonction ! Je n’avais pas commité le fichier php de la fonction de suppression. C’est corrigé en 0.9.10 cf. commit 83070

      Pour l’accès au tableau de bord, oui c’est un choix que j’ai fait pour prendre en compte ce contexte : quelqu’un (un prestataire ou un ami) installe le site pour une association et est donc le webmestre. Les responsables de l’association ne veulent pas avoir de compte webmestre pour éviter toutes erreurs (suppression de la base, etc.). Ils auront alors un statut d’administrateur. Ils sont responsables du contenu éditorial (donc des fichiers orphelins). C’est à eux de décider si un fichier doit être supprimé ou pas.

      Merci pour tes retours.

    • Le 16 juin 2014 à 14:11, par DD En réponse à : Nettoyer la médiathèque

      Bonjour,

      C’est nickel ! Merci beaucoup

      Il me semble (mais je n’en suis pas encore sûre à 100%) que le logo standard des rubriques (nom de fichier rubon0.jpg) est nettoyé et mis dans les orphelins car cela fait 2 jours que je le remets sur un site et qu’il disparaît.
      dd

    • Le 16 juin 2014 à 15:18, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Bonjour,

      Ah oui, j’avais oublié ce logo là ! Je vais le corriger de suite !

    • Le 16 juin 2014 à 15:27, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Et voilà réglé avec le commit 83088
      L’archive devrait être prête à 16h normalement.

    Répondre à ce message

  • Le 6 juin 2014 à 00:41, par JLuc En réponse à : Nettoyer la médiathèque

    Hmmm J’ai installé le plugin sur un SPIP 2.1.26 sur un hébergé avec PHP Version 5.3.18 et si l’installation se passe bien, la configuration est problématique puisque le SELECT pour choisir les plages horaires ne contient aucune option (et il n’y a pas non plus de Oui/Non ou de checkbox ou de radiobutton pour répondre à la question « Désirez-vous que le nettoyage se fasse à tout moment de la journée ? Ou juste dans une tranche horaire pour ne pas pénaliser les performances du site ? »)

    Par ailleurs j’ai dans la page ?exec=medias_tabbord une tripotée d’erreurs du type :

    Warning: Invalid argument supplied for foreach() in /home/domaine/www/plugins/auto/medias_nettoyage_v0/medias_nettoyage_fonctions.php on line 228 (une seule fois)

    et

    Warning: array_merge(): Argument #1 is not an array in /home/domaine/www/plugins/auto/medias_nettoyage_v0/medias_nettoyage_fonctions.php on line 426
    (plein de fois, autant que de documents peut être)

    Le tableau en bas de cette page affiche des chiffres pour « en BDD » et « Répertoire IMG » mais n’affiche que des 0 partout dans « Les logos dans /IMG » (et dans IMG/orphelins, mais ça c’est peut être normal pour l’instant)

    C’est un peu pareil pour la page ?exec=medias_logos_img&mode=off
    qui affiche une tripotée de :
    Warning: array_merge(): Argument #2 is not an array in /home/domaine/www/plugins/auto/medias_nettoyage_v0/medias_nettoyage_fonctions.php on line 426

    et ensuite une fois : Warning: Invalid argument supplied for foreach() in /home/domaine/www/plugins/auto/medias_nettoyage_v0/medias_nettoyage_fonctions.php on line 429

    Mais ?exec=medias_logos_img&mode=on s’affiche correctement, encore qu’il n’y ait que 10 documents, et pas de pagination pour voir les autres

    • Le 6 juin 2014 à 15:43, par JLuc En réponse à : Nettoyer la médiathèque

      On dirait que c’est lié à « glob » « Recherche des chemins qui vérifient un masque », qui est défini pour PHP 4 >= 4.3.0 et PHP 5, et qui ne renverrait pas un résultat utilisable, mais glob marche bien ailleurs quand je le teste :

      foreach (glob("*.*") as $filename)    echo "$filename occupe " . filesize($filename) . "<br>";

    • Le 6 juin 2014 à 15:55, par JLuc En réponse à : Nettoyer la médiathèque

      Hmm it could be because of https://bugs.php.net/bug.php?id=47358 :

      If you have open_basedir set in php.ini to limit which files php can execute, glob(...) will return false when there are no matching files. If open_basedir is not set, the very same code will return an empty array in the same situation.

      En conséquence

      glob() cant be used directly in foreach when open_basedir is set.

      Apparemment ça été corrigé dans les php > 5.4 mais je ne suis pas certain de ma compréhension du suivi du bug.

      Je crois qu’il faut tester si glob() retourne false, et dans ce cas faire explicitement un = array() pour pallier à ce problème.

    • Le 6 juin 2014 à 15:57, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Hello,

      Je ne rencontre aucun problème avec un SPIP 2.1.26 vierge, sans IMG, ni sur une autre instance avec des IMG. Toutes deux testés avec un PHP 5.1.6 et 5.5.10.

      Toutefois, je vais mettre une sécu sur les foreach. Je commit ça dans pas très longtemps.

    • Le 6 juin 2014 à 16:18, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Voilà, le commit 82881 devrait régler le problème.

    • Le 6 juin 2014 à 16:25, par JLuc En réponse à : Nettoyer la médiathèque

      Ah ok. J’allais te proposer http://spip.pastebin.fr/36086 qui règle le pb avec des if (!$fichiers) $fichiers = array(); après chaque glob (et un avec $repertoires et un avec $liste), et qui résoud bien le pb des erreurs en pagaille. Mais il n’y a toujours pas de pagination sur les affichages de logo.

      Par contre, le pb du SELECT vide reste là, et je remarque qu’il y a 2 appels à glob AUSSI dans iterateurs, en ligne 513 et 540 de data.php , alors ce pourrait être eux...

    • Le 6 juin 2014 à 16:31, par JLuc En réponse à : Nettoyer la médiathèque

      Bon dans le iterateur/data.php de itérateur, la version à jour est OK car le test est bien fait comme il faut : une fonction glob_to_array a justement été créée pour être sur de disposer d’un array. Comme media_nettoyage nécessite iterateur, il pourrait directement utiliser cette fonction glob_to_array.

      (Reste les autres pbs que je rencontre.)

    • Le 6 juin 2014 à 22:16, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Hello,

      Pour ce besoin, je ne pense pas que la fonction glob_to_array d’Itérateurs soit utile pour nous. Surtout que là, j’ai mis une « sécu » pour qu’on agisse que si on a bien un tableau. Je vais mettre cette double vérification avant un foreach

      1. if (is_array($montableau) and count($montableau) > 0) {
      2. foreach ($montableau as $mavaleur) {
      3. # blabla
      4. }
      5. }

      Télécharger

      Comme ça on est tranquille

    • Le 10 juin 2014 à 14:12, par JLuc En réponse à : Nettoyer la médiathèque

      En utilisant glob_to_array () la place de glob, il n’y avait pas besoin d’autres précautions (puisqu’un tableau vide est un cas particulier « normal » de tableau,sans problème pour les boucles merges et autres opérations sur les tableaux), et la lecture était allégée. Mais bon c’est comme tu veux :-)

    • Le 11 juin 2014 à 07:41, par Teddy Payet En réponse à : Nettoyer la médiathèque

      Hello,

      Ce n’est pas faux… Faut que je regarde pour son intégration tout de même par la suite. Ça ne mange pas de pain.

    Répondre à ce message

  • Le 6 juin 2014 à 22:18, par Teddy Payet En réponse à : Nettoyer la médiathèque

    Bonjour Ysabeau,

    J’ai intégré tes suggestions dans le plugin :
    -  http://zone.spip.org/trac/spip-zone/changeset/82886

    Répondre à ce message

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Métas +

    3 décembre – 12 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

  • Acces Restreint 3.0

    11 décembre 2008 – 785 commentaires

    Le plugin accès restreint permet de définir et de gérer des zones de l’espace public en accès restreint. Cette version du plugin a été redévelopée et optimisée tout spécialement pour SPIP 2.0. Il en découle une amélioration des performances sur les gros (...)

  • Compositions 2 et 3

    25 mars 2011 – 176 commentaires

    Ce plugin vous permet de définir plusieurs variantes de squelettes (nommées compositions) pour un même type d’objet SPIP. Dans l’espace privé, il est alors possible de choisir, dans un menu déroulant, la composition qu’on veut attribuer à chaque (...)

  • Configurer Sparkpost

    25 avril – 18 commentaires

    N’hésitez pas à relire le préambule de cette rubrique avant de créer un compte sur une plateforme tierce . Présentation Sparkpost est une société d’envoi de mailing https://www.sparkpost.com/ Sur les petits volumes ( <100.000 emails / mois), (...)

  • Mode portail Communiquant pour SoyezCréateurs

    29 septembre 2010 – 21 commentaires

    5e mode d’affichage de la page d’accueil, ce mode se distingue des autres par une animation proposant un fondu/enchaîné des logos des articles à la une. Zonage Configuration Zone d’entête Nom du site Slogan si plugin bandeau présent (...)

Ça spipe par là