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_Abstractextends Web4u_Db_Table_Abstract -> base 'cms' (shiftech_cms)Cms_Model_AbstractShiftechextends 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:
- Memcached (Libmemcached backend, localhost:11211)
- APC
- File (tmp/cache/) Lifetime par defaut: 7200s (2h). Cache desactivable via configuration.