Files
TechradarDev/docs/architecture.md

3.9 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 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)
├── 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
├── 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
├── custom.css               # Styles personnalisés
├── about.md                 # Page "À propos" du radar
├── package.json             # Dépendances Node.js
├── Dockerfile               # Dockerfile alternatif (racine)
├── docker-compose.yml       # Docker Compose alternatif (racine)
├── 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

  1. Lecture des fichiers : Le framework lit tous les fichiers .md dans les dossiers radar/
  2. Parsing : Extraction des métadonnées YAML et du contenu Markdown
  3. Génération : Création d'une application React statique
  4. Build : Compilation en fichiers HTML/CSS/JS statiques
  5. 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.

Build et déploiement

Le projet utilise deux commandes principales :

  • npm run build : Génère les fichiers statiques
  • npm run serve : Lance un serveur de développement

Le déploiement se fait via Docker avec plusieurs configurations selon l'environnement.

Voir deploiement.md pour plus de détails.