osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Modules à convertir pour Phoenix
SaphyraK
posté 13 Sep 2020, 04:47
Message #1


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 100
Inscrit : 6-November 12
Membre no 31715



Hop hop hop, comme je passe par là.

Déjà, Bonbec, coucou, ça va?
Ensuite..

J'ai eu accès au club Phoenix car je suis développeur professionnel, et je compte adapter autant de choses que je peux de (ce que j'ai créé OU pas) sur cette version de Phoenix.

En sommes, pour la petite histoire, j'ai envie de virer BootStrap de Phoenix (affreusement peu modulaire, et irrémédiablement lourd, par un autre framework CSS, comme par exemple l'excellentissime UI KIT (ou le suublime FomanticUI) (que j'ai utilisé récemment dans un très vieux site de MS2.2 que franchement, lol, on croirait plus avoir à faire à un MS 2.2 tellement c'est beaaaaaau, évidemment, j'ai passé longtemps à reformater les vieux tableaux de design en responsive design!

Mais le résultat est là.
(ce n'est pas pour moi mais pour un de mes clients).


Bref, j'ai contribué par le passé à OSCommerce, en développant un module SoColissimo IFrame, (peut-être maintenant obsolète, mais, il fonctionne toujours, juste qu'il n'aura au final pas de nouvelles fonctionnalité, dans le sens, où pour moi, la MS2.2 est morte.
Et OSCommerce 2.3.4 est un fiasco.
Je bossais sur un framework gigantesque pour OSCommerce MS2.2, mais, à ma grande déception, je sentais que je faisais en fait du retro-pédalage en conditionnant mon framework sur un PHP 5.6, (ou 7.0 vu qu'il fonctionne aussi dessus), mais pour une version de OSCommerce :
- plus du tout en vogue
- plus du tout fiable
- plus du tout supportée
- trop bordélique
- affreuse à maintenir
- code de design (templates, MVC) et structures à vomir des paillettes en pixels!


Alors, pourquoi parler de ça ici?
Et bien, vous parlez de Phoenix ici.

Le club, je l'ai rejoint pendant le confinement, j'ai beaucoup adoré le concept d'un nouveau OSCommerce avec modularité de prise en charge, et donc, je compte investir mes prochains clients dans cette version de OSCommerce (plutôt que PrestaShop, que je regarde d'un oeil mauvais ces derniers temps du fait de leur politique de mise à jour de modules payants non effectuées.., bref, ce n'est pas fiable pour moi).

Ainsi, je compte convertir les modules de paiements, livraisons ET utilitaires (après ma refonte du thème, déjà discutée avec un ambassadeur, ici:
https://forums.oscommerce.com/topic/495388-...ix-css-theming/ )
Maintenant, donnez-moi la liste des modules qui serait intéressant pour vous à convertir pour Phoenix.

Je ne ferai pas tout, mais, ceux que je jugerai utile (autant pour mes clients que la communauté OSCommerce (FR comme non FR), je les convertirai (ou tenterai de les convertir/redévelopper).

Evidemment, les modules soumis à des licenses non GPL, non MIT, je ne veux pas en entendre parler si vous ne me fournissez pas un tant soit peu d'informations sur leurs auteurs.

Voici comment me lister ça, il me faut:

1) Nom du module
2) Catégorie du module
3) Description du module
4) Auteur INITIAL du module
5) Contributeurs SECONDAIRES du module
6) Degré d'importance du module selon-vous

Voilà, c'est pas compliqué, hein?

NOTEZ QUE: je ne vous informerait pas personnellement de l'avancement de chaque conversion, mais je ferai des annonces ici, sur ce forum (et dans le groupe de Phoenix sur leur forum officiel).

Je.. crois que tout est dit.

Ah!
"" Pour Phoenix, il faut bien se rappeler que les addons qui modifient le code des scripts sont à éviter, sinon c'est la galère assurée en cas de mise à jour de Phoenix. Cela risque d'écraser les modifs ...Il faut essayer au maximum de mettre cela sous forme de module. "" (Bonbec): oui, clairement, mais on peut les convertir justement en fonctionnalité modulaire, ça: des hooks/override.

A bientôt, et vive OSCommerce, il n'est pas question de laisser un projet comme Phoenix mourir.

