Regles de gestion & contraintes
Multi-sites
- Une seule instance Umbraco sert 4 sites (Commune, Cave, Forets, Piscines), chacun un
domaindistinct 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 parcontacttopic. - Protection reCAPTCHA v3 + validation serveur (FluentValidation) systematiques.
- Retention des soumissions Umbraco Forms : 365 jours, purge quotidienne.
Annonces (alertes)
- Une
announcementss'affiche en pop-up ou banniere (proprietedisplay) sur les pages ciblees, avec planificationdateStart/dateEnd. - La frequence d'affichage est pilotee par la propriete
broadcasting(DataTypeNX - ButtonPicker - Broadcasting). Trois modes, geres cote client parAnnouncement.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.
- Une fois par visiteur (
- La memorisation se fait a la fermeture (pop-up :
hide.bs.modal; banniere : bouton fermer). Ajouter/retirer un mode = modifier le DataTypeNXButtonPickerBroadcasting.configetAnnouncement.ts(+ vueAnnouncement/Default.cshtmlqui transmet la valeur brute debroadcasting).
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 lesappsettings.*/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

