feat(rust) : serveur réécrit en Rust, Node retiré ; Calendrier en tête du menu (#571)

- Serveur Rust (server-rs/, axum + sqlx) : les 148 adresses de l'API,
  l'interface, les migrations de démarrage et les tâches de fond ; même
  comportement que Node (banc : 2027 cas, 0 écart hors écarts déclarés
  USERS-02, RAPPRO-21, R4, R5).
- Node retiré : server/, dépendances serveur, image Docker sans Node
  (51 Mo), docker-compose à un seul service applicatif.
- R4 : écritures d'un autre site refusées (Sec-Fetch-Site / Origin).
- R5 : « aujourd'hui » et sauvegarde automatique à l'heure de Paris.
- R6 : mainteneur dans .github/CODEOWNERS.
- Menu latéral : Accueil puis Calendrier en tête.
- Plan et état : docs/PLAN-MIGRATION-RUST.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ke2qyS8rgacP3ap5iezDbM
This commit is contained in:
LogiFlowandClaude Opus 5.5 authored and GitHub committed 2026-10-15 20:31:14 +02:00
1 parent 6760f43e87
commit 600627c632
146 files changed
+31521 -20331

No files matched your search

+23
View File
@@ -0,0 +1,23 @@
#!/usr/bin/env bash
# Construit le serveur Node de référence du banc, depuis le dernier commit qui le
# contient (REFERENCE_NODE_COMMIT), dans une copie de travail à part. Le serveur
# Node ayant quitté le dépôt, c'est contre lui que Rust est comparé.
# Usage : scripts/bench/reference-node.sh [dossier] (défaut : .bench-reference)
# Puis : export BENCH_NODE_DIR=<dossier>
set -euo pipefail
root="$(cd "$(dirname "$0")/../.." && pwd)"
commit="$(tr -d '[:space:]' < "$root/scripts/bench/REFERENCE_NODE_COMMIT")"
dir="${1:-$root/.bench-reference}"
if [ ! -d "$dir/.git" ] && [ ! -f "$dir/.git" ]; then
git -C "$root" worktree add --detach "$dir" "$commit" > /dev/null
else
git -C "$dir" checkout --detach -q "$commit"
fi
cd "$dir"
if [ ! -f dist/index.js ] || [ "$(cat dist/.commit 2>/dev/null)" != "$commit" ]; then
npm ci --no-audit --no-fund > /dev/null
scripts/bench/build-node.sh > /dev/null
echo "$commit" > dist/.commit
fi
echo "$dir"