Ce message a été modifié par SaphyraK - 13 Sep 2020, 05:00.


--------------------
We get Everything, we are developpers, we are masters of the universe !
(just kidding.. **sigh**, just developpers...)
Go to the top of the page
 
Bonbec
posté 14 Sep 2020, 13:13
Message #2


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1514
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonjour smile.gif
Bonbec est de retour après un séjour à l'hôpital (pas à cause du covid) d'où ma longue absence.

Rapidement, le cheminement historique qui a abouti à Phoenix, c'est ceci :
- OsCommerce 2.3.4 transposé en version BS (BootStrap) par Burt, ce qui devient la première version communautaire
- OsCommerce version communautaire EDGE et GOLD (une version est stable, l'autre a des mises à jour constantes)
- OsCommerce version communautaire FROZEN- Phoenix

Phoenix, c'est Burt et depuis un an à peu près, ecartz l'a rejoint. Ce sont les deux programmeurs qui s'occupent du core code. ecartz est l'auteur du système de templates intégré depuis peu dans Phoenix.

Etre ambassador ne signifie rien pour Phoenix. On devient ambassadeur à vie lorsqu'on a soutenu financièrement OsCommerce une fois.

Pour intégrer le club Phoenix, il faut en faire la demande, être actif et/ou soutenir financièrement le projet en versant une somme qui peut être annuelle ou mensuelle (je ne pense pas qu'il y a eu des changements pendant mon absence). Ce soutien ouvre le droit à des addons (modules) développés spécialement pour les membres du club. Honnêtement c'est un vrai plus.Le système modulaire de la page produit a été un des premiers addons, les membres du club ont pu l'utiliser plusieurs mois avant que ce système soit intégré dans le core code.

Pour moi, qui ne suis pas programmeur, le système BootStrap a été une véritable avancée, pas besoin de modifier son code de manière lourdingue comme avec la MS2.2 pour rendre son site compatible aux téléphones et tablettes.BootStrap évolue, Phoenix s'adapte en conséquence. J'ai lu sur le net que la prochaine grosse version de BootStrap abandonnerait le JavaScript. Ce sera encore une nouvelle version de Phoenix à venir aussi ...

Sinon, Phoenix est téléchargeable directement sur le site OsCommerce mais uniquement en dernière version .0Les versions intermédiaires .1, .2, .3 etc ... sont réservées aux membres du club Phoenix. Il s'agit souvent de corrections de bugs et l'ajout de nouvelles fonctionnalités.On en est actuellement à la version 1.0.7.7.La version 1.0.7.8 va apporter de la modularité au checkout.On peut télécharger les versions intermédiaires sur le GitHub.

Pour les Hooks, même si c'est une formidable avancée, il y a quand même des limitations.Il est fortement déconseillé d'intégrer nous même des points d'entrée dans le code, il faut faire des demandes justifiées à Burt pour que ce soit intégré au core code.

Sinon ton initiative pour les modules/addons est très appréciable.Je vais regarder ce que j'utilise actuellement avec ma MS2.2 vu que je reprend ma version Phoenix actuellement.

PS : j'avais commencé avec la première version de Phoenix en convertissant les 12 colonnes en 24 colonnes pour permettre un meilleur design (et surtout un menu de gauche un peu plus large).A chaque upgrade de Phoenix, j'étais obligé de tout remettre en 24 colonnes, d'autant plus qu'à une époque les mises à jour étaient fréquentes ... çà m'a énervé angry.gif et je suis revenu au 12 colonnes ...

EDIT : ajout des sauts de lignes pour une meilleure lecture


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
SaphyraK
posté 17 Sep 2020, 07:46
Message #3


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 100
Inscrit : 6-November 12
Membre no 31715



Bonjour.

Attention à la santé, effectivement, on en a qu'une..


Déjà...
Je me suis demandé "Mais où est passé mon message" (en rafraîchissant la page dans son sujet initial), xD.

En fait il a été déplacé dans un autre post qu'un modérateur (toi, probablement ? haha) a créé à cet effet.

Et oui, oui, je sais que d'être ambassadeur OSCommerce/Phoenix, bah, c'est qu'une question de donation d'argent au projet.
(ce qui en soit offre aussi des goodies).


Intéressant pour le cheminement, ça fait plaisir de connaître cette information, comme, je suis plutôt dans l'aspect technique/technologique de OSCommerce/Phoenix que l'aspect historique haha.


Burt a surtout bien fait d'écouter ecartz par rapport aux templates, c'est CA qui différencie un bon moteur facile à faire évoluer d'un moteur difficile à maintenir quand il faut modifier le core pour les Core Developpers!

Je ne fais pas de don financier pour Phoenix, mais, j'ai eu accès au club je suppose car ils m'ont jugé digne de le rejoindre au vu de mes talents de développements lol.
Enfin, bon, j'avais aussi donné quelques preuves de mes talents, ça a aidé je suppose, hahahaha!

Oui, BootStrap (de Twitter), est un formidable framework CSS, mais, honnêtement, BootStrap fait vraiment peur quand il faut vraiment décider de thématiser un thème, en gros, tu verras, la plupart des thèmes BootStrap c'est quasiment pour 90% d'entre-eux de la re-colorisation de directives CSS (color, background, background-color.. etc avec un peu de radius en border, et c'est quasiment tout).

Pour être honnète, j'ai travaillé avec de nombreux frameworks CSS durant des années, BootStrap est un enfer.
Mais c'est sûr que si l'on connaît que ce framework et qu'on vient exclusivement d'un code CSS/HTM/JS et MS2.2 pur, lol, alors, oui, c'est le Paradis

Ensuite, pour le responsive, crois-moi (car c'est bien de ça que tu parles en parlant de ça: "pas besoin de modifier son code de manière lourdingue comme avec la MS2.2 pour rendre son site compatible aux téléphones et tablettes."), c'est très simple, BootStrap (comme la totalité des frameworks) reposent sur un simple modèle de normalisation CSS, les MediaQueries.
En gros, ça fonctionne ainsi: Quand un périphérique où tu visionnes le site est en-dessous d'un certain seuil de largeur/hauteur, tu peux demander au moteur du navigateur web, via les MediaQueries, d'adopter des règles spécifiques pour l'affichage, et si tu re-dépasses ce seuil, soit en faisant une rotation de l'écran, ou en regardant sur un autre périphérique, alors, pareil, d'autres MediaQueries s'enclenchent.

Les MediaQueries dérrière leur nom plutôt barbare lol, sont simplement des règles qui ne s'active que dans un cas précis. (et c'est à toi d'écrire le code de ces MediaQueries).

Maintenant, BootStrap, ne fait absolument rien de révolutionnaire, il ne fait que pré-écrire pour nous des MediaQueries et du scripts, javascript pour la dynamisation de certains composants.

Oui, mais non.. BootStrap n'évolue pas tant que ça en fait, les versions majeures de BootStrap, ça va faire longtemps qu'on en a pas vue passer, (tout comme nombres autres frameworks).

BootStrap peut tout à fait abandonner le javascript en théorie, mais en pratique il sera très difficile de tout remplacer par du pur code HTML.
Notamment, comment BootStrap arriverait-il à se passer du javascript pour la vérification intelligente des formulaires? Hmm, oui, il y a bien l'attribut "pattern" du standard HTML5 pour ses balises, mais ça ne fait, hélas, pas tout!


Le Javascript selon moi, n'est pas la mort, d'ailleurs, sans Javascript, les scripts PHP contactés par AJAX n'existeraient simplement pas, car, AJAX repose sur le composant XMLHttpRequest de javascript, sans ça, pas de AJAX.

Twitter veut juste suivre une tendance, ils en reviendront de supprimer Javascript sur leur framework BootStrap.
Beaucoup ont tenté d'occulter javascript, et très peur ont réussi la transition, et ceux (frameworks) qui ont réussis, sont vraiment devenus dépassés par les nouveaux ou anciens qui se basent encore sur Javascript.

En gros, BootStrap est un véritable framework intéressant pour ceux et celles qui ne nécessitent pas d'un thème qui sorte de l'ordinaire ou qui sont des développeurs non qualifiés (et on l'a tous été un jour).
Autrement, oublies.

C'est ça, oui, les versions Master de OScommerce Phoenix sont téléchargeables depuis le site oscommerce, dans les téléchargements de versions Communautaires, et les versions Branches sont téléchargeables depuis le club, après, c'est surtout pour éviter aux gens qui sont un peu fainéants à la lecture, d'installer une version instable par delà une version stable et venir râler dans le forum global que ça déconne ensuite, lol.

Les Hooks, (crochets), sont un moyen efficace de "contourner" légalement une fonctionnalité dans un framework/un cms/un moteur, en gros, c'est justement ça l'intérêt d'un Hook, c'est d'altérer une partie clef du coeur SANS altérer ou toucher au code du coeur.
Je me doutes bien que tout les points d'entrées dans chaque fonctionnalité du coeur ne peuvent pas êtres touchées, mais, en définitive, à terme, il le faudra, que Burt le veuille ou non, dans le sens, où ce sont les développeurs tiers qui font évoluer la popularité d'un moteur, pas son auteur, et si les développeurs tiers sont limités, ils iront voir ailleurs.
Mais, Burt a l'air d'être quelqu'un à l'écoute et surtout amoureux de la philosophie OSCommerce, (et même si il ne fournit pas gratuitement son travail, cf, la version PRO (qui à mon sens est très moche d'apparence), il faut comprendre, qu'il aime OSCommerce, et ça, c'est un +.
Ensuite, pour en revenir au core code et les Hooks, en fait, pour mes besoins, si tout les Hooks de points d'entrées habituels existent: "_overridevalue()", "_getValue()", "_templateAlteration()" et ceux touchant à l'expédition/facturation, tout ira très bien. Le reste, est surtout une affaire de Templates de design.

Avec plaisir pour ta liste de modules, montres-moi ça dès que tu peux.
Quand je peux aider un moteur qui me tient à coeur, comme OSCommerce, c'est un peu comme si je lui lançais une corde pour le faire remonter après qu'il soit tombé dans un trou, car, depuis l'avènement de PrestaShop, Magento, rien qu'eux, ont fait une sacré ombre à OSCommerce, (pourtant même la MS2.2 est encore très robuste et résistante en 2020, certes, elle a ses limitations, mais quel moteur n'en a pas..)


PS: j'ai travaillé très récemment pour un client (et terminé surtout) un très gros projet: "Transformer une MS2.2 de base années 2000, avec tableaux en RESPONSIVE, stylées 2020, tout en conservant les tableaux", impensable de le passer sur PrestaShop, car il voulait garder l'administration OSCommerce; et travailler avec la 2.3 de OSCommerce aurait été casse-pied, voici ce qui a été fait (backoffice non touché, frontoffice complètement revu, mais COMPLÈTEMENT hein) ..
1) Chaque pages .php à la racine du site embarque un gestionnaire d'inclusions de styles CSS, de WebFonts, de WebIcons (notamment les Google Material Icons) de scripts, et d'overrides MediaQueries autant que du stylesheet.css principal, lui aussi overridé.
2) Les tableaux (<table>...</table>, cellules <td>..</td>, lignes <th>...</th> et autres joyeusetés des designs de l'époque, sont conservées, et pour autant le responsive est parfaitement orchestré. (à différents détails prêts, pour les images, qui respectent une sorte de flexbox, pour simuler le responsive, ce qui fonctionne tout autant, mais nécéssitera des cas par cas à rajouter dans les MediaQueries pour certains affichages exotiques).
3) Evidemment, le responsive n'est absolument pas compatibles avec de très vieux navigateurs, IE7 par exemple, haha.. Mais bon, faut évoluer aussi si on veut des trucs pimpant neufs.
4) et... chaques pages .php à la racine du site, quelques unes dans /includes/modules/ ont été aussi un peu adaptées en terme de structure HTML, notamment pour ajouter des attributs "class" ou "width" ou "id" aux éléments HTML, rarement pour ajouter des éléments de structures.


5).. C'est tout pour le design!
Désormais, dans ce site, pour créer une nouvelle page, il faut faire cela:
a) - imaginons pagetest.php, on créé pagetest.php (en UTF- cool.gif à la racine du site, et on lui inclut le code HTML de base d'une page OSCommerce (exemple celle de "contact_us.php", entre les balises <head>...</head> on ajoute en inclusion la page .php du gestionnaire d'inclusions des styles CSS: un fichier unique donc.
b) - on donne une classe à la cellule column left, column right, et on peut la piloter depuis le .css de base du site. (donc avec un code comme:
Code
body.isPagePageTest td.column_left { width: 550px; }
et bam, la cellule englobant la colonne de gauche aura une taille de 550 que pour cette page, (si tu veux pareil pour les autres fichiers, exemple autrepage.php, c'est simple, ajoute le
Code
body.isPageAutrePage td.column_left,
au dessus du
Code
body.isPagePageTest td.column_left
, et hop, fini.
c) - au final, tout est comme AVANT, mais avec des classes CSS, et c'est juste les classes CSS qui régissent le design, pas son code HTML/PHP! Autant pareil pour le responsive.


6) Pour le menu, par contre, celui natif de OSCommerce MS2.2 (comme Phoenix, pro ou pas), est parfait si tu as besoin de peu de catégories, mais dans le site que je te parle, j'avais environ 12000 catégories (et encore, sans compter les sous-catégories ou sous-catégories dans des sous-catégories), donc, impensable de charger le menu entier à chaque fois et de l'afficher sur la hauteur de la page, tant l'espace occupé au milieu serait trop minime par rapport à ce menu: asymétrie affreuse!

7) Et pour en revenir au cellule de colonnes latérales, évidemment, les boites suivent le même principe, de fait, il est possible SANS toucher au code de les styliser selon la page chargée. Ou même de masquer les colonnes sur la page par exemple: "J'ai oublié mon mot de passe", ça sert à quoi d'afficher les colonnes de produits, lol..

cool.gif Évidemment, une fois la puissance de CSS/MediaQueries/Animations CSS à ma portée, injectée dans le site, je peux t'assurer que l'on dirait même plus une MS2.2, c'est juste si... luxueux maintenant...

Tout ce Post-scriptum pour te dire.. en répondant à ça:

"Phoenix en convertissant les 12 colonnes en 24 colonnes pour permettre un meilleur design (et surtout un menu de gauche un peu plus large).A chaque upgrade de Phoenix, j'étais obligé de tout remettre en 24 colonnes, d'autant plus qu'à une époque les mises à jour étaient fréquentes ... çà m'a énervé et je suis revenu au 12 colonnes ..."

Déjà, je vois pas de quoi on parle par énumération de 12 en 24, mais dis-moi de où tu parles?
Pour le menu, oki, moi j'ai développé pour mon client un menu complètement différent, et pas en cascade comme le fait PrestaShop, car, si tu focus avec le curseur de la souris à côté du menu ouvert en cascade, le menu de PrestaShop se ferme (même symptôme dans les favoris de Firefox dans la barre d'outil), et ça, ben moi, lol, ça m'a toujours bien énervé!
Enfin, si maintenant Phoenix embarque un système de templates (et c'est le cas, j'ai vu), et ben, ça va être très intéressant pour moi de m'en servir, dans le sens où, sans module de templates, j'ai déjà fait un truc somptueux (et surtout modulaire à l'avenir en ne modifiant QU'UN SEUL fichier!), alors avec un système de template dans Phoenix (je hais ce nom, dans le sens où j'oublie souvent son "o" xD et ça m'énerve de me corriger sans-cesse), ça va être une panacée de bosser avec dans le futur!

EDIT : pareil, reformatage de certaines tournures, ajout de mots, de mise en forme pour une meilleure lecture

Ce message a été modifié par SaphyraK - 17 Sep 2020, 08:10.


--------------------
We get Everything, we are developpers, we are masters of the universe !
(just kidding.. **sigh**, just developpers...)
Go to the top of the page
 
Bonbec
posté 17 Sep 2020, 13:53
Message #4


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1514
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonjour,

Je répondrais à ton message lorsque ma machine laser aura fini son boulot.
Pour te faire patienter, la liste des Hooks de Phoenix :
https://forums.oscommerce.com/topic/494437-...comment-1808738


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
SaphyraK
posté 17 Sep 2020, 14:42
Message #5


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 100
Inscrit : 6-November 12
Membre no 31715



Très utile, cette liste, merci bien smile.gif
Et OK pour ta réponse future.


--------------------
We get Everything, we are developpers, we are masters of the universe !
(just kidding.. **sigh**, just developpers...)
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 29th September 2020 - 11:35
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)