-- #migration 2026_07_08_061
-- objectif/checklist/mesure.questions pour C-061 à C-070

UPDATE card_guide SET checklist_json = '[{"id": "charges_fixes", "type": "boolean", "label": "Lister toutes tes charges fixes mensuelles", "detail": "Loyer atelier, assurances, abonnements, charges sociales fixes, remboursements de prêt."}, {"id": "cout_variable_moyen", "type": "boolean", "label": "Calculer le coût variable moyen par vente", "detail": "Matières premières et frais directs liés à chaque vente, rapportés à ton panier moyen actuel."}, {"id": "seuil_mensuel", "type": "boolean", "label": "Déterminer le CA minimum mensuel nécessaire", "detail": "Charges fixes / (1 - pourcentage de coût variable) = seuil de rentabilité mensuel."}]', objectif_label = 'Connaître précisément ton seuil de rentabilité mensuel.', objectif_metric_principale = 'seuil_atteint' WHERE card_id = 'C-061';
INSERT INTO card_guide_mesure_questions (card_id, metric, label, type, unit, cadence_jours, sort_order) VALUES
  ('C-061', 'seuil_atteint', 'As-tu dépassé ton seuil de rentabilité ce mois-ci ?', 'boolean', NULL, 30, 1);

UPDATE card_guide SET checklist_json = '[{"id": "mesurer_dependance", "type": "boolean", "label": "Mesurer ta dépendance actuelle", "detail": "Calcule le pourcentage de ton CA qui dépend de ton canal principal."}, {"id": "choisir_canaux", "type": "boolean", "label": "Choisir 2-3 canaux complémentaires", "detail": "Privilégie des canaux qui touchent des profils de clients différents de ton canal actuel."}, {"id": "developper_progressivement", "type": "boolean", "label": "Développer progressivement sans tout abandonner", "detail": "Teste un nouveau canal avec un investissement limité avant d''y consacrer des ressources importantes."}]', objectif_label = 'Réduire ta dépendance à un seul canal de vente.', objectif_metric_principale = 'part_canal_principal' WHERE card_id = 'C-062';
INSERT INTO card_guide_mesure_questions (card_id, metric, label, type, unit, cadence_jours, sort_order) VALUES
  ('C-062', 'part_canal_principal', 'Quel pourcentage de ton CA vient de ton canal principal ce mois-ci ?', 'number', '%', 30, 1);

UPDATE card_guide SET checklist_json = '[{"id": "identifier_recurrent", "type": "boolean", "label": "Identifier ce qui peut devenir récurrent", "detail": "Un client B2B qui recommande régulièrement, un produit consommable, ou un intérêt pour la nouveauté régulière."}, {"id": "formaliser_engagement", "type": "boolean", "label": "Formaliser l''engagement réciproque", "detail": "Définis clairement la fréquence, le contenu, le prix et les conditions d''arrêt."}, {"id": "capacite_soutenable", "type": "boolean", "label": "Calculer la capacité de production soutenable", "detail": "Un engagement récurrent te lie dans la durée — vérifie que tu peux l''honorer sans épuisement."}]', objectif_label = 'Créer une source de revenu récurrent dans ton activité.', objectif_metric_principale = 'revenu_recurrent' WHERE card_id = 'C-063';
INSERT INTO card_guide_mesure_questions (card_id, metric, label, type, unit, cadence_jours, sort_order) VALUES
  ('C-063', 'revenu_recurrent', 'Quel revenu récurrent as-tu généré ce mois-ci ?', 'number', '€', 30, 1);

