Contribuer
Ceci est le guide de contribution pour Bénévalibre, qui est basé sur Python et Django. Si vous êtes habité au développement de logiciels libres et démarrer rapidement, vous pouvez directement regarder la liste des bugs et demandes de fonctionnalités. Autrement cette section est faite pour vous.
Ressources
- Dépôt et suivi de bugs : https://forge.cliss21.org/cliss21/benevalibre
- Forum : https://forum.benevalibre.org/
- Licence : AGPLv3+
- Pré-requis à la contribution : Tests d’intégrations, Analyse statique
Organisation
L’équipe de développement de Bénévalibre est organisée horizontalement.
Les contributions sont discutées puis intégrées à l’issue d’un consensus.
Il est d’usage que les contributions ne soient pas intégrées par la personne qui les soumet, mais par une tierce personne qui vérifie la qualité et la cohérence de la contribution.
Pour démarrer avec Bénévalibre
Suivre README.md pour obtenir une instance de test et construire les assets.
Organisation du dépôt
docs/
contient la documentationasset/
contient les sources du frontendbenevalibre/
contient le projet Django et ses applicationsbenevalibre/settings/
contient les réglages du projet Djangobenevalibre/templates/
contient les gabarits HTML du projet Django.benevalibre/tests/
contient les tests de l’application
Tests d’intégrations
S’agissant du backend, les tests unitaires sont bienvenus. Les tests d’intégration sont obligatoires.
Toute contribution modifiant ou ajoutant un comportement au backend est a priori attendue avec un test qui vérifie le comportement attendu, et l’exécution suivante doit être un succès :
$ make test
Un résumé de la couverture de test sera annoncé :
- Une contribution ne devra pas, a priori, réduire la couverture de tests.
- Une contribution ne devra pas, a priori, comporter de code non couvert.
- Le code mort résultant de potentiel traitement d’erreur est toléré.
Analyse statique
Toute contribution est priée de valider l’analyse statique du code.
Backend
S’agissant du backend, l’exécution suivante doit être un succès :
$ make lint
Par ailleurs le code Python d’une contribution est attendu après un passage de ruff pour formatter uniformément son style. Vous pouvez lancer la commande suivante pour tenter de corriger les éventuelles erreurs :
$ make format
Frontend
S’agissant du frontend, l’exécution suivante doit être un succès :
$ npm run lint