kzInstall2 : Installation automatisée pour PluXml

bazooka07bazooka07 PluXml Lead Developer, Moderator
Bonjour,

Il y a quelques mois, je vous ai proposé kzInstall.php, un script qui permet d'enchainer l'installation de PluXml et d'une sélection de plugins et thèmes sur un serveur distant directement depuis des serveurs présents sur Internet sans passer par votre PC pour éviter l'écueil des vitesses minables d'Upload en ADSL.

S'il fonctionnait très bien, il présentait néammoins 2 écueils :
- on ne voyait la progression de l'installation (pas de barres de progression) et on restait pendant de longues secondes devant une page noire Un peu stressant
- il n'était pas possible d'installer PluXml à la racine du serveur.

La version 2 de kzInstall apporte les 3 améliorations :
- une barre de progression est affichée pour le téléchargement de chaque fichier et est réactualisée toutes les secondes
- les téléchargements de tous les fichiers se font en parallèle dans la limite du serveur d'hébergement
- Il est possible d'installer PluXml à la racine du serveur ou dans n'importe quel dossier existant

L'utilisation de Curl doit être permise sur le serveur. En clair : si vous êtes chez Free.fr, c'est non. Donc sortez vos sous.

Pour lancer l'installation [del]téléchargez[/del] téléversez (upload) la nouvelle version de kzImage kzInstall2.php soit à la racine du serveur ou dans un dossier.
Condition nécessaire : kzInstall2.php doit être le seul fichier présent, y compris pour les fichiers cachés tels que .htaccess ou .gitignore et les dossiers.
L'installation démarre en ouvrant la page kzInstall2.php dans votre navigateur préféré.

J'ai longtemps bataillé pour afficher les barres de progression en temps réel et j'en suis arrivé à a conclusion qu'il ne fallait pas mettre PHP sur le coup à cause des différents caches qu'il faut traverser depuis le serveur et jusqu'au navigateur. Un journal actualisé en temps réel sur le serveur et une routine javascript qui tourne dans le navigateur permettent de résoudre le problème. Si quelqu'un a une autre solution, je suis preneur (web sockets ?)

Vous pouvez télécharger kzInstall2 à cette adresse :
https://kazimentou.fr/static8/download

J'ai mis une sélection de plugins et thèmes dans le script.
Si vous souhaitez personnaliser cette sélection, modifiez le tableau $URLS à votre convenance.
Merci de laisser le copyright en début de fichier.

N.B.: Certains serveurs n'annoncent pas la taille totale du fichier. Du coup la barre de progression reste bloquée à 25% par défaut. Par contre, on affiche le nombre d'octets téléchargés au fur et à mesure

Bon amusement ( Enjoy it )

Réponses

  • Tous les jours un peu mieux.

    Un peu plus longuet mais ça marche au poil. ;)
  • Vraiment sympa et très pratique le kzInstall. :) Je viens de tester le kzInstall.php et le kzInstall2.php en local sur mon poste de développement web.
    C'est généreux de ta part de partager un script aussi bien fait pour la communauté. C'est vraiment le genre d'outil que je peux lancer en console SSH pour installer un nouveau site rapidement. :D

    Je rêve juste d'avoir un endroit unique (soit un compte github ou le site officiel de pluxml) où l'on trouve tous les plugins et thèmes pour la dernière version et qu'on peut cocher pour l'avoir dans l'installation. Car là, chaque passionné à son site de ressources de plugins et il faut aller y piocher.

    Connais-tu composer ?
    https://getcomposer.org/
    Le principe est le même que le script d'installation, composer contient de nombreux projets PHP que l'on peut installer en une commande sur son hébergement en mode SSH.
    Tu peux voir la liste des projets disponible ici :
    https://packagist.org/
    Cela va de la librairie jQuery au datepicker en passant par des frameworks comme symfony, laravel ou autre.

    Par exemple, une fois composer installé, en une commande on peut installer la dernière version de jQuery et l'utiliser dans son projet web.
    composer require components/jquery
    

    Après quelques temps pour mettre à jour ses librairies on fait :
    composer update
    

    Et tout se met à jour automatiquement.
    Dans l'idéal se serait génial d'avoir pluxml dans ce dépot packagist. O:)
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    mai 2018 modifié
    Oui, je connais composer. C'est un gestionnaire de paquets comme nodeJS, apt, ... Il gére les dépendances entre différentes briques logicielles.

    KzInstall2 est un peu différent. C'est un installateur rapide pour PluXml ou tout autre script PHP. Plutôt de télécharger l'archive de PluXml sur son PC, de déplier l'archive et de téléverser chacun de ses scripts chez son hébergeur, on téléverse kzInstall2 chez son hébergeur qui fait l'install à ta place.
    Beaucoup d'hébergeurs proposent une installation automatique de logiciels comme Wordpress, Joomla, Prestashop. Je n'ai jamais vu PluXml proposé

    Cela a au moins 4 avantages:
    * On téléverse un script PHP encore plus léger que le poids plume PluXml
    * Cela enchaine des tâches pas forcément passionnantes
    * Cela évite d'être confronté à la vitesse lente en montée d'une liaison ADSL qui est environ 10 fois plus lente que la vitesse de téléchargement.
    * On n'a pas besoin d'une connexion SSH qui fait très souvent défaut dans un hébergement mutualisé voire gratuit (coucou free.fr)

    Pour un peu plus de confort, kzInstall2 permet d'enchainer l'installation de plugins pour faciliter l'utilisation de PluXml, les plugins pouvant provenir de différents dépôts sans se limiter au catalogue de plugins officiels.
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    juin 2018 modifié
    Petite mise à jour pour contourner le bug suivant :
    la constante GLOB_BRACE n'est pas définie pour PHP dans la distribution Alpinelinux ( [em]librairy musl au lieu de glibc[/em] )

    Alpinelinux est une distribution de plus en plus populaire pour les images Docker.

    Si vous avez un Raspberry Pi 3B qui traine au fond 'un tiroir, la version 3.8 de Alpinelinux vient de sortir et peut tourner en architecture ARM 64bits. Et ça roxe bien
  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    Mise à jour de kzInstall2.php pour télécharger la dernière version de PluXml (5.7)

    Télécharger le fichier kzInstall2.php avec un des liens ci-dessous :
    - https://kazimentou.fr/download/ZG93bmxvYWQva3pJbnN0YWxsMi5waHAqZjgxNzY3 ( Téléchargement direct )
    - https://kazimentou.fr/static8/download ( page de téléchargement )

    Envoyez le sur votre serveur et affichez le script dans votre navigateur pour démarrer l'installation de PluXml et du plugin kzUploader
    Vous pouvez installer d'autres plugins en rajoutant les urls de téléchargment dans le tableau ROOT.plugins

    La méthode est nettement plus rapide que de télécharger l'archive de PluXml, de la déplier sur votre PC et d'envoyer le dossier PluXml sur votre serveur perdu sur Internet

    Attention : Ce script fait usage de la librairie Curl. Certains hébergeurs bloquent son utilisation comme Free.fr. Ne soyez pas surpris d'un message d'avertissement
Connectez-vous ou Inscrivez-vous pour répondre.