LANGUAGES décrit chaque langue (nom, région des dates, dictionnaire) ; la détection, la région des dates, le bouton de choix et les liens d'aide s'en servent. Un texte absent d'un dictionnaire retombe sur l'anglais, puis sur le français. Rien ne change pour le français et l'anglais. Le test exige toujours l'anglais ; pour les autres langues, il signale les textes pas encore traduits sans échouer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Sebastian <fridgee@duck.com>
2.8 KiB
Contribuer à Parenthèse
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()defrontend/src/i18n/index.js: le texte français sert de clé, sa traduction anglaise va dansfrontend/src/i18n/en/. Un test échoue si une traduction anglaise manque. Les autres langues retombent sur l'anglais : un nouveau texte n'a besoin que du français et de l'anglais. - 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 ligneSigned-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.