Skip to content

Regles de gestion & contraintes

Multi-sites

  • Une seule instance Umbraco sert 4 sites (Commune, Cave, Forets, Piscines), chacun un domain distinct avec son skin.
  • Les sites partagent document types, widgets et infra de formulaires, mais sont publies independamment.
  • Chaque site a sa propre configuration analytics (GA4, GTM) et SMTP possible par domaine.

URL & routage

  • Prefixe www. obligatoire pour les URL internes (https://www.pully.ch/...). Sans lui, le routage interne casse.
  • Le binding domaine -> racine -> langue est dans uSync/v9/Domains/.

Langue

  • fr-CH est la langue de travail et la langue par defaut de chaque site.
  • de-CH et en-GB sont configures mais sans traductions de contenu actives (en-GB sert de fallback backoffice).
  • Tout texte d'interface doit passer par le dictionnaire (Ii18nService), jamais en dur.

Formulaires

  • Le formulaire de contact custom route vers un affiliate (destinataire) et categorise par contacttopic.
  • Protection reCAPTCHA v3 + validation serveur (FluentValidation) systematiques.
  • Retention des soumissions Umbraco Forms : 365 jours, purge quotidienne.

Annonces (alertes)

  • Une announcements s'affiche en pop-up ou banniere (propriete display) sur les pages ciblees, avec planification dateStart/dateEnd.
  • La frequence d'affichage est pilotee par la propriete broadcasting (DataType NX - ButtonPicker - Broadcasting). Trois modes, geres cote client par Announcement.ts :
    • Une fois par visiteur (one-time-visitor) : une seule fois, pour toujours, a l'echelle du site (localStorage, cle = ID annonce).
    • Une fois par visite (once-per-visit) : une fois par session de navigation, a l'echelle du site (sessionStorage, cle = ID annonce).
    • Une fois par page (once-per-page) : une fois par page distincte, memorise durablement (localStorage, cle = ID annonce + chemin de page normalise). Chaque nouvelle annonce a un ID unique, donc se re-affiche une fois par page.
  • La memorisation se fait a la fermeture (pop-up : hide.bs.modal ; banniere : bouton fermer). Ajouter/retirer un mode = modifier le DataType NXButtonPickerBroadcasting.config et Announcement.ts (+ vue Announcement/Default.cshtml qui transmet la valeur brute de broadcasting).

Recherche

  • Les document types websiteSettings, sitemap, general, company, affiliate sont exclus de l'index Examine.

Base de donnees & deploiement

  • La base n'est PAS restauree automatiquement : restauration manuelle d'un backup avant dev local.
  • Les scripts data/01.Scratch/ sont un contournement temporaire des alias reserves uSync (a retirer quand uSync sera mature).
  • Le deploiement preserve sur le serveur : media/, logs/, umbraco/Logs|Data, et les appsettings.*/web.config (exclus du robocopy).
  • Production deployee manuellement (branche main) ; staging automatiquement (branche staging).

Fichiers generes - ne pas editer

  • src/Umbraco/Views/ (copie depuis Nanoxi au build), src/Umbraco/wwwroot/css|js (Vite), App.PublishedModels (ModelsBuilder).

Contributors

No contributors

Changelog

No recent changes