Files
LeDiscord/CONTRIBUTING.md

159 lines
3.4 KiB
Markdown

# Guide de contribution - LeDiscord
## 🎯 Comment contribuer
Merci de votre intérêt pour contribuer à LeDiscord ! Ce guide vous aidera à comprendre comment participer au projet.
## 🚀 Démarrage rapide
### 1. Fork et clone
```bash
# Fork le projet sur GitHub
# Puis clonez votre fork
git clone https://github.com/votre-username/LeDiscord.git
cd LeDiscord
```
### 2. Configuration de l'environnement
```bash
# Copier le fichier d'environnement
cp env.example .env
# Éditer .env avec vos valeurs
nano .env
# Démarrer l'application
make start
```
### 3. Créer une branche
```bash
git checkout -b feature/nom-de-votre-fonctionnalite
```
## 📝 Standards de code
### Backend (Python)
- **Formatage** : Utilisez `black` pour le formatage automatique
- **Linting** : Utilisez `flake8` pour la vérification du code
- **Types** : Utilisez les annotations de type Python
- **Tests** : Écrivez des tests pour toutes les nouvelles fonctionnalités
### Frontend (Vue.js)
- **Formatage** : Utilisez `prettier` pour le formatage automatique
- **Linting** : Utilisez `eslint` pour la vérification du code
- **Composition API** : Utilisez la Composition API de Vue 3
- **Tests** : Écrivez des tests unitaires pour les composants
## 🔧 Outils de développement
### Installation des outils
```bash
# Backend
cd backend
pip install black flake8 pytest
# Frontend
cd frontend
npm install -g prettier eslint
```
### Commandes utiles
```bash
# Formatage automatique
make format
# Vérification du code
make lint
# Tests
make test
```
## 🧪 Tests
### Backend
```bash
cd backend
pytest tests/ -v
```
### Frontend
```bash
cd frontend
npm run test:unit
```
## 📋 Checklist avant de soumettre
- [ ] Code formaté avec les outils appropriés
- [ ] Tests passent
- [ ] Documentation mise à jour
- [ ] Pas de secrets ou de données sensibles dans le code
- [ ] Messages de commit clairs et descriptifs
## 🚀 Processus de contribution
### 1. Développement
- Développez votre fonctionnalité
- Écrivez des tests
- Mettez à jour la documentation
### 2. Tests
```bash
# Tests backend
make test-backend
# Tests frontend
make test-frontend
# Tests complets
make test
```
### 3. Commit et push
```bash
git add .
git commit -m "feat: ajouter une nouvelle fonctionnalité"
git push origin feature/nom-de-votre-fonctionnalite
```
### 4. Pull Request
- Créez une PR sur GitHub
- Décrivez clairement les changements
- Attendez la review
## 📚 Ressources utiles
- [Documentation FastAPI](https://fastapi.tiangolo.com/)
- [Documentation Vue.js 3](https://vuejs.org/)
- [Documentation Tailwind CSS](https://tailwindcss.com/)
- [Documentation Docker](https://docs.docker.com/)
## 🐛 Signaler un bug
1. Vérifiez que le bug n'a pas déjà été signalé
2. Créez une issue avec :
- Description claire du bug
- Étapes pour le reproduire
- Comportement attendu vs. observé
- Version de l'application
- Logs d'erreur si applicable
## 💡 Proposer une fonctionnalité
1. Créez une issue avec le label "enhancement"
2. Décrivez la fonctionnalité souhaitée
3. Expliquez pourquoi elle serait utile
4. Proposez une implémentation si possible
## 📞 Besoin d'aide ?
- Créez une issue avec le label "question"
- Consultez la documentation
- Rejoignez la communauté
## 🎉 Merci !
Votre contribution aide à améliorer LeDiscord pour tous les utilisateurs. Merci de participer au projet !