Interface - Implémentation d'une première ébauche technique #40

Merged
florian_briand merged 7 commits from feat/8_implement_main_ui into main 2024-08-06 21:12:31 +02:00

Détails

Cette PR met concrètement en place une première interface combinant les technologies front choisies pour le projet.

  • Setup de tailwindcss (+ documentation basique sur son usage)
  • Implémentation d'un composant "complexe" de barre de navigation
  • Gestion du responsive
  • Combinaison de Askama (Jinja) + HTMX
  • Usage de AlpineJS pour les micro-interactions (affichage des menus)

image
image

À suivre, dans une seconde PR : une interface moins "random" et plus orientée vers nos besoins

Pourquoi ?

Contirbue à #8

Documentation

No response

### Détails Cette PR met concrètement en place une première interface combinant les technologies front choisies pour le projet. - Setup de tailwindcss (+ documentation basique sur son usage) - Implémentation d'un composant "complexe" de barre de navigation - Gestion du responsive - Combinaison de Askama (Jinja) + HTMX - Usage de AlpineJS pour les micro-interactions (affichage des menus) ![image](/attachments/3a7a4e94-f867-4d1f-97b5-eeff66ef40ee) ![image](/attachments/54c07007-721d-4f2e-af71-8316f7a66039) À suivre, dans une seconde PR : une interface moins "random" et plus orientée vers nos besoins ### Pourquoi ? Contirbue à #8 ### Documentation _No response_
florian_briand added the
enhancement
module/frontend
labels 2024-08-05 00:24:12 +02:00
florian_briand added 5 commits 2024-08-05 00:24:12 +02:00
Owner

J'ai 3 petites remarques :

  • devrions nous pas nous bloquer une version précise de TailwindCSS
  • Nous devrions pas gérer le code rust et le code html au même endroit en mode component parce que aller dans src/templates/hello.rs et templates/hello.html sur la longue je ne suis pas sur que ça soit une bonne idée après c'est peut être pas possible ? ou qu'il y a une raison ;)
  • le fichier crates/app/assets/css/style.css est un fichier généré non ? si c'est le cas nous ne devrions pas l'embarquer dans Git
J'ai 3 petites remarques : - devrions nous pas nous bloquer une version précise de TailwindCSS - Nous devrions pas gérer le code rust et le code html au même endroit en mode component parce que aller dans `src/templates/hello.rs` et `templates/hello.html` sur la longue je ne suis pas sur que ça soit une bonne idée après c'est peut être pas possible ? ou qu'il y a une raison ;) - le fichier `crates/app/assets/css/style.css` est un fichier généré non ? si c'est le cas nous ne devrions pas l'embarquer dans Git
Author
Owner

J'ai 3 petites remarques :

  • devrions nous pas nous bloquer une version précise de TailwindCSS

J'avoue ; je n'y avais pas pensé, mais ça peut valoir le coup d'indiquer une version dans le README

  • Ajouter la version de tailwind dans le README
  • Nous devrions pas gérer le code rust et le code html au même endroit en mode component parce que aller dans src/templates/hello.rs et templates/hello.html sur la longue je ne suis pas sur que ça soit une bonne idée après c'est peut être pas possible ? ou qu'il y a une raison ;)

La raison "actuelle", c'est que la config' par défaut de Askama va chercher les templates HTML dans le dossier /templates ; ça se combine avec une "culture" visant à ne pas mélanger le code Rust du reste
Mais je trouve aussi que cette séparation est un peu dégueu / relou ; à explorer :/ Je vais garder ça en tête et p'tet faire des expérimentations dans la prochaine PR

  • le fichier crates/app/assets/css/style.css est un fichier généré non ? si c'est le cas nous ne devrions pas l'embarquer dans Git

