Merci d'envisager une contribution à Ekylibre. Ce guide décrit le workflow Git, les conventions et la procédure de soumission d'une pull request.
Cherchez d'abord dans les issues existantes — quelqu'un d'autre l'a peut-être déjà signalé. Sinon, ouvrez une nouvelle issue avec :
git rev-parse HEAD)Ouvrez d'abord une issue de discussion avant de coder, pour valider l'approche avec les mainteneurs. Évite de gaspiller du temps sur une PR qui sera refusée pour raison conceptuelle.
Forker Ekylibre puis créer une branche descriptive, conventionnellement préfixée par le numéro d'issue :
git checkout -b 1747-add-rapeseed-varieties
Le plus simple : la variante Docker dev — tout en container, votre poste reste propre.
Si vous voulez profiler ou attacher un debugger natif : Native Ubuntu + Setup app.
Une version récente de Ruby (2.6.6) et bundler ≥ 1.14.6 sont requises.
bundle install
yarn install
bundle exec rake test
Ou via Docker :
docker compose -f docker/dev/docker-compose.yml exec app bundle exec rake test
# Un fichier
bundle exec rails test test/models/intervention_test.rb
# Un test précis
bundle exec rails test test/models/intervention_test.rb:42
CI : la suite tourne automatiquement sur les PR via
.gitlab-ci.yml(et / ou.github/workflows/). Pas de merge sans CI verte.
.rubocop.yml à la racine définit le style. CI échoue si non conforme.add_column_if_not_exists, etc.).lexicon — ce sont des nomenclatures partagées versionnées..haml-lint.yml (le .haml-lint_todo.yml recense les exceptions historiques — ne pas en ajouter).docs/guides/ui.md dans le repo.app/javascript/packs/.Un changement métier large peut être un plugin (gem séparée) plutôt qu'un patch du core. Voir les plugins existants pour le pattern (ekylibre-banking, ekylibre-baqio…).
sujet (50 caractères max, impératif)
Corps en lignes de 72 caractères max.
Détaille le « pourquoi » (l'effet, le bug corrigé, la motivation),
pas le « quoi » (le diff le dit déjà).
Refs #1747
git push origin 1747-add-rapeseed-varieties
Puis sur GitHub, ouvrir la PR avec :
Closes #1747 ou Refs #1747
Les mainteneurs reviewent. Soyez ouvert au feedback — c'est la garantie d'un code maintenable à long terme. Pour intégrer des modifs demandées, faites des commits additionnels (pas de rebase / force-push, sauf demande explicite — préserve l'historique de la discussion).
git branch -D 1747-..., git push origin :1747-...)CODE_OF_CONDUCT.md dans le repo (basé sur Contributor Covenant)Cette documentation est open-source. Aidez-nous à l'améliorer en ouvrant une issue ou une pull request.