Guide de contribution¶
Nous sommes ravis que vous souhaitiez contribuer à la bibliothèque MVola API ! Ce document vous guidera à travers le processus de contribution.
Code de conduite¶
En participant à ce projet, vous vous engagez à maintenir un environnement respectueux et accueillant pour tous. Nous attendons de tous les contributeurs qu'ils se conforment aux principes suivants :
- Utiliser un langage accueillant et inclusif
- Respecter les différents points de vue et expériences
- Accepter gracieusement les critiques constructives
- Se concentrer sur ce qui est le mieux pour la communauté
- Faire preuve d'empathie envers les autres membres de la communauté
Comment contribuer¶
Signaler des bugs¶
Si vous trouvez un bug, veuillez créer une issue sur GitHub avec les informations suivantes :
- Un titre clair et descriptif
- Une description détaillée du problème
- Les étapes pour reproduire le bug
- Le comportement attendu vs. le comportement observé
- Toute information supplémentaire (environnement, logs, etc.)
Proposer des améliorations¶
Pour proposer une amélioration, créez une issue en incluant :
- Une description claire de l'amélioration proposée
- La justification de cette amélioration (pourquoi est-elle utile ?)
- Si possible, un exemple de code ou une esquisse de l'implémentation
Contribution au code¶
- Fork le dépôt sur GitHub
- Clone votre fork sur votre machine locale
- Créez une branche pour votre contribution (
git checkout -b feature/ma-fonctionnalite
) - Modifiez le code en suivant les conventions du projet
- Testez vos modifications
- Committez vos changements (
git commit -m "Ajout de ma fonctionnalité"
) - Poussez votre branche sur GitHub (
git push origin feature/ma-fonctionnalite
) - Créez une Pull Request sur le dépôt original
Compatibilité avec l'API MVola¶
Endpoints actuels¶
La bibliothèque doit rester compatible avec les derniers endpoints de l'API MVola :
- Authentification :
POST /token
avecscope=EXT_INT_MVOLA_SCOPE
- Paiement marchand :
POST /mvola/mm/transactions/type/merchantpay/1.0.0/
- Détails de transaction :
GET /mvola/mm/transactions/type/merchantpay/1.0.0/{{transID}}
- Statut de transaction :
GET /mvola/mm/transactions/type/merchantpay/1.0.0/status/{{serverCorrelationId}}
URLs de base¶
- Sandbox :
https://devapi.mvola.mg
- Production :
https://api.mvola.mg
Tests en sandbox¶
Pour les tests dans l'environnement sandbox, utilisez uniquement les numéros MVola de test :
- 0343500003
- 0343500004
Processus de développement¶
Environnement de développement¶
Pour configurer votre environnement de développement :
# Cloner le dépôt
git clone https://github.com/Niainarisoa01/Mvola_API_Lib.git
cd Mvola_API_Lib
# Installer les dépendances de développement
pip install -e ".[dev]"
Exécuter les tests¶
Style de code¶
Nous utilisons les outils suivants pour maintenir un style de code cohérent :
- Black pour le formatage de code
- isort pour trier les imports
- flake8 pour la vérification de style
Vous pouvez les exécuter avec :
# Formater le code
black mvola_api tests
# Trier les imports
isort mvola_api tests
# Vérifier le style
flake8 mvola_api tests
Documentation¶
La documentation est générée avec MkDocs et mkdocstrings :
# Installer les dépendances de documentation
pip install -e ".[docs]"
# Servir la documentation localement
mkdocs serve
# Construire la documentation
mkdocs build
Conventions de commit¶
Nous suivons une convention de messages de commit simple :
feat:
pour une nouvelle fonctionnalitéfix:
pour une correction de bugdocs:
pour les modifications de documentationstyle:
pour les changements de formatagerefactor:
pour les refactorisations de codetest:
pour l'ajout ou la modification de testschore:
pour les tâches de maintenance
Exemple : feat: Ajout de la fonctionnalité de paiement par callback
Versionnement¶
Nous suivons le Semantic Versioning :
- MAJOR pour les changements incompatibles
- MINOR pour les ajouts de fonctionnalités rétrocompatibles
- PATCH pour les corrections de bugs rétrocompatibles
Processus de revue¶
Lorsque vous soumettez une Pull Request, un mainteneur du projet la passera en revue. Le processus peut inclure des demandes de modifications ou des discussions sur l'implémentation.
Pour faciliter la revue :
- Assurez-vous que tous les tests passent
- Documentez les nouvelles fonctionnalités
- Maintenez vos Pull Requests focalisées sur une seule fonctionnalité/correction
Remerciements¶
Un grand merci à tous les contributeurs qui aident à améliorer cette bibliothèque !