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 :
- 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.
- 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
- 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 :
- Le responsable du site doit avoir la main sur le déclenchement. (charge serveur)
- Il doit pouvoir identifier les éléments « extérieurs » à la page, images et css par exemple et les charger également.
- 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.
- J’ai rencontré quelques soucis pour enregistrer des images téléchargées à distance ;-))
- Enfin, les responsables de sites en général et les hébergeurs en particuliers n’aiment pas beaucoup les aspirateurs.
Futur :
- 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 ;-))
- Il devrait pouvoir être couplé à l’authentification SPIP.
- 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.
- 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
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Suivre les commentaires : |