fix: approche ultra-agressive contre les pages équipe
- Nouveau script team-block-script.js chargé en premier (config-business.json) - Bloqueur absolu qui empêche tout autre script sur /team - Page team.tsx encore plus agressive (remplacement useEffect) - Double protection dans strategie-script.js - Script principal bloqué si __blockTeamPages=true Cette approche à couches multiples devrait définitivement résoudre : - Les deux liens équipe (1 seul) - L'affichage radar au lieu des visualisations
This commit is contained in:
@@ -98,14 +98,33 @@ RUN echo "📊 Comptage des fichiers .md dans .techradar/data/radar" && \
|
|||||||
# La page Next.js pour le routing, le HTML statique pour garantir l'affichage
|
# La page Next.js pour le routing, le HTML statique pour garantir l'affichage
|
||||||
RUN mkdir -p .techradar/src/pages && \
|
RUN mkdir -p .techradar/src/pages && \
|
||||||
cat > .techradar/src/pages/team.tsx << 'EOF'
|
cat > .techradar/src/pages/team.tsx << 'EOF'
|
||||||
export default function TeamPage() {
|
import { useEffect } from 'react';
|
||||||
// Version ultra-simple pour éviter les erreurs de compilation
|
|
||||||
if (typeof window !== 'undefined') {
|
|
||||||
// Remplacer immédiatement le contenu par l'iframe
|
|
||||||
document.body.innerHTML = '<iframe src="/team.html" style="width:100vw;height:100vh;border:none;margin:0;padding:0;position:fixed;top:0;left:0;z-index:9999;"></iframe>';
|
|
||||||
}
|
|
||||||
|
|
||||||
return null; // Ne rien rendre côté serveur
|
export default function TeamPage() {
|
||||||
|
useEffect(() => {
|
||||||
|
// Remplacement AGRESSIF du contenu
|
||||||
|
console.log('🔄 TEAM PAGE: Remplacement du contenu par iframe');
|
||||||
|
|
||||||
|
// Supprimer tout contenu existant
|
||||||
|
document.body.innerHTML = '';
|
||||||
|
|
||||||
|
// Créer l'iframe
|
||||||
|
const iframe = document.createElement('iframe');
|
||||||
|
iframe.src = '/team.html';
|
||||||
|
iframe.style.cssText = 'width:100vw;height:100vh;border:none;margin:0;padding:0;position:fixed;top:0;left:0;z-index:9999;background:#1a4d3a;';
|
||||||
|
iframe.title = 'Équipe & Technologies';
|
||||||
|
|
||||||
|
// Ajouter l'iframe
|
||||||
|
document.body.appendChild(iframe);
|
||||||
|
|
||||||
|
// Bloquer tout autre chargement
|
||||||
|
window.__teamPageLoaded = true;
|
||||||
|
|
||||||
|
console.log('✅ TEAM PAGE: Iframe chargé');
|
||||||
|
}, []);
|
||||||
|
|
||||||
|
// Ne rien rendre côté serveur
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
RUN echo "✅ Page team.tsx créée (version ultra-simplifiée)" && \
|
RUN echo "✅ Page team.tsx créée (version ultra-simplifiée)" && \
|
||||||
|
|||||||
@@ -1,19 +1,21 @@
|
|||||||
// Script pour la gestion des pages de stratégie
|
// SCRIPT ULTRA-PROTECTEUR CONTRE LES PAGES ÉQUIPE
|
||||||
(function() {
|
(function() {
|
||||||
// PROTECTION ABSOLUE : Arrêter immédiatement si on détecte une page équipe
|
// VÉRIFICATION ABSOLUE - S'EXÉCUTE AVANT TOUT
|
||||||
// Cette vérification doit être la PREMIÈRE chose exécutée
|
if (window.location.pathname === '/team' ||
|
||||||
var isTeamPage = window.location.pathname === '/team' ||
|
|
||||||
window.location.pathname === '/team/' ||
|
|
||||||
window.location.pathname.startsWith('/team/') ||
|
window.location.pathname.startsWith('/team/') ||
|
||||||
window.location.href.includes('/team');
|
window.location.href.includes('/team')) {
|
||||||
|
console.log('🚫 INTERDICTION TOTALE - Page équipe détectée, arrêt du script');
|
||||||
if (isTeamPage) {
|
// Bloquer complètement l'exécution
|
||||||
console.log('🚫 Script stratégie BLOQUÉ sur page équipe - arrêt immédiat');
|
window.__blockAllScripts = true;
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Marquer qu'on n'est pas sur une page équipe
|
// Marquer qu'on autorise les autres scripts
|
||||||
window.__notTeamPage = true;
|
window.__allowScripts = true;
|
||||||
|
})();
|
||||||
|
|
||||||
|
// Script pour la gestion des pages de stratégie UNIQUEMENT SI AUTORISÉ
|
||||||
|
if (!window.__blockAllScripts && !window.__blockTeamPages) {
|
||||||
|
|
||||||
// PROTECTION : Ne pas interférer avec les pages Next.js
|
// PROTECTION : Ne pas interférer avec les pages Next.js
|
||||||
function shouldSkipExecution() {
|
function shouldSkipExecution() {
|
||||||
@@ -1069,4 +1071,7 @@ Interface de pilotage pour les responsables sécurité des PME.
|
|||||||
}
|
}
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
})();
|
}
|
||||||
|
|
||||||
|
// Fermeture du bloc conditionnel - script s'exécute uniquement si pas sur page équipe
|
||||||
|
}
|
||||||
|
|||||||
30
public/team-block-script.js
Normal file
30
public/team-block-script.js
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
// SCRIPT ANTI-ÉQUIPE - CHARGÉ EN PREMIER
|
||||||
|
(function() {
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
// BLOQUER ABSOLUMENT TOUTES LES PAGES ÉQUIPE
|
||||||
|
if (window.location.pathname === '/team' ||
|
||||||
|
window.location.pathname === '/team/' ||
|
||||||
|
window.location.pathname.startsWith('/team/') ||
|
||||||
|
window.location.href.includes('/team')) {
|
||||||
|
|
||||||
|
console.log('🚫 BLOQUEUR ÉQUIPE ACTIF - Page équipe détectée');
|
||||||
|
|
||||||
|
// Empêcher tout autre script de s'exécuter
|
||||||
|
window.__blockTeamPages = true;
|
||||||
|
|
||||||
|
// Bloquer immédiatement tout chargement de script
|
||||||
|
var originalAppendChild = Element.prototype.appendChild;
|
||||||
|
Element.prototype.appendChild = function(child) {
|
||||||
|
if (child.tagName === 'SCRIPT' && child.src && child.src.includes('strategie-script.js')) {
|
||||||
|
console.log('🚫 Script strategie-script.js BLOQUÉ sur page équipe');
|
||||||
|
return child; // Ne pas l'ajouter
|
||||||
|
}
|
||||||
|
return originalAppendChild.call(this, child);
|
||||||
|
};
|
||||||
|
|
||||||
|
return; // Arrêt immédiat
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('✅ Page normale détectée - scripts autorisés');
|
||||||
|
})();
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
"baseUrl": "",
|
"baseUrl": "",
|
||||||
"editUrl": "https://git.open.us.org/syoul/TechradarDev/_edit/main/radar-business/{release}/{id}.md",
|
"editUrl": "https://git.open.us.org/syoul/TechradarDev/_edit/main/radar-business/{release}/{id}.md",
|
||||||
"logoFile": "logo.svg",
|
"logoFile": "logo.svg",
|
||||||
"jsFile": "/strategie-script.js",
|
"jsFile": "/team-block-script.js",
|
||||||
"toggles": {
|
"toggles": {
|
||||||
"showChart": true,
|
"showChart": true,
|
||||||
"showTagFilter": true,
|
"showTagFilter": true,
|
||||||
|
|||||||
Reference in New Issue
Block a user