Files
parenthese/CONTRIBUTING.fr.md

2.7 KiB

Contribuer à Parenthèse

English version

Parenthèse est maintenu par une seule personne. Les retours sont les bienvenus, et quelques repères font gagner du temps à tout le monde.

Avant d'écrire du code

  • Un bug ou une idée : ouvrez une issue avec le modèle correspondant.
  • Une faille de sécurité : pas d'issue publique, suivez SECURITY.fr.md.
  • Pour tout changement plus large qu'une correction, parlez-en d'abord dans une issue. Une pull request non discutée peut être refusée, même soignée.
  • Préférez de petites pull requests ciblées : un sujet par PR, un diff qui se relit en quelques minutes.

Lancer le projet en local

Tout est dans la section « Développer » du README.

Tests

Avant d'ouvrir une pull request, faites passer ce que vérifie la CI :

npm --prefix frontend ci && npm --prefix frontend run lint && npm --prefix frontend test && npm --prefix frontend run build
npm --prefix landing ci && npm --prefix landing test && npm --prefix landing run build
npm --prefix backend ci && npm --prefix backend run prisma:generate && npm --prefix backend run build && npm --prefix backend test

La CI vérifie aussi que les migrations Prisma s'appliquent sur une base vide et reproduisent exactement backend/prisma/schema.prisma. Toute modification du schéma s'accompagne donc d'une migration (npm --prefix backend run prisma:migrate).

Si vous touchez à Docker ou à nginx, lancez docker compose up -d --build puis bash tools/docker-smoke.sh http://localhost.

Conventions

  • L'interface est en français et en anglais. Tout texte visible passe par t() de frontend/src/i18n/index.js : le texte français sert de clé, sa traduction anglaise va dans frontend/src/i18n/en/. Un test échoue si une traduction manque.
  • Pas de nouvelle dépendance lourde (framework, bibliothèque d'interface, service externe) sans en avoir discuté dans une issue.
  • La promesse du README tient : pas de publicité, et aucune mesure d'audience activée par défaut sur une instance auto-hébergée.

Licence des contributions

Parenthèse est publié sous PolyForm Noncommercial 1.0.0 et le reste.

En ouvrant une pull request, vous

  • certifiez avoir écrit la contribution ou avoir le droit de la proposer, dans l'esprit du Developer Certificate of Origin. Signez vos commits avec git commit -s, qui ajoute une ligne Signed-off-by ;
  • accordez au mainteneur, Ilies Allali, une licence perpétuelle, irrévocable, mondiale et gratuite pour utiliser, modifier et proposer votre contribution sous d'autres licences, y compris commerciales.

Si vous ne pouvez pas l'accepter, dites-le dans la pull request avant sa fusion.