# Techradar Laplank

**Techradar Laplank** est un Technology Radar interactif pour suivre l'évolution des technologies de l'écosystème Laplank/Duniter/Ğ1. Le projet est basé sur le framework [aoe_technology_radar](https://github.com/AOEpeople/aoe_technology_radar), dont le code source est vendu dans le répertoire `radar-app/`.

## 🎯 Vue d'ensemble

**Techradar Laplank** est un projet **stand-alone** qui présente :
- **38 technologies** organisées par quadrants business et anneaux d'adoption
- **12 membres d'équipe** avec leurs compétences et projets
- **Visualisations interactives** : graphe réseau, matrice de congestion, équipe de genèse
- **Pages de stratégie** : Technique, Business, DataViz Expert

### Technologies utilisées

- **Next.js** : 16.1.6 (avec Turbopack)
- **React** : 19
- **TypeScript** : 5
- **Cytoscape.js** : Visualisation du graphe réseau
- **ECharts** : Matrice de congestion
- **Node.js** : 20+

## 🚀 Démarrage rapide

### Prérequis

- Node.js 20 ou supérieur
- npm ou yarn
- Docker (pour le déploiement)

### Installation

```bash
git clone gitea@git.open.us.org:AJR/TechradarDev.git
cd TechradarDev
npm install
```

### Développement local

**Mode développement Next.js** (avec hot-reload) :
```bash
npm run serve-dev
```
Le serveur démarre sur http://localhost:3000

**Mode production local** (serveur statique) :
```bash
npm run serve-business
```
Le serveur démarre sur http://localhost:3006

**Build de production** :
```bash
npm run build
```
Les fichiers statiques sont générés dans le répertoire `build/`

## 🐳 Déploiement Docker

Le radar est déployé via Docker Compose :

**Commande de déploiement :**

```bash
docker compose -f docker-compose.business.yml up -d --build
```

Cette commande :
- Build l'image Docker sans cache (`--build`)
- Démarre le conteneur en mode détaché (`-d`)
- Le radar sera accessible sur http://localhost:3006

**Arrêter le déploiement :**

```bash
docker compose -f docker-compose.business.yml down
```

**Configuration Docker :**
- **Dockerfile** : `Dockerfile.business`
- **Docker Compose** : `docker-compose.business.yml`
- **Port** : 3006 (mappé depuis le port 3000 du conteneur)
- **Conteneur** : `laplank-radar-technolologique`

## 📊 Fonctionnalités

### Radar Technologique

- **Quadrants business** :
  - Technologies Différenciantes
  - Technologies Commodité
  - Technologies Risque
  - Technologies Émergentes

- **Anneaux d'adoption** :
  - **Adopt** : Technologies adoptées et utilisées en production
  - **Trial** : Technologies en phase d'essai
  - **Assess** : Technologies à évaluer
  - **Hold** : Technologies à éviter ou remplacer

- **38 technologies** suivies dans la release 2025-01-15

### Page Équipe (`/team`)

Visualisations interactives de l'équipe :

1. **Graphe réseau** : Relations entre membres et technologies (Cytoscape.js)
2. **Matrice de congestion** : Technologies core vs disponibilité de l'équipe (ECharts)
3. **Équipe de genèse** : Membres fondateurs et leurs compétences
4. **Profils cliquables** : Cartes de profil détaillées pour chaque membre

**12 membres** de l'équipe avec leurs compétences, projets et disponibilités.

### Pages de stratégie

Accès à trois pages de stratégie depuis le header :
- **Stratégie Technique** : Vision technique et roadmap
- **Business** : Impact business et métriques
- **DataViz Expert** : Stratégie de visualisation de données

**Protection par mot de passe** : `laplank-radar`

## 📁 Structure du projet

```
TechradarDev/
├── radar-business/         # ✏️  SOURCE DE VÉRITÉ — éditer ici
│   ├── 2025-01-15/         #     Fichiers .md des technologies (38 blips)
│   ├── config-business.json #    Configuration du radar (quadrants, rings)
│   └── FORMAT-BLIP.md      #     Format des métadonnées
├── data/                   # ✏️  Données de build versionnées
│   └── team/               #     Profils des 12 membres (*.md)
├── radar-app/              # ⚙️  Framework Next.js (ne pas éditer)
│   ├── src/                #     Code source Next.js
│   └── data/               #     Copie générée au build (ne pas éditer)
├── radar/                  # ⚠️  Dossier temporaire (généré par serve-business.sh)
│   └── ...                 #     Ne jamais éditer ici — écrasé à chaque lancement
├── scripts/
│   ├── build-radar.js      # Script de build stand-alone
│   ├── serve-radar.js      # Script de serve
│   ├── generate-team-visualization-data.js
│   └── ...
├── public/                 # Fichiers statiques
│   ├── team-block-script.js
│   └── team-visualization-data.json  # Généré par generate-team-visualization-data.js
├── Dockerfile.business
└── docker-compose.business.yml
```

## 🛠️ Scripts disponibles

| Script | Description |
|--------|-------------|
| `npm run build` | Build de production (génère `build/`) |
| `npm run serve` | Serve les fichiers statiques depuis `build/` |
| `npm run serve-dev` | Mode développement Next.js (hot-reload) |
| `npm run serve-business` | Serve le radar business en local (port 3006) |
| `npm run extract-tech` | Extraction des technologies depuis la doc |
| `npm run analyze-business` | Analyse des métriques business |

## ✏️ Où éditer le contenu

| Quoi | Dossier |
|---|---|
| Ajouter / modifier une technologie | `radar-business/2025-01-15/` |
| Ajouter / modifier un membre d'équipe | `data/team/` |

> ⚠️ Ne jamais éditer dans `radar/` (temporaire, écrasé au lancement) ni dans `radar-app/data/` (copie générée au build).

## 📝 Content Guidelines

### Tags disponibles

Les blips doivent être tagués avec les tags suivants :

* architecture
* security
* devops
* frontend
* agile
* coding
* quality assurance
* ci/cd
* ux/ui
* documentation

Exemple :
```markdown
tags: [devops, security]
```

### Format des blips

Voir `radar-business/FORMAT-BLIP.md` pour le format complet des métadonnées business.

## 🔐 Sécurité

- **Protection par mot de passe** : Les pages de stratégie sont protégées par le mot de passe `laplank-radar`
- **Authentification client-side** : Système d'authentification JavaScript côté client

## 📚 Documentation

La documentation technique est disponible dans `docs/app/` (non versionnée, locale uniquement) :

- Architecture, Configuration, Développement, Déploiement
- Guide Radar Business, Guide Page Équipe, Migration Next.js 16

## 🔄 État du projet

- **Branche principale** : `main`
- **Version** : 4.3.0
- **Statut** : Projet stand-alone, indépendant du package externe `aoe_technology_radar`
- **Framework** : Code vendu dans `radar-app/` (basé sur aoe_technology_radar)

## 📞 Support

- **Dépôt Git** : https://git.open.us.org/AJR/TechradarDev
- **Radar en ligne** : http://localhost:3006 (après déploiement)

## 📄 Licence

MIT
