Contenu vitrine (CMS léger)
Regroupe plusieurs contrôleurs backend au périmètre limité (pages statiques, publications, coordonnées, taux de change...) — un doc léger commun plutôt qu'une page par contrôleur, la plupart étant du CRUD simple sans logique métier notable.
Vérifié le 2026-08-13.
Aperçu par contrôleur
| Contrôleur | Rôle | À noter |
|---|---|---|
publication.controller.js | Documents/actus (PDF en base64) | Endpoint download dédié qui décode et sert le PDF ; le journal d'activité exclut volontairement le blob du diff, ne loggant qu'un indicateur "(nouveau fichier)" |
entreprise_info.controller.js | Fiche identité (adresse, BP, SWIFT, fax) | CRUD simple |
correspondant.controller.js | Banques correspondantes à l'international | CRUD simple, même pattern d'exclusion du blob image du diff |
exchange_rate.controller.js | Taux de change | Pas de CRUD unitaire — publication par lot (publish) de tous les taux d'un jour donné, atomique, un seul log d'activité global |
newsletter.controller.js | Abonnés newsletter | Vérifie l'unicité de l'email avant création (409 explicite, en plus de la contrainte DB) |
page/banniere — supprimés le 2026-08-13
Ce contrôleur (page.controller.js + banniere.controller.js, routes /api/pages//api/bannieres) n'était appelé par aucune page publique ni aucun écran backoffice — recherche exhaustive dans frontend/src sans résultat, et page n'existait en base que comme conteneur de banniere (aucune autre relation). Le système slides/slide_elements l'avait manifestement remplacé comme mécanisme de bannière d'accueil. Contrôleurs, services et routes supprimés (page.controller.js, page.service.js, page.routes.js, banniere.controller.js, banniere.service.js, banniere.routes.js, démontage de /api/pages//api/bannieres dans server.js). Les modèles Prisma page/banniere et leurs tables n'ont pas été touchés — suppression de schéma/DB volontairement hors périmètre de ce nettoyage.
Note : sellphone_number
Malgré son nom, sellphone_number n'a rien à voir avec de la vente. C'est une table de numéros de téléphone de contact, rattachée soit à une agence (id_agence), soit à la fiche entreprise (id_info) — chacune pouvant avoir plusieurs numéros. Preuve : le modèle Prisma (id_contact, number, relation optionnelle vers agence ou entreprise_info) et le frontend qui l'utilise exclusivement sous le nom telephones (AgenciesView.vue, SiteSettingsView.vue) — jamais "vente". Nom probablement issu d'une coquille pour cellphone_number (téléphone mobile), propagée dans le modèle, les routes et la doc Swagger. Rien de cassé, juste un nom trompeur à connaître avant de chercher une fonctionnalité de vente qui n'existe pas.