SPIP-Contrib

SPIP-Contrib

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

289 Plugins, 197 contribs sur SPIP-Zone, 76 visiteurs en ce moment

Accueil > Administration et BDD > Import-Export > Archives Import-Export > Compress

Compress

31 décembre 2002 – par JB – commentaires

0 vote

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Compress est une archive comprenant un squelette SPIP et deux classes de compression issues de PHPConcept.

Le but de ce squelette est de fournir une archive téléchargeable de TOUT un secteur. A l’appel de la page, on obtient un formulaire demandant le choix de compression et le secteur concerné. Une fois la compression effectuée, le fichier est proposé au téléchargement.

Le README

Installation :

Une fois l’archive décompressée, la structure des fichiers est la suivante :

-  / Racine du site SPIP
-  /compress.php Script php
-  /compress.html Squelette (c’est lui qui fera tout le boulot)
-  /compress Répertoire temporaire pour les pages HTML
-  /ressources Répertoire de stockage
-  /ressources/phpzlib Répertoire de la classe Zip
-  /ressources/phpzlib/pclzip.lib.php Classe de compression Zip
-  /ressources/phpzlib/pclerror.lib.php Classe de gestion d’erreurs
-  /ressources/phpzlib/pcltrace.lib.php Classe de traçage des opérations
-  /ressources/phpzlib/gnu-lgpl.txt License GNU-LGPL
-  /ressources/phptarlib Répertoire des fonctions tar
-  /ressources/phptarlib/pcltar.lib.php Script de fonctions de compression tar
-  /ressources/phptarlib/pclerror.lib.php Classe de gestion d’erreurs
-  /ressources/phptarlib/pcltrace.lib.php Classe de traçage des opérations

Copier les fichiers à la racine du site SPIP.

Configuration :

Par défaut, les pages aspirées sont enregistrées dans le répertoire compress.
Par défaut la classe phpzlib se trouve dans ressources/phpzlib, les fonctions phptarlib dans /ressources/phptarlib

Vous pouvez paramétrer les chemins et/ou nom du fichier archive.

Utilisation :

Au premier appel de la page, on obtient un formulaire demandant le type de compression (zip ou tar.gz) et le secteur concerné.
On peut l’appeler « en direct » sous la forme : compress.php ?format=xxx&id_rubrique=yy ou xxx peut être égal à zip ou tar et yy représente l’id_rubrique.

Au secours ?? : Jean-Baptiste


Crédits :
Merci à Vincent Blavet pour son autorisation d’utiliser ses classes de compression
License GNU/LGPL - Vincent Blavet - September 2002
PHPConcept

Merci aux développeurs de SPIP, pour ce formidable outils ;-))


Le but initial du projet était de pouvoir télécharger la doc spip facilement (http://www.uzine.net/spip/).

Devant le problème pour récupérer la liste des rubriques et articles dépendants de la fameuse rubrique 91, j’ai donc décidé de faire un petit outil à la disposition des Spipeurs, en espérant qu’il soit utilisé ;-))

La problématique :
Pourvoir récupérer 1 ou plusieurs pages tirées d’un site SPIP, les compresser et les proposer au téléchargement.

Fonctionnalités par défaut :

  1. Le script, via les boucles SPIP va récupérer tous les articles et rubriques dépendant d’un secteur à la façon d’un plan. Les pages sont enregistrées temporairement avant création de l’archive.
  2. Les fichiers « externes » aux pages sont enregistrés également. Par l’analyse des pages sur les critères href, src et background, on récupère : images, fichiers .css et fichiers .js
  3. Une fois l’analyse effectuée, on crée l’archive, on enregistre les pages HTML et les fichiers associés.

Contraintes :
Le script ne doit agir qu’en local, et ce pour plusieurs raisons :

  1. Le responsable du site doit avoir la main sur le déclenchement. (charge serveur)
  2. Il doit pouvoir identifier les éléments « extérieurs » à la page, images et css par exemple et les charger également.
  3. Le format des URL doit AU MINIMUM être du « type SPIP html ». In extenso, on ne pourra pas utiliser ce script en l’état avec les urls standards. Le symbole ? n’est pas valable dans un nom de fichier.
  4. J’ai rencontré quelques soucis pour enregistrer des images téléchargées à distance ;-))
  5. Enfin, les responsables de sites en général et les hébergeurs en particuliers n’aiment pas beaucoup les aspirateurs.

Futur :

  1. Vérifier les différentes façon de faire appel à un fichier externe dans une page HTML. Le but est de rendre le script encore plus universel ;-))
  2. Il devrait pouvoir être couplé à l’authentification SPIP.
  3. Se débarrasser de l’option « allow_call_time_pass_reference = On » imposée par la structure de la classe zip et visiblement tombée en désuétude pour PHP.
  4. Intégration des formats d’adresses de SPIP autre que HTML ?

