docs/ est entièrement ignoré par .gitignore, mais docs/data/team/*.md est nécessaire au build (generate-team-visualization-data.js). Déplacement vers data/ à la racine pour que ces fichiers soient versionnés et disponibles lors du déploiement depuis le dépôt. - Nouveau dossier data/ versionné (profils équipe, technologies) - docs/ entièrement ignoré (documentation humaine uniquement) - Mise à jour des 4 références dans les scripts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
18 KiB
18 KiB
Technologies et Compétences - Écosystème Duniter/Ğ1
Ce document liste les technologies et compétences identifiées dans l'écosystème Duniter/Ğ1 basé sur l'analyse de https://git.duniter.org/
Technologies de Développement
Langages de Programmation
Rust
- Utilisation : Développement du nœud Duniter v2S (basé sur Substrate)
- Projets :
Duniter v2S: Nœud blockchain principalĞcli-v2s: Interface en ligne de commande Rusthomebrew-duniter-gcli: Package Homebrew pour Ğcli
- Compétences requises : Rust avancé, développement blockchain, Substrate framework
Python
- Utilisation : Clients en ligne de commande et outils
- Projets :
silkaj: Client CLI Python pour la monnaie Ğ1Tikka: Client riche pour la monnaie Ğ1
- Compétences requises : Python, développement CLI, APIs REST
JavaScript/TypeScript
- Utilisation : Clients web, extensions navigateur, sites web
- Projets :
Ğ1Companion: Extension web pour navigateurs- Clients web divers
- Compétences requises : JavaScript/TypeScript, développement d'extensions navigateur, Web APIs
Frameworks et Bibliothèques
Substrate Framework
- Utilisation : Framework blockchain pour Duniter v2S
- Description : Framework Rust pour construire des blockchains personnalisées
- Compétences requises : Blockchain, Rust, Substrate, consensus algorithms
Nuxt.js
- Utilisation : Framework Vue.js pour sites web
- Projets :
monnaie-libre-fr: Site web avec Nuxt + nuxt-content
- Compétences requises : Vue.js, Nuxt.js, SSR, JAMstack
NetlifyCMS
- Utilisation : CMS headless basé sur Git
- Projets :
monnaie-libre-fr: CMS pour le site web
- Compétences requises : Git-based CMS, JAMstack, workflows Git
WordUp CMS
- Utilisation : CMS pour sites web
- Projets :
axiom-team-fr: Site de production avec WordUp
- Compétences requises : CMS management, intégration d'APIs
Outils et Bibliothèques Spécialisées
Squid (Indexer)
- Utilisation : Indexation de données blockchain
- Projets :
duniter-squid: Indexer basé sur Squid pour Duniter v2S
- Compétences requises : Indexation de données, GraphQL, blockchain data processing
g1-papi
- Utilisation : Bibliothèque API pour Ğ1
- Type : Bibliothèque partagée
- Compétences requises : API design, développement de bibliothèques
Clients et Interfaces
Clients CLI (Command Line Interface)
- Rust CLI :
Ğcli-v2s- Interface avancée pour utilisateurs experts - Python CLI :
silkaj,Tikka- Clients en ligne de commande - Compétences requises : Développement CLI, UX en ligne de commande, parsing d'arguments
Extensions Navigateur
- Ğ1Companion : Extension web pour navigateurs
- Compétences requises : Web Extensions API, Chrome/Firefox extensions, JavaScript
Clients Graphiques
- Ğecko : Client avec interface graphique
- Cesium-grp/cesium2s : Client Cesium pour Duniter v2s
- Compétences requises : Développement d'interfaces graphiques, frameworks UI
Intégrations et APIs
Intégrations Externes
- HelloAsso : Intégration pour dons
- Paheko : Intégration comptable
- ĞWishBounty : Application pour automatiser les flux de dons
- Compétences requises : Intégration d'APIs tierces, webhooks, synchronisation de données
APIs Internes
- api-axiom-team-fr : API pour le site Axiom
- Compétences requises : REST APIs, GraphQL, documentation d'API
Technologies d'Authentification et d'Identité
Authentification et Autorisation
Microsoft Entra (concurrents)
- Utilisation : Solution d'identité et d'accès cloud de Microsoft
- Description : Plateforme d'identité en tant que service (IDaaS) qui fournit l'authentification unique (SSO), la gestion des identités et l'accès conditionnel. Alternative aux solutions d'authentification traditionnelles.
- Compétences requises : Gestion d'identité cloud, SSO, intégration d'identité, sécurité des accès
AUTHZ et AUTHN
- Utilisation : Concepts fondamentaux de sécurité
- Description :
- AUTHN (Authentication) : Vérification de l'identité d'un utilisateur (qui êtes-vous ?)
- AUTHZ (Authorization) : Vérification des permissions d'accès (que pouvez-vous faire ?)
- Compétences requises : Principes de sécurité, gestion des identités, contrôle d'accès, modèles de permissions
Better Auth
- Utilisation : Bibliothèque d'authentification moderne
- Description : Solution d'authentification open-source offrant une API simple et flexible pour gérer l'authentification dans les applications web. Supporte OAuth, email/password, et autres méthodes d'authentification.
- Compétences requises : Développement web, authentification, OAuth, sécurité des applications
Identité Décentralisée
DID et UCAN
- Utilisation : Identifiants décentralisés et système d'autorisation
- Description :
- DID (Decentralized Identifiers) : Identifiants uniques décentralisés qui permettent aux utilisateurs de contrôler leur identité sans dépendre d'une autorité centrale
- UCAN (User Controlled Authorization Networks) : Système d'autorisation basé sur des capacités (capabilities) où les utilisateurs contrôlent leurs propres permissions
- Compétences requises : Identité décentralisée, Web3, cryptographie, systèmes d'autorisation basés sur les capacités
VC (Verifiable Credentials)
- Utilisation : Credentials vérifiables pour l'identité numérique
- Description : Standard W3C pour les credentials numériques qui peuvent être vérifiés cryptographiquement. Permet de créer des identités numériques portables et vérifiables sans dépendre d'une autorité centrale.
- Compétences requises : Standards W3C, identité numérique, cryptographie, vérification de credentials, blockchain (optionnel)
Protocoles d'Authentification
OpenID Connect
- Utilisation : Protocole d'authentification et d'autorisation
- Description : Couche d'identité construite sur OAuth 2.0 qui permet aux clients de vérifier l'identité d'un utilisateur basée sur l'authentification effectuée par un serveur d'autorisation. Standard de l'industrie pour l'authentification fédérée.
- Compétences requises : OAuth 2.0, protocoles d'authentification, intégration SSO, sécurité web
SPIFFE
- Utilisation : Identité sécurisée pour les workloads en production
- Description : SPIFFE (Secure Production Identity Framework For Everyone) fournit un cadre pour identifier et authentifier les workloads dans des environnements hétérogènes et distribués. Utilise des identités basées sur des certificats X.509 ou JWT.
- Compétences requises : Sécurité des microservices, identité des workloads, mTLS, infrastructure distribuée, Kubernetes, service mesh
Technologies d'Infrastructure Décentralisée
ThreeFold
Zero OS
- Utilisation : Système d'exploitation autonome pour infrastructure décentralisée
- Description : Système d'exploitation efficace et sécurisé qui s'exécute directement sur le matériel, permettant un cloud autonome
- Compétences requises : Administration système bare metal, cloud décentralisé, Zero OS
ThreeFold Grid
- Utilisation : Infrastructure Internet décentralisée globale
- Description : Plateforme opérationnelle d'infrastructure Internet décentralisée déployée localement, scalable globalement, possédée et alimentée par les utilisateurs
- Compétences requises : Infrastructure décentralisée, cloud computing, réseaux distribués
3Node
- Utilisation : Nœuds physiques de l'infrastructure ThreeFold
- Description : Serveurs informatiques dédiés à 100% au réseau, fournissant capacité de calcul, stockage et réseau
- Compétences requises : Administration de serveurs, déploiement de nœuds, maintenance hardware
ThreeFold Compute
- Utilisation : Capacité de calcul bare metal
- Description : Peut exécuter toute charge de travail Web2, Web3 ou IA à la périphérie d'Internet, avec plus de scalabilité et de fiabilité
- Compétences requises : Virtualisation, conteneurisation, Kubernetes, edge computing
ThreeFold Data Storage
- Utilisation : Système de stockage de données inviolable
- Description : Les données ne peuvent pas être compromises et restent toujours privées, possédées par vous. Système scalable jusqu'au niveau planétaire, au moins 10x plus efficace et plusieurs ordres de grandeur plus sécurisé et fiable
- Compétences requises : Stockage distribué, réplication de données, sécurité des données
ThreeFold Network (Mycelium)
- Utilisation : Réseau overlay chiffré de bout en bout
- Description : Réseau toujours à la recherche du chemin le plus court possible entre les participants. Adresse Internet logique liée de manière sécurisée à une clé privée. Scalabilité illimitée et optimisations de performance
- Compétences requises : Réseaux overlay, chiffrement de bout en bout, routage réseau
ThreeFold Blockchain
- Utilisation : Blockchain pour la vérification et l'enregistrement de la capacité
- Description : Vérifie, enregistre et sécurise la capacité des nœuds sur la blockchain ThreeFold
- Compétences requises : Blockchain, consensus, cryptographie
ThreeFold Cloud
- Utilisation : Cloud open-source décentralisé
- Description : Déploiement de machines virtuelles, conteneurs, clusters Kubernetes, web gateways et plus sur un cloud open source décentralisé best-effort
- Compétences requises : Cloud computing, Kubernetes, déploiement d'applications, administration système
AIBox
- Utilisation : Solution de calcul IA auto-hébergée alimentée par ThreeFold
- Description : Solution de calcul IA dédiée fonctionnant sur l'infrastructure ThreeFold
- Compétences requises : Intelligence artificielle, machine learning, infrastructure IA
3Phone
- Utilisation : Appareils sécurisés de la famille 3Phone
- Description : Premiers appareils sécurisés conçus pour fonctionner de manière transparente avec le ThreeFold Grid
- Compétences requises : Développement mobile, sécurité des appareils, intégration réseau
3Router
- Utilisation : Routeurs intelligents pour connexions optimisées
- Description : Routeurs intelligents garantissant des connexions de chemin le plus court entre nœuds et téléphones avec chiffrement de bout en bout
- Compétences requises : Routage réseau, optimisation de réseau, sécurité réseau
Technologies d'Infrastructure et Déploiement
Conteneurisation
- Docker : Conteneurisation des applications
- Compétences requises : Docker, Docker Compose, orchestration de conteneurs
Déploiement Web
- Netlify : Déploiement JAMstack (mentionné pour monnaie-libre-fr)
- Compétences requises : CI/CD, déploiement continu, Netlify
Gestion de Code Source
- Git : Système de contrôle de version
- Forge Git : git.duniter.org (forge Git auto-hébergée)
- Compétences requises : Git avancé, workflows Git, gestion de forge
Package Management
- Homebrew : Gestion de paquets pour macOS
- npm/yarn : Gestion de paquets JavaScript
- pip/poetry : Gestion de paquets Python
- Cargo : Gestion de paquets Rust
- Compétences requises : Gestion de dépendances, gestion de versions, publication de paquets
Compétences d'Administration Système
Administration Linux/Unix
- Systèmes d'exploitation : Linux (Debian, Ubuntu, etc.)
- Compétences requises :
- Administration système Linux
- Gestion des utilisateurs et permissions
- Configuration réseau
- Monitoring système
- Gestion des logs
- Sécurisation des serveurs
Administration Blockchain
- Gestion de nœuds : Administration de nœuds Duniter
- Compétences requises :
- Configuration de nœuds blockchain
- Gestion de la synchronisation
- Monitoring de la blockchain
- Gestion des clés cryptographiques
- Maintenance des nœuds
Bases de Données
- PostgreSQL : Base de données relationnelle utilisée dans les projets
- Compétences requises :
- Administration PostgreSQL
- Optimisation de requêtes
- Sauvegarde et restauration
- Réplication
- Performance tuning
- SQL avancé
Réseau et Sécurité
- Réseau :
- Configuration de pare-feu
- Gestion des ports et services
- Load balancing
- CDN configuration
- DNS, DHCP, VPN, SD-WAN
- Configuration réseau avancée
- Sécurité :
- SSL/TLS configuration
- Gestion des certificats
- Sécurisation des APIs
- Protection contre les attaques
- Audit de sécurité
- Chiffrement des communications et données
- Surveillance et détection d'intrusions
- Prévention des cyberattaques
Monitoring et Observabilité
- Monitoring :
- Monitoring des applications
- Monitoring des nœuds blockchain
- Alerting
- Métriques et dashboards
- Logs :
- Centralisation des logs
- Analyse de logs
- Rotation des logs
CI/CD et Automatisation
- Intégration Continue :
- Configuration de pipelines CI/CD
- Tests automatisés
- Build automatisé
- Déploiement automatisé
- Outils :
- GitHub Actions, GitLab CI, Drone CI
- Scripts d'automatisation
- Configuration de workflows
Automatisation et Scripting
- Scripts :
- Bash scripting avancé
- Python scripting pour automatisation
- Automatisation de tâches d'administration
- Scripts de déploiement
- Automatisation des environnements pour cohérence
- Compétences requises : Scripting, automatisation, amélioration de la cohérence des environnements
Infrastructure Cloud/On-Premise
- Cloud :
- Déploiement sur cloud (si applicable)
- Gestion de ressources cloud
- Auto-scaling
- Cloud décentralisé (ThreeFold Grid)
- On-Premise :
- Gestion de serveurs physiques
- Virtualisation (VMware, Hyper-V, KVM)
- Gestion de l'infrastructure
- Provisioning de serveurs
- Infrastructure décentralisée (3Nodes)
Gestion de Configuration
- Configuration Management :
- Ansible, Puppet, Chef
- Infrastructure as Code
- Configuration de serveurs
- Versioning :
- Versioning de la configuration
- Gestion des environnements (dev, staging, prod)
Sauvegarde et Récupération
- Sauvegarde :
- Stratégies de sauvegarde
- Sauvegarde des bases de données
- Sauvegarde de la configuration
- Sauvegarde de la blockchain
- Récupération :
- Plans de reprise après sinistre
- Tests de restauration
- RTO/RPO
Compétences DevOps
Container Orchestration
- Kubernetes : Orchestration de conteneurs (mentionné comme compétence requise)
- Docker Swarm : Alternative à Kubernetes
- Compétences requises : Orchestration, scaling, service mesh, gestion de clusters
Infrastructure as Code
- Terraform : Provisioning d'infrastructure
- CloudFormation : Si AWS
- Compétences requises : IaC, provisioning automatisé
Secrets Management
- Gestion des secrets : Vault, AWS Secrets Manager
- Compétences requises : Sécurité des secrets, rotation
Compétences Spécialisées Blockchain
Cryptographie
- Cryptographie appliquée :
- Signatures cryptographiques
- Hashing
- Clés publiques/privées
- Certificats
- Compétences requises : Cryptographie, sécurité
Consensus et Réseau
- Protocoles de consensus : Compréhension des mécanismes de consensus
- Réseau P2P : Gestion de réseaux pair-à-pair
- Compétences requises : Blockchain, réseaux distribués
Résumé des Compétences par Catégorie
Développement
- Rust (avancé)
- Python
- JavaScript/TypeScript
- Vue.js / Nuxt.js
- Substrate Framework
- Développement CLI
- Extensions navigateur
- APIs REST/GraphQL
Blockchain
- Développement blockchain
- Substrate
- Consensus algorithms
- Cryptographie
- Réseaux P2P
Web
- Frameworks web modernes
- JAMstack
- CMS headless
- Intégrations d'APIs
Infrastructure
- Administration Linux
- Docker/Conteneurisation
- CI/CD
- Monitoring
- Sécurité
- Bases de données
- Réseau
- Infrastructure décentralisée (ThreeFold Grid)
- Edge computing
- Cloud décentralisé
- Zero OS
- Stockage distribué
DevOps
- Automatisation
- Infrastructure as Code
- Gestion de configuration
- Orchestration
Compétences Transversales
Communication et Collaboration
- Travail en équipe avec développeurs et parties prenantes
- Communication efficace
- Documentation technique
- Partage de connaissances
Veille Technologique
- Suivi des évolutions technologiques
- Meilleures pratiques du secteur
- Évaluation de nouvelles technologies
- Adaptation aux changements
Notes
Cette liste est basée sur l'analyse des projets visibles sur https://git.duniter.org/ et les informations disponibles sur l'écosystème Duniter/Ğ1. Certaines technologies peuvent être utilisées mais non explicitement mentionnées dans les descriptions de projets.
Sources
- https://git.duniter.org/ - Dépôt principal des projets Duniter
- https://www.threefold.io/ - Infrastructure Internet décentralisée ThreeFold
- Documentation technique des projets individuels
- Analyse des technologies blockchain et monnaies libres
- Analyse des infrastructures décentralisées
Pour une analyse complète, il serait recommandé de :
- Examiner le code source des projets principaux
- Analyser les fichiers de configuration (package.json, Cargo.toml, requirements.txt, Dockerfile)
- Examiner les fichiers de déploiement (docker-compose.yml, scripts CI/CD)
- Consulter la documentation technique de chaque projet
- Analyser les dépendances et bibliothèques utilisées