From ad32c2b63f74711e35c0be46e06bac0fc511e760 Mon Sep 17 00:00:00 2001 From: BartM82 <105561997+BartM82@users.noreply.github.com> Date: Mon, 28 Jul 2025 10:05:09 +0000 Subject: [PATCH 1/2] =?UTF-8?q?Modification=20des=20mots=20cl=C3=A9=20dans?= =?UTF-8?q?=20Keywords.js=20et=20techniques.js.=20Ajout=20de=20techniques?= =?UTF-8?q?=20dans=20enhaced=20keywords.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../releases/Plugin-dima/data/keywords.js | 39 +++++++++++++++ .../releases/Plugin-dima/data/techniques.js | 48 ++++++++++++++++--- 2 files changed, 80 insertions(+), 7 deletions(-) diff --git a/plugin/plugin_chrome/releases/Plugin-dima/data/keywords.js b/plugin/plugin_chrome/releases/Plugin-dima/data/keywords.js index b56bafe..f46d489 100644 --- a/plugin/plugin_chrome/releases/Plugin-dima/data/keywords.js +++ b/plugin/plugin_chrome/releases/Plugin-dima/data/keywords.js @@ -86,6 +86,8 @@ const DIMA_ENHANCED_KEYWORDS = { ], }, temporal: ["imminent", "proche", "bientôt", "soon", "approaching"], + formal: ["situation critique", "état d'urgence", "alerte maximale"], + informal: ["c'est la cata", "on est foutu", "ça craint"], }, patterns: [ /(?:alerte|alert|warning|attention)\s+(?:rouge|red|maximum)/i, @@ -126,6 +128,43 @@ const DIMA_ENHANCED_KEYWORDS = { /(?:expire|ends?)\s+(?:bientôt|soon|today|demain|tomorrow)/i, ], }, + TE0251: { + core: ["tout le monde", "consensus", "everyone", "la plupart", "most people", "nous pensons", "we think"], + variants: { + universal_claims: [ + "personne ne peut nier", + "nobody can deny", + "c'est du bon sens", + "it's common sense", + "chacun sait que", + "everyone knows" + ], + majority_appeals: [ + "la majorité pense", + "the majority thinks", + "l'opinion générale", + "most agree" + ] + }, + patterns: [ + /(?:tout le monde|everyone)\s+(?:sait|knows?|dit|says?)/i, + /(?:la plupart|most)\s+(?:des gens|people)\s+(?:pensent|think)/i + ], + }, + + TE0422: { + core: ["autorité", "authority", "expert", "spécialiste", "specialist", "professeur", "professor", "docteur", "doctor", "officiel"], + variants: { + titles: ["Dr.", "Pr.", "Prof.", "PhD", "expert reconnu", "spécialiste renommé"], + institutions: ["selon Harvard", "université de", "une étude de", "des chercheurs de"], + appeal_phrases: ["selon les experts", "la science prouve", "études montrent", "scientifiquement prouvé"] + }, + patterns: [ + /(?:selon|according to)\s+(?:les?\s+)?(?:experts?|spécialistes?)/i, + /(?:étude|study|research)\s+(?:révèle|shows?|démontre)/i, + /(?:Dr\.|Prof\.|PhD)\s+\w+\s+(?:affirme|says?)/i + ], + }, }; const CONTEXT_PATTERNS = { diff --git a/plugin/plugin_chrome/releases/Plugin-dima/data/techniques.js b/plugin/plugin_chrome/releases/Plugin-dima/data/techniques.js index 04b9373..b4748e6 100644 --- a/plugin/plugin_chrome/releases/Plugin-dima/data/techniques.js +++ b/plugin/plugin_chrome/releases/Plugin-dima/data/techniques.js @@ -121,6 +121,8 @@ const DIMA_TECHNIQUES = [ "case", "témoignage", "testimony", + "histoire vraie", "true story", "vécu", "expérience", "prenons l'exemple", + "take the example","illustration", "démonstration", "spécimen", "par exemple", "for example" ], weight: 1.0, type: "technique", @@ -132,10 +134,8 @@ const DIMA_TECHNIQUES = [ phase: "Detect", description: "Répétition pour créer une familiarité artificielle", mots_cles: [ - "encore", - "again", - "toujours", - "always", + "encore et toujours", + "again and again", "répétition", "repetition", "familier", @@ -159,6 +159,8 @@ const DIMA_TECHNIQUES = [ "frequent", "épidémie", "epidemic", + "sans cesse", "constantly", "en permanence", "all the time", "se répand", "spreading", + "prolifère", "multiplies", "tendance", "trend", "phénomène", "phenomenon", "on en parle partout" ], weight: 1.1, type: "technique", @@ -198,6 +200,8 @@ const DIMA_TECHNIQUES = [ "shocking", "inhabituel", "unusual", + "surprenant", "surprising", "inattendu", "unexpected", "anormal", "abnormal", "hors norme", "extraordinary", + "stupéfiant", "mind-blowing", "hallucinant", "unbelievable", "jamais vu", "never seen", "renversant" ], weight: 1.3, type: "technique", @@ -232,8 +236,11 @@ const DIMA_TECHNIQUES = [ phase: "Detect", description: "Mise en avant de l'unicité pour marquer les esprits", mots_cles: [ - "unique", - "seul", + "uniquement", + "seuleument", + "rien de comparable", + "sans comparaison", + "sans équivalent", "only", "exclusif", "exclusive", @@ -453,6 +460,9 @@ const DIMA_TECHNIQUES = [ "selon une étude", "un témoignage", "un témoin", + "prenons l'exemple de", "regardez le cas de", "voici l'histoire de", "j'ai un ami qui", "mon voisin", + "cela prouve que", "this proves that", "la preuve c'est que", "comme le montre", "cet exemple illustre", + "une connaissance", "dans ma famille", "someone I know", "consider the case of" ], weight: 1.4, type: "technique", @@ -492,6 +502,9 @@ const DIMA_TECHNIQUES = [ "in general", "les français", "americans", + "tous les", "toutes les", "every single", "sans exception", "généralement", "typically", + "ils sont tous", "comme tous les", "usually they", "systématiquement", "invariablement", + "à chaque fois", "every time", "c'est toujours comme ça", "always the same", "c'est typique des" ], weight: 1.6, type: "technique", @@ -544,6 +557,9 @@ const DIMA_TECHNIQUES = [ "suffit de", "just need to", "solution", + "basique", "basic", "élémentaire", "elementary", "logique", "logical", "naturel", "natural", + "sans effort", "effortless", "automatique", "automatic", "c'est simple", "it's simple", + "il suffit de", "la solution est simple", "the solution is simple" ], weight: 1.3, type: "technique", @@ -659,7 +675,9 @@ const DIMA_TECHNIQUES = [ "sources confirment", "rien ne démontre", "hasard ?", - "les faits", + "les faits rapportés", + "selon certains", "some say", "il paraît que", "apparently", "on dit que", "they say", + "j'ai entendu dire", "I heard", "des experts", "some experts", "certaines sources", "various sources" ], weight: 1.2, type: "technique", @@ -692,6 +710,9 @@ const DIMA_TECHNIQUES = [ "image", "imaginez", "supposons", + "visualisez", "visualize", "pensez à", "think about", "ne trouvez-vous pas", "don't you think", + "n'est-ce pas", "isn't it", "si jamais", "what if", "dans l'hypothèse", "hypothetically", + "cela rappelle", "this reminds", "picture this" ], weight: 1.1, type: "technique", @@ -715,6 +736,9 @@ const DIMA_TECHNIQUES = [ "i was right", "évident", "obvious", + "valide", "validates", "corrobore", "corroborates", "je le savais", "I knew it", "exactement", "exactly", + "forcément", "inevitably", "logiquement", "logically", "cela confirme", "this confirms", + "comme attendu", "as anticipated", "évidemment", "obviously" ], weight: 1.5, type: "technique", @@ -770,6 +794,7 @@ const DIMA_TECHNIQUES = [ description: "Mise en avant des bénéfices personnels pour motiver l'action", mots_cles: [ "vous bénéficiez", + "vous gagnez", "you benefit", "votre avantage", "your advantage", @@ -833,6 +858,9 @@ const DIMA_TECHNIQUES = [ "expert", "maîtrise", "mastery", + "assuré", "assured", "convaincu", "convinced", "spécialiste", "specialist", "professionnel", "professional", + "indubitable", "undoubtable", "incontestable", "unquestionable", "je suis sûr", "i am sure", + "sans aucun doute", "without a doubt", "évidemment", "obviously" ], weight: 1.2, type: "technique", @@ -852,6 +880,9 @@ const DIMA_TECHNIQUES = [ "invest more", "ne pas abandonner", "don't give up", + "persévérer", "persevere", "tenir bon", "hold on", "doubler la mise", "double down", + "aller plus loin", "go further", "s'engager", "commit", "ne pas lâcher", "don't quit", + "continue à", "continue to", "keep going", "coûte que coûte", "quoi qu'il en coûte" ], weight: 1.1, type: "technique", @@ -893,6 +924,9 @@ const DIMA_TECHNIQUES = [ "status quo", "comme ça", "as is", + "stabilité", "stability", "équilibre", "balance", "préserver", "preserve", "garder", "keep", + "résister au changement", "resist change", "mieux vaut rester", "better to stay", + "ne changeons rien", "let's not change", "comme avant", "as before" ], weight: 1.0, type: "technique", From 769df8eb5d4b448772a8a04332e2296009142ea6 Mon Sep 17 00:00:00 2001 From: BartM82 <105561997+BartM82@users.noreply.github.com> Date: Mon, 28 Jul 2025 13:59:43 +0000 Subject: [PATCH 2/2] =?UTF-8?q?am=C3=A9lioration=20extractor=20(suppressio?= =?UTF-8?q?n=20du=20bruit)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../releases/Plugin-dima/data/techniques.js | 9 +-------- .../Plugin-dima/modules/contentExtractor.js | 18 +++++++++++++++++- .../Plugin-dima/modules/techniqueAnalyzer.js | 11 +++++++++++ 3 files changed, 29 insertions(+), 9 deletions(-) diff --git a/plugin/plugin_chrome/releases/Plugin-dima/data/techniques.js b/plugin/plugin_chrome/releases/Plugin-dima/data/techniques.js index b4748e6..362b744 100644 --- a/plugin/plugin_chrome/releases/Plugin-dima/data/techniques.js +++ b/plugin/plugin_chrome/releases/Plugin-dima/data/techniques.js @@ -176,8 +176,7 @@ const DIMA_TECHNIQUES = [ "same as", "cela rappelle", "déjà vu", - "par ailleurs", - "contexte", + "dans ce contexte", ], weight: 0.9, type: "technique", @@ -493,11 +492,6 @@ const DIMA_TECHNIQUES = [ "stéréotype", "les étrangers", "les immigrants", - "all the", - "toujours", - "always", - "jamais", - "never", "en général", "in general", "les français", @@ -853,7 +847,6 @@ const DIMA_TECHNIQUES = [ "confident", "sûr", "sure", - "certain", "capable", "expert", "maîtrise", diff --git a/plugin/plugin_chrome/releases/Plugin-dima/modules/contentExtractor.js b/plugin/plugin_chrome/releases/Plugin-dima/modules/contentExtractor.js index 15ea1db..c857e45 100644 --- a/plugin/plugin_chrome/releases/Plugin-dima/modules/contentExtractor.js +++ b/plugin/plugin_chrome/releases/Plugin-dima/modules/contentExtractor.js @@ -130,8 +130,21 @@ class ContentExtractor { "advertisement", "social", "share", + "cookie", "popup", "modal", "overlay", "banner", "newsletter", + "related", "suggest", "recommend", "widget", "promo", "promotion", + "comment", "rating", "review", "breadcrumb", "pagination", "tag", + "metadata", "byline", "author-bio", "subscription", "paywall" + ]; + const skipIds = ["nav", "menu", "footer", "header", "sidebar", "comments","cookie-banner", "newsletter", "popup", "modal", "overlay", + "related-articles", "advertisement", "social-sharing"]; + const skipAttributes = [ + 'data-module="Advertisement"', + 'data-component="SocialShare"', + 'data-track-component="Newsletter"', + 'role="banner"', + 'role="navigation"', + 'role="complementary"' ]; - const skipIds = ["nav", "menu", "footer", "header", "sidebar", "comments"]; const className = element.className?.toLowerCase() || ""; const id = element.id?.toLowerCase() || ""; @@ -139,7 +152,10 @@ class ContentExtractor { return ( skipClasses.some((skip) => className.includes(skip)) || skipIds.some((skip) => id.includes(skip)) || + skipAttributes.some((attr) => element.getAttribute(attr.split('=')[0]) === attr.split('=')[1]?.replace(/"/g, '')) || element.getAttribute("aria-hidden") === "true" || + element.getAttribute("role") === "banner" || + element.getAttribute("role") === "navigation" || getComputedStyle(element).display === "none" ); } diff --git a/plugin/plugin_chrome/releases/Plugin-dima/modules/techniqueAnalyzer.js b/plugin/plugin_chrome/releases/Plugin-dima/modules/techniqueAnalyzer.js index 81b369d..26d61a0 100644 --- a/plugin/plugin_chrome/releases/Plugin-dima/modules/techniqueAnalyzer.js +++ b/plugin/plugin_chrome/releases/Plugin-dima/modules/techniqueAnalyzer.js @@ -378,6 +378,17 @@ class TechniqueAnalyzer { return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); } + calculatePositionWeight(position, textLength) { + const relativePosition = position / textLength; + // Boost pour les éléments en début de texte (titres, accroches) + if (relativePosition < 0.15) return 1.4; + // Boost modéré pour le premier tiers + if (relativePosition < 0.33) return 1.1; + // Boost pour la fin (conclusions, appels à l'action) + if (relativePosition > 0.85) return 1.2; + // Poids normal pour le milieu + return 1.0; + } calculateRiskLevel(score) { if (score < 15) return "Faible"; if (score < 30) return "Modéré";