// ======================================== // DEMO SYSTÈME TENDANCES // Démo directe du système de tendances configurables // ======================================== const { TrendManager } = require('../lib/trend-prompts/TrendManager'); async function demoTrends() { console.log('🎯 === DEMO SYSTÈME DE TENDANCES ===\n'); // Initialiser TrendManager const trendManager = new TrendManager(); // 1. LISTER TENDANCES DISPONIBLES console.log('📋 Tendances disponibles:'); const trends = trendManager.getAvailableTrends(); trends.forEach(trend => { console.log(` • ${trend.id} (${trend.category})`); console.log(` ${trend.description}\n`); }); // 2. SÉLECTIONNER UNE TENDANCE console.log('🎯 Test tendance "eco-responsable":'); await trendManager.setTrend('eco-responsable'); const currentTrend = trendManager.getCurrentTrend(); console.log(` ✅ Tendance active: ${currentTrend.name}`); console.log(` 📝 Description: ${currentTrend.description}`); // 3. CONFIGURATION COUCHE TECHNIQUE console.log('\n⚙️ Configuration couche technique avec tendance:'); const techConfig = trendManager.getLayerConfig('technical', { intensity: 0.9 }); console.log(' • Target Terms:', techConfig.targetTerms); console.log(' • Focus Areas:', techConfig.focusAreas); console.log(' • Intensité:', techConfig.intensity); // 4. CONFIGURATION COUCHE STYLE console.log('\n🎨 Configuration couche style avec tendance:'); const styleConfig = trendManager.getLayerConfig('style'); console.log(' • Target Style:', styleConfig.targetStyle); console.log(' • Tone:', styleConfig.tone); console.log(' • Values:', styleConfig.values); // 5. TEST AUTRE TENDANCE console.log('\n🚀 Test tendance "tech-innovation":'); await trendManager.setTrend('tech-innovation'); const techInnovConfig = trendManager.getLayerConfig('technical'); console.log(' • Target Terms:', techInnovConfig.targetTerms); console.log(' • Style:', techInnovConfig.targetStyle); // 6. TENDANCE SAISONNIÈRE console.log('\n🍂 Test tendance "automne-cocooning":'); await trendManager.setTrend('automne-cocooning'); const cocoConfig = trendManager.getLayerConfig('style'); console.log(' • Target Terms:', cocoConfig.targetTerms); console.log(' • Tone:', cocoConfig.tone); // 7. STATUS FINAL console.log('\n📊 Status final:'); const status = trendManager.getStatus(); console.log(` • Tendance active: ${status.activeTrend.name}`); console.log(` • Tendances disponibles: ${status.availableTrends}`); console.log(` • Tendances custom: ${status.customTrends}`); console.log('\n✅ === DEMO TERMINÉE ==='); } // CRÉER TENDANCE PERSONNALISÉE async function demoCustomTrend() { console.log('\n✨ === DEMO TENDANCE PERSONNALISÉE ===\n'); const trendManager = new TrendManager(); // Créer tendance "luxe-parisien" const luxeTrend = { name: 'Luxe Parisien', description: 'Élégance et raffinement à la française', config: { technical: { targetTerms: ['élégant', 'raffiné', 'prestigieux', 'exclusif', 'haut de gamme'], focusAreas: ['design français', 'savoir-faire', 'exclusivité'] }, style: { targetStyle: 'élégant et sophistiqué', tone: 'raffiné et prestigieux', values: ['élégance', 'tradition', 'excellence'] } } }; trendManager.createCustomTrend('luxe-parisien', luxeTrend); await trendManager.setTrend('luxe-parisien'); console.log('🏛️ Tendance "Luxe Parisien" créée et appliquée:'); const config = trendManager.getLayerConfig('style'); console.log(' • Target Terms:', config.targetTerms); console.log(' • Target Style:', config.targetStyle); console.log(' • Values:', config.values); console.log('\n✅ === TENDANCE PERSONNALISÉE OK ==='); } // EXÉCUTER DEMO if (require.main === module) { demoTrends() .then(() => demoCustomTrend()) .catch(console.error); }