Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Réécriture du frontend (ancien) #406

Closed
wants to merge 49 commits into from
Closed

Conversation

florimondmanca
Copy link
Contributor

@florimondmanca florimondmanca commented Sep 22, 2023

Que se passe-t-il ici ?

  • Le front SvelteKit est remplacé par un front servi par le serveur NestJS via des templates Nunjucks
  • TL;DR:
    • Côté Nest, les Action deviennent des Controller avec des @Render()
    • Les templates sont faits avec Nunjucks (proche de Jinja2)
    • Le CSS est "fait main" avec juste ce qu'il nous faut, en s'inspirant des design patterns de Every Layout (pas de Tailwind)
    • Les interactions JS sont implémentées avec des WebComponents (affichage calendrier, menu mobile, dropdown, theme toggler, etc) (93% de support navigateur)
    • Le bundling est fait avec esbuild, un bundler simplissime et très rapide
    • Fluent est utilisé pour les traductions : c'est un système indépendant de tout framework (contrairement à svelte-i18n), comme XLIFF ou gettext, mais plus agréable à utiliser
    • FullCalendar est remplacé par EventCalendar (rendu similaire, 3 à 4x moins lourd)

Autres notes

  • Retire File/ (plus utilisé depuis le retrait des devis, factures, etc)
  • Le front de "Epargne salariale" n'a pas été réimplementé, car il semble que cette partie n'était pas utilisée (on pourra ensuite supprimer les actions associées)

Taille du build

> make assets

  dist/public/faircalendar.js   87.0kb
  dist/public/main.css          11.3kb
  dist/public/faircalendar.css   7.0kb
  dist/public/main.js            2.9kb

⚡ Done in 54ms

Sans le composant EventCalendar, le build JS pèse seulement 3 ko (!). J'ai splitté le JS de sorte à ne charger EventCalendar que sur la page FairCalendar. On ne charge alors que 43 ko de données sur la majorité des pages. ❤️ 🍀

TODO

  • Affichage des erreurs formulaires
  • Synthèse FairCalendar
  • Filtres FairCalendar
  • Ajout d'un CRA : afficher les bons champs en fonction du type de CRA sélectionné
  • Faire un ADR
  • Déployer sur Jelastic en se branchant à la DB hostée chez Scaleway, pour "prévisualiser" le nouveau site avec nos vraies données. (Ansible c'est bien, déployer sur un PaaS et ne pas avoir à gérer de serveur, c'est mieux.)

@florimondmanca florimondmanca changed the title Refonte de l'architecture Refonte de l'architecture frontend Sep 22, 2023
@florimondmanca florimondmanca force-pushed the feat/hotwire branch 5 times, most recently from 59b69bc to aedfc32 Compare September 22, 2023 22:16
@florimondmanca florimondmanca changed the title Refonte de l'architecture frontend Réécriture du frontend Oct 10, 2023
@florimondmanca
Copy link
Contributor Author

Je dois renommer la branche de feat/hotwire à feat-hotwire, car Jelastic n'aime pas les / dans les noms de branche (curieux)

@florimondmanca florimondmanca deleted the feat/hotwire branch October 27, 2023 14:10
@florimondmanca florimondmanca changed the title Réécriture du frontend Réécriture du frontend (ancien) Nov 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Simplification de l'architecture
1 participant