- Création de docs/app/ pour la documentation de l'application - Création de docs/data/ pour les données utilisées par l'application - Déplacement de la documentation technique vers docs/app/ - Déplacement des données métier vers docs/data/ - Mise à jour de tous les liens et références dans les fichiers - Mise à jour des scripts (extract-technologies.js, analyze-business-metrics.js) - Mise à jour des fichiers JavaScript (custom.js, strategie-link.js) - Création de README.md dans docs/, docs/app/ et docs/data/ - Mise à jour du Readme.md principal avec les nouveaux chemins
6.2 KiB
6.2 KiB
Architecture du projet
Vue d'ensemble
Le projet AJR Technology Radar est une application web statique construite avec le framework aoe_technology_radar. L'application génère un site web interactif à partir de fichiers Markdown organisés par dates de release.
Structure des répertoires
TechradarDev/
├── radar/ # Contenu du radar principal organisé par dates
│ ├── 2017-03-01/ # Release de mars 2017
│ ├── 2018-03-01/ # Release de mars 2018
│ ├── 2019-11-01/ # Release de novembre 2019
│ ├── 2021-07-01/ # Release de juillet 2021
│ ├── 2022-03-28/ # Release de mars 2022
│ ├── 2023-02-23/ # Release de février 2023
│ ├── 2023-11-01/ # Release de novembre 2023
│ ├── 2024-07-10/ # Release de juillet 2024
│ └── 2025-04-10/ # Release d'avril 2025 (actuelle)
├── radar-business/ # Contenu du radar business
│ ├── 2025-01-15/ # Release business de janvier 2025
│ ├── config-business.json # Configuration du radar business
│ ├── FORMAT-BLIP.md # Format des blips business
│ └── README.md # Documentation du radar business
├── public/ # Fichiers statiques publics
│ ├── images/ # Images utilisées dans les descriptions
│ ├── logo.svg # Logo AJR
│ ├── favicon.ico # Icône du site
│ ├── robots.txt # Configuration pour les robots
│ └── strategie-script.js # Script pour les pages de stratégie dynamiques
├── scripts/ # Scripts utilitaires
│ ├── serve-business.sh # Script pour servir le radar business en local
│ ├── start-business.sh # Script de démarrage pour Docker
│ ├── extract-technologies.js # Extraction des technologies depuis la doc
│ └── analyze-business-metrics.js # Analyse des métriques business
├── docker/ # Configuration Docker pour le déploiement
│ ├── Dockerfile # Image Docker de production
│ ├── docker-compose.yml # Configuration Docker Compose
│ ├── docker-compose.labels.yml # Labels pour le déploiement
│ └── docker-compose.local.yml # Configuration locale
├── docs/ # Documentation du projet
├── config.json # Configuration principale du radar
├── config.json.backup # Backup de la config (généré par serve-business.sh)
├── custom.css # Styles personnalisés
├── about.md # Page "À propos" du radar
├── package.json # Dépendances Node.js
├── Dockerfile # Dockerfile alternatif (racine)
├── Dockerfile.business # Dockerfile pour le radar business
├── docker-compose.yml # Docker Compose alternatif (racine)
├── docker-compose.business.yml # Docker Compose pour le radar business
├── docker-entrypoint.sh # Script d'entrée Docker
└── .drone.yml # Configuration CI/CD Drone
Format des fichiers radar
Chaque technologie (blip) est définie dans un fichier Markdown avec un en-tête YAML front matter :
---
title: "Nom de la technologie"
ring: adopt|trial|assess|hold
quadrant: languages-and-frameworks|methods-and-patterns|platforms-and-aoe-services|tools
tags: [tag1, tag2]
---
Description de la technologie en Markdown.
Métadonnées
- title : Nom de la technologie
- ring : Anneau du radar (adopt, trial, assess, hold)
- quadrant : Quadrant du radar
- tags : Tags pour le filtrage (optionnel)
Flux de traitement
- Lecture des fichiers : Le framework lit tous les fichiers
.mddans les dossiersradar/ - Parsing : Extraction des métadonnées YAML et du contenu Markdown
- Génération : Création d'une application React statique
- Build : Compilation en fichiers HTML/CSS/JS statiques
- Serve : Service via un serveur web statique
Dépendances principales
- aoe_technology_radar : Framework principal (dépendance GitHub)
- Node.js : Runtime JavaScript (version 20+)
- npm : Gestionnaire de paquets
Configuration
La configuration principale se trouve dans config.json et définit :
- Les quadrants et leurs descriptions
- Les anneaux (rings) et leurs significations
- Les couleurs et le style
- Les options d'affichage
- Les métadonnées du site
Voir configuration.md pour plus de détails.
Radar Technologique Laplank
Le Radar Technologique Laplank est un tech radar classique avec :
- Configuration spécifique :
radar-business/config-business.json - Quadrants business : Technologies Différenciantes, Commodité, Risque, Émergentes
- Anneaux classiques : Hold, Assess, Trial, Adopt
- Historique par release : Organisation des technologies par date (radar-business/YYYY-MM-DD/)
- Pages de stratégie : Pages dynamiques générées via
public/strategie-script.js - Protection par mot de passe : Authentification client-side (mot de passe :
laplank-radar) - Base path :
/(racine, pas de sous-chemin)
Scripts de stratégie
Le fichier public/strategie-script.js contient :
- La logique de protection par mot de passe
- La conversion Markdown vers HTML pour les pages de stratégie
- La gestion de la navigation dans le header
- Le contenu des trois pages de stratégie :
- Stratégie d'Évolution Technique
- Stratégie Business
- Opportunités DataViz Expert
Build et déploiement
Le projet utilise plusieurs commandes :
npm run build: Génère les fichiers statiques du radar principalnpm run serve: Lance un serveur de développement du radar principal (port 3000)npm run serve-business: Lance un serveur de développement du radar business (port 3006)
Le déploiement se fait via Docker avec plusieurs configurations selon l'environnement :
- Radar principal : Via
docker/DockerfileouDockerfile - Radar Technologique Laplank : Via
Dockerfile.businessetdocker-compose.business.yml(Portainer)
Voir deploiement.md pour plus de détails.