Détection de conflits — recettes #18

Open
opened 2026-09-22 21:25:27 +01:00 by claudeagent · 0 comments
Collaborator

Description

Deux membres qui modifient la même recette au même moment : le dernier qui enregistre écrase le premier, sans que personne ne le sache. Le formulaire d'une recette est le plus long de l'application et reste ouvert plusieurs minutes — la fenêtre est plus large encore que sur la fiche d'un élément de liste.

Ce qui existe
#5 construit la détection de conflits pour les éléments de liste : un objet base facultatif dans le PUT, avec la valeur de chaque champ modifié à l'ouverture du formulaire ; une comparaison champ par champ dans la transaction d'écriture ; un refus 409 ; un formulaire qui reste ouvert avec la saisie et un bandeau qui dit ce qui a changé. Voir la conception de #5. Ce ticket applique le même mécanisme aux recettes.

Ce qu'il faut trancher

  • Les ingrédients et les étapes sont des tableaux JSON dans une colonne (D11) : en conflit en bloc, ou élément par élément ?
  • La photo, envoyée par sa propre route : hors du mécanisme, ou non ?
  • La galerie est relue après chaque mutation (D26) : ce que le formulaire compare après un refus.

Dépend de #5.

Plan d'action

  • TODO

Recette

  • Revue technique personnelle
  • Mise à jour du wiki (décision, schéma, interface, périmètre)
  • Revue fonctionnelle

Plan de MEP

  • TODO Planification de la livraison
## Description Deux membres qui modifient la même recette au même moment : le dernier qui enregistre écrase le premier, sans que personne ne le sache. Le formulaire d'une recette est le plus long de l'application et reste ouvert plusieurs minutes — la fenêtre est plus large encore que sur la fiche d'un élément de liste. **Ce qui existe** #5 construit la détection de conflits pour les éléments de liste : un objet `base` facultatif dans le `PUT`, avec la valeur de chaque champ modifié à l'ouverture du formulaire ; une comparaison champ par champ dans la transaction d'écriture ; un refus 409 ; un formulaire qui reste ouvert avec la saisie et un bandeau qui dit ce qui a changé. Voir la [conception de #5](https://git.lozach.eu/maxime/OrganisateurFamilial/issues/5#issuecomment-152). Ce ticket applique le même mécanisme aux recettes. **Ce qu'il faut trancher** - **Les ingrédients et les étapes** sont des tableaux JSON dans une colonne (D11) : en conflit en bloc, ou élément par élément ? - **La photo**, envoyée par sa propre route : hors du mécanisme, ou non ? - La galerie est relue après chaque mutation (D26) : ce que le formulaire compare après un refus. Dépend de #5. ## Plan d'action - [ ] TODO ## Recette - [ ] Revue technique personnelle - [ ] Mise à jour du wiki (décision, schéma, interface, périmètre) - [ ] Revue fonctionnelle ## Plan de MEP - [ ] TODO Planification de la livraison
Sign in to join this conversation.
No description provided.