commit 1cfb6b8799564c8db5e60d7cea22449a20e5a0f2 Author: mathieu Date: Fri May 15 18:58:47 2026 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..911c36f --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,28 @@ +# 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`) \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..815afd2 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,7 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "rust-ipam" +version = "0.1.0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..41b7008 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,6 @@ +[package] +name = "rust-ipam" +version = "0.1.0" +edition = "2024" + +[dependencies] diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +}