159 lines
3.4 KiB
Markdown
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 !
|