UPDATE card_guide SET checklist_json = '[{"id": "selectionner_revendeurs", "type": "boolean", "label": "Sélectionner des revendeurs cohérents avec ton positionnement", "detail": "La boutique partenaire doit correspondre à l''image et à la gamme de prix que tu veux véhiculer."}, {"id": "conditions_gros", "type": "boolean", "label": "Définir des conditions de gros claires", "detail": "Remise grossiste (40-50% généralement), minimum de commande, délais et conditions de paiement formalisés par écrit."}, {"id": "securiser_reassort", "type": "boolean", "label": "Sécuriser les modalités de réassort et de fin de partenariat", "detail": "Anticipe comment se passe le réassort régulier et les conditions si l''un des deux souhaite arrêter."}]', objectif_label = 'Accéder à un volume de vente via un revendeur partenaire.', objectif_metric_principale = 'commandes_revendeur' WHERE card_id = 'C-064';
INSERT INTO card_guide_mesure_questions (card_id, metric, label, type, unit, cadence_jours, sort_order) VALUES
  ('C-064', 'commandes_revendeur', 'Combien de commandes as-tu reçues via ce revendeur ce mois-ci ?', 'number', NULL, 30, 1);

UPDATE card_guide SET checklist_json = '[{"id": "choisir_plateforme", "type": "boolean", "label": "Choisir une plateforme adaptée à ton niveau technique", "detail": "Shopify (simple, payant mensuel) ou WooCommerce (plus technique, gratuit mais nécessitant un hébergement)."}, {"id": "structurer_contenu", "type": "boolean", "label": "Structurer le contenu essentiel avant le lancement", "detail": "Pages produits avec photos de qualité, page à propos, conditions de vente, moyens de paiement et de livraison."}, {"id": "preparer_trafic", "type": "boolean", "label": "Préparer le trafic vers la nouvelle boutique", "detail": "Une boutique sans trafic ne sert à rien — prépare ta liste email, tes réseaux sociaux et ton SEO en parallèle."}]', objectif_label = 'Ouvrir une boutique en ligne propre, indépendante d''une marketplace.', objectif_metric_principale = 'ventes_boutique_propre' WHERE card_id = 'C-065';
INSERT INTO card_guide_mesure_questions (card_id, metric, label, type, unit, cadence_jours, sort_order) VALUES
  ('C-065', 'ventes_boutique_propre', 'Combien de ventes as-tu réalisées sur ta boutique propre ce mois-ci ?', 'number', NULL, 30, 1);

UPDATE card_guide SET checklist_json = '[{"id": "choisir_plateforme_marketplace", "type": "boolean", "label": "Choisir la plateforme adaptée à ton type de création", "detail": "Etsy pour l''artisanat créatif international, MadeIn pour le made in France."}, {"id": "optimiser_fiches", "type": "boolean", "label": "Optimiser tes fiches produit pour le SEO interne", "detail": "Titre, mots-clés, description et photos sont déterminants pour apparaître dans les recherches internes."}, {"id": "calculer_rentabilite_commission", "type": "boolean", "label": "Calculer la rentabilité réelle après commission", "detail": "Intègre les frais de mise en ligne, de transaction et de commission dans ton prix final."}]', objectif_label = 'Tester la demande sur une marketplace avant d''investir dans son propre site.', objectif_metric_principale = 'ventes_marketplace' WHERE card_id = 'C-066';
INSERT INTO card_guide_mesure_questions (card_id, metric, label, type, unit, cadence_jours, sort_order) VALUES
  ('C-066', 'ventes_marketplace', 'Combien de ventes as-tu réalisées sur la marketplace ce mois-ci ?', 'number', NULL, 30, 1);

UPDATE card_guide SET checklist_json = '[{"id": "brief_initial", "type": "boolean", "label": "Formaliser l''étape de brief initial", "detail": "Un document ou échange écrit qui capture précisément ce que le client souhaite, avant tout devis chiffré."}, {"id": "devis_acompte", "type": "boolean", "label": "Établir un devis détaillé et un acompte de 40%", "detail": "Le devis précise prix, délai et conditions. L''acompte sécurise l''engagement matériel et financier."}, {"id": "validation_intermediaire", "type": "boolean", "label": "Définir l''étape de validation intermédiaire et le solde final", "detail": "Pour les commandes importantes, une validation à mi-parcours rassure le client avant le solde."}]', objectif_label = 'Sécuriser financièrement chaque commande sur-mesure importante.', objectif_metric_principale = 'litiges_sur_mesure' WHERE card_id = 'C-067';
INSERT INTO card_guide_mesure_questions (card_id, metric, label, type, unit, cadence_jours, sort_order) VALUES
  ('C-067', 'litiges_sur_mesure', 'Combien de litiges sur des commandes sur-mesure ce mois-ci ?', 'number', NULL, 30, 1);

