Salut, où en êtes vous avec la définition des plugins, le wiki n'a pas l'air d'avoir évolué depuis ?
Si vous voulez tester le foncitonnement des modules tels que je les imagines et tels que je les ai décrits, je vous ai fait un MOD dont le résultat est disponible sur ma gallerie de test et le fichier Zip contenant trois répertoires :
- include : contenant le fichier template.php modifié et template.php.old qui correspond à la version 1.5.0
- modules : contenant le module mod_random qui affiche 4 images aléatoires
- template : contenant le template "Yoga-MBt" (Yoga modifié).
Les modifications du template sont :
- ajout de l'appel du module en bas du fichier category.tpl
- quelques adaptations au fichier content.css
- nouveau fichier random_bar.css
Pour trouver les modifs du fichier template.php recherchez la chaine "MBt" dans les commentaires.
A+
MBt
J'ai envie de rentrer un peu dans le débat car ca m'interesse beaucoup cette idée de plugin! Ca me faciliterait beaucoup la vie pour l'interfaçage avec wordpress!
Je ne sais pas trop ce que vous en pensez, mais voici comment fonctionne wordpress pour les plugins, je trouve ça simple et très efficace. Il doit y avoir plus de 1000 plugin pour wordpress, tellement c'est simple!
Le principe est de faire passer chaque element affiché par un filtre. Par exemple chaque post passe par une fonction filter. Chaque liste de categorie, chaque commentaires fait de même. Le developpeur de plugin se charge juste d'ajouter des fonctions à ces filtres. Functions qui sont alors referencé dans la base de données. Du coup c'est super facile d'ajouter du code n'importe où. Il suffit d'ajouter une fonction au bon filtre.
Par ailleurs en plus des filtres, ils ont ajoutés des actions. Ainsi à chaque fois que quelqu'un se logue, clique sur une categorie, poste un commentaires, etc, wordpress lance une action typée. Le developpeur de plugin peut de la même manière ajouter des fonctions à cette action.
Enfin, dans l'espace d'administration aussi il y a des actions et des filtres. Du coup le programmeur peut aussi ajouter son espace d'administration pour son plugin!
J
e ne sais pas comment d'autres applications sont gérées pour les plugins, mais je trouve ça assez malin.
z0rglub a écrit:
[...]
Bref, les plugins ça peut être super, si on reste dans l'esprit PWG (simplicité, rapidité).
Je suis avec toi !
Je viens de faire une modification de code qui permet de créer des modules tels que je les vois. Je sais qu'il vaut mieux faire une définition claire de ce qu'on souhaite en premier mais ça vous donnera peut-être des idées.
FIchier /include/template.php.
Ajouter dans la fonction "compile(...)" ligne 334 :
$modrefs = array(); preg_match_all('#\{module:([^}]+)\}#is', $code, $modrefs, PREG_SET_ORDER); foreach ($modrefs as $module) { //$module[0] is matched string (ex : {module:mod_name}) //$module[1] is module name include_once(PHPWG_ROOT_PATH.'modules/'.$module[1].'/'.$module[1].'.php'); $modoutput = create_function('','return '.$module[1].'_output();'); $code = str_replace($module[0], $modoutput(), $code); }
Là, il suffit de créer un fichier mod_test.php dans le répertoire /modules/mod_test/ contenant au moins la fonction mod_test_output()
<?php function mod_test_output() { $ret = '<h1>Module mod_test </h1> <p>test réussi</p>'; return $ret; } ?>
dans le template désiré (ategory.tpl par exemple) il suffit d'ajouter l'appel au module:
... <div id=module_test> {module:mod_test} </div> ...
C'est assez simple non?
MBt
flipflip a écrit:
Ou alors un système comme dans Joomla
C'est vrai que le sytème de Joomla est vraiment pratique seulement il doit y avoir un travail particulièrement intense au niveau du code, surtout en ce qui concerne l'interface d'administration. PWG n'en est pas encore là, enfin je ne crois pas...
MBt
Question : Faut-il laisser le soin au designer du template de contrôler même l'intégration des plugins au risque de devoir modifier les tpl à chaque ajout de plugin ou faut-il faciliter la portabilité des templates en proposant aux plugins de s'y intégrer de manière transparente au risque que le designeur ne contrôle plus son template??
Mon avis : Il ne faut pas laisser les développeurs de plugins devenir maître du template, ce n'est pas leur rôle. Le designer doit garder la main.
Ou alors un système comme dans Joomla. C'est à dire, il existe plusieurs zones (header, footer, user1, user2, user3...) et on peut même en rajouter encore et chacunes de ces zones est gérable par l'administration, en fait chaque éléments qui componsent l'interface (module, menu...) et géré comme un plugin et dans la configuration du plugin on peut lui attribué un endroit où il va s'afficher. C'est très pratique pour disposer les éléments. Pourquoi pas envisager que chaque élément des templates puissent être déplaçables ? Au contraire je pense que c'est système très lourd à gérer.
Tiens, je viens de voir ça : plugins pour dokuwiki.
Très bien... Tout ça.
MBt: Ce soir ou ce we, je te revisite ta page du wiki pour la mise en forme (pas de problème).
rvelices: On attendra ton retour, pas de pb. De tout façon les plugins disponibles, c'est pas pour ce Noël !!!
Neanmoins je pense que lister les plugins qu'on veut pouvoir developper avec ce systeme nous aiderait beaucoup dans les specs/conception dans le sens quel est le bon compromis entre la simplicite du noyau et la puissance du systeme plugins (si je le savais je l'aurait dit de le premier message)
Voila mes idees. Les idees des autres sont bienvenues.
- utilisation de mod_rewrite pour enlever les ? dans les urls
- bbcode dans descriptions
- l'actuel mod_news
- mod download / zip
- photo du jour/mois/semaine
- customization du sort par categorie (et non plus un seul global qui s'applique a toutes les categories)
Malheureusement je n'aurai pas acces a mon ordi personnel jusqua la fin de la semaine prochaine et donc il va falloir attendre jusque la pour que je m'y mette a wiki.
Je ne suis pas à l'aise avec le Wiki. J'ai commencé depuis mon dernier post à écrire un fichier txt contenant toute une réflexion sur le sujet dont voici la trame (je n'ai pas mis le texte pour être plus court:
[...]
Et c'est déjà pas mal je pense... la suite arrivera par mail ou dans le wiki (si j'arrive à l'utiliser et si la base est déjà constuite (from scrtach je n'y arrivera pas je pense)).
Mbt
edit : en fait je m'en suis sorti avec le wiki, ce n'est pas si compliqué... Il est là http://phpwebgallery.net/doc/doku.php?i … in_modules
J'ai profité de l'édit pour supprimer la trame qui allourdissait le post et qui n'est plus utile.
MBt a écrit:
[...] essayer de faire un doc constructif car sans ça on peut tourner des jours. [...]
Avec le wiki par exemple ? Zone fr:fonctionnalites. Pour la présentation, choix des informations, prendre exemple sur fr:fonctionnalites:historique.
J'essaie de suivre cet intéressant topic, mais je m'y sens un peu mal à l'aise. Je vais vous donner ma vision de la chose, sans entrer dans les détails techniques pour le moment. En mai 2005, j'ai donné sur mon blog ma vision du positionnement de PhpWebGallery. Les phrases clef sont :
- Galerie orientée mono-administrateur
- Faire facilement les choses simples, pouvoir faire des choses complexes
- Faire une seule chose, mais bien le faire.
- La simplicité est une caractéristique importante (navigation, configuration, administration)
- La rapidité est également une caractéristique clef
- PWG est une application "standalone"
- L'important, c'est l'interfaçage avec les autres applications, pas l'intégration dans d'autres applications.
Les plugins apportent les avantages des MODs : ajout d'une fonctionnalité ou modification du comportement. Les plugins apportent les avantages des langues/templates : aucune modification du code n'est nécessaire. On prend donc les avantages des 2.
Aujourd'hui, si un webmaster veut modifier sa galerie en comportement ou ajouter une fonctionnalité, il a plusieurs solutions :
- soumettre une demande d'évolution et attendre qu'elle soit acceptée puis intégrée. L'inconvénient de cette méthode réside dans son caractère incertain : il n'est pas certain que l'équipe de développement accepte.
- trouver une astuce sur le wiki ou sur le forum
- trouver le MOD qui correspond
- retrousser ses manches et plonger dans le code
Mise à part la première solution incertaine, les autres nécessite de modifier le code soit même. Ce qui n'est pas l'idéal. Moi-même sur les applications que j'utilise et même PWG, j'évite à tout prix de modifier le code original pour éviter les problème lors des mises à jour. Une solution sous forme de plugin permettrait donc d'éviter de modifier directement le code mais n'empêcherait pas les problèmes lors des mises à jour à mon avis.
L'architecture technique actuelle de PWG est simple et se démarque clairement du modèle objet MVC de Gallery2 par exemple. Je suis favorable à conserver la simplicité actuelle, car un modèle plus complexe nous amenerait tout droit sur les plates-bandes de Gallery2 et je n'y vois aucun intérêt. Or, si on veut mettre en place un beau système de plugin, il faudra certainement revoir l'architecture technique actuelle. Il y a donc une opposition. Je veux bien être détrompé si on arrive à trouver un système de plugin simple et qui se contente de l'architecture actuelle.
J'y pense d'ailleur, Punbb dispose d'un mini système de plugin dans l'administration. Cela serait certainement plus proche de l'idée que je me fais des plugins dans PWG.
Bref, les plugins ça peut être super, si on reste dans l'esprit PWG (simplicité, rapidité).
Pour les plugin, on parle beaucoup de template... certes... mais il faut aussi voir le coté intéractif avec la base/noyau de pwg.... Comment surcharger des fonctions, comment ajouter des événements à certaines actions (pour les exploiter par les plugins, ect... non?
VDigital a écrit:
MBt: tu peux nous refaire une synthèse/résumé
Putain j'ai l'impression de repasser mon BAC... 8-D ! "Thèse. Antithèse. Synthèse. Vous avez 4 heures..."
Clairement t'as raison et je viens d'alumer mon PC pour lire vos messages et justement essayer de faire un doc constructif car sans ça on peut tourner des jours.
Bon ben j'm'y met...
A+
MBt
Edit : si je commence par oublier des "S" dans mes phrases j'vais perdre des points...
Je sens qu'il y en a un certain nombre qui vont "ramer".
Il va falloir du renfort tant coté développeur que coté support.
Je ne sais pas ce qu'en pense l'équipe actuelle mais... c'est à voir.
MBt: tu peux nous refaire une synthèse/résumé pour qu'on soit tous au même niveau d'info, le topic devient trop long.
sans tenir compte des + et des ++, et encore moins des -.
Et après,...
rvelices: Etudes des conséquences, les avantages/les inconvénients...
Mille mercis à vous deux.