README

🚀 Runique — Framework Rust inspiré de Django

Rust Tests passing License Version Crates.io Runique

Runique est un framework web construit sur Axum, axé sur les formulaires type-safe, les middlewares de sécurité, le rendu de templates, l'intégration ORM et un workflow d'administration généré par code.

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

🌍 Langues : English | Français


Ce que contient ce dépôt

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


Capacités principales

Les principaux modules publics 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


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 :

⚠️ Avertissement La commande makemigrations permet de générer les tables SeaORM tout en respectant la chronologie du système de migrations. Pour garantir la cohérence du suivi des migrations, utilisez uniquement la CLI de SeaORM pour appliquer ou gérer les migrations. L'utilisation des commandes peut entraîner une désynchronisation.

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. parser les déclarations admin!
  2. générer le code admin dans src/admins/
  3. rafraîchir automatiquement lors des modifications grâce au mode watcher

Limites actuelles de la bêta :

Documentation admin : Admin


Features et bases de données supportées

Features par défaut :

Backends sélectionnables :


Snapshot tests et couverture

Commande utilisée pour la couverture :

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

Sessions

CleaningMemoryStore remplace le MemoryStore par défaut avec un nettoyage automatique des sessions expirées, un système de watermarks à deux niveaux (128 Mo / 256 Mo) et une protection prioritaire des sessions à valeur.

Documentation complète : Sessions


Variables d'environnement

Tout le comportement est configurable via .env. Variables principales :

RUNIQUE_SESSION_CLEANUP_SECS=60
RUNIQUE_SESSION_LOW_WATERMARK=134217728
RUNIQUE_SESSION_HIGH_WATERMARK=268435456
SECRET_KEY=votre-cle-secrete
DATABASE_URL=sqlite://db.sqlite3

Référence complète : Variables d'environnement


Carte de la documentation


Ressources


Licence

MIT — see LICENSE