From ee62981ebed7c45926e93e6972b868a0420b7a94 Mon Sep 17 00:00:00 2001 From: syoul Date: Wed, 3 Dec 2025 10:15:35 +0100 Subject: [PATCH] docs: actualiser toute la documentation avec les infos du radar business MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Mise à jour du Readme.md avec les infos sur le radar business, port 3004 et protection par mot de passe - Actualisation de docs/README.md avec les instructions pour le radar business - Mise à jour de docs/architecture.md avec la structure complète du projet - Actualisation de docs/configuration.md avec la config business et basePath vide - Mise à jour de docs/developpement.md avec les commandes pour le radar business - Actualisation complète de docs/deploiement.md avec Portainer et Dockerfile.business - Mise à jour de docs/guide-radar-business.md avec les pages de stratégie et protection --- Readme.md | 70 ++++++++++++++++++++++++++++++------ docs/README.md | 19 ++++++++-- docs/architecture.md | 51 ++++++++++++++++++++++---- docs/configuration.md | 29 +++++++++++++-- docs/deploiement.md | 58 +++++++++++++++++++++++++++++- docs/developpement.md | 18 +++++++++- docs/guide-radar-business.md | 41 ++++++++++++++++++++- 7 files changed, 262 insertions(+), 24 deletions(-) diff --git a/Readme.md b/Readme.md index fcfe954..8597862 100644 --- a/Readme.md +++ b/Readme.md @@ -1,12 +1,51 @@ # AJR Technology Radar - Content -This is the location of AJR techradar content - published under: https://www.coeurbox.syoul.fr +Ce dépôt contient le contenu du Technology Radar AJR, publié sous : https://www.coeurbox.syoul.fr -If you want to build your own techradar you may want to have a look at https://github.com/AOEpeople/aoe_technology_radar instead. +Le projet est basé sur le framework [aoe_technology_radar](https://github.com/AOEpeople/aoe_technology_radar). + +## Vue d'ensemble + +Le projet contient deux radars distincts : + +1. **Radar Technique Principal** : Radar standard des technologies utilisées par AJR +2. **Radar Business** : Radar stratégique business pour analyser les technologies de l'écosystème Laplank/Duniter/Ğ1 + +## Radar Business + +Le Radar Business est un outil stratégique accessible via le port **3004** avec une **protection par mot de passe** (`laplank-radar`). + +### Fonctionnalités + +- **Pages de stratégie dynamiques** : Accès à trois pages de stratégie depuis le header : + - Stratégie Technique + - Business + - DataViz Expert +- **Protection par mot de passe** : Accès restreint via un système d'authentification client-side +- **Quadrants business** : Classification selon l'impact business (Différenciantes, Commodité, Risque, Émergentes) +- **Anneaux stratégiques** : Core, Strategic, Support, Legacy + +### Développement local + +```bash +npm install +npm run serve-business +``` + +Le serveur démarre sur http://localhost:3004 + +### Déploiement + +Le Radar Business est déployé via Docker et Portainer : + +- **Dockerfile** : `Dockerfile.business` +- **Docker Compose** : `docker-compose.business.yml` +- **Port** : 3004 (mappé depuis le port 3000 du conteneur) +- **Base path** : `/` (racine) ## Content Guidelines -New blips should be tagged. The following tags are currently established: +Les nouveaux blips doivent être tagués. Les tags suivants sont établis : * architecture * security @@ -19,7 +58,7 @@ New blips should be tagged. The following tags are currently established: * ux/ui * documentation -e.g. use like this: +Exemple d'utilisation : ```md tags: [devops, security] @@ -27,16 +66,27 @@ tags: [devops, security] ## Development -### Build the radar +### Build le radar principal ``` -npm i +npm install npm run serve ``` -Then open here: http://localhost:3000/techradar +Puis ouvrir : http://localhost:3000/techradar -### Build the radar with static files +### Build avec fichiers statiques ``` -npm i +npm install npm run build -``` \ No newline at end of file +``` + +## Documentation + +La documentation complète est disponible dans le dossier `docs/` : + +- [Architecture](./docs/architecture.md) +- [Configuration](./docs/configuration.md) +- [Développement](./docs/developpement.md) +- [Déploiement](./docs/deploiement.md) +- [Contribution](./docs/contribution.md) +- [Guide Radar Business](./docs/guide-radar-business.md) \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index ccd7426..4770fbc 100644 --- a/docs/README.md +++ b/docs/README.md @@ -33,7 +33,9 @@ Cette documentation est organisée en plusieurs sections : ## Démarrage rapide -Pour démarrer rapidement le projet en local : +### Radar Principal + +Pour démarrer rapidement le radar principal en local : ```bash npm install @@ -42,5 +44,18 @@ npm run serve Puis ouvrir http://localhost:3000/techradar dans votre navigateur. -Pour plus de détails, consultez le [guide de développement](./developpement.md). +### Radar Business + +Pour démarrer le radar business en local : + +```bash +npm install +npm run serve-business +``` + +Le serveur démarre sur http://localhost:3004 + +**Note** : Le radar business est protégé par un mot de passe (`laplank-radar`). + +Pour plus de détails, consultez le [guide de développement](./developpement.md) et le [guide du radar business](./guide-radar-business.md). diff --git a/docs/architecture.md b/docs/architecture.md index b1b70ca..379e1c6 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -8,7 +8,7 @@ Le projet AJR Technology Radar est une application web statique construite avec ``` TechradarDev/ -├── radar/ # Contenu du radar organisé par dates +├── 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 @@ -18,11 +18,22 @@ TechradarDev/ │ ├── 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 +│ ├── 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 @@ -30,11 +41,14 @@ TechradarDev/ │ └── 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 ``` @@ -86,13 +100,38 @@ La configuration principale se trouve dans `config.json` et définit : Voir [configuration.md](./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 deux commandes principales : -- `npm run build` : Génère les fichiers statiques -- `npm run serve` : Lance un serveur de développement +Le projet utilise plusieurs commandes : +- `npm run build` : Génère les fichiers statiques du radar principal +- `npm 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 3004) -Le déploiement se fait via Docker avec plusieurs configurations selon l'environnement. +Le déploiement se fait via Docker avec plusieurs configurations selon l'environnement : +- **Radar principal** : Via `docker/Dockerfile` ou `Dockerfile` +- **Radar business** : Via `Dockerfile.business` et `docker-compose.business.yml` (Portainer) Voir [deploiement.md](./deploiement.md) pour plus de détails. diff --git a/docs/configuration.md b/docs/configuration.md index f1ac762..8627176 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -10,17 +10,19 @@ Le fichier `config.json` contient toute la configuration du radar. Il définit l ```json { - "basePath": "/", + "basePath": "", "baseUrl": "", "editUrl": "https://git.open.us.org/syoul/TechradarDev/_edit/main/radar/{release}/{id}.md", - "logoFile": "logo.svg" + "logoFile": "logo.svg", + "jsFile": "strategie-script.js" } ``` -- **basePath** : Chemin de base pour l'application (modifié dynamiquement en Docker) +- **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 (optionnel, utilisé pour le radar business) ### Options d'affichage (toggles) @@ -150,10 +152,31 @@ Les descriptions des quadrants et anneaux peuvent être modifiées directement d Le fichier `custom.css` permet d'ajouter des styles CSS personnalisés qui seront appliqués à l'application. +## Configuration du Radar Business + +Le Radar Business 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 stratégiques** : Core, Strategic, Support, Legacy +- **Couleurs** : Thème vert (`#1a4d3a` pour le background, `#2ecc71` pour les accents) + +### Script de stratégie + +Le fichier `public/strategie-script.js` est chargé automatiquement et fournit : +- Protection par mot de passe (authentification client-side) +- Pages de stratégie dynamiques (Markdown converti en HTML) +- Navigation dans le header + ## 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 Business, 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 : diff --git a/docs/deploiement.md b/docs/deploiement.md index eecc0d5..8a24048 100644 --- a/docs/deploiement.md +++ b/docs/deploiement.md @@ -6,6 +6,7 @@ Le projet peut être déployé de plusieurs façons : - Docker Compose (recommandé pour la production) - Docker simple - Build statique avec serveur web +- Portainer (pour le Radar Business) ## Déploiement avec Docker @@ -19,6 +20,8 @@ Le projet contient plusieurs configurations Docker : - `docker/docker-compose.local.yml` : Configuration pour développement local - `Dockerfile` (racine) : Dockerfile alternatif - `docker-compose.yml` (racine) : Docker Compose alternatif +- `Dockerfile.business` : Dockerfile spécifique pour le Radar Business +- `docker-compose.business.yml` : Docker Compose pour le Radar Business (Portainer) ### Build de l'image Docker @@ -103,6 +106,51 @@ server { ``` +## Déploiement du Radar Business avec Portainer + +Le Radar Business est déployé via Portainer en utilisant une stack Docker Compose. + +### Configuration Portainer + +1. **Créer une nouvelle stack** dans Portainer +2. **Nom de la stack** : `laplank-radar-business` (ou autre nom) +3. **Méthode** : Git Repository +4. **Repository URL** : URL du dépôt Git (ex: `https://git.open.us.org/AJR/TechradarDev.git`) +5. **Branch** : `dev-biz` (ou la branche appropriée) +6. **Compose path** : `docker-compose.business.yml` + +### Configuration Docker Compose Business + +Le fichier `docker-compose.business.yml` configure : +- **Port** : 3004 (mappé depuis le port 3000 du conteneur) +- **Image** : Construite depuis `Dockerfile.business` +- **Environnement** : `NODE_ENV=production` +- **Restart policy** : `unless-stopped` + +### Dockerfile Business + +Le `Dockerfile.business` : +- Utilise Node.js 20 Alpine +- Configure les variables d'environnement pour désactiver Husky +- Installe les dépendances avec `--ignore-scripts` +- Patche le package `aoe_technology_radar` pour inclure `gray-matter` +- Pré-installe `.techradar` pendant le build +- Applique la configuration business (`config-business.json`) +- Expose le port 3000 +- Démarre via `scripts/start-business.sh` + +### Authentification Git pour Portainer + +Si le dépôt est privé, utiliser un **Personal Access Token** (Gitea) : +1. Créer un token dans Gitea avec les permissions de lecture +2. Utiliser l'URL : `https://@git.open.us.org/AJR/TechradarDev.git` + +### Mise à jour + +Pour mettre à jour le Radar Business dans Portainer : +1. **Pull latest image** : Dans Portainer, utiliser "Pull latest image" +2. **Rebuild** : Ou reconstruire la stack depuis Git + ## Déploiement avec Drone CI Le projet est configuré pour le déploiement automatique via Drone CI (`.drone.yml`). @@ -193,12 +241,20 @@ docker compose logs --tail=100 ### Santé de l'application -L'application expose le port 3000. Vérifier la santé avec : +**Radar Principal** : Expose le port 3000. Vérifier avec : ```bash curl http://localhost:3000/techradar ``` +**Radar Business** : Expose le port 3004 (mappé depuis 3000). Vérifier avec : + +```bash +curl http://localhost:3004/ +``` + +Note : Le Radar Business est protégé par un mot de passe, donc la réponse peut être l'écran d'authentification. + ## Rollback En cas de problème, revenir à une version précédente : diff --git a/docs/developpement.md b/docs/developpement.md index 6bdb066..031b7ad 100644 --- a/docs/developpement.md +++ b/docs/developpement.md @@ -25,7 +25,7 @@ Cette commande installe le framework `aoe_technology_radar` depuis GitHub. ## Développement local -### Démarrer le serveur de développement +### Démarrer le serveur de développement (Radar Principal) ```bash npm run serve @@ -33,6 +33,22 @@ npm run serve Le serveur démarre sur http://localhost:3000/techradar +### Démarrer le serveur de développement (Radar Business) + +```bash +npm run serve-business +``` + +Le serveur démarre sur http://localhost:3004 + +**Note importante** : Le script `serve-business.sh` : +- Sauvegarde temporairement `config.json` et le dossier `radar/` +- Copie `radar-business/config-business.json` vers `config.json` +- Copie `radar-business/2025-01-15/` vers `radar/` +- Restaure la configuration originale à la sortie (Ctrl+C) + +Le Radar Business est protégé par un mot de passe : `laplank-radar` + ### Build de production Pour générer les fichiers statiques : diff --git a/docs/guide-radar-business.md b/docs/guide-radar-business.md index 666479c..0a96603 100644 --- a/docs/guide-radar-business.md +++ b/docs/guide-radar-business.md @@ -2,7 +2,13 @@ ## Introduction -Le Radar Business est un outil stratégique pour analyser les technologies de l'écosystème Duniter/Ğ1 sous l'angle business. Il permet d'identifier les patterns, les risques, les opportunités et de définir une stratégie d'évolution technique. +Le Radar Business est un outil stratégique pour analyser les technologies de l'écosystème Laplank/Duniter/Ğ1 sous l'angle business. Il permet d'identifier les patterns, les risques, les opportunités et de définir une stratégie d'évolution technique. + +## Accès + +Le Radar Business est accessible sur le **port 3004** et est protégé par un **mot de passe** : `laplank-radar` + +L'authentification est gérée côté client via `localStorage` (session valide jusqu'à fermeture du navigateur). ## Structure du Radar @@ -50,6 +56,25 @@ Chaque technologie (blip) contient des métadonnées business : - **teamCoverage** : Nombre de personnes maîtrisant la technologie - **skillGap** : Risque de compétence manquante (high, medium, low) +## Pages de Stratégie + +Le Radar Business inclut trois pages de stratégie accessibles depuis le header : + +1. **Stratégie Technique** : Vision et roadmap technique pour l'évolution du stack +2. **Business** : Analyse stratégique business autour de la dataviz et des flux économiques +3. **DataViz Expert** : Opportunités supplémentaires en dataviz (Smart Cities, Green Tech, KM, Cybersecurity) + +Ces pages sont générées dynamiquement via `public/strategie-script.js` qui convertit le contenu Markdown en HTML. + +### Contenu des Pages + +Le contenu des pages de stratégie est intégré directement dans `public/strategie-script.js` : +- `strategie-evolution-technique.md` : Stratégie d'évolution technique +- `strategie-business.md` : Analyse business et opportunités +- `opportunites-dataviz.md` et `opportunites-dataviz-details.md` : Opportunités DataViz + +Pour modifier le contenu, éditer directement `public/strategie-script.js` (sections `markdownContent`). + ## Utilisation ### Ajouter une Nouvelle Technologie @@ -162,12 +187,26 @@ Le script `analyze-business-metrics.js` génère automatiquement un rapport d'an - Ajustement des priorités - Mise à jour de la roadmap +## Déploiement + +Le Radar Business est déployé via Docker et Portainer : + +- **Dockerfile** : `Dockerfile.business` +- **Docker Compose** : `docker-compose.business.yml` +- **Port** : 3004 (mappé depuis le port 3000 du conteneur) +- **Base path** : `/` (racine, pas de sous-chemin) + +Voir [deploiement.md](./deploiement.md) pour les détails complets. + ## Ressources - **Format des blips** : `radar-business/FORMAT-BLIP.md` - **Configuration** : `radar-business/config-business.json` +- **Script de stratégie** : `public/strategie-script.js` - **Analyse stratégique** : `docs/analyse-strategique.md` - **Stratégie d'évolution** : `docs/strategie-evolution-technique.md` +- **Stratégie business** : `docs/strategie-business.md` +- **Opportunités DataViz** : `docs/opportunites-dataviz.md` et `docs/opportunites-dataviz-details.md` ## Support