mirror of
https://github.com/IliesAllali/parenthese.git
synced 2026-11-06 23:32:08 +00:00
48 lines
2.7 KiB
Markdown
48 lines
2.7 KiB
Markdown
# Contribuer à Parenthèse
|
|
|
|
[English version](CONTRIBUTING.md)
|
|
|
|
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](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](README.fr.md).
|
|
|
|
## Tests
|
|
|
|
Avant d'ouvrir une pull request, faites passer ce que vérifie la CI :
|
|
|
|
```bash
|
|
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](LICENSE) 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](https://developercertificate.org/). 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.
|