Gestionnaire de dépôt statique pour extensions de PluXml

bazooka07bazooka07 Membres
6 janv. modifié dans Plugins
Bonjour,

Il y a 3 ans, je vous avais proposé un gestionnaire de dépôt pour les plugins à utiliser avec PluXml :
https://forum.pluxml.org/viewtopic.php?id=5274
Ce gestionnaire a été étendu pour héberger des thèmes et éventuellement d'autres choses comme des utilitaires.
Ce gestionnaire gére le dépôt de façon dynamique : il suffit d'envoyer dans les dossiers adéquats par FTP les archives zip des différentes extensions, pour qu'au prochain visiteur la page d'accueil se mette automatiquement à jour :
https://kazimentou.fr/repo/

Problème :
La contrainte principale est d'avoir un hébergement avec PHP inclus. Le protocole HTTPS est également bienvenu si on veut interroger les catalogues d'extensions depuis un autre site avec Javascript pour ne pas être bloqué par un hébergeur qui interdit la fonction curl ou l'usage de file_get_contents avec des sites distants (Coucou les dépôts hébergés par Free.fr). il y a également les contraintes de sécurité gérés par CORS. Enfin un temps de réponse court du dépôt sera apprécié par les utilisateurs de PluXml.

Solution :
C'est peu connu par les néophites mais un excellent hébergeur gratuit pour un site Internet est https://github.com. Par contre, on accepte que des sites statiques en pure HTML, CSS et Javascript. Exit PHP.

Il faut donc générer entièrement générer sur son ordinateur, avec un petit script en PHP, les catalogues des extensions pour son dépôt et les envoyer sur son compte Github avec un utilitaire éprouvé comme Git. un script Javascript s'occupera dans le navigateur d'actualiser la page d'accueil selon les choix des visiteurs. Il suffit juste d'avoir un compte gratuit chez Github et une connaissance sommaire des commandes de Git.

Voir la démo d'un dépôt :
https://bazooka07.github.io/PluXml-repo/
Et pour installer sur son ordinateur, les explications sont là :
https://github.com/bazooka07/PluXml-repo

Bon amusement

P.S. : J'ai modifié le plugin kzUploader pour intégrer ces catalogues d'extensions dans les pages plugins et thèmes de PluXml et de les installer directement si Curl est autorisé sur votre site. Dans le cas contraire, il faudra d'abord les télécharger sur votre ordinateur et utiliser ce plugin comme avant. Il gére évidemment plusieurs dépôts de votre choix (pas de collecteur-centralisateur). Le format plus simple des catalogues de mes gestionnaires de dépôts est privilégié. Mais il sera pris en compte l'ancien format qui ne traite que les plugins. C'est plus compliqué avec Javascript. J'ai encore quelques détails mineurs à régler avant publication.

Réponses

  • bazooka07bazooka07 Membres
    8 janv. modifié
    Oups ! Petite erreur dans le fichier README.md :
    Après avoir copié les archives zip de vos plugins ou thèmes dans les bons dossiers, exécuter les commandes Git suivantes pour publier sur Internet :
    [== bash ==]
    git add .
    git commit -am 'le message qui vous convient' 
    git push origin gh-pages
    
  • bazooka07bazooka07 Membres
    10 janv. modifié
    Quelques fonctionnalités supplémentaires avec cette nouvelle version :
    - Affichage sous forme de tableau de toutes les versions des extensions disponibles sur le dépôt
    - Affichage en pied de page des liens vers les catalogues au format JSON et XML + VERSION (format traditionnel)
    - Sur le site de démo, ajout du fabuleux script kzInstall2
    - une page index.html (affichage user-friendly) et une page all.html (format tableau)
    - emploi d'un input[type="checkbox"] pour basculer d'un type d'extension à un autre.

    Voir démo sur les pages Github

    Pour ceux qui ont déjà installé :
    [== bash ==]
    git pull upstream master
    git checkout gh-pages
    git merge master
    
    ....
Connectez-vous ou Inscrivez-vous pour répondre.