Workflows
Parcours dev - mise en place locale
- Avoir SQL Server accessible et la base
umb_metiers-d-art_dev(chaineumbracoDbDSNdansappsettings.json, userdevelop). - Creer
src/Web/appsettings.local.jsonsi besoin pour les surcouches locales (SMTP local smtp4dev surlocalhost:25, secrets) - ne jamais le committer. - Restaurer / pointer vers une base de travail (Umbraco applique ses migrations au demarrage,
UpgradeUnattended). - Frontend :
cd src/Web && npm install && npm run build(ounpm run devpour le watch). - Backend :
dotnet run --project src/Web(ou via Visual Studio /dotnet build). - Backoffice Umbraco : authentification + TwoFactor (TOTP).
Parcours dev - branches
develop: integration des features.staging: tests sur l'environnement de staging (deploiement auto via CI).master: production (deploiement via CI).developetstagingdoivent rester equivalentes.feature/<nom>: creee depuisdevelop, fusionnee dansdevelop.- Toujours tester en staging avant de fusionner en
master.
Parcours dev - ajouter une fonctionnalite
- Formulaire / service / options / handler de notification / type d'email : voir
../architecture/patterns.md. - Document type / bloc / section : editer via le backoffice puis exporter avec uSync (
uSync/v17/). - Penser a mettre a jour la doc concernee (voir le protocole dans le CLAUDE.md racine).
Parcours editeur (backoffice Umbraco)
- Page d'accueil (
homePage) : compose les sections (news, intro, etc.) via les compositions et le BlockGrid. - Annuaire artisans : maintenir les
craftsmanPage(annuaire), classes parstate(canton) etprofession. - Editions JEMA : creer/maintenir une
jemaEdition(dates debut/fin) ; lajemaPagereference l'edition courante. - Artisans JEMA : creer des
jemaCraftsmanavecnbPlaces. Les jours (registrationDayJema) et creneaux (registrationTimeSlotJema) sont en general crees automatiquement par les inscriptions, mais peuvent etre crees a la main en respectant strictement les formats de nom (Jour - JJ.MM.AAAA,HH:mm - HH:mm). - Reglages email : remplir la composition
emailSettings(destinataires, sujet, contenu avec tokens{donnees},{prenom},{nom-complet},{email}, ...) sur les pages portant des formulaires, et les reglages de confirmation JEMA. - Contenu multilingue : saisir chaque langue (fr/de/it/en) ; les textes d'interface viennent du dictionnaire.
- SEO : remplir les meta ; sinon un fallback est genere depuis le contenu (
SeoHelpers).
Parcours JEMA - inscription d'un visiteur (resume)
- Le visiteur choisit un artisan JEMA, un jour et un creneau sur le front (
jemaForm.js). - POST JSON vers
JemaRegistrationController.Submit. - Le controller valide (langue, participants, type d'artisan), retrouve/cree jour + creneau, controle la capacite, incremente
nbRegistrations, cree leparticipantJema. - Mails de confirmation : au visiteur (toujours), a l'artisan (si dans la periode de l'edition).
- Le job quotidien envoie les rappels (production uniquement).
Contributors
No contributors
Changelog
No recent changes

