Skip to content

Regles de gestion & contraintes

Nature du repo

  • C'est un gabarit, pas un site fini. Les exemples (exampleSection, exampleElement, themes cave/piscines, module JS exampleSection) sont des demonstrations a adapter ou retirer dans un projet aval.
  • Projets Application/Domain/Persistence : a creer au besoin, absents du template.
  • En cas de conflit lors d'un merge depuis upstream, convention : garder la version du template.

SEO & contenu

  • Titres et meta resolus par priorite (PageExtensions) : head title -> meta title -> nom de page ; og title/description retombent sur les meta.
  • Le _MasterLayout emet : canonical, robots noindex si la page est masquee du sitemap (HideFromSitemap), hreflang en variantes *-CH, et x-default vers le canonical.
  • Sitemap (/sitemap) : XML unique multilingue, force https, n'inclut qu'un noeud qui a un url segment, un template et n'est pas masque du sitemap.
  • robots.txt : en production, ne sert que la ligne sitemap: ; hors production, disallow: / (blocage total de l'indexation).

Cookies & marketing

  • Aucun outil collectant des donnees ne doit se charger avant consentement. Google Consent Mode v2 : analytics_storage='denied' par defaut ; le consentement met a jour via gtag('consent','update',...).
  • Le popup de consentement (vanilla-cookieconsent) ne s'affiche que si CookieConsent:Enabled=true. Mettre a false quand un CMP tiers (OneTrust, Didomi...) est integre.
  • GA4 ne s'injecte que si GoogleAnalytics4Id est renseigne sur le marketingSettings ; anonymize_ip actif.

Securite

  • DevLoginController (/l, auto-login backoffice) : double garde obligatoire #if DEBUG + check runtime IsDevelopment(). Ne jamais retirer.
  • Politique de mot de passe backoffice (appsettings.json) : 15 caracteres min, majuscule + minuscule + chiffre + non-alphanumerique. AllowConcurrentLogins=false.
  • 2FA backoffice via Google Authenticator (UmbracoUserAppAuthenticator).
  • Secrets (chaine de connexion prod, SentryUrl, cles) : jamais committes ; via appsettings.local.json (git-ignore) ou variables d'env.
  • UmbracoApplicationUrl obligatoire derriere un reverse proxy (breaking change 17.4) sinon spoofing possible sur les emails de reset/invitation.

Base de donnees & deploiement

  • UpgradeUnattended=true : migrations jouees au boot.
  • Cache statique : /css et /js (fingerprintes) en immutable 1 an ; autres assets 7 jours.
  • Rewrites IIS et Sentry actifs uniquement en Staging/Production.
  • Image Docker buildee depuis la racine du repo (pas depuis hosting/).

Fichiers generes / a ne pas editer

  • src/Web/umbraco/Models/*.generated.cs (ModelsBuilder), src/Web/wwwroot/css|js (Vite).
  • gulpfile.js : legacy, conserve mais inutilise (pipeline = Vite).

Contributors

No contributors

Changelog

No recent changes