Aller au contenu

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 : /dashboardDashboardController

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.