Skip to content

Workflows

Parcours dev - mise en place locale

  1. Avoir SQL Server accessible et la base umb_metiers-d-art_dev (chaine umbracoDbDSN dans appsettings.json, user develop).
  2. Creer src/Web/appsettings.local.json si besoin pour les surcouches locales (SMTP local smtp4dev sur localhost:25, secrets) - ne jamais le committer.
  3. Restaurer / pointer vers une base de travail (Umbraco applique ses migrations au demarrage, UpgradeUnattended).
  4. Frontend : cd src/Web && npm install && npm run build (ou npm run dev pour le watch).
  5. Backend : dotnet run --project src/Web (ou via Visual Studio / dotnet build).
  6. 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). develop et staging doivent rester equivalentes.
  • feature/<nom> : creee depuis develop, fusionnee dans develop.
  • 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 par state (canton) et profession.
  • Editions JEMA : creer/maintenir une jemaEdition (dates debut/fin) ; la jemaPage reference l'edition courante.
  • Artisans JEMA : creer des jemaCraftsman avec nbPlaces. 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)

  1. Le visiteur choisit un artisan JEMA, un jour et un creneau sur le front (jemaForm.js).
  2. POST JSON vers JemaRegistrationController.Submit.
  3. Le controller valide (langue, participants, type d'artisan), retrouve/cree jour + creneau, controle la capacite, incremente nbRegistrations, cree le participantJema.
  4. Mails de confirmation : au visiteur (toujours), a l'artisan (si dans la periode de l'edition).
  5. Le job quotidien envoie les rappels (production uniquement).

Contributors

No contributors

Changelog

No recent changes