Files
TechradarDev/scripts/create-team-page.sh
syoul 9d8ae3d32a refactor: projet stand-alone sans dépendance aoe_technology_radar
- Intégration du code source du framework dans radar-app/ (vendoring)
- Suppression de la dépendance npm aoe_technology_radar
- Création de scripts build-radar.js et serve-radar.js pour remplacer le CLI techradar
- Adaptation de tous les scripts et Docker pour utiliser radar-app/ au lieu de .techradar
- Refactorisation complète de Dockerfile.business
- Mise à jour de la documentation (architecture, déploiement, développement)
- Mise à jour de .gitignore pour ignorer les artefacts de build de radar-app/
- Ajout de postcss dans les dépendances Docker pour le build Next.js

Le projet est maintenant complètement indépendant du package externe.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 18:11:40 +01:00

157 lines
4.8 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# Script pour créer la page Next.js /team et modifier Navigation
# Ne pas utiliser set -e car on veut gérer les erreurs manuellement
TECHRADAR_DIR="radar-app"
TEAM_PAGE="$TECHRADAR_DIR/src/pages/team.tsx"
NAV_FILE="$TECHRADAR_DIR/src/components/Navigation/Navigation.tsx"
echo "📁 TECHRADAR_DIR: $TECHRADAR_DIR"
echo "📄 TEAM_PAGE: $TEAM_PAGE"
echo "📄 NAV_FILE: $NAV_FILE"
# Créer la page team.tsx qui charge team.html via iframe (plus simple et fiable)
if [ ! -f "$TEAM_PAGE" ]; then
mkdir -p "$(dirname "$TEAM_PAGE")"
cat > "$TEAM_PAGE" << 'EOF'
import Head from "next/head";
import { CustomPage } from "@/pages/_app";
const TeamPage: CustomPage = () => {
return (
<>
<Head>
<title>Équipe & Technologies - Laplank</title>
</Head>
<div style={{ width: '100%', height: '100vh', border: 'none', margin: 0, padding: 0 }}>
<iframe
src="/team.html"
style={{
width: '100%',
height: '100%',
border: 'none',
margin: 0,
padding: 0
}}
title="Équipe & Technologies"
/>
</div>
</>
);
};
export default TeamPage;
EOF
echo "✅ Page team.tsx créée (iframe)"
else
echo " Page team.tsx existe déjà"
fi
# Modifier Navigation.tsx pour ajouter le lien
if [ -f "$NAV_FILE" ]; then
echo "📝 Navigation.tsx trouvé, vérification du lien..."
if ! grep -q 'href="/team"' "$NAV_FILE"; then
echo " Ajout du lien Équipe dans Navigation.tsx..."
echo "📄 Contenu actuel de Navigation.tsx (extrait):"
grep -A 5 -B 5 "overview" "$NAV_FILE" || echo "Pattern 'overview' non trouvé"
# Utiliser sed pour une modification plus simple et fiable
# Chercher la ligne avec </Link> après overview et insérer le nouveau lien avant le commentaire
sed -i '/href="\/overview"/,/<\/Link>/ {
/<\/Link>/a\
<li className={styles.item}>\
<Link href="/team">\
<span className={styles.label}>👥 Équipe</span>\
</Link>\
</li>
}' "$NAV_FILE"
# Vérifier que la modification a réussi
if grep -q 'href="/team"' "$NAV_FILE"; then
echo "✅ Lien Équipe ajouté au composant Navigation"
echo "📄 Vérification du contenu modifié:"
grep -A 3 'href="/team"' "$NAV_FILE"
else
echo "❌ Échec: Lien Équipe non trouvé après modification avec sed"
echo "🔄 Tentative avec Python..."
# Fallback avec Python
python3 << 'PYTHON_SCRIPT'
import re
import sys
nav_file = sys.argv[1]
print(f"📝 Modification de {nav_file} avec Python")
try:
with open(nav_file, 'r') as f:
lines = f.readlines()
# Trouver l'index de la ligne avec </Link> après overview
insert_index = -1
for i, line in enumerate(lines):
if 'href="/overview"' in line:
# Chercher la ligne </Link> qui suit
for j in range(i, min(i+10, len(lines))):
if '</Link>' in lines[j] and '</li>' in lines[j+1] if j+1 < len(lines) else False:
insert_index = j + 2 # Après </li>
break
break
if insert_index > 0:
# Insérer le nouveau lien
new_lines = [
' <li className={styles.item}>\n',
' <Link href="/team">\n',
' <span className={styles.label}>👥 Équipe</span>\n',
' </Link>\n',
' </li>\n'
]
lines[insert_index:insert_index] = new_lines
with open(nav_file, 'w') as f:
f.writelines(lines)
print("✅ Navigation.tsx modifié avec succès (Python)")
else:
print("❌ Impossible de trouver l'emplacement pour insérer le lien")
print("Contenu autour de overview:")
for i, line in enumerate(lines):
if 'overview' in line.lower():
for j in range(max(0, i-2), min(len(lines), i+10)):
print(f"{j}: {lines[j]}", end='')
break
sys.exit(1)
except Exception as e:
print(f"❌ Erreur lors de la modification: {e}")
import traceback
traceback.print_exc()
sys.exit(1)
PYTHON_SCRIPT
"$NAV_FILE"
# Vérifier à nouveau
if grep -q 'href="/team"' "$NAV_FILE"; then
echo "✅ Lien Équipe ajouté au composant Navigation (Python)"
else
echo "❌ Échec: Lien Équipe non trouvé après modification"
echo "📄 Contenu actuel de Navigation.tsx:"
cat "$NAV_FILE"
exit 1
fi
fi
else
echo " Lien Équipe déjà présent dans Navigation"
fi
else
echo "❌ Navigation.tsx non trouvé: $NAV_FILE"
echo "📁 Contenu du dossier:"
ls -la "$(dirname "$NAV_FILE")" 2>/dev/null || echo "Dossier non trouvé"
exit 1
fi
# Succès
exit 0