PluXml.org

Blog ou CMS à l'Xml

Vous n'êtes pas identifié(e).

#1 28/10/2015 00:12:02

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 087
Site Web

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:

  • 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


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 :

  • 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

Et c'est aussi léger que Pluxml smile

Télécharger la dernière version
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++

Dernière modification par bazooka07 (04/03/2018 17:36:58)

Hors ligne

#2 28/10/2015 09:45:44

DjbWebmaster
Membre
Inscription : 13/07/2012
Messages : 298

Re : Gestionnaire pour dépôt de plugins

Bonjour bazooka07,

Merci, je vais tester ce petit script


Mon labo de templates/Plugins pour le CMS PluXml http://nextum.fr
Templates PluXml et Framework SASS Compass pour PluXml: http://libertea.fr
-----------------------------------------------------
Intégrateur HTML5 https://psd-html.fr
Coming soon http://psdtohtml5.fr
-----------------------------------------------------

Hors ligne

#3 28/10/2015 15:24:06

je-evrard
Pluxml Staff
Lieu : pau
Inscription : 08/05/2012
Messages : 1 197
Site Web

Re : Gestionnaire pour dépôt de plugins

Hello,

@bazooka

Pour eviter les erreurs fonction du php version (version 5.4 vs 5.3) on peut remplacer la ligne 239 :

[== Indéfini ==]
$lastRelease = $versions[array_keys($versions)[0]];

par ceci

[== Indéfini ==]
$tmpversion = array_keys($versions);
$lastRelease = $versions[$tmpversion[0]];

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é

Dernière modification par je-evrard (28/10/2015 15:36:30)


Petit à petit l'oiseau fait son nid.
- Sites : Création web - Création artistique
- pluxml : Plugins - Visual Wizard - facebook vw

Hors ligne

#4 29/10/2015 11:22:51

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 087
Site Web

Re : Gestionnaire pour dépôt de plugins

@

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/mig … /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.

Hors ligne

#5 29/10/2015 12:35:33

DjbWebmaster
Membre
Inscription : 13/07/2012
Messages : 298

Re : Gestionnaire pour dépôt de plugins

Bonjour à tous,

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

Dernière modification par DjbWebmaster (29/10/2015 12:36:21)


Mon labo de templates/Plugins pour le CMS PluXml http://nextum.fr
Templates PluXml et Framework SASS Compass pour PluXml: http://libertea.fr
-----------------------------------------------------
Intégrateur HTML5 https://psd-html.fr
Coming soon http://psdtohtml5.fr
-----------------------------------------------------

Hors ligne

#6 29/10/2015 13:07:40

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 087
Site Web

Re : Gestionnaire pour dépôt de plugins

Bonjour,

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-plugins … -10-29.zip

Source sur Github https://github.com/bazooka07/Pluxml-repository

A++

Dernière modification par bazooka07 (29/10/2015 16:44:26)

Hors ligne

#7 31/10/2015 12:26:28

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 087
Site Web

Re : Gestionnaire pour dépôt de plugins

Bonjour,

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++

Dernière modification par bazooka07 (31/10/2015 12:27:23)

Hors ligne

#8 31/10/2015 23:10:19

niqnutn
Membre
Inscription : 21/09/2015
Messages : 366

Re : Gestionnaire pour dépôt de plugins

j'ai vu que le RSS n'était pas valide.
https://validator.w3.org/feed/check.cgi … %3Frss#l18

Sorry

This feed does not validate.

    line 18, column 2: Missing enclosure attribute: length (6 occurrences) [help]

                <enclosure url="http://www.kazimentou.fr/pluxml-plugins2/index.php?plugin= ...
          ^

    line 18, column 2: Unexpected lenght attribute on enclosure element (6 occurrences) [help]

                <enclosure url="http://www.kazimentou.fr/pluxml-plugins2/index.php?plugin= ...
          ^

