diff --git a/Dockerfile.business b/Dockerfile.business index 8fb164a..53bf939 100644 --- a/Dockerfile.business +++ b/Dockerfile.business @@ -71,6 +71,10 @@ RUN mkdir -p .techradar/data && \ echo "Fichiers public copiés" && \ ls -la .techradar/public/ | grep -E "(team\.html|team-visualization)" || echo "Vérification fichiers team" +# Créer la page Next.js /team et modifier Navigation +RUN chmod +x scripts/create-team-page.sh && \ + ./scripts/create-team-page.sh || echo "⚠️ Échec de la création de la page team" + # Builder l'application en mode production pour éviter Fast Refresh # Utiliser WORKDIR pour changer de répertoire de manière fiable WORKDIR /app/.techradar diff --git a/scripts/create-team-page.sh b/scripts/create-team-page.sh new file mode 100755 index 0000000..d058850 --- /dev/null +++ b/scripts/create-team-page.sh @@ -0,0 +1,88 @@ +#!/bin/bash + +# Script pour créer la page Next.js /team et modifier Navigation + +TECHRADAR_DIR=".techradar" +TEAM_PAGE="$TECHRADAR_DIR/src/pages/team.tsx" +NAV_FILE="$TECHRADAR_DIR/src/components/Navigation/Navigation.tsx" + +# Créer la page team.tsx +if [ ! -f "$TEAM_PAGE" ]; then + mkdir -p "$(dirname "$TEAM_PAGE")" + cat > "$TEAM_PAGE" << 'EOF' +import Head from "next/head"; +import { useEffect } from "react"; +import { CustomPage } from "@/pages/_app"; + +const TeamPage: CustomPage = () => { + useEffect(() => { + // Charger le contenu de team.html dans cette page + const loadTeamPage = async () => { + try { + const response = await fetch('/team.html'); + if (response.ok) { + const html = await response.text(); + const parser = new DOMParser(); + const doc = parser.parseFromString(html, 'text/html'); + const content = doc.body.innerHTML; + const container = document.getElementById('team-container'); + if (container) { + container.innerHTML = content; + // Réexécuter les scripts + const scripts = container.querySelectorAll('script'); + scripts.forEach(oldScript => { + const newScript = document.createElement('script'); + Array.from(oldScript.attributes).forEach(attr => { + newScript.setAttribute(attr.name, attr.value); + }); + newScript.textContent = oldScript.textContent; + oldScript.parentNode?.replaceChild(newScript, oldScript); + }); + } + } + } catch (error) { + console.error('Erreur lors du chargement de team.html:', error); + } + }; + loadTeamPage(); + }, []); + + return ( + <> +
+Chargement de la page Équipe...
+