Jump to content

Problème de fond : Mises à jour de modules, TPL et JS surcouchés


Atch

Recommended Posts

Je viens de télécharger la 1.6.0.11 pour tester un truc qui me trotte dans la tete depuis la sortie de la 1.6

 

J'ai donc installé la dernière version 1.6.0.11 et viré le répertoire "modules" du theme default-bootrstap.

 

En théorie ce répertoire modules est là pour surcoucher les tpl d'un module si besoin.

Résultat : http://www.hostingpics.net/viewer.php?id=577604FireShotScreenCapture014Atchworkslocalhostprestashop16011.png

 

On se retrouve avec les TPL des modules 1.5 et meme des restes de CSS dans le global.css du theme responsive.

 

Y a t il une raison technique ?

 

Questions : Les modules sont mis à jour en BO à tout moment, mais comment sont MAJ les TPL et les JS de ces modules ?

 

comment peut-on mettre à jour un module, si le tpl et le js sont surcouchés dans un theme lambda ?

 

(oui j'ai pas supprimé JS/Modules/ mais meme probleme)

 

V++

 

Atch

  • Like 3
Link to comment
Share on other sites

Tout à fait d'accord avec Atch, on avait constaté le problème lors de la sortie de la 1.6.

 

La règle devrait pourtant être simple: Tous les modules doivent pouvoir fonctionner a minima, quelque soit le thème.

Le thème peut modifier l'aspect du rendu du module, mais surtout pas l'inverse.

Trop de fichiers js interviennent sur la mise en page et il devient difficile d'avoir un module multi-versions qui s'affiche correctement suivant les versions.

 

c'est un peu comme le problème des traductions, du logo et autres détails qui pourrissent la vie si on change de thème ou que l'on modifie quelque chose lié au thème.

Les fichiers de traductions contenus dans les thèmes ne devraient contenir QUE les traductions spécifiques à CE thème. Pourquoi dupliquer des fichiers qui existent déjà ?

En plus cela simplifierait les requêtes.

trads -> fichiers trads du core/modules et un merge avec celle du thème si un fichier du même nom existe.

Je ne parlerai pas des modules natifs comme le blocklayered qui modifient le comportement du core, mais c'est dans la même veine.

 

Pourquoi surcharger des classes css qui existent déjà, pourquoi rajouter des js déjà définis dans bootstrap ? On a l'impression (c'est personnel) que bootstrap a été utilisé parce que c'est dans l'air du temps, mais que vous ne maitrisez pas son utilisation (quid de sass ? Le but final étant d'obtenir un css compilé le plus light possible)

 

Je me permet de citer Atch sur irc (si tu me le permet :) )

 

Thème similaire pour  Prestashop et OC:  d'un coté j'ai un zip de 2.8mo et de l'autre 400 ko pour la même chose !!!

Cherchez l'erreur...

  • Like 4
Link to comment
Share on other sites

A vouloir aller trop vite, il est vrai que les fondamentaux de bootstrap sont un peu zapé ... Il ne devrait pas avoir de surcharges de modules sur le template de base, qu'ils soient de prestashop ou de partenaires.

Vos constatations sont vraies.

Link to comment
Share on other sites

Vous avez tout à fait raison.

 

La situation idéale serait TPL squelette dans le module et surcharge dans le template de base avec la possibilité de mettre à jour facilement lesdites surcharges. 

 

Mais actuellement, nos contraintes sont les suivantes : les surcharges CSS et JS des modules dans le thème par défaut est nécessaire. Car si on actualisait directement les CAS et JS des modules on casserait la rétro compatibilité avec les versions plus anciennes de PrestaShop. Il nous faut un moyen d'aligner les modules sur les versions de PrestaShop et que ces derniers continuent à fonctionner même si le marchant ne met pas à jour son shop.

Link to comment
Share on other sites

Bonjour Xavier,

 

Je vois beaucoup de modules qui gèrent la retro compatibilité avec deux tpl différents et un test de version dans le controller.

 

Le probleme avec la méthode que vous avez retenue, est la maintenabilité d'un theme selon les versions et maintenant selon les modules MAJ !!!

 