In addition, interoperability with the widest range of feed readers could be improved by implementing the following recommendation.

    line 47, column 0: description should not contain link tag [help]

                <description>Présente une pagination moderne. Gére les flèches gauche et d ...


    <enclosure url="http://www.kazimentou.fr/pluxml-plugins2/index.php?plugin=plxMyPager&amp;icon" lenght="3" type="image/1446113094" />


    <description>Présente une pagination moderne. Gére les flèches gauche et droite du clavier. Rajoute les liens &lt;link rel=&quot;prev|next&quot; href=&quot;...&quot;. Gére la pagination d'un groupe de pages statiques, dans les pages d'un article. /&gt; dans l'entête de la page.


edit:

est ce que c'est possible d'ajouter

[== PHP ==]
function getPluginName(ZipArchive $zipFile) {
	$result = false;
	for ($i=0; $i<$zipFile->numFiles; $i++) {
		$filename = $zipFile->getNameIndex($i);
		if (substr($filename, -4) == '.php') {
			$content = $zipFile->getFromName($filename);
			if (preg_match('/\bclass\s+(\w+)\s+extends\s+plxPlugin\b/', $content, $matches) === 1) {
				$result = $matches[1];
				break;
			}
			else {
				$result=$filename;
				$result = strstr($filename, '/' , true);
			}		}
	}
	return $result;
}

pour récupérer le nom du dossier dans le cas d'un thème pour PluXml sinon on a rien.

Dernière modification par niqnutn (31/10/2015 23:13:55)

Hors ligne

#9 01/11/2015 11:08:10

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 087
Site Web

Re : Gestionnaire pour dépôt de plugins

Merci pour ta remarque.
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 :

[== PHP ==]
function getPluginName(ZipArchive $zipFile) {
	$result = false;
	for ($i=0; $i<$zipFile->numFiles; $i++) {
		$filename = $zipFile->getNameIndex($i);
		if (substr($filename, -4) == '.php') {
			$content = $zipFile->getFromName($filename);
			if (preg_match('/\bclass\s+(\w+)\s+extends\s+plxPlugin\b/', $content, $matches) === 1) {
				$result = $matches[1];
				break;
			} else if (preg_match('/^([\w-]+)\/(?:article|static[^\.]*)\.php$/', $filename, $matches) === 1) {
				// archive zip d'un théme demandé par niqnutn
				$result = $matches[1];
				break;
			}
		}
	}
	return $result;
}

A++

Hors ligne

#10 01/11/2015 11:44:11

niqnutn
Membre
Inscription : 21/09/2015
Messages : 366

Re : Gestionnaire pour dépôt de plugins

merci.

pour l'erreur qui reste, ne faut il pas ajouter la section CDATA ?

Hors ligne

#11 01/11/2015 13:07:50

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 087
Site Web

Re : Gestionnaire pour dépôt de plugins

Ce n'est pas une erreur mais un avertissement sur un risque potentiel.
J'ai essayé avec CDATA. Cela ne change rien pour le validateur mais Firefox ne l'interprête pas.

Hors ligne

#12 01/11/2015 13:23:11

niqnutn
Membre
Inscription : 21/09/2015
Messages : 366

Re : Gestionnaire pour dépôt de plugins

effectivement. j'ai pas vu que le flux rss était validé.

Hors ligne

#13 03/01/2017 18:24:25

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 087
Site Web

Re : Gestionnaire pour dépôt de plugins

Petite mise à jour :

  • affiche un message d'erreur si la class Zip n'est pas installée

  • export au format xml

Pour le format xml, j'ai repris le format utilisé par les plugins plxMyPluginDownloader et spxplugindownloader, en l'étoffant comme suit :

