- Mise à jour du port dans docker-compose.business.yml - Mise à jour du port dans scripts/serve-business.sh - Mise à jour de toute la documentation (Readme.md et docs/*.md)
6.1 KiB
6.1 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 Business
Le Radar Business est une variante du radar principal avec :
- Configuration spécifique :
radar-business/config-business.json - Quadrants business : Technologies Différenciantes, Commodité, Risque, Émergentes
- Anneaux stratégiques : Core, Strategic, Support, Legacy
- 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 business : Via
Dockerfile.businessetdocker-compose.business.yml(Portainer)
Voir deploiement.md pour plus de détails.