Utilisation de PharData et Guzzle (à la place de PclZip et recuperer_page)
Voilà une nouvelle version qui va corriger des bugs, et en amener des nouveaux ! C’est ça la joie profonde :)
Guzzle
On utilise Guzzle à la place de recuperer_page(), ce qui ne change pas directement grand chose en perf, par contre, il utilise CURL par défaut, ce qui fait que ça permet de récupérer des contenus qui n’étaient probablement pas possible sur certains hébergements.
Et comme ça va aussi avec son lot de soucis, il arrive que CURL soit installé sur les machines (tel que Windows) mais que le certificat pour gérer les connexions HTTPS ne soient pas trouvé / à jour, ce qui amène à des erreurs du genre :
cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
cURL error 60: SSL certificate problem: certificate has expired (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)
J’espère que c’est juste en local / windows / ...
Suppression de PclZip
On utilise \PharData
à la place… après tout… on est déjà dans un phar, \PharData
sait lire des zip… et est toujours présent même si \ZipArchive
lui n’est pas là. Le monde de PHP étant formidable de diversité… hum.
Toujours est-il qu’il semble que PharData fonctionne très rapidement dès que libzip est présent sur le PHP, et moins rapidement (mais fonctionne) sinon.
Dans tous les cas ça reste largement plus rapide que le vieux PclZip, du moins dans ce que j’ai pu voir.
A priori on arrive à tout décompresser au bon endroit (ie: sur le SPIP) en 1 passe et sans timeout.
Décoration
On passe à un spinner, à la place de la progressbar, car il n’y a plus que 3 étapes, et même possiblement on pourrait réduire vu que l’ensemble va assez vite quand même, environ 1/3 de temps téléchargement, décompression, nettoyage chacun sur un hébergement, et sinon c’est essentiellement le téléchargement qui prend du temps en local.