Lionel Guichard Posted February 15, 2009 Share Posted February 15, 2009 Bonsoir à tous,Prestashop est un produit que j'apprécie particulièrement, et je félicite le travail fournit par la web agency qui a produit ce petit bijou. J'apprécie particulièrement les efforts fournit par prestashop pour offrir les outils nécessaire comme le bugtracker ou la soumission de nouvelles fonctionnalités pour ouvrir un peu plus le produit à la communauté.J'ai participé à de nombreux projets open source et j'ai une certaine expérience de la gestion communautaire de ce type de projet. Or, beaucoup de choses m'interpelles...Non pas que je n'apprécie pas la communauté prestashop mais je pense que pour un projet dit "OpenSource", il est important d'améliorer la communication de cette communauté grandissante.Ce qu'il manque :- Contribution de bugfix / patch - Le svn accessible en écriture- Une core team ?- Security team ?- Mailling list pour les développeurs ?- Roadmap de développement ?- Repository pour les modules ?Autant de choses qui manquent et qui ne font pas prestashop ce qu'il devrait être. Un véritable projet communautaire ou les contributions au niveau core pourraient être validé par la core team.Je pense que beaucoup de gens parmis vous moi le premier serait prêt à contribuer au développement de prestashop. Qu'en pensez-vous ? Link to comment Share on other sites More sharing options...
Damien Metzger Posted February 15, 2009 Share Posted February 15, 2009 J'en pense qu'on a pas le temps de faire tout ça, mais :- Tu peux obtenir les bugfix en consultant les logs SVN- Le SVN ne SERA PAS accessible en écriture. Cependant j'ai déjà intégré des contribs et je peux continuer à la faire- On a une core team oui...- On a quelques personnes dont c'est le rôle, après un des avantages des projs open source c'est que tout le monde peut nous signaler les éventuelles failles- Dont le contenu serait ?- On sait pas vraiment nous-même Enfin pas avec des dates ni a vraiment long terme- C'est un grand débat Sinon si tu veux être responsable communautaire bénévole moi ça me dérange pas :] Link to comment Share on other sites More sharing options...
Lionel Guichard Posted February 15, 2009 Author Share Posted February 15, 2009 Salut Damien, je me doute que vous n'avez pas forcément le temps de faire tout ça. Je suis tout à fait conscient que les projets clients sont les priorités au sein de votre agence et que sans eux la machine ne tourne pas Je voulais juste mettre l'accent sur le coté communautaire de prestashop. Je pense que ce type d'amélioration pourrait donner un coup de pouce à l'amélioration du produit et accélérer le développement et l'extensibilité.Pour exemple, le système de hook existant est plutôt bien fait mais pas assez extensible pour le back office, un travail de refactoring serait nécessaire et pourrait accélérer le développement de module plus conséquent.SVN : un trac browser ? un repertoire branches et plugins pour y mettre toutes les contribsMailing list : espace de discussion pour que les développeurs puissent échanger sur les prochaines releases, l'architecture de ps etc...Roadmap : c'est toujours le hic Repository : sa me semble "indispensable", lors de mes premiers pas sur prestashop ce fût un vrai combat pour chercher des modules existants... le forum est pas très pratique et on a aucune visu globale sur les extensions (version, compatibilité etc..). Un format en .psx avec un petit installer et un repository via HTTP ? Link to comment Share on other sites More sharing options...
DrÿSs' Posted February 15, 2009 Share Posted February 15, 2009 Je voulais juste mettre l'accent sur le coté communautaire de prestashop. Je pense que ce type d'amélioration pourrait donner un coup de pouce à l'amélioration du produit et accélérer le développement et l'extensibilité.Je suis très concerné par ces problématiques et j'y réfléchi beaucoup en ce moment ! J'aimerais effectivement mettre en oeuvre d'avantages d'outils axés pour la communauté.Seul bémol : communauté = gratuit = pas de source de revenu.Donc cela n'est pas prioritaire pour notre boite...SVN : un trac browser ? un repertoire branches et plugins pour y mettre toutes les contribsPour l'instant seul le trunk est accessible au public. Nous pourrions envisager la lecture des branches, même si cela n'a rien de très passionnant. Par contre, l'écriture n'est pas du tout envisagée pour l'instant.Pour le trac browser, aucun problème, mais on utilise pas Trac (RedMine étant bien mieux ! ).Mailing list : espace de discussion pour que les développeurs puissent échanger sur les prochaines releases, l'architecture de ps etc...Je pense que les mailing-list est un outil has been et dépassé. Je préfère largement le principe du forum qui permet de bien tout classer, archiver, modérer, etc. Me faire spammer ma boite mail, non merci Roadmap : c'est toujours le hic Oui, c'est très difficile à mettre en place, car nous sommes toujours pris eu dépourvu par tel ou tel évènement qui vient tout chambouler. D'une manière générale, nous avons une organisation trop souple qui ne permet pas de mettre en place une roadmap fixe. Et surtout, comme on le sait très bien, annoncer une date de sortie pour telle ou telle release pose des problèmes (retard, déception de la communauté, etc).Repository : sa me semble "indispensable", lors de mes premiers pas sur prestashop ce fût un vrai combat pour chercher des modules existants... le forum est pas très pratique et on a aucune visu globale sur les extensions (version, compatibilité etc..). Un format en .psx avec un petit installer et un repository via HTTP ?Je milite depuis longtemps pour avoir un annuaire de modules pour la communauté, mais ceci n'a pas été validé par Bruno... Peut-être après ! Link to comment Share on other sites More sharing options...
Lionel Guichard Posted February 15, 2009 Author Share Posted February 15, 2009 Seul bémol : communauté = gratuit = pas de source de revenu.Donc cela n'est pas prioritaire pour notre boite... Ca j'approuve entièrement, on fait de même. C'est bien là la différence, la communauté doit avoir le maximum d'outils pour fédérer le produit.Pour le trac browser, aucun problème, mais on utilise pas Trac (RedMine étant bien mieux ! ). Redmine est bien mieux, j'approuve Mailing list : espace de discussion pour que les développeurs puissent échanger sur les prochaines releases, l'architecture de ps etc...Je pense que les mailing-list est un outil has been et dépassé. Je préfère largement le principe du forum qui permet de bien tout classer, archiver, modérer, etc. Me faire spammer ma boite mail, non merci Le forum fait son travail.Je milite depuis longtemps pour avoir un annuaire de modules pour la communauté, mais ceci n'a pas été validé par Bruno... Peut-être après ! Milite alors ! Demain matin offre lui un café et met le devant le fait accompli Le repository est je pense LA résolution 2009 Par contre coté module vous avez des projets en cours ? nouveau hook ? amélioration de l'extension du back ? Link to comment Share on other sites More sharing options...
StoreCommander Posted February 16, 2009 Share Posted February 16, 2009 Bonjour,la mailing-list a tout de même un avantage : se former à des problématiques alors que le forum répond à un besoin précis.Pour avoir déjà utilisé des mailing list de développement, c'est un outil à ne pas négliger. Je n'espère pas convaincre un non-convaincu mais j'aimerai créer des groupes spécialisés sur le développement sur Google Groups (FR et EN).Je pense qu'il faudrait que ce soit PS qui les crée, je veux bien les modérer et m'en occuper. Link to comment Share on other sites More sharing options...
Lionel Guichard Posted February 16, 2009 Author Share Posted February 16, 2009 Petite amélioration :Pour permettre d'embarquer une class enfant de AdminTab dans un module. Je pensais à plusieurs évolutions au niveau du core :- Un nouveau champ module_name dans la table ps_tab pour renseigner le module ou la classe se trouve- Un autoload de la class qui se trouve dans /modules/myModule/admin/AdminMyTab.php dans le fichier toolbar.phpJ'ai commencé la contrib ça fonctionne plutôt bien. Damien, qu'en penses-tu ? Link to comment Share on other sites More sharing options...
Damien Metzger Posted February 17, 2009 Share Posted February 17, 2009 Il fallait également changer la classe Tab et le formulaire qui va avec dans AdminTabs, mais bon, c'est fait. Link to comment Share on other sites More sharing options...
Lionel Guichard Posted February 17, 2009 Author Share Posted February 17, 2009 Ok, thx Damien. Effectivement la modification de la classe Tab va de soit J'ai crée un topic dédié à ce type de discussion : http://www.prestashop.com/forums/viewthread/13063/developpement_et_modules/core__roadmap_discussion Link to comment Share on other sites More sharing options...
Lionel Guichard Posted February 17, 2009 Author Share Posted February 17, 2009 Par contre dans ta modification dans le toolbar.php tu as mis l'include du PS_ADMIN_DIR avant celui du module. Je pense qu'il serait bien d'inverser ton if / elseif pour que l'on puisse écraser au besoin un onglet de l'admin sans toucher au core. Link to comment Share on other sites More sharing options...
Damien Metzger Posted February 17, 2009 Share Posted February 17, 2009 Ca fait une requete en plus mais ça se tient. Link to comment Share on other sites More sharing options...
Lionel Guichard Posted February 17, 2009 Author Share Posted February 17, 2009 Hihi Tant qu'on y est pour avoir une structure un peu hiérarchisé sur le module on pourrait :- Dans l'__autoload du config.inc.php charger également les classes qui peuvent être ajoutées dans le module, sinon dans /module/AdminMyTab.php on est obligé de faire un require /module/MyTab.php pas très propre.- Voir avoir une structure du module de la sorte :/module/myModule/admin/AdminMyTab.php -> petite modification sur le toolbar.php /module/myModule/classes/Tab.php Link to comment Share on other sites More sharing options...
StoreCommander Posted February 17, 2009 Share Posted February 17, 2009 Je préfère faire un require /module/MyTab.php quand il y en a besoin plutôt que de scanner tous les répertoires de tous les modules à chaque appel de l'__autoload...Très bonnes idées pour le reste Link to comment Share on other sites More sharing options...
Lionel Guichard Posted February 17, 2009 Author Share Posted February 17, 2009 Pas forcément besoin de scanner tous les répertoires. Vu qu'avec la table tab on sait quel module est appelé on sait qu'il faut autoloader le repertoire classes/Ou sinon encore mieux, un __autoload() dans la classe Module ! Link to comment Share on other sites More sharing options...
StoreCommander Posted February 17, 2009 Share Posted February 17, 2009 Ok cela fait une requête en plus à chaque page pour récupérer la liste alors qu'on ne s'en sert pas à chaque page mais si c'est pour la bonne cause...On peut avoir plusieurs __autoload() ? Je pensais que la méthode magique était globale et donc unique ? Link to comment Share on other sites More sharing options...
Lionel Guichard Posted February 26, 2009 Author Share Posted February 26, 2009 Je propose une évolution de la surcharge du thème de prestashop, qui est bien trop réduite à ce jour.1er point : La surcharge des fichiers .php qui sont à la racine n'est pas possible2ème point :Impossible de surcharger le "model" de BD (répertoire /classes) dans le thème.3ème point : Impossible de surcharger une classe myModuleCa limite énormément la personnalisation et on est trop souvent obligé de toucher aux fichiers du core.Je propose une architecture plus stucturée comme ceci :/themes/pestashop/controller/header.php/themes/pestashop/classes/myClass_*.php/themes/pestashop/modules/myblock/myblock.php/themes/pestashop/templates/*.tplC'est une ébauche mais l'idée est là, je pense qu'une structure MVC plus structurée pourrait être très bénéfique pour PS et les prochaines versions à venir Personnellement, je vois mal comment on va mettre à jour facilement nos projets en production avec l'architecture actuelle Link to comment Share on other sites More sharing options...
Damien Metzger Posted February 26, 2009 Share Posted February 26, 2009 Une structure MVC où la vue surcharge non seulement le controleur mais également le modèle ?C'est sûr, ça innove Enfin le problème est réél, on en est conscient, on a prévu des 'choses'.Mais pas pour tout de suite. Link to comment Share on other sites More sharing options...
Lionel Guichard Posted February 26, 2009 Author Share Posted February 26, 2009 Une structure MVC où la vue surcharge non seulement le controleur mais également le modèle ?C'est sûr, ça innove Ah je viens d'apprendre que le répertoire /themes et la vue de PS xD C'est comme /classes c'est le model ou le controller ? j'avoue j'hésite là Bref, je pense pas qu'on soit là pour débattre sur les erreurs d'interprétation de l'un ou l'autre, mais on ne peut pas vraiment dire que PS est construit sur un modèle MVC, mais je pense que tu en es conscient ;o) Link to comment Share on other sites More sharing options...
Damien Metzger Posted February 26, 2009 Share Posted February 26, 2009 C'est un MVC custom.A de rares exceptions près, le thème correspond à la vue. De ce côté la pas trop d'entorse, donc affirmer ne pas comprendre que /themes c'est la vue, c'est un peu gros.Pour contrôleur / modèle on mixe un peu. Grosso modo les contrôleurs sont à la racine et le modèle dans classes.Tu noteras qu'il n'y a pas de requêtes SQL dans les contrôleurs, donc cette couche là est à peu près respectée, par contre il est vrai que nos classes sont plus qu'un simple modèle.Bref, on a fait plusieurs infractions à MVC pour des raisons pratiques et de simplicité, mais on peut quand même retrouver facilement le squelette des 3 couches. Link to comment Share on other sites More sharing options...
Lionel Guichard Posted February 26, 2009 Author Share Posted February 26, 2009 Je n'ai pas dis que ce n'est pas totalement dépourvu de structure, mais ça manque. Je ne parle pas forcément de structure MVC qui ne définie que les spécifications de 3 couches d'abstraction pour un développement. Mais de la façon de l'avoir implémenté.Par exemple les fichiers .php à la racine du site comme controller, index.php?module=order&action=view serait plus propre.Le model qui n'emporte pas d'ORM et qui renvoie une fois sur deux des objets ou tableau ce qui rend la manipulation des données difficile. Parfois tu récupère une array parfois un object c'est très bizarre.L'autre point c'est que la surcharge du code n'est possible qu'avec les hookLe but n'est pas de débattre sur ce qu'il existe aujourd'hui, je pense qu'on est tous les deux conscient qu'il y a un travail de refactoring à faire. Maintenant, c'est de savoir comment le faire Voilà, voilou Link to comment Share on other sites More sharing options...
Damien Metzger Posted February 26, 2009 Share Posted February 26, 2009 Et encore une fois on est entièrement d'accord et on a nos plans pour ça (le plus complexe étant tout de même la surcharge de modules multi-langues par thèmes ).Pour l'ORM, je suis totalement contre l'utilisation des outils existants, ce sont des bouffe-performance épouvantables. C'est pour ça qu'on a développé notre mini-truc perso, qui suffit grandement.Surtout qu'au final on se limite à MySQL, donc vraiment pas besoin de 42 couches d'abstraction supplémentaires pour chaque pauvre requête (quoi que j'ai vu un PS tourner en partie sur du postgre). Link to comment Share on other sites More sharing options...
Lionel Guichard Posted February 27, 2009 Author Share Posted February 27, 2009 Je suis pas vraiment d'accord avec toi sur les ORM. Les performances actuel sont bien meilleur depuis l'intégration de PDO ! Un ORM ce n'est pas 42 couche d'abstraction il utilise seulement la couche du type de BD utilisé, ensuite c'est PDO qui fait le reste.Votre mini truc perso convient peut-être à vos besoins puissent que vous utilisez MYSQL, voir postgre mais ce n'est peut-être pas le cas pour tout le monde Au final sur votre mini truc perso on cherche pas mal comment manipuler le bouzin, un bon coup d'objet la dessus pourrait rafraîchir la bête ! Le mélange array, objet est vachement confu.D'ailleurs ce n'est pas pour rien que des grands comme "Dailymotion" utilise les composants de framework reconnus pour leurs dev. ex : http://www.symfony-project.org/blog/2009/02/18/dailymotion-powered-by-symfony Link to comment Share on other sites More sharing options...
Patric Posted February 27, 2009 Share Posted February 27, 2009 Pourquoi y'a un topic ou ça parle chinois sur le forum francophone ? %-P Link to comment Share on other sites More sharing options...
StoreCommander Posted February 27, 2009 Share Posted February 27, 2009 Il y a du pour et du contre, pas de solution ultime.Personnellement je suis contre également car à force de vouloir la possibilité de tout faire, on perd complètement de vue l'optimisation et le coût de maintenance. Améliorer c'est toujours possible mais utiliser des usines à gaz parce que c'est beau, c'est propre et que ça permet de tout faire (ce qui est vrai) et bien finalement non, mieux vaut une ZX pour faire 100 mètres qu'une Ferrari. Les deux arriveront à l'objectif mais la Ferrari consommera plus et sera plus cher d'entretien (spéciale dédicace vulgarisation pour Zendick ). Idem pour les modules, j'ai vu une application de réseau social d'un client tourner sous Drupal avec des dizaines et des dizaines de plugins qui faisaient monstrueusement ramer le serveur... Link to comment Share on other sites More sharing options...
Cédric Girard Posted February 27, 2009 Share Posted February 27, 2009 Une ZX ?...Rhooo Vincent, une C4 voyons : il faut vivre avec son temps ;-)(on est vendredi, hein...) Link to comment Share on other sites More sharing options...
StoreCommander Posted February 27, 2009 Share Posted February 27, 2009 Je sais de quoi je parle, je roule en ZX ! D'habitude je dirais que c'est increvable mais l'embrayage vient de lâcher, une petite réparation et je repars pour 200.000km de plus ! En n'en trouve plus de nos jours de si solide et si peu cher, ah l'électronique.... (ah vendredi......) Link to comment Share on other sites More sharing options...
Cédric Girard Posted February 27, 2009 Share Posted February 27, 2009 Mon ancienne voiture roule toujours (205 D Turbo... je l'ai revendue en 2004, elle avait 320 000km ; elle a dépassé les 400 000 !) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now