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:
syoul
2026-02-25 18:11:40 +01:00
parent cc8df1a4af
commit 9d8ae3d32a
125 changed files with 15583 additions and 123 deletions

View File

@@ -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