lumnik. / scénarios Tous les scénarios · English

Deux systèmes et un adhérent chacun fait foi pour ses champs

Objectif Montrer chaque champ d'un adhérent depuis le système qui fait foi pour lui, sans cacher un désaccord.

Une mutuelle tient ses adhérents dans sa gestion des contrats et dans son portail. Avec un seul ordre de sources, l'un des deux a toujours tort.

gestion-night1.csv
member_no,full_name,plan,effective_date,street,city
M-1001,DUPONT Claire,ESSENTIEL,2024-01-01,4 rue des Lilas,Lyon
M-1002,MARTIN Paul,CONFORT,2023-06-01,12 avenue Foch,Villeurbanne
M-1003,BERNARD Lucie,CONFORT,2025-03-01,7 place Bellecour,Lyon
M-1004,PETIT Hugo,ESSENTIEL,2022-09-01,3 chemin du Moulin,Vienne
M-1005,ROUX Anna,INTEGRAL,2024-11-01,18 quai Saint-Antoine,Lyon
M-1006,FAURE Léo,CONFORT,2021-02-01,9 rue Garibaldi,Lyon
portail-night1.csv
member_no,full_name,plan,street,city,email
M-1001,Dupont Claire,ESSENTIEL,4 rue des Lilas,Lyon,claire.dupont@example.org
M-1002,MARTIN Paul,CONFORT,25 rue Paul Bert,Lyon,paul.martin@example.org
M-1003,BERNARD Lucie,ESSENTIEL,7 place Bellecour,Lyon,lucie.bernard@example.org
M-1004,PETIT Hugo,ESSENTIEL,3 chemin du Moulin,Vienne,
M-1005,ROUX Anna,INTEGRAL,41 cours Gambetta,Lyon,anna.roux@example.org
M-1006,FAURE Léo,CONFORT,9 rue Garibaldi,Lyon,leo.faure@example.org
manifests/20-member.yaml
kind: Entityname: member_alabel: Adhérentdescription: "One member across the contract system and the member portal."scopes: [adhesion]match: [member_no]sources:  - table: t_scenario_member_gestion_a    map:      member_no: member_no      full_name: full_name      plan: plan      effective_date: effective_date      street: street      city: city  - table: t_scenario_member_portail_a    map:      member_no: member_no      full_name: full_name      plan: plan      street: street      city: city      email: email
manifests/30-member-prefer.yaml
kind: Entityname: member_alabel: Adhérentdescription: "One member across the contract system and the member portal."scopes: [adhesion]match: [member_no]sources:  - table: t_scenario_member_gestion_a    map:      member_no: member_no      full_name: full_name      plan: plan      effective_date: effective_date      street: street      city: city  - table: t_scenario_member_portail_a    map:      member_no: member_no      full_name: full_name      plan: plan      street: street      city: city      email: emailcolumns:  street:    prefer: t_scenario_member_portail_a  city:    prefer: t_scenario_member_portail_a
gestion-night2.csv
member_no,full_name,plan,effective_date,street,city
M-1001,DUPONT Claire,ESSENTIEL,2024-01-01,4 rue des Lilas,Lyon
M-1002,MARTIN Paul,CONFORT,2023-06-01,25 rue Paul Bert,Lyon
M-1003,BERNARD Lucie,CONFORT,2025-03-01,7 place Bellecour,Lyon
M-1004,PETIT Hugo,ESSENTIEL,2022-09-01,3 chemin du Moulin,Vienne
M-1005,ROUX Anna,INTEGRAL,2024-11-01,41 cours Gambetta,Lyon
M-1006,FAURE Léo,CONFORT,2021-02-01,9 rue Garibaldi,Lyon

Limites

  • Chaque colonne est fusionnée seule: préférer le portail pour la rue et la ville ne les lie pas.
  • Une préférence choisit la valeur affichée ; elle ne règle pas le désaccord à la source.
  • Données synthétiques.

Mutuelle · adhérents

Un adhérent, deux systèmes.

La gestion des contrats et le portail.

Six adhérents, deux nuits

Le problème

Qui a raison?

  • La gestion pour la formule.
  • Le portail pour l'adresse.

Ce qui n'est pas modifié

Les deux systèmes restent tels quels.

  • Deux exports chaque nuit.
  • Aucune correction dans le hub.

Le piège

Un seul ordre pour tout.

  • La gestion en tête garde la vieille adresse.
  • Le portail en tête perd la bonne formule.

Ce qu'il a fallu écrire

prefer: t_scenario_member_portail_a

Une ligne.

  • La source qui fait foi, colonne par colonne.
  • Les désaccords restent listés.
  • Trois manifestes, 54 lignes.

La nuit suivante

La gestion rattrape.

  • Les désaccords d'adresse disparaissent.
  • Restent ceux à régler à la source.

La limite

Préférer n'est pas régler.

  • Le désaccord se règle à la source.

Essayer

Le scénario se rejoue en local.

Chaque étape est publiée avec sa sortie.

Ce scénario tourne sur lumnik Open, gratuit et open source.

Essayer lumnik Open →