Il est généré par la CLI tailwindcss. Idéalement, on configurerait le build.rs pour générer ce fichier à chaque build (mais ça demande à gérer le crossplatform de la CLI tailwind) et rendre ça transparent.
Mais pour l'instant, je préfère commit le style.css pour éviter à tout le monde de devoir installer la CLI et lancer manuellement la génération du style.css pour faire la moindre chose.

> J'ai 3 petites remarques : > - devrions nous pas nous bloquer une version précise de TailwindCSS J'avoue ; je n'y avais pas pensé, mais ça peut valoir le coup d'indiquer une version dans le README - [x] Ajouter la version de tailwind dans le README > - Nous devrions pas gérer le code rust et le code html au même endroit en mode component parce que aller dans `src/templates/hello.rs` et `templates/hello.html` sur la longue je ne suis pas sur que ça soit une bonne idée après c'est peut être pas possible ? ou qu'il y a une raison ;) La raison "actuelle", c'est que la config' par défaut de Askama va chercher les templates HTML dans le dossier `/templates` ; ça se combine avec une "culture" visant à ne pas mélanger le code Rust du reste Mais je trouve aussi que cette séparation est un peu dégueu / relou ; à explorer :/ Je vais garder ça en tête et p'tet faire des expérimentations dans la prochaine PR > - le fichier `crates/app/assets/css/style.css` est un fichier généré non ? si c'est le cas nous ne devrions pas l'embarquer dans Git Il est généré par la CLI tailwindcss. Idéalement, on configurerait le `build.rs` pour générer ce fichier à chaque build (mais ça demande à gérer le crossplatform de la CLI tailwind) et rendre ça transparent. Mais pour l'instant, je préfère commit le `style.css` pour éviter à tout le monde de devoir installer la CLI et lancer manuellement la génération du `style.css` pour faire la moindre chose.
florian_briand added 2 commits 2024-08-05 22:33:54 +02:00
kosssi approved these changes 2024-08-06 00:10:32 +02:00
kosssi left a comment
Owner

Le menu est quand même un bon exemple, qui permet de comprendre le fonctionnement même si je suis pas encore à l'aise avec la syntaxe de Rust, voir du HTML me rassure 👼 J'ai pris le temps en tout cas de bien lire le code plusieurs fois. Je commence à comprendre la logique 👍

Je trouve ça dommage pour le style.css ce n'est pas si complexe que ça a comprendre et nous sommes que 4 :p
Le top serait que Rust le lance automatiquement et que TailwindCSS soit un prérequis ou qu'il le télécharge automatiquement carrement ^. On verra ça plus tard, je n'ai pas assez d’expérience en tout cas pour l'implémenter et savoir si c'est faisable.

Le menu est quand même un bon exemple, qui permet de comprendre le fonctionnement même si je suis pas encore à l'aise avec la syntaxe de Rust, voir du HTML me rassure 👼 J'ai pris le temps en tout cas de bien lire le code plusieurs fois. Je commence à comprendre la logique 👍 Je trouve ça dommage pour le `style.css` ce n'est pas si complexe que ça a comprendre et nous sommes que 4 :p Le top serait que Rust le lance automatiquement et que TailwindCSS soit un prérequis ou qu'il le télécharge automatiquement carrement ^. On verra ça plus tard, je n'ai pas assez d’expérience en tout cas pour l'implémenter et savoir si c'est faisable.
Author
Owner

J'ai rajouté un ticket (#43) pour penser à implémenter ce build automatique

J'ai rajouté un ticket (#43) pour penser à implémenter ce build automatique
theo approved these changes 2024-08-06 20:55:09 +02:00
florian_briand force-pushed feat/8_implement_main_ui from 86f29c3169 to f3495b8fb4 2024-08-06 21:11:05 +02:00 Compare
florian_briand merged commit 898ee32f9a into main 2024-08-06 21:12:31 +02:00
florian_briand deleted branch feat/8_implement_main_ui 2024-08-06 21:12:31 +02:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: P4Pillon/Krys4lide#40
No description provided.