Documentation README

Runique — Framework Rust inspiré de Django

Rust Tests passing License Version Crates.io Runique

Runique est un framework web basé sur Axum, axé sur les formulaires typés, les middlewares de sécurité, le rendu de templates, l’intégration ORM, et un workflow d’administration généré automatiquement.

État actuel : en développement actif. La source de vérité du framework est le crate runique. demo-app est utilisée comme application de validation/test du comportement du framework.

🌍 Langues : Anglais | Français


Contenu de ce dépôt

Version du workspace (source de vérité) : 1.1.54.


Capacités principales

Les modules publics principaux sont exposés depuis runique/src/lib.rs.


Installation

git clone https://github.com/seb-alliot/runique
cd runique
cargo build --workspace
cargo test --workspace

Guide détaillé : Installation https://runique.io/docs/en/installation


Utilisation rapide

use runique::prelude::*;

#[tokio::main]
async fn main() {
    let config = RuniqueConfig::from_env();
    let app = RuniqueApp::builder(config).build().await.unwrap();
    app.run().await.unwrap();
}

CLI (commandes actuelles)

runique fournit :

⚠️ Attention La commande makemigrations génère les tables SeaORM tout en respectant l’ordre chronologique du système de migrations. Pour garantir la cohérence du suivi des migrations, utilisez uniquement le CLI SeaORM pour les appliquer ou les gérer. L’utilisation d’autres commandes peut entraîner une désynchronisation des migrations.


Statut de l’admin (bêta)

Comportement du daemon admin dans start :

Les ressources admin sont déclarées dans src/admin.rs via admin!.

Workflow :

  1. parse des déclarations admin!
  2. génération du code admin dans src/admins/
  3. rafraîchissement automatique via watcher

Limites actuelles (bêta) :

Documentation admin : https://runique.io/docs/en/admin


Features et bases de données

Features par défaut :

Backends disponibles :


Tests et couverture

cargo llvm-cov --tests --package runique --ignore-filename-regex "admin" --summary-only

Sessions

CleaningMemoryStore remplace le MemoryStore par défaut avec :

Fonctionnement :

Référence complète : https://runique.io/docs/en/session


Variables d’environnement

Tout est configurable via .env. Variables principales :

RUNIQUE_SESSION_CLEANUP_SECS=60
RUNIQUE_SESSION_LOW_WATERMARK=134217728
RUNIQUE_SESSION_HIGH_WATERMARK=268435456
SECRET_KEY=your-secret-key
DATABASE_URL=sqlite://db.sqlite3

Référence complète : https://runique.io/docs/en/env


Documentation


État du projet

Pour un rapport détaillé et continuellement mis à jour : PROJECT_STATUS.md https://github.com/seb-alliot/runique/blob/main/docs/en/PROJECT_STATUS.en.md


Ressources


Licence

MIT — voir LICENSE https://github.com/seb-alliot/runique/blob/main/LICENSE