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>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
|
||||
## Vue d'ensemble
|
||||
|
||||
Le projet AJR Technology Radar est une application web statique construite avec le framework `aoe_technology_radar` (basé sur Next.js). L'application génère un site web interactif à partir de fichiers Markdown organisés par dates de release.
|
||||
Le projet AJR Technology Radar est une application web statique construite avec le framework `aoe_technology_radar` (basé sur Next.js), dont le code source est vendu dans le répertoire `radar-app/`. L'application génère un site web interactif à partir de fichiers Markdown organisés par dates de release.
|
||||
|
||||
## Structure des répertoires
|
||||
|
||||
@@ -42,7 +42,7 @@ TechradarDev/
|
||||
│ ├── app/ # Documentation technique de l'application
|
||||
│ └── data/ # Données métier et contenu
|
||||
│ └── team/ # Profils individuels des membres de l'équipe
|
||||
├── .techradar/ # Framework aoe_technology_radar (généré pendant le build)
|
||||
├── radar-app/ # Framework aoe_technology_radar (code vendu dans le repo)
|
||||
│ ├── src/ # Code source Next.js du framework
|
||||
│ │ ├── pages/ # Pages Next.js (routes)
|
||||
│ │ │ └── team.tsx # Page /team générée par Dockerfile
|
||||
@@ -79,15 +79,17 @@ Le projet utilise le framework **aoe_technology_radar** qui est basé sur :
|
||||
|
||||
### Processus de build
|
||||
|
||||
1. **Installation des dépendances** : `npm install` installe `aoe_technology_radar` depuis GitHub
|
||||
2. **Préparation du framework** : Copie de `node_modules/aoe_technology_radar` vers `.techradar/`
|
||||
3. **Configuration** : Copie de `radar-business/config-business.json` vers `.techradar/data/config.json`
|
||||
4. **Données** : Copie des blips depuis `radar-business/2025-01-15/` vers `.techradar/data/radar/2025-01-15/`
|
||||
5. **Modifications personnalisées** :
|
||||
- Création de `.techradar/src/pages/team.tsx` (page Next.js pour `/team`)
|
||||
- Modification de `.techradar/src/components/Navigation/Navigation.tsx` (ajout du lien Équipe)
|
||||
6. **Build Next.js** : `npm run build:data` puis `npm run build` génère les fichiers statiques
|
||||
7. **Output** : Fichiers statiques dans `.techradar/out/` servis par un serveur statique
|
||||
1. **Injection des données** : Le script `scripts/build-radar.js` copie :
|
||||
- `radar-business/config-business.json` → `radar-app/data/config.json`
|
||||
- `radar-business/2025-01-15/` → `radar-app/data/radar/2025-01-15/`
|
||||
- `public/*` → `radar-app/public/`
|
||||
- Génère `team-visualization-data.json` et le copie dans `radar-app/public/`
|
||||
2. **Modifications personnalisées** :
|
||||
- Création de `radar-app/src/pages/team.tsx` (page Next.js pour `/team`)
|
||||
- Modification de `radar-app/src/components/Navigation/Navigation.tsx` (ajout du lien Équipe)
|
||||
- Modification de `radar-app/src/pages/_document.tsx` (chargement du script team-block-script.js)
|
||||
3. **Build Next.js** : `cd radar-app && npm run build:data && npm run build` génère les fichiers statiques
|
||||
4. **Output** : Fichiers statiques dans `radar-app/out/` copiés vers `build/` à la racine
|
||||
|
||||
### Modifications personnalisées
|
||||
|
||||
@@ -96,7 +98,7 @@ Le projet apporte plusieurs modifications au framework de base :
|
||||
#### 1. Page Equipe (`/team`)
|
||||
|
||||
- **Script principal** : `public/team-block-script.js` (injection du contenu et visualisations)
|
||||
- **Route Next.js** : `.techradar/src/pages/team.tsx` (page vide, le script remplace le contenu)
|
||||
- **Route Next.js** : `radar-app/src/pages/team.tsx` (page vide, le script remplace le contenu)
|
||||
- **Chargement** : Le script est charge via `_document.tsx` avec `strategy="beforeInteractive"`
|
||||
- **Bibliotheques** : Cytoscape.js et ECharts charges depuis CDN
|
||||
- **Donnees** : `public/team-visualization-data.json` genere par `scripts/generate-team-visualization-data.js`
|
||||
@@ -104,7 +106,7 @@ Le projet apporte plusieurs modifications au framework de base :
|
||||
|
||||
#### 2. Navigation modifiée
|
||||
|
||||
- **Fichier modifié** : `.techradar/src/components/Navigation/Navigation.tsx`
|
||||
- **Fichier modifié** : `radar-app/src/components/Navigation/Navigation.tsx`
|
||||
- **Modification** : Ajout du lien "👥 Équipe" vers `/team`
|
||||
- **Méthode** : Script Python dans `Dockerfile.business` qui :
|
||||
- Supprime tous les liens Équipe existants (évite les doublons)
|
||||
@@ -160,7 +162,7 @@ Description de la technologie en Markdown.
|
||||
|
||||
## Dépendances principales
|
||||
|
||||
- **aoe_technology_radar** : Framework principal (dépendance GitHub)
|
||||
- **radar-app/** : Framework principal (code vendu dans le repo, basé sur aoe_technology_radar)
|
||||
- **Node.js** : Runtime JavaScript (version 20+)
|
||||
- **npm** : Gestionnaire de paquets
|
||||
- **gray-matter** : Parsing YAML front matter
|
||||
|
||||
Reference in New Issue
Block a user