Aller au contenu principal

Backend

Systeme de plugins (middleware)

Les plugins sont executes dans l'ordre lors de chaque requete via la methode preDispatch():

1. Web4u_Plugin_Cms_Auth

Plugin d'authentification et d'autorisation. Processus:

  • Assigne le role 'visitor' par defaut
  • Si authentifie: charge l'utilisateur via Cms_Model_Users (lookup MD5), verifie le statut (doit etre 1), assigne le role 'user'
  • Charge les ressources dynamiques depuis Cms_Model_Users_Resources
  • Verifie l'ACL: isAllowed(role, resource, action)
  • Si non authentifie: redirige vers login (JSON error pour AJAX)
  • Si non autorise: redirige vers page d'erreur droits
  • Gere le timeout de session et "remember me"

2. Web4u_Plugin_Cms_Routes

Enregistrement des routes du module CMS.

3. Web4u_Plugin_Cms_Languages

Configuration de la locale et des traductions.

4. Web4u_Plugin_Front_Routes

Routes additionnelles pour le front.

5. Web4u_Plugin_ErrorController

Gestion centralisee des erreurs et exceptions.

Controleurs (115)

Tous heritent de Web4u_Controller_Admin_Cms qui fournit:

  • Gestion des stylesheets (52 fichiers CSS) et scripts JS (17 fichiers)
  • Gestion des galeries media (upload, positionnement, suppression)
  • Gestion des pieces jointes et liens
  • Support notifications push avec generation JWT
  • Tracking vu/non-vu
  • Traitement de fichiers avec redimensionnement
  • Support multi-langue

Regroupement par domaine fonctionnel:

Administration: AdminCommissionConfigController, AdminCommissionHistoryController, AdminGroupAccountingController, AdminProviderAccountingController, AdminResellerController, AdminTunerController

Alertes: AlertsClientsController, AlertsTuningsController, AlertsUsersController, AlertsUsersVehiclesController

Chiptuning/Vehicules: ChiptuningController, ManufacturersController, EnginesCodesController, EnginesCodesFeaturesController, BoschEcuNumberController, TuningManufacturersController, DatabaseTuningsController, DatabaseOptionsController, DtcController, ConfigurationsController

Intellitune: IntellituneBasedOnController, IntellituneCodesController, IntellituneCodesGroupController, IntellituneDevelopmentController, IntellituneEcuController, IntellituneEcuFeatureController, IntellituneEnginesController, IntellituneHashCalibController, IntellituneHashFullController, IntellituneManufacturerController, IntellituneParametersController, IntellituneUploadPairFailedController, IntellituneUploadPairHistoryController, IntellituneVehiclesController

OLSx Platform: OlsxAlertsController, OlsxApiCallsController, OlsxCreditLogController, OlsxEvcCreditLogController, OlsxGroupsController, OlsxIntellidropParamDescController, OlsxIntellituneUploadController, OlsxMasterReadingToolController, OlsxNewsController, OlsxNewspaperController, OlsxOptionsController, OlsxPartsController, OlsxPartsConfigsController, OlsxPreparatorRewardsController, OlsxPurchaseLogController, OlsxResultsController, OlsxSchedulesController, OlsxSlaveMasterReadingToolController, OlsxSupportController, OlsxToolsController, OlsxTuningsController, OlsxUsersRatingController

File Service: FileServiceAppVersionsController, FileServiceClaimController, FileServiceEnginesController, FileServiceOptionsPricesRulesController, FileServiceProviderAccountingDetailController, FileServiceTuningsPricesRulesController

Statistiques: StatApiController, StatCustomerController, StatCustomerDetailController, StatEcuController, StatEvcController, StatGroupCustomerController, StatGroupStatsController, StatGroupTuningStatsController, StatIntellituneController, StatIntellituneDetailController, StatIntellidropController, StatPreparatorStatsController, StatRegistrationController, StatStatsController, StatTimingController, StatTuningController, StatVehicleController

Gestion: GestionStatsController, GestionStatsCentreController, GestionStatsTimingController

Contenu: EmailingController, GalleriesController, MediaController, NewslettersController, SubscribersController, TinymceController

Authentification: LoginController, LogoutController, LostPasswordController

Divers: CssController, ErrorController, MaintenanceController, ProvidersController, SchedulesController, SettingsController, CommissionHistoryController

Modeles (315)

Classes abstraites

  • Cms_Model_Abstract extends Web4u_Db_Table_Abstract -> base 'cms' (shiftech_cms)
  • Cms_Model_AbstractShiftech extends Web4u_Db_Table_Abstract -> base 'shiftech'

Web4u_Db_Table_Abstract

Extend Zend_Db_Table_Abstract avec:

  • Pattern Singleton via getInstance()
  • Support multi-base via _db_name
  • Hachage MD5 avec sel pour obfuscation d'ID
  • Methodes: load(), loadMD5(), loadBy(), findOne(), findMultiple(), getRow(), exists()
  • Invalidation de cache sur insert/update

Services (18)

Situes dans application/modules/cms/services/: CloudFlareApi, ClientStats, EvcApi, GoogleApi, Intellidrop, JiraApi, Notifier, OlsxApi, OlsxFile, OlsxFileListCache, OlsxSwitch, PreparatorStats, Push, SoftwareVersion, TestApi, Timezone, WhatsAppApi, Zoho

Formulaires (65)

Heritent de Web4u_Form_Admin. Systeme Zend Forms avec validation, sous-formulaires pour langues et pieces jointes.

Cache

Web4u_Cache: abstraction statique avec fallback:

  1. Memcached (Libmemcached backend, localhost:11211)
  2. APC
  3. File (tmp/cache/) Lifetime par defaut: 7200s (2h). Cache desactivable via configuration.