diff --git a/Dockerfile.business b/Dockerfile.business index dccf9e3..384dc74 100644 --- a/Dockerfile.business +++ b/Dockerfile.business @@ -62,14 +62,10 @@ RUN cp radar-business/config-business.json config.json && \ mkdir -p radar/2025-01-15 && \ cp -r radar-business/2025-01-15/* radar/2025-01-15/ -# Générer les données de visualisation équipe si nécessaire -RUN if [ ! -f "public/team-visualization-data.json" ]; then \ - echo "⚠️ team-visualization-data.json non trouvé, génération..." && \ - node scripts/generate-team-visualization-data.js && \ - echo "✅ Données de visualisation équipe générées"; \ - else \ - echo "✅ team-visualization-data.json existe déjà"; \ - fi && \ +# Toujours régénérer les données de visualisation équipe (pour avoir les bons rings) +RUN echo "🔄 Régénération des données de visualisation équipe..." && \ + node scripts/generate-team-visualization-data.js && \ + echo "✅ Données de visualisation équipe générées" && \ echo "🔍 Vérification contenu team-visualization-data.json:" && \ ls -la public/team-visualization-data.json && \ head -20 public/team-visualization-data.json diff --git a/public/team-visualization-data.json b/public/team-visualization-data.json index 7bea4aa..8ce1bb6 100644 --- a/public/team-visualization-data.json +++ b/public/team-visualization-data.json @@ -6,12 +6,12 @@ "id": "tech-3node", "label": "3Node", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 0, "businessImpact": "high", "skillGap": "high", - "color": "#ff8800" + "color": "#999999" } }, { @@ -19,12 +19,12 @@ "id": "tech-aibox", "label": "AIBox", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 1, "businessImpact": "high", "skillGap": "high", - "color": "#ff8800" + "color": "#999999" } }, { @@ -45,12 +45,12 @@ "id": "tech-bash", "label": "Bash", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 1, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -58,12 +58,12 @@ "id": "tech-cryptographie", "label": "Cryptographie", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 1, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -71,12 +71,12 @@ "id": "tech-cytoscape-js", "label": "Cytoscape.js", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 1, "businessImpact": "high", "skillGap": "high", - "color": "#ff8800" + "color": "#999999" } }, { @@ -84,12 +84,12 @@ "id": "tech-d3-js", "label": "D3.js", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 2, "businessImpact": "high", "skillGap": "medium", - "color": "#ff8800" + "color": "#999999" } }, { @@ -97,12 +97,12 @@ "id": "tech-dart", "label": "Dart", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 1, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -110,12 +110,12 @@ "id": "tech-docker", "label": "Docker", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 1, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -123,12 +123,12 @@ "id": "tech-echarts", "label": "ECharts", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 0, "businessImpact": "high", "skillGap": "high", - "color": "#ff8800" + "color": "#999999" } }, { @@ -136,12 +136,12 @@ "id": "tech-flutter", "label": "Flutter", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 1, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -149,12 +149,12 @@ "id": "tech-gitlab-ci-cd", "label": "GitLab CI/CD", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 1, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -162,12 +162,12 @@ "id": "tech-grafana", "label": "Grafana", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 0, "businessImpact": "high", "skillGap": "high", - "color": "#ff8800" + "color": "#999999" } }, { @@ -175,12 +175,12 @@ "id": "tech-ipfs", "label": "IPFS", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 2, "businessImpact": "high", "skillGap": "medium", - "color": "#ff8800" + "color": "#999999" } }, { @@ -188,12 +188,12 @@ "id": "tech-javascript-typescript", "label": "JavaScript/TypeScript", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 3, "businessImpact": "medium", "skillGap": "low", - "color": "#4488ff" + "color": "#999999" } }, { @@ -201,12 +201,12 @@ "id": "tech-kubernetes", "label": "Kubernetes", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 0, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -214,12 +214,12 @@ "id": "tech-leaflet", "label": "Leaflet", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 0, "businessImpact": "high", "skillGap": "high", - "color": "#ff8800" + "color": "#999999" } }, { @@ -227,12 +227,12 @@ "id": "tech-linux", "label": "Linux", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 2, "businessImpact": "medium", "skillGap": "medium", - "color": "#4488ff" + "color": "#999999" } }, { @@ -240,12 +240,12 @@ "id": "tech-mycelium-network", "label": "Mycelium Network", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 0, "businessImpact": "high", "skillGap": "high", - "color": "#ff8800" + "color": "#999999" } }, { @@ -253,12 +253,12 @@ "id": "tech-netlifycms", "label": "NetlifyCMS", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 2, "businessImpact": "medium", "skillGap": "medium", - "color": "#4488ff" + "color": "#999999" } }, { @@ -266,12 +266,12 @@ "id": "tech-nostr", "label": "Nostr", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 1, "businessImpact": "high", "skillGap": "high", - "color": "#ff8800" + "color": "#999999" } }, { @@ -279,12 +279,12 @@ "id": "tech-nuxt-js", "label": "Nuxt.js", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 2, "businessImpact": "medium", "skillGap": "medium", - "color": "#4488ff" + "color": "#999999" } }, { @@ -305,12 +305,12 @@ "id": "tech-postgresql", "label": "PostgreSQL", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 0, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -318,12 +318,12 @@ "id": "tech-proxmox", "label": "ProxMox", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 1, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -331,12 +331,12 @@ "id": "tech-python", "label": "Python", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 1, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -344,12 +344,12 @@ "id": "tech-rust", "label": "Rust", "type": "technology", - "ring": "core", + "ring": "adopt", "quadrant": "technologies-differentiantes", "coverage": 1, "businessImpact": "high", "skillGap": "high", - "color": "#ff4444" + "color": "#999999" } }, { @@ -357,12 +357,12 @@ "id": "tech-serverless", "label": "Serverless", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 1, "businessImpact": "high", "skillGap": "high", - "color": "#ff8800" + "color": "#999999" } }, { @@ -370,12 +370,12 @@ "id": "tech-squid", "label": "Squid", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 1, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -383,12 +383,12 @@ "id": "tech-substrate-framework", "label": "Substrate Framework", "type": "technology", - "ring": "core", + "ring": "adopt", "quadrant": "technologies-differentiantes", "coverage": 1, "businessImpact": "high", "skillGap": "high", - "color": "#ff4444" + "color": "#999999" } }, { @@ -396,12 +396,12 @@ "id": "tech-threefold-blockchain", "label": "ThreeFold Blockchain", "type": "technology", - "ring": "core", + "ring": "adopt", "quadrant": "technologies-differentiantes", "coverage": 3, "businessImpact": "high", "skillGap": "low", - "color": "#ff4444" + "color": "#999999" } }, { @@ -409,12 +409,12 @@ "id": "tech-threefold-cloud", "label": "ThreeFold Cloud", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 2, "businessImpact": "high", "skillGap": "medium", - "color": "#ff8800" + "color": "#999999" } }, { @@ -422,12 +422,12 @@ "id": "tech-threefold-compute", "label": "ThreeFold Compute", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 2, "businessImpact": "high", "skillGap": "medium", - "color": "#ff8800" + "color": "#999999" } }, { @@ -435,12 +435,12 @@ "id": "tech-threefold-data-storage", "label": "ThreeFold Data Storage", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 2, "businessImpact": "high", "skillGap": "medium", - "color": "#ff8800" + "color": "#999999" } }, { @@ -448,12 +448,12 @@ "id": "tech-threefold-grid", "label": "ThreeFold Grid", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 4, "businessImpact": "high", "skillGap": "low", - "color": "#ff8800" + "color": "#999999" } }, { @@ -461,12 +461,12 @@ "id": "tech-vue-js", "label": "Vue.js", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 2, "businessImpact": "medium", "skillGap": "medium", - "color": "#4488ff" + "color": "#999999" } }, { @@ -474,12 +474,12 @@ "id": "tech-wordup-cms", "label": "WordUp CMS", "type": "technology", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "coverage": 1, "businessImpact": "medium", "skillGap": "high", - "color": "#4488ff" + "color": "#999999" } }, { @@ -487,12 +487,12 @@ "id": "tech-zero-os", "label": "Zero OS", "type": "technology", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "coverage": 0, "businessImpact": "high", "skillGap": "high", - "color": "#ff8800" + "color": "#999999" } }, { @@ -1040,14 +1040,506 @@ "seniority": "expert" } ] + }, + { + "technology": "Kubernetes", + "technologyId": "kubernetes", + "businessImpact": "medium", + "coverage": 0, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "PostgreSQL", + "technologyId": "postgresql", + "businessImpact": "medium", + "coverage": 0, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "Bash", + "technologyId": "bash", + "businessImpact": "medium", + "coverage": 1, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": true, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "Cryptographie", + "technologyId": "cryptographie", + "businessImpact": "medium", + "coverage": 1, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "Dart", + "technologyId": "dart", + "businessImpact": "medium", + "coverage": 1, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": true, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "Docker", + "technologyId": "docker", + "businessImpact": "medium", + "coverage": 1, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": true, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "Flutter", + "technologyId": "flutter", + "businessImpact": "medium", + "coverage": 1, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": true, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "GitLab CI/CD", + "technologyId": "gitlab-ci-cd", + "businessImpact": "medium", + "coverage": 1, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": true, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "ProxMox", + "technologyId": "proxmox", + "businessImpact": "medium", + "coverage": 1, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": true, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "Python", + "technologyId": "python", + "businessImpact": "medium", + "coverage": 1, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": true, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "Squid", + "technologyId": "squid", + "businessImpact": "medium", + "coverage": 1, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "WordUp CMS", + "technologyId": "wordup-cms", + "businessImpact": "medium", + "coverage": 1, + "skillGap": "high", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "Linux", + "technologyId": "linux", + "businessImpact": "medium", + "coverage": 2, + "skillGap": "medium", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "NetlifyCMS", + "technologyId": "netlifycms", + "businessImpact": "medium", + "coverage": 2, + "skillGap": "medium", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": true, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "Nuxt.js", + "technologyId": "nuxt-js", + "businessImpact": "medium", + "coverage": 2, + "skillGap": "medium", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "Vue.js", + "technologyId": "vue-js", + "businessImpact": "medium", + "coverage": 2, + "skillGap": "medium", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] + }, + { + "technology": "JavaScript/TypeScript", + "technologyId": "javascript-typescript", + "businessImpact": "medium", + "coverage": 3, + "skillGap": "low", + "members": [ + { + "member": "1000i100", + "fullName": "1000i100", + "hasSkill": true, + "availability": 50, + "seniority": "expert" + }, + { + "member": "poka", + "fullName": "Poka", + "hasSkill": false, + "availability": 50, + "seniority": "expert" + } + ] } ], "genesisTeam": { - "team": [], - "totalMembers": 0, - "coveredTechnologies": 0, - "totalCoreTechnologies": 3, + "team": [ + { + "member": "poka", + "fullName": "Poka", + "role": "Développeur Full Stack & Administrateur Système", + "availability": 50, + "seniority": "expert", + "technologies": [ + { + "id": "bash", + "title": "Bash", + "businessImpact": "medium" + }, + { + "id": "dart", + "title": "Dart", + "businessImpact": "medium" + }, + { + "id": "flutter", + "title": "Flutter", + "businessImpact": "medium" + }, + { + "id": "proxmox", + "title": "ProxMox", + "businessImpact": "medium" + }, + { + "id": "python", + "title": "Python", + "businessImpact": "medium" + } + ], + "coverage": 5 + }, + { + "member": "1000i100", + "fullName": "1000i100", + "role": "DevOps & Développeur Web", + "availability": 50, + "seniority": "expert", + "technologies": [ + { + "id": "docker", + "title": "Docker", + "businessImpact": "medium" + }, + { + "id": "gitlab-ci-cd", + "title": "GitLab CI/CD", + "businessImpact": "medium" + }, + { + "id": "javascript-typescript", + "title": "JavaScript/TypeScript", + "businessImpact": "medium" + }, + { + "id": "netlifycms", + "title": "NetlifyCMS", + "businessImpact": "medium" + } + ], + "coverage": 4 + } + ], + "totalMembers": 2, + "coveredTechnologies": 9, + "totalCoreTechnologies": 20, "uncoveredTechnologies": [ + { + "id": "cryptographie", + "title": "Cryptographie", + "businessImpact": "medium", + "skillGap": "high", + "teamCoverage": 1 + }, + { + "id": "kubernetes", + "title": "Kubernetes", + "businessImpact": "medium", + "skillGap": "high", + "teamCoverage": 0 + }, + { + "id": "linux", + "title": "Linux", + "businessImpact": "medium", + "skillGap": "medium", + "teamCoverage": 2 + }, + { + "id": "nuxt-js", + "title": "Nuxt.js", + "businessImpact": "medium", + "skillGap": "medium", + "teamCoverage": 2 + }, + { + "id": "postgresql", + "title": "PostgreSQL", + "businessImpact": "medium", + "skillGap": "high", + "teamCoverage": 0 + }, { "id": "rust", "title": "Rust", @@ -1055,6 +1547,13 @@ "skillGap": "high", "teamCoverage": 1 }, + { + "id": "squid", + "title": "Squid", + "businessImpact": "medium", + "skillGap": "high", + "teamCoverage": 1 + }, { "id": "substrate-framework", "title": "Substrate Framework", @@ -1068,16 +1567,30 @@ "businessImpact": "high", "skillGap": "low", "teamCoverage": 3 + }, + { + "id": "vue-js", + "title": "Vue.js", + "businessImpact": "medium", + "skillGap": "medium", + "teamCoverage": 2 + }, + { + "id": "wordup-cms", + "title": "WordUp CMS", + "businessImpact": "medium", + "skillGap": "high", + "teamCoverage": 1 } ], - "totalCapacity": 0, - "averageAvailability": 0 + "totalCapacity": 100, + "averageAvailability": 50 }, "technologies": [ { "id": "3node", "title": "3Node", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 0, @@ -1088,7 +1601,7 @@ { "id": "aibox", "title": "AIBox", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 1, @@ -1112,7 +1625,7 @@ { "id": "bash", "title": "Bash", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 1, @@ -1125,7 +1638,7 @@ { "id": "cryptographie", "title": "Cryptographie", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 1, @@ -1138,7 +1651,7 @@ { "id": "cytoscape-js", "title": "Cytoscape.js", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 1, @@ -1151,7 +1664,7 @@ { "id": "d3-js", "title": "D3.js", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 2, @@ -1165,7 +1678,7 @@ { "id": "dart", "title": "Dart", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 1, @@ -1178,7 +1691,7 @@ { "id": "docker", "title": "Docker", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 1, @@ -1191,7 +1704,7 @@ { "id": "echarts", "title": "ECharts", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 0, @@ -1202,7 +1715,7 @@ { "id": "flutter", "title": "Flutter", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 1, @@ -1215,7 +1728,7 @@ { "id": "gitlab-ci-cd", "title": "GitLab CI/CD", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 1, @@ -1228,7 +1741,7 @@ { "id": "grafana", "title": "Grafana", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 0, @@ -1239,7 +1752,7 @@ { "id": "ipfs", "title": "IPFS", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 2, @@ -1253,7 +1766,7 @@ { "id": "javascript-typescript", "title": "JavaScript/TypeScript", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 3, @@ -1268,7 +1781,7 @@ { "id": "kubernetes", "title": "Kubernetes", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 0, @@ -1279,7 +1792,7 @@ { "id": "leaflet", "title": "Leaflet", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 0, @@ -1290,7 +1803,7 @@ { "id": "linux", "title": "Linux", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 2, @@ -1304,7 +1817,7 @@ { "id": "mycelium-network", "title": "Mycelium Network", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 0, @@ -1315,7 +1828,7 @@ { "id": "netlifycms", "title": "NetlifyCMS", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 2, @@ -1329,7 +1842,7 @@ { "id": "nostr", "title": "Nostr", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 1, @@ -1342,7 +1855,7 @@ { "id": "nuxt-js", "title": "Nuxt.js", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 2, @@ -1367,7 +1880,7 @@ { "id": "postgresql", "title": "PostgreSQL", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 0, @@ -1378,7 +1891,7 @@ { "id": "proxmox", "title": "ProxMox", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 1, @@ -1391,7 +1904,7 @@ { "id": "python", "title": "Python", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 1, @@ -1404,7 +1917,7 @@ { "id": "rust", "title": "Rust", - "ring": "core", + "ring": "adopt", "quadrant": "technologies-differentiantes", "businessImpact": "high", "teamCoverage": 1, @@ -1417,7 +1930,7 @@ { "id": "serverless", "title": "Serverless", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 1, @@ -1430,7 +1943,7 @@ { "id": "squid", "title": "Squid", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 1, @@ -1443,7 +1956,7 @@ { "id": "substrate-framework", "title": "Substrate Framework", - "ring": "core", + "ring": "adopt", "quadrant": "technologies-differentiantes", "businessImpact": "high", "teamCoverage": 1, @@ -1456,7 +1969,7 @@ { "id": "threefold-blockchain", "title": "ThreeFold Blockchain", - "ring": "core", + "ring": "adopt", "quadrant": "technologies-differentiantes", "businessImpact": "high", "teamCoverage": 3, @@ -1471,7 +1984,7 @@ { "id": "threefold-cloud", "title": "ThreeFold Cloud", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 2, @@ -1485,7 +1998,7 @@ { "id": "threefold-compute", "title": "ThreeFold Compute", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 2, @@ -1499,7 +2012,7 @@ { "id": "threefold-data-storage", "title": "ThreeFold Data Storage", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 2, @@ -1513,7 +2026,7 @@ { "id": "threefold-grid", "title": "ThreeFold Grid", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 4, @@ -1529,7 +2042,7 @@ { "id": "vue-js", "title": "Vue.js", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 2, @@ -1543,7 +2056,7 @@ { "id": "wordup-cms", "title": "WordUp CMS", - "ring": "support", + "ring": "adopt", "quadrant": "technologies-commodite", "businessImpact": "medium", "teamCoverage": 1, @@ -1556,7 +2069,7 @@ { "id": "zero-os", "title": "Zero OS", - "ring": "strategic", + "ring": "assess", "quadrant": "technologies-emergentes", "businessImpact": "high", "teamCoverage": 0, @@ -1745,5 +2258,5 @@ ] } ], - "generatedAt": "2025-12-06T20:48:06.056Z" + "generatedAt": "2025-12-09T14:21:25.087Z" } \ No newline at end of file