UPDATE card_guide SET checklist_json = '[{"id": "identifier_pieces_location", "type": "boolean", "label": "Identifier les pièces adaptées à la location", "detail": "Privilégie des pièces robustes, facilement transportables et suffisamment polyvalentes."}, {"id": "tarif_garantie", "type": "boolean", "label": "Fixer un tarif de location et les conditions de garantie", "detail": "Le tarif doit couvrir l''usure potentielle et le risque de dommage, avec une caution ou assurance en complément."}, {"id": "cibler_clients", "type": "boolean", "label": "Cibler les bons types de clients pour ce service", "detail": "Photographes, organisateurs d''événements, décorateurs d''intérieur sont des cibles naturelles."}]', objectif_label = 'Générer un revenu complémentaire via la location de pièces.', objectif_metric_principale = 'revenu_location' WHERE card_id = 'C-068';
INSERT INTO card_guide_mesure_questions (card_id, metric, label, type, unit, cadence_jours, sort_order) VALUES
  ('C-068', 'revenu_location', 'Quel revenu as-tu généré par la location ce mois-ci ?', 'number', '€', 30, 1);

UPDATE card_guide SET checklist_json = '[{"id": "choisir_plateforme_crowdfunding", "type": "boolean", "label": "Choisir la plateforme adaptée à ton projet", "detail": "Ulule ou KissKissBankBank sont les plateformes francophones les plus utilisées pour ce type de projet créatif."}, {"id": "paliers_recompense", "type": "boolean", "label": "Construire des paliers de récompense attractifs", "detail": "Chaque palier de contribution doit correspondre à une récompense claire et désirable."}, {"id": "mobiliser_communaute", "type": "boolean", "label": "Mobiliser activement ta communauté existante avant et pendant la campagne", "detail": "Le succès se joue surtout dans les premiers jours — ton audience déjà engagée doit être sollicitée dès le lancement."}]', objectif_label = 'Préfinancer un projet sans risque financier personnel via le financement participatif.', objectif_metric_principale = 'objectif_crowdfunding_atteint' WHERE card_id = 'C-069';
INSERT INTO card_guide_mesure_questions (card_id, metric, label, type, unit, cadence_jours, sort_order) VALUES
  ('C-069', 'objectif_crowdfunding_atteint', 'Quel pourcentage de ton objectif de financement as-tu atteint ?', 'number', '%', 30, 1);

UPDATE card_guide SET checklist_json = '[{"id": "identifier_propriete", "type": "boolean", "label": "Identifier ce qui constitue ta propriété intellectuelle distinctive", "detail": "Un motif récurrent, une palette de couleurs signature, ou un univers graphique reconnaissable."}, {"id": "cadre_utilisation", "type": "boolean", "label": "Définir le cadre d''utilisation concédé", "detail": "Précise exactement ce qui est autorisé : type de support, durée, exclusivité ou non, territoire géographique."}, {"id": "remuneration_adaptee", "type": "boolean", "label": "Fixer une rémunération adaptée au modèle choisi", "detail": "Forfait unique pour une utilisation ponctuelle, ou royalties récurrentes basées sur les ventes générées."}]', objectif_label = 'Monétiser ta propriété intellectuelle sans production supplémentaire.', objectif_metric_principale = 'revenu_licence' WHERE card_id = 'C-070';
INSERT INTO card_guide_mesure_questions (card_id, metric, label, type, unit, cadence_jours, sort_order) VALUES
  ('C-070', 'revenu_licence', 'Quel revenu as-tu généré via cette licence ce mois-ci ?', 'number', '€', 30, 1);