J'ai pour exemple le module Social qui se greffe sur la page produit.

 

Mise à jour en back office du module Social ( Le client voit qu'il y a une mise à jour, il fonce :) ). Résultat ---> Theme "planté", client qui appelle, j'ai mis à jour le module social, celui ci ne fonctionne plus avec votre theme etc... Alors que le theme était à la base compatible avec la version Prestashop utilisée, mais  ne l'était plus car les modules sont mis à jours indépendement. ( Le TPL du module ne s'est pas mis à jour dans le theme acheté )

 

Bon d'après ta réponse, ça va rester comme ça , et donc nous allons continuer à jongler avec les mises à jours intenpestifs des modules :( .

 

C'est pas une bonne nouvelle ( ça ne me pousse pas à continuer tout ça :( ) ...

 

V++

 

Atch

Edited by Atch (see edit history)
Link to comment
Share on other sites

Moi aussi je me suis souvent demandé pourquoi le thème de base contenait lui même autant de surcharge pour des modules natifs...

La rétrocompatiblité devrait clairement être gérée par le module lui même si cela est nécessaire, du genre si je suis en 1.4 j'inclus le module14.tpl / module14.css / module14.tpl avec tous ces fichiers contenus dans le module de base et non pas dans le thème.

En plus au niveau maintenance / modification du module ça devient beaucoup plus clair, on sait ou taper en fonction de sa version.

Link to comment
Share on other sites

 Il nous faut un moyen d'aligner les modules sur les versions de PrestaShop et que ces derniers continuent à fonctionner même si le marchant ne met pas à jour son shop.

 

Alors là, s'il faut qu'on vous explique, on peut :)

