INSERT INTO modules (
    internal_code,
    product_id,
    module_type_id,
    sort_order,
    name,
    slug,
    hero_eyebrow,
    hero_icon,
    tagline,
    short_description,
    hero_secondary_cta_label,
    hero_secondary_cta_url,
    presentation,
    problem_statement,
    solution_body,
    process_body,
    cta_label,
    cta_url,
    status,
    featured,
    meta_title,
    meta_description,
    canonical_url,
    published_at,
    created_at,
    updated_at
)
SELECT
    'MOD-FNC-005',
    (SELECT id FROM products WHERE slug = 'win-erp' LIMIT 1),
    (SELECT id FROM module_types WHERE code = 'fonctionnel' LIMIT 1),
    105,
    'Win@API & Connecteurs',
    'win-api-connecteurs',
    'Module fonctionnel sur mesure',
    'workflow',
    'Connectez Win@ERP a votre environnement applicatif avec des interfaces, API et connecteurs adaptes a vos usages.',
    'Win@API & Connecteurs structure les integrations entre Win@ERP et vos applications tierces au moyen d API, imports, exports ou connecteurs adaptes a votre contexte.',
    'Decouvrir l environnement Win@ERP',
    '/catalogue/modules/?product=win-erp',
    'Win@API & Connecteurs complete Win@ERP avec une logique d integration adaptee a votre systeme d information. Le module permet de relier la gestion a d autres applications metier, services externes ou outils internes lorsque les flux doivent circuler de maniere plus automatisee.',
    'Quand les donnees doivent transiter entre plusieurs outils sans cadre commun, les ressaisies, controles manuels et risques de rupture d information augmentent. Chaque environnement possede ses contraintes techniques, ses donnees et ses regles d echange.',
    'Win@API & Connecteurs apporte une reponse pragmatique en s appuyant sur les mecanismes d echange adaptes a votre besoin : API, imports, exports, web services, connecteurs applicatifs ou interfaces specifiques. La solution est pensee comme une brique de projet et non comme un package rigide.',
    'Le besoin d integration est analyse avec vos equipes, les flux utiles sont identifies puis relies a Win@ERP au moyen du mecanisme le plus adapte. Les echanges sont ensuite cadres selon vos donnees, vos contraintes et votre organisation technique.',
    'Demander une demonstration',
    '/demo/',
    'published',
    0,
    'Win@API & Connecteurs | Integrations et interfaces WININFO',
    'Win@API & Connecteurs relie Win@ERP a vos applications metier, outils internes et services externes avec une approche sur mesure.',
    '/modules/win-api-connecteurs/',
    CURRENT_TIMESTAMP,
    CURRENT_TIMESTAMP,
    CURRENT_TIMESTAMP
WHERE NOT EXISTS (SELECT 1 FROM modules WHERE slug = 'win-api-connecteurs');

UPDATE modules
SET
    product_id = (SELECT id FROM products WHERE slug = 'win-erp' LIMIT 1),
    module_type_id = (SELECT id FROM module_types WHERE code = 'fonctionnel' LIMIT 1),
    sort_order = 105,
    name = 'Win@API & Connecteurs',
    hero_eyebrow = 'Module fonctionnel sur mesure',
    hero_icon = 'workflow',
    tagline = 'Connectez Win@ERP a votre environnement applicatif avec des interfaces, API et connecteurs adaptes a vos usages.',
    short_description = 'Win@API & Connecteurs structure les integrations entre Win@ERP et vos applications tierces au moyen d API, imports, exports ou connecteurs adaptes a votre contexte.',
    hero_secondary_cta_label = 'Decouvrir l environnement Win@ERP',
    hero_secondary_cta_url = '/catalogue/modules/?product=win-erp',
    presentation = 'Win@API & Connecteurs complete Win@ERP avec une logique d integration adaptee a votre systeme d information. Le module permet de relier la gestion a d autres applications metier, services externes ou outils internes lorsque les flux doivent circuler de maniere plus automatisee.',
    problem_statement = 'Quand les donnees doivent transiter entre plusieurs outils sans cadre commun, les ressaisies, controles manuels et risques de rupture d information augmentent. Chaque environnement possede ses contraintes techniques, ses donnees et ses regles d echange.',
    solution_body = 'Win@API & Connecteurs apporte une reponse pragmatique en s appuyant sur les mecanismes d echange adaptes a votre besoin : API, imports, exports, web services, connecteurs applicatifs ou interfaces specifiques. La solution est pensee comme une brique de projet et non comme un package rigide.',
    process_body = 'Le besoin d integration est analyse avec vos equipes, les flux utiles sont identifies puis relies a Win@ERP au moyen du mecanisme le plus adapte. Les echanges sont ensuite cadres selon vos donnees, vos contraintes et votre organisation technique.',
    cta_label = 'Demander une demonstration',
    cta_url = '/demo/',
    status = 'published',
    featured = 0,
    meta_title = 'Win@API & Connecteurs | Integrations et interfaces WININFO',
    meta_description = 'Win@API & Connecteurs relie Win@ERP a vos applications metier, outils internes et services externes avec une approche sur mesure.',
    canonical_url = '/modules/win-api-connecteurs/',
    published_at = COALESCE(published_at, CURRENT_TIMESTAMP),
    updated_at = CURRENT_TIMESTAMP