Comme toute page SPIP, ce package est composé du célèbre couple de fichier .php/.html.
La compression est effectuée à partir :
-  d’une classe (phpzlib) pour la compression .zip
-  d’un ensemble de focntions (phptarlib) pour la compression tar
Ce fichiers sont issus de PHPConcept.
Tout ceci est basé sur la classe pclzip dans sa version 1.1.2 dont la license est du type GNU-LGPL

Dernière modification de cette page le 11 février 2007

Retour en haut de la page

Vos commentaires

  • Le 15 février 2004 à 01:35, par stef En réponse à : > Compress

    Si j’ai bien compris, cet outil permet de compresser un secteur, en conservant la structure SPIP, soit les couples squelettes/PHP.
    J’ai une question : est-il possible de compresser un secteur (ou mieux tout un site) en STATIQUE. Exemple : transférer un SPIP sur un CDROM, sans obliger l’utilisateur à installer un serveur PHP, Mysql, restaurer la base, etc... Je pense que ce type d’outil serait bien utile, et quelqun l’a déjà construit (j’ai pas trouvé....). J’imagine aussi que ça doit être compliqué à monter (aspiration des couples PHP/HTML -> 1 page HTML, réécriture des liens, etc.)
    Merci de m’orienter...

    • Le 18 février 2004 à 00:10, par Jean Baptiste En réponse à : > Compress

      Bon, reprenons ;-)

      Le but est exactement de pouvoir exporter un site SPIP sur un CD-ROM, donc en statique.
      Une autre utilisation pourrait être de proposer le contenu statique tout en gardant la facilité de production de contenu offerte par SPIP.

      L’utilisation de cette « contrib » permet justement de récupérer (comme un aspirateur de site) le site en entier au format HTML pur.

      Voilà.

    • Le 13 mars 2004 à 19:10, par ? En réponse à : > Compress

      comment cela marche t’il ?

    Répondre à ce message

  • Le 31 décembre 2002 à 14:38, par walk@altern.org ET NON ifrance En réponse à : php ou php3 ?

    Au départ j’ai eu une page blanche. J’ai mis inc-public.php3 au lieu de .php dans compress.php et là je bloque sur les erreurs :

    Warning : Failed opening ’header.php’ for inclusion (include_path=’. :/data/apache/php/mmp_lib’) in webgeneraction-compress.18f319 on line 20

    Warning : Failed opening ’footer.php’ for inclusion (include_path=’. :/data/apache/php/mmp_lib’) in webgeneraction-compress.18f319 on line 57

    Peut-être à cause des extensions php des autres fichiers ?

    Comment éviter ces blocages stp ?

    Répondre à ce message

  • Le 19 décembre 2002 à 01:07, par DoriaN En réponse à : elle est ou l’archive ?

    un p’tit document joint serait utile, j’ai pas trouvé sur votre site phpconcept (mais j’ai ps cherché longtemps)

    Répondre à ce message

Répondre à cet article

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

  • ORR v2

    21 mai 2013 – 105 commentaires

    ORR, le plugin d’Organisation des Réservations et des Ressources passe en version 2, avec quelques nouveautés attendues. Je ne reprendrai pas les explications données dans la version 1. Les nouveautés : 1. Gestion des autorisations Le principe (...)

  • Speedsyndic pour SPIP 2 et SPIP 3

    11 octobre 2010 – 32 commentaires

    Ce plugin est une version compatible spip 2.0.x / 2.1 / 3.1 du plugin Speedsyndic Note : Une bonne partie du texte ci-dessous a été pompé de cet article, expliquant la version précédente du plugin. je n’ai fait qu’adapter le code pour spip 2, ajouter (...)

  • Personnalisation graphique du squelette SoyezCréateurs

    19 août 2009 – 110 commentaires

    Il est possible de personnaliser l’affichage du squelette SoyezCréateurs de manière plus ou moins profonde. Changement dans les couleurs via CFG La page de CFG des couleurs de SoyezCreateurs : ecrire/ ?exec=cfg&cfg=soyezcreateurs_couleurs (...)

  • Visualiser un PDF dans un article

    13 juin – commentaires

    SoyezCréateurs utilise un modèle pour afficher un PDF dans e corps d’un article Un peu d’histoire Avant, les navigateurs n’incluaient pas de lecteur PDF nativement ce qui avait conduit à la création du plugin Lecteur pdf javascript pdf.js. Mais, (...)