[Plugin] kzUploader Téléversez plugins et thèmes sur le serveur

bazooka07bazooka07 PluXml Lead Developer, Moderator
septembre 2017 modifié dans Plugins
Bonjour,

PluXml n'a rien prévu pour installer proprement un plugin ou un thème sur le serveur Internet 8.(

Si le serveur est à portée de main sur votre PC ou sur votre réseau local, vous utilisez votre explorateur de fichiers pour installer plugins et thèmes dans les dossiers adéquats.
Avec le risque de ne pas mettre les bons droits en écriture pour le dossier du plugin ou du thème. Du coup tout ajout d'un élément dans le dossier du plugin par lui-même ou toute modification du thème, en particulier correction d'une règle CSS, se trouvent vouer à l'échec. Pas cool.

Si le serveur est dans les nuages ou perdu sur le net, il vous un client FTP. Pas évident pour un newbie à choisir le logiciel et à le paramétrer. Surtout si une tierce personne lui a installé son PluXml chez un hébergeur.

Le problème se pose également si vous utilisez Docker. Et ça se complique si l'image est basée sur Alpine-Linux et que vous êtes sur Ubuntu. ( Pas le même UID pour le profil de Apache et www-data).

Et point de salut du côté de PluXml sauf si vous installez ce plugin :D

Il ne fait que rajouter un formulaire un formulaire à la liste des plugins inactiifs et des thèmes pour uploader, en français téléverser, une archive Zip sur le serveur et la déplier au bon emploi.

Beaucoup de gens "downloadent" à tort et travers !
download est l'opération qui consiste à transférer un ou des fichiers depuis un serveur vers son PC. En français, on dit télécharger
Upload est l'opération qui consiste à envvoyer un ou des fichiers depuis son PC vers un serveur. En français, on dit téléverser. Envoyer serait plus approprié, AMHA

Télécharger la dernière version de ce magnifique plugin

