No description
  • Rust 76.2%
  • SCSS 11.8%
  • Fluent 5.3%
  • Shell 3.4%
  • TypeScript 2.3%
  • Other 0.9%
Find a file
2026-07-07 20:29:22 +02:00
.cargo deploy dokploy 2026-06-14 14:33:49 +02:00
.playwright-mcp checkpoint 2026-06-22 23:12:39 +02:00
config SEO 2026-07-06 08:12:49 +02:00
crates SPA -> MPA 2026-07-07 15:55:43 +02:00
docs Index 2026-07-06 23:45:51 +02:00
packages SPA -> MPA 2026-07-07 20:29:22 +02:00
patches/dioxus-interpreter-js-0.7.9 Index 2026-07-06 23:45:51 +02:00
postgres/init pg percona rm 2026-06-26 13:18:40 +02:00
scripts SPA -> MPA 2026-07-07 15:55:43 +02:00
.env.example openpannel 2026-06-29 12:06:47 +02:00
.gitignore post_prod rollback 2026-06-13 22:09:18 +02:00
.stylelintrc.json optimisation ui & code & scss/css 2026-06-08 03:57:31 +02:00
AGENTS.md Refactor fullstack part 2 2026-06-05 23:19:55 +02:00
ARCHITECTURE.md Fixing and improving stufs 2026-07-06 10:36:04 +02:00
Cargo.lock Index 2026-07-06 23:45:51 +02:00
Cargo.toml Index 2026-07-06 23:45:51 +02:00
clippy.toml Refactor fullstack 2026-06-05 20:26:06 +02:00
dashboard-authenticated.png checkpoint 2026-06-22 23:12:39 +02:00
deny.toml connecting multiplateforeme 2026-06-08 18:37:46 +02:00
Dioxus.toml SEO 2026-07-06 08:12:49 +02:00
docker-compose.yml More improvement new db 2026-06-28 00:27:51 +02:00
Dockerfile Index 2026-07-06 23:45:51 +02:00
LICENSE mig surrealDB -> seaORM + postgreSQL, DB migration 2026-02-11 13:11:54 +01:00
plan.md pg ssl 2026-06-25 16:30:52 +02:00
README.md pg percona 2026-06-25 22:23:00 +02:00
screenshot.png Index 2026-07-06 23:45:51 +02:00
STRUCTURE.md More improvement new db 2026-06-28 00:02:20 +02:00
TEST_BOARD.md Fixing and improving stufs 2026-07-06 10:36:04 +02:00
TEST_LOG.md Fixing and improving stufs 2026-07-06 10:36:04 +02:00
zoutils.md checkpoint need to fix light/dark mode 2026-05-18 16:45:41 +02:00

my_rusty_dioxus_boilerplate

Boilerplate Dioxus 0.7 fullstack (SSR + WASM) avec architecture hexagonale (crates domain / application / infrastructure), backend Postgres 17 et Valkey.

🚀 Démarrage rapide

# Installer dx CLI (si pas déjà fait)
curl -sSL http://dioxus.dev/install.sh | sh

# Servir en dev (fullstack)
dx serve --package web
# Build de production (sortie : backend/bin/web/)

scripts/cross-build.sh

# Ou manuellement :
dx bundle --package web --release --out-dir backend/bin/web

# Build de l'image Docker
docker build -t my-rusty-app:latest .

Voir docs/README.md pour l'index complet et docs/PROJECT_AUDIT_2026.md pour l'historique des fixes de sécurité.

📂 Structure

my_rusty_dioxus_boilerplate/
├── Cargo.toml                    # Workspace
├── dx.toml                       # Config Dioxus CLI
├── packages/
│   ├── web/                      # Cible fullstack (SSR + WASM)
│   ├── ui/                       # Composants partagés (i18n, routes, etc.)
│   └── api/                      # Server functions (#[post] / #[get])
├── crates/
│   ├── domain/                   # Cœur métier (pur, zéro dépendance externe)
│   ├── application/              # Use cases + services
│   ├── infrastructure/           # Adapters (DB, SMTP, etc.)
│   ├── entity/                   # Schémas SeaORM
│   ├── migration/                # Migrations SeaORM
│   └── backend/                  # Binaires (create_admin, seed, etc.)
├── config/                       # config-rs settings.toml
├── scripts/                      # dev-runner.sh, generate-sitemap, etc.
├── docs/                         # Documentation centralisée
├── Dockerfile                     # Image Docker fullstack (multi-stage)
│                                   # Note: dioxus-builder:latest vit sur le serveur
│                                   # (/opt/Dockerfile.builder), pas dans ce repo.
└── docker-compose.yml             # Prod : postgres + valkey (Dokploy Compose Stack)

