alexandrelam / lesgrainsdesel

Beautiful event manager working with Odoo 🍉🏬🎑
GNU Lesser General Public License v3.0
8 stars 4 forks source link

[Nice to have] Handle all frontend assets (JS, css, images...) with webpack bundles #34

Open paulRbr opened 3 years ago

paulRbr commented 3 years ago

Webpack est l'outil le plus connu dans le monde du développement web frontend pour « packager » des fichiers ensemble et produire un/des fichiers que l'on peut ensuite charger dans des vues HTML.

L'intérêt d'utiliser Webpack est surtout pour mettre des optimisations sur les fichiers d'assets. Par exemple, minifier les images, minifier les fichiers JS et CSS, diviser les fichiers en plusieurs « chunks » (pour éviter de charger des gros fichiers d'un coup), etc...

Si vous avez du temps je vous conseille de jeter un coup d'oeil à https://github.com/owais/django-webpack-loader pour remplacer tous les usages de la fonctions static dans vos templates HTML afin qu'ils soient géré par des bundles webpack.

paulRbr commented 3 years ago

Salut @alexandrelam !

Y-a-t-il une raison pour laquelle tu as fermée cette issue sans détails ?

Je pense que ça vaudrait le coup d'améliorer la façon dont le frontend est construit :slightly_smiling_face:

alexandrelam commented 3 years ago

Vu qu'on a ni utilisé du js, ni du scss on s'est dit que webpack rajoutait un niveau de complexité qui était inutile. Pour la compression des images media/ on a juste fait ça au moment de l'upload avec Pillow.

paulRbr commented 3 years ago

Merci pour ta réponse @alexandrelam ! Es-tu sûr que vous n'utilisez pas de JS ?

Cela rend la lisibilité et la compréhension du frontend beaucoup plus difficile, et peut potentiellement créer des problèmes de dépendances (si l'application devait venir à grossir). Bien sûr dans l'état actuel du projet cela reste raisonnable et peut-être que tu as raison, webpack rajouterait un niveau de complexité inutile, mais de mon point de vue et expérience à partir du moment où tu commences à charger plus de 3 librairies JS différentes il faut commencer à réfléchir à l'empaquetage des “assets” frontend.

Laissons l'issue ouverte si jamais on continue à travailler sur le projet ça pourrait devenir utile d'y réfléchir :slightly_smiling_face: