Fonctionnalités
Intermédiaire
8 min
411 vues

Contribuer aux projets

Participer aux projets open source de la communauté CC France

Contribuer aux projets open source

Rejoignez l'aventure open source CC France et faites grandir la communauté !

Pourquoi contribuer ?

Impact

  • Aidez des milliers d'utilisateurs
  • Améliorez les outils que vous utilisez
  • Construisez quelque chose d'utile
  • Laissez votre empreinte

Apprentissage

  • Progressez techniquement
  • Découvrez de nouvelles pratiques
  • Maîtrisez Git et GitHub
  • Apprenez à collaborer

Reconnaissance

  • Visibilité : Votre profil GitHub s'étoffe
  • Badge : Obtenez le badge Contributeur 🎯
  • Réseau : Connectez avec des développeurs
  • Carrière : Boostez votre CV

Projets CC France

cc-france (principale plateforme)

Stack : Next.js 15, MongoDB, TypeScript Repo : github.com/cc-france/cc-france

Besoins :

  • Nouvelles fonctionnalités
  • Corrections de bugs
  • Améliorations UX/UI
  • Tests automatisés
  • Documentation

Difficulté : Intermédiaire à avancé

cc-france-docs

Stack : Markdown, documentation Repo : github.com/cc-france/cc-france-docs

Besoins :

  • Rédaction de guides
  • Traduction de docs Anthropic
  • Exemples de code
  • Tutoriels vidéo

Difficulté : Débutant à intermédiaire

cc-france-examples

Stack : Divers (Next.js, React, Node.js) Repo : github.com/cc-france/cc-france-examples

Besoins :

  • Projets démo
  • Templates
  • Workflows Claude Code
  • Before/after examples

Difficulté : Tous niveaux

Plugins communautaires

Stack : Divers Repos : Multiples

Besoins :

  • Nouveaux plugins
  • Tests et validation
  • Documentation
  • Maintenance

Difficulté : Intermédiaire à avancé

Trouver une tâche

Issues GitHub

Labels utiles :

  • good first issue : Parfait pour débuter
  • help wanted : Besoin d'aide
  • bug : Correction de bug
  • enhancement : Nouvelle fonctionnalité
  • documentation : Amélioration de docs

Comment trouver :

  1. Allez sur le repo
  2. Onglet "Issues"
  3. Filtrer par label
  4. Lisez la description
  5. Commentez pour vous assigner

Roadmap

Consultez ROADMAP.md dans chaque repo pour voir :

  • Fonctionnalités planifiées
  • Priorités
  • Statuts (todo/in-progress/done)

Discord

Canal #contributions :

  • Annonces de nouveaux besoins
  • Discussions sur les contributions
  • Aide technique
  • Coordination

Processus de contribution

1. Setup initial

Fork le repo

# Sur GitHub, cliquez "Fork"
# Puis clonez votre fork
git clone https://github.com/VOTRE-USERNAME/cc-france.git
cd cc-france

Installer les dépendances

bun install
cp .env.example .env.local
# Configurez vos variables d'environnement

Ajouter l'upstream

git remote add upstream https://github.com/cc-france/cc-france.git
git fetch upstream

2. Créer une branche

# Toujours partir de main à jour
git checkout main
git pull upstream main

# Créer une branche descriptive
git checkout -b feature/nom-de-la-feature
# ou
git checkout -b fix/nom-du-bug

Naming conventions :

  • feature/ : Nouvelle fonctionnalité
  • fix/ : Correction de bug
  • docs/ : Documentation
  • refactor/ : Refactoring
  • test/ : Tests

3. Développer

Suivre les conventions

Code style :

  • TypeScript strict mode
  • ESLint rules respectées
  • Prettier formatage automatique
  • Commentaires en français

Commits :

git commit -m "feat: ajoute système de badges"
git commit -m "fix: corrige bug d'authentification"
git commit -m "docs: met à jour le guide de contribution"

Format Conventional Commits :

  • feat: : Nouvelle fonctionnalité
  • fix: : Correction de bug
  • docs: : Documentation
  • style: : Formatage
  • refactor: : Refactoring
  • test: : Tests
  • chore: : Maintenance

Tester localement

# Development server
bun dev

# Type checking
bun run type

# Linting
bun run lint

# Tests (si disponibles)
bun test

4. Créer une Pull Request

Push votre branche

git push origin feature/nom-de-la-feature

Sur GitHub

  1. Allez sur votre fork
  2. Cliquez "Compare & pull request"
  3. Titre clair : feat: ajoute système de badges
  4. Description détaillée :
## Description
Implémente un système de badges pour gamifier la plateforme.

## Changes
- Ajoute modèle Badge dans MongoDB
- Crée API endpoints pour badges
- Ajoute composants UI pour affichage
- Met à jour profil utilisateur

## Type de changement
- [x] Nouvelle fonctionnalité
- [ ] Correction de bug
- [ ] Breaking change
- [ ] Documentation

## Checklist
- [x] Code testé localement
- [x] TypeScript compile sans erreur
- [x] ESLint passe
- [x] Documentation mise à jour
- [ ] Tests automatisés ajoutés

## Screenshots
![Badge display](url)

## Issues liées
Closes #123

