Skip to content

Regles de gestion & contraintes

Multi-client (skins)

  • Une seule base de code sert 30+ clients. Chaque client a sa propre base SQL (umbracoCMS_<skin> / UmbracoUser_<skin>), sa propre config (prodconfig/<skin>/), son propre design (design/v2/<skin>/), et eventuellement son propre code (src/Nanoxi.Customization/<Skin>/).
  • Le code specifique a un client ne doit JAMAIS aller dans les modules coeur (Nanoxi.App.*, Nanoxi.Content.*) ; il va dans Nanoxi.Customization/<Skin>/.
  • Les metadonnees clients (doc/StarterKitv2_InfosTechniques.xlsx) pilotent le build (notamment l'activation du shop).

Version Umbraco verrouillee

  • Umbraco 6.2.6 ne doit pas etre upgrade sans regression complete sur l'ensemble des clients. Toute la stack (macros, WebForms, packages legacy) en depend.
  • La version applicative est centralisee dans src/SharedAssemblyInfo.cs (actuellement 2.6.60.0). A changer pour tous les assemblies lors d'une release.

Shop (e-commerce)

  • Le shop est optionnel par client, pilote par customerConfigLib.IsShopEnabled() (metadonnees Excel).
  • Build-Shop ne compile StarterKit_shop.sln que si le shop est active pour le skin. Ne jamais supposer le shop present.
  • Repose sur uCommerce 7.3.1 (licence par client dans prodconfig/<skin>/lic/).

Configuration par precedence

  1. Base : website/Web.config.
  2. Override client : prodconfig/<skin>/Web.config et prodconfig/<skin>/Config/*.config.
  3. Override machine : ...Debug.<MachineName>.config (supprimes en release par Ensure-Production-Config).

build.cake normalise plusieurs machines de dev/stage vers WRK-STAGE pour mutualiser la config.

Versioning & upgrade

  • Chaque release ajoute une etape dans StarterKitController_Upgrade.cs (API d'upgrade).
  • Convention de tag git : Tagging x.x.x release. Commits locaux d'abord, puis tag, puis push (cf. Readme.md).

Secrets & licences

  • Le CI ne requiert aucun secret GitLab (tout derive de $SKIN + branche).
  • Licences (uCommerce, MediaProtect, Forms) dans prodconfig/<skin>/lic/ : a ne pas diffuser.

Deploiement

  • Le deploiement preserve sur le serveur : dossiers Config, App_Data, media et le Web.config (exclus du robocopy /MIR).
  • Staging (branche staging) et production (branche master) sont deployes manuellement via "Run pipeline" + variable SKIN.

Fichiers generes - ne pas editer

  • website/ (clone Umbraco + copie des assemblies au build).
  • Les .css sous design/v2/<skin>/Skins/.../Css/ et sous website/ (generes par Grunt depuis les .less).

Contributors

No contributors

Changelog

No recent changes