From 7bc6c695b852acb2b602466a81e6af4556f2d6f5 Mon Sep 17 00:00:00 2001 From: syoul Date: Sat, 6 Dec 2025 22:14:31 +0100 Subject: [PATCH] =?UTF-8?q?feat:=20cr=C3=A9ation=20page=20Next.js=20/team?= =?UTF-8?q?=20et=20modification=20Navigation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Script create-team-page.sh pour créer team.tsx et modifier Navigation - Page Next.js qui charge team.html dynamiquement - Lien Équipe ajouté directement dans le composant Navigation React - Plus fiable que l'injection JavaScript --- Dockerfile.business | 4 ++ scripts/create-team-page.sh | 88 +++++++++++++++++++++++++++++++++++++ scripts/patch-navigation.sh | 27 ++++++++++++ 3 files changed, 119 insertions(+) create mode 100755 scripts/create-team-page.sh create mode 100755 scripts/patch-navigation.sh 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 ( + <> + + Équipe & Technologies - Laplank + +
+
+

Chargement de la page Équipe...

+
+
+ + ); +}; + +export default TeamPage; +EOF + echo "✅ Page team.tsx créée" +else + echo "ℹ️ Page team.tsx existe déjà" +fi + +# Modifier Navigation.tsx pour ajouter le lien +if [ -f "$NAV_FILE" ]; then + if ! grep -q 'href="/team"' "$NAV_FILE"; then + # Ajouter le lien après Overview + sed -i '/href="\/overview"/a\ +
  • \ + \ + 👥 Équipe\ + \ +
  • ' "$NAV_FILE" + echo "✅ Lien Équipe ajouté au composant Navigation" + else + echo "ℹ️ Lien Équipe déjà présent dans Navigation" + fi +else + echo "⚠️ Navigation.tsx non trouvé" +fi + diff --git a/scripts/patch-navigation.sh b/scripts/patch-navigation.sh new file mode 100755 index 0000000..1699f75 --- /dev/null +++ b/scripts/patch-navigation.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +# Script pour patcher le composant Navigation et ajouter le lien Équipe + +NAV_FILE=".techradar/src/components/Navigation/Navigation.tsx" + +if [ ! -f "$NAV_FILE" ]; then + echo "⚠️ $NAV_FILE non trouvé" + exit 1 +fi + +# Vérifier si le lien existe déjà +if grep -q "href=\"/team\"" "$NAV_FILE"; then + echo "ℹ️ Lien Équipe déjà présent dans Navigation.tsx" + exit 0 +fi + +# Ajouter le lien après le lien Overview +sed -i '/href="\/overview"/a\ +
  • \ + \ + 👥 Équipe\ + \ +
  • ' "$NAV_FILE" + +echo "✅ Lien Équipe ajouté au composant Navigation" +