28 lines
934 B
Markdown
28 lines
934 B
Markdown
# Projet Web Rust — Axum + Leptos
|
|
|
|
## Stack technique
|
|
- Backend : Axum (serveur HTTP)
|
|
- Frontend : Leptos (SSR/WASM)
|
|
- Langage : Rust (édition 2021)
|
|
- Build : cargo + trunk (pour Leptos)
|
|
|
|
## Niveau développeur
|
|
- Débutant en Rust — toujours expliquer les concepts Rust utilisés
|
|
- Préférer du code commenté avec les raisons des choix
|
|
|
|
## Conventions
|
|
- Utiliser `thiserror` pour la gestion d'erreurs
|
|
- Utiliser `tracing` pour les logs (pas `println!`)
|
|
- Séparer backend (`src/server/`) et frontend (`src/client/`)
|
|
- Nommer les composants Leptos en PascalCase
|
|
|
|
## Commandes utiles
|
|
- Build backend : `cargo build`
|
|
- Dev frontend : `trunk serve`
|
|
- Tests : `cargo test`
|
|
- Lint : `cargo clippy`
|
|
|
|
## Règles importantes
|
|
- Ne jamais utiliser `unwrap()` en production — toujours `?` ou `.expect("message clair")`
|
|
- Toujours expliquer les lifetimes si elles apparaissent
|
|
- Préférer les types idiomatiques Rust (`Option`, `Result`) |