WHERE slug = 'win-api-connecteurs'
  AND deleted_at IS NULL;

INSERT INTO modules (
    internal_code,
    product_id,
    module_type_id,
    sort_order,
    name,
    slug,
    hero_eyebrow,
    hero_icon,
    tagline,
    short_description,
    hero_secondary_cta_label,
    hero_secondary_cta_url,
    presentation,
    problem_statement,
    solution_body,
    process_body,
    cta_label,
    cta_url,
    status,
    featured,
    meta_title,
    meta_description,
    canonical_url,
    published_at,
    created_at,
    updated_at
)
SELECT
    'MOD-FNC-006',
    (SELECT id FROM products WHERE slug = 'win-erp' LIMIT 1),
    (SELECT id FROM module_types WHERE code = 'fonctionnel' LIMIT 1),
    106,
    'Win@EDI',
    'win-edi',
    'Module fonctionnel sur mesure',
    'network',
    'Automatisez vos echanges de donnees avec vos clients et partenaires au moyen de flux EDI adaptes a votre contexte.',
    'Win@EDI organise les echanges automatises de commandes, missions et informations entre Win@ERP et vos partenaires selon les formats et processus attendus.',
    'Decouvrir l environnement Win@ERP',
    '/catalogue/modules/?product=win-erp',
    'Win@EDI complete Win@ERP avec une logique d echange structure entre votre environnement et les systemes de vos clients ou partenaires. Le module permet d integrer des flux attendus sans reposer sur des traitements manuels permanents.',
    'Les echanges de donnees avec les partenaires peuvent imposer des formats, sequences et controles particuliers. Sans dispositif adapte, les equipes multiplient les ressaisies, les verifications et les adaptations manuelles, avec un risque accru d erreur ou de retard.',
    'Win@EDI apporte une brique d integration orientee flux en tenant compte des contraintes de vos partenaires et de votre organisation. La solution est generalement construite sur mesure selon les messages, les formats et les scenarios a traiter.',
    'Les flux a recevoir ou a emettre sont identifies, puis cadres selon les attendus du partenaire et les regles metier utiles a Win@ERP. Les echanges peuvent ensuite etre automatises, controles et traces dans un cadre plus fiable.',
    'Demander une demonstration',
    '/demo/',
    'published',
    0,
    'Win@EDI | Echanges de donnees et flux partenaires WININFO',
    'Win@EDI automatise les echanges de commandes, missions et informations entre Win@ERP et vos partenaires selon une logique sur mesure.',
    '/modules/win-edi/',
    CURRENT_TIMESTAMP,
    CURRENT_TIMESTAMP,
    CURRENT_TIMESTAMP
WHERE NOT EXISTS (SELECT 1 FROM modules WHERE slug = 'win-edi');