Comment fait-on pour nos modules ? On vérifie la version installée (soit depuis le contrôleur, soit depuis le tpl tout dépend ce qu'on veut faire)

Il est alors des cas où l'on doit prévoir différents tpl (généralement 2, avant 1.5 ou supérieur), mais ce n'est pas un problème.

En aucun cas on ne tient compte du thème utilisé, autrement on ne s'en sortirait plus.

 

Le problème est encore pire avec les thèmes bourrés de modules "maison" qui surchargent ou entrent en conflit avec l'existant.

L'erreur est de tout mélanger et laisser le thème prioritaire.

 

Je me répète: Modules et thèmes sont 2 choses distinctes, l'un ne doit pas interagir sur le fonctionnement de l'autre.

Pour être juste vous devriez fournir la solution avec un thème "a minima" (comme dans les versions précédant la 1.6)

Un thème "responsive" en plus si vous voulez.

J'ai toujours testé mes modules sur les thèmes par défaut, ce qui permet d'avoir un discours cohérent par rapport aux clients.

J'avoue qu'avec la 1.6 je suis obligé de "bidouiller" pour arriver à un résultat satisfaisant et je ne peux pas affirmer que cela fonctionnera sur un thème différent.

Alors: Rétropédalage illico et on arrête les conneries. Désolé si je me laisse allez sur ce coup là, mais si vous continuez dans ce sens, la solution va devenir impossible à maintenir.

  • Like 2
Link to comment
Share on other sites

Bon d'après ta réponse, ça va rester comme ça , et donc nous allons continuer à jongler avec les mises à jours intenpestifs des modules :( .

 

Pour avancer et ne pas laisser la situation telle quelle, serais-tu prêt à discuter avec notre Directeur Produit et notre Directeur Technique ? C'est typiquement le cas de figure où nous devons collaborer avec des membres de la Communauté comme toi pour aller dans la bonne direction.

  • Like 1
Link to comment
Share on other sites

Bonjour,

 

Je suis d'accord avec ce qui a été dit sur ce topic.

 

La situation actuelle fait que les thèmes gènent les modules et les modules gènent les thèmes.

La maintenance en devient particulièrement compliquée et les demandes de support se multiplient malgré tout le soin que l'on peut apporter à nos contributions.

 

Au passage, au niveau des plugins de Bootstrap, je ne serais pas contre un chargement directement depuis le coeur de Prestashop et pas uniquement depuis le thème, comme c'est déjà le cas pour un certain nombre d'autres plugins.

Link to comment
Share on other sites

Pour avancer et ne pas laisser la situation telle quelle, serais-tu prêt à discuter avec notre Directeur Produit et notre Directeur Technique ? C'est typiquement le cas de figure où nous devons collaborer avec des membres de la Communauté comme toi pour aller dans la bonne direction.

 

Merci Xavier de cette approche communautaire.

 

Si je , Nous (je ne me sens pas seul sur ce coup)  pouvons collaborer , ce serait avec plaisir.

 

V++

 

Atch

Edited by Atch (see edit history)
  • Like 1
Link to comment
Share on other sites

Perso, ce qui m'inquiète, c'est que ce genre de problème de fond n'ait pas été évité dès la sortie de la 1.6.

 

C'est pas juste un bug dans un coin, c'est la fonctionnalité en elle-même qui est mal pensée bug de spécifications et non pas bug de codage.

  • Like 1
Link to comment
Share on other sites

Bonjour Xavier,

 

Ok pour Janvier.

 

Si je peux me permettre, juste rappeler qu'il y a plus de 3 ans, un groupe de développeurs et intégrateurs de la communauté Prestashop avait été convié dans vos locaux pour évoquer le sujet du thème ...

 

Après cette journée de Partage, RIEN n'a été retenu et le theme n'a pas bougé d'un poil depuis... L'ajout de Bootrstap n'a pas arrangé les choses finalement, il est utilisé à l'envers :(.

 

V++

 

Atch

  • Like 1
Link to comment
Share on other sites

Et si je peux en rajouter une, ne faites pas ça en "secret", comme assez souvent. Je ne dis pas que vous devez convier tout le monde, mais je pense qu'un compte-rendu éventuel de ce type de réunion devrait être communiqué, avec des indications claires des objectifs visés par la suite au sujet des remarques énoncées.

 

Ok, ça prends du temps et vous n'êtes pas assez pour le réaliser... Mais ce serait dommage de se retrouver encore et encore dans la même situation que celle évoquée par Atch, sur le coup.

 

Sinon, je salue la volonté de vouloir bien faire, mais j'attends plus de démarches concrètes, personnellement. En effet, profiter des outils que vous avez mis en place (club utilisateur, blog développeur, ...) pour communiquer, d'avantages, et faire participer aussi bien les agences partenaires que les contributeurs eux-même.

Edited by J. Danse (see edit history)
  • Like 1
Link to comment
Share on other sites

Et si je peux en rajouter une, ne faites pas ça en "secret", comme assez souvent. Je ne dis pas que vous devez convier tout le monde, mais je pense qu'un compte-rendu éventuel de ce type de réunion devrait être communiqué, avec des indications claires des objectifs visés par la suite au sujet des remarques énoncées.

 

C'est noté et pris en compte, merci Jonathan.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Bonne Année ici :)

 

Pendant qu'on est dans les todo thème, une idée de correction/ajout:

 

J'ai un module qui utilise les hooks extraLeft et extraRight sur la page produit.

En 1.5, aucun problème, l'affichage se fait au choix dans la colonne gauche ou droite (sous la photo, ou sous les textes)

En 1.6, Innovation: une nouvelle colonne "center" a fait son apparition qui englobe elle-même 3 colonnes (left, center et right)

 

Le fichier product.tpl intègre les hooks extraLeft et extraRight dans la colonne centrale de la colonne centrale...

Autant dire que la dénomination de ces hook n'a plus aucun sens et que l'implantation en right ou left vous imposera, de toute façon, un affichage dans la colonne centrale.

Solution provisoire: Ajouter les hooks manquants dans le product.tpl, mais du coup, modification des modules accrochés (et réinitialisation)

Solution durable: Créer le/les hooks manquants qu'on pourrait appeler extraCenter par exemple et insérer dans le tpl

{if isset($HOOK_EXTRA_CENTER) && $HOOK_EXTRA_CENTER}{$HOOK_EXTRA_CENTER}{/if}

et/ou déplacer les hooks extraLeft et extraRight à leurs places respectives d'origine.

Je trouve dommage que les avancées créatives en visuel suppriment des possibilités de paramétrage existantes.

Il y a évidemment la possibilité de surcoucher à l'aide de js, mais je pense qu'il y en a déjà assez comme ça en FO et que l'ère du bricolage doit être révolue.

 

Je me répète donc, La solution Prestashop doit être livrée avec un thème squelette fonctionnel à 100%

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

C'était parti d'une bonne intention ...

dommage !! c'est finalement comme il y a 3 ans ... Restons comme ça finalement, c'est mieux ...

 

Comme disait l'artiste populaire Dalida : " Des Paroles,  paroles ... "

 

V++

 

Atch

Link to comment
Share on other sites

Ah non pas du mauvais pied ...

Me suis réveillé ce matin en me disant, "tient il en est ou ce post sur le theme 1.6" et là, des souvenirs me sont revenus :)

 

t'inquiète, je ne suis pas stressé :)

 

Par contre, le nouveau forum ... stresse un peu, mais là, c'est une appréciation perso. C'est juste une histoire d'adaptation .

J'ai déjà noté quelques bugs, il y a un espace (francophone) pour les remonter ?

 

V++

 

Atch

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 months later...

Salut,

 

Oui, il y a eu une réunion (fin frevrier) avec des membres de la communauté et les devs Prestashop. Un retour, non. Prestahop a préféré taire cette journée. Elle était pourtant constructive et mettait en avant des bugs bloquants, malheureusement toujours visibles sur la 1.6.1, dite stable...

Bref, la prochaine journée communautaire (PrestaDay) sera sans moi :(

 

V+

 

Atch

Edited by Atch (see edit history)
  • Like 1
Link to comment
Share on other sites

Salut Paulo,

 
J'espère que tout va bien. 
 
Je ne comprends pas complètement... Oui, on a mis en exergue des bugs prioritaires. Mais une fois la réunion finie, nos devs se sont remis au travail dessus, évidemment. On ne peut pas faire un article de blog sur un bug. Ou une fonctionnalité qui n'est pas parfaite (voir pas bien faite). Ce n'est ni bon pour nous, ni pour vous qui faites votre business sur PrestaShop. La Forge est là pour ça.
 
Sinon, la plupart des sujets abordés ensemble étaient des sujets confidentiels, comme on a pu le préciser ce jour-là. Là encore, difficile de faire un article de blog... C'est tout le paradoxe d'être dans ce genre de réunion, pour des devs de la Communauté : le privilège de parler de choses confidentielles de l'intérieur mais la frustration de ne pas vraiment pouvoir partager avec le monde entier ce qui a été discuté.
 
Cette journée n'a pas été vaine, bien au contraire ! Vos retours ont été importants pour la direction qu'a prise la roadmap depuis février (une roadmap, ça bouge constamment, ne nous fustige pas pour avoir une roadmap évolutive, c'est en fait plutôt une qualité ;) ) et les sujets dont nous avons tous convenu qu'ils sont prioritaires sont aujourd'hui au coeur du travail actuel de l'équipe produit. 
 
Les retombées d'une telle journée Communautaire, plus qu'un article de blog à court terme ou un sujet sur le forum, doivent être des résultats concrets, qui se voient dans le logiciel à moyen et long termes. Ces retombées là sont les seules qui comptent et tu seras fier de voir que le résultat, même après plusieurs mois et plusieurs versions, aura été obtenu en partie grâce à toi.
 
Le PrestaShop Day sans toi, personnellement, ça m'emmerde. Si tu changes d'avis, prends ton billet gratuitement avec ce code : BDB0GF. 
 
Bonne journée à toi.
  • Like 2
Link to comment
Share on other sites

 

une roadmap, ça bouge constamment, ne nous fustige pas pour avoir une roadmap évolutive, c'est en fait plutôt une qualité ;) 

Mais si elle bouge trop souvent, dates et contenus prévus changent constamment et au final on ne converge pas, ou je me trompe ?

Link to comment
Share on other sites

'lo ici

 

Je rejoins Atch sur ce coup^^

 

En dehors des sujets "confidentiels" il a été partagé beaucoup de choses.

Tu nous as demandé de t'envoyer par mails nos impressions en nous annonçant un compte-rendu public.

 

On a rien vu.

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...