Gestionnaire pour dépôt de plugins
Bonjour,
Si vous recherchez un outil pour créer un catalogue ou une vitrine des plugins sur votre site,
vous pouvez voir une démo ici: https://kazimentou.fr/pluxml-plugins2/
Pour l'installer, c'est simple:
[list=*]
[*]créez sur votre serveur http://www.monsite.com un dossier, disons depot, et un sous-dossier plugins[/*]
[*]dépliez l'archive zip dans le dossier depot. vous devez avoir un fichier index.php et un autre fichier php qui fournit quelques explications pour un futur développement[/*]
[*]déposez toutes les archives zip de vos plugins dans le sous-dossier plugins[/*]
[*]ouvrez votre navigateur à la page [/*]
[/list]
Le gestionnaire de dépôt, les icônes hors plugins et la feuille de style CSS sont toutes embarquées dans le fichier index.php
Vous pouvez :
[list=*]
[*]visualiser toutes les versions des plugins[/*]
[*]visualiser le contenu infos.xml de chaque version des plugins[/*]
[*]télécharger une archive zip d'un plugin[/*]
[*]télécharger le catalogue du site au format JSON, plus facile à exploiter que le format XML, si vous souhaitez exploiter le catalogue avec votre propre script php (lire le fichier index-demo )[/*]
[*]vous abonner au flux RSS du dépôt pour connaitre les 10 dernières versions des plugins[/*]
[/list]
Et c'est aussi léger que Pluxml
Télécharger la dernière version
version 2018-12-13 : divers fix + responsive design Iphone et Ipad + création à la volée d'un dossier assets
version 2017-07-10: divers fix
version 2017-05-23: Changement charte graphique. Fonction de callback pour JSONP
version 2015-10-30 : Gestion d'un cache pour les icônes des plugins.
version 2015-11-01 : Correction sur les "enclosures" dans le flux RSS. Ajout de balises" h3" et d'attribut "alt" dans les balises "img" pour améliorer la lecture dans un navigateur en mode texte (lynx).
A++
Si vous recherchez un outil pour créer un catalogue ou une vitrine des plugins sur votre site,
vous pouvez voir une démo ici: https://kazimentou.fr/pluxml-plugins2/
Pour l'installer, c'est simple:
[list=*]
[*]créez sur votre serveur http://www.monsite.com un dossier, disons depot, et un sous-dossier plugins[/*]
[*]dépliez l'archive zip dans le dossier depot. vous devez avoir un fichier index.php et un autre fichier php qui fournit quelques explications pour un futur développement[/*]
[*]déposez toutes les archives zip de vos plugins dans le sous-dossier plugins[/*]
[*]ouvrez votre navigateur à la page [/*]
[/list]
Le gestionnaire de dépôt, les icônes hors plugins et la feuille de style CSS sont toutes embarquées dans le fichier index.php
Vous pouvez :
[list=*]
[*]visualiser toutes les versions des plugins[/*]
[*]visualiser le contenu infos.xml de chaque version des plugins[/*]
[*]télécharger une archive zip d'un plugin[/*]
[*]télécharger le catalogue du site au format JSON, plus facile à exploiter que le format XML, si vous souhaitez exploiter le catalogue avec votre propre script php (lire le fichier index-demo )[/*]
[*]vous abonner au flux RSS du dépôt pour connaitre les 10 dernières versions des plugins[/*]
[/list]
Et c'est aussi léger que Pluxml
Télécharger la dernière version
version 2018-12-13 : divers fix + responsive design Iphone et Ipad + création à la volée d'un dossier assets
version 2017-07-10: divers fix
version 2017-05-23: Changement charte graphique. Fonction de callback pour JSONP
version 2015-10-30 : Gestion d'un cache pour les icônes des plugins.
version 2015-11-01 : Correction sur les "enclosures" dans le flux RSS. Ajout de balises" h3" et d'attribut "alt" dans les balises "img" pour améliorer la lecture dans un navigateur en mode texte (lynx).
A++
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Merci, je vais tester ce petit script
@bazooka
Pour eviter les erreurs fonction du php version (version 5.4 vs 5.3) on peut remplacer la ligne 239 :
par ceci
Faire de meme avec la ligne 145 pour le sendRSS
Sinon c'est intéressant (il y a de bonnes idées) et merci pour le partage.
a+
jéjé
Merci pour ton retour.
Ces vieilles versions de PHP me laissent perplexes. Sont-elles encore utilisées ?
Sur php.net, la plus "vieille" (old) version à télécharger est la 5.4.45 http://php.net/downloads.php#v5.4.45
Même Free qui se trainait une antique version 5.1.3RC4-dev est en train de basculer vers la version 5.6: http://les.pages.perso.chez.free.fr/migrations/php5v6.io
Ces vieilles versions deviennent même suspectes. Cela sous-entend que d'autres services sur le serveur ne sont pas mis à jour. Et donc failles de sécurité latentes.
Mais vu l'effort demandé, je veux bien procéder à un petit ajustement.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Je viens de tester hier soir l'apiV3 de github pour l'affichage de ses dépôts,
il me reste encore des petites modifs à réaliser notamment l'affichage des icons pour chaque plugin.
il me manque aussi la gestion des versions.
visible ici
Petite correction dans la fonction getPluginIcon() :
il manque un break dans la boucle for
Je n'ai pas de Mac mais il semble que l'OS crée un fichier supplémentaire ._icon.png. Ce qui empêche l'affichage correcte de l'icône. Du coup, je filtre le nom des entrées de l'archive zip, de façon plus stricte.
On accepte aussi les icônes /icon.png, /icon.gif et /icon.jpg. Comme Pluxml.
Et aussi, ajout d'une constante VERSION pour faciliter le suivi. L'archive pour récupérer le source de la page porte le numéro de version maintenant.
http://www.kazimentou.fr/pluxml-plugins2/repository2-2015-10-29.zip
Source sur Github https://github.com/bazooka07/Pluxml-repository
A++
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Petit ajout:
Gestion d'un cache pour les icônes des plugins :
Evite d'ouvrir 2 fois les archives des plugins à la génération des caches. Aux visites suivantes, utilisation seule du cache du catalogue et du cache des icones.
En théorie la page devrait s'afficher plus vite
Utilisation du tag <enclosure> dans le flux RSS pour afficher l'icône du plugin si elle existe.
A++
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
https://validator.w3.org/feed/check.cgi?url=http%3A%2F%2Fwww.kazimentou.fr%2Fpluxml-plugins2%2Findex.php%3Frss#l18
edit:
est ce que c'est possible d'ajouter pour récupérer le nom du dossier dans le cas d'un thème pour PluXml sinon on a rien.
Erreur typographique. En fait surtout la longueur de l'enclosure n'était pas correcte.
Pour ta demande, cela sera plutôt cela pour être plus strict : A++
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
pour l'erreur qui reste, ne faut il pas ajouter la section CDATA ?
J'ai essayé avec CDATA. Cela ne change rien pour le validateur mais Firefox ne l'interprête pas.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
[list=*]
[*]affiche un message d'erreur si la class Zip n'est pas installée[/*]
[*]export au format xml[/*]
[/list]
Pour le format xml, j'ai repris le format utilisé par les plugins plxMyPluginDownloader et spxplugindownloader, en l'étoffant comme suit : Ce qui permet d'ajouter plus facilement le site dans un catalogue de dépôts
Voir la démo.
Voir en dessous du tableau de plugins pour télécharger le source du gestionnaire de plugins. Ou sur Github
Bonne année
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
affichage sous forme de vignettes de plugins
prise en compte du paramètre callback dans l'url pour télécharger les infos des dernières versions de plugins et les exploiter avec Javascript. Cela permet de contourner les limites de certains serveurs avec allow_url_fopen et curl
Voir le dépôt: http://kazimentou.fr/pluxml-plugins2/
voir la fonction de callback, nommée test par exemple: http://kazimentou.fr/pluxml-plugins2/index.php?callback=test
Télécharger le programme source : http://kazimentou.fr/pluxml-plugins2/repository2-2017-05-24.zip
et sur Github: https://github.com/bazooka07/Pluxml-repository
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
bravo
https://blog.niqnutn.com/data/medias/Partage/PluXml/plugins-repository/plxForkAwesome-1.0.10.zip
alors que le premier est bien visible:
https://blog.niqnutn.com/data/medias/Partage/PluXml/plugins-repository/plxForkAwesome-1.0.3.zip
soit j'ai fait une erreur en créant l'archive soit c'est le format de version qui pose problème.
La version actuelle est la "2017-07-10"
Il y a quelques corrections de bugs entre les 2 versions.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
J'ai fait une mise à jour aujourd'hui.
Tes numéros de version posaient problème.
http://kazimentou.fr/pluxml-plugins2/repository2-2018-03-04.zip
Github
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Je m'adresse à toi car j'ai besoin de quelque chose qui ressemble à ton plugin.
Je m'explique :
dans un répertoire j'y mets mes quelques scripts et apps. Un fichier .xml est présent dans chaque script. J'aurais aimé affiché comme dans ton gestionnaire de dépôt, les apps avec les informations du fichier xml, tout simplement récupérer les infos du fichier xml et les afficher à l'écran comme ton gestionnaire. Je pense que cela doit être faisable mais le php est le côté obscure de la force
Peux-tu m'aider ?
Merci
Jol
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
J'utilise avec bonheur ton outil et j'ai du faire quelques modifs afin que l'envoi de l'archive tourne bien chez free avec des plugins dont le zip et plus gros que 1Mo.
Ligne 385 : (envoi du zip) free.fr limite la lecture de fichier a 1Mo (readfile, fopen et get_file_content) popen est absent
Je vais voir pour kzdownload et plxHrefDownload, je sens que ça va faire la même, merci free
J'avais un problème de choix d’icône aussi (il s’arrêtait a la première icône trouvée icon.(gif|jpg|png) et pour ckeditor_PHP il se trompait.
La ligne 167 : Est devenue : Et c'est bon (pour mon cas)
Grand merci a Toi
Notre temps est la seule monnaie vraie ;)
Site, Dépôt, framagit, MyShop, Factux
#mozinor président
Pour le premier point, je préfère me baser sur la taille du fichier et le nom du serveur ($_SERVER).
J'ai fixé une limite selon les serveurs 1Mo chez Free.fr et 2Mo pour les autres. Je pense qu'on peut monter jusqu'à 4Mo.
Pour les petits plugins pas de changement
pour les gros plugins, si la taille est plus gros que la limite fixée, on bascule avec une redirection temporaire 307
Ok, pour le deuxième point
3 sites pour tester :
- https://kazimentou.fr/pluxml-plugins2 ( OVH / Kimsufi )
- https://echecs-annonay.fr/repo ( LWS )
- http://kazimentou.free.fr/repo ( Free.fr )
Où as tu trouvé cette limite de 1 Go ?
Je pensais qu'elle était fixée par la constante output_buffering dans le fichier php.ini. Sauf que chez Free.fr, elle est égale à 0 au lieu de 4Mo pour les autres hébergeurs :
- https://kazimentou.fr/pluxml-plugins2/env.php
- https://echecs-annonay.fr/repo/env.php
- http://kazimentou.free.fr/repo/env.php
Un bout de code pour voir l'environnement de PHP :
Mon dépôt Github sur ce sujet :
https://github.com/bazooka07/Pluxml-repository.git
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Warning: readfile(): File size is limited to 1M in depot.php on line 398 C'est fourché, car il y a quelque modif que j'ai faite pour mon ancien serveur (php-5.5) const réagissait mal (en local) si la déclaration est avec des variable et 2-3 petits trucs pour le personnaliser comme l'entête responsive (taille des caractères), le nom de répertoire...
Notre temps est la seule monnaie vraie ;)
Site, Dépôt, framagit, MyShop, Factux
#mozinor président
- Impossible de définir des constantes à partir de variables, l'expression est évaluée à la compilation du script. C'est sensé s'exécuter plus vite.
- define est évalué à l'exécution. On peut utiliser les variables qui existent. Dans ce cas-ci, le resultat est plutôt des variables qui ne sont pas modifiables.
Il y a une intéressante discussion sur Stackoverflow ( anglophone ) :
https://stackoverflow.com/questions/2447791/define-vs-const
Pour le responsive design, c'est clair que je n'ai pas prévu pour un smartphone. Je ne maîtrisais pas encore trop le sujet à l'époque.
J'y jetterai un oeil dès que j'aurai un moment.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
https://github.com/bazooka07/Pluxml-repository
Et l'adresse de mon dépôt de plugins :
https://kazimentou.fr/pluxml-plugins2/
Fonctionne également chez Free.fr :
http://kazimentou.free.fr/repo
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Ce qui m'arrange bien évidemment d'autant plus que voudrais bien faire fonctionner ma page de téléchargement et mon plugin installeurPlugins avec ton dépôt.
En fait, j'avais choisi Repositorix parce qu'il propose les deux fichiers repository.xml et repository.version nécessaires au fonctionnement de plxMyPluginDownloader.
Mon système étant au point, je cherche à l'améliorer d'autant plus que je comprends maintenant les avantages que tu m'a détaillé lors de notre échange à ce sujet mais ne sais pas comment le greffer la ligne intéressante étant...
Comment faire ?
Je privilégie le format JSON qui se va très bien avec Javascript.
Je suis en train de réviser mon gestionnaire de dépôt pour :
- héberger les plugins et thèmes en parallèle. Je pourrai éventuellement gérer les scripts plus tard même si leurs utilisations ne semblent flous
- des catalogue au format JSON de tous les plugins, thêmes, scripts complets avec lien de téléchargement et url directe pour les icônes et aperçus des thêmes
- les catalogues se regénèrent automatiquement dès qu'on ajoute un plugin ou un thême dans le dossier qui va bien ou si les catalogues sont trop vieux (sécurité)
- préserver l'interface existant avec les liens qu'il y a sur les forums
J'ai commencé à travailler sur mon plugin kzUploader pour utiliser ces catalogues "en live". Je privilégie Javascript pour m'affranchir descontraintes imposés par certains hébergeurs (Free.fr, ...). Je ne serai donc pas gêné par les interdictions sur curl(), file_get_contents(),...
Par contre, je suis tombé sur un hic. Les dépôts qui sont encore en http ne passeront pas si on a un site en https et il n'y a pas de solution pour un site dynamique.
La seule solution que je vois est un "générateur de site statique". En clair, on génére une page d'accueil en pure HTML et les catalogues sur son PC et on synchronise le bazar avec une forge comme github, gitlab ou framagit avec Git.
Accès à mon dépôt de plugins et thèmes
installe PluXml plus vite que ton ombre avec kzInstall2
Cela est génial !
Bonjour,
je viens d'installer la version du 10 janvier 2019
Pas de souci.. les trois dossiers (plugins, themes, scripts) s'affichent.
Les plugins et les thèmes s'affichent comme attendus.
Par contre c'est pour les scripts que j'ai un problème car il m'affiche que le dépôt ne contient aucun script; alors que pour tester j'y ai déposé tinymce_5.10.3.zip
Est-ce que je dois modifier au préalable les noms de fichiers pour qu'ils soient pris en compte?
Faut-il créer un fichier xml similaire à celui des thèmes ou des plugins?
Cordialement