5. Review et itération

Attendre la review

Les mainteneurs vont :

  • Examiner votre code
  • Tester localement
  • Demander des changements si nécessaire
  • Approuver ou rejeter

Répondre aux commentaires

# Faire les modifications demandées
git add .
git commit -m "fix: applique suggestions de review"
git push origin feature/nom-de-la-feature

La PR se mettra à jour automatiquement !

Résoudre les conflicts

Si main a évolué :

git checkout main
git pull upstream main
git checkout feature/nom-de-la-feature
git rebase main

# Résoudre les conflits si nécessaire
git add .
git rebase --continue

git push origin feature/nom-de-la-feature --force

6. Merge et célébration !

Une fois approuvée, un mainteneur mergera votre PR.

Félicitations, vous êtes contributeur ! 🎉

Bonnes pratiques

Code quality

✅ DO :

  • Écrire du code lisible et commenté
  • Respecter les conventions existantes
  • Tester tous les cas (succès + erreurs)
  • Ajouter de la documentation
  • Faire des commits atomiques

❌ DON'T :

  • Commit du code non fonctionnel
  • Ignorer les erreurs TypeScript
  • Faire des PR massives (>500 lignes)
  • Modifier des fichiers non liés
  • Oublier de tester

Communication

Avant de commencer :

  • Commentez l'issue pour vous assigner
  • Discutez de l'approche si c'est complexe
  • Demandez des clarifications si besoin

Pendant le développement :

  • Partagez votre progression sur Discord
  • Demandez de l'aide si bloqué
  • Signalez les obstacles

Dans la PR :

  • Expliquez clairement vos choix
  • Justifiez les changements majeurs
  • Ajoutez des captures d'écran si UI
  • Linkez les issues pertinentes

Respect

  • Soyez patient : Reviews prennent du temps
  • Restez humble : Acceptez les critiques constructives
  • Soyez respectueux : Toujours courtois et professionnel
  • Persévérez : Les premières PR sont toujours challengeantes !

Types de contributions

Code

Frontend :

  • Nouveaux composants React
  • Améliorations UI/UX
  • Responsive design
  • Accessibilité (a11y)

Backend :

  • API endpoints
  • Modèles de données
  • Logique métier
  • Optimisations

DevOps :

  • Scripts de déploiement
  • CI/CD pipelines
  • Docker/containerisation
  • Monitoring

Non-code

Documentation :

  • Guides d'utilisation
  • Documentation technique
  • Traductions
  • Vidéos tutoriels

Design :

  • Maquettes UI
  • Icônes et illustrations
  • Brand assets
  • Prototypes interactifs

QA :

  • Reporting de bugs
  • Tests manuels
  • Suggestions d'amélioration
  • Feedback utilisateur

Reconnaissance

Badges

Contributeur 🎯 :

  • 1ère PR mergée

Super Contributeur 🏆 :

  • 10+ PRs mergées

Core Contributor 💎 :

  • Contributeur régulier (3+ mois)
  • Impact significatif
  • Aide à la review d'autres PRs

Hall of Fame

Les meilleurs contributeurs sont mis en avant :

  • Page "Contributors" sur le site
  • Mentions dans changelog
  • Remerciements dans releases
  • Accès canal #core-contributors

Opportunités

Mainteneur :

  • Contributeurs actifs peuvent devenir mainteneurs
  • Droits d'écriture sur repos
  • Participation aux décisions techniques

Speakers :

  • Priorité pour présenter en meetups
  • Articles de blog sur vos contributions

Ressources

Documentation

  • CONTRIBUTING.md : Guide complet dans chaque repo
  • CODE_OF_CONDUCT.md : Règles de la communauté
  • ARCHITECTURE.md : Architecture technique
  • CLAUDE.md : Contexte pour Claude Code

Outils

  • GitHub CLI : gh pour gérer PRs en CLI
  • GitLens : Extension VS Code pour Git
  • Conventional Commits : Extension pour commits formatés

Aide

  • Discord #contributions : Questions techniques
  • Discord #code-review : Demander une review informelle
  • GitHub Discussions : Discussions longues
  • Issues : Questions spécifiques à une feature

FAQ

Quelle taille pour une PR ?

  • Idéal : <300 lignes
  • Max recommandé : 500 lignes
  • Si plus : découper en plusieurs PRs

Combien de temps pour une review ?

  • Généralement : 2-5 jours
  • Urgences : 24-48h
  • Pendant vacances : peut être plus long

Ma PR a été refusée, pourquoi ?

  • Possibles raisons : hors scope, qualité insuffisante, conflit avec roadmap
  • Discutez avec les mainteneurs
  • Comprenez les retours
  • Réessayez avec améliorations

Je n'ai jamais contribué à l'open source

  • Parfait ! C'est l'occasion
  • Commencez par de petites tâches
  • La communauté est bienveillante
  • N'hésitez pas à demander de l'aide

Prochaines étapes

  • 🔍 Explorez les repos GitHub
  • 📝 Choisissez une good first issue
  • 💬 Présentez-vous dans #contributions
  • 🚀 Créez votre première PR !

Bienvenue parmi les contributeurs ! 🎉

Ce guide vous a-t-il été utile ?