seo-generator-server/lib/selective-smart-touch
StillHammer 0244521f5c feat(selective-smart-touch): Add intelligent analysis-driven enhancement system + validation spec
## SelectiveSmartTouch (NEW)
- Architecture révolutionnaire: Analyse intelligente → Améliorations ciblées précises
- 5 modules: SmartAnalysisLayer, SmartTechnicalLayer, SmartStyleLayer, SmartReadabilityLayer, SmartTouchCore
- Système 10% segments: amélioration uniquement des segments les plus faibles (intensity-based)
- Détection contexte globale pour prompts adaptatifs multi-secteurs
- Intégration complète dans PipelineExecutor et PipelineDefinition

## Pipeline Validator Spec (NEW)
- Spécification complète système validation qualité par LLM
- 5 critères universels: Qualité, Verbosité, SEO, Répétitions, Naturalité
- Échantillonnage intelligent par filtrage balises (pas XML)
- Évaluation multi-versions avec justifications détaillées
- Coût estimé: ~$1/validation (260 appels LLM)

## Optimizations
- Réduction intensités fullEnhancement (technical 1.0→0.7, style 0.8→0.5)
- Ajout gardes-fous anti-familiarité excessive dans StyleLayer
- Sauvegarde étapes intermédiaires activée par défaut (pipeline-runner)

## Fixes
- Fix typo critique SmartTouchCore.js:110 (determineLayers ToApply → determineLayersToApply)
- Prompts généralisés multi-secteurs (e-commerce, SaaS, services, informatif)

🚀 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-13 15:01:02 +08:00
..
README.md feat(selective-smart-touch): Add intelligent analysis-driven enhancement system + validation spec 2025-10-13 15:01:02 +08:00
SmartAnalysisLayer.js feat(selective-smart-touch): Add intelligent analysis-driven enhancement system + validation spec 2025-10-13 15:01:02 +08:00
SmartReadabilityLayer.js feat(selective-smart-touch): Add intelligent analysis-driven enhancement system + validation spec 2025-10-13 15:01:02 +08:00
SmartStyleLayer.js feat(selective-smart-touch): Add intelligent analysis-driven enhancement system + validation spec 2025-10-13 15:01:02 +08:00
SmartTechnicalLayer.js feat(selective-smart-touch): Add intelligent analysis-driven enhancement system + validation spec 2025-10-13 15:01:02 +08:00
SmartTouchCore.js feat(selective-smart-touch): Add intelligent analysis-driven enhancement system + validation spec 2025-10-13 15:01:02 +08:00

SelectiveSmartTouch - Architecture Nouvelle Génération

🎯 Concept Révolutionnaire

SelectiveSmartTouch est une refonte complète de l'approche Selective Enhancement basée sur le principe Analyse → Amélioration Ciblée.

Problème de l'ancienne approche

❌ Approche "Améliore tout" (Selective Enhancement legacy):
LLM: "Voici un texte, améliore-le techniquement"
→ LLM devine ce qui manque
→ Résultats aléatoires, parfois hors-sujet
→ Prompts spécifiques à la signalétique (pas généralisable)
→ Pas de contrôle précis sur les modifications

Solution SmartTouch

✅ Approche Analyse→Ciblée (SelectiveSmartTouch):
1. ANALYSE (LLM température 0.2): "Ce texte manque de : X, Y, Z"
2. AMÉLIORATION GUIDÉE: "Ajoute précisément X, Y, Z sans toucher au reste"
→ Contrôle total, résultats prévisibles
→ Prompts génériques (multi-secteurs)
→ Logs structurés JSON (debugging facile)
→ Coûts optimisés (analyse=petit modèle)

📂 Architecture Modulaire

Phase 1: Analyse Intelligente

SmartAnalysisLayer.js - Analyse objective du contenu

const analysis = await smartAnalysis.analyzeElement(content, { mc0, personality });

// Retourne JSON structuré:
{
  "technical": {
    "needed": true,
    "score": 0.4,
    "missing": ["données chiffrées", "spécifications"],
    "issues": ["vocabulaire trop générique"]
  },
  "style": {
    "needed": true,
    "score": 0.5,
    "genericPhrases": ["nos solutions", "notre expertise"]
  },
  "readability": {
    "needed": false,
    "score": 0.8,
    "complexSentences": [],
    "repetitiveConnectors": []
  },
  "improvements": [
    "Ajouter données concrètes (chiffres, dimensions)",
    "Remplacer expressions génériques: nos solutions, notre expertise"
  ],
  "overallScore": 0.57
}