[list=*]
[*]2017-09-04: version 1.1.1 - prise en compte archives tar.gz et fichiers multiples - mise à jour feuille CSS[/*]
[*]2017-07-08: version 1.0.3 - tests renforcés en écriture des dossiers plugins et themes - Testé chez Free.fr et OVH mutualisé[/*]
[*]2017-07-07: version 1.0.2 -fixed pour try{} catch() {} finally [} [/*]
[*]2017-07-05: version 1.0.1 - ajout des langues occitan (contrib de Rubén) et anglais - Fix mineur pour variable $lang dans hook AdminPrepend[/*]
[*]2017-07-04: version 1.0.0 - 1ère version (testé sous PluXml5.6 / Ubuntu 16.10 / Apache)[/*]
[/list]

Voir copie d'écran

Réponses

  • Salut !
    Voici oc.php pour le dossier lang :
    [== PHP ==]
    <?php
    $LANG = array(
    	'L_NEW_PLUGIN'				=> 'Nòva extension',
    	'L_NEW_THEMA'				=> 'Nòu tèma',
    	'L_UPLOAD'					=> 'Mandar',
    	'L_INVALIDATE_ZIP'			=> 'Archiu Zip invalid. Deu conténer solament un dorsièr.',
    	'L_PLUGIN_ALREADY_EXISTS'	=> 'Una extension amb lo meteis nom existís ja',
    	'L_THEMA_ALREADY_EXISTS'	=> 'Un tèma amb lo meteis nom existís ja',
    	'L_MISSING_LIBRARY'			=> 'Bibliotèca ZipArchive mancanta',
    	'L_UNWRITABLE_FOLDER'		=> 'Lo dorsièr %s es pas accessible en escritura.'
    );
    ?>
    

    Ligne 8 il y a une virgule en trop je crois dans le fichier fr.php
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
  • ça m'a l'air sympa et je vais prendre le temps de tester ce plugin.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    juillet 2017 modifié
    Bonne idée :D
    Dans la foulée, pousse jusqu'à mon dépôt. On a refait la vitrine depuis 2015. ;)
  • Bonjour, :)

    L'essayer, c'est l'adopter.

    Génieux y gracias ! ;)
  • Salut Bazooka, :)

    Pas que ça me dérange parce que ce serveur n'est qu'un espace de tests, mais je te signale un code d'erreur alors que je viens de transférer un site de O2swich chez Alwaysdata
    [== Indéfini ==]
    Parse error: syntax error, unexpected T_STRING, expecting T_CATCH in /home/webjack/www/plugins/kzUploader/kzUploader.php on line 162
    

    Je ne sais pas si c'est une question de paramétrage serveur ou un truc qui n'est pas passé lors du transfert.

    L'url du site est *ttp://webjack.alwaysdata.net/
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    @jack31,

    Tu peux me donner la version PHP de ton serveur.
    J'ai fait des tests sans souci avec PHP7.0 et PHP7.1.

    D'après Google, l'instruction try .. finally pose problème.

    Confirme-moi que tu es sous PluXml 5.6
  • Yes,

    PluXml version 5.6 (encodage UTF-8)

    Version de PHP : 5.5.38
    Apache

    Phpinfo: *ttp://webjack.alwaysdata.net/phpinfo.php
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    juillet 2017 modifié
    Phpinfo affiche "PHP Version 5.3.29"
    Je n'ai plus cette version en stock

    La plus ancienne version maintenue encore par php.net est la 5.6.30
    Ton hébergeur doit avoir fait des mises de Php. Tu dois certainement avoir une option à ajuster pour ton hébergement.

    Je ferai un essai demain avec PHP 5.6 sur Debian Jessie.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    @jack31,

    J'ai modifié le plugin mais je n'ai pas de PHP 5.3 installé.
    Télécharge la version 1.0.2 et dis moi si cela passe.
  • Cela raconte...

    [== Indéfini ==]
    Parse error: syntax error, unexpected '{' in /home/webjack/www/plugins/kzUploader/kzUploader.php on line 164
    

    Ce qui est marrant, c’est que Pluxml dit Version de PHP : 5.5.38 et phpinfo PHP Version 5.3.29

    Je ne sais pas quel est ce mystère.

    Sur ce serveur, j'ai la possibilité de modifier PHP de 4.4.9 jusqu'à 7.1.0

    Tu veux que le les essaye tous pour voir ?
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    juillet 2017 modifié
    Après investigation, les exceptions sont apparues avec PHP5 en 2004.
    Et les blocs try {} finally{} avec PHP 5.5 fin 2012
    PHP 4 a continu à être maintenu jusqu'en 2008.

    Donc normal que cela plante avec PHP 5.3

    Fais un essai avec PHP 5.6.31. Les versions précédentes ne sont plus maintenues.

    Pour la différente de versions, je pense que ton hébergeur a recompilé une version PHP personnalisée et s'est pris les pieds dans le tapis.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    juillet 2017 modifié
    Petite mise à jour vers la version 1.0.3 :
    [list=*]
    [*]Suppression de l'utilisation de chmod() ( interdit chez Free.fr )[/*]
    [*]Contrôle plus strict sur les droits en écriture des dossiers pugins et themes[/*]
    [/list]

    Testé chez
    [list=*]
    [*]Free.fr[/*]
    [*]Ovh mutualisé offre perso 2014[/*]
    [/list]
  • YannicYannic Member
    juillet 2017 modifié
    Salut superbe idée, et bravo car cela manque à PluXml.

    Aussi une évolution serais de pouvoir aussi entrer une url.zip exemple: https://github.com/Pluxopolis/plxMyContact/archive/master.zip cela éviterais de devoir le télécharger le fichier pour le téléverser à nouveau.

    Merci.

    Buster/NGINX/PHP7/PluXml5.8

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    @Yannic,

    Merci pour le retour.

    Pour ta suggestion, j'y ai pensé au début mais cela pose quelques soucis :
    [list=*]
    [*]il faut ajouter un champ text au formulaire pour saisir une URL avec une erreur humaine possible[/*]
    [*]l'URL peut ne plus exister pour de multiples raisons: changement numéro de version dans l'url, changement d'hébergeur, ... Ceci induit de faire des contrôles supplémentaires[/*]
    [*]Beaucoup d'hébergeurs limitent ou interdisent l'usage de curl ou d'urls dans file_get_contents() option allow_url_fopen dans php.ini[/*]
    [*]vues les remarques ci-dessus, il vaut mieux conserver avec soi sur un PC, une clé USB, un CD, les archives zip des plugins qu'on utilise [/*]
    [/list]

    C'est donc compliqué beaucoup le plugin pour un résultat plutôt incertain.
    La preuve sur certains sites je ne peux pas savoir si j'utilise la dernière version de PluXml ( Il faudrait passer par Javascript JSONP pour résoudre ce dernier point )
    Donc, pas d'évolution dans l'immédiat.
  • YannicYannic Member
    juillet 2017 modifié
    Oh ok, il me semblais q'un simple copy de l'url du zip vers sa destination aurais suffit a ramener le fichier.zip sur le serveur

    Pas de souci, c'est déjà bien comme cela.
    Merci

    Buster/NGINX/PHP7/PluXml5.8

  • Bazooka a écrit:
    Fais un essai avec PHP 5.6.31. Les versions précédentes ne sont plus maintenues.

    Pour la différente de versions, je pense que ton hébergeur a recompilé une version PHP personnalisée et s'est pris les pieds dans le tapis.

    Yes, j'ai fais un test avec PHP 5.6.3 et ça roule.

    Si cela peut être utile à quelqu'un, savoir que cet hébergeur (Alwaysdata) autorise la personnalisation de php.ini.

    En fait, j'avais relevé le truc parce qu'en principe Pluxml fonctionne un peu partout et c'est très confortable. :)

    Encore Merci Bazooka.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Version 1.1.1
    Prise en charge des archives au format tar.gz
    Possibilité de sélectionner plusieurs plugins à la fois pour téléverser
Connectez-vous ou Inscrivez-vous pour répondre.