Bonjour tout le monde,
Voilà une discussion qui s'oriente petit à petit sur les contraintes des devs sur la solution prestashop 1.7; ça m'intéresse.
Pour me présenter rapidos je suis un développeur sans prétention qui travaille à 70 % sur Presta depuis 4 ans (développement front-end et back dans diverses agences)... mais après avoir travailler beaucoup sur la 1.6 et maintenant sur la 1.7 rien y fait..je fais également parti des grands déçus de l'orientation récente de ce CMS.
Les environnements n'ont rien à voir (l'un est Open source l'autre pas complètement) mais le fait est, que de travailler avec Drupal 8 n'arrange en rien les choses, puisque j'y vois maintenant plein de défaut ou en tout cas plein d'axes d'améliorations niveau environnement de travail.
Symfony , Symfoniera pas ?
On était nombreux à attendre avec impatience la version 1.7 car celle-ci laissait entrevoir un passage vers le framework Symfony. Première réaction de ma pomme : enfin ! Car ce serait aussi la promesse d'un environnement beaucoup plus solide. Au final on installe la version beta , et là malheureusement la douche devient froide. Prestashop utilise Symfony seulement pour certains controllers ... Donnant l'impression de rester le cul entre deux chaises. Twig ou Smarty ? "C'est selon votre choix!" Ok, pourquoi ne pas avoir imposer de passer tout de suite sur Twig ? Car au final c'est surtout un peu le bordel et donne l'impression de "bricoler". J'imagine que cela ne se fera pas en un claquement de doigt mais bon...
Le système de modules
Prestashop semble avoir baser son business model sur la vente de modules, soit, il faut bien que ces personnes se rémunèrent et je le conçois totalement. Mais force est de constater qu'il y a des limites au système. Côté dev, une bonne partie de mes interventions se fait sur le débug de modules. Je ne parle pas d'ajout de fonctionnalité qui n'existerait pas sur un module existant (car là aussi c'est une bonne part du boulot) mais bien de débug. Alors oui y'a le support de 3 mois... Mais souvent quand les clients viennent à nous le support est terminé, où alors le développeur n'a pas eu le temps de répondre à la demande (car il reçoit beaucoup de demandes). Pas évident.
Sur la Marketplace une simple vérification psr 2 est faite pour publier un module (à ce titre nous en avons publié quelques un)... Pour le reste nada. Autre faiblesse mais là Prestashop n'y peut rien, la qualité du code de nombreux modules (bon on est d'accord, ça le client s'en fout), qui donne parfois envie de se noyer dans une chasse d'eau. Et vas y que je bourre du html et du javascript directement dans les fichiers PHP de module pourtant best seller. C'est là où le fait d'imposer un environnement Symfony serait bien...
A cela s'ajoute le fait qu'il n'existe pas un système d'override des fichiers de modules convenables... Au final, la modification de modules existant peut parfois s'avérer être une bonne galère, et difficile à expliquer au client lambda.
Réinventons la roue dans la joie
Notamment pour les module, on a vite l'impression de devoir constamment réinventer la roue. Un exemple tout bête tiens, l'upload de fichier dans un form... Ben faut faire à sa sauce... et encore plus à sauce si il y la problématique des langues. Prestashop semble être à moitié un framework.Ce qui fait que l'on a rapidement un fichier de méthodes/override qui nous sert à chaque projet pour combler certaines lacunes.
Pas de vrai gestionnaire de package
Un vrai gestionnaire de package intégré complêtement au CMS serait une bonne évolution. Je pense à Composer. Cela simplifierait grandement les mises à jour.
Documentation
On dirait que Prestashop rattrape vraiment son retard à ce niveau là, mais en ayant commencé le dev via Prestashop... Mais mince pendant longtemps la documentation, elle était juste ultra light.
Interface en ligne de commande ?
Pour accélerer les développements, fournir une interface en ligne de commande serait une autre grosse évolution : vider les caches, créer des bases de modules (mais là je crois que je rêve...)
_____________________
Désolé pour le pavé.
Attention, je ne voudrais pas faire que casser du sucre sur le dos de la compagnie, dans la liste des qualités je dirais que Prestashop est un CMS répandu, gratuit (enfin freemium pour l'utilisateur lambda), avec une grande communauté FR. Le système d'override est également intéressant. Et rien que ça c'est déjà beaucoup.
En somme pour moi la 1.7 est une version intermédiaire, qui débouchera (espérons le) sur une version 1.8 complètement sous Symfony, bien plus mature (mais ça l'avenir nous le dira). De notre côté, nous nous orientons vers Drupal Commerce, et stoppons la plupart de nos projets Prestashop pour les raisons indiquées ci-dessus (sauf ceux de nos clients historiques).
Hâte de lire vos réactions à ce sujet , enfin s'il y en a.
Bonne continuation à vous