UPDATE modules
SET
    product_id = (SELECT id FROM products WHERE slug = 'win-erp' LIMIT 1),
    module_type_id = (SELECT id FROM module_types WHERE code = 'fonctionnel' LIMIT 1),
    sort_order = 106,
    name = 'Win@EDI',
    hero_eyebrow = 'Module fonctionnel sur mesure',
    hero_icon = 'network',
    tagline = 'Automatisez vos echanges de donnees avec vos clients et partenaires au moyen de flux EDI adaptes a votre contexte.',
    short_description = 'Win@EDI organise les echanges automatises de commandes, missions et informations entre Win@ERP et vos partenaires selon les formats et processus attendus.',
    hero_secondary_cta_label = 'Decouvrir l environnement Win@ERP',
    hero_secondary_cta_url = '/catalogue/modules/?product=win-erp',
    presentation = 'Win@EDI complete Win@ERP avec une logique d echange structure entre votre environnement et les systemes de vos clients ou partenaires. Le module permet d integrer des flux attendus sans reposer sur des traitements manuels permanents.',
    problem_statement = 'Les echanges de donnees avec les partenaires peuvent imposer des formats, sequences et controles particuliers. Sans dispositif adapte, les equipes multiplient les ressaisies, les verifications et les adaptations manuelles, avec un risque accru d erreur ou de retard.',
    solution_body = 'Win@EDI apporte une brique d integration orientee flux en tenant compte des contraintes de vos partenaires et de votre organisation. La solution est generalement construite sur mesure selon les messages, les formats et les scenarios a traiter.',
    process_body = 'Les flux a recevoir ou a emettre sont identifies, puis cadres selon les attendus du partenaire et les regles metier utiles a Win@ERP. Les echanges peuvent ensuite etre automatises, controles et traces dans un cadre plus fiable.',
    cta_label = 'Demander une demonstration',
    cta_url = '/demo/',
    status = 'published',
    featured = 0,
    meta_title = 'Win@EDI | Echanges de donnees et flux partenaires WININFO',
    meta_description = 'Win@EDI automatise les echanges de commandes, missions et informations entre Win@ERP et vos partenaires selon une logique sur mesure.',
    canonical_url = '/modules/win-edi/',
    published_at = COALESCE(published_at, CURRENT_TIMESTAMP),
    updated_at = CURRENT_TIMESTAMP
WHERE slug = 'win-edi'
  AND deleted_at IS NULL;

INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'feature', 'API et web services', 'Mise en place d echanges techniques adaptes aux applications et services a relier avec Win@ERP.', 'workflow', 1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m
WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'feature' AND ci.sort_order = 1);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'feature', 'Imports et exports', 'Preparation de flux entrants ou sortants selon les donnees et rythmes utiles a votre organisation.', 'file-text', 2, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m
WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'feature' AND ci.sort_order = 2);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'feature', 'Connecteurs applicatifs', 'Liaison avec des logiciels metier, outils internes ou services externes selon le contexte du client.', 'puzzle', 3, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m
WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'feature' AND ci.sort_order = 3);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'feature', 'Regles de mapping', 'Adaptation des structures de donnees et des correspondances utiles a vos flux.', 'settings', 4, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m
WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'feature' AND ci.sort_order = 4);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'feature', 'Accompagnement projet', 'Analyse des flux, cadrage des besoins et mise en oeuvre selon les contraintes de votre systeme d information.', 'users', 5, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m
WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'feature' AND ci.sort_order = 5);

UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'API et web services', ci.body = 'Mise en place d echanges techniques adaptes aux applications et services a relier avec Win@ERP.', ci.icon = 'workflow'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'feature' AND ci.sort_order = 1;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Imports et exports', ci.body = 'Preparation de flux entrants ou sortants selon les donnees et rythmes utiles a votre organisation.', ci.icon = 'file-text'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'feature' AND ci.sort_order = 2;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Connecteurs applicatifs', ci.body = 'Liaison avec des logiciels metier, outils internes ou services externes selon le contexte du client.', ci.icon = 'puzzle'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'feature' AND ci.sort_order = 3;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Regles de mapping', ci.body = 'Adaptation des structures de donnees et des correspondances utiles a vos flux.', ci.icon = 'settings'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'feature' AND ci.sort_order = 4;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Accompagnement projet', ci.body = 'Analyse des flux, cadrage des besoins et mise en oeuvre selon les contraintes de votre systeme d information.', ci.icon = 'users'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'feature' AND ci.sort_order = 5;

INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'benefit', 'Moins de ressaisie', 'Les integrations aident a reduire les doubles saisies et les recopiages manuels entre outils.', 'workflow', 1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'benefit' AND ci.sort_order = 1);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'benefit', 'Continuite applicative', 'Win@ERP peut s inscrire plus facilement dans votre systeme d information existant.', 'network', 2, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'benefit' AND ci.sort_order = 2);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'benefit', 'Approche pragmatique', 'La solution est dimensionnee selon vos vrais flux et non sur un schema standard impose.', 'target', 3, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'benefit' AND ci.sort_order = 3);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'benefit', 'Module combinable', 'Activez Win@API & Connecteurs dans votre environnement Win@ERP et combinez-le avec les autres modules de la meme solution selon vos besoins d integration.', 'puzzle', 4, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'benefit' AND ci.sort_order = 4);

UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Moins de ressaisie', ci.body = 'Les integrations aident a reduire les doubles saisies et les recopiages manuels entre outils.', ci.icon = 'workflow'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'benefit' AND ci.sort_order = 1;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Continuite applicative', ci.body = 'Win@ERP peut s inscrire plus facilement dans votre systeme d information existant.', ci.icon = 'network'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'benefit' AND ci.sort_order = 2;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Approche pragmatique', ci.body = 'La solution est dimensionnee selon vos vrais flux et non sur un schema standard impose.', ci.icon = 'target'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'benefit' AND ci.sort_order = 3;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Module combinable', ci.body = 'Activez Win@API & Connecteurs dans votre environnement Win@ERP et combinez-le avec les autres modules de la meme solution selon vos besoins d integration.', ci.icon = 'puzzle'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'benefit' AND ci.sort_order = 4;

INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'faq', 'A qui s adresse Win@API & Connecteurs ?', 'Le module s adresse aux entreprises qui doivent relier Win@ERP a d autres applications, services ou outils internes.', 1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'faq' AND ci.sort_order = 1);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'faq', 'S agit-il d un module standard ?', 'Pas completement. Win@API & Connecteurs repose souvent sur un cadrage specifique a votre environnement technique et a vos flux.', 2, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'faq' AND ci.sort_order = 2);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'faq', 'Peut-on connecter des outils internes et externes ?', 'Oui. Le module peut couvrir des applications metier, des plateformes tierces, des outils internes ou des services externes selon le besoin.', 3, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'faq' AND ci.sort_order = 3);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'faq', 'Faut-il definir les flux avant le projet ?', 'Oui. Le cadrage des flux, des donnees et des contraintes reste une etape importante pour construire une integration fiable.', 4, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'faq' AND ci.sort_order = 4);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'faq', 'Win@API & Connecteurs peut-il etre combine avec d autres modules Win@ERP ?', 'Oui. Win@API & Connecteurs s integre dans l environnement Win@ERP et peut etre utilise avec les autres modules de la meme solution selon vos besoins d integration.', 5, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'faq' AND ci.sort_order = 5);

UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'A qui s adresse Win@API & Connecteurs ?', ci.body = 'Le module s adresse aux entreprises qui doivent relier Win@ERP a d autres applications, services ou outils internes.'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'faq' AND ci.sort_order = 1;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'S agit-il d un module standard ?', ci.body = 'Pas completement. Win@API & Connecteurs repose souvent sur un cadrage specifique a votre environnement technique et a vos flux.'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'faq' AND ci.sort_order = 2;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Peut-on connecter des outils internes et externes ?', ci.body = 'Oui. Le module peut couvrir des applications metier, des plateformes tierces, des outils internes ou des services externes selon le besoin.'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'faq' AND ci.sort_order = 3;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Faut-il definir les flux avant le projet ?', ci.body = 'Oui. Le cadrage des flux, des donnees et des contraintes reste une etape importante pour construire une integration fiable.'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'faq' AND ci.sort_order = 4;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Win@API & Connecteurs peut-il etre combine avec d autres modules Win@ERP ?', ci.body = 'Oui. Win@API & Connecteurs s integre dans l environnement Win@ERP et peut etre utilise avec les autres modules de la meme solution selon vos besoins d integration.'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'faq' AND ci.sort_order = 5;

INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'final_cta', 'Parler de vos integrations', '{"eyebrow":"CTA final","body":"Parlons de vos applications, de vos flux et de vos contraintes techniques pour verifier comment Win@API & Connecteurs peut s integrer a votre environnement.","cta_label":"Demander une demonstration","cta_url":"/demo/","secondary_cta_label":"Decouvrir les modules Win@ERP","secondary_cta_url":"/catalogue/modules/?product=win-erp"}', 1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'final_cta');
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Parler de vos integrations',
    ci.body = '{"eyebrow":"CTA final","body":"Parlons de vos applications, de vos flux et de vos contraintes techniques pour verifier comment Win@API & Connecteurs peut s integrer a votre environnement.","cta_label":"Demander une demonstration","cta_url":"/demo/","secondary_cta_label":"Decouvrir les modules Win@ERP","secondary_cta_url":"/catalogue/modules/?product=win-erp"}'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'final_cta';
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'environment_modules_block', 'Composez votre environnement Win@ERP', '{"body":"Associez Win@API & Connecteurs aux autres modules Win@ERP afin de relier votre gestion a vos applications et services externes selon vos besoins d integration.","limit":6}', 1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-api-connecteurs'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'environment_modules_block');
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Composez votre environnement Win@ERP',
    ci.body = '{"body":"Associez Win@API & Connecteurs aux autres modules Win@ERP afin de relier votre gestion a vos applications et services externes selon vos besoins d integration.","limit":6}'