Caractéristiques :

  • LLM: GPT-4o-mini (objectivité)
  • Température: 0.2 (précision max)
  • Fallback algorithmique si LLM échoue
  • Analyse multi-dimensionnelle (technique, style, lisibilité, vocabulaire)

Phase 2: Améliorations Ciblées

SmartTechnicalLayer.js

Applique UNIQUEMENT les améliorations techniques identifiées

const result = await smartTechnical.applyTargeted(content, analysis, {
  mc0, personality, intensity: 1.0
});

// Skip automatique si analysis.technical.needed === false
// Prompt ciblé: "Ajoute données chiffrées, remplace vocabulaire générique"

Prompts génériques multi-secteurs :

  • E-commerce: "Dimensions: 30x20cm, épaisseur 3mm"
  • SaaS: "Compatible avec 95% des systèmes"
  • Services: "Délai: 3-5 jours ouvrés"

SmartStyleLayer.js

Améliorations style UNIQUEMENT si nécessaire

const result = await smartStyle.applyTargeted(content, analysis, {
  mc0, personality, intensity: 1.0
});

// Prompts adaptatifs selon secteur
// Exemples mode, SaaS, services, contenu informatif

SmartReadabilityLayer.js

Lisibilité UNIQUEMENT si score < 0.6

const result = await smartReadability.applyTargeted(content, analysis, {
  intensity: 1.0
});

// Simplifie phrases longues
// Varie connecteurs répétitifs
// Fluidifie structure

🚀 Utilisation

1. Via SmartTouchCore (orchestrateur)

const { SmartTouchCore } = require('./selective-smart-touch/SmartTouchCore');

const smartTouch = new SmartTouchCore();

const result = await smartTouch.apply(content, {
  mode: 'full',  // ou 'technical_only', 'style_only', etc.
  intensity: 1.0,
  csvData: { mc0, personality },
  layersOrder: ['technical', 'style', 'readability']  // Personnalisable
});

console.log(result.modifications);  // Nombre de modifications
console.log(result.analysisResults);  // Analyse JSON détaillée

2. Via Pipeline Builder (UI)

  1. Glisser module "SmartTouch (Analyse→Ciblé)" depuis palette Enhancement

  2. Choisir mode:

    • full: Analyse + toutes améliorations (recommandé)
    • analysis_only: Analyse seule pour debugging
    • technical_only: Technique uniquement
    • style_only: Style uniquement
    • readability_only: Lisibilité uniquement
  3. Configurer intensité (0.1-2.0)

  4. Sauvegarder et exécuter

3. Via PipelineExecutor

const pipeline = {
  name: "SmartTouch Test",
  pipeline: [
    { step: 1, module: 'generation', mode: 'simple', intensity: 1.0 },
    { step: 2, module: 'smarttouch', mode: 'full', intensity: 1.0 }
  ]
};

const executor = new PipelineExecutor();
const result = await executor.execute(pipeline, rowNumber);

📊 Modes Disponibles

Mode Description Couches appliquées Cas d'usage
full Analyse + toutes améliorations Technical + Style + Readability Production (recommandé)
analysis_only Analyse sans modification Aucune Debugging, audit qualité
technical_only Améliorations techniques ciblées Technical Contenu trop générique
style_only Améliorations style ciblées Style Adapter personnalité
readability_only Améliorations lisibilité ciblées Readability Phrases complexes

🎨 Exemples Génériques (Multi-Secteurs)

E-commerce Mode

❌ AVANT: "Produit de qualité aux dimensions optimales"
✅ APRÈS: "Dimensions: 30x20cm, épaisseur 3mm - qualité premium"

SaaS/Tech

❌ AVANT: "Notre plateforme innovante optimise vos processus"
✅ APRÈS: "Automatisez vos workflows en 3 clics - compatible 95% des systèmes"

Services Professionnels

❌ AVANT: "Nos solutions de qualité"
✅ APRÈS: "Expertise comptable garantissant votre conformité fiscale"