🛠 Stack

  • Frontend : Dioxus 0.7.9, Rust/WASM, SCSS
  • Backend : Tokio 1.52, Axum 0.8, sqlx 0.8, lettre (SMTP), mailgen (emails)
  • DB : PostgreSQL 17 + SeaORM 2.0
  • Cache : Valkey 8 (Redis-compatible)
  • Architecture : Hexagonale (ports & adapters)

🔐 Sécurité

Voir docs/backend/security-audit-2026.md pour le détail des 18 fixes de sécurité appliqués.

📜 Licence

MIT — voir LICENSE.

Le tout s'est fait en Rust, wasm et SCSS/css. Admin : admin@localhost / Admin123! — Demo : user@localhost / Demo123!

  1. Bootstrap production Nécessaire une seule fois après le premier déploiement :

Migrations DB

docker exec /usr/local/app/migration

Création du premier admin (CLI only — pas d'endpoint web)

docker exec /usr/local/app/create_admin docker exec -it dokploy_db psql -U dokploy -d dokploy -c "UPDATE compose SET "appName" =

Admin : admin@localhost / Admin123! — Demo : user@localhost / Demo123!

cargo run -p backend --bin seed --features server

Tu vas faire un audit systématique complet de l'application Dioxus 0.7

Méthodologie :

  • Tu utilises Chrome DevTools (playwright_browser ou chrome-devtools) pour naviguer sur http://localhost:8080
  • Tu ne redémarres JAMAIS le serveur (dx serve tourne déjà dans un autre terminal)
  • Tu documentes TOUT dans deux fichiers : TEST_BOARD.md — roadmap des bugs priorisés (High/Medium/Low) TEST_LOG.md — entrée détaillée par bug : contexte, steps pour reproduire, ce qui se passe vs ce qui devrait, cause probable, correctif proposé
  • Tu ne fixes RIEN pendant la phase d'audit, tu documentes seulement
  • Après audit complet, tu fixes tout en un seul batch (sans recompilation entre chaque fix)
  • Puis tu refais un passage de vérification pour chaque bug corrigé

Ce que tu dois tester (dans cet ordre) :

  • La page se charge sans erreur console ?
  • Chaque lien/bouton est cliquable ?
  • Les formulaires (contact, login, register) postent sans crash WASM ?
  • Les messages d'erreur sont clairs et traduits (i18n) ?
  • Le rendu visuel est cohérent (espacement, alignement, responsive) ?
  • Le code rfrfont end et backend est bien lié? et et le frontend lié à sa soiurce de vérité ?
  1. Dead code / non-câblé :

    • Y a-t-il des composants importés mais jamais utilisés ?
    • Des fonctions API (server functions) qui ne sont jamais appelées depuis le frontend ?
    • Des routes définies dans Route enum qui n'ont pas de page correspondante ?
    • Des imports CSS/SCSS inutilisés ?
    • Des props de composants qui ne sont jamais passées ?
  2. Messages d'erreur : Tous les messages visibles par l'utilisateur doivent être :

    • cle i18n puis traduits comme dans Personal_Projects/my_rusty_dioxus_boilerplate/packages/ui/src/i18n
    • Précis (pas "une erreur est survenue")
    • Traduits via i18n FTL keys

Tous les messages d'erreur/validation qui contiennent une valeur numérique codée en dur (30, 8, 1024, 3, 20, etc.) doivent être paramétrisés : la valeur lue depuis une constante centralisée dans le code, et le message FTL/API utilise une variable ({$n}, {$min}, {$max}) pour s'adapter automatiquement si la constante change

tu ne compile pas durant les tests puisque tu va Rapportes dans TEST_BOARD.md la liste priorisée, et dans TEST_LOG.md le détail complet avec les pbs et correctifs proposés que l'on fera une fois les tests finis, tu diras s'il y a des codes orphelin qui n'on pas été cablé et ceux qui vraiment sont mot et qui ne peuvent en aucun cas etre cablés ; regarde aussi si le frot et le backend sotn cablés ou non et aussi vérifié que "/Users/toto/Desktop/Code/Personal_Projects/paarroo_mcp" a été respecté

pour les outils Chrome DevTools MCP : take_snapshot (arbre a11y), list_console_messages, click, fill, evaluate_script, navigate_page, take_screenshot WASM analysis : wasm-objdump, wasm2wat, wasm-tools, dwarfdump, rg pour analyser le binaire WASM compilé Binary analysis : strings, xxd, readelf-like sur le WASM (wasm-objdump -x, -d, -s) Dependency analysis : cargo metadata, Cargo.lock inspection, rust-mcp-server (cargo-tree, cargo-info, workspace-info) DWARF debugging : dwarfdump sur le WASM pour tracer les call sites de panique Source analysis : grep, read, glob, rust-mcp-server (cargo-check, cargo-clippy)