您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Supprimme les annonces des SSII sur le site de l'Apec
- // ==UserScript==
- // @name Apec.fr sans spam SSII
- // @description Supprimme les annonces des SSII sur le site de l'Apec
- // @namespace http://userscripts.org/scripts/show/157778
- // @include http://*.apec.fr/*
- // @grant GM_setValue
- // @grant GM_getValue
- // @grant GM_deleteValue
- // @version 1.6
- // @require http://code.jquery.com/jquery-2.1.0.js
- // ==/UserScript==
- var blockedBoites = new Array(
- /^MALTEM CONSULTING GROUP/i,
- /^PROSERVIA/i,
- /^6EME SENS TECHNOLOGY/i,
- /^KENT$/i,
- /^CLESYS/i,
- /^THALES SERVICES/i,
- /^INFORMATIS TECHNOLOGY SYSTEM/i,
- /^MATEN/i,
- /^INDETEC/i,
- /^SOPRA GROUP/i,
- /^ALTEN ITC/i,
- /^ALTEN( +|$)/i,
- /^GLOBAL TECHNOLOGIES/i,
- /^AGH CONSULTING/i,
- /^IBM/i,
- /^Capgemini/i,
- /^Atos Origin/i,
- /^Logica/i,
- /^HP$/i,
- /^Accenture/i,
- /^Sopra Group/i,
- /^Steria/i,
- /^CSC$/i,
- /^Thales CIS/i,
- /^GFI Informatique/i,
- /^Bull/i,
- /^Docapost/i,
- /^Altran/i,
- /^Alten/i,
- /^Akka Technologies/i,
- /^Neurones/i,
- /^Open$/i,
- /^Astek/i,
- /^Spie Communications/i,
- /^Devoteam/i,
- /^Osiatis/i,
- /^NextiraOne/i,
- /^T-Systems/i,
- /^SII$/i,
- /^SCC$/i,
- /^Dell/i,
- /^Tessi$/i,
- /^CS Communication & Systemes/i,
- /^Euriware/i,
- /^Assystem/i,
- /^Adecco/i,
- /^APX$/i,
- /^Xerox/i,
- /^Business & Decision/i,
- /^SQLI/i,
- /^Wipro/i,
- /^Econocom/i,
- /^Overlap Groupe/i,
- /^Solucom/i,
- /^Alti$/i,
- /^Kurt Salmon/i,
- /^Aubay/i,
- /^NCR$/i,
- /^Infotel/i,
- /^Apside/i,
- /^Beijaflore/i,
- /^Telindus/i,
- /^Tibco/i,
- /^Micropole-Univers/i,
- /^Ausy/i,
- /^Team Partners Group/i,
- /^Its Group/i,
- /^Keyrus/i,
- /^Unisys/i,
- /^Fujitsu/i,
- /^Consort NT/i,
- /^Computacenter/i,
- /^Aptus/i,
- /^Sodifrance/i,
- /^ESR$/i,
- /^Cognitis Group/i,
- /^Acti/i,
- /^TCS$/i,
- /^Wincor Nixdorf/i,
- /^Groupe Helice/i,
- /^Eurogiciel/i,
- /^Segula Technologies/i,
- /^SunGard Data Systems/i,
- /^Feel Europe Groupe/i,
- /^Ares$/i,
- /^Viseo/i,
- /^Proservia/i,
- /^Viveris/i,
- /^Solutions 30/i,
- /^Vision IT/i,
- /^Prodware/i,
- /^Umanis/i,
- /^Prosodie/i,
- /^Maltem Consulting/i,
- /^Aedian/i,
- /^EffiTIC/i,
- /^Safran Engineering Services/i,
- /^Northgate IS/i,
- /^Oresys/i,
- /^Logware/i,
- /^Oxya/i,
- /^Infosys/i,
- /^Degetel groupe/i,
- /^Hardis/i,
- /^Eryma/i,
- /^Airial Conseil/i,
- /^TRSB Groupe/i,
- /^Groupe Cella/i,
- /^Soft Computing/i,
- /^Valtech/i,
- /^AFD Technologies/i,
- /^Neo-Soft/i,
- /^Dimension Data/i,
- /^Adneom/i,
- /^EXPERT LINE/i,
- /^NETXP/i,
- /^ARTEMYS/i,
- /^GROUPE ESR/i,
- /^CYCLAD FRANCE/i,
- /^ITEM SERVICES/i,
- /^OBJECTWARE/i,
- /^EXTIA$/i,
- /^SIA PARTNERS$/i,
- /^LCC FRANCE S\.A\.R\.L\.$/i,
- /^IKOS$/i,
- /^GROUPE ON-X$/i,
- /^PANDA SERVICES$/i,
- /^STRATHOM$/i,
- /^INTITEK$/i,
- /^DAVIDSON CONSULTING$/i,
- /^ACTHOM CONSEIL ET INGENIERIE$/i,
- /^IENA CONSULTING$/i,
- /^SOGETI FRANCE$/i,
- /^KAORI SAS$/i,
- /^GENIOUS SYSTEMES$/i,
- /^YSANCE$/i,
- /^ABAKUS$/i,
- /^HR TEAM$/i,
- /^SAPIENS CONSULTING$/i,
- /^SEXTANT SOLUTIONS INFORMATIQUES$/i,
- /^INTRINSEC$/i,
- /^AKKA I & S$/i,
- /^METANEXT$/i,
- /^THANIS$/i,
- /^TO B SERVICES$/i,
- /^SYNCHRONE$/i,
- /^PROGELOG$/i,
- /^OSIRES$/i,
- /^BLUTE@MS TECHNOLOGY$/i,
- /^ANSON MCCADE$/i,
- /^PEARL IT CONSULTING$/i,
- /^ANTARES IT$/i,
- /^MGI CONSULTANTS$/i,
- /^SAS EOLEN$/i,
- /^OPEN WIDE$/i,
- /^CHALLENGE2MEDIA \(C2M\)$/i,
- /^GROUPAGORA$/i,
- /^AVANGUARD$/i,
- /^SILICOM$/i,
- /^ALYOTECH ENGINEERING$/i,
- /^LYBELIS$/i,
- /^NEWRUN$/i,
- /^ACCELITE$/i,
- /^3S INFORMATIQUE$/i,
- /^MATIS SI$/i,
- /^FEDUCIA$/i,
- /^QUICK SOURCE$/i,
- /^TAIX SAS$/i,
- /^INGCOM$/i,
- /^SUNAPSIS$/i,
- /^CLARITEAM SA$/i,
- /^I-TRACING$/i,
- /^SYNOPSIA INGENIERIE$/i,
- /^INTEGRALE IP$/i,
- /^ARISMORE$/i,
- /^NEXTON CONSULTING$/i,
- /^T-T CONSULTING$/i,
- /^IDNA$/i,
- /^HELPLINE$/i,
- /^SGUI$/i,
- /^FISH EYE TECHNOLOGIES$/i,
- /^FHM SOLUTIONS FRANCE$/i,
- /^AXONES$/i,
- /^R2E CONSEIL$/i,
- /^FINAXYS$/i,
- /^ID2 GROUPE$/i,
- /^DCS EASYWARE$/i,
- /^SBP$/i,
- /^CAT AMANIA$/i,
- /^AMARIS$/i,
- /^AFERSYS$/i,
- /^SQUAD$/i,
- /^MF CONSULTING$/i,
- /^SAS MCNEXT$/i,
- /^OPENBRIDGE$/i,
- /^AVISTO$/i,
- /^MODIS FRANCE$/i,
- /^QUARTZ-INGENIERIE$/i,
- /^PROTECTIC$/i,
- /^INATIS$/i,
- /^TREFLE INGENIERIE$/i,
- /^AKKA I & S$/i,
- /^QUANTIC ETUDES$/i,
- /^SIPROJ$/i,
- /^PARTENOR$/i,
- /^ATOS INTEGRATION SAS$/i,
- /^OMNILOG$/i,
- /^TALEA$/i,
- /^CELLA INFORMATIQUE$/i,
- /^L' INFORMATIQUE COMMUNICANTE$/i,
- /^DEGETEL GROUP$/i,
- /^GREEN CONSEIL$/i,
- /^NOUVELI$/i,
- /^ADENIUM SAS$/i,
- /^MATIS TECHNOLOGIES$/i,
- /^ERES TECHNOLOGIE$/i,
- /^COMTIS$/i,
- /^IMPROVEUS$/i,
- /^ABS TECHNOLOGIES$/i,
- /^OZITEM$/i,
- /^CORAUD$/i,
- /^ALYOTECH$/i,
- /^ON-X$/i,
- /^GROUPE SOFT COMPANY$/i,
- /^AXILEO$/i,
- /^CTS$/i,
- /^ATOS A2B/i,
- /^INFOSPEC$/,
- /^SPIE$/,
- /^M PLANET$/,
- /^AKEBIA$/,
- /^PARITEL TELECOM$/,
- /^CELAD$/,
- /^ALYOTECH CONSULTING$/,
- /^KP2I$/,
- /^PHINEO$/,
- /^ACIAL$/,
- /^INVIVOO$/,
- /^IBSI$/,
- /^SAVANE$/,
- /^ALTER SOLUTIONS$/,
- /^FORSITEC$/,
- /^STEEPCONSULT SA$/,
- /^GALLAN CONSULTING$/,
- /^AXEL IT$/,
- /^SNAISO$/,
- /^LEXSI$/,
- /^FREE EXPERT$/,
- /^UNIWARE GLOBAL SERVICES$/,
- /^4ICOM$/,
- /^ABASE SAS$/,
- /^AMD CONSULTING$/,
- /^CASTELIS$/,
- /^ATHEOS$/,
- /^GROUPE ELCIMAI$/,
- /^AMD CONSEIL$/,
- /^LOGFI$/,
- /^EXPERIS IT$/,
- /^DRIMS$/,
- /^SIBIO$/,
- /^CNS COMMUNICATIONS$/,
- /^AKKA I & S$/,
- /^FRAMEIP$/,
- /^SMILE$/,
- /^EXPECTRA$/,
- /^INCKA$/,
- /^INFACT FRANCE$/,
- /^ODESYS$/,
- /^CGI$/,
- /^LINCOLN SA$/,
- /^CONSULTAKE$/,
- /^AVANISTA$/,
- /^VITAM$/,
- /^AMESYS$/,
- /^NEOVITY$/,
- /^TECHNO 5$/,
- /^KEREVAL$/,
- /^ELSYS DESIGN$/,
- /^SOGETI HIGH TECH$/,
- /^ALTER DEFENSE$/,
- /^ORNESS$/,
- /^IN SITU$/,
- /^EXL GROUP$/,
- /^SELESCOPE$/,
- /^MALLYANCE$/,
- /^CISIF$/,
- /^LOGAXONE$/,
- /^PRIME IT$/,
- /^DIADEMYS$/,
- /^STUDEC$/,
- /^CLARANS CONSULTING$/,
- /^DATA BASE FACTORY$/,
- /^DGE INTERIM$/,
- /^ETRALI$/,
- /^QUANTIC$/,
- /^DELETEC$/,
- /^S'TEAM MANAGEMENT$/,
- /^SOGETREL$/,
- /^CONSORT FRANCE$/,
- /^EVA GROUP$/,
- /^COMPUTER FUTURES SOLUTIONS$/,
- /^INTERDATA$/,
- /^MANAGEMENT CONSEIL INGENIERIE$/,
- /^KEY CONSULTING$/,
- /^ATLANTIC INGENIERIE$/,
- /^NETAPSYS CONSEIL$/,
- /^GESER-BEST$/,
- /^IT LINK SYSTEM$/,
- /^IT LINK$/,
- /^KACILEO$/,
- /^NTT CORPORATE$/,
- /^PRO IT CONSEIL$/,
- /^TALEND S\.A\.$/,
- /^ACT'M ADVISORS$/,
- /^EPI ETUDES & PROJETS INDUSTRIELS$/,
- /^BT SERVICES$/,
- /^D-FI SERVICES$/,
- /^NEO SOFT SERVICES$/,
- /^SEA TPI$/,
- /^VENEDIM$/,
- /^SAFARI TECHNOLOGIES$/,
- /^EUROPARTNER FRANCE$/,
- /^HN SERVICES$/,
- /^MANAGEMENT AND BUSINESS ASSOCIATES$/,
- /^ESR - GROUPE OSIATIS$/,
- /^KLEE$/,
- /^SAVANE CONSULTING$/,
- /^ARROW ECS$/,
- /^DG CONSEILS$/,
- /^CRISTAL SOLUTIONS$/,
- /^2SB$/,
- /^CONSEILS ET SYSTEMES INFORMATIQUES$/,
- /^F. INICIATIVAS$/,
- /^AMESYS CONSEIL$/,
- /^ACCESS ETOILE$/,
- /^INGIMA$/,
- /^ACENSI SAS$/,
- /^ABSYS CYBORG$/,
- /^COGITEAM$/,
- /^INFOG$/,
- /^AKKA INGENIERIE PRODUIT$/,
- /^MEILLEURE GESTION$/,
- /^ELANZ$/,
- /^CS SYSTEMES D'INFORMATION$/,
- /^BAW$/,
- /^SAS SOLLAN FRANCE$/
- );
- var blockedDesc = new Array(
- /\bConseil en Technologies\b/i,
- /\bconseil et l'ingénierie\b/i,
- /\bConseil en informatique\b/i,
- /\bcabinets? de conseil\b/i,
- /\bcabinets? indépendant de conseil\b/i,
- /\bSociétés? d'Ingénierie\b/i,
- /\bsociétés? de services?\b/i,
- /\bSociétés? de conseil\b/i,
- //\bsociété de Conseil en informatique\b/i,
- //\bsociété de conseil et d'ingénierie informatique\b/i,
- //\bSociété de Conseil et de Service en Ingénierie Informatique\b/i,
- //\bSociété de Services? en Ingénierie Informatique\b/i,
- /\bEntreprises? de Services? du Numérique\b/i,
- /\bESN\b/i,
- //\bintégrateur de solutions\b/i,
- /\bintégrateur d'infrastructure\b/i,
- /\bintegrateur Grands Comptes\b/i,
- //\best un integrateur\b/i,
- /\bSSII\b/i,
- /[ée]diteurs? (français )?(de )?logiciels?\b/i,
- /[ée]diteurs? (de )?progiciels et \b/i,
- /[ée]diteurs? (de )?solutions\b/i,
- /\bintégrateurs? de solutions applicatives\b/i,
- /\bintégrateur spécialisé\b/i,
- /\bintégrateur de solutions\b/i,
- /\bspécialisée? dans l'intégration\b/i,
- /\bfournisseur de services managés\b/i,
- /\b[ée]ntreprise de Services du Numérique\b/i,
- /\b[ée]ntreprise Intégrateur\b/i,
- /\b[ée]diteur de solutions\b/i,
- /\bde services numériques\b/i,
- /\bdéploie pour ses clients\b/i,
- /\bleaders français sur le marché des télécoms\b/i,
- /\bFort de ses [0-9]+ consultant\b/i,
- //\ben tant qu'équipementier et intégrateur\b/i,
- /\bdes? grandes entreprises\b/i,
- /\bnous délivrons des projets\b/i,
- /\bdéploie pour ses clients des solutions d'optimisation IT\b/i,
- /\bpartenaire incontournable [^.]+ systèmes d'informations\b/i,
- /\bSolutions de Sécurité Informatique\b/i,
- /\baccompagnons nos clients dans la gestion de leurs systèmes d informations\b/i,
- /\bleaders incontestés dans les services en informatique\b/i,
- /\bConseil en Technologies\b/i,
- /\bNos équipes accompagnent les acteurs des secteurs\b/i,
- /\baccompagne un client\b/i,
- /\bmode projet auprès de nos clients\b/i,
- /\bprestation de service\b/i,
- /\baccompagner? les grands comptes\b/i,
- /\baccompagner? les grandes entreprises\b/i,
- /\baccompagner? nos clients\b/i
- );
- var whiteDesc = new Array(
- /\brecrutement\b/,
- /\bDirection des systèmes\b/,
- /\bDSI\b/,
- /\brecrute pour son client\b/
- );
- var blockedTitle = new Array(
- /\bconsultant\b/i
- );
- // Variables de titre
- var theParent = document.getElementById('content');
- var theKids = theParent.children;
- var initTitle = theKids[0].innerHTML;
- //var a = [];
- //GM_setValue("customBoites", JSON.stringify(a));
- // manage cookie
- // GM_deleteValue("customBoites");
- if(GM_getValue("customBoites")) {
- var customBoites = JSON.parse(GM_getValue("customBoites"));
- } else {
- var customBoites = new Array();
- }
- //blockedBoites=blockedBoites.concat(customBoites);
- function addtoGM(e) {
- console.log(e);
- var boitez=e.target.innerHTML;
- if(confirm("Ne plus afficher les annonces de "+boitez+" ?")) {
- customBoites.push(boitez);
- GM_setValue("customBoites", JSON.stringify(customBoites));
- console.log(GM_getValue("customBoites"));
- //var up=e.target.parentNode.parentNode.parentNode;
- // up.parentNode.removeChild(up);
- ReplaceContentInContainer(".boxContent.offre");
- var rightBoite = document.createElement('div');
- rightBoite.innerHTML = boitez;
- rightBoite.addEventListener("click", removefromGM, false);
- rightPan.appendChild(rightBoite);
- }
- }
- function removefromGM(e) {
- console.log(e);
- var boitez=e.target.innerHTML;
- if(confirm("Réafficher les annonces de "+boitez+" ?\n(effet après rafraichissement de la page)")) {
- var idx = customBoites.indexOf(boitez); // Find the index
- if(idx!=-1) customBoites.splice(idx, 1); // Remove from array
- GM_setValue("customBoites", JSON.stringify(customBoites));
- console.log(GM_getValue("customBoites"));
- var up=e.target;
- up.parentNode.removeChild(up);
- }
- }
- function ReplaceContentInContainer(selector) {
- var count_replaced=0;
- var nodeList = document.querySelectorAll(selector);
- $(selector).each(function(){ // Boite loop
- var jboite_h4 = $(this).find("h4").first();
- var boite_h4 = jboite_h4[0];
- if(boite_h4 && boite_h4.tagName == "H4") { // Get boite name (this = announce block, boite_h4 = company name & location, boite[1] = company name)
- var boite=stripTags(boite_h4.innerHTML).replace(/\s+/g," ").replace(/^ /,"").match(/^(.+) \- (.+)$/);
- if(boite === null && boite_h4.children[0]) {
- boite=new Array();
- boite[1]=boite_h4.children[0].innerHTML;
- } else { // Make boite clickable
- var logtxt = boite[1];
- boite_h4.innerHTML=boite_h4.innerHTML.replace(/<\/?([^>]+)>/ig,""); // strip tags
- var btn = document.createElement('h4');
- var btns1 = document.createElement('span');
- var btns2 = document.createElement('span');
- btns1.addEventListener("click", addtoGM, false);
- var tmp =boite;
- var tmp2=boite[2];
- btns1.innerHTML=tmp[1];
- btns2.innerHTML=" - "+tmp2;
- btn.appendChild(btns1);
- btn.appendChild(btns2);
- $(btn).insertBefore(jboite_h4);
- jboite_h4.remove();
- }
- // Check & disable boite based on HARD-CODED company name
- var broken=false;
- for (var j=0, len=blockedBoites.length;j<len;j++) {
- if(boite[1].match(blockedBoites[j])) {
- logtxt += " ... removed! (cause: hard-coded company blacklist)";
- $(this).remove();
- count_replaced++;
- broken = true;
- break;
- }
- }
- // Check & disable boite based on USER-DEFINED company name
- if(!broken)
- for (var j=0, len=customBoites.length;j<len;j++) {
- if(boite[1] == customBoites[j]) {
- logtxt += " ... removed! (cause: user-defined company blacklist)";
- $(this).remove();
- count_replaced++;
- broken = true;
- break;
- }
- }
- // Check & disable boite based on HARD-CODED description
- if(!broken) {
- var annDesc = $(this).find("div.intituleForHighlight").text();
- for (var j=0, len=blockedDesc.length;j<len;j++) {
- if(annDesc.match(blockedDesc[j])) {
- var whitelisted = false;
- for (var j=0, len=whiteDesc.length;j<len;j++) {
- if(annDesc.match(whiteDesc[j])) {
- whitelisted = true;
- }
- }
- if(!whitelisted) {
- logtxt += " ... removed! (cause: suspicious sentence in description)";
- //$(this).remove();
- $(this).css("opacity", 0.25);
- count_replaced++;
- broken = true;
- }
- break;
- }
- }
- }
- // Check & disable boite based on HARD-CODED description
- if(!broken) {
- var annTitle = $(this).find("h3").text();
- for (var j=0, len=blockedTitle.length;j<len;j++) {
- if(annTitle.match(blockedTitle[j])) {
- logtxt += " ... removed! (cause: suspicious sentence in title)";
- $(this).remove();
- count_replaced++;
- broken = true;
- break;
- }
- }
- }
- console.log(logtxt);
- }
- });
- // Afficher le nombre de résultats supprimés dans le titre de page
- var deletednb = count_replaced;
- theKids[0].innerHTML=initTitle.replace(" correspondent à votre recherche",", "+deletednb+" supprimée"+((deletednb>1)?"s":"")+" sur cette page");
- return count_replaced;
- }
- function stripTags(stringz) {
- return stringz.replace(/<\/?[^>]+>/g, '');
- }
- // Lancer la suppression des annonces
- ReplaceContentInContainer(".boxContent.offre");
- // Afficher la liste des entreprises bloquées par l'utilisteur
- var rightPan = document.querySelectorAll(".box2Benday")[0];
- var rightTitle = document.createElement('div');
- rightTitle.innerHTML = "<b>Entreprises perso. exclues:</b><br>"
- rightPan.appendChild(rightTitle);
- for (var i=0, len=customBoites.length;i<len;i++) {
- var rightBoite = document.createElement('div');
- rightBoite.innerHTML = customBoites[i];
- rightBoite.addEventListener("click", removefromGM, false);
- rightPan.appendChild(rightBoite);
- }