Mission accomplie :tada:
ChartJS et la Galaxy sont passées sous webpack. Toutes les deps JS sont maintenant gérées via webpack.
Egalement, un système d'enregistrement des composants par décorateur a été ajouté, pour faciliter et standardiser l'intégration de nos widgets JS dans nos templates Jinja (sur tous les navigateurs, y compris Safari de ses morts).
Mais c'est pas fini non plus. On va encore passer du temps à améliorer ça.
Tom Select
Select2 était un peu mieux que django-ajax-select, mais en vrai c'est toujours un peu chiant (notamment parce que ça nécessite encore de s'emmerder avec jquery).
Maintenant que l'outillage JS du projet et un peu plus mature, on tente le passage à Tom-select, qui est pas très différent en terme d'UI et d'UX, mais qui est beaucoup plus léger et qui marche sans jquery.
Et au passage on règle un gros problème de XSS qu'on a remarqué dans notre wrapper autour de select2.
Modération du SAS
Maintenant, cliquer sur le bouton "demander le retrait" n'est plus suffisant pour demander la modération. Au lieu de directement effectuer la demande de retrait, on redirige vers un formulaire sur lequel l'utilisateur doit dire pourquoi il veut que la photo soit supprimée. Les admins SAS ont accès aux demandes de modération, avec leur date, leur auteur et la raison de la demande.
Comme ça, on évite les missclicks, et les admins peuvent faire la différence entre les demandes sérieuses et celles qui sont involontaires ou loufoques.
Outillage
Beaucoup de règles Ruff ont été ajoutées.
Le plugin pour visualiser la taille des bundles Webpack a été ajouté
Biome s'applique maintenant aussi au code TS
Bugfixes
Grosse XSS sur le SAS (voire plus haut)
Sélection des factures eboutic sur le compte d'un utilisateur (on avait déjà fait ça dans la dernière PR, mais de manière incomplète, ce qui fait que ça plantait toujours)
Autres
Optimisation de la page d'affichage des produits (résolution d'un N+1 queries, et réduction des espaces dans le template rendu).
Webpack migration
Mission accomplie :tada: ChartJS et la Galaxy sont passées sous webpack. Toutes les deps JS sont maintenant gérées via webpack.
Egalement, un système d'enregistrement des composants par décorateur a été ajouté, pour faciliter et standardiser l'intégration de nos widgets JS dans nos templates Jinja (sur tous les navigateurs, y compris Safari de ses morts).
Mais c'est pas fini non plus. On va encore passer du temps à améliorer ça.
Tom Select
Select2 était un peu mieux que django-ajax-select, mais en vrai c'est toujours un peu chiant (notamment parce que ça nécessite encore de s'emmerder avec jquery). Maintenant que l'outillage JS du projet et un peu plus mature, on tente le passage à Tom-select, qui est pas très différent en terme d'UI et d'UX, mais qui est beaucoup plus léger et qui marche sans jquery.
Et au passage on règle un gros problème de XSS qu'on a remarqué dans notre wrapper autour de select2.
Modération du SAS
Maintenant, cliquer sur le bouton "demander le retrait" n'est plus suffisant pour demander la modération. Au lieu de directement effectuer la demande de retrait, on redirige vers un formulaire sur lequel l'utilisateur doit dire pourquoi il veut que la photo soit supprimée. Les admins SAS ont accès aux demandes de modération, avec leur date, leur auteur et la raison de la demande.
Comme ça, on évite les missclicks, et les admins peuvent faire la différence entre les demandes sérieuses et celles qui sont involontaires ou loufoques.
Outillage
Bugfixes
Autres
Optimisation de la page d'affichage des produits (résolution d'un N+1 queries, et réduction des espaces dans le template rendu).