fix: corrections post-audit (traçabilité, identité État, accents, graphique mobile)

Backend:
- table audits réellement alimentée via trait Auditable (observers Eloquent)
  sur Utilisateur, SaisieTracker, Feed, Emotion ; mot de passe jamais loggé
- 4 nouveaux tests (19/19 au total)

Frontend web:
- en-tête/pied République Française ajoutés aux pages connexion/inscription
- bouton variant danger réellement rouge (tokens erreur DSFR)

Mobile:
- ~30 libellés ré-accentués (Intensité, Succès, Déconnexion, Répartition...)
- Colors.secondary = rouge Marianne #E1000F (différenciation cartes/icônes)
- vrai camembert SVG des rapports (react-native-svg)

Docs: plans oraux mis à jour (audits actif, 29 tests, stockage JWT en Q/R)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Azmog
2026-06-19 11:17:40 +02:00
parent 7be7bec53d
commit 4f54340e89
25 changed files with 580 additions and 49 deletions
+13 -4
View File
@@ -1,13 +1,22 @@
import Header from '@/components/layout/Header';
import Footer from '@/components/layout/Footer';
export default function AuthLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<div className="fr-container fr-py-8w">
<div className="fr-grid-row fr-grid-row--center">
<div className="fr-col-12 fr-col-md-8 fr-col-lg-6">{children}</div>
</div>
<div className="min-h-screen flex flex-col">
<Header />
<main className="flex-1">
<div className="fr-container fr-py-8w">
<div className="fr-grid-row fr-grid-row--center">
<div className="fr-col-12 fr-col-md-8 fr-col-lg-6">{children}</div>
</div>
</div>
</main>
<Footer />
</div>
);
}
+13
View File
@@ -10,3 +10,16 @@
border: 1px solid var(--border-default-grey);
border-radius: 0.25rem;
}
/* Bouton d'action destructive (rouge) — le DSFR ne fournit pas de variante
« danger » native, on surcharge donc les couleurs avec les tokens d'erreur. */
.fr-btn.app-btn--danger {
color: var(--text-inverted-grey);
background-color: var(--background-action-high-error);
}
.fr-btn.app-btn--danger:hover {
background-color: var(--background-action-high-error-hover);
}
.fr-btn.app-btn--danger:active {
background-color: var(--background-action-high-error-active);
}
+1 -1
View File
@@ -17,7 +17,7 @@ const variantClasses: Record<ButtonVariant, string> = {
secondary: "fr-btn--secondary",
outline: "fr-btn--secondary",
ghost: "fr-btn--tertiary-no-outline",
danger: "fr-btn--secondary",
danger: "app-btn--danger",
};
const sizeClasses: Record<ButtonSize, string> = {