DocumentationCONTRIBUER

CONTRIBUER

Les correctifs que nous acceptons. Ceux que nous refusons.

Un processus de contribution ouvert — un brin exigeant sur la discipline, jamais sur qui vous êtes.

01

Choisir quelque chose à travailler

Le dépôt étiquette les tickets de première contribution comme good-first-issue. Les mainteneurs les trient pour confirmer que la portée est juste et que les étapes sont claires. Si vous en terminez un, laissez-le étiqueté — cela aide la personne suivante.

Pour un travail plus important, ouvrez d’abord une discussion. Nous dirons oui, non, ou pas encore, voici pourquoi. Dire non fait partie du respect de votre temps.

02

Signer vos commits

shell# in your local clone
git config user.signingkey YOUR_KEY_FINGERPRINT
git config commit.gpgsign true
git config tag.gpgsign true

Nous exigeons des commits signés GPG. Il ne s’agit pas de filtrage — il s’agit de garder honnête la chaîne d’approvisionnement du projet. Si vous n’avez pas encore de clé, le wiki du dépôt vous guide pour en générer une.

Ligne de sign-off
Chaque message de commit doit se terminer par un sign-off Developer Certificate of Origin (Signed-off-by: Name <email>). Utilisez git commit -s pour l’ajouter automatiquement.
03

Rédiger un message de commit conventionnel

message de commitfeat(lsia): emit telemetry on safe-mode entry

Adds a single counter when the immune-system engine enters safe mode.
The counter is hashed-pattern only and respects the privacy gate.

Refs: #842
Signed-off-by: A. Researcher <a@example.org>

Nous suivons la spécification Conventional Commits pour la première ligne. Le corps explique le pourquoi. Le pied de page référence les tickets ou les changements liés.

04

Ouvrir la pull request

Les pull requests passent par trois contrôles automatisés et une relecture humaine :

  • Le contrôle de build reproductible vérifie que votre correctif ne casse pas le déterminisme.
  • Le contrôle de confidentialité vérifie qu’aucun chemin de données brutes n’a été introduit.
  • La suite de tests unitaires et d’intégration doit passer.
  • Deux relecteurs approuvent avant la fusion. Les zones sensibles à la sécurité requièrent un relecteur sécurité.
Si le contrôle de confidentialité échoue
Arrêtez-vous. Relisez le diff attentivement — le test échoue lorsqu’un chemin de code pourrait fuiter des identifiants bruts (IP, e-mail, IMEI, GPS). La solution n’est presque jamais de désactiver le test.
05

Reconnaissance

Chaque contribution acceptée apparaît dans les notes de la prochaine version — avec crédit, sauf si vous demandez l’anonymat. Le fichier AUTHORS est mis à jour automatiquement la première fois que vous fusionnez un changement.

Pour un travail plus important — une fonctionnalité majeure, un audit, une traduction — l’entrée du journal des modifications vous mentionne par votre nom. Le crédit anonyme est une demande normale, pas une demande spéciale.

06

Code de conduite

Nous suivons le Contributor Covenant 2.1. Attaques personnelles, menaces, doxxing et harcèlement entraînent un retrait immédiat, sans chaîne de plaintes requise. Le texte complet est dans le fichier CODE_OF_CONDUCT.md du dépôt.