# 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`)