Contenu Informatif

❌ AVANT: "Le réchauffement climatique est un problème important"
✅ APRÈS: "Le réchauffement climatique atteint +1.2°C depuis 1850"

🔄 Comparaison Selective vs SmartTouch

Critère Selective (ancien) SmartTouch (nouveau)
Contrôle Faible Fort (dictature exacte)
Prévisibilité Aléatoire Déterministe
Généricité Spécifique signalétique Multi-secteurs
Debugging Boîte noire Analyse JSON visible
Coûts tokens ⚠️ Moyen Optimisé
Qualité ⚠️ Variable Consistante

📈 Statistiques & Logs

SmartTouch retourne des stats détaillées :

{
  "mode": "full",
  "analysisResults": { /* JSON analyses par élément */ },
  "layersApplied": [
    { "name": "technical", "modifications": 5, "duration": 2300 },
    { "name": "style", "modifications": 3, "duration": 1800 },
    { "name": "readability", "modifications": 2, "duration": 1500 }
  ],
  "totalModifications": 10,
  "elementsProcessed": 12,
  "elementsImproved": 8,
  "duration": 5600
}

Logs structurés :

🔍 SMART ANALYSIS BATCH: 12 éléments
   ✅ [Titre_H1]: 2 améliorations
   ✅ [Paragraphe_1]: 3 améliorations
   📊 Score moyen: 0.62 | Améliorations totales: 18

🔧 === PHASE 2: AMÉLIORATIONS CIBLÉES ===
   🎯 Couche: technical
      ✅ 5 modifications appliquées (2300ms)
   🎯 Couche: style
      ⏭️ Skip (score: 0.85 - aucune amélioration nécessaire)

🧪 Testing

Test unitaire

const { SmartAnalysisLayer } = require('./SmartAnalysisLayer');

const analyzer = new SmartAnalysisLayer();
const analysis = await analyzer.analyzeElement("Contenu test...", {});

expect(analysis.overallScore).toBeGreaterThan(0);
expect(analysis.improvements).toBeInstanceOf(Array);

Test intégration

# Via Pipeline Builder UI
npm start
# → http://localhost:3000/pipeline-builder.html
# → Glisser "SmartTouch" + configurer + tester

📝 Migration depuis Selective

// ANCIEN (Selective Enhancement)
const result = await applySelectiveStack(content, 'fullEnhancement', config);

// NOUVEAU (SmartTouch)
const smartTouch = new SmartTouchCore();
const result = await smartTouch.apply(content, {
  mode: 'full',
  intensity: config.intensity,
  csvData: config.csvData
});

Backward compatible : Selective Enhancement reste disponible, SmartTouch est un complément.


🛠️ Configuration Avancée

Ordre des couches personnalisé

const result = await smartTouch.apply(content, {
  mode: 'full',
  layersOrder: ['style', 'technical', 'readability']  // Style en premier
});

Skip analyse (mode legacy)

const result = await smartTouch.apply(content, {
  mode: 'technical_only',
  skipAnalysis: true  // Applique directement (moins précis)
});

🚦 Statut du Module

  • Core modules créés (Analysis, Technical, Style, Readability, Core)
  • Intégration PipelineExecutor (module smarttouch reconnu)
  • Intégration Pipeline Builder (drag-and-drop UI)
  • Intégration API (PipelineDefinition, modes, durées)
  • Tests production (en cours)
  • Documentation utilisateur (à compléter)

🎓 Philosophie de Design

  1. Analyse avant action : Comprendre avant de modifier
  2. Ciblage précis : Améliorer UNIQUEMENT ce qui est nécessaire
  3. Généricité maximale : Fonctionne pour tout type de contenu
  4. Logs transparents : JSON structuré pour debugging
  5. Optimisation coûts : Analyse légère, améliorations ciblées

🔗 Voir aussi

  • lib/selective-enhancement/ - Architecture legacy (toujours disponible)
  • lib/pipeline/PipelineExecutor.js - Orchestrateur principal
  • lib/pipeline/PipelineDefinition.js - Définition modules
  • public/pipeline-builder.html - Interface UI

Auteur: Architecture SmartTouch - Nouvelle Génération SEO Generator Date: 2025-01-13 Version: 1.0.0