MODIFICATIONS SBUIADMIN

Point 18 — Boutique (e-commerce), Phase 1 (schéma + CRUD admin catalogue)

Point 23 — Clôture (paramètres Smarty, cache, rewrite URL, contenu de démo)

Point 22 — Suppression de backdoor/index-cookie.php

Point 9 — Clôture (compatibilité PHP 8.4)

Point 1 (suite) — install/ protégé, CSRF, en-têtes HTTP, upload/ durci, visibilité des classes

Point 1 — Audit sécurité (injection SQL login, sessions, mots de passe hachés)

Points 11 + 19 — Clôture (page "Mon profil" self-service)

Point 20 — Clôture (tooltips sur les icônes de tableaux)

Point 1 (suite) — Fix menu.php "Modifier"/"Ajouter" (liste vide au lieu du formulaire)

Point 21 — Clôture (6 nouveaux blocs Page Builder)

Ménage — Changelog déplacé hors du dépôt git

Point 15 (fin) — Fuite CSS de bootstrap.css sur les pages Page Builder

Point 15 — Clôture (Tabbs, FAQ, Blocs testés avec succès)

Point 15 (suite) — Autres correctifs trouvés en testant le module Actualités

Point 15 (suite) — Bloc "Carte" remplacé par Leaflet (abandon de Google Maps)

Point 15 (suite) — Nettoyage HTML côté front

Point 15 (Phase 2, suite) — Bugs de drag & drop trouvés en testant le module Pages

Point 15 (Phase 2) — 5 modules câblés (Pages, Tabbs, Actualités, FAQ, Blocs)

Point 15 (Phase 2) — Nouveau réglage "Modules utilisant le Page Builder"

Point 15 (suite) — Nouveau bouton "Code généré" + classes .sb* pour le front

Point 15 (suite) — Bug annexe : blocs glissés-déposés visuellement "opacifiés"

Point 15 (suite) — Régression "soupe de code" diagnostiquée et corrigée

Suite — Sélecteur d'image du Page Builder branché sur le vrai média du CMS

Point 15 (phase 1/2) — Page Builder réparé et modernisé (sandbox uniquement)

addPageBuilder() (inc/class/sbuiadmin-form.php) et son plugin tiers (inc/plugins/pagebuilder/) étaient laissés tels quels depuis la Phase 3 de la refonte Adminator — jamais finis ni modernisés. Audit préalable : seul sandbox.php l'utilise réellement à ce stade. Cadré en 2 phases avec le client : phase 1 (cette entrée) = réparer le fonctionnement + moderniser le look sur sandbox.php uniquement ; phase 2 (plus tard, voir entrées ci-dessus) = intégration dans les vrais modules avec réglage par module.

Point 3 (suite) — 4 types de widgets dashboard supplémentaires + UX du formulaire

Point 3 — Refonte du dashboard en widgets configurables

Remplace l'ancien mécanisme de dashboard (fichier plat inc/admin/dashboard.txt, 4 emplacements fixes codés en dur) par un vrai système de widgets configurables (sb_dashboard_widgets), avec CRUD complet (dashboard.php) et plusieurs types de widgets : table (branché sur n'importe quelle table SQL du cœur, compteur/tendance 7j/graphique SVG maison), system (7 métriques serveur), weather (météo Open-Meteo, géocodage à l'enregistrement), html/text (code brut ou CKEditor), puis en suite : rss, iframe, logs, logaccess (voir entrée suivante).

Point 12 (préparation) — Champs profil + avatar dans la fiche utilisateur

Premier volet du point 12 (page "Profil" personnelle) : extension de la fiche utilisateur existante (users.php) avec les champs profil et une photo, en préparation de la future page self-service.

Point 13 — Messagerie interne 1-à-1 (temps réel par polling)

Nouveau module de messagerie entre utilisateurs admin (pas de groupes), annoncé avec une page de référence du thème Adminator (chat.html) et cadré ensuite : 1-à-1, mise à jour temps réel, badge de non-lus dans la topbar, nouvelle table SQL incluse dans l'install de départ.

Dashboard — Alertes sécurité admin en toasts empilables + pause au survol (toast.js)

Contact — Boutons d'insertion de champs (NAME/EMAIL/TEXT/...) empilés verticalement

Point 1 — Système de droits granulaires (voir/ajouter/modifier/supprimer par module)

Remplace l'ancien mécanisme (sb_users.menu, liste pipe-délimitée de modules masqués dans le menu, sans aucune vérification côté serveur — connaître l'URL suffisait à tout contourner) par une vraie matrice de droits, appliquée avant l'exécution de chaque contrôleur.

