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

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 documentation
  • asset/ contient les sources du frontend
  • benevalibre/ contient le projet Django et ses applications
  • benevalibre/settings/ contient les réglages du projet Django
  • benevalibre/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