# 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 !