Point 17 (suite) — Durée d'affichage des toasts paramétrable + fix affichage différé après sauvegarde

sandbox.php — section hero + boutons chartés, nouvelle série de collisions Bootstrap 3

Fixes Tabbs, Pages, CMS Config, Journaux, sandbox (bordures addBreak)

Point 2 — Corrige plusieurs bugs de champs de formulaire (icônes, préfixe texte, largeur, Tagify, aide, alignement)

Découverts en creusant un simple souci d'alignement d'icône sur le champ de démo "Nom (2 icônes)" de sandbox.php. Les correctifs étant au niveau de la classe form partagée (inc/class/sbuiadmin-form.php), ils s'appliquent aussi à d'autres modules déjà en production (Slider, News, Pages, Contact), pas seulement à la page de démo.

Point 6 — Masquage des identifiants BDD/reCAPTCHA (Configuration générale)

FAQ : sous-menu, fix affichage tableau selon l'action, modal Shortcodes enrichie (FAQ + News)

Nouveau module FAQ (admin + front) et séparateurs dans Configuration générale

Fix grille Plugins/droits utilisateurs + sections .hero sur les modules de contenu

Section .hero sur les pages système + anti-flood login + fixes menu

Point 7 : redesign du séparateur addBreak() dans les formulaires

Médias : pagination, polish visuel, upload gros fichiers + fix PHP8

Menu utilisateur dans la topbar (façon Adminator) + tooltips sur les icônes

Fix lien mort vers l'admin après une installation fraîche (netinstall)

Fix alignement icône/texte du bloc Actions et boutons submit/reset côte à côte

Retouches page de login + modal.js (suite retours utilisateur)

Fix — Lien "Retour au site" sur la page de login

Phase 7 — Nettoyage final (retrait de Bootstrap/jQuery legacy)

Avant toute suppression, audit exhaustif (templates + contrôleurs PHP racine, pas seulement les dossiers habituels) de ce qui dépendait encore réellement de Bootstrap/jQuery/sb-admin-2/sb-admin-custom, pour ne rien casser silencieusement.

Fix — Blocs flottants empilés au lieu de s'aligner (médias, thème, formulaires)

Fix — Menu "Journaux" dupliqué 3 fois + entrées "Menu"/"Blocs" manquantes

Retouche — Version du CMS désynchronisée + contributeur readme

Retouche — Boutons submit/reset en pleine largeur (constructeur de formulaires)

Phase 6 — Pages système restantes

Phase 5 (complet) — Enveloppe de page des 6 modules

Phase 5 (partiel) — Modules de contenu : confirm.js + barres d'outils

Phase 4 — Dashboard d'accueil

Hors-plan — Bandeau bienvenue + alertes Adminator sur tout l'admin (demandes directes)

Phase 3 — Constructeur de formulaires partagé

Hors-plan — Restyle des tableaux DataTables (demande directe, en avance sur les Phases 4-6)

Le client a demandé de restyler tous les tableaux utilisant DataTables selon datatable.html d'Adminator, avant l'exécution dans l'ordre des Phases 4-6. Fait en une passe dédiée.

Phase 2 — Chrome partagé (header/footer/sidebar/topbar)

Cette phase impacte toutes les pages connectées d'un coup (sidebar/topbar partagées par l'ensemble du backdoor).

Phase 1 — Pages autonomes : login, 404, 500

Phase 0 — Infrastructure

Début d'un chantier par étapes visant à remplacer entièrement l'ancien thème Bootstrap 3 / jQuery (~2016, "SB Admin 2") du backdoor par le thème moderne Adminator (CSS Grid + variables CSS, mode sombre natif). Plan détaillé en 8 phases conservé dans /home/patrice/.claude-patrice/plans/ethereal-bouncing-volcano.md.

Fix alerte vide sur la page de login

Fix erreur fatale à l'accès du backdoor admin