Vue d'ensemble de l'interface admin

Après connexion, l'admin s'ouvre sur le tableau de bord avec une sidebar permanente à gauche, une topbar en haut, et la page active qui remplit le reste. Tout part de là.

Après connexion, l'admin s'ouvre sur le tableau de bord avec une sidebar permanente à gauche, une topbar en haut, et la page active qui remplit le reste. Tout part de là.

Disposition

┌─────────────────────────────────────────────────────────────────┐
│  [Topbar]                            🌐 EN  [email protected]  ⚙ │
├──────────────────┬──────────────────────────────────────────────┤
│  ☰ Logo          │                                              │
│  📊 Tableau bord │                                              │
│  📝 Posts        │                                              │
│  📄 Pages        │              Page active                     │
│  🏷️  Taxonomies  │              rendue ici                      │
│  🖼️  Médias       │                                              │
│  🎨 Thèmes       │                                              │
│  🎭 Plugins      │                                              │
│  📑 Menus        │                                              │
│  👥 Utilisateurs │                                              │
│  ⚙️  Réglages    │                                              │
│  ☀️/🌙           │                                              │
│  🚪 Déconnexion  │                                              │
└──────────────────┴──────────────────────────────────────────────┘

Sur mobile, la sidebar se replie dans un tiroir coulissant déclenché par un bouton hamburger dans la topbar.

Navigation sidebar

Les entrées principales sont :

  • Tableau de bord — vue d'ensemble + cartes contribuées par les plugins
  • Posts — liste paginée + filtres, bouton Nouveau
  • Pages — idem, pour les pages
  • Taxonomies — catégories et tags (avec leur SEO par langue, leurs traductions)
  • Médias — bibliothèque d'images, pipeline multi-variantes
  • Thèmes — installer / désinstaller / configurer le thème actif
  • Plugins — onglets Activés, Disponibles, Must-use, modal d'installation externe
  • Menus — édition drag-and-drop du header / footer
  • Utilisateurs — création / suppression / changement de rôle (admins seulement)
  • Réglages — Général, Performance, et un onglet par plugin avec une page de réglages

Topbar

À droite : le commutateur de langue 🌐, votre email, et un menu profil. À gauche, sur mobile : le bouton hamburger pour ouvrir la sidebar.

Sur les pages d'édition de posts / pages, la topbar est remplacée par une barre d'édition sticky avec les boutons Statut / Sauvegarder / Publier / Supprimer.

Mode sombre

Le toggle ☀️/🌙 en bas de la sidebar bascule entre clair et sombre. Le choix est persisté par utilisateur dans Firestore (mode Firebase) ou dans la table users.preferences (mode SQLite), avec un fallback localStorage pour éviter le flash au prochain chargement.

Langue

Sept langues d'interface : anglais, français, allemand, espagnol, néerlandais, portugais, coréen. Choix par utilisateur, persisté côté backend. Voir Langue et mode sombre.

Architecture sous-jacente

L'admin est une SPA React montée à /admin/. Le routage utilise HashRouter (URLs en /admin/#/posts) pour que le déploiement sur un sous-dossier Flexweg ne nécessite aucune règle de réécriture côté serveur. Toutes les opérations CRUD passent par les services dispatchers (src/services/posts.ts, etc.) qui routent vers Firebase ou SQLite selon le backend choisi à l'installation — le code UI au-dessus est agnostique du backend.