Back-office
Le back-office est servi sous le préfixe /admin par les contrôleurs de
src/Controller/admin/. Il est partagé par plusieurs profils : administrateurs, opérateurs,
support et managers d'entreprise. Le périmètre visible dépend du rôle.
Contrôle d'accès
Aucune règle globale ^/admin n'est déclarée dans security.yaml (elle y figure en
commentaire). La protection repose donc entièrement sur les attributs #[IsGranted] et les
appels isGranted() de chaque contrôleur. Toute nouvelle action ajoutée sous /admin doit
donc porter explicitement son contrôle d'accès.
Rôles rencontrés dans le back-office :
| Rôle |
Portée typique |
ROLE_ADMIN |
Accès complet |
ROLE_SUPER_ADMIN |
Opérations les plus sensibles |
ROLE_OPERATOR |
Commandes, cartes, entreprises |
ROLE_SUPPORT |
Consultation des clients et des abonnés |
ROLE_MANAGER |
Périmètre restreint à sa propre entreprise |
Tableau de bord
Route : /dashboard — DashboardController
Point d'entrée unique dont le contenu varie selon le rôle :
| Rôle |
Contenu |
ROLE_ADMIN, ROLE_SUPER_ADMIN |
5 dernières commandes, toutes les cartes, chiffre d'affaires du jour, du mois et de l'année (paiements COMPLETED et ACCEPTED), séries sur 12 mois glissants (nouveaux utilisateurs, montant des paiements) |
ROLE_MANAGER |
Cartes, paiements, employés et commandes de son entreprise |
ROLE_OPERATOR, ROLE_SUPPORT |
Clients en attente, clients activés, nouveaux clients du mois, effectifs support et opérateurs, 5 derniers clients |
ROLE_EMPLOYEE |
La carte de visite qui lui est rattachée |
| Utilisateur standard |
Ses commandes et ses cartes actives |
Modules
Entreprises — AdminBusinessController
| Route |
Action |
/admin/business/pending |
Entreprises en attente d'activation |
/admin/business/list |
Toutes les entreprises |
/admin/business/activated · /admin/business/deactivated |
Filtres par état |
/admin/business/activate/{id} · /admin/business/deactivate/{id} |
Activation, désactivation |
/admin/business/view/{id} · /admin/business/edit/{id} |
Consultation, modification |
/admin/business/payment/settle/{id} |
Régularisation d'un paiement |
Tant qu'une entreprise n'est pas activée, son manager est redirigé vers l'accueil à chaque
tentative d'accès au tableau de bord.
Clients — AdminClientController
| Route |
Action |
/admin/clients/{id} |
Fiche client |
Catalogue de cartes — AdminCardController, AdminCardModelController
| Route |
Action |
/admin/card |
Liste des produits |
/admin/business/card/new |
Création |
/admin/card/{id}/edit |
Modification |
/admin/card/{id}/show · /admin/card/{id}/hide |
Affichage, masquage au catalogue |
/admin/card/{id} (DELETE) |
Suppression |
/admin/show/{id}/apercu |
Aperçu |
/admin/card-models |
Modèles graphiques (CRUD, activation, suppression) |
Commandes — AdminOrderController, OrderStatusController
| Route |
Action |
/admin/order |
Liste des commandes |
/admin/order/retail/{id} |
Détail |
/admin/order/{id}/status · /admin/order/{id}/update-status |
Changement de statut |
/admin/order/statuses |
Statuts disponibles (JSON) |
/admin/order/{id}/traitment |
Passage en traitement |
/admin/order/{id}/shipping |
Informations d'expédition |
/admin/order/order-item/{id}/design |
Visuel d'une ligne de commande |
/admin/order/physical-card/{id}/download-qr |
Téléchargement du QR code |
/admin/order/physical-card/{id}/download-logo |
Téléchargement du logo |
/admin/order/physical-card/{id}/send-to-designer |
Transmission au graphiste |
Les changements de statut sont consignés dans le journal d'audit.
Cartes physiques — AdminPhysicalCardOrderController
| Route |
Action |
/admin/physical-cards/order/{id} |
Commande d'une carte physique pour le compte d'un utilisateur |
Cartes virtuelles — VirtualCardController
| Route |
Action |
/admin/virtual-cards/clients |
Clients et leurs cartes |
/admin/virtual-cards/clients/{id}/create |
Création d'une carte pour un client |
/admin/virtual-cards/cards/{id}/edit |
Modification |
Employés et cartes d'employés — EmployeeController, EmployeeBusinessCardController
| Route |
Action |
/admin/employees/ |
Liste des employés |
/admin/employees/new · /admin/employees/{id}/edit |
Création, modification |
/admin/employees/{id}/activate · /admin/employees/{id}/deactivated |
Activation, désactivation |
/admin/employee-business-cards/ |
Cartes des employés |
.../create/{employee} · .../create-employee |
Création d'une carte, création employé + carte |
.../bulk-create |
Création en masse |
.../publish/{id} · .../draft/{id} · .../disable/{id} · .../reactivate/{id} |
Cycle de vie de la carte |
.../regenerate-qr/{id} · .../download-qr/{id} |
QR code |
Ce module est le domaine du ROLE_MANAGER pour sa propre entreprise, les administrateurs,
opérateurs et support disposant d'une vue transverse.
Configuration d'entreprise — CompanyConfigurationController
| Route |
Action |
/admin/company-configuration/ |
Charte de carte de l'entreprise (ROLE_MANAGER) |
/admin/company-configuration/remove-logo |
Suppression du logo |
Commandes entreprise — CompanyOrderController, CompanyPaymentController
| Route |
Action |
/admin/company-orders/ |
Liste |
/admin/company-orders/new · /admin/company-orders/bulk-order |
Commande simple, commande groupée |
/admin/company-orders/{id} |
Détail |
/admin/company-payment/select-method · /process |
Choix du moyen de paiement, règlement |
/admin/company-payment/success/{order} · /failed/{order} |
Retours de paiement |
/admin/company-payment/retry/{order} |
Nouvelle tentative |
Abonnements et plans — PlanController, ClientSubscriptionController, SubscriberController
| Route |
Action |
/admin/plans/ |
Liste des offres |
/admin/plans/new · /admin/plans/{id}/edit |
Création, modification |
/admin/plans/{id}/toggle-status · /admin/plans/reorder |
Activation, réordonnancement |
/admin/client-subscriptions/new |
Souscription pour le compte d'un client |
/admin/client-subscriptions/orders |
Commandes d'abonnement |
/admin/client-subscriptions/orders/{id}/mark-paid |
Marquage manuel comme réglée |
/admin/subscriber/free-subscriber · /pro-subscriber |
Abonnés par offre |
/admin/subscriber/{id} |
Fiche abonné |
Paiements — PaymentController, ProPaymentController
| Route |
Action |
/admin/payment |
Liste des paiements |
/admin/invoice/payment/{id} |
Facture PDF |
/admin/pro-payments/ · /admin/pro-payments/{id} |
Paiements professionnels |
/admin/pro-payments/enterprise-payments |
Paiements entreprise |
/admin/pro-payments/{id}/invoice |
Facture PDF professionnelle |
Utilisateurs — UserController
| Route |
Action |
/admin/users-list |
Liste |
/admin/users-new · /admin/users-update{id} |
Création, modification |
/admin/users/{id}/activate · /deactivate |
Activation, désactivation |
/admin/users/{id}/delete |
Suppression (anonymisation via ROLE_USER_DELETED) |
Paramètres — SettingController
| Route |
Action |
/admin/setting/ |
Paramètres généraux de l'application (ROLE_ADMIN) |
Journal d'audit — AuditLogController
| Route |
Action |
/admin/audit-logs |
Consultation du journal (ROLE_ADMIN, ROLE_OPERATOR, ROLE_SUPPORT) |
Actions tracées : création, modification, activation, désactivation et suppression
d'utilisateur ; création et activation d'abonnement ; changement de statut de commande ;
création, modification et suppression de carte virtuelle.