# Configuration

## Fichier config-business.json

Le fichier `radar-business/config-business.json` contient toute la configuration du Radar Technologique Laplank. Il définit l'apparence, le comportement et la structure du radar.

## Structure de configuration

### Paramètres de base

```json
{
  "basePath": "",
  "baseUrl": "",
  "editUrl": "https://git.open.us.org/syoul/TechradarDev/_edit/main/radar-business/{release}/{id}.md",
  "logoFile": "logo.svg",
  "jsFile": "/strategie-script.js"
}
```

- **basePath** : Chemin de base pour l'application (vide `""` pour servir à la racine `/`)
- **baseUrl** : URL de base du site
- **editUrl** : Template d'URL pour éditer les fichiers (utilise {release} et {id})
- **logoFile** : Nom du fichier logo dans `public/`
- **jsFile** : Fichier JavaScript personnalisé à charger (`/strategie-script.js` pour le radar business)

### Options d'affichage (toggles)

```json
{
  "toggles": {
    "showChart": true,
    "showTagFilter": true,
    "showQuadrantList": true,
    "showEmptyRings": false
  }
}
```

- **showChart** : Affiche le graphique radar interactif
- **showTagFilter** : Active le filtre par tags
- **showQuadrantList** : Affiche la liste des quadrants
- **showEmptyRings** : Affiche les anneaux vides

### Sections

```json
{
  "sections": ["radar", "tags", "list"]
}
```

Définit l'ordre des sections dans l'interface.

### Couleurs

```json
{
  "colors": {
    "foreground": "#fff",
    "background": "#1a4d3a",
    "highlight": "#2ecc71",
    "content": "#fff",
    "text": "#575757",
    "link": "#2ecc71",
    "border": "rgba(255, 255, 255, 0.1)",
    "tag": "rgba(255, 255, 255, 0.1)"
  }
}
```

Personnalisation des couleurs de l'interface avec un thème vert.

### Quadrants Business

Les quadrants définissent les quatre catégories principales selon l'impact business :

1. **Technologies Différenciantes** : Créent un avantage concurrentiel et de la valeur différenciante
2. **Technologies de Commodité** : Nécessaires mais non différenciantes, à optimiser pour réduire les coûts
3. **Technologies à Risque** : Obsolètes, coûteuses ou présentant des risques, à migrer ou remplacer
4. **Technologies Émergentes** : Opportunités futures, à évaluer et potentiellement adopter

Chaque quadrant a :
- **id** : Identifiant unique (technologies-differentiantes, technologies-commodite, technologies-risque, technologies-emergentes)
- **title** : Titre affiché
- **description** : Description du quadrant
- **color** : Couleur associée

### Anneaux (Rings)

Les anneaux classifient les technologies selon leur niveau d'adoption. Le Radar Technologique Laplank utilise les anneaux classiques :

1. **Adopt** : Technologies recommandées et utilisées avec succès en production. Stables, éprouvées, peuvent être adoptées en toute confiance pour de nouveaux projets.
2. **Trial** : Technologies à essayer. Prometteuses et testées avec succès dans certains contextes. À considérer pour de nouveaux projets.
3. **Assess** : Technologies à évaluer. Prometteuses mais nécessitent une évaluation approfondie avant adoption. À surveiller et tester.
4. **Hold** : Technologies à éviter ou à remplacer. Présentent des risques, sont obsolètes ou ne sont plus recommandées. À éviter pour de nouveaux projets.

Chaque anneau a :
- **id** : Identifiant unique (adopt, trial, assess, hold)
- **title** : Titre affiché
- **description** : Description de l'anneau
- **color** : Couleur associée
- **radius** : Rayon dans le graphique (0-1)
- **strokeWidth** : Épaisseur du trait

**Important** : Tous les blips doivent utiliser ces rings (adopt|trial|assess|hold). Les anciens rings (core, strategic, support) ne sont plus utilisés.

### Flags (Drapeaux)

Les flags marquent les changements entre versions :

- **new** : Nouveau dans cette version (couleur : #f1235a)
- **changed** : Modifié récemment (couleur : #40a7d1)
- **default** : Inchangé

### Graphique

```json
{
  "chart": {
    "size": 800,
    "blipSize": 12
  }
}
```

- **size** : Taille du graphique en pixels
- **blipSize** : Taille des points (blips) sur le graphique

### Labels (Textes)

Les labels permettent de personnaliser tous les textes de l'interface, notamment :
- Titre du site : "Radar Technologique Laplank"
- Textes des pages
- Messages d'erreur
- Placeholders
- Footer

## Personnalisation

### Modifier les couleurs

Éditez la section `colors` dans `radar-business/config-business.json` avec les codes hexadécimaux souhaités.

### Ajouter un quadrant

Ajoutez un nouvel objet dans le tableau `quadrants` avec les propriétés requises.

### Modifier les descriptions

Les descriptions des quadrants et anneaux peuvent être modifiées directement dans `config-business.json`.

### Styles personnalisés

Le fichier `custom.css` permet d'ajouter des styles CSS personnalisés qui seront appliqués à l'application.

## Configuration du Radar Technologique Laplank

Le Radar Technologique Laplank utilise une configuration spécifique dans `radar-business/config-business.json` :

### Différences principales

- **basePath** : `""` (vide) pour servir à la racine
- **jsFile** : `"/strategie-script.js"` pour charger le script de stratégie
- **Quadrants business** : Technologies Différenciantes, Commodité, Risque, Émergentes
- **Anneaux classiques** : Hold, Assess, Trial, Adopt
- **Couleurs** : Thème vert (`#1a4d3a` pour le background, `#2ecc71` pour les accents)

### Script de strategie

Le fichier `public/strategie-script.js` est charge automatiquement et fournit :
- Protection par mot de passe (authentification client-side)
- Pages de strategie dynamiques (Markdown converti en HTML)

**Note** : Les fonctions d'ajout de liens dans le header ont ete desactivees pour eviter les doublons. Tous les liens sont maintenant geres par `Navigation.tsx`.

### Script de la page equipe

Le fichier `public/team-block-script.js` est charge via `_document.tsx` et fournit :
- Detection de la route `/team`
- Remplacement du DOM avec le contenu de la page equipe
- Chargement dynamique de Cytoscape.js et ECharts depuis CDN
- Initialisation des trois visualisations (graphe reseau, matrice congestion, equipe genese)

Ce script utilise le layout `cose` integre a Cytoscape (pas de plugin externe necessaire).

## Variables d'environnement

En Docker, la variable `BASE_PATH` peut être utilisée pour modifier dynamiquement le `basePath` dans `config.json`. Le script `docker-entrypoint.sh` effectue cette modification au démarrage.

Pour le Radar Technologique Laplank, le `basePath` est fixé à `""` (vide) dans `config-business.json` pour servir l'application à la racine.

## Tags disponibles

Les tags suivants sont établis pour classifier les technologies :

- architecture
- security
- devops
- frontend
- agile
- coding
- quality assurance
- ci/cd
- ux/ui
- documentation
- blockchain
- infrastructure
- dataviz
- mobile

Les tags sont utilisés dans les fichiers Markdown des blips et permettent le filtrage dans l'interface.

## Migration des rings

Si vous avez des blips avec les anciens rings (core, strategic, support), ils doivent être migrés vers les rings standards :

- **core** → **adopt** (technologies fondamentales en production)
- **strategic** → **assess** (technologies prometteuses à évaluer)
- **support** → **adopt** (technologies utilisées en production)
- **trial** → **trial** (déjà correct)

Le script `scripts/migrate-rings.sh` peut être utilisé pour automatiser cette migration.