WHERE m.slug = 'win-api-connecteurs' AND ci.owner_type = 'module' AND ci.item_type = 'environment_modules_block';

INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'feature', 'Reception de flux', 'Integration de messages ou donnees emis par vos clients et partenaires selon les formats attendus.', 'network', 1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'feature' AND ci.sort_order = 1);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'feature', 'Emission de flux', 'Transmission automatisee des informations attendues par vos partenaires depuis l environnement Win@ERP.', 'file-text', 2, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'feature' AND ci.sort_order = 2);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'feature', 'Formats et mappings', 'Adaptation des structures d echange selon les messages, champs et regles de vos partenaires.', 'settings', 3, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'feature' AND ci.sort_order = 3);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'feature', 'Controles et traces', 'Verification des echanges et conservation d une trace utile au suivi des flux automatises.', 'shield-check', 4, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'feature' AND ci.sort_order = 4);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'feature', 'Cadrage partenaire', 'Prise en compte des attentes de vos clients, transporteurs ou partenaires dans la mise en oeuvre des flux.', 'users', 5, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'feature' AND ci.sort_order = 5);

UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Reception de flux', ci.body = 'Integration de messages ou donnees emis par vos clients et partenaires selon les formats attendus.', ci.icon = 'network'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'feature' AND ci.sort_order = 1;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Emission de flux', ci.body = 'Transmission automatisee des informations attendues par vos partenaires depuis l environnement Win@ERP.', ci.icon = 'file-text'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'feature' AND ci.sort_order = 2;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Formats et mappings', ci.body = 'Adaptation des structures d echange selon les messages, champs et regles de vos partenaires.', ci.icon = 'settings'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'feature' AND ci.sort_order = 3;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Controles et traces', ci.body = 'Verification des echanges et conservation d une trace utile au suivi des flux automatises.', ci.icon = 'shield-check'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'feature' AND ci.sort_order = 4;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Cadrage partenaire', ci.body = 'Prise en compte des attentes de vos clients, transporteurs ou partenaires dans la mise en oeuvre des flux.', ci.icon = 'users'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'feature' AND ci.sort_order = 5;

INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'benefit', 'Moins de traitements manuels', 'L automatisation des echanges peut reduire les ressaisies et accelerer la circulation des informations.', 'workflow', 1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'benefit' AND ci.sort_order = 1);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'benefit', 'Fiabilisation des flux', 'Les echanges peuvent etre mieux controles et traces dans un cadre de travail structure.', 'shield-check', 2, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'benefit' AND ci.sort_order = 2);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'benefit', 'Approche adaptee au partenaire', 'La solution est generalement construite selon les formats et scenarios reellement attendus par vos partenaires.', 'target', 3, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'benefit' AND ci.sort_order = 3);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, icon, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'benefit', 'Module combinable', 'Activez Win@EDI dans votre environnement Win@ERP et combinez-le avec les autres modules de la meme solution selon vos besoins d echanges partenaires.', 'puzzle', 4, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'benefit' AND ci.sort_order = 4);

UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Moins de traitements manuels', ci.body = 'L automatisation des echanges peut reduire les ressaisies et accelerer la circulation des informations.', ci.icon = 'workflow'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'benefit' AND ci.sort_order = 1;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Fiabilisation des flux', ci.body = 'Les echanges peuvent etre mieux controles et traces dans un cadre de travail structure.', ci.icon = 'shield-check'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'benefit' AND ci.sort_order = 2;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Approche adaptee au partenaire', ci.body = 'La solution est generalement construite selon les formats et scenarios reellement attendus par vos partenaires.', ci.icon = 'target'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'benefit' AND ci.sort_order = 3;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Module combinable', ci.body = 'Activez Win@EDI dans votre environnement Win@ERP et combinez-le avec les autres modules de la meme solution selon vos besoins d echanges partenaires.', ci.icon = 'puzzle'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'benefit' AND ci.sort_order = 4;

INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'faq', 'A qui s adresse Win@EDI ?', 'Win@EDI s adresse aux entreprises qui doivent automatiser des echanges de donnees avec leurs clients, transporteurs ou partenaires.', 1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'faq' AND ci.sort_order = 1);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'faq', 'Le module est-il standard pour tous les partenaires ?', 'Non. Les flux EDI necessitent generalement un cadrage selon les formats et contraintes propres a chaque partenaire.', 2, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'faq' AND ci.sort_order = 2);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'faq', 'Quels types de flux peut-on traiter ?', 'Selon le projet, le module peut couvrir des commandes, missions, avis, confirmations ou autres messages necessaires a vos echanges partenaires.', 3, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'faq' AND ci.sort_order = 3);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'faq', 'Peut-on tracer les echanges ?', 'Oui. La logique EDI peut inclure des mecanismes de controle et de trace pour mieux suivre les flux automatises.', 4, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'faq' AND ci.sort_order = 4);
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'faq', 'Win@EDI peut-il etre combine avec d autres modules Win@ERP ?', 'Oui. Win@EDI s integre dans l environnement Win@ERP et peut etre utilise avec les autres modules de la meme solution selon vos besoins d echanges partenaires.', 5, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'faq' AND ci.sort_order = 5);

UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'A qui s adresse Win@EDI ?', ci.body = 'Win@EDI s adresse aux entreprises qui doivent automatiser des echanges de donnees avec leurs clients, transporteurs ou partenaires.'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'faq' AND ci.sort_order = 1;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Le module est-il standard pour tous les partenaires ?', ci.body = 'Non. Les flux EDI necessitent generalement un cadrage selon les formats et contraintes propres a chaque partenaire.'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'faq' AND ci.sort_order = 2;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Quels types de flux peut-on traiter ?', ci.body = 'Selon le projet, le module peut couvrir des commandes, missions, avis, confirmations ou autres messages necessaires a vos echanges partenaires.'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'faq' AND ci.sort_order = 3;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Peut-on tracer les echanges ?', ci.body = 'Oui. La logique EDI peut inclure des mecanismes de controle et de trace pour mieux suivre les flux automatises.'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'faq' AND ci.sort_order = 4;
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Win@EDI peut-il etre combine avec d autres modules Win@ERP ?', ci.body = 'Oui. Win@EDI s integre dans l environnement Win@ERP et peut etre utilise avec les autres modules de la meme solution selon vos besoins d echanges partenaires.'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'faq' AND ci.sort_order = 5;

INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'final_cta', 'Parler de vos flux EDI', '{"eyebrow":"CTA final","body":"Parlons de vos partenaires, de vos formats d echange et de vos contraintes metier pour verifier comment Win@EDI peut s integrer a votre environnement.","cta_label":"Demander une demonstration","cta_url":"/demo/","secondary_cta_label":"Decouvrir les modules Win@ERP","secondary_cta_url":"/catalogue/modules/?product=win-erp"}', 1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'final_cta');
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Parler de vos flux EDI',
    ci.body = '{"eyebrow":"CTA final","body":"Parlons de vos partenaires, de vos formats d echange et de vos contraintes metier pour verifier comment Win@EDI peut s integrer a votre environnement.","cta_label":"Demander une demonstration","cta_url":"/demo/","secondary_cta_label":"Decouvrir les modules Win@ERP","secondary_cta_url":"/catalogue/modules/?product=win-erp"}'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'final_cta';
INSERT INTO content_items (owner_type, owner_id, item_type, title, body, sort_order, is_active, created_at, updated_at)
SELECT 'module', m.id, 'environment_modules_block', 'Composez votre environnement Win@ERP', '{"body":"Associez Win@EDI aux autres modules Win@ERP afin d automatiser vos echanges partenaires dans un environnement de gestion coherent.","limit":6}', 1, 1, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP
FROM modules m WHERE m.slug = 'win-edi'
  AND NOT EXISTS (SELECT 1 FROM content_items ci WHERE ci.owner_type = 'module' AND ci.owner_id = m.id AND ci.item_type = 'environment_modules_block');
UPDATE content_items ci JOIN modules m ON m.id = ci.owner_id
SET ci.title = 'Composez votre environnement Win@ERP',
    ci.body = '{"body":"Associez Win@EDI aux autres modules Win@ERP afin d automatiser vos echanges partenaires dans un environnement de gestion coherent.","limit":6}'
WHERE m.slug = 'win-edi' AND ci.owner_type = 'module' AND ci.item_type = 'environment_modules_block';