[== XML ==]
<?xml version="1.0" encoding="UTF-8"?><document>
   <repo>
		<repo_title>...</repo_title>
		<repo_author>...</repo_author>
		<repo_url>...</repo_url>
		<repo_version_url>...</repo_version_url>
		<repo_version>...</repo_version>
		<repo_site>...</repo_site>
		<repo_description><![CDATA[...]]></repo_description>
		<repo_name>...</repo_name>
		<repo_icon>...</repo_icon>
    </repo>
   <plugin>
      <title><![CDATA[Titre du plugin]]></title>
      <author><![CDATA[Mon nom]]></author>
      <version>1.6</version>
      <date>01/10/2013</date>
      <site>http://www.monsite.net/</site>
      <description><![CDATA[Plugin x detail]]></description>
      <name>pluginname</name>
      <file>https://github.com/mongit/gutuma/pluginname.1.6.zip</file>
      <icon>https://github.com/mongit/gutuma/pluginname.png</icon>
   </plugin>
   <plugin>
      ...
   </plugin>
</document>

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

Dernière modification par bazooka07 (03/01/2017 18:26:43)

Hors ligne

#14 24/05/2017 12:30:20

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 087
Site Web

Re : Gestionnaire pour dépôt de plugins

Mise à jour de mon gestionnaire de dépôt de plugins :
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/in … lback=test
Télécharger le programme source : http://kazimentou.fr/pluxml-plugins2/re … -05-24.zip
et sur Github: https://github.com/bazooka07/Pluxml-repository

Dernière modification par bazooka07 (24/05/2017 12:34:24)

Hors ligne

#15 24/05/2017 13:02:22

Dudy
Membre
Lieu : Neuchâtel - Suisse
Inscription : 20/01/2007
Messages : 348

Re : Gestionnaire pour dépôt de plugins

super le style j'aime bien, il faudrait juste faire le trie par date, le reste c'est impeccable,

bravo

Hors ligne

#16 03/03/2018 16:09:27

niqnutn
Membre
Inscription : 21/09/2015
Messages : 366

Re : Gestionnaire pour dépôt de plugins

j'ai un petit problème, un plugin qui ne veut pas apparaître.
https://blog.niqnutn.com/data/medias/Pa … 1.0.10.zip
alors que le premier est bien visible:
https://blog.niqnutn.com/data/medias/Pa … -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.

Hors ligne

#17 03/03/2018 19:27:31

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 087
Site Web

Re : Gestionnaire pour dépôt de plugins

La version que tu utilises est la "2015-10-29"
La version actuelle est la "2017-07-10"

Il y a quelques corrections de bugs entre les 2 versions.

Hors ligne

#18 04/03/2018 11:33:49

niqnutn
Membre
Inscription : 21/09/2015
Messages : 366

Re : Gestionnaire pour dépôt de plugins

j'ai testé avec la dernière version que tu utilises mais je retrouve le même problème.

Hors ligne

#19 04/03/2018 17:49:56

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 087
Site Web

Re : Gestionnaire pour dépôt de plugins

@niqnutn,

J'ai fait une mise à jour aujourd'hui.
Tes numéros de version posaient problème.
http://kazimentou.fr/pluxml-plugins2/re … -03-04.zip
Github Github

Hors ligne

#20 04/03/2018 18:40:06

jol5926
Membre
Lieu : Drôme
Inscription : 25/04/2015
Messages : 476
Site Web

Re : Gestionnaire pour dépôt de plugins

Hello Bazooka07,
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  big_smile

Peux-tu m'aider ?

Merci

Jol

Hors ligne

#21 05/03/2018 00:04:33

niqnutn
Membre
Inscription : 21/09/2015
Messages : 366

Re : Gestionnaire pour dépôt de plugins

@bazooka07: merci, ça fonctionne  smile

Hors ligne

#22 05/03/2018 00:41:21

bazooka07
Membre
Lieu : Quelque part en Rhône-Alpes
Inscription : 06/02/2014
Messages : 1 087
Site Web

Re : Gestionnaire pour dépôt de plugins

Cool  big_smile

Hors ligne

Pied de page des forums

A propos Nous soutenir Contact Twitter Google+
Copyright © 2006-2018 PluXml.org, tous droits réservés