# Guide de contribution ## Vue d'ensemble Ce guide explique comment contribuer au Technology Radar AJR en ajoutant, modifiant ou supprimant des technologies (blips) et des profils équipe. ## Processus de contribution ### 1. Préparer l'environnement Voir le [guide de développement](./developpement.md) pour l'installation et la configuration de l'environnement local. ### 2. Créer une branche ```bash git checkout -b feature/nom-de-la-technologie ``` ### 3. Ajouter ou modifier un blip #### Ajouter un nouveau blip 1. Créer un fichier Markdown dans le dossier de release approprié : ``` radar-business/2025-01-15/nom-technologie.md ``` 2. Utiliser le format standard avec toutes les métadonnées : ```markdown --- title: "Nom de la technologie" ring: adopt|trial|assess|hold quadrant: technologies-differentiantes|technologies-commodite|technologies-risque|technologies-emergentes tags: [tag1, tag2] businessImpact: high|medium|low costToReplace: 0 revenueImpact: indirect riskLevel: medium competencyLevel: beginner maintenanceCost: 0 differentiation: high teamCoverage: 1 skillGap: high --- Description de la technologie. ## Impact Business Description de l'impact sur le business. ## Coûts - Coût de remplacement : 0€ - Coût de maintenance annuel : 0€ ## Compétences - Nombre de personnes maîtrisant : 1 - Membres de l'équipe : pseudo - Niveau moyen : beginner - Risque de compétence manquante : high ## Recommandations Recommandations stratégiques pour cette technologie. ``` Voir `radar-business/FORMAT-BLIP.md` pour le format complet. #### Modifier un blip existant 1. Localiser le fichier dans `radar-business/2025-01-15/` 2. Modifier le contenu ou les métadonnées 3. Si vous changez le ring ou le quadrant, documenter la raison 4. **Important** : Vérifier que le ring est standard (adopt, trial, assess, hold) #### Supprimer un blip Si une technologie doit être retirée du radar : - La déplacer vers le ring "hold" plutôt que de la supprimer - Ou la supprimer complètement si elle n'est plus pertinente ### 4. Ajouter ou modifier un profil équipe #### Ajouter un profil équipe 1. Créer un fichier Markdown dans `docs/data/team/` : ``` docs/data/team/pseudo.md ``` 2. Utiliser le format standard : ```markdown --- name: "pseudo" fullName: "Nom complet" role: "Rôle" availability: 50 seniorityLevel: expert yearsExperience: 8 joinDate: "2016-01" interests: ["Mobile", "Infrastructure"] skills: - name: "Flutter" level: expert years: 4 lastUsed: "2024-12" softSkills: - "Autonomie" projects: - "Projet1" --- ``` 3. Régénérer les données équipe : ```bash node scripts/generate-team-visualization-data.js ``` ### 5. Tester localement ```bash npm run serve-business ``` Vérifier : - L'affichage correct du blip - Le positionnement dans le bon quadrant et ring - La lisibilité du contenu - Le fonctionnement des tags - La page équipe (`/team`) affiche correctement les données ### 6. Commiter les changements ```bash git add radar-business/2025-01-15/nom-technologie.md git add docs/data/team/pseudo.md git add public/team-visualization-data.json git commit -m "feat: ajouter [technologie] au quadrant [quadrant]" ``` ### 7. Pousser et créer une pull request ```bash git push origin feature/nom-de-la-technologie ``` Créer une pull request sur le dépôt Git. ## Guidelines de contenu ### Choix du ring - **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. - **Trial** : Technologies à essayer. Prometteuses et testées avec succès dans certains contextes. À considérer pour de nouveaux projets. - **Assess** : Technologies à évaluer. Prometteuses mais nécessitent une évaluation approfondie avant adoption. À surveiller et tester. - **Hold** : Technologies à éviter ou à remplacer. Présentent des risques, sont obsolètes ou ne sont plus recommandées. À éviter pour de nouveaux projets. **Important** : Les anciens rings (core, strategic, support, legacy) ne sont plus utilisés. Tous les blips doivent utiliser les rings standards (adopt, trial, assess, hold). ### Choix du quadrant - **Technologies Différenciantes** : Créent un avantage concurrentiel et de la valeur différenciante - **Technologies de Commodité** : Nécessaires mais non différenciantes, à optimiser pour réduire les coûts - **Technologies à Risque** : Obsolètes, coûteuses, à migrer ou remplacer - **Technologies Émergentes** : Opportunités futures, à évaluer et potentiellement adopter ### Tags Utiliser les tags établis : - architecture - security - devops - frontend - agile - coding - quality assurance - ci/cd - ux/ui - documentation - blockchain - infrastructure - dataviz - mobile Ajouter plusieurs tags si la technologie couvre plusieurs domaines. ### Qualité du contenu - **Clarté** : Description claire et concise - **Pertinence** : Focus sur l'utilisation dans l'écosystème Duniter/Ğ1 - **Objectivité** : Présenter les avantages et inconvénients - **Concision** : Rester factuel et éviter les détails superflus - **Métadonnées complètes** : Remplir toutes les métadonnées business ## Format des commits Utiliser des messages de commit clairs : ``` feat: ajouter [technologie] au quadrant [quadrant] fix: corriger la description de [technologie] update: déplacer [technologie] de trial à adopt docs: améliorer la documentation de [technologie] feat(team): ajouter profil [pseudo] fix(team): mettre à jour compétences de [pseudo] ``` ## Créer une nouvelle release Quand créer une nouvelle release : 1. **Périodicité** : Généralement tous les 3-6 mois 2. **Changements significatifs** : Plusieurs nouveaux blips ou changements majeurs 3. **Événements** : Après des évaluations importantes ### Processus de release 1. Créer un nouveau dossier avec la date : ```bash mkdir radar-business/2025-07-15 ``` 2. Copier les blips pertinents depuis la release précédente 3. Ajouter les nouveaux blips 4. Mettre à jour les blips existants si nécessaire (changement de ring, quadrant, description) 5. **Migrer les rings si nécessaire** : S'assurer que tous les blips utilisent les rings standards 6. Documenter les changements majeurs ## Migration des rings Si vous avez des blips avec les anciens rings, utilisez ce mapping : - **core** → **adopt** : Technologies fondamentales en production - **strategic** → **assess** : Technologies prometteuses à évaluer - **support** → **adopt** : Technologies utilisées en production - **trial** → **trial** : Déjà correct - **legacy** → **hold** : Technologies obsolètes à remplacer Le script `scripts/migrate-rings.sh` peut être utilisé pour automatiser cette migration. ## Review process Les contributions sont revues pour : - **Exactitude** : Les informations sont correctes - **Pertinence** : La technologie est pertinente pour l'écosystème - **Format** : Le format Markdown est correct - **Classification** : Le ring et quadrant sont appropriés - **Rings standards** : Utilisation des rings standards (adopt, trial, assess, hold) - **Métadonnées** : Toutes les métadonnées business sont remplies - **Qualité** : Le contenu est clair et utile ## Questions fréquentes ### Puis-je ajouter une technologie que je n'ai pas encore utilisée ? Non. Le radar ne contient que des technologies testées au moins une fois par l'équipe. ### Comment décider entre deux quadrants ? Choisir le quadrant le plus approprié selon l'impact business. Si c'est ambigu, discuter avec l'équipe. ### Puis-je modifier un blip d'une release précédente ? Généralement non. Les releases précédentes sont figées. Créer un nouveau blip dans la release actuelle si nécessaire. ### Comment gérer les technologies obsolètes ? Les déplacer vers le ring "hold" avec une explication de pourquoi elles ne sont plus recommandées. ### Quels rings dois-je utiliser ? Toujours utiliser les rings standards : **adopt**, **trial**, **assess**, **hold**. Les anciens rings (core, strategic, support, legacy) ne sont plus utilisés. ### Comment mettre à jour les données équipe ? 1. Modifier les fichiers dans `docs/data/team/*.md` 2. Régénérer les données : `node scripts/generate-team-visualization-data.js` 3. Commiter les deux fichiers (profils + données JSON) ## Ressources - [Guide de développement](./developpement.md) - [Configuration](./configuration.md) - [Architecture](./architecture.md) - [Format des blips](../radar-business/FORMAT-BLIP.md) - [Guide page équipe](./guide-page-equipe.md) - Framework source : https://github.com/AOEpeople/aoe_technology_radar ## Contact Pour toute question sur les contributions, contacter l'équipe AJR ou ouvrir une issue sur le dépôt Git.